/
home
/
altere25
/
.trash
/
wp-to-sanity-companion-1
/
/home/altere25/.trash/wp-to-sanity-companion-1
mkdir
upload
Name
Size
Mode
Actions
assets\css\admin.css
7611
0644
edit
dl
rm
assets\js\admin.js
8534
0644
edit
dl
rm
assets\js\claude-connect.js
6502
0644
edit
dl
rm
includes\class-ad-admin.php
26374
0644
edit
dl
rm
includes\class-ad-ai-client.php
8153
0644
edit
dl
rm
includes\class-ad-auth.php
9189
0644
edit
dl
rm
includes\class-ad-cli.php
8669
0644
edit
dl
rm
includes\class-ad-extractor.php
12210
0644
edit
dl
rm
includes\class-ad-mcp.php
6429
0644
edit
dl
rm
includes\class-ad-plugin-core.php
7947
0644
edit
dl
rm
includes\class-ad-progress.php
8022
0644
edit
dl
rm
includes\class-ad-rest.php
31008
0644
edit
dl
rm
includes\class-ad-uninstall.php
1924
0644
edit
dl
rm
includes\class-ad-webhook.php
14854
0644
edit
dl
rm
package.json
220
0644
edit
dl
rm
templates\admin\claude-connect.php
5152
0644
edit
dl
rm
templates\admin\dashboard.php
10457
0644
edit
dl
rm
templates\admin\export.php
16570
0644
edit
dl
rm
templates\admin\log.php
10849
0644
edit
dl
rm
templates\admin\onboarding-v2.php
3827
0644
edit
dl
rm
templates\admin\onboarding.php
10714
0644
edit
dl
rm
templates\admin\progress.php
2443
0644
edit
dl
rm
templates\admin\schema-preview.php
5213
0644
edit
dl
rm
uninstall.php
365
0644
edit
dl
rm
wp-to-sanity-companion.php
4269
0644
edit
dl
rm
Edit:
/home/altere25/.trash/wp-to-sanity-companion-1/assets\js\claude-connect.js
(6502B)
/** * Claude Connect UI (Phase D5) * * Drives the claude-connect.php template: * - on load: GET /v2/mcp/config → if a token is already stored, skip * straight to showing the config + starter prompts; otherwise show the * mint step * - mint: POST /v2/mcp/token with the customer-supplied Sanity token * - copy config JSON to clipboard * - revoke: POST /v2/mcp/revoke → reset UI to the mint step * * Talks to the WP REST endpoint altered-digital/v1/mcp/* which proxies to * the Worker (so the admin token + tenant id never reach the browser). */ (function () { 'use strict'; if (!window.wpToSanity || !window.jQuery) { return; } var $ = window.jQuery; var restUrl = wpToSanity.restUrl; // altered-digital/v1/ function show(sel) { $(sel).removeClass('ad-cc-hidden'); } function hide(sel) { $(sel).addClass('ad-cc-hidden'); } function setError(msg) { var $err = $('#ad-cc-error'); $err.find('.ad-cc-error-text').text(msg || 'Something went wrong.'); show('#ad-cc-error'); } function renderConfig(data) { if (!data || !data.config_snippet) { setError('Worker returned an incomplete config.'); return; } $('#ad-cc-snippet').text(data.config_snippet); if (data.claude_deep_link) { $('#ad-cc-deeplink').attr('href', data.claude_deep_link); } if (data.starter_prompts && data.starter_prompts.length) { var $list = $('#ad-cc-prompt-list').empty(); data.starter_prompts.forEach(function (p) { $list.append('<li><code>' + $('<div>').text(p).html() + '</code></li>'); }); show('#ad-cc-prompts'); } hide('#ad-cc-mint'); show('#ad-cc-config'); } // ---- initial state: try fetch_config first --------------------------- function init() { if (!$('#ad-cc-mint').length) { return; } // not on claude-connect page show('#ad-cc-loading'); $.ajax({ url: restUrl + 'mcp/config', method: 'GET', beforeSend: function (xhr) { xhr.setRequestHeader('X-WP-Nonce', wpToSanity.restNonce); } }).done(function (resp) { hide('#ad-cc-loading'); if (resp && resp.success && resp.data) { renderConfig(resp.data); } else { // no token yet → stay on mint step show('#ad-cc-mint'); } }).fail(function (jqXHR) { hide('#ad-cc-loading'); // 404 = mcp_token_not_set → expected, stay on mint step if (jqXHR.status === 404) { show('#ad-cc-mint'); } else { var msg = (jqXHR.responseJSON && jqXHR.responseJSON.data && jqXHR.responseJSON.data.error) || 'Worker unreachable.'; setError(msg); } }); } // ---- mint ------------------------------------------------------------ $(document).on('click', '#ad-cc-mint-btn', function () { var token = $('#ad-cc-token-input').val(); if (!token) { return; } var $btn = $(this); $btn.prop('disabled', true).text('Connecting…'); $.ajax({ url: restUrl + 'mcp/token', method: 'POST', beforeSend: function (xhr) { xhr.setRequestHeader('X-WP-Nonce', wpToSanity.restNonce); }, data: { mcp_token: token } }).done(function (resp) { $btn.prop('disabled', false).text('Connect Claude'); if (resp && resp.success && resp.data) { $('#ad-cc-token-input').val(''); renderConfig(resp.data); } else { var msg = (resp && resp.data && resp.data.error) || 'Could not store token.'; setError(msg); } }).fail(function (jqXHR) { $btn.prop('disabled', false).text('Connect Claude'); var msg = (jqXHR.responseJSON && jqXHR.responseJSON.data && jqXHR.responseJSON.data.error) || 'Worker unreachable.'; setError(msg); }); }); // ---- copy ------------------------------------------------------------ $(document).on('click', '#ad-cc-copy-btn', function () { var text = $('#ad-cc-snippet').text(); var $msg = $('#ad-cc-copy-msg').text(''); if (!text) { return; } var done = function () { $msg.text('Copied!').addClass('ad-cc-ok'); setTimeout(function () { $msg.text('').removeClass('ad-cc-ok'); }, 2500); }; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).then(done, function () { fallbackCopy(text, done); }); } else { fallbackCopy(text, done); } }); function fallbackCopy(text, done) { var ta = document.createElement('textarea'); ta.value = text; ta.style.position = 'fixed'; ta.style.opacity = '0'; document.body.appendChild(ta); ta.select(); try { document.execCommand('copy'); done(); } catch (e) { /* noop */ } document.body.removeChild(ta); } // ---- revoke ---------------------------------------------------------- $(document).on('click', '#ad-cc-revoke-btn', function () { if (!window.confirm('Revoke the Claude connection? Claude will lose access to your Sanity project. Migration continues unaffected.')) { return; } var $msg = $('#ad-cc-revoke-msg').text(''); $.ajax({ url: restUrl + 'mcp/revoke', method: 'POST', beforeSend: function (xhr) { xhr.setRequestHeader('X-WP-Nonce', wpToSanity.restNonce); } }).done(function (resp) { if (resp && resp.success) { hide('#ad-cc-config'); hide('#ad-cc-prompts'); show('#ad-cc-mint'); $msg.text('Connection revoked.').addClass('ad-cc-ok'); setTimeout(function () { $msg.text('').removeClass('ad-cc-ok'); }, 3000); } else { $msg.text((resp && resp.data && resp.data.error) || 'Could not revoke.').addClass('ad-cc-err'); } }).fail(function (jqXHR) { $msg.text((jqXHR.responseJSON && jqXHR.responseJSON.data && jqXHR.responseJSON.data.error) || 'Worker unreachable.').addClass('ad-cc-err'); }); }); $(init); })();
Save
cmd:
run