@humain/terminal 0.0.6 → 0.0.7
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 +52 -0
- package/README.md +10 -4
- package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
- package/dist/bundle/chunks/anthropic.js +75 -0
- package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
- package/dist/bundle/chunks/chunk-3D3G2X5U.js +6 -0
- package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
- package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
- package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
- package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
- package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
- package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
- package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
- package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
- package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
- package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
- package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
- package/dist/bundle/chunks/chunk-HNVPY4LZ.js +5995 -0
- package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
- package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
- package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
- package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
- package/dist/bundle/chunks/chunk-M2GYSCCG.js +44 -0
- package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
- package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
- package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
- package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
- package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
- package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
- package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
- package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
- package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
- package/dist/bundle/chunks/dist-7DSXV2TY.js +9 -0
- package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
- package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
- package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
- package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
- package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
- package/dist/bundle/chunks/github-copilot.js +2 -0
- package/dist/bundle/chunks/google-generative-ai-XT7NQJ2E.js +2 -0
- package/dist/bundle/chunks/google-vertex-IDQ6Z53W.js +2 -0
- package/dist/bundle/chunks/image-resize-worker.js +2 -0
- package/dist/bundle/chunks/kimi-coding.js +2 -0
- package/dist/bundle/chunks/mistral-conversations-HHDZ4FHR.js +5 -0
- package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
- package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
- package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
- package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
- package/dist/bundle/chunks/openai-codex.js +75 -0
- package/dist/bundle/chunks/openai-completions-6QBYTBXY.js +7 -0
- package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
- package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
- package/dist/bundle/chunks/openrouter.js +75 -0
- package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
- package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
- package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
- package/dist/bundle/chunks/radius.js +75 -0
- package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
- package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
- package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
- package/dist/bundle/chunks/xai.js +2 -0
- package/dist/bundle/cli.js +3 -0
- package/dist/bundle/client.js +2 -0
- package/dist/bundle/index.js +2 -0
- package/dist/bundle/rpc-entry.js +3 -0
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +29 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -11
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +50 -14
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +163 -95
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +6 -7
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -2
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +115 -48
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +38 -9
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +3 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +1 -1
- package/dist/core/footer-data-provider.js +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/keybindings.d.ts +20 -19
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +26 -5
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-config.d.ts +5 -0
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +3 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +14 -8
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +22 -14
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +3 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +10 -3
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +4 -0
- package/dist/core/session-export.d.ts.map +1 -0
- package/dist/core/session-export.js +32 -0
- package/dist/core/session-export.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +9 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +51 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +11 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +16 -3
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +62 -29
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +0 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +2 -5
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +20 -4
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/index.d.ts +4 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +19 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/powershell.d.ts +16 -0
- package/dist/core/tools/powershell.d.ts.map +1 -0
- package/dist/core/tools/powershell.js +39 -0
- package/dist/core/tools/powershell.js.map +1 -0
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +4 -1
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/humain/agent-execution-protocol.d.ts +1 -217
- package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
- package/dist/humain/agent-execution-protocol.js +1 -203
- package/dist/humain/agent-execution-protocol.js.map +1 -1
- package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
- package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/dist/humain/mcp-adapter/vendor/README.md +47 -15
- package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
- package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
- package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
- package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
- package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
- package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
- package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
- package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
- package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
- package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
- package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
- package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
- package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
- package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
- package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
- package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
- package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
- package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
- package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
- package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
- package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
- package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
- package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
- package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
- package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
- package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
- package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
- package/dist/humain/mcp-adapter/vendor/package.json +26 -8
- package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
- package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
- package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
- package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
- package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
- package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
- package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
- package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
- package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
- package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
- package/dist/humain/mcp-adapter.d.ts.map +1 -1
- package/dist/humain/mcp-adapter.js +4 -0
- package/dist/humain/mcp-adapter.js.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
- package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
- package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
- package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/credential-source.js +3 -1
- package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-page.js +10 -1
- package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
- package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/curator-server.js +4 -0
- package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
- package/dist/humain/web-access/vendor/extract.d.ts +11 -0
- package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/extract.js +163 -20
- package/dist/humain/web-access/vendor/extract.js.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
- package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/fetch-params.js +11 -0
- package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
- package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
- package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
- package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
- package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-api.js +51 -15
- package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
- package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-search.js +63 -21
- package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
- package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
- package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
- package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
- package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/gemini-web.js +8 -3
- package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
- package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-api.js +6 -4
- package/dist/humain/web-access/vendor/github-api.js.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/github-extract.js +50 -3
- package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
- package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
- package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
- package/dist/humain/web-access/vendor/index.d.ts +3 -31
- package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/index.js +643 -530
- package/dist/humain/web-access/vendor/index.js.map +1 -1
- package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
- package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/kimi-search.js +228 -0
- package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
- package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/openai-search.js +89 -16
- package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
- package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/page-query.js +56 -8
- package/dist/humain/web-access/vendor/page-query.js.map +1 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
- package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
- package/dist/humain/web-access/vendor/utils.d.ts +12 -0
- package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
- package/dist/humain/web-access/vendor/utils.js +343 -1
- package/dist/humain/web-access/vendor/utils.js.map +1 -1
- package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
- package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
- package/dist/humain/web-access/vendor/xcrawl.js +251 -0
- package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
- package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
- package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -14
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +53 -10
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +118 -55
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +151 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +68 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +11 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +176 -106
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/session-share.d.ts +16 -0
- package/dist/modes/interactive/session-share.d.ts.map +1 -0
- package/dist/modes/interactive/session-share.js +188 -0
- package/dist/modes/interactive/session-share.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +6 -5
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +3 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +2 -7
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts +1 -0
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +189 -3
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/utils/changelog.d.ts +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +12 -2
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +3 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -5
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +1 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +64 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/version-check.js +4 -4
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +15 -0
- package/docs/custom-provider.md +5 -2
- package/docs/environment-variables.md +7 -7
- package/docs/extensions.md +17 -7
- package/docs/json.md +7 -2
- package/docs/keybindings.md +8 -8
- package/docs/llama-cpp.md +2 -0
- package/docs/models.md +8 -2
- package/docs/packages.md +2 -2
- package/docs/rpc.md +9 -3
- package/docs/sdk.md +7 -2
- package/docs/settings.md +11 -3
- package/docs/skills.md +3 -2
- package/docs/terminal-setup.md +8 -0
- package/docs/usage.md +10 -7
- package/docs/windows.md +15 -1
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/sandbox/package-lock.json +14 -40
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +293 -221
- package/package.json +21 -18
- package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
- package/src/humain/mcp-adapter/upstream.json +4 -3
- package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
- package/src/humain/web-access/UPSTREAM.md +1 -1
- package/src/humain/web-access/upstream.json +6 -4
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/** Versioned shared-event-bus channel for read-only MCP runtime snapshots. */
|
|
2
|
+
export const MCP_STATUS_EVENT = "pi-mcp-adapter/status/v1";
|
|
3
|
+
export const MCP_STATUS_SNAPSHOT_VERSION = 1;
|
|
4
|
+
// Re-export stream types from the shared lightweight module.
|
|
5
|
+
// This allows the example package to import stream schemas without pulling the full types.ts dependency graph.
|
|
6
|
+
export { UI_STREAM_HOST_CONTEXT_KEY, UI_STREAM_REQUEST_META_KEY, UI_STREAM_RESULT_PATCH_METHOD, SERVER_STREAM_RESULT_PATCH_METHOD, UI_STREAM_STRUCTURED_CONTENT_KEY, uiStreamModeSchema, visualizationStreamPhaseSchema, visualizationStreamFrameTypeSchema, visualizationStreamStatusSchema, uiStreamHostContextSchema, visualizationStreamEnvelopeSchema, uiStreamCallToolResultSchema, uiStreamResultPatchNotificationSchema, serverStreamResultPatchNotificationSchema, getUiStreamHostContext, getVisualizationStreamEnvelope, } from "./ui-stream-types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Extract prompt text from either legacy MCP UI message shapes or native AppBridge user messages.
|
|
9
|
+
*/
|
|
10
|
+
export function extractUiPromptText(params) {
|
|
11
|
+
if (params.type === "prompt" || params.prompt) {
|
|
12
|
+
const prompt = params.prompt ?? String(params.message ?? "");
|
|
13
|
+
return prompt || undefined;
|
|
14
|
+
}
|
|
15
|
+
if (params.role === "user" && Array.isArray(params.content)) {
|
|
16
|
+
const text = params.content
|
|
17
|
+
.map((block) => (block && typeof block === "object" && "text" in block ? String(block.text ?? "") : ""))
|
|
18
|
+
.filter(Boolean)
|
|
19
|
+
.join("\n\n");
|
|
20
|
+
return text || undefined;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a canonical named UI handoff encoded as `intent\n{json}`.
|
|
26
|
+
*/
|
|
27
|
+
export function parseUiPromptHandoff(prompt) {
|
|
28
|
+
const newlineIndex = prompt.indexOf("\n");
|
|
29
|
+
if (newlineIndex <= 0) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const intent = prompt.slice(0, newlineIndex).trim();
|
|
33
|
+
const payloadText = prompt.slice(newlineIndex + 1).trim();
|
|
34
|
+
if (!intent || !payloadText) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
if (!/^[A-Za-z][A-Za-z0-9_-]*$/.test(intent)) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse(payloadText);
|
|
42
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
intent,
|
|
47
|
+
params: parsed,
|
|
48
|
+
raw: prompt,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function createUiModelContextUpdate(params, maxChars = 12_000) {
|
|
56
|
+
const payload = Object.fromEntries(Object.entries(params).filter(([, value]) => value !== undefined));
|
|
57
|
+
if (Object.keys(payload).length === 0)
|
|
58
|
+
return undefined;
|
|
59
|
+
const serialized = JSON.stringify(payload);
|
|
60
|
+
if (serialized.length <= maxChars) {
|
|
61
|
+
return { payload, summary: serialized, truncated: false };
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
summary: `${serialized.slice(0, Math.max(0, maxChars - 1))}…`,
|
|
65
|
+
truncated: true,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** Only the literal boolean `true` disables a server. */
|
|
69
|
+
export function isServerDisabled(definition) {
|
|
70
|
+
return definition?.disabled === true;
|
|
71
|
+
}
|
|
72
|
+
export const MCP_TOOL_APPROVAL_REQUEST_EVENT = "pi-mcp-adapter:tool-approval-request";
|
|
73
|
+
/**
|
|
74
|
+
* Get server prefix based on tool prefix mode.
|
|
75
|
+
*/
|
|
76
|
+
function sanitizeServerPrefix(serverName, preserveProviderValid = true) {
|
|
77
|
+
const validCharacters = preserveProviderValid ? /^[A-Za-z0-9_-]$/ : /^[A-Za-z0-9]$/;
|
|
78
|
+
return Array.from(serverName, char => validCharacters.test(char) ? char : `_${char.codePointAt(0).toString(16)}_`).join("");
|
|
79
|
+
}
|
|
80
|
+
export function getServerPrefix(serverName, mode) {
|
|
81
|
+
if (mode === "none")
|
|
82
|
+
return "";
|
|
83
|
+
if (mode === "short") {
|
|
84
|
+
let short = sanitizeServerPrefix(serverName.replace(/-?mcp$/i, ""));
|
|
85
|
+
if (!short)
|
|
86
|
+
short = "mcp";
|
|
87
|
+
return short;
|
|
88
|
+
}
|
|
89
|
+
if (mode === "mcp")
|
|
90
|
+
return `mcp__${sanitizeServerPrefix(serverName)}`;
|
|
91
|
+
return sanitizeServerPrefix(serverName);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Format a tool name with server prefix.
|
|
95
|
+
*/
|
|
96
|
+
export function formatToolName(toolName, serverName, prefix) {
|
|
97
|
+
const p = getServerPrefix(serverName, prefix);
|
|
98
|
+
const sanitized = toolName.replace(/\./g, "_");
|
|
99
|
+
return p ? `${p}_${sanitized}` : sanitized;
|
|
100
|
+
}
|
|
101
|
+
export function resolveToolPrefix(definition, globalPrefix) {
|
|
102
|
+
return definition?.toolPrefix ?? globalPrefix ?? "server";
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Resolve a configured MCP server name from a prefixed tool name.
|
|
106
|
+
*
|
|
107
|
+
* When the proxy tool is addressed with a fully-qualified name such as
|
|
108
|
+
* `searxng_searxng_web_search`, downstream policy systems (for example a
|
|
109
|
+
* permission gate) need to recover the owning server so they can evaluate
|
|
110
|
+
* server-scoped rules against the bare server name. This performs the inverse
|
|
111
|
+
* of {@link getServerPrefix}: it finds the longest configured server prefix
|
|
112
|
+
* that the tool name starts with and returns that server's name.
|
|
113
|
+
*
|
|
114
|
+
* @param toolName - the tool name as passed to the proxy `mcp({ tool })` call.
|
|
115
|
+
* @param serverNames - the configured MCP server names (keys of `mcpServers`).
|
|
116
|
+
* @param prefix - the active tool-prefix mode.
|
|
117
|
+
* @returns the resolved server name, or `undefined` when no prefix matches or
|
|
118
|
+
* the prefix mode is `"none"`.
|
|
119
|
+
*/
|
|
120
|
+
export function resolveServerFromToolName(toolName, serverNames, prefix) {
|
|
121
|
+
if (prefix === "none")
|
|
122
|
+
return undefined;
|
|
123
|
+
const candidates = [];
|
|
124
|
+
for (const name of serverNames) {
|
|
125
|
+
const p = getServerPrefix(name, prefix);
|
|
126
|
+
if (p && toolName.startsWith(p + "_"))
|
|
127
|
+
candidates.push({ name, prefix: p });
|
|
128
|
+
}
|
|
129
|
+
if (candidates.length === 0)
|
|
130
|
+
return undefined;
|
|
131
|
+
candidates.sort((a, b) => b.prefix.length - a.prefix.length);
|
|
132
|
+
const best = candidates[0];
|
|
133
|
+
// Fail safe: short mode can intentionally map names such as foo and foo-mcp
|
|
134
|
+
// to the same prefix. Return undefined so a downstream permission gate uses
|
|
135
|
+
// its existing wildcard path rather than enforcing a rule against the wrong server.
|
|
136
|
+
if (candidates.some((c) => c.prefix === best.prefix && c.name !== best.name)) {
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
return best?.name;
|
|
140
|
+
}
|
|
141
|
+
export function sanitizePromptName(name) {
|
|
142
|
+
const cleaned = name.replace(/[^A-Za-z0-9_-]+/g, "_").replace(/^[_-]+|[_-]+$/g, "");
|
|
143
|
+
if (!cleaned)
|
|
144
|
+
return "prompt";
|
|
145
|
+
return /^[0-9]/.test(cleaned) ? `_${cleaned}` : cleaned;
|
|
146
|
+
}
|
|
147
|
+
export function formatPromptCommandName(promptName, serverName, prefix) {
|
|
148
|
+
const serverPart = getServerPrefix(serverName, prefix) || sanitizeServerPrefix(serverName) || "server";
|
|
149
|
+
return `mcp__${serverPart}__${sanitizePromptName(promptName)}`;
|
|
150
|
+
}
|
|
151
|
+
function getLegacyServerPrefix(serverName, mode) {
|
|
152
|
+
if (mode === "none")
|
|
153
|
+
return "";
|
|
154
|
+
if (mode === "short")
|
|
155
|
+
return sanitizeServerPrefix(serverName.replace(/-?mcp$/i, ""), false) || "mcp";
|
|
156
|
+
if (mode === "mcp")
|
|
157
|
+
return `mcp__${sanitizeServerPrefix(serverName, false)}`;
|
|
158
|
+
return sanitizeServerPrefix(serverName, false);
|
|
159
|
+
}
|
|
160
|
+
function formatLegacyToolName(toolName, serverName, prefix) {
|
|
161
|
+
const serverPrefix = getLegacyServerPrefix(serverName, prefix);
|
|
162
|
+
const sanitizedToolName = toolName.replace(/[.-]/g, "_");
|
|
163
|
+
return serverPrefix ? `${serverPrefix}_${sanitizedToolName}` : sanitizedToolName;
|
|
164
|
+
}
|
|
165
|
+
export function getToolNameCandidates(toolName, serverName, prefix, includeLegacy = true) {
|
|
166
|
+
const candidates = new Set([
|
|
167
|
+
toolName,
|
|
168
|
+
formatToolName(toolName, serverName, prefix),
|
|
169
|
+
formatToolName(toolName, serverName, "server"),
|
|
170
|
+
formatToolName(toolName, serverName, "short"),
|
|
171
|
+
formatToolName(toolName, serverName, "mcp"),
|
|
172
|
+
]);
|
|
173
|
+
if (includeLegacy) {
|
|
174
|
+
const legacyToolName = toolName.replace(/-/g, "_");
|
|
175
|
+
candidates.add(legacyToolName);
|
|
176
|
+
candidates.add(formatToolName(legacyToolName, serverName, prefix));
|
|
177
|
+
candidates.add(formatToolName(legacyToolName, serverName, "server"));
|
|
178
|
+
candidates.add(formatToolName(legacyToolName, serverName, "short"));
|
|
179
|
+
candidates.add(formatToolName(legacyToolName, serverName, "mcp"));
|
|
180
|
+
candidates.add(formatLegacyToolName(toolName, serverName, prefix));
|
|
181
|
+
candidates.add(formatLegacyToolName(toolName, serverName, "server"));
|
|
182
|
+
candidates.add(formatLegacyToolName(toolName, serverName, "short"));
|
|
183
|
+
candidates.add(formatLegacyToolName(toolName, serverName, "mcp"));
|
|
184
|
+
candidates.add(formatToolName(toolName, serverName, prefix).replace(/-/g, "_"));
|
|
185
|
+
candidates.add(formatToolName(toolName, serverName, "server").replace(/-/g, "_"));
|
|
186
|
+
candidates.add(formatToolName(toolName, serverName, "short").replace(/-/g, "_"));
|
|
187
|
+
candidates.add(formatToolName(toolName, serverName, "mcp").replace(/-/g, "_"));
|
|
188
|
+
}
|
|
189
|
+
return candidates;
|
|
190
|
+
}
|
|
191
|
+
function globToRegExp(pattern) {
|
|
192
|
+
const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/\?/g, ".");
|
|
193
|
+
return new RegExp(`^${escaped}$`);
|
|
194
|
+
}
|
|
195
|
+
export function createToolSelectorCandidateIndex(allCurrentCandidates, additionalCurrentCandidatesByToolName) {
|
|
196
|
+
return {
|
|
197
|
+
allCurrentCandidates,
|
|
198
|
+
matchingCountByPattern: new Map(),
|
|
199
|
+
matcherByPattern: new Map(),
|
|
200
|
+
...(additionalCurrentCandidatesByToolName ? { additionalCurrentCandidatesByToolName } : {}),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
export function matchesToolPattern(candidates, patterns) {
|
|
204
|
+
if (!Array.isArray(patterns) || patterns.length === 0)
|
|
205
|
+
return false;
|
|
206
|
+
for (const pattern of patterns) {
|
|
207
|
+
if (typeof pattern !== "string")
|
|
208
|
+
continue;
|
|
209
|
+
if (!pattern.includes("*") && !pattern.includes("?") && candidates.has(pattern)) {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
if ((pattern.includes("*") || pattern.includes("?")) && [...candidates].some(candidate => globToRegExp(pattern).test(candidate))) {
|
|
213
|
+
return true;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
function indexHasOtherCurrentMatch(index, toolName, currentCandidates, pattern) {
|
|
219
|
+
const additionalCandidates = index.additionalCurrentCandidatesByToolName?.get(toolName);
|
|
220
|
+
const hasCandidate = (candidate) => index.allCurrentCandidates.has(candidate) || additionalCandidates?.has(candidate) === true;
|
|
221
|
+
const isGlob = pattern.includes("*") || pattern.includes("?");
|
|
222
|
+
if (!isGlob) {
|
|
223
|
+
return hasCandidate(pattern) && !currentCandidates.has(pattern);
|
|
224
|
+
}
|
|
225
|
+
let matcher = index.matcherByPattern.get(pattern);
|
|
226
|
+
if (!matcher) {
|
|
227
|
+
matcher = globToRegExp(pattern);
|
|
228
|
+
index.matcherByPattern.set(pattern, matcher);
|
|
229
|
+
}
|
|
230
|
+
let matchingCount = index.matchingCountByPattern.get(pattern);
|
|
231
|
+
if (matchingCount === undefined) {
|
|
232
|
+
matchingCount = 0;
|
|
233
|
+
for (const candidate of index.allCurrentCandidates) {
|
|
234
|
+
if (matcher.test(candidate))
|
|
235
|
+
matchingCount++;
|
|
236
|
+
}
|
|
237
|
+
index.matchingCountByPattern.set(pattern, matchingCount);
|
|
238
|
+
}
|
|
239
|
+
let totalMatchingCount = matchingCount;
|
|
240
|
+
if (additionalCandidates) {
|
|
241
|
+
for (const candidate of additionalCandidates) {
|
|
242
|
+
if (!index.allCurrentCandidates.has(candidate) && matcher.test(candidate))
|
|
243
|
+
totalMatchingCount++;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (totalMatchingCount === 0)
|
|
247
|
+
return false;
|
|
248
|
+
let currentMatchingCount = 0;
|
|
249
|
+
for (const candidate of currentCandidates) {
|
|
250
|
+
if (hasCandidate(candidate) && matcher.test(candidate))
|
|
251
|
+
currentMatchingCount++;
|
|
252
|
+
}
|
|
253
|
+
return totalMatchingCount > currentMatchingCount;
|
|
254
|
+
}
|
|
255
|
+
function matchesToolSelector(toolName, serverName, prefix, patterns, otherCurrentCandidates) {
|
|
256
|
+
if (!Array.isArray(patterns) || patterns.length === 0)
|
|
257
|
+
return false;
|
|
258
|
+
const currentCandidates = getToolNameCandidates(toolName, serverName, prefix, false);
|
|
259
|
+
if (matchesToolPattern(currentCandidates, patterns))
|
|
260
|
+
return true;
|
|
261
|
+
if (!otherCurrentCandidates)
|
|
262
|
+
return matchesToolPattern(getToolNameCandidates(toolName, serverName, prefix), patterns);
|
|
263
|
+
const legacyCandidates = getToolNameCandidates(toolName, serverName, prefix);
|
|
264
|
+
for (const candidate of currentCandidates)
|
|
265
|
+
legacyCandidates.delete(candidate);
|
|
266
|
+
return patterns.some(pattern => {
|
|
267
|
+
if (typeof pattern !== "string" || !matchesToolPattern(legacyCandidates, [pattern]))
|
|
268
|
+
return false;
|
|
269
|
+
const hasCollision = otherCurrentCandidates instanceof Set
|
|
270
|
+
? matchesToolPattern(otherCurrentCandidates, [pattern])
|
|
271
|
+
: indexHasOtherCurrentMatch(otherCurrentCandidates, toolName, currentCandidates, pattern);
|
|
272
|
+
return !hasCollision;
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
export function isToolIncluded(toolName, serverName, prefix, includeTools, otherCurrentCandidates) {
|
|
276
|
+
if (!Array.isArray(includeTools) || includeTools.length === 0)
|
|
277
|
+
return true;
|
|
278
|
+
return matchesToolSelector(toolName, serverName, prefix, includeTools, otherCurrentCandidates);
|
|
279
|
+
}
|
|
280
|
+
export function isToolExcluded(toolName, serverName, prefix, excludeTools, otherCurrentCandidates) {
|
|
281
|
+
return matchesToolSelector(toolName, serverName, prefix, excludeTools, otherCurrentCandidates);
|
|
282
|
+
}
|
|
283
|
+
export function isToolAllowed(toolName, serverName, prefix, includeTools, excludeTools, otherCurrentCandidates) {
|
|
284
|
+
return isToolIncluded(toolName, serverName, prefix, includeTools, otherCurrentCandidates)
|
|
285
|
+
&& !isToolExcluded(toolName, serverName, prefix, excludeTools, otherCurrentCandidates);
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { UiResourcePermissions } from "./types.ts";
|
|
2
|
+
export declare const RESOURCE_MIME_TYPE = "text/html;profile=mcp-app";
|
|
3
|
+
export declare function getToolUiResourceUri(tool: {
|
|
4
|
+
_meta?: Record<string, unknown> | undefined;
|
|
5
|
+
}): string | undefined;
|
|
6
|
+
export declare function buildAllowAttribute(permissions: UiResourcePermissions | undefined): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const RESOURCE_MIME_TYPE = "text/html;profile=mcp-app";
|
|
2
|
+
const RESOURCE_URI_META_KEY = "ui/resourceUri";
|
|
3
|
+
export function getToolUiResourceUri(tool) {
|
|
4
|
+
const meta = tool._meta;
|
|
5
|
+
let resourceUri = getNestedResourceUri(meta);
|
|
6
|
+
if (resourceUri === undefined) {
|
|
7
|
+
resourceUri = meta?.[RESOURCE_URI_META_KEY];
|
|
8
|
+
}
|
|
9
|
+
if (typeof resourceUri === "string" && resourceUri.startsWith("ui://")) {
|
|
10
|
+
return resourceUri;
|
|
11
|
+
}
|
|
12
|
+
if (resourceUri !== undefined) {
|
|
13
|
+
throw new Error(`Invalid UI resource URI: ${JSON.stringify(resourceUri)}`);
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
export function buildAllowAttribute(permissions) {
|
|
18
|
+
if (!permissions)
|
|
19
|
+
return "";
|
|
20
|
+
const allowed = [];
|
|
21
|
+
if (permissions.camera)
|
|
22
|
+
allowed.push("camera");
|
|
23
|
+
if (permissions.microphone)
|
|
24
|
+
allowed.push("microphone");
|
|
25
|
+
if (permissions.geolocation)
|
|
26
|
+
allowed.push("geolocation");
|
|
27
|
+
if (permissions.clipboardWrite)
|
|
28
|
+
allowed.push("clipboard-write");
|
|
29
|
+
return allowed.join("; ");
|
|
30
|
+
}
|
|
31
|
+
function getNestedResourceUri(meta) {
|
|
32
|
+
const ui = meta?.ui;
|
|
33
|
+
if (!ui || typeof ui !== "object")
|
|
34
|
+
return undefined;
|
|
35
|
+
return ui.resourceUri;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ui-app-bridge-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-app-bridge-helpers.js","sourceRoot":"","sources":["../ui-app-bridge-helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAE9D,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,IAAqD;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACxB,IAAI,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,WAAW,GAAG,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAA8C;IAChF,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,WAAW,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,WAAW,CAAC,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAyC;IACrE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpD,OAAQ,EAA8B,CAAC,WAAW,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const UI_STREAM_HOST_CONTEXT_KEY = "pi-mcp-adapter/stream";
|
|
3
|
+
export declare const UI_STREAM_REQUEST_META_KEY = "pi-mcp-adapter/stream-token";
|
|
4
|
+
export declare const UI_STREAM_RESULT_PATCH_METHOD = "notifications/pi-mcp-adapter/ui-result-patch";
|
|
5
|
+
export declare const SERVER_STREAM_RESULT_PATCH_METHOD = "notifications/pi-mcp-adapter/result-patch";
|
|
6
|
+
export declare const UI_STREAM_STRUCTURED_CONTENT_KEY = "pi-mcp-adapter/stream";
|
|
7
|
+
export declare const uiStreamModeSchema: z.ZodEnum<{
|
|
8
|
+
eager: "eager";
|
|
9
|
+
"stream-first": "stream-first";
|
|
10
|
+
}>;
|
|
11
|
+
export type UiStreamMode = z.infer<typeof uiStreamModeSchema>;
|
|
12
|
+
export declare const visualizationStreamPhaseSchema: z.ZodEnum<{
|
|
13
|
+
shell: "shell";
|
|
14
|
+
narrative: "narrative";
|
|
15
|
+
structure: "structure";
|
|
16
|
+
detail: "detail";
|
|
17
|
+
settled: "settled";
|
|
18
|
+
}>;
|
|
19
|
+
export type VisualizationStreamPhase = z.infer<typeof visualizationStreamPhaseSchema>;
|
|
20
|
+
export declare const visualizationStreamFrameTypeSchema: z.ZodEnum<{
|
|
21
|
+
patch: "patch";
|
|
22
|
+
checkpoint: "checkpoint";
|
|
23
|
+
final: "final";
|
|
24
|
+
}>;
|
|
25
|
+
export type VisualizationStreamFrameType = z.infer<typeof visualizationStreamFrameTypeSchema>;
|
|
26
|
+
export declare const visualizationStreamStatusSchema: z.ZodEnum<{
|
|
27
|
+
ok: "ok";
|
|
28
|
+
error: "error";
|
|
29
|
+
}>;
|
|
30
|
+
export type VisualizationStreamStatus = z.infer<typeof visualizationStreamStatusSchema>;
|
|
31
|
+
export declare const uiStreamHostContextSchema: z.ZodObject<{
|
|
32
|
+
mode: z.ZodEnum<{
|
|
33
|
+
eager: "eager";
|
|
34
|
+
"stream-first": "stream-first";
|
|
35
|
+
}>;
|
|
36
|
+
streamId: z.ZodString;
|
|
37
|
+
intermediateResultPatches: z.ZodBoolean;
|
|
38
|
+
partialInput: z.ZodBoolean;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
export type UiStreamHostContext = z.infer<typeof uiStreamHostContextSchema>;
|
|
41
|
+
export declare const visualizationStreamEnvelopeSchema: z.ZodObject<{
|
|
42
|
+
streamId: z.ZodString;
|
|
43
|
+
sequence: z.ZodNumber;
|
|
44
|
+
frameType: z.ZodEnum<{
|
|
45
|
+
patch: "patch";
|
|
46
|
+
checkpoint: "checkpoint";
|
|
47
|
+
final: "final";
|
|
48
|
+
}>;
|
|
49
|
+
phase: z.ZodEnum<{
|
|
50
|
+
shell: "shell";
|
|
51
|
+
narrative: "narrative";
|
|
52
|
+
structure: "structure";
|
|
53
|
+
detail: "detail";
|
|
54
|
+
settled: "settled";
|
|
55
|
+
}>;
|
|
56
|
+
status: z.ZodEnum<{
|
|
57
|
+
ok: "ok";
|
|
58
|
+
error: "error";
|
|
59
|
+
}>;
|
|
60
|
+
message: z.ZodOptional<z.ZodString>;
|
|
61
|
+
spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
62
|
+
checkpoint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
export type VisualizationStreamEnvelope = z.infer<typeof visualizationStreamEnvelopeSchema>;
|
|
65
|
+
export declare const uiStreamCallToolResultSchema: z.ZodObject<{
|
|
66
|
+
content: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
67
|
+
structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
68
|
+
isError: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
_meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
70
|
+
}, z.core.$loose>;
|
|
71
|
+
export type UiStreamCallToolResult = z.infer<typeof uiStreamCallToolResultSchema>;
|
|
72
|
+
export declare const uiStreamResultPatchNotificationSchema: z.ZodObject<{
|
|
73
|
+
method: z.ZodLiteral<"notifications/pi-mcp-adapter/ui-result-patch">;
|
|
74
|
+
params: z.ZodObject<{
|
|
75
|
+
content: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
76
|
+
structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
77
|
+
isError: z.ZodOptional<z.ZodBoolean>;
|
|
78
|
+
_meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
79
|
+
}, z.core.$loose>;
|
|
80
|
+
}, z.core.$strip>;
|
|
81
|
+
export type UiStreamResultPatchNotification = z.infer<typeof uiStreamResultPatchNotificationSchema>;
|
|
82
|
+
export declare const serverStreamResultPatchNotificationSchema: z.ZodObject<{
|
|
83
|
+
method: z.ZodLiteral<"notifications/pi-mcp-adapter/result-patch">;
|
|
84
|
+
params: z.ZodObject<{
|
|
85
|
+
streamToken: z.ZodString;
|
|
86
|
+
result: z.ZodObject<{
|
|
87
|
+
content: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
88
|
+
structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
89
|
+
isError: z.ZodOptional<z.ZodBoolean>;
|
|
90
|
+
_meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
91
|
+
}, z.core.$loose>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type ServerStreamResultPatchNotification = z.infer<typeof serverStreamResultPatchNotificationSchema>;
|
|
95
|
+
export interface UiStreamSummary {
|
|
96
|
+
streamId: string;
|
|
97
|
+
mode: UiStreamMode;
|
|
98
|
+
frames: number;
|
|
99
|
+
phases: VisualizationStreamPhase[];
|
|
100
|
+
finalStatus?: VisualizationStreamStatus;
|
|
101
|
+
lastMessage?: string;
|
|
102
|
+
}
|
|
103
|
+
export declare function getUiStreamHostContext(hostContext: Record<string, unknown> | undefined): UiStreamHostContext | undefined;
|
|
104
|
+
export declare function getVisualizationStreamEnvelope(structuredContent: unknown): VisualizationStreamEnvelope | undefined;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const UI_STREAM_HOST_CONTEXT_KEY = "pi-mcp-adapter/stream";
|
|
3
|
+
export const UI_STREAM_REQUEST_META_KEY = "pi-mcp-adapter/stream-token";
|
|
4
|
+
export const UI_STREAM_RESULT_PATCH_METHOD = "notifications/pi-mcp-adapter/ui-result-patch";
|
|
5
|
+
export const SERVER_STREAM_RESULT_PATCH_METHOD = "notifications/pi-mcp-adapter/result-patch";
|
|
6
|
+
export const UI_STREAM_STRUCTURED_CONTENT_KEY = "pi-mcp-adapter/stream";
|
|
7
|
+
export const uiStreamModeSchema = z.enum(["eager", "stream-first"]);
|
|
8
|
+
export const visualizationStreamPhaseSchema = z.enum(["shell", "narrative", "structure", "detail", "settled"]);
|
|
9
|
+
export const visualizationStreamFrameTypeSchema = z.enum(["patch", "checkpoint", "final"]);
|
|
10
|
+
export const visualizationStreamStatusSchema = z.enum(["ok", "error"]);
|
|
11
|
+
const looseRecordSchema = z.record(z.string(), z.unknown());
|
|
12
|
+
const looseArraySchema = z.array(z.unknown());
|
|
13
|
+
export const uiStreamHostContextSchema = z.object({
|
|
14
|
+
mode: uiStreamModeSchema,
|
|
15
|
+
streamId: z.string().min(1),
|
|
16
|
+
intermediateResultPatches: z.boolean(),
|
|
17
|
+
partialInput: z.boolean(),
|
|
18
|
+
});
|
|
19
|
+
export const visualizationStreamEnvelopeSchema = z.object({
|
|
20
|
+
streamId: z.string().min(1),
|
|
21
|
+
sequence: z.number().int().nonnegative(),
|
|
22
|
+
frameType: visualizationStreamFrameTypeSchema,
|
|
23
|
+
phase: visualizationStreamPhaseSchema,
|
|
24
|
+
status: visualizationStreamStatusSchema,
|
|
25
|
+
message: z.string().optional(),
|
|
26
|
+
spec: looseRecordSchema.optional(),
|
|
27
|
+
checkpoint: looseRecordSchema.optional(),
|
|
28
|
+
});
|
|
29
|
+
export const uiStreamCallToolResultSchema = z.object({
|
|
30
|
+
content: looseArraySchema.optional(),
|
|
31
|
+
structuredContent: looseRecordSchema.optional(),
|
|
32
|
+
isError: z.boolean().optional(),
|
|
33
|
+
_meta: looseRecordSchema.optional(),
|
|
34
|
+
}).passthrough();
|
|
35
|
+
export const uiStreamResultPatchNotificationSchema = z.object({
|
|
36
|
+
method: z.literal(UI_STREAM_RESULT_PATCH_METHOD),
|
|
37
|
+
params: uiStreamCallToolResultSchema,
|
|
38
|
+
});
|
|
39
|
+
export const serverStreamResultPatchNotificationSchema = z.object({
|
|
40
|
+
method: z.literal(SERVER_STREAM_RESULT_PATCH_METHOD),
|
|
41
|
+
params: z.object({
|
|
42
|
+
streamToken: z.string().min(1),
|
|
43
|
+
result: uiStreamCallToolResultSchema,
|
|
44
|
+
}),
|
|
45
|
+
});
|
|
46
|
+
export function getUiStreamHostContext(hostContext) {
|
|
47
|
+
const candidate = hostContext?.[UI_STREAM_HOST_CONTEXT_KEY];
|
|
48
|
+
const parsed = uiStreamHostContextSchema.safeParse(candidate);
|
|
49
|
+
return parsed.success ? parsed.data : undefined;
|
|
50
|
+
}
|
|
51
|
+
export function getVisualizationStreamEnvelope(structuredContent) {
|
|
52
|
+
if (!structuredContent || typeof structuredContent !== "object" || Array.isArray(structuredContent)) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
const candidate = structuredContent[UI_STREAM_STRUCTURED_CONTENT_KEY];
|
|
56
|
+
const parsed = visualizationStreamEnvelopeSchema.safeParse(candidate);
|
|
57
|
+
return parsed.success ? parsed.data : undefined;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ui-stream-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-stream-types.js","sourceRoot":"","sources":["../ui-stream-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type UiToolVisibility = "model" | "app";
|
|
2
|
+
export declare function extractUiToolVisibility(meta: Record<string, unknown> | undefined): UiToolVisibility[] | undefined;
|
|
3
|
+
export declare function isUiToolVisibleToModel(visibility: readonly UiToolVisibility[] | undefined): boolean;
|
|
4
|
+
export declare function isUiToolCallableByApp(visibility: readonly UiToolVisibility[] | undefined): boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function extractUiToolVisibility(meta) {
|
|
2
|
+
if (!meta || typeof meta !== "object")
|
|
3
|
+
return undefined;
|
|
4
|
+
const ui = meta.ui;
|
|
5
|
+
if (!ui || typeof ui !== "object" || Array.isArray(ui))
|
|
6
|
+
return undefined;
|
|
7
|
+
const visibility = ui.visibility;
|
|
8
|
+
if (visibility === undefined)
|
|
9
|
+
return undefined;
|
|
10
|
+
if (!Array.isArray(visibility))
|
|
11
|
+
return [];
|
|
12
|
+
const values = [];
|
|
13
|
+
for (const entry of visibility) {
|
|
14
|
+
if (entry !== "model" && entry !== "app")
|
|
15
|
+
return [];
|
|
16
|
+
if (!values.includes(entry))
|
|
17
|
+
values.push(entry);
|
|
18
|
+
}
|
|
19
|
+
return values;
|
|
20
|
+
}
|
|
21
|
+
export function isUiToolVisibleToModel(visibility) {
|
|
22
|
+
return visibility === undefined || visibility.includes("model");
|
|
23
|
+
}
|
|
24
|
+
export function isUiToolCallableByApp(visibility) {
|
|
25
|
+
return visibility === undefined || visibility.includes("app");
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ui-tool-visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-tool-visibility.js","sourceRoot":"","sources":["../ui-tool-visibility.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,IAAyC;IAC/E,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,UAAU,GAAI,EAA8B,CAAC,UAAU,CAAC;IAC9D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAmD;IACxF,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAmD;IACvF,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import type { McpConfig, ServerEntry } from "./types.ts";
|
|
3
|
+
export declare function openUrl(pi: ExtensionAPI, url: string, browser?: string, signal?: AbortSignal): Promise<void>;
|
|
4
|
+
export declare function openPath(pi: ExtensionAPI, targetPath: string): Promise<void>;
|
|
5
|
+
export declare function parallelLimit<T, R>(items: T[], limit: number, fn: (item: T) => Promise<R>): Promise<R[]>;
|
|
6
|
+
export declare function getConfigPathFromArgv(): string | undefined;
|
|
7
|
+
export declare function interpolateEnvVars(value: string): string;
|
|
8
|
+
export declare function interpolateEnvVars(value: string, environment: NodeJS.ProcessEnv): string;
|
|
9
|
+
export declare function toStringRecord(value: unknown): Record<string, string> | undefined;
|
|
10
|
+
export declare function interpolateEnvRecord(values: Record<string, string> | undefined, environment?: NodeJS.ProcessEnv): Record<string, string> | undefined;
|
|
11
|
+
/** Resolve a secret value, executing only a single leading `!` command marker. */
|
|
12
|
+
export declare function resolveCommandSecret(value: string, context: string): string;
|
|
13
|
+
export declare function resolveCommandSecret(value: undefined, context: string): undefined;
|
|
14
|
+
export declare function resolveCommandSecret(value: string | undefined, context: string): string | undefined;
|
|
15
|
+
/** Resolve command markers in a configured record without mutating the input. */
|
|
16
|
+
export declare function resolveCommandSecretsRecord(values: Record<string, string> | undefined, context: (key: string) => string): Record<string, string> | undefined;
|
|
17
|
+
export declare function resolveServerUrl(definition: Pick<ServerEntry, "url">, environment?: NodeJS.ProcessEnv): string | undefined;
|
|
18
|
+
export declare function resolveConfigPath(value: string | undefined, environment?: NodeJS.ProcessEnv): string | undefined;
|
|
19
|
+
export declare function resolveBearerToken(definition: Pick<ServerEntry, "bearerToken" | "bearerTokenEnv">, environment?: NodeJS.ProcessEnv): string | undefined;
|
|
20
|
+
/** Remove OSC control strings, including payloads that have no terminator. */
|
|
21
|
+
export declare function stripOscSequences(text: string): string;
|
|
22
|
+
export declare function sanitizeTerminalText(text: string): string;
|
|
23
|
+
export declare function formatTerminalError(error: unknown): string;
|
|
24
|
+
export declare function truncateAtWord(text: string, target: number): string;
|
|
25
|
+
export declare function normalizeDirectToolInputSchema(schema: unknown): Record<string, unknown>;
|
|
26
|
+
export declare function normalizeToolArguments(value: unknown, context?: string): Record<string, unknown>;
|
|
27
|
+
export declare function formatAuthRequiredMessage(config: Pick<McpConfig, "settings">, serverName: string, defaultMessage: string): string;
|
|
28
|
+
export declare function formatMcpStatus(config: Pick<McpConfig, "settings">, message: string): string | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Extract the adapter-owned UI stream mode from tool metadata.
|
|
31
|
+
*/
|
|
32
|
+
export declare function extractToolUiStreamMode(toolMeta: Record<string, unknown> | undefined): "eager" | "stream-first" | undefined;
|