@noodleseed/one 0.35.2 → 0.37.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/commands/catalog-data-resources.d.ts.map +1 -1
- package/dist/commands/catalog-data-resources.js +2 -1
- package/dist/commands/catalog-data-resources.js.map +1 -1
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +15 -8
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/policy-ops.d.ts.map +1 -1
- package/dist/commands/policy-ops.js +57 -15
- package/dist/commands/policy-ops.js.map +1 -1
- package/dist/widget-scaffold-template.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +6 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js +2 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +9 -9
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +7 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +76 -8
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -2
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +90 -9
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +4 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +2 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts +4 -0
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js +26 -0
- package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/context.d.ts +25 -0
- package/node_modules/@noodle-borg/authoring/dist/context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/context.js +34 -0
- package/node_modules/@noodle-borg/authoring/dist/context.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts +9 -0
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/bridge.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts +8 -2
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.js +46 -1
- package/node_modules/@noodle-borg/authoring/dist/react/hooks.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts +2 -2
- package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/index.js +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/index.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.d.ts +4 -0
- package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.js +94 -0
- package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.js.map +1 -0
- package/node_modules/@noodle-borg/authoring/dist/recording.d.ts +19 -2
- package/node_modules/@noodle-borg/authoring/dist/recording.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/recording.js +71 -8
- package/node_modules/@noodle-borg/authoring/dist/recording.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +23 -0
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.js +6 -0
- package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.d.ts +2 -2
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +4 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/config.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts +4 -6
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js +6 -6
- package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +23 -6
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js +7 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.js +26 -6
- package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.d.ts +9 -0
- package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.js +36 -0
- package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts +18 -0
- package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/context-compile.js +28 -0
- package/node_modules/@noodle-borg/compiler/dist/context-compile.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.d.ts +5 -0
- package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.js +108 -0
- package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.js.map +1 -0
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts +3 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +22 -4
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts +8 -3
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js +16 -3
- package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts +2 -2
- package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js +1 -1
- package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/expression.d.ts +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +37 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +27 -4
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +2 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.d.ts +20 -0
- package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.js +159 -0
- package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/context-tool.d.ts +9 -0
- package/node_modules/@noodle-borg/protocol/dist/context-tool.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/context-tool.js +76 -0
- package/node_modules/@noodle-borg/protocol/dist/context-tool.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.js +10 -22
- package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +9 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +54 -6
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/stateless.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/stateless.js +8 -1
- package/node_modules/@noodle-borg/protocol/dist/stateless.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts +29 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js +74 -0
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js +9 -4
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.d.ts +3 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.js +80 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.js +16 -4
- package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js +2 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/ambient-context.d.ts +10 -0
- package/node_modules/@noodle-borg/runtime/dist/ambient-context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/ambient-context.js +51 -0
- package/node_modules/@noodle-borg/runtime/dist/ambient-context.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.d.ts +18 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js +263 -0
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +4 -0
- package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/connector/types.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/context-bounds.d.ts +15 -0
- package/node_modules/@noodle-borg/runtime/dist/context-bounds.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/context-bounds.js +123 -0
- package/node_modules/@noodle-borg/runtime/dist/context-bounds.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/elicitation-response.d.ts +13 -0
- package/node_modules/@noodle-borg/runtime/dist/elicitation-response.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/elicitation-response.js +26 -0
- package/node_modules/@noodle-borg/runtime/dist/elicitation-response.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +69 -7
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/execute.js +136 -33
- package/node_modules/@noodle-borg/runtime/dist/execute.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts +6 -2
- package/node_modules/@noodle-borg/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/index.js +5 -1
- package/node_modules/@noodle-borg/runtime/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/interactive.d.ts +8 -0
- package/node_modules/@noodle-borg/runtime/dist/interactive.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/interactive.js +138 -0
- package/node_modules/@noodle-borg/runtime/dist/interactive.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/invocation-context.d.ts +22 -0
- package/node_modules/@noodle-borg/runtime/dist/invocation-context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/invocation-context.js +2 -0
- package/node_modules/@noodle-borg/runtime/dist/invocation-context.js.map +1 -0
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts +135 -3
- package/node_modules/@noodle-borg/runtime/dist/result.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/result.js +9 -1
- package/node_modules/@noodle-borg/runtime/dist/result.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-context.d.ts +25 -0
- package/node_modules/@noodle-borg/service/dist/assistant-context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-context.js +130 -0
- package/node_modules/@noodle-borg/service/dist/assistant-context.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.d.ts +181 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.js +293 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts +92 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js +219 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-presentation.d.ts +24 -0
- package/node_modules/@noodle-borg/service/dist/assistant-presentation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-presentation.js +151 -0
- package/node_modules/@noodle-borg/service/dist/assistant-presentation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.js +6 -0
- package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts +38 -11
- package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-store.js +111 -13
- package/node_modules/@noodle-borg/service/dist/assistant-store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-view-availability.d.ts +23 -0
- package/node_modules/@noodle-borg/service/dist/assistant-view-availability.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-view-availability.js +24 -0
- package/node_modules/@noodle-borg/service/dist/assistant-view-availability.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/commercial-plans.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/commercial-plans.js +5 -6
- package/node_modules/@noodle-borg/service/dist/commercial-plans.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/customer-verifier.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js +6 -0
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts +1 -2
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +1 -2
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/invocation-context.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/invocation-context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/invocation-context.js +51 -0
- package/node_modules/@noodle-borg/service/dist/invocation-context.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/main.js +0 -9
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts +10 -0
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js +16 -0
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +14 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/google.js +11 -1
- package/node_modules/@noodle-borg/service/dist/oauth/google.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.d.ts +27 -0
- package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.js +34 -0
- package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/microsoft.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/microsoft.js +6 -0
- package/node_modules/@noodle-borg/service/dist/oauth/microsoft.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js +48 -92
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +29 -9
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.js +4 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +45 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +110 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts +19 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +228 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +7 -2
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js +126 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.d.ts +23 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.js +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js +47 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.d.ts +20 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.js +55 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +427 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.js +50 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js +49 -295
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/plans.js +92 -4
- package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.d.ts +0 -6
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +0 -6
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +4 -10
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.js +36 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.d.ts +25 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.js +330 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts +17 -3
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js +30 -37
- package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +8 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +20 -2
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/package.json +1 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +117 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js +135 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js.map +1 -1
- package/package.json +1 -1
- package/node_modules/@noodle-borg/service/dist/free-tier.d.ts +0 -33
- package/node_modules/@noodle-borg/service/dist/free-tier.d.ts.map +0 -1
- package/node_modules/@noodle-borg/service/dist/free-tier.js +0 -77
- package/node_modules/@noodle-borg/service/dist/free-tier.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ElicitRequestFormParams } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { RuntimeArtifact } from '@noodle-borg/compiler';
|
|
3
|
+
import type { ConfirmationReview } from '@noodle-borg/runtime';
|
|
4
|
+
type ArtifactTool = RuntimeArtifact['tools'][number];
|
|
5
|
+
export type ConfirmationElicitationPlan = {
|
|
6
|
+
readonly ok: true;
|
|
7
|
+
readonly request: ElicitRequestFormParams;
|
|
8
|
+
} | {
|
|
9
|
+
readonly ok: false;
|
|
10
|
+
readonly reason: 'review_not_presentable';
|
|
11
|
+
};
|
|
12
|
+
/** Build a portable, fail-closed form request for approving one prepared connector action. */
|
|
13
|
+
export declare function confirmationElicitationRequest(tool: ArtifactTool, review: ConfirmationReview): ConfirmationElicitationPlan;
|
|
14
|
+
/** MCP accept is necessary but not sufficient: the explicit form field must also be affirmative. */
|
|
15
|
+
export declare function isAffirmativeConfirmation(response: {
|
|
16
|
+
readonly action: 'accept' | 'decline' | 'cancel';
|
|
17
|
+
readonly content?: unknown;
|
|
18
|
+
}): boolean;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=confirmation-elicitation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation-elicitation.d.ts","sourceRoot":"","sources":["../src/confirmation-elicitation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY/D,KAAK,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,2BAA2B,GACnC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAEtE,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,kBAAkB,GACzB,2BAA2B,CAmC7B;AAED,oGAAoG;AACpG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE;IAClD,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAIV"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
const MAX_CONFIRMATION_MESSAGE_CHARS = 4_000;
|
|
2
|
+
const MAX_REVIEW_DEPTH = 4;
|
|
3
|
+
const MAX_REVIEW_KEYS = 32;
|
|
4
|
+
const MAX_REVIEW_ARRAY_ITEMS = 12;
|
|
5
|
+
const MAX_REVIEW_STRING_CHARS = 240;
|
|
6
|
+
const SENSITIVE_FIELD = /authorization|cookie|password|passwd|secret|token|api.?key|credential|private.?key/i;
|
|
7
|
+
const CREDENTIAL_SHAPED_VALUE = /(?:-----BEGIN [A-Z ]*PRIVATE KEY-----|\bsk-[A-Za-z0-9_-]{12,}\b|\b(?:bearer|basic)\s+[A-Za-z0-9._~+/=-]{12,}\b|\b[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}\.[A-Za-z0-9_-]{16,}\b)/i;
|
|
8
|
+
/** Build a portable, fail-closed form request for approving one prepared connector action. */
|
|
9
|
+
export function confirmationElicitationRequest(tool, review) {
|
|
10
|
+
const summary = preparedReviewSummary(tool, review);
|
|
11
|
+
if (!summary.complete)
|
|
12
|
+
return { ok: false, reason: 'review_not_presentable' };
|
|
13
|
+
const description = oneLine(tool.description).slice(0, MAX_REVIEW_STRING_CHARS);
|
|
14
|
+
const detailed = [
|
|
15
|
+
`Approve the prepared action "${tool.name}"?`,
|
|
16
|
+
description.length > 0 ? `Purpose: ${description}` : '',
|
|
17
|
+
'Prepared values:',
|
|
18
|
+
JSON.stringify(summary.value, null, 2),
|
|
19
|
+
'Approve only if these values are correct.',
|
|
20
|
+
]
|
|
21
|
+
.filter((line) => line.length > 0)
|
|
22
|
+
.join('\n');
|
|
23
|
+
if (detailed.length > MAX_CONFIRMATION_MESSAGE_CHARS) {
|
|
24
|
+
return { ok: false, reason: 'review_not_presentable' };
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
ok: true,
|
|
28
|
+
request: {
|
|
29
|
+
mode: 'form',
|
|
30
|
+
message: detailed,
|
|
31
|
+
requestedSchema: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
confirm: {
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
title: 'Approve action',
|
|
37
|
+
description: `Run ${tool.name} with the prepared values shown above.`,
|
|
38
|
+
default: false,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
required: ['confirm'],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** MCP accept is necessary but not sufficient: the explicit form field must also be affirmative. */
|
|
47
|
+
export function isAffirmativeConfirmation(response) {
|
|
48
|
+
return (response.action === 'accept' && isRecord(response.content) && response.content.confirm === true);
|
|
49
|
+
}
|
|
50
|
+
function preparedReviewSummary(tool, review) {
|
|
51
|
+
const state = { complete: true };
|
|
52
|
+
const summary = {
|
|
53
|
+
arguments: projectReviewValue(tool.inputSchema, review.input, 0, state),
|
|
54
|
+
};
|
|
55
|
+
if (review.action !== undefined) {
|
|
56
|
+
summary.action = {
|
|
57
|
+
connector: `${review.action.connectorId}@${review.action.connectorVersion}`,
|
|
58
|
+
operation: review.action.operation,
|
|
59
|
+
arguments: projectReviewValue(review.action.inputSchema, review.action.arguments, 0, state),
|
|
60
|
+
additionalOperationCount: review.action.additionalOperationCount,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (Object.keys(review.elicited).length === 0)
|
|
64
|
+
return { value: summary, ...state };
|
|
65
|
+
const elicitationSchemas = new Map();
|
|
66
|
+
if (tool.fulfilment.kind === 'flow') {
|
|
67
|
+
for (const step of tool.fulfilment.steps) {
|
|
68
|
+
if (step.kind === 'elicit')
|
|
69
|
+
elicitationSchemas.set(step.id, step.requestedSchema);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const collected = Object.create(null);
|
|
73
|
+
const elicitedEntries = Object.entries(review.elicited);
|
|
74
|
+
for (const [id, value] of elicitedEntries.slice(0, MAX_REVIEW_KEYS)) {
|
|
75
|
+
const schema = elicitationSchemas.get(id);
|
|
76
|
+
if (schema === undefined) {
|
|
77
|
+
state.complete = false;
|
|
78
|
+
collected[id] = '[OMITTED]';
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
collected[id] = projectReviewValue(schema, value, 0, state);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (elicitedEntries.length > MAX_REVIEW_KEYS)
|
|
85
|
+
state.complete = false;
|
|
86
|
+
summary.collectedInput = collected;
|
|
87
|
+
return { value: summary, ...state };
|
|
88
|
+
}
|
|
89
|
+
function projectReviewValue(schema, value, depth, state) {
|
|
90
|
+
if (schema.writeOnly === true || schema['x-sensitive'] === true)
|
|
91
|
+
return '[REDACTED]';
|
|
92
|
+
if (depth >= MAX_REVIEW_DEPTH) {
|
|
93
|
+
state.complete = false;
|
|
94
|
+
return '[OMITTED]';
|
|
95
|
+
}
|
|
96
|
+
if (typeof value === 'string') {
|
|
97
|
+
if (CREDENTIAL_SHAPED_VALUE.test(value)) {
|
|
98
|
+
state.complete = false;
|
|
99
|
+
return '[REDACTED]';
|
|
100
|
+
}
|
|
101
|
+
if (value.length <= MAX_REVIEW_STRING_CHARS)
|
|
102
|
+
return value;
|
|
103
|
+
state.complete = false;
|
|
104
|
+
return `${value.slice(0, MAX_REVIEW_STRING_CHARS)}…`;
|
|
105
|
+
}
|
|
106
|
+
if (typeof value === 'number' || typeof value === 'boolean' || value === null)
|
|
107
|
+
return value;
|
|
108
|
+
if (Array.isArray(value)) {
|
|
109
|
+
const itemSchema = isRecord(schema.items) ? schema.items : {};
|
|
110
|
+
const projected = value
|
|
111
|
+
.slice(0, MAX_REVIEW_ARRAY_ITEMS)
|
|
112
|
+
.map((item) => projectReviewValue(itemSchema, item, depth + 1, state));
|
|
113
|
+
if (value.length > MAX_REVIEW_ARRAY_ITEMS) {
|
|
114
|
+
state.complete = false;
|
|
115
|
+
projected.push('[OMITTED]');
|
|
116
|
+
}
|
|
117
|
+
return projected;
|
|
118
|
+
}
|
|
119
|
+
if (!isRecord(value)) {
|
|
120
|
+
state.complete = false;
|
|
121
|
+
return '[OMITTED]';
|
|
122
|
+
}
|
|
123
|
+
const properties = isRecord(schema.properties) ? schema.properties : {};
|
|
124
|
+
const projected = Object.create(null);
|
|
125
|
+
for (const [key, child] of Object.entries(value).slice(0, MAX_REVIEW_KEYS)) {
|
|
126
|
+
const childSchema = Object.hasOwn(properties, key) ? properties[key] : undefined;
|
|
127
|
+
if (isRecord(childSchema) && isSensitive(childSchema)) {
|
|
128
|
+
projected[key] = '[REDACTED]';
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (SENSITIVE_FIELD.test(key)) {
|
|
132
|
+
state.complete = false;
|
|
133
|
+
projected[key] = '[REDACTED]';
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (!isRecord(childSchema)) {
|
|
137
|
+
state.complete = false;
|
|
138
|
+
projected[key] = '[OMITTED]';
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
projected[key] = projectReviewValue(childSchema, child, depth + 1, state);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (Object.keys(value).length > MAX_REVIEW_KEYS) {
|
|
145
|
+
state.complete = false;
|
|
146
|
+
projected._omitted = true;
|
|
147
|
+
}
|
|
148
|
+
return projected;
|
|
149
|
+
}
|
|
150
|
+
function isSensitive(schema) {
|
|
151
|
+
return schema.writeOnly === true || schema['x-sensitive'] === true;
|
|
152
|
+
}
|
|
153
|
+
function isRecord(value) {
|
|
154
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
155
|
+
}
|
|
156
|
+
function oneLine(value) {
|
|
157
|
+
return value.replace(/\s+/g, ' ').trim();
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=confirmation-elicitation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation-elicitation.js","sourceRoot":"","sources":["../src/confirmation-elicitation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuntimeArtifact } from '@noodle-borg/compiler';
|
|
2
|
+
import type { ToolDescriptor } from './mapping.js';
|
|
3
|
+
/** Reserved, surface-neutral MCP adapter for an invocation's immutable context snapshot. */
|
|
4
|
+
export declare const CONTEXT_TOOL_NAME = "noodle_context";
|
|
5
|
+
export declare const CONTEXT_TOOL_DESCRIPTOR: ToolDescriptor;
|
|
6
|
+
export declare function artifactDeclaresContext(artifact: RuntimeArtifact): boolean;
|
|
7
|
+
/** Fail explicitly rather than shadowing either an author tool or the platform context adapter. */
|
|
8
|
+
export declare function assertNoContextToolCollision(artifact: RuntimeArtifact): void;
|
|
9
|
+
//# sourceMappingURL=context-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-tool.d.ts","sourceRoot":"","sources":["../src/context-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAOlD,eAAO,MAAM,uBAAuB,EAAE,cA2DrC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE1E;AAED,mGAAmG;AACnG,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAS5E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** Reserved, surface-neutral MCP adapter for an invocation's immutable context snapshot. */
|
|
2
|
+
export const CONTEXT_TOOL_NAME = 'noodle_context';
|
|
3
|
+
const PREFERENCE_SOURCE_SCHEMA = {
|
|
4
|
+
type: 'string',
|
|
5
|
+
enum: ['user-preference', 'client-hint', 'server-default', 'platform-default'],
|
|
6
|
+
};
|
|
7
|
+
export const CONTEXT_TOOL_DESCRIPTOR = {
|
|
8
|
+
name: CONTEXT_TOOL_NAME,
|
|
9
|
+
description: 'Read the server-resolved current date, time, locale, time zone, and ambient application facts for this invocation.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {},
|
|
13
|
+
additionalProperties: false,
|
|
14
|
+
},
|
|
15
|
+
outputSchema: {
|
|
16
|
+
type: 'object',
|
|
17
|
+
properties: {
|
|
18
|
+
temporal: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
instant: { type: 'string' },
|
|
22
|
+
localDate: { type: 'string' },
|
|
23
|
+
localTime: { type: 'string' },
|
|
24
|
+
utcOffset: { type: 'string' },
|
|
25
|
+
weekday: { type: 'string' },
|
|
26
|
+
timeZone: { type: 'string' },
|
|
27
|
+
locale: { type: 'string' },
|
|
28
|
+
source: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {
|
|
31
|
+
locale: PREFERENCE_SOURCE_SCHEMA,
|
|
32
|
+
timeZone: PREFERENCE_SOURCE_SCHEMA,
|
|
33
|
+
},
|
|
34
|
+
required: ['locale', 'timeZone'],
|
|
35
|
+
additionalProperties: false,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: [
|
|
39
|
+
'instant',
|
|
40
|
+
'localDate',
|
|
41
|
+
'localTime',
|
|
42
|
+
'utcOffset',
|
|
43
|
+
'weekday',
|
|
44
|
+
'timeZone',
|
|
45
|
+
'locale',
|
|
46
|
+
'source',
|
|
47
|
+
],
|
|
48
|
+
additionalProperties: false,
|
|
49
|
+
},
|
|
50
|
+
ambientStatus: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
enum: ['not_configured', 'available', 'unavailable'],
|
|
53
|
+
},
|
|
54
|
+
ambient: {},
|
|
55
|
+
},
|
|
56
|
+
required: ['temporal', 'ambientStatus'],
|
|
57
|
+
additionalProperties: false,
|
|
58
|
+
},
|
|
59
|
+
annotations: {
|
|
60
|
+
readOnlyHint: true,
|
|
61
|
+
destructiveHint: false,
|
|
62
|
+
idempotentHint: true,
|
|
63
|
+
openWorldHint: false,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
export function artifactDeclaresContext(artifact) {
|
|
67
|
+
return artifact.server?.context !== undefined;
|
|
68
|
+
}
|
|
69
|
+
/** Fail explicitly rather than shadowing either an author tool or the platform context adapter. */
|
|
70
|
+
export function assertNoContextToolCollision(artifact) {
|
|
71
|
+
if (artifactDeclaresContext(artifact) &&
|
|
72
|
+
artifact.tools.some((tool) => tool.name === CONTEXT_TOOL_NAME)) {
|
|
73
|
+
throw new Error(`tool name "${CONTEXT_TOOL_NAME}" is reserved for the Noodle Seed invocation-context adapter`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=context-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-tool.js","sourceRoot":"","sources":["../src/context-tool.ts"],"names":[],"mappings":"AAGA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAElD,MAAM,wBAAwB,GAAG;IAC/B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;CACtE,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,oHAAoH;IACtH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,MAAM,EAAE,wBAAwB;4BAChC,QAAQ,EAAE,wBAAwB;yBACnC;wBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;wBAChC,oBAAoB,EAAE,KAAK;qBAC5B;iBACF;gBACD,QAAQ,EAAE;oBACR,SAAS;oBACT,WAAW;oBACX,WAAW;oBACX,WAAW;oBACX,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,QAAQ;iBACT;gBACD,oBAAoB,EAAE,KAAK;aAC5B;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC;aACrD;YACD,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;QACvC,oBAAoB,EAAE,KAAK;KAC5B;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,QAAyB;IAC/D,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;AAChD,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,4BAA4B,CAAC,QAAyB;IACpE,IACE,uBAAuB,CAAC,QAAQ,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,cAAc,iBAAiB,8DAA8D,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ArtifactTool, RuntimeArtifact } from '@noodle-borg/compiler';
|
|
2
|
-
import type
|
|
2
|
+
import { type ExecutionError } from '@noodle-borg/runtime';
|
|
3
3
|
import { type JsonRpcErrorObject } from './jsonrpc.js';
|
|
4
4
|
/**
|
|
5
5
|
* Artifact → MCP wire mapping. The official `@modelcontextprotocol/sdk` owns JSON-RPC framing and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,YAAY,EACZ,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { splitResultMeta } from '@noodle-borg/runtime';
|
|
2
|
+
import { artifactDeclaresContext, assertNoContextToolCollision, CONTEXT_TOOL_DESCRIPTOR, } from './context-tool.js';
|
|
1
3
|
import { JSON_RPC } from './jsonrpc.js';
|
|
2
4
|
import { injectWidgetBridge } from './widget/inject.js';
|
|
3
5
|
/** Map a resolved artifact tool to an MCP tool descriptor (carrying its `_meta` extension bag, if any). */
|
|
@@ -17,7 +19,13 @@ export function mapTool(tool) {
|
|
|
17
19
|
* iframe-originated `callServerTool` requests. Visibility is not authorization; hosted policy gates the call.
|
|
18
20
|
*/
|
|
19
21
|
export function mapToolsList(artifact) {
|
|
20
|
-
|
|
22
|
+
assertNoContextToolCollision(artifact);
|
|
23
|
+
return {
|
|
24
|
+
tools: [
|
|
25
|
+
...artifact.tools.map(mapTool),
|
|
26
|
+
...(artifactDeclaresContext(artifact) ? [CONTEXT_TOOL_DESCRIPTOR] : []),
|
|
27
|
+
],
|
|
28
|
+
};
|
|
21
29
|
}
|
|
22
30
|
/**
|
|
23
31
|
* Map a successful tool output to a `tools/call` result. Structured (object) output is returned as
|
|
@@ -25,7 +33,7 @@ export function mapToolsList(artifact) {
|
|
|
25
33
|
* that do not read structured content).
|
|
26
34
|
*/
|
|
27
35
|
export function mapToolOutput(output) {
|
|
28
|
-
const { visible, meta } =
|
|
36
|
+
const { visible, meta } = splitResultMeta(output);
|
|
29
37
|
const text = typeof visible === 'string' ? visible : JSON.stringify(visible);
|
|
30
38
|
const structured = visible !== null && typeof visible === 'object' && !Array.isArray(visible);
|
|
31
39
|
return structured
|
|
@@ -42,26 +50,6 @@ export function mapToolOutput(output) {
|
|
|
42
50
|
};
|
|
43
51
|
}
|
|
44
52
|
const RESULT_META_KEY = '__noodleResultMeta';
|
|
45
|
-
function extractResultMeta(output) {
|
|
46
|
-
if (output === null || typeof output !== 'object' || Array.isArray(output)) {
|
|
47
|
-
return { visible: output };
|
|
48
|
-
}
|
|
49
|
-
const record = output;
|
|
50
|
-
const rawMeta = record[RESULT_META_KEY];
|
|
51
|
-
if (rawMeta === undefined)
|
|
52
|
-
return { visible: output };
|
|
53
|
-
const visible = {};
|
|
54
|
-
for (const [key, value] of Object.entries(record)) {
|
|
55
|
-
if (key !== RESULT_META_KEY)
|
|
56
|
-
visible[key] = value;
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
visible,
|
|
60
|
-
...(rawMeta !== null && typeof rawMeta === 'object' && !Array.isArray(rawMeta)
|
|
61
|
-
? { meta: rawMeta }
|
|
62
|
-
: {}),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
53
|
export function redactWidgetLinkedOutput(output) {
|
|
66
54
|
return redactValue(output, 'value');
|
|
67
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { type RuntimeArtifact } from '@noodle-borg/compiler';
|
|
3
|
-
import { type CallerIdentity, type ExecuteDeps } from '@noodle-borg/runtime';
|
|
3
|
+
import { type CallerIdentity, type ExecuteDeps, type InvocationContext } from '@noodle-borg/runtime';
|
|
4
4
|
/**
|
|
5
5
|
* A resolved artifact plus the execution dependencies (connector registry + credential broker) needed
|
|
6
6
|
* to serve it. This is the unit the transport routes to — the wire layer holds no state of its own; a
|
|
@@ -29,6 +29,14 @@ export interface ProtocolObservation {
|
|
|
29
29
|
}
|
|
30
30
|
export interface ProtocolRequestContext {
|
|
31
31
|
readonly caller?: CallerIdentity;
|
|
32
|
+
/** One request-scoped snapshot resolved by the hosting plane before protocol execution. */
|
|
33
|
+
readonly invocationContext?: InvocationContext;
|
|
34
|
+
/**
|
|
35
|
+
* Whether this transport can carry a server request and route the client's later response back to
|
|
36
|
+
* the pending call. Stateless JSON-response HTTP explicitly sets this to `unavailable`; linked or
|
|
37
|
+
* session-coordinated transports may omit it or set `bidirectional`.
|
|
38
|
+
*/
|
|
39
|
+
readonly formElicitationTransport?: 'bidirectional' | 'unavailable';
|
|
32
40
|
/** Analytics observation hook; must never affect request behavior (failures are swallowed). */
|
|
33
41
|
readonly observe?: (observation: ProtocolObservation) => void;
|
|
34
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-server.d.ts","sourceRoot":"","sources":["../src/sdk-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"sdk-server.d.ts","sourceRoot":"","sources":["../src/sdk-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAwB9B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,yFAAyF;AACzF,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,YAAY,GAAG,WAAW,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;IACpE,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC/D;AAqBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,EAClC,OAAO,GAAE,sBAA2B,GACnC,MAAM,CA8BR"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { CallToolRequestSchema, ErrorCode, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, McpError, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
3
3
|
import { parseUriTemplate } from '@noodle-borg/compiler';
|
|
4
|
-
import { executePrompt, executeResource,
|
|
4
|
+
import { executePrompt, executeResource, } from '@noodle-borg/runtime';
|
|
5
|
+
import { artifactDeclaresContext, assertNoContextToolCollision, CONTEXT_TOOL_DESCRIPTOR, CONTEXT_TOOL_NAME, } from './context-tool.js';
|
|
5
6
|
import { coerceToolArguments } from './input-validation.js';
|
|
6
7
|
import { mapExecutionError, mapPromptMessages, mapPromptsList, mapResourceContents, mapResourcesList, mapResourceTemplatesList, mapToolOutput, mapToolsList, redactWidgetLinkedOutput, } from './mapping.js';
|
|
8
|
+
import { runMcpToolInteraction } from './tool-interaction.js';
|
|
7
9
|
/** MCP "resource not found" JSON-RPC error code (not in the SDK's `ErrorCode` enum). */
|
|
8
10
|
const RESOURCE_NOT_FOUND = -32002;
|
|
9
11
|
/** Report an observation; an observer bug must never break the request it watched. */
|
|
@@ -34,11 +36,14 @@ function estimateTokens(value) {
|
|
|
34
36
|
* the artifact provides them.
|
|
35
37
|
*/
|
|
36
38
|
export function buildMcpServer({ artifact, deps }, context = {}) {
|
|
39
|
+
assertNoContextToolCollision(artifact);
|
|
37
40
|
const hasResources = (artifact.resources?.length ?? 0) > 0;
|
|
38
41
|
const hasPrompts = (artifact.prompts?.length ?? 0) > 0;
|
|
39
|
-
const requestDeps =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
const requestDeps = {
|
|
43
|
+
...deps,
|
|
44
|
+
...(context.caller !== undefined ? { caller: context.caller } : {}),
|
|
45
|
+
...(context.invocationContext !== undefined ? { context: context.invocationContext } : {}),
|
|
46
|
+
};
|
|
42
47
|
const server = new Server({ name: artifact.server.name, title: artifact.server.title, version: artifact.server.version }, {
|
|
43
48
|
capabilities: {
|
|
44
49
|
tools: {},
|
|
@@ -64,6 +69,23 @@ function registerTools(server, artifact, deps, context) {
|
|
|
64
69
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
65
70
|
const toolName = request.params.name;
|
|
66
71
|
const observe = (outcome, extra = {}) => notify(context, { method: 'tools/call', toolName, outcome, ...extra });
|
|
72
|
+
if (toolName === CONTEXT_TOOL_NAME && artifactDeclaresContext(artifact)) {
|
|
73
|
+
const coerced = coerceToolArguments(CONTEXT_TOOL_DESCRIPTOR.inputSchema, request.params.arguments ?? {});
|
|
74
|
+
if (coerced.issues.length > 0) {
|
|
75
|
+
observe('mcp_error', { errorKind: 'invalid_params' });
|
|
76
|
+
throw new McpError(ErrorCode.InvalidParams, `invalid arguments for tool "${toolName}"`, {
|
|
77
|
+
reason: 'invalid_tool_arguments',
|
|
78
|
+
validation: coerced.issues,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (deps.context === undefined) {
|
|
82
|
+
observe('mcp_error', { errorKind: 'invocation_context_unavailable' });
|
|
83
|
+
throw new McpError(ErrorCode.InternalError, 'invocation context was declared but not resolved for this request');
|
|
84
|
+
}
|
|
85
|
+
const mapped = mapToolOutput(deps.context);
|
|
86
|
+
observe('ok', { outputTokensEst: estimateTokens(deps.context) });
|
|
87
|
+
return mapped;
|
|
88
|
+
}
|
|
67
89
|
const tool = artifact.tools.find((item) => item.name === toolName);
|
|
68
90
|
let toolArguments = request.params.arguments ?? {};
|
|
69
91
|
if (tool !== undefined) {
|
|
@@ -78,8 +100,23 @@ function registerTools(server, artifact, deps, context) {
|
|
|
78
100
|
// Schema defaults are applied on a copy; the tool executes what was validated.
|
|
79
101
|
toolArguments = coerced.value;
|
|
80
102
|
}
|
|
81
|
-
const result = await
|
|
82
|
-
|
|
103
|
+
const result = await runMcpToolInteraction({
|
|
104
|
+
server,
|
|
105
|
+
artifact,
|
|
106
|
+
tool,
|
|
107
|
+
toolName,
|
|
108
|
+
toolArguments,
|
|
109
|
+
deps,
|
|
110
|
+
...(context.formElicitationTransport === undefined
|
|
111
|
+
? {}
|
|
112
|
+
: { formElicitationTransport: context.formElicitationTransport }),
|
|
113
|
+
onProtocolError: (errorKind) => observe('mcp_error', { errorKind }),
|
|
114
|
+
});
|
|
115
|
+
if (result.status === 'stopped') {
|
|
116
|
+
observe('tool_error', { errorKind: `${result.source}_${result.action}` });
|
|
117
|
+
return stoppedToolResult(result.action, result.source === 'confirmation' ? 'action' : 'requested input');
|
|
118
|
+
}
|
|
119
|
+
if (result.status === 'completed') {
|
|
83
120
|
const output = tool?._meta?.ui?.resourceUri !== undefined
|
|
84
121
|
? redactWidgetLinkedOutput(result.output)
|
|
85
122
|
: result.output;
|
|
@@ -99,6 +136,17 @@ function registerTools(server, artifact, deps, context) {
|
|
|
99
136
|
throw new McpError(outcome.error.code, outcome.error.message);
|
|
100
137
|
});
|
|
101
138
|
}
|
|
139
|
+
function stoppedToolResult(action, subject) {
|
|
140
|
+
return {
|
|
141
|
+
content: [
|
|
142
|
+
{
|
|
143
|
+
type: 'text',
|
|
144
|
+
text: `User ${action === 'decline' ? 'declined' : 'cancelled'} the ${subject}.`,
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
isError: true,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
102
150
|
function registerResources(server, artifact, deps, context) {
|
|
103
151
|
server.setRequestHandler(ListResourcesRequestSchema, () => mapResourcesList(artifact));
|
|
104
152
|
server.setRequestHandler(ListResourceTemplatesRequestSchema, () => mapResourceTemplatesList(artifact));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-server.js","sourceRoot":"","sources":["../src/sdk-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EAErB,SAAS,EACT,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,kCAAkC,EAClC,sBAAsB,EAEtB,QAAQ,EACR,yBAAyB,GAM1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAwB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAGL,aAAa,EACb,eAAe,
|
|
1
|
+
{"version":3,"file":"sdk-server.js","sourceRoot":"","sources":["../src/sdk-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateless.d.ts","sourceRoot":"","sources":["../src/stateless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAkB,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnG;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"stateless.d.ts","sourceRoot":"","sources":["../src/stateless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAkB,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnG;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -11,7 +11,14 @@ import { buildMcpServer } from './sdk-server.js';
|
|
|
11
11
|
* transport writes the full HTTP response (status + headers + body), including `202` for a notification.
|
|
12
12
|
*/
|
|
13
13
|
export async function handleStatelessHttp(target, req, res, parsedBody, context = {}) {
|
|
14
|
-
|
|
14
|
+
// A nested `elicitation/create` request cannot complete on this lane: JSON-response mode withholds
|
|
15
|
+
// the body until the original tool response is ready, while the client's elicitation response would
|
|
16
|
+
// arrive on a later POST with no durable session coordinator to route it back to this pending server.
|
|
17
|
+
// Mark that boundary explicitly so eliciting tools fail closed instead of deadlocking until timeout.
|
|
18
|
+
const server = buildMcpServer(target, {
|
|
19
|
+
...context,
|
|
20
|
+
formElicitationTransport: 'unavailable',
|
|
21
|
+
});
|
|
15
22
|
// Omitting `sessionIdGenerator` selects stateless mode; `enableJsonResponse` returns one JSON-RPC
|
|
16
23
|
// object rather than an SSE stream. (We can't pass `sessionIdGenerator: undefined` explicitly under
|
|
17
24
|
// `exactOptionalPropertyTypes`.)
|