@zackbart/connecta 0.10.4 → 0.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +135 -0
- package/dist/activity.d.ts +11 -1
- package/dist/activity.d.ts.map +1 -1
- package/dist/activity.js +44 -3
- package/dist/activity.js.map +1 -1
- package/dist/catalog-service.d.ts +40 -0
- package/dist/catalog-service.d.ts.map +1 -1
- package/dist/catalog-service.js +97 -15
- package/dist/catalog-service.js.map +1 -1
- package/dist/errors.d.ts +48 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +67 -0
- package/dist/errors.js.map +1 -1
- package/dist/execute.d.ts +72 -0
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +163 -10
- package/dist/execute.js.map +1 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/invocation.d.ts +9 -2
- package/dist/invocation.d.ts.map +1 -1
- package/dist/invocation.js +59 -29
- package/dist/invocation.js.map +1 -1
- package/dist/meta-tools.d.ts +12 -3
- package/dist/meta-tools.d.ts.map +1 -1
- package/dist/meta-tools.js +185 -30
- package/dist/meta-tools.js.map +1 -1
- package/dist/operator-ui/generated.d.ts +1 -1
- package/dist/operator-ui/generated.d.ts.map +1 -1
- package/dist/operator-ui/generated.js +1 -1
- package/dist/operator-ui/generated.js.map +1 -1
- package/dist/registry.d.ts +11 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +5 -2
- package/dist/registry.js.map +1 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +9 -0
- package/dist/routes/mcp.js.map +1 -1
- package/dist/routes/shared.d.ts +4 -0
- package/dist/routes/shared.d.ts.map +1 -1
- package/dist/routes/shared.js.map +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/documentation/code-mode.md +125 -34
- package/documentation/meta-tools.md +91 -9
- package/documentation/rich-output-design.md +212 -0
- package/ethos.md +17 -19
- package/examples/worker/README.md +11 -3
- package/examples/worker/src/d1-activity-row.ts +40 -0
- package/examples/worker/src/d1-activity.ts +3 -2
- package/package.json +1 -1
- package/src/activity.ts +64 -3
- package/src/catalog-service.ts +166 -26
- package/src/errors.ts +102 -1
- package/src/execute.ts +240 -10
- package/src/index.ts +22 -0
- package/src/invocation.ts +59 -17
- package/src/meta-tools.ts +239 -37
- package/src/operator-ui/browser.ts +10 -2
- package/src/operator-ui/generated.ts +1 -1
- package/src/registry.ts +5 -2
- package/src/routes/mcp.ts +9 -0
- package/src/routes/shared.ts +4 -0
- package/src/skills.ts +1 -1
- package/src/version.ts +1 -1
- package/templates/node/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Generated by scripts/build-operator-ui.mjs. Do not edit.
|
|
2
2
|
// Source: src/operator-ui/browser.ts and src/operator-ui/browser.css.
|
|
3
3
|
export const OPERATOR_UI_CSS = "/* src/operator-ui/browser.css */\n:root {\n color-scheme: light;\n --ink: #000;\n --paper: #fff;\n --rule: #ccc;\n --muted: #666;\n --trace: #f5f5f5;\n --shell: 70rem;\n --pad: 1rem;\n --gap: 1.5rem;\n --sans:\n \"Helvetica Neue\",\n Helvetica,\n Arial,\n sans-serif;\n --mono:\n ui-monospace,\n \"SF Mono\",\n Menlo,\n Monaco,\n \"Cascadia Code\",\n Consolas,\n monospace;\n}\n* {\n border-radius: 0;\n box-sizing: border-box;\n}\nhtml {\n background: var(--paper);\n color: var(--ink);\n font-family: var(--sans);\n font-size: 16px;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n}\nbody {\n margin: 0;\n min-height: 100vh;\n}\n::selection {\n background: var(--ink);\n color: var(--paper);\n}\n:is(h1, h2, h3, p, ul, ol) {\n margin: 0;\n padding: 0;\n}\n:is(h1, h2, h3) {\n font-size: inherit;\n font-weight: 400;\n}\n:is(ul, ol) {\n list-style: none;\n}\na {\n color: inherit;\n}\nbutton,\ninput {\n font: inherit;\n}\nbutton {\n background: none;\n border: 0;\n color: inherit;\n cursor: pointer;\n margin: 0;\n padding: 0;\n text-align: left;\n}\nbutton:disabled {\n cursor: wait;\n opacity: .5;\n}\ninput {\n background: var(--paper);\n border: 1px solid var(--rule);\n color: var(--ink);\n min-height: 2rem;\n padding: .2rem .5rem;\n}\ninput:focus-visible {\n outline-offset: -1px;\n}\n:is(a, button, input, summary):focus-visible {\n outline: 1px solid var(--ink);\n}\n:is(a, button, summary):focus-visible {\n outline-offset: 2px;\n}\n.skip-link {\n background: var(--paper);\n left: var(--pad);\n padding: .5rem;\n position: fixed;\n top: -4rem;\n z-index: 10;\n}\n.skip-link:focus {\n top: var(--pad);\n}\n.shell {\n margin: 0 auto;\n max-width: var(--shell);\n padding-left: var(--pad);\n padding-right: var(--pad);\n}\n.pgrid {\n column-gap: var(--gap);\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 1fr));\n row-gap: 1rem;\n}\n.pcap {\n grid-column: 1;\n}\n.pbody {\n grid-column: 2 / -1;\n min-width: 0;\n}\n.cap,\n.meta {\n color: var(--muted);\n font-size: .9em;\n}\n.mono {\n font-family: var(--mono);\n font-size: .78rem;\n}\n.hidden {\n display: none !important;\n}\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.masthead {\n align-items: start;\n padding-bottom: var(--pad);\n padding-top: var(--pad);\n}\n.brand {\n font-weight: 500;\n grid-column: 1;\n text-decoration: none;\n}\n.mast-nav {\n display: flex;\n gap: var(--gap);\n grid-column: 2 / -1;\n justify-content: space-between;\n min-width: 0;\n}\n.mast-actions {\n display: flex;\n gap: var(--gap);\n justify-content: flex-end;\n min-width: 0;\n}\n.page-nav,\n.session-actions {\n display: flex;\n flex-wrap: wrap;\n gap: .5rem var(--gap);\n}\n.mast-actions :is(a, button) {\n align-items: center;\n display: inline-flex;\n min-height: 2rem;\n}\n.navlink,\n.linklike {\n text-decoration: underline;\n text-decoration-thickness: 1.5px;\n text-underline-offset: .22em;\n}\n.navlink {\n text-decoration-color: transparent;\n}\n.navlink:hover,\n.navlink:focus-visible,\n.navlink[aria-current=page] {\n text-decoration-color: currentColor;\n}\n.linklike {\n text-decoration-color: currentColor;\n}\n.linklike:hover,\n.linklike:focus-visible {\n text-decoration-color: transparent;\n}\n.page {\n padding-bottom: 5rem;\n}\n.lead {\n margin-top: 6rem;\n}\n.section,\n.section + .section {\n margin-top: 3rem;\n}\n.lead-copy,\n.body-copy {\n max-width: 34em;\n}\n.lead-copy > * + *,\n.body-copy > * + * {\n margin-top: 1.5rem;\n}\n.row,\n.actions {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap);\n}\n.row input {\n flex: 1;\n min-width: 12rem;\n}\n.gate-actions {\n margin-top: 1.5rem;\n}\n#err {\n margin-top: 1.5rem;\n text-decoration: underline;\n}\n.endpoint {\n border-bottom: 1px solid var(--rule);\n border-top: 1px solid var(--rule);\n}\n.endpoint-row {\n align-items: baseline;\n display: flex;\n gap: var(--gap);\n min-width: 0;\n padding: .75rem 0;\n}\n.endpoint-row code {\n flex: 1;\n min-width: 0;\n overflow-x: auto;\n white-space: nowrap;\n}\n.endpoint-row button {\n flex: none;\n}\n.connector-tools {\n border-bottom: 1px solid var(--rule);\n}\n.toolbar {\n margin-bottom: 1.5rem;\n}\n.toolbar input {\n flex-basis: 18rem;\n}\n#notice {\n margin-bottom: .75rem;\n}\n#notice:empty {\n display: none;\n}\n#notice:not(:empty) {\n text-decoration: underline;\n}\n#oauthNotice {\n margin-bottom: .75rem;\n}\n#oauthNotice:empty {\n display: none;\n}\n.error-notice,\n.msg {\n text-decoration: underline;\n}\n.card,\n.credential-card,\n.activity-item {\n padding-left: 1.25rem;\n position: relative;\n}\n.card::before,\n.credential-card::before,\n.activity-item::before {\n background: var(--rule);\n bottom: 0;\n content: \"\";\n left: .25rem;\n position: absolute;\n top: 0;\n width: 1px;\n}\n.card {\n border-top: 1px solid var(--rule);\n padding-bottom: .75rem;\n padding-top: .75rem;\n}\n.connector-head {\n display: grid;\n gap: var(--gap);\n grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr);\n}\n.connector-title {\n align-items: baseline;\n display: flex;\n gap: .5rem;\n}\n.connector-title .dot,\n.activity-stamp .dot {\n margin-left: -1.25rem;\n}\n.activity-stamp {\n align-items: baseline;\n display: flex;\n gap: .75rem;\n}\n.card h2 {\n overflow-wrap: anywhere;\n}\n.connector-state {\n text-align: right;\n}\n.dot {\n background: var(--paper);\n border: 1px solid var(--ink);\n display: inline-block;\n flex: none;\n height: .5rem;\n width: .5rem;\n z-index: 1;\n}\n.dot.ok {\n background: var(--ink);\n}\n.dot.auth_required {\n background:\n linear-gradient(\n 90deg,\n var(--ink) 50%,\n var(--paper) 50%);\n}\n.connector-description {\n margin-top: .25rem;\n max-width: 40rem;\n}\n.connector-message,\n.connector-auth {\n margin-top: .75rem;\n}\n.credential-ledger {\n border-bottom: 1px solid var(--rule);\n}\n.credential-card {\n border-top: 1px solid var(--rule);\n padding-bottom: .75rem;\n padding-top: .75rem;\n}\n.credential-head {\n align-items: baseline;\n display: flex;\n flex-wrap: wrap;\n gap: .25rem var(--gap);\n justify-content: space-between;\n}\n.credential-copy {\n margin-top: .25rem;\n max-width: 40rem;\n}\n.credential-field-summary {\n border-top: 1px solid var(--rule);\n margin-top: .75rem;\n}\n.credential-field-summary > div {\n border-bottom: 1px solid var(--rule);\n display: flex;\n flex-wrap: wrap;\n gap: .25rem var(--gap);\n justify-content: space-between;\n padding: .5rem 0;\n}\n.credential-actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--gap);\n margin-top: .75rem;\n}\n.credential-actions button,\n.credential-form button,\n.activity-controls button,\n.activity-more {\n align-items: center;\n display: inline-flex;\n min-height: 2.75rem;\n}\n.credential-form {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: .75rem var(--gap);\n margin-top: .75rem;\n}\n.credential-form > input {\n flex: 1 1 18rem;\n}\n.credential-fields {\n display: grid;\n flex: 1 1 100%;\n gap: .75rem;\n}\n.credential-field {\n align-items: center;\n display: grid;\n gap: var(--gap);\n grid-template-columns: minmax(9rem, 12rem) 1fr;\n}\n.credential-field input {\n min-width: 0;\n width: 100%;\n}\n.danger {\n text-decoration-style: double;\n}\n.token-create {\n border-bottom: 1px solid var(--rule);\n border-top: 1px solid var(--rule);\n padding: .75rem 0;\n}\n.token-create > label {\n display: block;\n margin-bottom: .5rem;\n}\n.token-create input {\n flex: 1 1 18rem;\n}\n.token-create button,\n.token-card button,\n.token-reveal button {\n align-items: center;\n display: inline-flex;\n min-height: 2.75rem;\n}\n.token-reveal {\n background: var(--ink);\n color: var(--paper);\n margin-top: 1.5rem;\n padding: 1rem 1.25rem;\n}\n.token-reveal .meta,\n.token-reveal .cap {\n color: #bbb;\n}\n.token-reveal-head,\n.token-card-head {\n align-items: baseline;\n display: flex;\n flex-wrap: wrap;\n gap: .25rem var(--gap);\n justify-content: space-between;\n}\n.token-secret {\n border-bottom: 1px solid #555;\n border-top: 1px solid #555;\n margin-top: .75rem;\n}\n.token-secret code {\n color: var(--paper);\n user-select: all;\n}\n.token-ledger {\n border-bottom: 1px solid var(--rule);\n margin-top: 1.5rem;\n}\n.token-card {\n border-top: 1px solid var(--rule);\n padding: .75rem 0 .75rem 1.25rem;\n position: relative;\n}\n.token-card::before {\n background: var(--ink);\n bottom: 0;\n content: \"\";\n left: .25rem;\n position: absolute;\n top: 0;\n width: 1px;\n}\n.token-card.revoked {\n color: var(--muted);\n}\n.token-card.revoked::before {\n background: var(--rule);\n}\ndetails {\n margin-top: .75rem;\n}\nsummary {\n cursor: pointer;\n list-style: none;\n width: max-content;\n}\nsummary::-webkit-details-marker {\n display: none;\n}\n.tool-list {\n border-bottom: 1px solid var(--rule);\n margin-top: .5rem;\n}\n.tool {\n border-top: 1px solid var(--rule);\n display: grid;\n gap: .25rem var(--gap);\n grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr);\n padding: .5rem 0;\n}\n.tool code {\n font-family: var(--mono);\n font-size: .78rem;\n overflow-wrap: anywhere;\n}\n.tool .td {\n color: var(--muted);\n font-size: .9em;\n}\n.empty {\n border-top: 1px solid var(--rule);\n padding: .75rem 0;\n}\n.activity-copy {\n margin-bottom: 1.5rem;\n}\n.activity-controls {\n margin-bottom: 1.5rem;\n}\n.activity-controls input {\n flex: 1 1 18rem;\n}\n#activityNotice {\n margin-bottom: .75rem;\n}\n.activity-ledger {\n border-bottom: 1px solid var(--rule);\n}\n.activity-item {\n border-top: 1px solid var(--rule);\n display: grid;\n gap: .25rem var(--gap);\n grid-template-columns: minmax(9rem, .85fr) minmax(12rem, 1.4fr) minmax(8rem, .9fr);\n padding-bottom: .75rem;\n padding-top: .75rem;\n}\n.activity-time,\n.activity-actor,\n.activity-detail {\n color: var(--muted);\n font-size: .82rem;\n}\n.activity-actor-id {\n color: var(--muted);\n margin-top: .1rem;\n}\n.activity-address {\n font-family: var(--mono);\n font-size: .78rem;\n overflow-wrap: anywhere;\n}\n.activity-outcome {\n font-size: .9em;\n}\n.activity-item.error .activity-outcome,\n.activity-item.timeout .activity-outcome,\n.activity-item.cancelled .activity-outcome {\n text-decoration: underline;\n}\n.activity-empty {\n border-top: 1px solid var(--rule);\n padding: .75rem 0;\n}\n.activity-more {\n margin-top: .75rem;\n}\n.unavailable {\n background: var(--trace);\n border-bottom: 1px solid var(--rule);\n border-top: 1px solid var(--rule);\n padding: .75rem;\n}\n@media (prefers-reduced-motion: reduce) {\n html:focus-within {\n scroll-behavior: auto;\n }\n}\n@media (max-width: 36.99rem) {\n .pgrid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .pcap,\n .pbody {\n grid-column: 1 / -1;\n }\n .masthead .brand {\n grid-column: 1;\n }\n .mast-nav {\n grid-column: 1 / -1;\n grid-row: 2;\n justify-content: flex-start;\n }\n .product {\n display: none;\n }\n .mast-actions {\n align-items: flex-start;\n flex-direction: column;\n font-size: .875rem;\n gap: .25rem;\n }\n .lead {\n margin-top: 4rem;\n }\n .section,\n .section + .section {\n margin-top: 2.5rem;\n }\n .connector-head,\n .tool,\n .activity-item {\n grid-template-columns: 1fr;\n }\n .connector-state {\n text-align: left;\n }\n .credential-field {\n align-items: start;\n grid-template-columns: 1fr;\n gap: .25rem;\n }\n input {\n min-height: 2.75rem;\n }\n}\n";
|
|
4
|
-
export const OPERATOR_UI_SCRIPT = "\"use strict\";\n(() => {\n // src/operator-ui/model.ts\n function filterUiConnectors(connectors, query) {\n const q = query.trim().toLowerCase();\n const filtered = [];\n for (const connector of connectors) {\n const connectorText = [\n connector.id,\n connector.title,\n connector.description,\n connector.status\n ].join(\" \").toLowerCase();\n const connectorMatches = Boolean(q && connectorText.includes(q));\n const tools = connector.tools.filter(\n (tool) => !q || connectorMatches || `${tool.name} ${tool.description ?? \"\"}`.toLowerCase().includes(q)\n );\n if (q && tools.length === 0 && !connectorMatches) continue;\n filtered.push({ connector, tools });\n }\n return filtered;\n }\n\n // src/operator-ui/browser.ts\n var KEY = \"connecta:token\";\n var $ = (id) => {\n const element = document.getElementById(id);\n if (!element) throw new Error(`Missing operator UI element #${id}`);\n return element;\n };\n var PAGE_META = {\n connections: { path: \"/\", label: \"Connections\" },\n credentials: { path: \"/credentials\", label: \"Credentials\" },\n tokens: { path: \"/tokens\", label: \"Access tokens\" },\n activity: { path: \"/activity\", label: \"Activity\" }\n };\n var DATA = null;\n var ACTIVITY = [];\n var ACTIVITY_CURSOR = null;\n var ACTIVITY_LOADED = false;\n var ACCESS_TOKENS = [];\n var ACCESS_TOKENS_LOADED = false;\n var CURRENT_PAGE = INITIAL_PAGE;\n var SESSION_GENERATION = 0;\n var ACTIVITY_GENERATION = 0;\n var CLERK_SESSION_ID = null;\n $(\"mcpUrl\").textContent = MCP_URL;\n function errorMessage(error, fallback) {\n return error instanceof Error && error.message ? error.message : fallback;\n }\n function closestElement(target, selector) {\n const candidate = target;\n return typeof candidate?.closest === \"function\" ? candidate.closest(selector) : null;\n }\n function esc(s) {\n return String(s == null ? \"\" : s).replace(/[&<>\"]/g, (c) => ({ \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\" })[c] ?? c);\n }\n function safeHttp(u) {\n try {\n const p = new URL(u).protocol;\n return p === \"http:\" || p === \"https:\" ? u : null;\n } catch {\n return null;\n }\n }\n function formatDate(value) {\n if (!value) return \"\";\n const date = new Date(value);\n return Number.isNaN(date.valueOf()) ? \"\" : date.toLocaleString();\n }\n function setNotice(message, isError = false) {\n $(\"credentialNotice\").textContent = message || \"\";\n $(\"credentialNotice\").classList.toggle(\"error-notice\", Boolean(isError));\n $(\"credentialNotice\").setAttribute(\"role\", isError ? \"alert\" : \"status\");\n }\n function setOauthNotice(message, isError = false) {\n $(\"oauthNotice\").textContent = message || \"\";\n $(\"oauthNotice\").classList.toggle(\"error-notice\", Boolean(isError));\n $(\"oauthNotice\").setAttribute(\"role\", isError ? \"alert\" : \"status\");\n }\n async function sessionToken() {\n return AUTH.kind === \"clerk\" ? await Clerk.session?.getToken() : localStorage.getItem(KEY);\n }\n function clearActivityState() {\n ACTIVITY_GENERATION += 1;\n ACTIVITY = [];\n ACTIVITY_CURSOR = null;\n ACTIVITY_LOADED = false;\n $(\"activityList\").innerHTML = \"\";\n $(\"activityList\").setAttribute(\"aria-busy\", \"false\");\n $(\"activityNotice\").textContent = \"\";\n $(\"activityNotice\").setAttribute(\"role\", \"status\");\n $(\"activitySummary\").textContent = \"Arguments and results are never stored.\";\n $(\"activitySearch\").value = \"\";\n $(\"refreshActivity\").disabled = false;\n $(\"moreActivity\").disabled = false;\n $(\"moreActivity\").classList.add(\"hidden\");\n }\n function clearIdentityState() {\n SESSION_GENERATION += 1;\n DATA = null;\n clearActivityState();\n $(\"list\").innerHTML = \"\";\n setOauthNotice(\"\");\n $(\"filter\").value = \"\";\n $(\"credentialList\").innerHTML = \"\";\n $(\"credentialList\").setAttribute(\"aria-busy\", \"false\");\n $(\"credentialNotice\").textContent = \"\";\n $(\"credentialNotice\").setAttribute(\"role\", \"status\");\n $(\"credentialNotice\").classList.remove(\"error-notice\");\n $(\"credentialUnavailable\").textContent = \"\";\n $(\"credentialUnavailable\").classList.add(\"hidden\");\n $(\"credentialList\").classList.add(\"hidden\");\n ACCESS_TOKENS = [];\n ACCESS_TOKENS_LOADED = false;\n $(\"tokenList\").innerHTML = \"\";\n $(\"tokenList\").setAttribute(\"aria-busy\", \"false\");\n $(\"tokenNotice\").textContent = \"\";\n clearCreatedAccessToken();\n $(\"tokenName\").value = \"\";\n $(\"tokenUnavailable\").textContent = \"\";\n $(\"tokenUnavailable\").classList.add(\"hidden\");\n $(\"tokenAvailable\").classList.add(\"hidden\");\n $(\"activityUnavailable\").classList.add(\"hidden\");\n $(\"activityAvailable\").classList.add(\"hidden\");\n $(\"credentialsNav\").classList.add(\"hidden\");\n $(\"tokensNav\").classList.add(\"hidden\");\n $(\"activityNav\").classList.add(\"hidden\");\n $(\"serverInfo\").textContent = PRODUCT_OPERATOR_LABEL;\n }\n function showGate(msg) {\n clearIdentityState();\n $(\"app\").classList.add(\"hidden\");\n $(\"appNav\").classList.add(\"hidden\");\n $(\"gate\").classList.remove(\"hidden\");\n $(\"err\").textContent = msg || \"\";\n if (AUTH.kind === \"clerk\") {\n const signedIn = Boolean(window.Clerk && Clerk.user);\n $(\"gateCopy\").textContent = signedIn ? \"Signed in with Clerk, but this account cannot open deployment-wide operator pages.\" : \"Sign in with Clerk to open this operator page.\";\n $(\"signin\").classList.toggle(\"hidden\", signedIn);\n $(\"gateSignout\").classList.toggle(\"hidden\", !signedIn);\n } else {\n $(\"gateCopy\").textContent = \"\";\n }\n }\n function pageForPath(path) {\n if (path === \"/credentials\") return \"credentials\";\n if (path === \"/tokens\") return \"tokens\";\n if (path === \"/activity\") return \"activity\";\n return \"connections\";\n }\n function credentialUnavailableCopy(capability) {\n if (capability === \"no_slots\") {\n return \"No connectors declare operator-managed credential slots. Connector credentials remain configuration-as-code until a slot is declared.\";\n }\n if (capability === \"vault_not_configured\") {\n return \"Credential storage is not configured. Set credentials.encryptionKey before managing connector credentials here.\";\n }\n return \"Credential management requires an eligible Clerk operator. Bearer-authenticated sessions can inspect connections but cannot manage stored credentials.\";\n }\n function accessTokenUnavailableCopy(capability) {\n if (capability === \"not_configured\") {\n return \"Access tokens are not configured for this deployment. Add accessTokens to the deployment configuration to enable them.\";\n }\n return \"Access token management requires an eligible Clerk operator. A Bearer token can connect to MCP, but it cannot create or revoke other tokens.\";\n }\n function setTokenNotice(message, error = false) {\n $(\"tokenNotice\").textContent = message;\n $(\"tokenNotice\").setAttribute(\"role\", error ? \"alert\" : \"status\");\n }\n function clearCreatedAccessToken() {\n $(\"createdToken\").textContent = \"\";\n $(\"tokenReveal\").classList.add(\"hidden\");\n $(\"tokenCreateForm\").classList.remove(\"hidden\");\n }\n function updateCapabilities() {\n const credentialsAvailable = DATA?.credentialManagement === \"available\";\n $(\"credentialsNav\").classList.toggle(\"hidden\", !credentialsAvailable);\n const tokensAvailable = DATA?.accessTokenManagement === \"available\";\n $(\"tokensNav\").classList.toggle(\"hidden\", !tokensAvailable);\n $(\"activityNav\").classList.toggle(\"hidden\", !DATA?.activityEnabled);\n $(\"credentialUnavailable\").classList.toggle(\"hidden\", credentialsAvailable);\n $(\"credentialList\").classList.toggle(\"hidden\", !credentialsAvailable);\n $(\"credentialUnavailable\").textContent = credentialsAvailable ? \"\" : credentialUnavailableCopy(DATA?.credentialManagement);\n $(\"tokenUnavailable\").classList.toggle(\"hidden\", Boolean(tokensAvailable));\n $(\"tokenAvailable\").classList.toggle(\"hidden\", !tokensAvailable);\n $(\"tokenUnavailable\").textContent = tokensAvailable ? \"\" : accessTokenUnavailableCopy(DATA?.accessTokenManagement);\n $(\"activityUnavailable\").classList.toggle(\"hidden\", Boolean(DATA?.activityEnabled));\n $(\"activityAvailable\").classList.toggle(\"hidden\", !DATA?.activityEnabled);\n }\n function activatePage(page, options) {\n const next = PAGE_META[page] ? page : \"connections\";\n CURRENT_PAGE = next;\n for (const name of Object.keys(PAGE_META)) {\n $(name + \"View\").classList.toggle(\"hidden\", name !== next);\n const link = $(name + \"Nav\");\n if (name === next) link.setAttribute(\"aria-current\", \"page\");\n else link.removeAttribute(\"aria-current\");\n }\n $(\"gateHeading\").textContent = PAGE_META[next].label;\n document.title = PAGE_META[next].label + \" — \" + TITLE_SUFFIX;\n if (DATA) {\n updateCapabilities();\n if (next === \"connections\") renderConnections();\n if (next === \"credentials\") renderCredentials();\n if (next === \"tokens\" && DATA.accessTokenManagement === \"available\" && !ACCESS_TOKENS_LOADED) {\n void loadAccessTokens();\n }\n if (next === \"activity\" && DATA.activityEnabled && !ACTIVITY_LOADED) {\n loadActivity(true);\n }\n }\n if (next !== \"credentials\") {\n $(\"credentialList\").innerHTML = \"\";\n setNotice(\"\");\n }\n if (next !== \"tokens\") clearCreatedAccessToken();\n if (options?.focus) $(DATA ? next + \"Heading\" : \"gateHeading\").focus();\n }\n function navigateTo(page, href) {\n history.pushState({ operatorPage: page }, \"\", href);\n activatePage(page, { focus: true });\n }\n async function load() {\n const generation = SESSION_GENERATION;\n let token;\n try {\n token = await sessionToken();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\n \"Could not read the Clerk session: \" + errorMessage(error, \"unknown error\")\n );\n }\n if (generation !== SESSION_GENERATION) return;\n if (!token) return showGate(\"\");\n let res;\n try {\n res = await fetch(\"/ui/data\", { headers: { Authorization: \"Bearer \" + token } });\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\"Network error: \" + errorMessage(error, \"unknown error\"));\n }\n if (generation !== SESSION_GENERATION) return;\n if (res.status === 401 || res.status === 403) {\n if (AUTH.kind === \"clerk\") {\n return showGate(\n res.status === 403 ? \"This Clerk account is not allowed to access connecta.\" : \"Your Clerk session was not accepted. Sign out and try again.\"\n );\n }\n localStorage.removeItem(KEY);\n return showGate(\"Token rejected — enter a valid bearer token.\");\n }\n if (!res.ok) return showGate(\"Error \" + res.status);\n let data;\n try {\n data = await res.json();\n } catch {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\"Operator data could not be read.\");\n }\n if (generation !== SESSION_GENERATION) return;\n DATA = data;\n $(\"gate\").classList.add(\"hidden\");\n $(\"app\").classList.remove(\"hidden\");\n $(\"appNav\").classList.remove(\"hidden\");\n const si = data.serverInfo || {};\n $(\"serverInfo\").textContent = (si.name || PRODUCT_NAME) + \" v\" + (data.connectaVersion || \"?\");\n updateCapabilities();\n activatePage(CURRENT_PAGE);\n }\n function actorLabel(actor) {\n if (!actor || !actor.kind) return \"unknown\";\n return actor.label ? actor.kind + \" · \" + actor.label : actor.id ? actor.kind + \" · \" + actor.id : actor.kind;\n }\n function renderActivity() {\n const list = $(\"activityList\");\n list.innerHTML = \"\";\n const query = $(\"activitySearch\").value.trim().toLowerCase();\n const visible = ACTIVITY.filter((event) => {\n if (!query) return true;\n const actor = event.actor || {};\n return [\n event.address,\n event.connectorId,\n event.toolName,\n event.source,\n event.outcome,\n event.errorCode,\n actor.kind,\n actor.id,\n actor.namespace,\n actor.label\n ].some((value) => String(value || \"\").toLowerCase().includes(query));\n });\n const uniqueTools = new Set(ACTIVITY.map((event) => event.address)).size;\n $(\"activitySummary\").textContent = ACTIVITY.length ? ACTIVITY.length + \" loaded call\" + (ACTIVITY.length === 1 ? \"\" : \"s\") + \" · \" + uniqueTools + \" tool\" + (uniqueTools === 1 ? \"\" : \"s\") + \" · no arguments or results stored\" : \"Arguments and results are never stored.\";\n if (visible.length === 0) {\n list.innerHTML = '<div class=\"activity-empty\">' + (query ? \"No loaded activity matches this search.\" : \"No connector tool calls recorded yet.\") + \"</div>\";\n }\n for (const event of visible) {\n const item = document.createElement(\"article\");\n const outcomeClass = [\n \"success\",\n \"error\",\n \"timeout\",\n \"cancelled\"\n ].includes(event.outcome) ? event.outcome : \"error\";\n item.className = \"activity-item \" + outcomeClass;\n const retryCopy = event.attempts > 1 ? \" · \" + esc(event.attempts) + \" attempts\" : \"\";\n const errorCopy = event.errorCode ? \" · \" + esc(event.errorCode) : \"\";\n const actorId = event.actor?.id ? event.actor.namespace ? event.actor.namespace + \" · \" + event.actor.id : event.actor.id : \"\";\n const stableActorId = actorId && (event.actor?.label || event.actor?.namespace) ? '<div class=\"activity-actor-id mono\">' + esc(actorId) + \"</div>\" : \"\";\n item.innerHTML = '<div class=\"activity-stamp\"><span class=\"dot ' + (outcomeClass === \"success\" ? \"ok\" : \"\") + '\" aria-hidden=\"true\"></span><div><time class=\"activity-time\" datetime=\"' + esc(event.occurredAt) + '\">' + esc(formatDate(event.occurredAt)) + '</time><div class=\"activity-actor\">' + esc(actorLabel(event.actor)) + \"</div>\" + stableActorId + '</div></div><div><div class=\"activity-address\">' + esc(event.address) + '</div><div class=\"activity-detail\">' + esc(event.source) + retryCopy + errorCopy + '</div></div><div><div class=\"activity-outcome\">' + esc(event.outcome) + '</div><div class=\"activity-detail\">' + esc(event.durationMs) + \" ms</div></div>\";\n list.appendChild(item);\n }\n $(\"moreActivity\").classList.toggle(\"hidden\", !ACTIVITY_CURSOR);\n }\n async function loadActivity(reset) {\n if (!DATA?.activityEnabled) return;\n const sessionGeneration = SESSION_GENERATION;\n if (reset) ACTIVITY_GENERATION += 1;\n const activityGeneration = ACTIVITY_GENERATION;\n const isCurrent = () => sessionGeneration === SESSION_GENERATION && activityGeneration === ACTIVITY_GENERATION;\n $(\"activityNotice\").textContent = \"Loading activity…\";\n $(\"activityNotice\").setAttribute(\"role\", \"status\");\n $(\"activityList\").setAttribute(\"aria-busy\", \"true\");\n $(\"refreshActivity\").disabled = true;\n $(\"moreActivity\").disabled = true;\n try {\n const token = await sessionToken();\n if (!isCurrent()) return;\n if (!token) return showGate(\"Your session has expired.\");\n const cursor = reset ? null : ACTIVITY_CURSOR;\n const params = new URLSearchParams({ limit: \"50\" });\n if (cursor) params.set(\"cursor\", cursor);\n const res = await fetch(\"/ui/activity?\" + params, {\n headers: { Authorization: \"Bearer \" + token }\n });\n if (!isCurrent()) return;\n let payload = {};\n try {\n payload = await res.json();\n } catch {\n }\n if (!isCurrent()) return;\n if (res.status === 401) {\n return showGate(\"Your session was not accepted. Sign in again.\");\n }\n if (res.status === 403) {\n clearActivityState();\n $(\"activityNotice\").setAttribute(\"role\", \"alert\");\n $(\"activityNotice\").textContent = \"This identity may not read activity history.\";\n return;\n }\n if (!res.ok) {\n throw new Error(\n payload.error || \"Activity could not be loaded (\" + res.status + \").\"\n );\n }\n ACTIVITY = reset ? payload.events || [] : ACTIVITY.concat(payload.events || []);\n ACTIVITY_CURSOR = payload.nextCursor || null;\n ACTIVITY_LOADED = true;\n $(\"activityNotice\").textContent = \"\";\n renderActivity();\n } catch (error) {\n if (!isCurrent()) return;\n $(\"activityNotice\").setAttribute(\"role\", \"alert\");\n $(\"activityNotice\").textContent = errorMessage(\n error,\n \"Activity could not be loaded.\"\n );\n } finally {\n if (isCurrent()) {\n $(\"activityList\").setAttribute(\"aria-busy\", \"false\");\n $(\"refreshActivity\").disabled = false;\n $(\"moreActivity\").disabled = false;\n }\n }\n }\n function renderConnections() {\n const data = DATA;\n if (!data) return;\n const q = $(\"filter\").value.trim().toLowerCase();\n const list = $(\"list\");\n list.innerHTML = \"\";\n for (const filtered of filterUiConnectors(data.connectors, q)) {\n const c = filtered.connector;\n const tools = filtered.tools;\n const el = document.createElement(\"div\");\n el.className = \"card\";\n const status = c.status === \"ok\" ? \"Connected\" : c.status === \"auth_required\" ? \"Authorization needed\" : \"Unavailable\";\n let head = '<div class=\"connector-head\"><div><div class=\"connector-title\"><span class=\"dot ' + esc(c.status) + '\" aria-hidden=\"true\"></span><h2>' + esc(c.title || c.id) + \"</h2></div>\";\n if (c.description) {\n head += '<p class=\"connector-description meta\">' + esc(c.description) + \"</p>\";\n }\n head += '</div><div class=\"connector-state cap\">' + esc(status) + \" · \" + c.toolCount + (c.toolCount === 1 ? \" tool\" : \" tools\") + '<br><span class=\"mono\">' + esc(c.id) + \"</span></div></div>\";\n if (c.message) {\n head += '<p class=\"connector-message msg\">' + esc(c.message) + \"</p>\";\n }\n if (c.authorizationUrl) {\n const safe = safeHttp(c.authorizationUrl);\n head += safe ? '<p class=\"connector-auth\"><a class=\"linklike\" href=\"' + esc(safe) + '\" target=\"_blank\" rel=\"noopener\">Authorize connector →</a></p>' : '<p class=\"connector-auth meta\">Authorization URL: ' + esc(c.authorizationUrl) + \"</p>\";\n }\n if (c.oauth && data.oauthManagement) {\n const oauthName = c.title || c.id;\n head += '<div class=\"credential-actions\">';\n head += '<button type=\"button\" class=\"linklike danger\" aria-label=\"Disconnect OAuth for ' + esc(oauthName) + '\" data-oauth-action=\"disconnect\" data-connector=\"' + esc(c.id) + '\">Disconnect OAuth</button>';\n head += '<button type=\"button\" class=\"linklike\" aria-label=\"' + (c.status === \"ok\" ? \"Reconnect OAuth for \" : \"Restart authorization for \") + esc(oauthName) + '\" data-oauth-action=\"reconnect\" data-connector=\"' + esc(c.id) + '\">' + (c.status === \"ok\" ? \"Reconnect OAuth\" : \"Restart authorization\") + \"</button></div>\";\n }\n if (c.credential) {\n head += '<p class=\"connector-auth\"><a class=\"linklike\" href=\"/credentials\" data-operator-page=\"credentials\">Manage credential →</a></p>';\n }\n let body = \"\";\n if (tools.length) {\n body = \"<details\" + (q ? \" open\" : \"\") + '><summary class=\"linklike\">Show tools (' + tools.length + ')</summary><div class=\"tool-list\">';\n for (const t of tools) {\n body += '<div class=\"tool\"><code>' + esc(t.address) + \"</code>\";\n if (t.description) body += '<span class=\"td\">' + esc(t.description) + \"</span>\";\n body += \"</div>\";\n }\n body += \"</div></details>\";\n }\n el.innerHTML = head + body;\n list.appendChild(el);\n }\n if (!list.children.length) {\n list.innerHTML = '<p class=\"empty\">' + (q ? \"No connectors or tools match this filter.\" : \"No connectors are declared in this deployment.\") + \"</p>\";\n }\n }\n async function operatorRequest(path, method, generation, body) {\n const token = await sessionToken();\n if (generation !== SESSION_GENERATION) {\n throw new Error(\"The operator session changed.\");\n }\n if (!token) throw new Error(\"Your Clerk session has expired.\");\n const res = await fetch(path, {\n method,\n headers: {\n Authorization: \"Bearer \" + token,\n ...body ? { \"Content-Type\": \"application/json\" } : {}\n },\n ...body ? { body: JSON.stringify(body) } : {}\n });\n if (res.status === 204) return null;\n let payload = {};\n try {\n payload = await res.json();\n } catch {\n }\n if (!res.ok) throw new Error(payload.error || \"Request failed (\" + res.status + \").\");\n return payload;\n }\n function renderAccessTokens() {\n const list = $(\"tokenList\");\n list.innerHTML = \"\";\n if (!ACCESS_TOKENS.length) {\n list.innerHTML = '<p class=\"empty\">No access tokens yet. Name the first MCP client above.</p>';\n return;\n }\n for (const token of ACCESS_TOKENS) {\n const revoked = Boolean(token.revokedAt);\n const item = document.createElement(\"section\");\n item.className = \"token-card\" + (revoked ? \" revoked\" : \"\");\n item.setAttribute(\"aria-labelledby\", \"access-token-\" + token.id);\n item.innerHTML = '<div class=\"token-card-head\"><div><h2 id=\"access-token-' + esc(token.id) + '\">' + esc(token.name) + '</h2><p class=\"mono\">' + esc(token.tokenPrefix) + '…</p></div><div class=\"cap\">' + (revoked ? \"Revoked \" + esc(formatDate(token.revokedAt)) : \"Created \" + esc(formatDate(token.createdAt))) + '</div></div><div class=\"credential-actions\"><button class=\"linklike\" type=\"button\" data-token-action=\"rename\" data-token-id=\"' + esc(token.id) + '\">Rename</button>' + (revoked ? \"\" : '<button class=\"linklike danger\" type=\"button\" data-token-action=\"revoke\" data-token-id=\"' + esc(token.id) + '\">Revoke</button>') + '</div><form class=\"credential-form hidden\" data-token-form=\"' + esc(token.id) + '\"><label class=\"visually-hidden\" for=\"token-name-' + esc(token.id) + '\">Token name</label><input id=\"token-name-' + esc(token.id) + '\" type=\"text\" maxlength=\"80\" value=\"' + esc(token.name) + '\" autocomplete=\"off\"><button class=\"linklike\" type=\"submit\" data-token-action=\"save-name\" data-token-id=\"' + esc(token.id) + '\">Save name</button><button class=\"linklike\" type=\"button\" data-token-action=\"cancel-name\" data-token-id=\"' + esc(token.id) + '\">Cancel</button></form>';\n list.appendChild(item);\n }\n }\n async function loadAccessTokens() {\n const generation = SESSION_GENERATION;\n $(\"tokenList\").setAttribute(\"aria-busy\", \"true\");\n setTokenNotice(\"Loading access tokens…\");\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens\",\n \"GET\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n ACCESS_TOKENS = payload?.accessTokens || [];\n ACCESS_TOKENS_LOADED = true;\n setTokenNotice(\"\");\n renderAccessTokens();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access tokens could not be loaded.\"\n ), true);\n } finally {\n if (generation === SESSION_GENERATION) {\n $(\"tokenList\").setAttribute(\"aria-busy\", \"false\");\n }\n }\n }\n $(\"tokenCreateForm\").onsubmit = async (event) => {\n event.preventDefault();\n const name = $(\"tokenName\").value.trim();\n if (!name) {\n setTokenNotice(\"Name the MCP client before creating a token.\", true);\n return;\n }\n const generation = SESSION_GENERATION;\n $(\"createToken\").disabled = true;\n setTokenNotice(\"\");\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens\",\n \"POST\",\n generation,\n { name }\n );\n if (generation !== SESSION_GENERATION) return;\n if (!payload?.token || !payload.accessToken) {\n throw new Error(\"The created token was not returned.\");\n }\n ACCESS_TOKENS = [\n payload.accessToken,\n ...ACCESS_TOKENS.filter((token) => token.id !== payload.accessToken.id)\n ];\n ACCESS_TOKENS_LOADED = true;\n $(\"tokenName\").value = \"\";\n $(\"createdToken\").textContent = payload.token;\n $(\"tokenCreateForm\").classList.add(\"hidden\");\n $(\"tokenReveal\").classList.remove(\"hidden\");\n setTokenNotice(\"Access token created.\");\n renderAccessTokens();\n $(\"tokenRevealHeading\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be created.\"\n ), true);\n $(\"tokenNotice\").focus();\n } finally {\n if (generation === SESSION_GENERATION) $(\"createToken\").disabled = false;\n }\n };\n $(\"copyCreatedToken\").onclick = async () => {\n const button = $(\"copyCreatedToken\");\n const token = $(\"createdToken\").textContent || \"\";\n try {\n await navigator.clipboard.writeText(token);\n button.textContent = \"Copied\";\n } catch {\n button.textContent = \"Copy failed\";\n }\n window.setTimeout(() => {\n button.textContent = \"Copy token\";\n }, 1600);\n };\n $(\"dismissCreatedToken\").onclick = () => {\n clearCreatedAccessToken();\n $(\"tokenName\").focus();\n };\n $(\"tokenList\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-token-action]\"\n );\n if (!button) return;\n const id = button.dataset.tokenId;\n const action = button.dataset.tokenAction;\n if (!id || !action) return;\n const form = document.querySelector(\n '[data-token-form=\"' + CSS.escape(id) + '\"]'\n );\n if (!form) return;\n if (action === \"rename\") {\n form.classList.remove(\"hidden\");\n form.querySelector(\"input\")?.focus();\n return;\n }\n if (action === \"cancel-name\") {\n const current = ACCESS_TOKENS.find((token) => token.id === id);\n const input = form.querySelector(\"input\");\n if (input && current) input.value = current.name;\n form.classList.add(\"hidden\");\n return;\n }\n if (action !== \"revoke\") return;\n const named = ACCESS_TOKENS.find((token) => token.id === id);\n if (!window.confirm(\n \"Revoke \" + (named?.name || \"this access token\") + \"? Its MCP client will immediately lose access.\"\n )) return;\n const generation = SESSION_GENERATION;\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens/\" + encodeURIComponent(id),\n \"DELETE\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n if (payload?.accessToken) {\n ACCESS_TOKENS = ACCESS_TOKENS.map((token) => token.id === id ? payload.accessToken : token);\n }\n setTokenNotice(\"Access token revoked.\");\n renderAccessTokens();\n $(\"tokenNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be revoked.\"\n ), true);\n }\n };\n $(\"tokenList\").onsubmit = async (event) => {\n event.preventDefault();\n const form = closestElement(event.target, \"[data-token-form]\");\n if (!form) return;\n const id = form.dataset.tokenForm;\n const name = form.querySelector(\"input\")?.value.trim();\n if (!id || !name) return;\n const generation = SESSION_GENERATION;\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens/\" + encodeURIComponent(id),\n \"PUT\",\n generation,\n { name }\n );\n if (generation !== SESSION_GENERATION) return;\n if (payload?.accessToken) {\n ACCESS_TOKENS = ACCESS_TOKENS.map((token) => token.id === id ? payload.accessToken : token);\n }\n setTokenNotice(\"Access token renamed.\");\n renderAccessTokens();\n $(\"tokenNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be renamed.\"\n ), true);\n }\n };\n $(\"list\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-oauth-action]\"\n );\n if (!button) return;\n const connector = button.dataset.connector;\n const action = button.dataset.oauthAction;\n if (!connector || action !== \"disconnect\" && action !== \"reconnect\") return;\n const generation = SESSION_GENERATION;\n const question = action === \"disconnect\" ? \"Disconnect OAuth for \" + connector + \"? Stored credentials and any pending authorization will be removed.\" : \"Restart OAuth for \" + connector + \"? Stored credentials and any pending authorization will be replaced.\";\n if (!window.confirm(question)) return;\n setOauthNotice(\"\");\n const buttons = [...document.querySelectorAll(\n '[data-connector=\"' + CSS.escape(connector) + '\"]'\n )];\n buttons.forEach((item) => {\n item.disabled = true;\n });\n try {\n const result = await operatorRequest(\n \"/ui/oauth/\" + encodeURIComponent(connector),\n action === \"disconnect\" ? \"DELETE\" : \"POST\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n await load();\n if (generation !== SESSION_GENERATION) return;\n setOauthNotice(\n action === \"disconnect\" ? \"OAuth disconnected. Restart authorization when you are ready to reconnect.\" : result?.message || \"Authorization restarted. Open the authorization link to reconnect.\"\n );\n $(\"oauthNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n try {\n await load();\n } catch {\n }\n if (generation !== SESSION_GENERATION) return;\n setOauthNotice(errorMessage(error, \"OAuth action failed.\"), true);\n $(\"oauthNotice\").focus();\n } finally {\n if (generation === SESSION_GENERATION) {\n buttons.forEach((item) => {\n item.disabled = false;\n });\n }\n }\n };\n function renderCredentials() {\n const data = DATA;\n if (!data) return;\n const list = $(\"credentialList\");\n list.innerHTML = \"\";\n if (data.credentialManagement !== \"available\") return;\n for (const c of data.connectors) {\n const cred = c.credential;\n if (!cred) continue;\n const configured = Boolean(cred.configured);\n const removable = configured || Boolean(cred.removable);\n const state = configured ? cred.fields?.length ? \"configured\" : \"configured · ••••\" + esc(cred.lastFour || \"\") : \"not configured\";\n const updated = configured && cred.updatedAt ? \" · updated \" + esc(formatDate(cred.updatedAt)) : \"\";\n const el = document.createElement(\"section\");\n el.className = \"credential-card\";\n el.id = \"credential-\" + c.id;\n el.setAttribute(\"aria-labelledby\", \"credential-title-\" + c.id);\n let body = '<div class=\"credential-head\"><div class=\"connector-title\"><span class=\"dot ' + (configured ? \"ok\" : \"auth_required\") + '\" aria-hidden=\"true\"></span><h2 id=\"credential-title-' + esc(c.id) + '\">' + esc(c.title || c.id) + '</h2></div><span class=\"credential-state\">' + state + updated + \"</span></div>\";\n body += '<p class=\"mono\">' + esc(c.id) + \" · \" + esc(cred.label) + \"</p>\";\n if (cred.description) {\n body += '<p class=\"credential-copy meta\">' + esc(cred.description) + \"</p>\";\n }\n if (cred.fields?.length) {\n body += '<div class=\"credential-field-summary\">';\n for (const field of cred.fields) {\n const fieldState = field.configured ? \"configured · ••••\" + esc(field.lastFour || \"\") + (field.updatedAt ? \" · updated \" + esc(formatDate(field.updatedAt)) : \"\") : \"not configured\";\n body += \"<div><span>\" + esc(field.label) + '</span><span class=\"meta\">' + fieldState + \"</span></div>\";\n }\n body += \"</div>\";\n }\n if (cred.error) body += '<div class=\"msg\">' + esc(cred.error) + \"</div>\";\n if (cred.notice) {\n body += '<p class=\"credential-copy meta\">' + esc(cred.notice) + \"</p>\";\n }\n body += '<div class=\"credential-actions\">';\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"edit\" data-connector=\"' + esc(c.id) + '\">' + (removable ? \"Replace\" : \"Add credential\") + \"</button>\";\n if (configured && cred.testable) {\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"test\" data-connector=\"' + esc(c.id) + '\">Test</button>';\n }\n if (removable) {\n body += '<button type=\"button\" class=\"linklike danger\" data-credential-action=\"remove\" data-connector=\"' + esc(c.id) + '\">Remove</button>';\n }\n body += \"</div>\";\n body += '<div class=\"credential-form hidden\" data-credential-form=\"' + esc(c.id) + '\">';\n if (cred.fields && cred.fields.length) {\n body += '<div class=\"credential-fields\">';\n for (const [index, field] of cred.fields.entries()) {\n const inputId = \"credential-input-\" + c.id + \"-\" + index;\n body += '<div class=\"credential-field\"><label for=\"' + esc(inputId) + '\">' + esc(field.label) + '</label><input id=\"' + esc(inputId) + '\" type=\"' + esc(field.inputType || \"password\") + '\" data-credential-field=\"' + esc(field.name) + '\" placeholder=\"' + esc(field.placeholder || field.label) + '\" autocomplete=\"' + (field.inputType === \"password\" ? \"new-password\" : \"off\") + '\" autocapitalize=\"none\" spellcheck=\"false\"></div>';\n }\n body += \"</div>\";\n } else {\n const inputId = \"credential-input-\" + c.id;\n body += '<label class=\"visually-hidden\" for=\"' + esc(inputId) + '\">' + esc(cred.label) + '</label><input id=\"' + esc(inputId) + '\" type=\"password\" data-credential-input=\"' + esc(c.id) + '\" aria-label=\"' + esc(cred.label) + '\" placeholder=\"' + esc(cred.placeholder || \"Paste credential\") + '\" autocomplete=\"new-password\" autocapitalize=\"none\" spellcheck=\"false\">';\n }\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"save\" data-connector=\"' + esc(c.id) + '\">Save</button><button class=\"linklike\" type=\"button\" data-credential-action=\"cancel\" data-connector=\"' + esc(c.id) + '\">Cancel</button></div>';\n el.innerHTML = body;\n list.appendChild(el);\n }\n }\n async function credentialRequest(connector, method, action, body, generation) {\n const suffix = action ? \"/\" + action : \"\";\n return operatorRequest(\n \"/ui/credentials/\" + encodeURIComponent(connector) + suffix,\n method,\n generation,\n body ?? void 0\n );\n }\n function credentialForm(connector) {\n const form = document.querySelector(\n '[data-credential-form=\"' + CSS.escape(connector) + '\"]'\n );\n if (!form) throw new Error(\"Credential form is unavailable.\");\n return form;\n }\n $(\"credentialList\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-credential-action]\"\n );\n if (!button) return;\n const connector = button.dataset.connector;\n const action = button.dataset.credentialAction;\n if (!connector || !action) return;\n const form = credentialForm(connector);\n const generation = SESSION_GENERATION;\n if (action === \"edit\") {\n form.classList.remove(\"hidden\");\n form.querySelector(\"input\")?.focus();\n return;\n }\n if (action === \"cancel\") {\n form.querySelectorAll(\"input\").forEach((input) => {\n input.value = \"\";\n });\n form.classList.add(\"hidden\");\n document.querySelector(\n '[data-credential-action=\"edit\"][data-connector=\"' + CSS.escape(connector) + '\"]'\n )?.focus();\n return;\n }\n if (action === \"remove\" && !window.confirm(\n \"Remove this credential? The connector will stop authenticating until a replacement is added.\"\n )) return;\n setNotice(\"\");\n $(\"credentialList\").setAttribute(\"aria-busy\", \"true\");\n const buttons = [...document.querySelectorAll(\n '[data-connector=\"' + CSS.escape(connector) + '\"]'\n )];\n buttons.forEach((item) => {\n item.disabled = true;\n });\n try {\n if (action === \"save\") {\n const fieldInputs = [\n ...form.querySelectorAll(\"[data-credential-field]\")\n ];\n if (fieldInputs.length) {\n const values = {};\n for (const input of fieldInputs) {\n const value = input.value.trim();\n if (!value) throw new Error(\"Complete every credential field before saving.\");\n const field = input.dataset.credentialField;\n if (!field) throw new Error(\"Credential field is unnamed.\");\n values[field] = value;\n }\n await credentialRequest(connector, \"PUT\", \"\", { values }, generation);\n } else {\n const input = form.querySelector(\n \"[data-credential-input]\"\n );\n if (!input) throw new Error(\"Credential input is unavailable.\");\n const value = input.value.trim();\n if (!value) throw new Error(\"Paste a credential before saving.\");\n await credentialRequest(connector, \"PUT\", \"\", { value }, generation);\n }\n if (generation !== SESSION_GENERATION) return;\n form.querySelectorAll(\"input\").forEach((input) => {\n input.value = \"\";\n });\n setNotice(\"Credential saved.\");\n await load();\n if (generation !== SESSION_GENERATION) return;\n $(\"credentialNotice\").focus();\n } else if (action === \"remove\") {\n await credentialRequest(connector, \"DELETE\", \"\", null, generation);\n if (generation !== SESSION_GENERATION) return;\n setNotice(\"Credential removed.\");\n await load();\n if (generation !== SESSION_GENERATION) return;\n $(\"credentialNotice\").focus();\n } else if (action === \"test\") {\n const result = await credentialRequest(\n connector,\n \"POST\",\n \"test\",\n null,\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n setNotice(\n result?.message || (result?.ok ? \"Credential is valid.\" : \"Credential test failed.\"),\n !result?.ok\n );\n }\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setNotice(errorMessage(error, \"Credential action failed.\"), true);\n } finally {\n if (generation === SESSION_GENERATION) {\n $(\"credentialList\").setAttribute(\"aria-busy\", \"false\");\n buttons.forEach((item) => {\n item.disabled = false;\n });\n }\n }\n };\n $(\"save\").onclick = async () => {\n const v = $(\"token\").value.trim();\n if (!v) return;\n clearIdentityState();\n localStorage.setItem(KEY, v);\n $(\"token\").value = \"\";\n await load();\n if (DATA) $(CURRENT_PAGE + \"Heading\").focus();\n };\n $(\"change\").onclick = () => {\n localStorage.removeItem(KEY);\n showGate(\"\");\n $(\"token\").focus();\n };\n $(\"copyMcpUrl\").onclick = async () => {\n const button = $(\"copyMcpUrl\");\n try {\n await navigator.clipboard.writeText(MCP_URL);\n button.textContent = \"Copied\";\n } catch {\n button.textContent = \"Copy failed\";\n }\n window.setTimeout(() => {\n button.textContent = \"Copy URL\";\n }, 1600);\n };\n $(\"signin\").onclick = () => Clerk.redirectToSignIn({\n signInFallbackRedirectUrl: window.location.href,\n signUpFallbackRedirectUrl: window.location.href\n });\n function signOut() {\n clearIdentityState();\n return Clerk.signOut({ redirectUrl: window.location.href });\n }\n $(\"gateSignout\").onclick = signOut;\n $(\"signout\").onclick = signOut;\n $(\"filter\").oninput = () => {\n if (DATA) renderConnections();\n };\n $(\"refreshActivity\").onclick = () => loadActivity(true);\n $(\"moreActivity\").onclick = () => loadActivity(false);\n $(\"activitySearch\").oninput = () => renderActivity();\n document.addEventListener(\"click\", (event) => {\n const link = closestElement(\n event.target,\n \"a[data-operator-page]\"\n );\n if (!link || event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n const target = new URL(link.href, window.location.href);\n if (target.origin !== window.location.origin) return;\n const page = link.dataset.operatorPage;\n if (page !== \"connections\" && page !== \"credentials\" && page !== \"tokens\" && page !== \"activity\") return;\n event.preventDefault();\n navigateTo(page, target.pathname + target.search + target.hash);\n });\n window.addEventListener(\"popstate\", () => {\n activatePage(pageForPath(window.location.pathname), { focus: true });\n });\n window.addEventListener(\"pagehide\", clearCreatedAccessToken);\n async function init() {\n if (AUTH.kind === \"clerk\") {\n $(\"clerkGate\").classList.remove(\"hidden\");\n $(\"signout\").classList.remove(\"hidden\");\n try {\n if (!window.Clerk) {\n return showGate(\"Clerk could not load. Check your network and try again.\");\n }\n await Clerk.load({\n ...AUTH.signInUrl ? { signInUrl: AUTH.signInUrl } : {},\n ...AUTH.signUpUrl ? { signUpUrl: AUTH.signUpUrl } : {},\n signInFallbackRedirectUrl: window.location.href,\n signUpFallbackRedirectUrl: window.location.href,\n afterSignOutUrl: window.location.href\n });\n CLERK_SESSION_ID = Clerk.session?.id ?? null;\n Clerk.addListener((resources) => {\n const nextSessionId = resources.session?.id ?? null;\n if (nextSessionId === CLERK_SESSION_ID) return;\n CLERK_SESSION_ID = nextSessionId;\n showGate(\"\");\n void load();\n });\n } catch (error) {\n return showGate(\n \"Clerk could not initialize: \" + errorMessage(error, \"unknown error\")\n );\n }\n } else {\n $(\"tokenGate\").classList.remove(\"hidden\");\n $(\"change\").classList.remove(\"hidden\");\n }\n activatePage(pageForPath(window.location.pathname));\n await load();\n }\n if (AUTH.kind === \"clerk\") {\n window.addEventListener(\"load\", init);\n } else {\n init();\n }\n})();\n";
|
|
4
|
+
export const OPERATOR_UI_SCRIPT = "\"use strict\";\n(() => {\n // src/operator-ui/model.ts\n function filterUiConnectors(connectors, query) {\n const q = query.trim().toLowerCase();\n const filtered = [];\n for (const connector of connectors) {\n const connectorText = [\n connector.id,\n connector.title,\n connector.description,\n connector.status\n ].join(\" \").toLowerCase();\n const connectorMatches = Boolean(q && connectorText.includes(q));\n const tools = connector.tools.filter(\n (tool) => !q || connectorMatches || `${tool.name} ${tool.description ?? \"\"}`.toLowerCase().includes(q)\n );\n if (q && tools.length === 0 && !connectorMatches) continue;\n filtered.push({ connector, tools });\n }\n return filtered;\n }\n\n // src/operator-ui/browser.ts\n var KEY = \"connecta:token\";\n var $ = (id) => {\n const element = document.getElementById(id);\n if (!element) throw new Error(`Missing operator UI element #${id}`);\n return element;\n };\n var PAGE_META = {\n connections: { path: \"/\", label: \"Connections\" },\n credentials: { path: \"/credentials\", label: \"Credentials\" },\n tokens: { path: \"/tokens\", label: \"Access tokens\" },\n activity: { path: \"/activity\", label: \"Activity\" }\n };\n var DATA = null;\n var ACTIVITY = [];\n var ACTIVITY_CURSOR = null;\n var ACTIVITY_LOADED = false;\n var ACCESS_TOKENS = [];\n var ACCESS_TOKENS_LOADED = false;\n var CURRENT_PAGE = INITIAL_PAGE;\n var SESSION_GENERATION = 0;\n var ACTIVITY_GENERATION = 0;\n var CLERK_SESSION_ID = null;\n $(\"mcpUrl\").textContent = MCP_URL;\n function errorMessage(error, fallback) {\n return error instanceof Error && error.message ? error.message : fallback;\n }\n function closestElement(target, selector) {\n const candidate = target;\n return typeof candidate?.closest === \"function\" ? candidate.closest(selector) : null;\n }\n function esc(s) {\n return String(s == null ? \"\" : s).replace(/[&<>\"]/g, (c) => ({ \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\" })[c] ?? c);\n }\n function safeHttp(u) {\n try {\n const p = new URL(u).protocol;\n return p === \"http:\" || p === \"https:\" ? u : null;\n } catch {\n return null;\n }\n }\n function formatDate(value) {\n if (!value) return \"\";\n const date = new Date(value);\n return Number.isNaN(date.valueOf()) ? \"\" : date.toLocaleString();\n }\n function setNotice(message, isError = false) {\n $(\"credentialNotice\").textContent = message || \"\";\n $(\"credentialNotice\").classList.toggle(\"error-notice\", Boolean(isError));\n $(\"credentialNotice\").setAttribute(\"role\", isError ? \"alert\" : \"status\");\n }\n function setOauthNotice(message, isError = false) {\n $(\"oauthNotice\").textContent = message || \"\";\n $(\"oauthNotice\").classList.toggle(\"error-notice\", Boolean(isError));\n $(\"oauthNotice\").setAttribute(\"role\", isError ? \"alert\" : \"status\");\n }\n async function sessionToken() {\n return AUTH.kind === \"clerk\" ? await Clerk.session?.getToken() : localStorage.getItem(KEY);\n }\n function clearActivityState() {\n ACTIVITY_GENERATION += 1;\n ACTIVITY = [];\n ACTIVITY_CURSOR = null;\n ACTIVITY_LOADED = false;\n $(\"activityList\").innerHTML = \"\";\n $(\"activityList\").setAttribute(\"aria-busy\", \"false\");\n $(\"activityNotice\").textContent = \"\";\n $(\"activityNotice\").setAttribute(\"role\", \"status\");\n $(\"activitySummary\").textContent = \"Arguments and results are never stored.\";\n $(\"activitySearch\").value = \"\";\n $(\"refreshActivity\").disabled = false;\n $(\"moreActivity\").disabled = false;\n $(\"moreActivity\").classList.add(\"hidden\");\n }\n function clearIdentityState() {\n SESSION_GENERATION += 1;\n DATA = null;\n clearActivityState();\n $(\"list\").innerHTML = \"\";\n setOauthNotice(\"\");\n $(\"filter\").value = \"\";\n $(\"credentialList\").innerHTML = \"\";\n $(\"credentialList\").setAttribute(\"aria-busy\", \"false\");\n $(\"credentialNotice\").textContent = \"\";\n $(\"credentialNotice\").setAttribute(\"role\", \"status\");\n $(\"credentialNotice\").classList.remove(\"error-notice\");\n $(\"credentialUnavailable\").textContent = \"\";\n $(\"credentialUnavailable\").classList.add(\"hidden\");\n $(\"credentialList\").classList.add(\"hidden\");\n ACCESS_TOKENS = [];\n ACCESS_TOKENS_LOADED = false;\n $(\"tokenList\").innerHTML = \"\";\n $(\"tokenList\").setAttribute(\"aria-busy\", \"false\");\n $(\"tokenNotice\").textContent = \"\";\n clearCreatedAccessToken();\n $(\"tokenName\").value = \"\";\n $(\"tokenUnavailable\").textContent = \"\";\n $(\"tokenUnavailable\").classList.add(\"hidden\");\n $(\"tokenAvailable\").classList.add(\"hidden\");\n $(\"activityUnavailable\").classList.add(\"hidden\");\n $(\"activityAvailable\").classList.add(\"hidden\");\n $(\"credentialsNav\").classList.add(\"hidden\");\n $(\"tokensNav\").classList.add(\"hidden\");\n $(\"activityNav\").classList.add(\"hidden\");\n $(\"serverInfo\").textContent = PRODUCT_OPERATOR_LABEL;\n }\n function showGate(msg) {\n clearIdentityState();\n $(\"app\").classList.add(\"hidden\");\n $(\"appNav\").classList.add(\"hidden\");\n $(\"gate\").classList.remove(\"hidden\");\n $(\"err\").textContent = msg || \"\";\n if (AUTH.kind === \"clerk\") {\n const signedIn = Boolean(window.Clerk && Clerk.user);\n $(\"gateCopy\").textContent = signedIn ? \"Signed in with Clerk, but this account cannot open deployment-wide operator pages.\" : \"Sign in with Clerk to open this operator page.\";\n $(\"signin\").classList.toggle(\"hidden\", signedIn);\n $(\"gateSignout\").classList.toggle(\"hidden\", !signedIn);\n } else {\n $(\"gateCopy\").textContent = \"\";\n }\n }\n function pageForPath(path) {\n if (path === \"/credentials\") return \"credentials\";\n if (path === \"/tokens\") return \"tokens\";\n if (path === \"/activity\") return \"activity\";\n return \"connections\";\n }\n function credentialUnavailableCopy(capability) {\n if (capability === \"no_slots\") {\n return \"No connectors declare operator-managed credential slots. Connector credentials remain configuration-as-code until a slot is declared.\";\n }\n if (capability === \"vault_not_configured\") {\n return \"Credential storage is not configured. Set credentials.encryptionKey before managing connector credentials here.\";\n }\n return \"Credential management requires an eligible Clerk operator. Bearer-authenticated sessions can inspect connections but cannot manage stored credentials.\";\n }\n function accessTokenUnavailableCopy(capability) {\n if (capability === \"not_configured\") {\n return \"Access tokens are not configured for this deployment. Add accessTokens to the deployment configuration to enable them.\";\n }\n return \"Access token management requires an eligible Clerk operator. A Bearer token can connect to MCP, but it cannot create or revoke other tokens.\";\n }\n function setTokenNotice(message, error = false) {\n $(\"tokenNotice\").textContent = message;\n $(\"tokenNotice\").setAttribute(\"role\", error ? \"alert\" : \"status\");\n }\n function clearCreatedAccessToken() {\n $(\"createdToken\").textContent = \"\";\n $(\"tokenReveal\").classList.add(\"hidden\");\n $(\"tokenCreateForm\").classList.remove(\"hidden\");\n }\n function updateCapabilities() {\n const credentialsAvailable = DATA?.credentialManagement === \"available\";\n $(\"credentialsNav\").classList.toggle(\"hidden\", !credentialsAvailable);\n const tokensAvailable = DATA?.accessTokenManagement === \"available\";\n $(\"tokensNav\").classList.toggle(\"hidden\", !tokensAvailable);\n $(\"activityNav\").classList.toggle(\"hidden\", !DATA?.activityEnabled);\n $(\"credentialUnavailable\").classList.toggle(\"hidden\", credentialsAvailable);\n $(\"credentialList\").classList.toggle(\"hidden\", !credentialsAvailable);\n $(\"credentialUnavailable\").textContent = credentialsAvailable ? \"\" : credentialUnavailableCopy(DATA?.credentialManagement);\n $(\"tokenUnavailable\").classList.toggle(\"hidden\", Boolean(tokensAvailable));\n $(\"tokenAvailable\").classList.toggle(\"hidden\", !tokensAvailable);\n $(\"tokenUnavailable\").textContent = tokensAvailable ? \"\" : accessTokenUnavailableCopy(DATA?.accessTokenManagement);\n $(\"activityUnavailable\").classList.toggle(\"hidden\", Boolean(DATA?.activityEnabled));\n $(\"activityAvailable\").classList.toggle(\"hidden\", !DATA?.activityEnabled);\n }\n function activatePage(page, options) {\n const next = PAGE_META[page] ? page : \"connections\";\n CURRENT_PAGE = next;\n for (const name of Object.keys(PAGE_META)) {\n $(name + \"View\").classList.toggle(\"hidden\", name !== next);\n const link = $(name + \"Nav\");\n if (name === next) link.setAttribute(\"aria-current\", \"page\");\n else link.removeAttribute(\"aria-current\");\n }\n $(\"gateHeading\").textContent = PAGE_META[next].label;\n document.title = PAGE_META[next].label + \" — \" + TITLE_SUFFIX;\n if (DATA) {\n updateCapabilities();\n if (next === \"connections\") renderConnections();\n if (next === \"credentials\") renderCredentials();\n if (next === \"tokens\" && DATA.accessTokenManagement === \"available\" && !ACCESS_TOKENS_LOADED) {\n void loadAccessTokens();\n }\n if (next === \"activity\" && DATA.activityEnabled && !ACTIVITY_LOADED) {\n loadActivity(true);\n }\n }\n if (next !== \"credentials\") {\n $(\"credentialList\").innerHTML = \"\";\n setNotice(\"\");\n }\n if (next !== \"tokens\") clearCreatedAccessToken();\n if (options?.focus) $(DATA ? next + \"Heading\" : \"gateHeading\").focus();\n }\n function navigateTo(page, href) {\n history.pushState({ operatorPage: page }, \"\", href);\n activatePage(page, { focus: true });\n }\n async function load() {\n const generation = SESSION_GENERATION;\n let token;\n try {\n token = await sessionToken();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\n \"Could not read the Clerk session: \" + errorMessage(error, \"unknown error\")\n );\n }\n if (generation !== SESSION_GENERATION) return;\n if (!token) return showGate(\"\");\n let res;\n try {\n res = await fetch(\"/ui/data\", { headers: { Authorization: \"Bearer \" + token } });\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\"Network error: \" + errorMessage(error, \"unknown error\"));\n }\n if (generation !== SESSION_GENERATION) return;\n if (res.status === 401 || res.status === 403) {\n if (AUTH.kind === \"clerk\") {\n return showGate(\n res.status === 403 ? \"This Clerk account is not allowed to access connecta.\" : \"Your Clerk session was not accepted. Sign out and try again.\"\n );\n }\n localStorage.removeItem(KEY);\n return showGate(\"Token rejected — enter a valid bearer token.\");\n }\n if (!res.ok) return showGate(\"Error \" + res.status);\n let data;\n try {\n data = await res.json();\n } catch {\n if (generation !== SESSION_GENERATION) return;\n return showGate(\"Operator data could not be read.\");\n }\n if (generation !== SESSION_GENERATION) return;\n DATA = data;\n $(\"gate\").classList.add(\"hidden\");\n $(\"app\").classList.remove(\"hidden\");\n $(\"appNav\").classList.remove(\"hidden\");\n const si = data.serverInfo || {};\n $(\"serverInfo\").textContent = (si.name || PRODUCT_NAME) + \" v\" + (data.connectaVersion || \"?\");\n updateCapabilities();\n activatePage(CURRENT_PAGE);\n }\n function actorLabel(actor) {\n if (!actor || !actor.kind) return \"unknown\";\n return actor.label ? actor.kind + \" · \" + actor.label : actor.id ? actor.kind + \" · \" + actor.id : actor.kind;\n }\n function renderActivity() {\n const list = $(\"activityList\");\n list.innerHTML = \"\";\n const query = $(\"activitySearch\").value.trim().toLowerCase();\n const visible = ACTIVITY.filter((event) => {\n if (!query) return true;\n const actor = event.actor || {};\n return [\n event.address,\n event.connectorId,\n event.toolName,\n event.source,\n event.outcome,\n event.errorCode,\n event.friction,\n actor.kind,\n actor.id,\n actor.namespace,\n actor.label\n ].some((value) => String(value || \"\").toLowerCase().includes(query));\n });\n const uniqueTools = new Set(ACTIVITY.map((event) => event.address)).size;\n $(\"activitySummary\").textContent = ACTIVITY.length ? ACTIVITY.length + \" loaded call\" + (ACTIVITY.length === 1 ? \"\" : \"s\") + \" · \" + uniqueTools + \" tool\" + (uniqueTools === 1 ? \"\" : \"s\") + \" · no arguments or results stored\" : \"Arguments and results are never stored.\";\n if (visible.length === 0) {\n list.innerHTML = '<div class=\"activity-empty\">' + (query ? \"No loaded activity matches this search.\" : \"No connector tool calls recorded yet.\") + \"</div>\";\n }\n for (const event of visible) {\n const item = document.createElement(\"article\");\n const outcomeClass = [\n \"success\",\n \"error\",\n \"timeout\",\n \"cancelled\"\n ].includes(event.outcome) ? event.outcome : \"error\";\n item.className = \"activity-item \" + outcomeClass;\n const retryCopy = event.attempts > 1 ? \" · \" + esc(event.attempts) + \" attempts\" : \"\";\n const frictionCopy = event.friction ? \" · \" + esc(event.friction) : \"\";\n const errorCopy = event.errorCode && event.errorCode !== event.friction ? \" · \" + esc(event.errorCode) : \"\";\n const actorId = event.actor?.id ? event.actor.namespace ? event.actor.namespace + \" · \" + event.actor.id : event.actor.id : \"\";\n const stableActorId = actorId && (event.actor?.label || event.actor?.namespace) ? '<div class=\"activity-actor-id mono\">' + esc(actorId) + \"</div>\" : \"\";\n item.innerHTML = '<div class=\"activity-stamp\"><span class=\"dot ' + (outcomeClass === \"success\" ? \"ok\" : \"\") + '\" aria-hidden=\"true\"></span><div><time class=\"activity-time\" datetime=\"' + esc(event.occurredAt) + '\">' + esc(formatDate(event.occurredAt)) + '</time><div class=\"activity-actor\">' + esc(actorLabel(event.actor)) + \"</div>\" + stableActorId + '</div></div><div><div class=\"activity-address\">' + esc(event.address) + '</div><div class=\"activity-detail\">' + esc(event.source) + retryCopy + frictionCopy + errorCopy + '</div></div><div><div class=\"activity-outcome\">' + esc(event.outcome) + '</div><div class=\"activity-detail\">' + esc(event.durationMs) + \" ms</div></div>\";\n list.appendChild(item);\n }\n $(\"moreActivity\").classList.toggle(\"hidden\", !ACTIVITY_CURSOR);\n }\n async function loadActivity(reset) {\n if (!DATA?.activityEnabled) return;\n const sessionGeneration = SESSION_GENERATION;\n if (reset) ACTIVITY_GENERATION += 1;\n const activityGeneration = ACTIVITY_GENERATION;\n const isCurrent = () => sessionGeneration === SESSION_GENERATION && activityGeneration === ACTIVITY_GENERATION;\n $(\"activityNotice\").textContent = \"Loading activity…\";\n $(\"activityNotice\").setAttribute(\"role\", \"status\");\n $(\"activityList\").setAttribute(\"aria-busy\", \"true\");\n $(\"refreshActivity\").disabled = true;\n $(\"moreActivity\").disabled = true;\n try {\n const token = await sessionToken();\n if (!isCurrent()) return;\n if (!token) return showGate(\"Your session has expired.\");\n const cursor = reset ? null : ACTIVITY_CURSOR;\n const params = new URLSearchParams({ limit: \"50\" });\n if (cursor) params.set(\"cursor\", cursor);\n const res = await fetch(\"/ui/activity?\" + params, {\n headers: { Authorization: \"Bearer \" + token }\n });\n if (!isCurrent()) return;\n let payload = {};\n try {\n payload = await res.json();\n } catch {\n }\n if (!isCurrent()) return;\n if (res.status === 401) {\n return showGate(\"Your session was not accepted. Sign in again.\");\n }\n if (res.status === 403) {\n clearActivityState();\n $(\"activityNotice\").setAttribute(\"role\", \"alert\");\n $(\"activityNotice\").textContent = \"This identity may not read activity history.\";\n return;\n }\n if (!res.ok) {\n throw new Error(\n payload.error || \"Activity could not be loaded (\" + res.status + \").\"\n );\n }\n ACTIVITY = reset ? payload.events || [] : ACTIVITY.concat(payload.events || []);\n ACTIVITY_CURSOR = payload.nextCursor || null;\n ACTIVITY_LOADED = true;\n $(\"activityNotice\").textContent = \"\";\n renderActivity();\n } catch (error) {\n if (!isCurrent()) return;\n $(\"activityNotice\").setAttribute(\"role\", \"alert\");\n $(\"activityNotice\").textContent = errorMessage(\n error,\n \"Activity could not be loaded.\"\n );\n } finally {\n if (isCurrent()) {\n $(\"activityList\").setAttribute(\"aria-busy\", \"false\");\n $(\"refreshActivity\").disabled = false;\n $(\"moreActivity\").disabled = false;\n }\n }\n }\n function renderConnections() {\n const data = DATA;\n if (!data) return;\n const q = $(\"filter\").value.trim().toLowerCase();\n const list = $(\"list\");\n list.innerHTML = \"\";\n for (const filtered of filterUiConnectors(data.connectors, q)) {\n const c = filtered.connector;\n const tools = filtered.tools;\n const el = document.createElement(\"div\");\n el.className = \"card\";\n const status = c.status === \"ok\" ? \"Connected\" : c.status === \"auth_required\" ? \"Authorization needed\" : \"Unavailable\";\n let head = '<div class=\"connector-head\"><div><div class=\"connector-title\"><span class=\"dot ' + esc(c.status) + '\" aria-hidden=\"true\"></span><h2>' + esc(c.title || c.id) + \"</h2></div>\";\n if (c.description) {\n head += '<p class=\"connector-description meta\">' + esc(c.description) + \"</p>\";\n }\n head += '</div><div class=\"connector-state cap\">' + esc(status) + \" · \" + c.toolCount + (c.toolCount === 1 ? \" tool\" : \" tools\") + '<br><span class=\"mono\">' + esc(c.id) + \"</span></div></div>\";\n if (c.message) {\n head += '<p class=\"connector-message msg\">' + esc(c.message) + \"</p>\";\n }\n if (c.authorizationUrl) {\n const safe = safeHttp(c.authorizationUrl);\n head += safe ? '<p class=\"connector-auth\"><a class=\"linklike\" href=\"' + esc(safe) + '\" target=\"_blank\" rel=\"noopener\">Authorize connector →</a></p>' : '<p class=\"connector-auth meta\">Authorization URL: ' + esc(c.authorizationUrl) + \"</p>\";\n }\n if (c.oauth && data.oauthManagement) {\n const oauthName = c.title || c.id;\n head += '<div class=\"credential-actions\">';\n head += '<button type=\"button\" class=\"linklike danger\" aria-label=\"Disconnect OAuth for ' + esc(oauthName) + '\" data-oauth-action=\"disconnect\" data-connector=\"' + esc(c.id) + '\">Disconnect OAuth</button>';\n head += '<button type=\"button\" class=\"linklike\" aria-label=\"' + (c.status === \"ok\" ? \"Reconnect OAuth for \" : \"Restart authorization for \") + esc(oauthName) + '\" data-oauth-action=\"reconnect\" data-connector=\"' + esc(c.id) + '\">' + (c.status === \"ok\" ? \"Reconnect OAuth\" : \"Restart authorization\") + \"</button></div>\";\n }\n if (c.credential) {\n head += '<p class=\"connector-auth\"><a class=\"linklike\" href=\"/credentials\" data-operator-page=\"credentials\">Manage credential →</a></p>';\n }\n let body = \"\";\n if (tools.length) {\n body = \"<details\" + (q ? \" open\" : \"\") + '><summary class=\"linklike\">Show tools (' + tools.length + ')</summary><div class=\"tool-list\">';\n for (const t of tools) {\n body += '<div class=\"tool\"><code>' + esc(t.address) + \"</code>\";\n if (t.description) body += '<span class=\"td\">' + esc(t.description) + \"</span>\";\n body += \"</div>\";\n }\n body += \"</div></details>\";\n }\n el.innerHTML = head + body;\n list.appendChild(el);\n }\n if (!list.children.length) {\n list.innerHTML = '<p class=\"empty\">' + (q ? \"No connectors or tools match this filter.\" : \"No connectors are declared in this deployment.\") + \"</p>\";\n }\n }\n async function operatorRequest(path, method, generation, body) {\n const token = await sessionToken();\n if (generation !== SESSION_GENERATION) {\n throw new Error(\"The operator session changed.\");\n }\n if (!token) throw new Error(\"Your Clerk session has expired.\");\n const res = await fetch(path, {\n method,\n headers: {\n Authorization: \"Bearer \" + token,\n ...body ? { \"Content-Type\": \"application/json\" } : {}\n },\n ...body ? { body: JSON.stringify(body) } : {}\n });\n if (res.status === 204) return null;\n let payload = {};\n try {\n payload = await res.json();\n } catch {\n }\n if (!res.ok) throw new Error(payload.error || \"Request failed (\" + res.status + \").\");\n return payload;\n }\n function renderAccessTokens() {\n const list = $(\"tokenList\");\n list.innerHTML = \"\";\n if (!ACCESS_TOKENS.length) {\n list.innerHTML = '<p class=\"empty\">No access tokens yet. Name the first MCP client above.</p>';\n return;\n }\n for (const token of ACCESS_TOKENS) {\n const revoked = Boolean(token.revokedAt);\n const item = document.createElement(\"section\");\n item.className = \"token-card\" + (revoked ? \" revoked\" : \"\");\n item.setAttribute(\"aria-labelledby\", \"access-token-\" + token.id);\n item.innerHTML = '<div class=\"token-card-head\"><div><h2 id=\"access-token-' + esc(token.id) + '\">' + esc(token.name) + '</h2><p class=\"mono\">' + esc(token.tokenPrefix) + '…</p></div><div class=\"cap\">' + (revoked ? \"Revoked \" + esc(formatDate(token.revokedAt)) : \"Created \" + esc(formatDate(token.createdAt))) + '</div></div><div class=\"credential-actions\"><button class=\"linklike\" type=\"button\" data-token-action=\"rename\" data-token-id=\"' + esc(token.id) + '\">Rename</button>' + (revoked ? \"\" : '<button class=\"linklike danger\" type=\"button\" data-token-action=\"revoke\" data-token-id=\"' + esc(token.id) + '\">Revoke</button>') + '</div><form class=\"credential-form hidden\" data-token-form=\"' + esc(token.id) + '\"><label class=\"visually-hidden\" for=\"token-name-' + esc(token.id) + '\">Token name</label><input id=\"token-name-' + esc(token.id) + '\" type=\"text\" maxlength=\"80\" value=\"' + esc(token.name) + '\" autocomplete=\"off\"><button class=\"linklike\" type=\"submit\" data-token-action=\"save-name\" data-token-id=\"' + esc(token.id) + '\">Save name</button><button class=\"linklike\" type=\"button\" data-token-action=\"cancel-name\" data-token-id=\"' + esc(token.id) + '\">Cancel</button></form>';\n list.appendChild(item);\n }\n }\n async function loadAccessTokens() {\n const generation = SESSION_GENERATION;\n $(\"tokenList\").setAttribute(\"aria-busy\", \"true\");\n setTokenNotice(\"Loading access tokens…\");\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens\",\n \"GET\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n ACCESS_TOKENS = payload?.accessTokens || [];\n ACCESS_TOKENS_LOADED = true;\n setTokenNotice(\"\");\n renderAccessTokens();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access tokens could not be loaded.\"\n ), true);\n } finally {\n if (generation === SESSION_GENERATION) {\n $(\"tokenList\").setAttribute(\"aria-busy\", \"false\");\n }\n }\n }\n $(\"tokenCreateForm\").onsubmit = async (event) => {\n event.preventDefault();\n const name = $(\"tokenName\").value.trim();\n if (!name) {\n setTokenNotice(\"Name the MCP client before creating a token.\", true);\n return;\n }\n const generation = SESSION_GENERATION;\n $(\"createToken\").disabled = true;\n setTokenNotice(\"\");\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens\",\n \"POST\",\n generation,\n { name }\n );\n if (generation !== SESSION_GENERATION) return;\n if (!payload?.token || !payload.accessToken) {\n throw new Error(\"The created token was not returned.\");\n }\n ACCESS_TOKENS = [\n payload.accessToken,\n ...ACCESS_TOKENS.filter((token) => token.id !== payload.accessToken.id)\n ];\n ACCESS_TOKENS_LOADED = true;\n $(\"tokenName\").value = \"\";\n $(\"createdToken\").textContent = payload.token;\n $(\"tokenCreateForm\").classList.add(\"hidden\");\n $(\"tokenReveal\").classList.remove(\"hidden\");\n setTokenNotice(\"Access token created.\");\n renderAccessTokens();\n $(\"tokenRevealHeading\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be created.\"\n ), true);\n $(\"tokenNotice\").focus();\n } finally {\n if (generation === SESSION_GENERATION) $(\"createToken\").disabled = false;\n }\n };\n $(\"copyCreatedToken\").onclick = async () => {\n const button = $(\"copyCreatedToken\");\n const token = $(\"createdToken\").textContent || \"\";\n try {\n await navigator.clipboard.writeText(token);\n button.textContent = \"Copied\";\n } catch {\n button.textContent = \"Copy failed\";\n }\n window.setTimeout(() => {\n button.textContent = \"Copy token\";\n }, 1600);\n };\n $(\"dismissCreatedToken\").onclick = () => {\n clearCreatedAccessToken();\n $(\"tokenName\").focus();\n };\n $(\"tokenList\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-token-action]\"\n );\n if (!button) return;\n const id = button.dataset.tokenId;\n const action = button.dataset.tokenAction;\n if (!id || !action) return;\n const form = document.querySelector(\n '[data-token-form=\"' + CSS.escape(id) + '\"]'\n );\n if (!form) return;\n if (action === \"rename\") {\n form.classList.remove(\"hidden\");\n form.querySelector(\"input\")?.focus();\n return;\n }\n if (action === \"cancel-name\") {\n const current = ACCESS_TOKENS.find((token) => token.id === id);\n const input = form.querySelector(\"input\");\n if (input && current) input.value = current.name;\n form.classList.add(\"hidden\");\n return;\n }\n if (action !== \"revoke\") return;\n const named = ACCESS_TOKENS.find((token) => token.id === id);\n if (!window.confirm(\n \"Revoke \" + (named?.name || \"this access token\") + \"? Its MCP client will immediately lose access.\"\n )) return;\n const generation = SESSION_GENERATION;\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens/\" + encodeURIComponent(id),\n \"DELETE\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n if (payload?.accessToken) {\n ACCESS_TOKENS = ACCESS_TOKENS.map((token) => token.id === id ? payload.accessToken : token);\n }\n setTokenNotice(\"Access token revoked.\");\n renderAccessTokens();\n $(\"tokenNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be revoked.\"\n ), true);\n }\n };\n $(\"tokenList\").onsubmit = async (event) => {\n event.preventDefault();\n const form = closestElement(event.target, \"[data-token-form]\");\n if (!form) return;\n const id = form.dataset.tokenForm;\n const name = form.querySelector(\"input\")?.value.trim();\n if (!id || !name) return;\n const generation = SESSION_GENERATION;\n try {\n const payload = await operatorRequest(\n \"/ui/access-tokens/\" + encodeURIComponent(id),\n \"PUT\",\n generation,\n { name }\n );\n if (generation !== SESSION_GENERATION) return;\n if (payload?.accessToken) {\n ACCESS_TOKENS = ACCESS_TOKENS.map((token) => token.id === id ? payload.accessToken : token);\n }\n setTokenNotice(\"Access token renamed.\");\n renderAccessTokens();\n $(\"tokenNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setTokenNotice(errorMessage(\n error,\n \"Access token could not be renamed.\"\n ), true);\n }\n };\n $(\"list\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-oauth-action]\"\n );\n if (!button) return;\n const connector = button.dataset.connector;\n const action = button.dataset.oauthAction;\n if (!connector || action !== \"disconnect\" && action !== \"reconnect\") return;\n const generation = SESSION_GENERATION;\n const question = action === \"disconnect\" ? \"Disconnect OAuth for \" + connector + \"? Stored credentials and any pending authorization will be removed.\" : \"Restart OAuth for \" + connector + \"? Stored credentials and any pending authorization will be replaced.\";\n if (!window.confirm(question)) return;\n setOauthNotice(\"\");\n const buttons = [...document.querySelectorAll(\n '[data-connector=\"' + CSS.escape(connector) + '\"]'\n )];\n buttons.forEach((item) => {\n item.disabled = true;\n });\n try {\n const result = await operatorRequest(\n \"/ui/oauth/\" + encodeURIComponent(connector),\n action === \"disconnect\" ? \"DELETE\" : \"POST\",\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n await load();\n if (generation !== SESSION_GENERATION) return;\n setOauthNotice(\n action === \"disconnect\" ? \"OAuth disconnected. Restart authorization when you are ready to reconnect.\" : result?.message || \"Authorization restarted. Open the authorization link to reconnect.\"\n );\n $(\"oauthNotice\").focus();\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n try {\n await load();\n } catch {\n }\n if (generation !== SESSION_GENERATION) return;\n setOauthNotice(errorMessage(error, \"OAuth action failed.\"), true);\n $(\"oauthNotice\").focus();\n } finally {\n if (generation === SESSION_GENERATION) {\n buttons.forEach((item) => {\n item.disabled = false;\n });\n }\n }\n };\n function renderCredentials() {\n const data = DATA;\n if (!data) return;\n const list = $(\"credentialList\");\n list.innerHTML = \"\";\n if (data.credentialManagement !== \"available\") return;\n for (const c of data.connectors) {\n const cred = c.credential;\n if (!cred) continue;\n const configured = Boolean(cred.configured);\n const removable = configured || Boolean(cred.removable);\n const state = configured ? cred.fields?.length ? \"configured\" : \"configured · ••••\" + esc(cred.lastFour || \"\") : \"not configured\";\n const updated = configured && cred.updatedAt ? \" · updated \" + esc(formatDate(cred.updatedAt)) : \"\";\n const el = document.createElement(\"section\");\n el.className = \"credential-card\";\n el.id = \"credential-\" + c.id;\n el.setAttribute(\"aria-labelledby\", \"credential-title-\" + c.id);\n let body = '<div class=\"credential-head\"><div class=\"connector-title\"><span class=\"dot ' + (configured ? \"ok\" : \"auth_required\") + '\" aria-hidden=\"true\"></span><h2 id=\"credential-title-' + esc(c.id) + '\">' + esc(c.title || c.id) + '</h2></div><span class=\"credential-state\">' + state + updated + \"</span></div>\";\n body += '<p class=\"mono\">' + esc(c.id) + \" · \" + esc(cred.label) + \"</p>\";\n if (cred.description) {\n body += '<p class=\"credential-copy meta\">' + esc(cred.description) + \"</p>\";\n }\n if (cred.fields?.length) {\n body += '<div class=\"credential-field-summary\">';\n for (const field of cred.fields) {\n const fieldState = field.configured ? \"configured · ••••\" + esc(field.lastFour || \"\") + (field.updatedAt ? \" · updated \" + esc(formatDate(field.updatedAt)) : \"\") : \"not configured\";\n body += \"<div><span>\" + esc(field.label) + '</span><span class=\"meta\">' + fieldState + \"</span></div>\";\n }\n body += \"</div>\";\n }\n if (cred.error) body += '<div class=\"msg\">' + esc(cred.error) + \"</div>\";\n if (cred.notice) {\n body += '<p class=\"credential-copy meta\">' + esc(cred.notice) + \"</p>\";\n }\n body += '<div class=\"credential-actions\">';\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"edit\" data-connector=\"' + esc(c.id) + '\">' + (removable ? \"Replace\" : \"Add credential\") + \"</button>\";\n if (configured && cred.testable) {\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"test\" data-connector=\"' + esc(c.id) + '\">Test</button>';\n }\n if (removable) {\n body += '<button type=\"button\" class=\"linklike danger\" data-credential-action=\"remove\" data-connector=\"' + esc(c.id) + '\">Remove</button>';\n }\n body += \"</div>\";\n body += '<div class=\"credential-form hidden\" data-credential-form=\"' + esc(c.id) + '\">';\n if (cred.fields && cred.fields.length) {\n body += '<div class=\"credential-fields\">';\n for (const [index, field] of cred.fields.entries()) {\n const inputId = \"credential-input-\" + c.id + \"-\" + index;\n body += '<div class=\"credential-field\"><label for=\"' + esc(inputId) + '\">' + esc(field.label) + '</label><input id=\"' + esc(inputId) + '\" type=\"' + esc(field.inputType || \"password\") + '\" data-credential-field=\"' + esc(field.name) + '\" placeholder=\"' + esc(field.placeholder || field.label) + '\" autocomplete=\"' + (field.inputType === \"password\" ? \"new-password\" : \"off\") + '\" autocapitalize=\"none\" spellcheck=\"false\"></div>';\n }\n body += \"</div>\";\n } else {\n const inputId = \"credential-input-\" + c.id;\n body += '<label class=\"visually-hidden\" for=\"' + esc(inputId) + '\">' + esc(cred.label) + '</label><input id=\"' + esc(inputId) + '\" type=\"password\" data-credential-input=\"' + esc(c.id) + '\" aria-label=\"' + esc(cred.label) + '\" placeholder=\"' + esc(cred.placeholder || \"Paste credential\") + '\" autocomplete=\"new-password\" autocapitalize=\"none\" spellcheck=\"false\">';\n }\n body += '<button class=\"linklike\" type=\"button\" data-credential-action=\"save\" data-connector=\"' + esc(c.id) + '\">Save</button><button class=\"linklike\" type=\"button\" data-credential-action=\"cancel\" data-connector=\"' + esc(c.id) + '\">Cancel</button></div>';\n el.innerHTML = body;\n list.appendChild(el);\n }\n }\n async function credentialRequest(connector, method, action, body, generation) {\n const suffix = action ? \"/\" + action : \"\";\n return operatorRequest(\n \"/ui/credentials/\" + encodeURIComponent(connector) + suffix,\n method,\n generation,\n body ?? void 0\n );\n }\n function credentialForm(connector) {\n const form = document.querySelector(\n '[data-credential-form=\"' + CSS.escape(connector) + '\"]'\n );\n if (!form) throw new Error(\"Credential form is unavailable.\");\n return form;\n }\n $(\"credentialList\").onclick = async (event) => {\n const button = closestElement(\n event.target,\n \"[data-credential-action]\"\n );\n if (!button) return;\n const connector = button.dataset.connector;\n const action = button.dataset.credentialAction;\n if (!connector || !action) return;\n const form = credentialForm(connector);\n const generation = SESSION_GENERATION;\n if (action === \"edit\") {\n form.classList.remove(\"hidden\");\n form.querySelector(\"input\")?.focus();\n return;\n }\n if (action === \"cancel\") {\n form.querySelectorAll(\"input\").forEach((input) => {\n input.value = \"\";\n });\n form.classList.add(\"hidden\");\n document.querySelector(\n '[data-credential-action=\"edit\"][data-connector=\"' + CSS.escape(connector) + '\"]'\n )?.focus();\n return;\n }\n if (action === \"remove\" && !window.confirm(\n \"Remove this credential? The connector will stop authenticating until a replacement is added.\"\n )) return;\n setNotice(\"\");\n $(\"credentialList\").setAttribute(\"aria-busy\", \"true\");\n const buttons = [...document.querySelectorAll(\n '[data-connector=\"' + CSS.escape(connector) + '\"]'\n )];\n buttons.forEach((item) => {\n item.disabled = true;\n });\n try {\n if (action === \"save\") {\n const fieldInputs = [\n ...form.querySelectorAll(\"[data-credential-field]\")\n ];\n if (fieldInputs.length) {\n const values = {};\n for (const input of fieldInputs) {\n const value = input.value.trim();\n if (!value) throw new Error(\"Complete every credential field before saving.\");\n const field = input.dataset.credentialField;\n if (!field) throw new Error(\"Credential field is unnamed.\");\n values[field] = value;\n }\n await credentialRequest(connector, \"PUT\", \"\", { values }, generation);\n } else {\n const input = form.querySelector(\n \"[data-credential-input]\"\n );\n if (!input) throw new Error(\"Credential input is unavailable.\");\n const value = input.value.trim();\n if (!value) throw new Error(\"Paste a credential before saving.\");\n await credentialRequest(connector, \"PUT\", \"\", { value }, generation);\n }\n if (generation !== SESSION_GENERATION) return;\n form.querySelectorAll(\"input\").forEach((input) => {\n input.value = \"\";\n });\n setNotice(\"Credential saved.\");\n await load();\n if (generation !== SESSION_GENERATION) return;\n $(\"credentialNotice\").focus();\n } else if (action === \"remove\") {\n await credentialRequest(connector, \"DELETE\", \"\", null, generation);\n if (generation !== SESSION_GENERATION) return;\n setNotice(\"Credential removed.\");\n await load();\n if (generation !== SESSION_GENERATION) return;\n $(\"credentialNotice\").focus();\n } else if (action === \"test\") {\n const result = await credentialRequest(\n connector,\n \"POST\",\n \"test\",\n null,\n generation\n );\n if (generation !== SESSION_GENERATION) return;\n setNotice(\n result?.message || (result?.ok ? \"Credential is valid.\" : \"Credential test failed.\"),\n !result?.ok\n );\n }\n } catch (error) {\n if (generation !== SESSION_GENERATION) return;\n setNotice(errorMessage(error, \"Credential action failed.\"), true);\n } finally {\n if (generation === SESSION_GENERATION) {\n $(\"credentialList\").setAttribute(\"aria-busy\", \"false\");\n buttons.forEach((item) => {\n item.disabled = false;\n });\n }\n }\n };\n $(\"save\").onclick = async () => {\n const v = $(\"token\").value.trim();\n if (!v) return;\n clearIdentityState();\n localStorage.setItem(KEY, v);\n $(\"token\").value = \"\";\n await load();\n if (DATA) $(CURRENT_PAGE + \"Heading\").focus();\n };\n $(\"change\").onclick = () => {\n localStorage.removeItem(KEY);\n showGate(\"\");\n $(\"token\").focus();\n };\n $(\"copyMcpUrl\").onclick = async () => {\n const button = $(\"copyMcpUrl\");\n try {\n await navigator.clipboard.writeText(MCP_URL);\n button.textContent = \"Copied\";\n } catch {\n button.textContent = \"Copy failed\";\n }\n window.setTimeout(() => {\n button.textContent = \"Copy URL\";\n }, 1600);\n };\n $(\"signin\").onclick = () => Clerk.redirectToSignIn({\n signInFallbackRedirectUrl: window.location.href,\n signUpFallbackRedirectUrl: window.location.href\n });\n function signOut() {\n clearIdentityState();\n return Clerk.signOut({ redirectUrl: window.location.href });\n }\n $(\"gateSignout\").onclick = signOut;\n $(\"signout\").onclick = signOut;\n $(\"filter\").oninput = () => {\n if (DATA) renderConnections();\n };\n $(\"refreshActivity\").onclick = () => loadActivity(true);\n $(\"moreActivity\").onclick = () => loadActivity(false);\n $(\"activitySearch\").oninput = () => renderActivity();\n document.addEventListener(\"click\", (event) => {\n const link = closestElement(\n event.target,\n \"a[data-operator-page]\"\n );\n if (!link || event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n const target = new URL(link.href, window.location.href);\n if (target.origin !== window.location.origin) return;\n const page = link.dataset.operatorPage;\n if (page !== \"connections\" && page !== \"credentials\" && page !== \"tokens\" && page !== \"activity\") return;\n event.preventDefault();\n navigateTo(page, target.pathname + target.search + target.hash);\n });\n window.addEventListener(\"popstate\", () => {\n activatePage(pageForPath(window.location.pathname), { focus: true });\n });\n window.addEventListener(\"pagehide\", clearCreatedAccessToken);\n async function init() {\n if (AUTH.kind === \"clerk\") {\n $(\"clerkGate\").classList.remove(\"hidden\");\n $(\"signout\").classList.remove(\"hidden\");\n try {\n if (!window.Clerk) {\n return showGate(\"Clerk could not load. Check your network and try again.\");\n }\n await Clerk.load({\n ...AUTH.signInUrl ? { signInUrl: AUTH.signInUrl } : {},\n ...AUTH.signUpUrl ? { signUpUrl: AUTH.signUpUrl } : {},\n signInFallbackRedirectUrl: window.location.href,\n signUpFallbackRedirectUrl: window.location.href,\n afterSignOutUrl: window.location.href\n });\n CLERK_SESSION_ID = Clerk.session?.id ?? null;\n Clerk.addListener((resources) => {\n const nextSessionId = resources.session?.id ?? null;\n if (nextSessionId === CLERK_SESSION_ID) return;\n CLERK_SESSION_ID = nextSessionId;\n showGate(\"\");\n void load();\n });\n } catch (error) {\n return showGate(\n \"Clerk could not initialize: \" + errorMessage(error, \"unknown error\")\n );\n }\n } else {\n $(\"tokenGate\").classList.remove(\"hidden\");\n $(\"change\").classList.remove(\"hidden\");\n }\n activatePage(pageForPath(window.location.pathname));\n await load();\n }\n if (AUTH.kind === \"clerk\") {\n window.addEventListener(\"load\", init);\n } else {\n init();\n }\n})();\n";
|
|
5
5
|
//# sourceMappingURL=generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/operator-ui/generated.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,skXAAskX,CAAC;AACtmX,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/operator-ui/generated.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,skXAAskX,CAAC;AACtmX,MAAM,CAAC,MAAM,kBAAkB,GAAG,ow2CAAow2C,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { Connector, ConnectorContext, ConnectorStatus, KVStorage, Logger, ToolDef } from "./types.js";
|
|
2
2
|
import { type CredentialVault } from "./credentials.js";
|
|
3
3
|
import { type CallAdmissionPermit, type ConnectorCallAdmissionSnapshot } from "./call-admission.js";
|
|
4
|
+
/**
|
|
5
|
+
* Split `"<connectorId>.<toolName>"` on the first dot. Connector ids contain
|
|
6
|
+
* no dots, so a downstream tool name may. Exported because an address that
|
|
7
|
+
* resolves to nothing is still an address the invocation path has to record
|
|
8
|
+
* activity for — a connector id an agent invented is the most common address
|
|
9
|
+
* mistake, and the one an operator most needs to see.
|
|
10
|
+
*/
|
|
11
|
+
export declare function splitAddress(address: string): {
|
|
12
|
+
connectorId: string;
|
|
13
|
+
toolName: string;
|
|
14
|
+
} | null;
|
|
4
15
|
/**
|
|
5
16
|
* Smallest accepted inline-result cap. One byte is pathological but harmless:
|
|
6
17
|
* `alignEndToCharBoundary` widens a window narrower than the codepoint at the
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,MAAM,EACN,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACpC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.js
CHANGED
|
@@ -14,9 +14,12 @@ const encoder = new TextEncoder();
|
|
|
14
14
|
const DEFAULT_MAX_BATCH_RESULT_BYTES = 100_000;
|
|
15
15
|
/**
|
|
16
16
|
* Split `"<connectorId>.<toolName>"` on the first dot. Connector ids contain
|
|
17
|
-
* no dots, so a downstream tool name may.
|
|
17
|
+
* no dots, so a downstream tool name may. Exported because an address that
|
|
18
|
+
* resolves to nothing is still an address the invocation path has to record
|
|
19
|
+
* activity for — a connector id an agent invented is the most common address
|
|
20
|
+
* mistake, and the one an operator most needs to see.
|
|
18
21
|
*/
|
|
19
|
-
function splitAddress(address) {
|
|
22
|
+
export function splitAddress(address) {
|
|
20
23
|
const dot = address.indexOf(".");
|
|
21
24
|
if (dot <= 0 || dot === address.length - 1)
|
|
22
25
|
return null;
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,gCAAgC,GAGjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,KAAK,GAAG,eAAe,CAAC;AAC9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,4DAA4D;AAC5D,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAE/C;;;GAGG;AACH,SAAS,YAAY,CACnB,OAAe;IAEf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAClC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,oBAAoB,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAyB,EACzB,SAAiB;IAEjB,OAAO,KAAK,KAAK,SAAS,IAAI,qBAAqB,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAqCD,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAUvC;;GAEG;AACH,MAAM,SAAS;IACI,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IAErE,aAAa,CAAC,EAAU,EAAE,SAAiB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAsB;YACrC,GAAG,QAAQ;YACX,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,CAAC;SACvB,CAAC;QACF,OAAO,WAAW,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,SAAiB,EAAE,KAAc;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;YACxB,GAAG,QAAQ;YACX,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACvC,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,CAAC,GAAG,CAAC;YAC7D,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;CACF;AAsBD,SAAS,UAAU,CAAC,OAAkB,EAAE,MAAc;IACpD,OAAO;QACL,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,GAAY;IACvB,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAmED;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IA6BA;IA5BF,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAGrC,CAAC;IACa,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtC,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,iFAAiF;IAChE,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChE,6EAA6E;IAC5D,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrE,+EAA+E;IAC9D,mBAAmB,GAAG,IAAI,OAAO,EAG/C,CAAC;IACJ,wEAAwE;IACvD,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IACzB,KAAK,CAAS;IACd,OAAO,CAAS;IAChB,kBAAkB,CAAU;IAC7C,wDAAwD;IAC/C,cAAc,CAAS;IAChC,2DAA2D;IAClD,mBAAmB,CAAS;IAErC,YACE,UAAuB,EACN,IAAqB;QAArB,SAAI,GAAJ,IAAI,CAAiB;QAEtC,IAAI,CAAC,KAAK;YACR,CAAC,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,OAAO;YACV,CAAC,IAAI,CAAC,uBAAuB,IAAI,qBAAqB,CAAC,GAAG,IAAI,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,qBAAqB,CACzC,IAAI,CAAC,cAAc,EACnB,wBAAwB,CACzB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAC9C,IAAI,CAAC,mBAAmB,EACxB,8BAA8B,CAC/B,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,yBAAyB,CAAC,CAAC,EAAE,iBAAiB,KAAK,CAAC,MAAM,EAAE,CAC7D,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,EACJ,IAAI,gCAAgC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,CACzB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CACrB,MAAc,EACd,UAA8B,EAC9B,eAAmC;QAEnC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CACT,mCAAmC,UAAU,4BAA4B;gBACvE,YAAY,oBAAoB,6BAA6B;gBAC7D,kEAAkE;gBAClE,WAAW,wBAAwB,WAAW,CACjD,CAAC;QACJ,CAAC;QACD,IACE,eAAe,KAAK,SAAS;YAC7B,CAAC,qBAAqB,CAAC,eAAe,CAAC,EACvC,CAAC;YACD,MAAM,CAAC,IAAI,CACT,wCAAwC,eAAe,kBAAkB;gBACvE,sBAAsB,oBAAoB,6BAA6B;gBACvE,gEAAgE;gBAChE,WAAW,8BAA8B,WAAW,CACvD,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IACE,CAAC,CAAC,cAAc,KAAK,SAAS;gBAC9B,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,EACxC,CAAC;gBACD,kEAAkE;gBAClE,sEAAsE;gBACtE,qEAAqE;gBACrE,iEAAiE;gBACjE,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC,CAAC,EAAE,wBAAwB;oBACnD,GAAG,CAAC,CAAC,cAAc,4CAA4C;oBAC/D,GAAG,oBAAoB,0CAA0C;oBACjE,sDAAsD;oBACtD,IAAI,IAAI,CAAC,cAAc,IAAI,CAC9B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,MAAc;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,yBAAyB,CAAC,CAAC,EAAE,+EAA+E,CAC7G,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CACT,oBAAoB,OAAO,oGAAoG,CAChI,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CACT,oBAAoB,OAAO,sGAAsG,CAClI,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CACR,EAAU,EACV,OAAe,EACf,eAAuB,EAAE,EACzB,cAAyC,EAAE;QAE3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC;QAC7D,IAAI,gBAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YACxC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC9D,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,gBAAgB,GAAG;gBACjB,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,CAC7B,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI;gBACvC,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YACxB,OAAO;YACP,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,YAAY;YACZ,GAAG,WAAW;SACf,CAAC;IACJ,CAAC;IAED,SAAS,CACP,EAAU,EACV,KAAgE;QAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,iEAAiE;IACjE,qBAAqB;QACnB,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;YAC/C,EAAE;YACF,SAAS,CAAC,QAAQ,EAAE;SACrB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,kBAAkB;QAChB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,kEAAkE;IAClE,cAAc,CACZ,OAAe;QAEf,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjD,CAAC;IAEO,UAAU,CAAC,EAAU;QAC3B,OAAO,WAAW,EAAE,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe,CAAC,EAAU,EAAE,QAAgB,EAAE,KAAa;QACjE,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,QAAQ,IAAI,KAAK,EAAE,CAAC;IAC7D,CAAC;IAEO,kBAAkB,CAAC,KAAc;QACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,OAAO,GAAG,KAAwC,CAAC;QACzD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7B,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;YACrC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;YACrC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;YACtC,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;gBAChC,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC;YAC1C,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EACtC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAiC,CAAC;IAC3C,CAAC;IAEO,iBAAiB,CAAC,KAAgB;QACxC,OAAO,KAAK,CAAC,KAAK,CAChB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,KAAK,IAAI;YACb,OAAO,IAAI,KAAK,QAAQ;YACxB,OAAQ,IAAgB,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,KAAc;QAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,QAAQ,GAAG,KAA0C,CAAC;QAC5D,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,CAAC,4BAA4B,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACxE,IACE,QAAQ,CAAC,OAAO,KAAK,CAAC;YACtB,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YACrC,CAAC,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3D,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrC,QAAQ,CAAC,SAAU,GAAG,CAAC;YACvB,QAAQ,CAAC,SAAU,GAAG,iBAAiB;YACvC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrC,QAAQ,CAAC,SAAU,GAAG,CAAC;YACvB,QAAQ,CAAC,SAAU,GAAG,4BAA4B;YAClD,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,QAAQ,CAAC,SAAS,GAAG,CAAC;YAC9D,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;YACtC,QAAQ,CAAC,UAAW,GAAG,CAAC;YACxB,QAAQ,CAAC,UAAW,GAAG,SAAS;YAChC,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;YACtC,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;YACtC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,EACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,QAAoC,CAAC;IAC9C,CAAC;IAEO,oBAAoB,CAC1B,GAAkB;QAElB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAyB;QAClD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAChB,MAAM,GAAG,uBAAuB,EAChC,QAAQ,CAAC,eAAe,CAAC,UAAU,CACpC,CAAC;YACF,wEAAwE;YACxE,0EAA0E;YAC1E,OACE,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU;gBACzC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,EACtD,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAC/D,CAAC;YACF,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,EAAU,EACV,GAAkB,EAClB,GAAW;QAEX,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,CAAC,MAAM;YACP,OAAO,MAAM,KAAK,QAAQ;YACzB,MAAgC,CAAC,OAAO,KAAK,CAAC,EAC/C,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrD,IACE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,iBAAiB;gBACvC,QAAQ,CAAC,eAAe,CAAC,UAAU,GAAG,4BAA4B;gBAClE,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;oBAC/B,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC,EAC9C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,0FAA0F,CACtH,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,4DAA4D,CACxF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAChD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAChE,4BAA4B,EAC5B,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CACnB,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CACnD,CACJ,CAAC;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,mBAAmB,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,0CAA0C,CACzH,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;YACpD,UAAU,IAAI,UAAU,CAAC;YACzB,IACE,UAAU,GAAG,uBAAuB;gBACpC,UAAU,GAAG,QAAQ,CAAC,SAAS,EAC/B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,+EAA+E,CAC3G,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,eAAe,CAAC,CAAC;QACnE,IACE,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,SAAS;YACxC,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,QAAQ,EACxC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,6DAA6D,CACzF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,wDAAwD,CACpF,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,qEAAqE,CACjG,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,+EAA+E,CAC3G,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,KAAK;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,EAAU,EACV,QAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,EAAE,EACF,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAC9C,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,yBAAyB,CACjD,MAAM,EACN,4BAA4B,EAC5B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CACnB,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,EACrD,KAAK,EACL,EAAE,UAAU,EAAE,UAAU,GAAG,+BAA+B,EAAE,CAC7D,CACJ,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC;QACxD,CAAC;QACD,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,QAAQ,GAA6B;YACzC,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,QAAQ,CAAC,WAAW;YAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAChC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU;YAC9C,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,SAAS;YACT,SAAS;YACT,UAAU;SACX,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACzE,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU;QACpC,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,SAAkB,CAAC;QACvB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChD,mEAAmE;QACnE,6DAA6D;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,SAAS;gBAAE,MAAM,SAAS,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,UAAmB,CAAC;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAC5B,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CACnD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,KAAK,GAAG,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,SAAS;YAAE,MAAM,SAAS,CAAC;QAC/B,IAAI,UAAU;YAAE,MAAM,UAAU,CAAC;IACnC,CAAC;IAEO,iBAAiB,CAAC,EAAU;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,wBAAwB,CAAC,EAAU;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,EAAU,EACV,SAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,IAAI;aACN,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,OAAe,EACf,YAAqB,EACrB,cAAyC,EAAE;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC,WAAW,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,SAAS,CACrC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CACxD,CAAC;QACF,qEAAqE;QACrE,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACrC,MAAM,OAAO,GACX,cAAc,EAAE,cAAc,KAAK,CAAC,MAAM,mBAAmB;gBAC7D,GAAG,iBAAiB,uDAAuD,CAAC;YAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,GAAG,4BAA4B,EAAE,CAAC;YACvE,MAAM,OAAO,GACX,cAAc,EAAE,gBAAgB,QAAQ,CAAC,eAAe,CAAC,UAAU,QAAQ;gBAC3E,gCAAgC,4BAA4B,iBAAiB;gBAC7E,gCAAgC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,cAAc,GAClB,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC;QAC7D,MAAM,aAAa,GACjB,cAAc;YACd,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;YACjB,KAAK;YACL,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK;YACrB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC/C,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAAE,OAAO;gBACtD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,iCAAiC,GAAG,CAAC,GAAG,CAAC,EAAE,CACvE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,SAAS,CACrB,EAAU,EACV,OAAe,EACf,YAAqB,EACrB,cAAyC,EAAE;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC,WAAW,CAAC;QAExD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC;QAE3C,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,SAAS,GAA4B,IAAI,CAAC;YAC9C,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAChC,EAAE,EACF,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAChD,GAAG,CACJ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,0BAA0B,GAAG,CAAC,GAAG,CAAC,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9C,SAAS,GAAG,IAAI,CAAC;gBACjB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YACD,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE;oBACjB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,GAAG,EAAE,SAAS,CAAC,SAAS;oBACxB,UAAU,EAAE,SAAS,CAAC,UAAU;iBACjC,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,SAAS,GAAG,GAAG;oBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;gBACtD,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,KAAK;gBACL,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChD,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EACzB,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,oDAAoD,GAAG,CAAC,GAAG,CAAC,EAAE,CAC1F,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CACZ,EAAU,EACV,OAAe,EACf,YAAqB,EACrB,cAAyC,EAAE;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACvE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,SAAS,CAAC,EAAU;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,SAAS,EAAE,WAAW;YAAE,OAAO,SAAS,CAAC,WAAW,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,SAAiB;QACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,SAAiB,EAAE,KAAc;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,kEAAkE;IAClE,kBAAkB,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;IAClD,CAAC;IAED,iDAAiD;IACjD,iBAAiB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,mCAAmC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC3E,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,SAAS,CACb,EAAU,EACV,OAAe,EACf,eAAuB,EAAE,EACzB,cAAyC,EAAE;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YAC5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,EAAU;QACnC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAEO,mBAAmB,CAAC,EAAU;QACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,yBAAyB,EAAE,kCAAkC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,kBAAkB;YAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,kBAAkB;YAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,gBAAgB;;;;CAK5B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,gBAAgB;;;;CAK5B,CAAC;AAkQF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,GAClB,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2FrD"}
|
package/dist/routes/mcp.js
CHANGED
|
@@ -206,6 +206,15 @@ async function serveMcp(request, opts, baseUrl, actor, registry, runtimeContext)
|
|
|
206
206
|
...(opts.discoveryConcurrency !== undefined
|
|
207
207
|
? { discoveryConcurrency: opts.discoveryConcurrency }
|
|
208
208
|
: {}),
|
|
209
|
+
...(opts.probeTimeoutMs !== undefined
|
|
210
|
+
? { probeTimeoutMs: opts.probeTimeoutMs }
|
|
211
|
+
: {}),
|
|
212
|
+
...(opts.maxEmittedBytes !== undefined
|
|
213
|
+
? { maxEmittedBytes: opts.maxEmittedBytes }
|
|
214
|
+
: {}),
|
|
215
|
+
...(opts.maxEmittedBlocks !== undefined
|
|
216
|
+
? { maxEmittedBlocks: opts.maxEmittedBlocks }
|
|
217
|
+
: {}),
|
|
209
218
|
});
|
|
210
219
|
}
|
|
211
220
|
return server;
|
package/dist/routes/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/shared.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export interface ServerOptions {
|
|
|
22
22
|
probeTimeoutMs?: number;
|
|
23
23
|
/** Maximum simultaneous connector discovery operations. Default 4. */
|
|
24
24
|
discoveryConcurrency?: number;
|
|
25
|
+
/** Aggregate serialized-byte budget for connecta.emit per run. Default 4_000_000. */
|
|
26
|
+
maxEmittedBytes?: number;
|
|
27
|
+
/** Block-count budget for connecta.emit per run. Default 32. */
|
|
28
|
+
maxEmittedBlocks?: number;
|
|
25
29
|
/** When set, the execute_code meta-tool is registered on top of the base surface. */
|
|
26
30
|
executor?: Executor;
|
|
27
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/routes/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/routes/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/routes/shared.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/routes/shared.ts"],"names":[],"mappings":"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"}
|