@dipoleml/dcode-cli 1.0.0 → 1.2.0
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/dist/THIRD-PARTY-NOTICES.md +1081 -12
- package/dist/dcode.cjs +59155 -45279
- package/dist/packages/browser-use-plugin/README.md +12 -12
- package/dist/packages/browser-use-plugin/docs/api.json +1 -1
- package/dist/packages/browser-use-plugin/docs/overview.md +5 -4
- package/dist/packages/browser-use-plugin/docs/workflow.md +1 -1
- package/dist/packages/browser-use-plugin/scripts/build.mjs +1 -0
- package/dist/packages/browser-use-plugin/skills/control-browser/SKILL.md +10 -7
- package/dist/packages/bundled-skills/skills/dynamic-workflows/SKILL.md +760 -687
- package/dist/packages/bundled-skills/skills/dynamic-workflows/examples.md +310 -1
- package/dist/packages/bundled-skills/skills/dynamic-workflows/patterns.md +336 -4
- package/dist/packages/node-repl-host/.dcode-plugin/plugin.json +1 -1
- package/dist/packages/node-repl-host/dist/mcp/server.js +9 -14
- package/dist/packages/node-repl-host/scripts/build.mjs +1 -0
- package/dist/provider/dcode-builtin.json +6544 -183
- package/node_modules/@dcode/contracts/dist/compact/index.d.ts +7 -7
- package/node_modules/@dcode/contracts/dist/config/index.d.ts +1 -1
- package/node_modules/@dcode/contracts/dist/events/event-reducer.js +1 -0
- package/node_modules/@dcode/contracts/dist/events/in-memory-session-event-store.js +3 -2
- package/node_modules/@dcode/contracts/dist/events/session-event-retention.d.ts +8 -0
- package/node_modules/@dcode/contracts/dist/events/session-event-retention.js +18 -0
- package/node_modules/@dcode/contracts/dist/events/session.events.d.ts +94 -16
- package/node_modules/@dcode/contracts/dist/events/session.events.js +10 -0
- package/node_modules/@dcode/contracts/dist/hooks/index.d.ts +134 -134
- package/node_modules/@dcode/contracts/dist/hooks/workspace-hook-trust.d.ts +14 -14
- package/node_modules/@dcode/contracts/dist/index.d.ts +2 -0
- package/node_modules/@dcode/contracts/dist/index.js +2 -0
- package/node_modules/@dcode/contracts/dist/interfaces/browser-control.port.d.ts +22 -0
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-hole.port.d.ts +92 -0
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-hole.port.js +9 -0
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-retune.port.d.ts +4 -4
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-retune.port.js +7 -3
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run-workspace.port.js +8 -3
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run.port.d.ts +119 -18
- package/node_modules/@dcode/contracts/dist/interfaces/dynamic-workflow-run.port.js +13 -0
- package/node_modules/@dcode/contracts/dist/interfaces/index.d.ts +1 -0
- package/node_modules/@dcode/contracts/dist/interfaces/index.js +1 -0
- package/node_modules/@dcode/contracts/dist/interfaces/mcp.port.d.ts +161 -1
- package/node_modules/@dcode/contracts/dist/interfaces/mcp.port.js +17 -0
- package/node_modules/@dcode/contracts/dist/interfaces/permission-full-access.d.ts +15 -15
- package/node_modules/@dcode/contracts/dist/interfaces/permission-full-access.js +1 -1
- package/node_modules/@dcode/contracts/dist/interfaces/permission.port.d.ts +15 -1
- package/node_modules/@dcode/contracts/dist/interfaces/provider-endpoint-routing.port.d.ts +19 -0
- package/node_modules/@dcode/contracts/dist/interfaces/provider-endpoint-routing.port.js +1 -0
- package/node_modules/@dcode/contracts/dist/interfaces/session-store.port.d.ts +4 -2
- package/node_modules/@dcode/contracts/dist/interfaces/session-store.port.js +5 -0
- package/node_modules/@dcode/contracts/dist/interfaces/session.port.d.ts +92 -3
- package/node_modules/@dcode/contracts/dist/interfaces/session.port.js +4 -1
- package/node_modules/@dcode/contracts/dist/interfaces/topic-resource.port.d.ts +25 -0
- package/node_modules/@dcode/contracts/dist/interfaces/topic-resource.port.js +1 -0
- package/node_modules/@dcode/contracts/dist/model/index.d.ts +15 -1
- package/node_modules/@dcode/contracts/dist/model/index.js +5 -0
- package/node_modules/@dcode/contracts/dist/model/invocation-context.d.ts +6 -1
- package/node_modules/@dcode/contracts/dist/plugins/index.d.ts +23 -0
- package/node_modules/@dcode/contracts/dist/plugins/index.js +2 -1
- package/node_modules/@dcode/contracts/dist/telemetry/agent-execution.d.ts +2 -0
- package/node_modules/@dcode/contracts/dist/telemetry/agent-execution.js +2 -0
- package/node_modules/@dcode/contracts/dist/telemetry/index.d.ts +5 -1
- package/node_modules/@dcode/contracts/dist/telemetry/index.js +12 -0
- package/node_modules/@dcode/contracts/dist/tools/agent.d.ts +12 -12
- package/node_modules/@dcode/contracts/dist/tools/amend-workflow.d.ts +39 -15
- package/node_modules/@dcode/contracts/dist/tools/amend-workflow.js +12 -6
- package/node_modules/@dcode/contracts/dist/tools/automation.d.ts +32 -32
- package/node_modules/@dcode/contracts/dist/tools/automation.js +1 -1
- package/node_modules/@dcode/contracts/dist/tools/bash.d.ts +16 -16
- package/node_modules/@dcode/contracts/dist/tools/bash.js +1 -1
- package/node_modules/@dcode/contracts/dist/tools/create-workflow.d.ts +365 -66
- package/node_modules/@dcode/contracts/dist/tools/create-workflow.js +92 -11
- package/node_modules/@dcode/contracts/dist/tools/edit.d.ts +16 -16
- package/node_modules/@dcode/contracts/dist/tools/eval-workflow-snippet.d.ts +6 -6
- package/node_modules/@dcode/contracts/dist/tools/eval-workflow-snippet.js +5 -1
- package/node_modules/@dcode/contracts/dist/tools/fill-workflow-hole.d.ts +729 -0
- package/node_modules/@dcode/contracts/dist/tools/fill-workflow-hole.js +102 -0
- package/node_modules/@dcode/contracts/dist/tools/get-workflow-run.d.ts +136 -28
- package/node_modules/@dcode/contracts/dist/tools/get-workflow-run.js +36 -0
- package/node_modules/@dcode/contracts/dist/tools/grep.d.ts +4 -4
- package/node_modules/@dcode/contracts/dist/tools/grep.js +4 -0
- package/node_modules/@dcode/contracts/dist/tools/index.d.ts +2 -0
- package/node_modules/@dcode/contracts/dist/tools/index.js +4 -0
- package/node_modules/@dcode/contracts/dist/tools/list-saved-workflows.d.ts +8 -8
- package/node_modules/@dcode/contracts/dist/tools/list-workflow-runs.d.ts +8 -8
- package/node_modules/@dcode/contracts/dist/tools/node-repl.d.ts +2 -2
- package/node_modules/@dcode/contracts/dist/tools/off-peak.d.ts +3 -3
- package/node_modules/@dcode/contracts/dist/tools/off-peak.js +2 -2
- package/node_modules/@dcode/contracts/dist/tools/performance.d.ts +22 -22
- package/node_modules/@dcode/contracts/dist/tools/plan-mode.d.ts +12 -12
- package/node_modules/@dcode/contracts/dist/tools/plan-mode.js +6 -4
- package/node_modules/@dcode/contracts/dist/tools/read-session-context.d.ts +86 -13
- package/node_modules/@dcode/contracts/dist/tools/read-session-context.js +37 -6
- package/node_modules/@dcode/contracts/dist/tools/read.d.ts +38 -38
- package/node_modules/@dcode/contracts/dist/tools/save-workflow.d.ts +21 -10
- package/node_modules/@dcode/contracts/dist/tools/save-workflow.js +22 -2
- package/node_modules/@dcode/contracts/dist/tools/saved-workflow.d.ts +4 -4
- package/node_modules/@dcode/contracts/dist/tools/send-message.d.ts +2 -2
- package/node_modules/@dcode/contracts/dist/tools/skill.js +1 -0
- package/node_modules/@dcode/contracts/dist/tools/task-output.d.ts +6 -6
- package/node_modules/@dcode/contracts/dist/tools/tool-result-metadata.d.ts +1228 -259
- package/node_modules/@dcode/contracts/dist/tools/tool-result-metadata.js +41 -0
- package/node_modules/@dcode/contracts/dist/tools/webfetch.d.ts +2 -2
- package/node_modules/@dcode/contracts/dist/tools/workflow-observation-display.d.ts +20 -20
- package/node_modules/@dcode/contracts/dist/tools/workflow-settings.d.ts +55 -0
- package/node_modules/@dcode/contracts/dist/tools/workflow-settings.js +86 -0
- package/node_modules/@dcode/contracts/dist/tools/workflow.d.ts +8 -8
- package/node_modules/@dcode/contracts/dist/tools/write.d.ts +18 -18
- package/node_modules/@dcode/contracts/dist/workflow/index.d.ts +98 -98
- package/node_modules/@dcode/contracts/dist/workflow/script.d.ts +12 -12
- package/node_modules/@dcode/i18n/dist/index.js +2 -2
- package/node_modules/@dcode/i18n/dist/locale.d.ts +1 -1
- package/node_modules/@dcode/i18n/dist/locale.js +4 -4
- package/node_modules/@dcode/i18n/dist/locales/en-US.js +5 -5
- package/node_modules/@dcode/i18n/dist/locales/fr-CA.d.ts +3 -0
- package/node_modules/@dcode/i18n/dist/locales/fr-CA.js +354 -0
- package/node_modules/@dcode/model-option-map/package.json +1 -1
- package/node_modules/@dcode/shared/dist/api-key-usage-scene.d.ts +7 -0
- package/node_modules/@dcode/shared/dist/api-key-usage-scene.js +6 -0
- package/node_modules/@dcode/shared/dist/attachment-source.d.ts +8 -0
- package/node_modules/@dcode/shared/dist/attachment-source.js +4 -0
- package/node_modules/@dcode/shared/dist/background-bash-output.d.ts +4 -4
- package/node_modules/@dcode/shared/dist/bots.d.ts +759 -11
- package/node_modules/@dcode/shared/dist/bots.js +236 -2
- package/node_modules/@dcode/shared/dist/browser-use/command-metadata.d.ts +2 -2
- package/node_modules/@dcode/shared/dist/browser-use/commands.d.ts +4 -3
- package/node_modules/@dcode/shared/dist/browser-use/commands.js +3 -1
- package/node_modules/@dcode/shared/dist/browser-use/nodeReplBroker.d.ts +5 -4
- package/node_modules/@dcode/shared/dist/browser-use/result.d.ts +6 -6
- package/node_modules/@dcode/shared/dist/channel-mention.d.ts +173 -0
- package/node_modules/@dcode/shared/dist/channel-mention.js +120 -0
- package/node_modules/@dcode/shared/dist/channels.d.ts +128 -1
- package/node_modules/@dcode/shared/dist/channels.js +66 -0
- package/node_modules/@dcode/shared/dist/clientConfig.d.ts +1 -0
- package/node_modules/@dcode/shared/dist/clientConfig.js +18 -2
- package/node_modules/@dcode/shared/dist/cloudContent.d.ts +160 -0
- package/node_modules/@dcode/shared/dist/cloudContent.js +116 -0
- package/node_modules/@dcode/shared/dist/coding-plan-subscription.d.ts +59 -0
- package/node_modules/@dcode/shared/dist/conversation-message-projection-policy.js +2 -0
- package/node_modules/@dcode/shared/dist/conversation-share.d.ts +378 -74
- package/node_modules/@dcode/shared/dist/conversation-share.js +8 -6
- package/node_modules/@dcode/shared/dist/conversationSelection.d.ts +23 -0
- package/node_modules/@dcode/shared/dist/conversationSelection.js +30 -0
- package/node_modules/@dcode/shared/dist/database-startup.d.ts +5 -5
- package/node_modules/@dcode/shared/dist/dcode-agent-model-state.js +14 -6
- package/node_modules/@dcode/shared/dist/dcode-agent-policy.d.ts +16 -1
- package/node_modules/@dcode/shared/dist/dcode-agent-policy.js +17 -1
- package/node_modules/@dcode/shared/dist/dcode-agent-runtime.js +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol/index.d.ts +3215 -1800
- package/node_modules/@dcode/shared/dist/dcode-protocol/index.js +555 -24
- package/node_modules/@dcode/shared/dist/dcode-protocol/trace.d.ts +9 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol/trace.js +10 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-legacy-types.d.ts +30 -20
- package/node_modules/@dcode/shared/dist/dcode-protocol-legacy-types.js +3 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/apply.js +12 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/attachment-ref.d.ts +5 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/attachment-ref.js +3 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/coalesce.d.ts +3 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/coalesce.js +3 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/command.d.ts +388 -57
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/command.js +67 -45
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/controller.d.ts +208 -103
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-session-config.d.ts +20 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-session-config.js +15 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-workflow-display.d.ts +34 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/create-workflow-display.js +45 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/delta.d.ts +1453 -278
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/delta.js +45 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/index.d.ts +1 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/index.js +1 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/input-intent.d.ts +173 -6
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/input-intent.js +29 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/rows.d.ts +731 -125
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/rows.js +23 -11
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index-workflow-activity.d.ts +30 -11
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index-workflow-activity.js +35 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/sessions-index.d.ts +40 -25
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/snapshot.d.ts +1444 -216
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/snapshot.js +3 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/submission.d.ts +1 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/submission.js +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/telemetry.d.ts +62 -58
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/toolDisplay.d.ts +185 -50
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/toolDisplay.js +31 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/transport.d.ts +7728 -1585
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/transport.js +18 -5
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-assembler.js +2 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-fault.js +4 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/wire-reassembly.js +5 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-artifacts.d.ts +29 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-artifacts.js +64 -4
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-command-rejections.d.ts +13 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-command-rejections.js +23 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-observation-display.d.ts +14 -14
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-row-meta.d.ts +52 -8
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-row-meta.js +22 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-run-settings-command.d.ts +4 -4
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-run-settings-command.js +2 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-session.d.ts +21 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-session.js +44 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-status.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-actor-status.js +3 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-caps.js +5 -4
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-concurrency.d.ts +26 -19
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-concurrency.js +40 -32
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-delta.d.ts +4 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-delta.js +4 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-entries.d.ts +12 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-entries.js +44 -6
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-eviction.d.ts +2 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-eviction.js +17 -10
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-holes.d.ts +33 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-holes.js +202 -0
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-legacy.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-legacy.js +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-phases.js +10 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-reducer.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-reducer.js +29 -22
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-started.js +5 -2
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-tables.js +2 -1
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs-unlisted.js +6 -3
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs.d.ts +125 -40
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-runs.js +101 -26
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workflow-workspace.d.ts +4 -4
- package/node_modules/@dcode/shared/dist/dcode-protocol-v4/workspace-hook-review.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/dcode-session-content-profile.d.ts +5 -0
- package/node_modules/@dcode/shared/dist/dcode-session-content-profile.js +49 -0
- package/node_modules/@dcode/shared/dist/dcode-slash-command-help.js +4 -4
- package/node_modules/@dcode/shared/dist/dcode-task-mode-schema.d.ts +6 -1
- package/node_modules/@dcode/shared/dist/dcode-task-mode-schema.js +13 -1
- package/node_modules/@dcode/shared/dist/dcode-task-types-core.d.ts +12 -2
- package/node_modules/@dcode/shared/dist/dcode-task-types.d.ts +23 -0
- package/node_modules/@dcode/shared/dist/dcodeEndpoint.d.ts +22 -1
- package/node_modules/@dcode/shared/dist/dcodeEndpoint.js +102 -17
- package/node_modules/@dcode/shared/dist/desktopMenu.js +48 -48
- package/node_modules/@dcode/shared/dist/dynamic-workflow-feature.d.ts +35 -6
- package/node_modules/@dcode/shared/dist/dynamic-workflow-feature.js +45 -6
- package/node_modules/@dcode/shared/dist/env.d.ts +5 -4
- package/node_modules/@dcode/shared/dist/env.js +9 -9
- package/node_modules/@dcode/shared/dist/errors.d.ts +24 -0
- package/node_modules/@dcode/shared/dist/errors.js +54 -0
- package/node_modules/@dcode/shared/dist/execution-state.d.ts +4 -2
- package/node_modules/@dcode/shared/dist/execution-state.js +1 -1
- package/node_modules/@dcode/shared/dist/feedback.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/gen-ui/contract.d.ts +140 -0
- package/node_modules/@dcode/shared/dist/gen-ui/contract.example.d.ts +5 -0
- package/node_modules/@dcode/shared/dist/gen-ui/contract.example.js +36 -0
- package/node_modules/@dcode/shared/dist/gen-ui/contract.js +196 -0
- package/node_modules/@dcode/shared/dist/gen-ui/contract.test.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/gen-ui/contract.test.js +75 -0
- package/node_modules/@dcode/shared/dist/gen-ui/index.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/gen-ui/index.js +2 -0
- package/node_modules/@dcode/shared/dist/gen-ui/module.d.ts +7 -0
- package/node_modules/@dcode/shared/dist/gen-ui/module.js +7 -0
- package/node_modules/@dcode/shared/dist/gen-ui/tweakProtocol.d.ts +202 -0
- package/node_modules/@dcode/shared/dist/gen-ui/tweakProtocol.js +126 -0
- package/node_modules/@dcode/shared/dist/helpAppConfig.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/helpAppConfig.js +2 -2
- package/node_modules/@dcode/shared/dist/highspeed.d.ts +181 -0
- package/node_modules/@dcode/shared/dist/highspeed.js +112 -0
- package/node_modules/@dcode/shared/dist/index.d.ts +27 -5
- package/node_modules/@dcode/shared/dist/index.js +24 -2
- package/node_modules/@dcode/shared/dist/localTtft.d.ts +27 -27
- package/node_modules/@dcode/shared/dist/marketingTouch.d.ts +930 -0
- package/node_modules/@dcode/shared/dist/marketingTouch.js +170 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/appTools.d.ts +83 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/appTools.js +124 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/content.d.ts +4 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/content.js +8 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.d.ts +241 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.example.d.ts +31 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.example.js +42 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.js +101 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.test.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/contract.test.js +64 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/hostContract.d.ts +47 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/hostContract.js +8 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/index.d.ts +9 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/index.js +9 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/instance.d.ts +10 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/instance.js +11 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/module.d.ts +12 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/module.js +12 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/resourceMime.d.ts +8 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/resourceMime.js +73 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/sampling.d.ts +101 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/sampling.js +107 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/sampling.test.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/sampling.test.js +55 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/schemas.d.ts +78 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/schemas.js +65 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/toolMeta.d.ts +39 -0
- package/node_modules/@dcode/shared/dist/mcp-apps/toolMeta.js +199 -0
- package/node_modules/@dcode/shared/dist/mcp.d.ts +6 -2
- package/node_modules/@dcode/shared/dist/memory.d.ts +9 -0
- package/node_modules/@dcode/shared/dist/memory.js +2 -0
- package/node_modules/@dcode/shared/dist/model-execution.d.ts +31 -0
- package/node_modules/@dcode/shared/dist/model-execution.js +38 -0
- package/node_modules/@dcode/shared/dist/networkCapture.d.ts +49 -0
- package/node_modules/@dcode/shared/dist/networkCapture.js +41 -0
- package/node_modules/@dcode/shared/dist/node/genUiPaths.d.ts +6 -0
- package/node_modules/@dcode/shared/dist/node/genUiPaths.js +16 -0
- package/node_modules/@dcode/shared/dist/node/genUiPaths.test.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/node/genUiPaths.test.js +30 -0
- package/node_modules/@dcode/shared/dist/node/networkCapture.d.ts +8 -0
- package/node_modules/@dcode/shared/dist/node/networkCapture.js +96 -0
- package/node_modules/@dcode/shared/dist/node/officialPluginCache.d.ts +1 -2
- package/node_modules/@dcode/shared/dist/node/subagentMarkdownMigration.d.ts +1 -2
- package/node_modules/@dcode/shared/dist/node.d.ts +2 -0
- package/node_modules/@dcode/shared/dist/node.js +2 -0
- package/node_modules/@dcode/shared/dist/output-style.d.ts +17 -0
- package/node_modules/@dcode/shared/dist/output-style.js +2 -0
- package/node_modules/@dcode/shared/dist/platform.d.ts +149 -1
- package/node_modules/@dcode/shared/dist/platform.js +2 -0
- package/node_modules/@dcode/shared/dist/platformUpdate.d.ts +61 -0
- package/node_modules/@dcode/shared/dist/platformUpdate.js +2 -0
- package/node_modules/@dcode/shared/dist/plugin-marketplaces.d.ts +5 -0
- package/node_modules/@dcode/shared/dist/plugin-marketplaces.js +20 -14
- package/node_modules/@dcode/shared/dist/project-access-token-client.d.ts +42 -0
- package/node_modules/@dcode/shared/dist/project-access-token-client.js +260 -0
- package/node_modules/@dcode/shared/dist/project-access-token-response.d.ts +4 -0
- package/node_modules/@dcode/shared/dist/project-access-token-response.js +9 -0
- package/node_modules/@dcode/shared/dist/project-access-token.d.ts +45 -0
- package/node_modules/@dcode/shared/dist/project-access-token.js +164 -0
- package/node_modules/@dcode/shared/dist/protocol.d.ts +46 -4
- package/node_modules/@dcode/shared/dist/protocol.js +1 -1
- package/node_modules/@dcode/shared/dist/provider-provisioning.d.ts +26 -2
- package/node_modules/@dcode/shared/dist/provider-provisioning.js +19 -3
- package/node_modules/@dcode/shared/dist/providers.d.ts +1 -2
- package/node_modules/@dcode/shared/dist/providers.js +1 -1
- package/node_modules/@dcode/shared/dist/remote-workspace-identity.d.ts +6 -1
- package/node_modules/@dcode/shared/dist/remote-workspace-identity.js +35 -1
- package/node_modules/@dcode/shared/dist/remoteAppConfig.js +1 -1
- package/node_modules/@dcode/shared/dist/remoteEnvironmentKey.js +19 -0
- package/node_modules/@dcode/shared/dist/remoteTarget.d.ts +14 -1
- package/node_modules/@dcode/shared/dist/remoteTarget.js +4 -0
- package/node_modules/@dcode/shared/dist/remoteUsageTelemetry.d.ts +27 -0
- package/node_modules/@dcode/shared/dist/remoteUsageTelemetry.js +43 -0
- package/node_modules/@dcode/shared/dist/rendererActionTrace.d.ts +35 -35
- package/node_modules/@dcode/shared/dist/request-security-edition/index.d.ts +3 -0
- package/node_modules/@dcode/shared/dist/request-security-edition/index.js +3 -0
- package/node_modules/@dcode/shared/dist/request-security-edition/policy.d.ts +3 -0
- package/node_modules/@dcode/shared/dist/request-security-edition/policy.js +5 -0
- package/node_modules/@dcode/shared/dist/request-security-edition/verification-policy.d.ts +19 -0
- package/node_modules/@dcode/shared/dist/request-security-edition/verification-policy.js +29 -0
- package/node_modules/@dcode/shared/dist/rewardsBridge.d.ts +8 -0
- package/node_modules/@dcode/shared/dist/rewardsBridge.js +80 -0
- package/node_modules/@dcode/shared/dist/rewardsEmbedded.d.ts +37 -0
- package/node_modules/@dcode/shared/dist/rewardsEmbedded.js +50 -0
- package/node_modules/@dcode/shared/dist/sessionCreateTelemetry.d.ts +3 -3
- package/node_modules/@dcode/shared/dist/subagent-profile-frontmatter.d.ts +10 -0
- package/node_modules/@dcode/shared/dist/subagent-profile-frontmatter.js +212 -0
- package/node_modules/@dcode/shared/dist/subagent-profile-parser.d.ts +10 -0
- package/node_modules/@dcode/shared/dist/subagent-profile-parser.js +200 -0
- package/node_modules/@dcode/shared/dist/subagent-profile.d.ts +82 -0
- package/node_modules/@dcode/shared/dist/subagent-profile.js +28 -0
- package/node_modules/@dcode/shared/dist/subagent-runtime-config.d.ts +135 -0
- package/node_modules/@dcode/shared/dist/subagent-runtime-config.js +39 -0
- package/node_modules/@dcode/shared/dist/subagents-types.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/task-realtime-core.d.ts +57 -24
- package/node_modules/@dcode/shared/dist/task-realtime-core.js +8 -2
- package/node_modules/@dcode/shared/dist/test-ids-workflow.d.ts +4 -0
- package/node_modules/@dcode/shared/dist/test-ids-workflow.js +5 -0
- package/node_modules/@dcode/shared/dist/test-ids.d.ts +25 -0
- package/node_modules/@dcode/shared/dist/test-ids.js +25 -0
- package/node_modules/@dcode/shared/dist/tool-identity.d.ts +1 -1
- package/node_modules/@dcode/shared/dist/tool-identity.js +4 -0
- package/node_modules/@dcode/shared/dist/tool-plan-adapter.js +14 -1
- package/node_modules/@dcode/shared/dist/usage-stats.d.ts +13 -0
- package/node_modules/@dcode/shared/dist/validation.d.ts +1542 -166
- package/node_modules/@dcode/shared/dist/validation.js +423 -14
- package/node_modules/@dcode/shared/dist/validationAppSettings.d.ts +70 -14
- package/node_modules/@dcode/shared/dist/validationAppSettings.js +74 -12
- package/node_modules/@dcode/shared/dist/web-remote-control-heartbeat.d.ts +8 -0
- package/node_modules/@dcode/shared/dist/web-remote-control-heartbeat.js +40 -0
- package/node_modules/@dcode/shared/dist/web-remote-control-rpc-transport.d.ts +183 -0
- package/node_modules/@dcode/shared/dist/web-remote-control-rpc-transport.js +562 -0
- package/node_modules/@dcode/shared/dist/web-remote-control.d.ts +645 -0
- package/node_modules/@dcode/shared/dist/web-remote-control.js +174 -0
- package/node_modules/@dcode/shared/package.json +5 -2
- package/node_modules/@dcode/tui/dist/app-approval-panel.js +3 -2
- package/node_modules/@dcode/tui/dist/app-approval.d.ts +3 -1
- package/node_modules/@dcode/tui/dist/app-approval.js +9 -5
- package/node_modules/@dcode/tui/dist/app-compact-timeline.d.ts +3 -0
- package/node_modules/@dcode/tui/dist/app-compact-timeline.js +5 -2
- package/node_modules/@dcode/tui/dist/app-empty-transcript.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-empty-transcript.js +1 -1
- package/node_modules/@dcode/tui/dist/app-file-mentions.d.ts +2 -0
- package/node_modules/@dcode/tui/dist/app-file-mentions.js +2 -2
- package/node_modules/@dcode/tui/dist/app-input-pane.d.ts +38 -0
- package/node_modules/@dcode/tui/dist/app-input-pane.js +19 -19
- package/node_modules/@dcode/tui/dist/app-input-status.d.ts +17 -0
- package/node_modules/@dcode/tui/dist/app-input-status.js +4 -4
- package/node_modules/@dcode/tui/dist/app-input.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-input.js +1 -1
- package/node_modules/@dcode/tui/dist/app-markdown-theme.d.ts +2 -1
- package/node_modules/@dcode/tui/dist/app-markdown-theme.js +1 -1
- package/node_modules/@dcode/tui/dist/app-markdown.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-markdown.js +1 -1
- package/node_modules/@dcode/tui/dist/app-mode-command.d.ts +3 -0
- package/node_modules/@dcode/tui/dist/app-mode-command.js +4 -4
- package/node_modules/@dcode/tui/dist/app-mode-suggestion-panel.d.ts +5 -0
- package/node_modules/@dcode/tui/dist/app-mode-suggestion-panel.js +1 -1
- package/node_modules/@dcode/tui/dist/app-mode.d.ts +1 -1
- package/node_modules/@dcode/tui/dist/app-mode.js +1 -1
- package/node_modules/@dcode/tui/dist/app-model-ref.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-model-ref.js +1 -1
- package/node_modules/@dcode/tui/dist/app-motion.d.ts +13 -0
- package/node_modules/@dcode/tui/dist/app-motion.js +17 -7
- package/node_modules/@dcode/tui/dist/app-session-event-handler.d.ts +33 -0
- package/node_modules/@dcode/tui/dist/app-session-event-handler.js +4 -4
- package/node_modules/@dcode/tui/dist/app-shiki-diff-view.d.ts +18 -1
- package/node_modules/@dcode/tui/dist/app-shiki-diff-view.js +3 -3
- package/node_modules/@dcode/tui/dist/app-shiki-highlighter.d.ts +3 -0
- package/node_modules/@dcode/tui/dist/app-shiki-highlighter.js +7 -2
- package/node_modules/@dcode/tui/dist/app-sidebar-layout.d.ts +10 -0
- package/node_modules/@dcode/tui/dist/app-sidebar-layout.js +4 -4
- package/node_modules/@dcode/tui/dist/app-submit.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-submit.js +1 -1
- package/node_modules/@dcode/tui/dist/app-thought-components.d.ts +7 -0
- package/node_modules/@dcode/tui/dist/app-thought-components.js +2 -2
- package/node_modules/@dcode/tui/dist/app-tool-transcript.d.ts +1 -0
- package/node_modules/@dcode/tui/dist/app-tool-transcript.js +3 -0
- package/node_modules/@dcode/tui/dist/app-view.d.ts +27 -0
- package/node_modules/@dcode/tui/dist/app-view.js +1 -1
- package/node_modules/@dcode/tui/dist/app-workflow-card.js +1 -1
- package/node_modules/@dcode/tui/dist/app-workflow-seed.d.ts +18 -1
- package/node_modules/@dcode/tui/dist/app-workflow-seed.js +4 -4
- package/node_modules/@dcode/tui/dist/index.js +5117 -2578
- package/node_modules/@dcode/tui/dist/tui.d.ts +3 -0
- package/node_modules/@dcode/tui/dist/tui.js +1 -1
- package/node_modules/@dcode/tui/dist/types.d.ts +1 -1
- package/node_modules/oniguruma-parser/LICENSE +1 -1
- package/node_modules/oniguruma-parser/README.md +15 -61
- package/node_modules/oniguruma-parser/dist/oniguruma-parser.min.js +4 -4
- package/node_modules/oniguruma-parser/dist/parser/parse.js +1 -1
- package/node_modules/oniguruma-parser/dist/traverser/traverse.js +1 -1
- package/node_modules/oniguruma-parser/package.json +5 -5
- package/node_modules/oniguruma-to-es/dist/cjs/generate.d.ts +1 -1
- package/node_modules/oniguruma-to-es/dist/cjs/index.js +121 -120
- package/node_modules/oniguruma-to-es/dist/cjs/subclass.d.ts +2 -2
- package/node_modules/oniguruma-to-es/dist/cjs/transform.d.ts +3 -5
- package/node_modules/oniguruma-to-es/dist/cjs/unicode.d.ts +1 -1
- package/node_modules/oniguruma-to-es/dist/esm/generate.d.ts +1 -1
- package/node_modules/oniguruma-to-es/dist/esm/index.js +1 -3
- package/node_modules/oniguruma-to-es/dist/esm/subclass.d.ts +2 -2
- package/node_modules/oniguruma-to-es/dist/esm/transform.d.ts +3 -5
- package/node_modules/oniguruma-to-es/dist/esm/unicode.d.ts +1 -1
- package/node_modules/oniguruma-to-es/dist/index.min.js +6 -6
- package/node_modules/oniguruma-to-es/package.json +5 -5
- package/package.json +5 -5
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { mcpAppsSamplingParamsSchema } from "./sampling.js";
|
|
3
|
+
const base = {
|
|
4
|
+
messages: [{ role: "user", content: { type: "text", text: "Explain fractions" } }],
|
|
5
|
+
maxTokens: 200,
|
|
6
|
+
};
|
|
7
|
+
describe("MCP App sampling boundary", () => {
|
|
8
|
+
it("accepts ordered text/image messages and advisory model hints", () => {
|
|
9
|
+
expect(mcpAppsSamplingParamsSchema.parse({
|
|
10
|
+
...base,
|
|
11
|
+
modelPreferences: { hints: [{ name: "other-model" }] },
|
|
12
|
+
})).toMatchObject(base);
|
|
13
|
+
expect(mcpAppsSamplingParamsSchema.safeParse({
|
|
14
|
+
...base,
|
|
15
|
+
messages: [
|
|
16
|
+
{ role: "user", content: [{ type: "image", mimeType: "image/png", data: "AQ==" }] },
|
|
17
|
+
],
|
|
18
|
+
}).success).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
for (const extra of [
|
|
21
|
+
{ tools: [] },
|
|
22
|
+
{ includeContext: "allServers" },
|
|
23
|
+
{ temperature: 0 },
|
|
24
|
+
{ stopSequences: [] },
|
|
25
|
+
{ providerId: "injected" },
|
|
26
|
+
{ maxTokens: 0 },
|
|
27
|
+
])
|
|
28
|
+
it(`rejects unsupported input ${JSON.stringify(extra)}`, () => {
|
|
29
|
+
expect(mcpAppsSamplingParamsSchema.safeParse({ ...base, ...extra }).success).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
for (const content of [
|
|
32
|
+
{ type: "audio", data: "AQ==", mimeType: "audio/wav" },
|
|
33
|
+
{ type: "resource_link", uri: "file:///secret" },
|
|
34
|
+
{ type: "image", mimeType: "image/png", data: "invalid!" },
|
|
35
|
+
{ type: "image", mimeType: "image/svg+xml", data: "AQ==" },
|
|
36
|
+
])
|
|
37
|
+
it(`rejects unsupported or malformed block ${content.type}`, () => {
|
|
38
|
+
expect(mcpAppsSamplingParamsSchema.safeParse({ ...base, messages: [{ role: "user", content }] })
|
|
39
|
+
.success).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
it("bounds total blocks, UTF-8 text, metadata and decoded image bytes", () => {
|
|
43
|
+
const parse = (messages, extra = {}) => mcpAppsSamplingParamsSchema.safeParse({ ...base, messages, ...extra });
|
|
44
|
+
const blocks = Array.from({ length: 65 }, () => ({ type: "text", text: "x" }));
|
|
45
|
+
expect(parse([{ role: "user", content: blocks }]).success).toBe(false);
|
|
46
|
+
expect(parse([{ role: "user", content: { type: "text", text: "数".repeat(3 * 1024 * 1024) } }])
|
|
47
|
+
.success).toBe(false);
|
|
48
|
+
expect(parse(base.messages, { metadata: { payload: "x".repeat(8 * 1024 * 1024) } }).success).toBe(false);
|
|
49
|
+
const data = Buffer.alloc(4 * 1024 * 1024).toString("base64");
|
|
50
|
+
expect(parse([{ role: "user", content: { type: "image", mimeType: "image/png", data } }]).success).toBe(true);
|
|
51
|
+
expect(parse([
|
|
52
|
+
{ role: "user", content: { type: "image", mimeType: "image/png", data: data + "AAAA" } },
|
|
53
|
+
]).success).toBe(false);
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=sampling.test.js.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* 以下 schema 是 mcp-apps-protocol 的运行时校验面:只覆盖 DCode 自己的投影 / 元数据形状。
|
|
4
|
+
* 页面 ↔ 宿主的 `ui/*` 参数由官方 SDK(`McpUi*Schema`)校验,这里不重复。类型见 contract.ts。
|
|
5
|
+
*/
|
|
6
|
+
export declare const mcpAppsDisplayModeSchema: z.ZodEnum<{
|
|
7
|
+
inline: "inline";
|
|
8
|
+
fullscreen: "fullscreen";
|
|
9
|
+
pip: "pip";
|
|
10
|
+
}>;
|
|
11
|
+
export declare const mcpAppsToolVisibilitySchema: z.ZodEnum<{
|
|
12
|
+
model: "model";
|
|
13
|
+
app: "app";
|
|
14
|
+
}>;
|
|
15
|
+
/** 面板 id。 */
|
|
16
|
+
export declare const mcpAppsSurfaceIdSchema: z.ZodString;
|
|
17
|
+
export declare const mcpToolUiCspSchema: z.ZodObject<{
|
|
18
|
+
connectDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
+
resourceDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
20
|
+
frameDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
baseUriDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
22
|
+
}, z.core.$strict>;
|
|
23
|
+
/** 资源级 `_meta["dcode/csp"]` 归一化后的形状(只有为 true 的键)。 */
|
|
24
|
+
export declare const mcpAppCspRelaxationsSchema: z.ZodObject<{
|
|
25
|
+
unsafeEval: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
wasmUnsafeEval: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
}, z.core.$strict>;
|
|
28
|
+
export declare const mcpToolUiDescriptorSchema: z.ZodObject<{
|
|
29
|
+
resourceUri: z.ZodString;
|
|
30
|
+
visibility: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
31
|
+
model: "model";
|
|
32
|
+
app: "app";
|
|
33
|
+
}>>>;
|
|
34
|
+
preferredDisplayMode: z.ZodOptional<z.ZodEnum<{
|
|
35
|
+
inline: "inline";
|
|
36
|
+
fullscreen: "fullscreen";
|
|
37
|
+
pip: "pip";
|
|
38
|
+
}>>;
|
|
39
|
+
csp: z.ZodOptional<z.ZodObject<{
|
|
40
|
+
connectDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
41
|
+
resourceDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
frameDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
baseUriDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
44
|
+
}, z.core.$strict>>;
|
|
45
|
+
prefersBorder: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
surface: z.ZodOptional<z.ZodString>;
|
|
47
|
+
showInline: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
}, z.core.$strict>;
|
|
49
|
+
/**
|
|
50
|
+
* `display.ui`:agent 投影到 ToolCallRow.display 的插件 UI 元数据。
|
|
51
|
+
* contracts 与 dcode-protocol-v4 两处 strict schema 都从这里复用,避免三份手写不同步。
|
|
52
|
+
*/
|
|
53
|
+
export declare const mcpToolDisplayUiSchema: z.ZodObject<{
|
|
54
|
+
pluginId: z.ZodString;
|
|
55
|
+
resourceUri: z.ZodString;
|
|
56
|
+
preferredDisplayMode: z.ZodOptional<z.ZodEnum<{
|
|
57
|
+
inline: "inline";
|
|
58
|
+
fullscreen: "fullscreen";
|
|
59
|
+
pip: "pip";
|
|
60
|
+
}>>;
|
|
61
|
+
prefersBorder: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
+
csp: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
connectDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
64
|
+
resourceDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
frameDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
66
|
+
baseUriDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
}, z.core.$strict>>;
|
|
68
|
+
structuredContent: z.ZodOptional<z.ZodString>;
|
|
69
|
+
widgetMeta: z.ZodOptional<z.ZodString>;
|
|
70
|
+
content: z.ZodOptional<z.ZodString>;
|
|
71
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
+
truncatedBytes: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
isError: z.ZodOptional<z.ZodLiteral<true>>;
|
|
74
|
+
showInline: z.ZodOptional<z.ZodLiteral<true>>;
|
|
75
|
+
surface: z.ZodOptional<z.ZodString>;
|
|
76
|
+
}, z.core.$strict>;
|
|
77
|
+
export type McpToolDisplayUi = z.infer<typeof mcpToolDisplayUiSchema>;
|
|
78
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { MCP_APPS_RESOURCE_URI_MAX_CHARS, MCP_APPS_CONTENT_MAX_BYTES, MCP_APPS_STRUCTURED_CONTENT_MAX_BYTES, MCP_APPS_SURFACE_ID_MAX_CHARS, MCP_APPS_SURFACE_ID_PATTERN, MCP_APPS_WIDGET_META_MAX_BYTES, } from "./contract.js";
|
|
3
|
+
/**
|
|
4
|
+
* 以下 schema 是 mcp-apps-protocol 的运行时校验面:只覆盖 DCode 自己的投影 / 元数据形状。
|
|
5
|
+
* 页面 ↔ 宿主的 `ui/*` 参数由官方 SDK(`McpUi*Schema`)校验,这里不重复。类型见 contract.ts。
|
|
6
|
+
*/
|
|
7
|
+
export const mcpAppsDisplayModeSchema = z.enum(["inline", "fullscreen", "pip"]);
|
|
8
|
+
export const mcpAppsToolVisibilitySchema = z.enum(["model", "app"]);
|
|
9
|
+
/** 面板 id。 */
|
|
10
|
+
export const mcpAppsSurfaceIdSchema = z
|
|
11
|
+
.string()
|
|
12
|
+
.min(1)
|
|
13
|
+
.max(MCP_APPS_SURFACE_ID_MAX_CHARS)
|
|
14
|
+
.regex(MCP_APPS_SURFACE_ID_PATTERN);
|
|
15
|
+
export const mcpToolUiCspSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
connectDomains: z.array(z.string().min(1).max(512)).optional(),
|
|
18
|
+
resourceDomains: z.array(z.string().min(1).max(512)).optional(),
|
|
19
|
+
frameDomains: z.array(z.string().min(1).max(512)).optional(),
|
|
20
|
+
baseUriDomains: z.array(z.string().min(1).max(512)).optional(),
|
|
21
|
+
})
|
|
22
|
+
.strict();
|
|
23
|
+
/** 资源级 `_meta["dcode/csp"]` 归一化后的形状(只有为 true 的键)。 */
|
|
24
|
+
export const mcpAppCspRelaxationsSchema = z
|
|
25
|
+
.object({ unsafeEval: z.boolean().optional(), wasmUnsafeEval: z.boolean().optional() })
|
|
26
|
+
.strict();
|
|
27
|
+
export const mcpToolUiDescriptorSchema = z
|
|
28
|
+
.object({
|
|
29
|
+
resourceUri: z.string().min(1).max(MCP_APPS_RESOURCE_URI_MAX_CHARS),
|
|
30
|
+
visibility: z.array(mcpAppsToolVisibilitySchema).optional(),
|
|
31
|
+
preferredDisplayMode: mcpAppsDisplayModeSchema.optional(),
|
|
32
|
+
csp: mcpToolUiCspSchema.optional(),
|
|
33
|
+
prefersBorder: z.boolean().optional(),
|
|
34
|
+
surface: mcpAppsSurfaceIdSchema.optional(),
|
|
35
|
+
showInline: z.boolean().optional(),
|
|
36
|
+
})
|
|
37
|
+
.strict();
|
|
38
|
+
/**
|
|
39
|
+
* `display.ui`:agent 投影到 ToolCallRow.display 的插件 UI 元数据。
|
|
40
|
+
* contracts 与 dcode-protocol-v4 两处 strict schema 都从这里复用,避免三份手写不同步。
|
|
41
|
+
*/
|
|
42
|
+
export const mcpToolDisplayUiSchema = z
|
|
43
|
+
.object({
|
|
44
|
+
pluginId: z.string().min(1).max(256),
|
|
45
|
+
resourceUri: z.string().min(1).max(MCP_APPS_RESOURCE_URI_MAX_CHARS),
|
|
46
|
+
preferredDisplayMode: mcpAppsDisplayModeSchema.optional(),
|
|
47
|
+
prefersBorder: z.boolean().optional(),
|
|
48
|
+
csp: mcpToolUiCspSchema.optional(),
|
|
49
|
+
// 上限按 UTF-8 字节由 agent 侧保证;这里的 max 按字符数只是兜底(字符数 ≤ 字节数)。
|
|
50
|
+
structuredContent: z.string().max(MCP_APPS_STRUCTURED_CONTENT_MAX_BYTES).optional(),
|
|
51
|
+
widgetMeta: z.string().max(MCP_APPS_WIDGET_META_MAX_BYTES).optional(),
|
|
52
|
+
/** 原始 `content` 数组的 JSON 文本(≤ 32 KiB),页面 tool-result 用它而不是拼接的纯文本。 */
|
|
53
|
+
content: z.string().max(MCP_APPS_CONTENT_MAX_BYTES).optional(),
|
|
54
|
+
truncated: z.boolean().optional(),
|
|
55
|
+
/** 被省略字段的 UTF-8 字节数之和。 */
|
|
56
|
+
truncatedBytes: z.number().int().nonnegative().optional(),
|
|
57
|
+
/** MCP 结果 `isError: true`(调用本身完成、工具报错);页面 tool-result 带 isError,面板不用它覆盖上一份成功快照。 */
|
|
58
|
+
isError: z.literal(true).optional(),
|
|
59
|
+
/** 工具级强制常驻(`openai/widgetShowCodexWidgetInline`),卡片不进折叠区。 */
|
|
60
|
+
showInline: z.literal(true).optional(),
|
|
61
|
+
// 所属面板;contracts 侧 mcpToolDisplayUiPayloadSchema 同步。
|
|
62
|
+
surface: mcpAppsSurfaceIdSchema.optional(),
|
|
63
|
+
})
|
|
64
|
+
.strict();
|
|
65
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { McpAppCspRelaxations, McpAppResourceMeta, McpAppsResourcePermission, McpAppsToolVisibility, McpToolUiDescriptor } from "./contract.js";
|
|
2
|
+
/**
|
|
3
|
+
* 工具可见性与 UI 呈现解耦。只读 `_meta.ui.visibility`,缺省 `["model", "app"]`;
|
|
4
|
+
* 没有 `ui://` 资源的纯数据工具同样按它决定进不进模型工具表,不再因为缺 resourceUri 而整体丢失。
|
|
5
|
+
*/
|
|
6
|
+
export declare function readMcpToolVisibility(meta: unknown): McpAppsToolVisibility[];
|
|
7
|
+
/**
|
|
8
|
+
* 工具 `_meta` → UI 描述的归一化。纯函数。resourceUri 来源按优先级:`_meta.ui.resourceUri` →
|
|
9
|
+
* 弃用扁平键 `_meta["ui/resourceUri"]`(规范 MUST 兼容)→ 兼容接口的 `openai/outputTemplate`。
|
|
10
|
+
* 兼容 `openai/*` 别名;任何一项非法只丢弃该项,唯独 resourceUri 非法则整体为 null
|
|
11
|
+
* (此时可见性由 readMcpToolVisibility 单独给出)。
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeMcpToolUiMeta(meta: unknown): McpToolUiDescriptor | null;
|
|
14
|
+
/**
|
|
15
|
+
* `ui://` HTML 资源项自己的 `_meta`(以被选中内容项的 `_meta.ui` 为准)。
|
|
16
|
+
* csp 与 prefersBorder 兼容 `openai/widgetCSP` / `openai/widgetPrefersBorder` 别名;
|
|
17
|
+
* 尺寸提示只有 `openai/widgetHeightHint` / `openai/widgetMinFrameHeight`;`openai/widgetShowCodexWidgetInline` → showInline;
|
|
18
|
+
* 什么都没声明返回 null。
|
|
19
|
+
*/
|
|
20
|
+
export declare function normalizeMcpAppResourceMeta(meta: unknown): McpAppResourceMeta | null;
|
|
21
|
+
/** `_meta.ui.permissions`:只认规范四键且值为对象(`{}`),未知键丢弃;按固定顺序返回。 */
|
|
22
|
+
export declare function normalizeMcpAppResourcePermissions(value: unknown): McpAppsResourcePermission[];
|
|
23
|
+
/**
|
|
24
|
+
* 资源级 `_meta["dcode/csp"]`:只认 `MCP_APPS_CSP_RELAXATION_FLAGS` 里的布尔键,未知键与非布尔值丢弃;
|
|
25
|
+
* 没有任何为 true 的键返回 null(false 等于不声明)。
|
|
26
|
+
*/
|
|
27
|
+
export declare function normalizeMcpAppCspRelaxations(meta: unknown): McpAppCspRelaxations | null;
|
|
28
|
+
/** 面板 id:长度与字符集受限,非法即丢弃(工具结果退回内联卡片,不报错)。 */
|
|
29
|
+
export declare function readSurfaceId(value: unknown): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* 校验 CSP 允许列表中的单个 origin,返回归一化 origin(保留端口),非法返回 null。
|
|
32
|
+
* - `https:` / `wss:`:任意 host。
|
|
33
|
+
* - `http:` / `ws:`:仅当 hostname 恰为 `127.0.0.1`(openpencil H-B 回环放行),为的是插件自带的本机服务
|
|
34
|
+
* (例如插件 MCP server 进程里的 WebSocket 桥)能被沙箱页面连接。不放 `localhost`(可被 hosts 文件改写)、
|
|
35
|
+
* 不放 `[::1]`(与我们 MCP 桥绑定的 127.0.0.1 不一致)、不放其他 IP。
|
|
36
|
+
* - 一律不接受凭据、query、hash 与路径。
|
|
37
|
+
*/
|
|
38
|
+
export declare function normalizeCspOrigin(value: unknown): string | null;
|
|
39
|
+
//# sourceMappingURL=toolMeta.d.ts.map
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { MCP_APPS_CSP_RELAXATION_FLAGS, MCP_APPS_CSP_RELAXATION_META_KEY, MCP_APPS_DEFAULT_TOOL_VISIBILITY, MCP_APPS_RESOURCE_PERMISSIONS, MCP_APPS_LEGACY_RESOURCE_URI_META_KEY, MCP_APPS_RESOURCE_URI_MAX_CHARS, MCP_APPS_SURFACE_ID_MAX_CHARS, MCP_APPS_SURFACE_ID_PATTERN, MCP_APPS_UI_RESOURCE_SCHEME, } from "./contract.js";
|
|
2
|
+
/**
|
|
3
|
+
* 工具可见性与 UI 呈现解耦。只读 `_meta.ui.visibility`,缺省 `["model", "app"]`;
|
|
4
|
+
* 没有 `ui://` 资源的纯数据工具同样按它决定进不进模型工具表,不再因为缺 resourceUri 而整体丢失。
|
|
5
|
+
*/
|
|
6
|
+
export function readMcpToolVisibility(meta) {
|
|
7
|
+
return readVisibility(asRecord(asRecord(meta)?.ui)?.visibility);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 工具 `_meta` → UI 描述的归一化。纯函数。resourceUri 来源按优先级:`_meta.ui.resourceUri` →
|
|
11
|
+
* 弃用扁平键 `_meta["ui/resourceUri"]`(规范 MUST 兼容)→ 兼容接口的 `openai/outputTemplate`。
|
|
12
|
+
* 兼容 `openai/*` 别名;任何一项非法只丢弃该项,唯独 resourceUri 非法则整体为 null
|
|
13
|
+
* (此时可见性由 readMcpToolVisibility 单独给出)。
|
|
14
|
+
*/
|
|
15
|
+
export function normalizeMcpToolUiMeta(meta) {
|
|
16
|
+
const root = asRecord(meta);
|
|
17
|
+
if (!root)
|
|
18
|
+
return null;
|
|
19
|
+
const ui = asRecord(root.ui);
|
|
20
|
+
const resourceUri = readResourceUri(ui?.resourceUri) ??
|
|
21
|
+
readResourceUri(root[MCP_APPS_LEGACY_RESOURCE_URI_META_KEY]) ??
|
|
22
|
+
readResourceUri(root["openai/outputTemplate"]);
|
|
23
|
+
if (!resourceUri)
|
|
24
|
+
return null;
|
|
25
|
+
const descriptor = {
|
|
26
|
+
resourceUri,
|
|
27
|
+
visibility: readVisibility(ui?.visibility),
|
|
28
|
+
};
|
|
29
|
+
const preferredDisplayMode = readDisplayMode(asRecord(root["openai/ui"])?.preferredModelDisplayMode);
|
|
30
|
+
if (preferredDisplayMode)
|
|
31
|
+
descriptor.preferredDisplayMode = preferredDisplayMode;
|
|
32
|
+
const csp = readCsp(asRecord(ui?.csp), asRecord(root["openai/widgetCSP"]));
|
|
33
|
+
if (csp)
|
|
34
|
+
descriptor.csp = csp;
|
|
35
|
+
const prefersBorder = readBoolean(ui?.prefersBorder) ?? readBoolean(root["openai/widgetPrefersBorder"]);
|
|
36
|
+
if (prefersBorder !== undefined)
|
|
37
|
+
descriptor.prefersBorder = prefersBorder;
|
|
38
|
+
const surface = readSurfaceId(ui?.surface);
|
|
39
|
+
if (surface)
|
|
40
|
+
descriptor.surface = surface;
|
|
41
|
+
const showInline = readBoolean(ui?.showInline) ?? readBoolean(root["openai/widgetShowCodexWidgetInline"]);
|
|
42
|
+
if (showInline !== undefined)
|
|
43
|
+
descriptor.showInline = showInline;
|
|
44
|
+
return descriptor;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* `ui://` HTML 资源项自己的 `_meta`(以被选中内容项的 `_meta.ui` 为准)。
|
|
48
|
+
* csp 与 prefersBorder 兼容 `openai/widgetCSP` / `openai/widgetPrefersBorder` 别名;
|
|
49
|
+
* 尺寸提示只有 `openai/widgetHeightHint` / `openai/widgetMinFrameHeight`;`openai/widgetShowCodexWidgetInline` → showInline;
|
|
50
|
+
* 什么都没声明返回 null。
|
|
51
|
+
*/
|
|
52
|
+
export function normalizeMcpAppResourceMeta(meta) {
|
|
53
|
+
const root = asRecord(meta);
|
|
54
|
+
if (!root)
|
|
55
|
+
return null;
|
|
56
|
+
const ui = asRecord(root.ui);
|
|
57
|
+
const result = {};
|
|
58
|
+
const csp = readCsp(asRecord(ui?.csp), asRecord(root["openai/widgetCSP"]));
|
|
59
|
+
if (csp)
|
|
60
|
+
result.csp = csp;
|
|
61
|
+
const prefersBorder = readBoolean(ui?.prefersBorder) ?? readBoolean(root["openai/widgetPrefersBorder"]);
|
|
62
|
+
if (prefersBorder !== undefined)
|
|
63
|
+
result.prefersBorder = prefersBorder;
|
|
64
|
+
const heightHint = readPositiveInt(root["openai/widgetHeightHint"]);
|
|
65
|
+
if (heightHint !== undefined)
|
|
66
|
+
result.heightHint = heightHint;
|
|
67
|
+
const minFrameHeight = readPositiveInt(root["openai/widgetMinFrameHeight"]);
|
|
68
|
+
if (minFrameHeight !== undefined)
|
|
69
|
+
result.minFrameHeight = minFrameHeight;
|
|
70
|
+
const showInline = readBoolean(ui?.showInline) ?? readBoolean(root["openai/widgetShowCodexWidgetInline"]);
|
|
71
|
+
if (showInline !== undefined)
|
|
72
|
+
result.showInline = showInline;
|
|
73
|
+
const cspRelaxations = normalizeMcpAppCspRelaxations(meta);
|
|
74
|
+
if (cspRelaxations)
|
|
75
|
+
result.cspRelaxations = cspRelaxations;
|
|
76
|
+
const permissions = normalizeMcpAppResourcePermissions(ui?.permissions);
|
|
77
|
+
if (permissions.length > 0)
|
|
78
|
+
result.permissions = permissions;
|
|
79
|
+
return Object.keys(result).length > 0 ? result : null;
|
|
80
|
+
}
|
|
81
|
+
/** `_meta.ui.permissions`:只认规范四键且值为对象(`{}`),未知键丢弃;按固定顺序返回。 */
|
|
82
|
+
export function normalizeMcpAppResourcePermissions(value) {
|
|
83
|
+
const root = asRecord(value);
|
|
84
|
+
if (!root)
|
|
85
|
+
return [];
|
|
86
|
+
return MCP_APPS_RESOURCE_PERMISSIONS.filter((key) => asRecord(root[key]) !== null);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 资源级 `_meta["dcode/csp"]`:只认 `MCP_APPS_CSP_RELAXATION_FLAGS` 里的布尔键,未知键与非布尔值丢弃;
|
|
90
|
+
* 没有任何为 true 的键返回 null(false 等于不声明)。
|
|
91
|
+
*/
|
|
92
|
+
export function normalizeMcpAppCspRelaxations(meta) {
|
|
93
|
+
const root = asRecord(asRecord(meta)?.[MCP_APPS_CSP_RELAXATION_META_KEY]);
|
|
94
|
+
if (!root)
|
|
95
|
+
return null;
|
|
96
|
+
const result = {};
|
|
97
|
+
for (const flag of MCP_APPS_CSP_RELAXATION_FLAGS) {
|
|
98
|
+
if (root[flag] === true)
|
|
99
|
+
result[flag] = true;
|
|
100
|
+
}
|
|
101
|
+
return Object.keys(result).length > 0 ? result : null;
|
|
102
|
+
}
|
|
103
|
+
/** 面板 id:长度与字符集受限,非法即丢弃(工具结果退回内联卡片,不报错)。 */
|
|
104
|
+
export function readSurfaceId(value) {
|
|
105
|
+
if (typeof value !== "string")
|
|
106
|
+
return undefined;
|
|
107
|
+
const trimmed = value.trim();
|
|
108
|
+
if (trimmed.length === 0 || trimmed.length > MCP_APPS_SURFACE_ID_MAX_CHARS)
|
|
109
|
+
return undefined;
|
|
110
|
+
return MCP_APPS_SURFACE_ID_PATTERN.test(trimmed) ? trimmed : undefined;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 校验 CSP 允许列表中的单个 origin,返回归一化 origin(保留端口),非法返回 null。
|
|
114
|
+
* - `https:` / `wss:`:任意 host。
|
|
115
|
+
* - `http:` / `ws:`:仅当 hostname 恰为 `127.0.0.1`(openpencil H-B 回环放行),为的是插件自带的本机服务
|
|
116
|
+
* (例如插件 MCP server 进程里的 WebSocket 桥)能被沙箱页面连接。不放 `localhost`(可被 hosts 文件改写)、
|
|
117
|
+
* 不放 `[::1]`(与我们 MCP 桥绑定的 127.0.0.1 不一致)、不放其他 IP。
|
|
118
|
+
* - 一律不接受凭据、query、hash 与路径。
|
|
119
|
+
*/
|
|
120
|
+
export function normalizeCspOrigin(value) {
|
|
121
|
+
if (typeof value !== "string")
|
|
122
|
+
return null;
|
|
123
|
+
let url;
|
|
124
|
+
try {
|
|
125
|
+
url = new URL(value.trim());
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
const loopback = url.hostname === "127.0.0.1" && (url.protocol === "http:" || url.protocol === "ws:");
|
|
131
|
+
if (url.protocol !== "https:" && url.protocol !== "wss:" && !loopback)
|
|
132
|
+
return null;
|
|
133
|
+
if (url.username || url.password || url.search || url.hash)
|
|
134
|
+
return null;
|
|
135
|
+
if (url.pathname !== "/" && url.pathname !== "")
|
|
136
|
+
return null;
|
|
137
|
+
return url.origin;
|
|
138
|
+
}
|
|
139
|
+
function readResourceUri(value) {
|
|
140
|
+
if (typeof value !== "string")
|
|
141
|
+
return null;
|
|
142
|
+
const trimmed = value.trim();
|
|
143
|
+
if (!trimmed.startsWith(MCP_APPS_UI_RESOURCE_SCHEME))
|
|
144
|
+
return null;
|
|
145
|
+
if (trimmed.length > MCP_APPS_RESOURCE_URI_MAX_CHARS)
|
|
146
|
+
return null;
|
|
147
|
+
return trimmed;
|
|
148
|
+
}
|
|
149
|
+
function readVisibility(value) {
|
|
150
|
+
if (!Array.isArray(value))
|
|
151
|
+
return [...MCP_APPS_DEFAULT_TOOL_VISIBILITY];
|
|
152
|
+
const filtered = value.filter((item) => item === "model" || item === "app");
|
|
153
|
+
return filtered.length > 0 ? [...new Set(filtered)] : [...MCP_APPS_DEFAULT_TOOL_VISIBILITY];
|
|
154
|
+
}
|
|
155
|
+
function readDisplayMode(value) {
|
|
156
|
+
return value === "inline" || value === "fullscreen" || value === "pip" ? value : undefined;
|
|
157
|
+
}
|
|
158
|
+
/** 四类域各自独立读取;`openai/widgetCSP` 同时接受 camelCase 与 snake_case。 */
|
|
159
|
+
function readCsp(modern, legacy) {
|
|
160
|
+
const pick = (camel, snake) => readOriginList(modern?.[camel]) ??
|
|
161
|
+
readOriginList(legacy?.[camel]) ??
|
|
162
|
+
readOriginList(legacy?.[snake]);
|
|
163
|
+
const connect = pick("connectDomains", "connect_domains");
|
|
164
|
+
const resource = pick("resourceDomains", "resource_domains");
|
|
165
|
+
const frame = pick("frameDomains", "frame_domains");
|
|
166
|
+
const baseUri = pick("baseUriDomains", "base_uri_domains");
|
|
167
|
+
if (!connect && !resource && !frame && !baseUri)
|
|
168
|
+
return undefined;
|
|
169
|
+
const csp = {};
|
|
170
|
+
if (connect)
|
|
171
|
+
csp.connectDomains = connect;
|
|
172
|
+
if (resource)
|
|
173
|
+
csp.resourceDomains = resource;
|
|
174
|
+
if (frame)
|
|
175
|
+
csp.frameDomains = frame;
|
|
176
|
+
if (baseUri)
|
|
177
|
+
csp.baseUriDomains = baseUri;
|
|
178
|
+
return csp;
|
|
179
|
+
}
|
|
180
|
+
function readPositiveInt(value) {
|
|
181
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0
|
|
182
|
+
? Math.round(value)
|
|
183
|
+
: undefined;
|
|
184
|
+
}
|
|
185
|
+
function readOriginList(value) {
|
|
186
|
+
if (!Array.isArray(value))
|
|
187
|
+
return undefined;
|
|
188
|
+
const origins = value.map(normalizeCspOrigin).filter((item) => item !== null);
|
|
189
|
+
return [...new Set(origins)];
|
|
190
|
+
}
|
|
191
|
+
function readBoolean(value) {
|
|
192
|
+
return typeof value === "boolean" ? value : undefined;
|
|
193
|
+
}
|
|
194
|
+
function asRecord(value) {
|
|
195
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
196
|
+
? value
|
|
197
|
+
: null;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=toolMeta.js.map
|
|
@@ -7,10 +7,10 @@ import type { McpServerFailureKind } from "./dcode-protocol/index.js";
|
|
|
7
7
|
export declare const DCODE_CUA_OFFICIAL_PLUGIN_ID = "computer-use@dcode-plugins-official";
|
|
8
8
|
export declare const DCODE_CUA_OFFICIAL_MCP_NAMESPACE_NAME = "plugin:computer-use:computer-use";
|
|
9
9
|
export declare const DCODE_PLUGIN_ID_ENV_KEY = "DCODE_PLUGIN_ID";
|
|
10
|
-
export type McpSource = "mcp" | "dcodeagentmcp";
|
|
10
|
+
export type McpSource = "mcp" | "dcodeagentmcp" | "claudeclimcp" | "geminiclimcp" | "codexclimcp" | "opencodemcp";
|
|
11
11
|
export type CliMcpSource = Exclude<McpSource, "mcp">;
|
|
12
12
|
export type McpScope = "common" | "user" | "workspace";
|
|
13
|
-
export type McpFileFormat = "json";
|
|
13
|
+
export type McpFileFormat = "json" | "toml";
|
|
14
14
|
export interface McpServerConfig {
|
|
15
15
|
type?: string;
|
|
16
16
|
url?: string;
|
|
@@ -84,6 +84,10 @@ export interface McpConfig {
|
|
|
84
84
|
mcpServers: Record<string, McpServerConfig>;
|
|
85
85
|
};
|
|
86
86
|
dcodeagentmcp: CliMcpConfig;
|
|
87
|
+
claudeclimcp: CliMcpConfig;
|
|
88
|
+
geminiclimcp: CliMcpConfig;
|
|
89
|
+
codexclimcp: CliMcpConfig;
|
|
90
|
+
opencodemcp: CliMcpConfig;
|
|
87
91
|
}
|
|
88
92
|
export interface DCodeMcpServer {
|
|
89
93
|
id: string;
|
|
@@ -1,15 +1,46 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* 执行 Selection 退回 Session Selection 的原因。由发起方在 selectionFallback 规则里声明,
|
|
4
|
+
* CLI 只透传命中规则的原因,不自行解释 provider 错误码。
|
|
5
|
+
*/
|
|
6
|
+
export declare const modelExecutionSelectionFallbackReasonSchema: z.ZodEnum<{
|
|
7
|
+
highspeed_card_expired: "highspeed_card_expired";
|
|
8
|
+
highspeed_request_failed: "highspeed_request_failed";
|
|
9
|
+
}>;
|
|
2
10
|
/** 文本与附件发送共用执行约束,凭据只属于单次执行,不进入 Session 配置。 */
|
|
3
11
|
export declare const modelExecutionSchema: z.ZodObject<{
|
|
4
12
|
memoryExtraction: z.ZodOptional<z.ZodLiteral<"skip">>;
|
|
5
13
|
selectionScope: z.ZodLiteral<"execution">;
|
|
6
14
|
requestAuth: z.ZodOptional<z.ZodObject<{
|
|
7
15
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
16
|
+
apiKeyId: z.ZodOptional<z.ZodString>;
|
|
17
|
+
accountScope: z.ZodOptional<z.ZodString>;
|
|
8
18
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9
19
|
}, z.core.$strict>>;
|
|
10
20
|
subagents: z.ZodOptional<z.ZodObject<{
|
|
11
21
|
foregroundModel: z.ZodLiteral<"submission">;
|
|
12
22
|
background: z.ZodLiteral<"deny">;
|
|
13
23
|
}, z.core.$strict>>;
|
|
24
|
+
selectionFallback: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
providerId: z.ZodString;
|
|
26
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
27
|
+
reason: z.ZodEnum<{
|
|
28
|
+
highspeed_card_expired: "highspeed_card_expired";
|
|
29
|
+
highspeed_request_failed: "highspeed_request_failed";
|
|
30
|
+
}>;
|
|
31
|
+
providerErrorCode: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strict>>;
|
|
33
|
+
target: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
providerId: z.ZodString;
|
|
35
|
+
modelId: z.ZodString;
|
|
36
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
reasoningLevel: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strict>>;
|
|
39
|
+
}, z.core.$strict>>;
|
|
40
|
+
}, z.core.$strict>>;
|
|
14
41
|
}, z.core.$strict>;
|
|
42
|
+
export type ModelExecution = z.infer<typeof modelExecutionSchema>;
|
|
43
|
+
export type ModelExecutionSelectionFallback = NonNullable<ModelExecution["selectionFallback"]>;
|
|
44
|
+
export type ModelExecutionSelectionFallbackRule = ModelExecutionSelectionFallback["rules"][number];
|
|
45
|
+
export type ModelExecutionSelectionFallbackReason = z.infer<typeof modelExecutionSelectionFallbackReasonSchema>;
|
|
15
46
|
//# sourceMappingURL=model-execution.d.ts.map
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { modelSelectionSchema } from "./model-selection.js";
|
|
3
|
+
/**
|
|
4
|
+
* 执行 Selection 退回 Session Selection 的原因。由发起方在 selectionFallback 规则里声明,
|
|
5
|
+
* CLI 只透传命中规则的原因,不自行解释 provider 错误码。
|
|
6
|
+
*/
|
|
7
|
+
export const modelExecutionSelectionFallbackReasonSchema = z.enum([
|
|
8
|
+
"highspeed_card_expired",
|
|
9
|
+
"highspeed_request_failed",
|
|
10
|
+
]);
|
|
2
11
|
/** 文本与附件发送共用执行约束,凭据只属于单次执行,不进入 Session 配置。 */
|
|
3
12
|
export const modelExecutionSchema = z
|
|
4
13
|
.object({
|
|
@@ -7,6 +16,11 @@ export const modelExecutionSchema = z
|
|
|
7
16
|
requestAuth: z
|
|
8
17
|
.object({
|
|
9
18
|
apiKey: z.string().min(1).optional(),
|
|
19
|
+
apiKeyId: z.string().trim().min(1).optional(),
|
|
20
|
+
accountScope: z
|
|
21
|
+
.string()
|
|
22
|
+
.regex(/^[a-f0-9]{64}$/)
|
|
23
|
+
.optional(),
|
|
10
24
|
headers: z.record(z.string().min(1), z.string().min(1)).optional(),
|
|
11
25
|
})
|
|
12
26
|
.strict()
|
|
@@ -18,6 +32,30 @@ export const modelExecutionSchema = z
|
|
|
18
32
|
})
|
|
19
33
|
.strict()
|
|
20
34
|
.optional(),
|
|
35
|
+
/**
|
|
36
|
+
* 本次执行的 Selection 失败时,同一 Turn 内退回原模型继续跑完,而不是让整轮失败。
|
|
37
|
+
* 触发条件由发起方声明:`providerId` 限定只匹配本轮 execution Selection 指向的 provider;
|
|
38
|
+
* `rules` 按声明顺序匹配,首个命中的规则决定退回原因,`providerErrorCode` 缺省表示该 provider
|
|
39
|
+
* 的任何失败(用户取消与上下文超窗除外)。CLI 不按 provider id 前缀、模型名或错误文案硬编码。
|
|
40
|
+
* 退回目标先取 `target`(发起方抽卡时的提交选择,即会话原模型),再取 runtime 会话常驻 Selection:
|
|
41
|
+
* execution 作用域从不改写会话选择,但常驻选择只在 runtime 内存里,冷恢复竞态下可能未绑定,
|
|
42
|
+
* 所以发起方必须声明 `target`(docs/highspeed/highspeed-card-spec.md §2.2)。
|
|
43
|
+
*/
|
|
44
|
+
selectionFallback: z
|
|
45
|
+
.object({
|
|
46
|
+
providerId: z.string().min(1),
|
|
47
|
+
rules: z
|
|
48
|
+
.array(z
|
|
49
|
+
.object({
|
|
50
|
+
reason: modelExecutionSelectionFallbackReasonSchema,
|
|
51
|
+
providerErrorCode: z.string().min(1).optional(),
|
|
52
|
+
})
|
|
53
|
+
.strict())
|
|
54
|
+
.min(1),
|
|
55
|
+
target: modelSelectionSchema.optional(),
|
|
56
|
+
})
|
|
57
|
+
.strict()
|
|
58
|
+
.optional(),
|
|
21
59
|
})
|
|
22
60
|
.strict();
|
|
23
61
|
//# sourceMappingURL=model-execution.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const NETWORK_CAPTURE_LIMIT = 1000;
|
|
3
|
+
export declare const networkCaptureControlSchema: z.ZodObject<{
|
|
4
|
+
captureId: z.ZodNullable<z.ZodString>;
|
|
5
|
+
}, z.core.$strict>;
|
|
6
|
+
export declare const networkRequestRecordSchema: z.ZodObject<{
|
|
7
|
+
timestamp: z.ZodNumber;
|
|
8
|
+
processType: z.ZodEnum<{
|
|
9
|
+
host: "host";
|
|
10
|
+
main: "main";
|
|
11
|
+
renderer: "renderer";
|
|
12
|
+
cli: "cli";
|
|
13
|
+
}>;
|
|
14
|
+
pid: z.ZodNumber;
|
|
15
|
+
method: z.ZodString;
|
|
16
|
+
url: z.ZodString;
|
|
17
|
+
}, z.core.$strict>;
|
|
18
|
+
export declare const networkCaptureBatchSchema: z.ZodObject<{
|
|
19
|
+
captureId: z.ZodString;
|
|
20
|
+
records: z.ZodArray<z.ZodObject<{
|
|
21
|
+
timestamp: z.ZodNumber;
|
|
22
|
+
processType: z.ZodEnum<{
|
|
23
|
+
host: "host";
|
|
24
|
+
main: "main";
|
|
25
|
+
renderer: "renderer";
|
|
26
|
+
cli: "cli";
|
|
27
|
+
}>;
|
|
28
|
+
pid: z.ZodNumber;
|
|
29
|
+
method: z.ZodString;
|
|
30
|
+
url: z.ZodString;
|
|
31
|
+
}, z.core.$strict>>;
|
|
32
|
+
dropped: z.ZodNumber;
|
|
33
|
+
}, z.core.$strict>;
|
|
34
|
+
export type NetworkRequestRecord = z.infer<typeof networkRequestRecordSchema>;
|
|
35
|
+
export type NetworkCaptureBatch = z.infer<typeof networkCaptureBatchSchema>;
|
|
36
|
+
export interface NetworkCaptureSnapshot {
|
|
37
|
+
captureId: string;
|
|
38
|
+
records: Array<NetworkRequestRecord & {
|
|
39
|
+
id: number;
|
|
40
|
+
}>;
|
|
41
|
+
dropped: number;
|
|
42
|
+
}
|
|
43
|
+
export interface NetworkCaptureBridge {
|
|
44
|
+
getSnapshot(): Promise<NetworkCaptureSnapshot>;
|
|
45
|
+
clear(): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
/** 不保留凭据、fragment 或查询值;仍保留路径和查询键用于辨认请求。 */
|
|
48
|
+
export declare function sanitizeNetworkCaptureUrl(value: string): string | undefined;
|
|
49
|
+
//# sourceMappingURL=networkCapture.d.ts.map
|