@namzu/sdk 51.1.0 → 52.1.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/CHANGELOG.md +119 -0
- package/dist/agents/QueryAgent.d.ts.map +1 -1
- package/dist/agents/QueryAgent.js +2 -0
- package/dist/agents/QueryAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/examples/SupervisorAgent.d.ts +42 -0
- package/dist/agents/examples/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/examples/SupervisorAgent.js +80 -4
- package/dist/agents/examples/SupervisorAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/authorization/protected-paths.d.ts +36 -0
- package/dist/authorization/protected-paths.d.ts.map +1 -0
- package/dist/authorization/protected-paths.js +107 -0
- package/dist/authorization/protected-paths.js.map +1 -0
- package/dist/authorization/readonly-commands.d.ts +39 -0
- package/dist/authorization/readonly-commands.d.ts.map +1 -0
- package/dist/authorization/readonly-commands.js +797 -0
- package/dist/authorization/readonly-commands.js.map +1 -0
- package/dist/authorization/readonly-flags.d.ts +19 -0
- package/dist/authorization/readonly-flags.d.ts.map +1 -0
- package/dist/authorization/readonly-flags.js +178 -0
- package/dist/authorization/readonly-flags.js.map +1 -0
- package/dist/authorization/removal.d.ts +52 -0
- package/dist/authorization/removal.d.ts.map +1 -0
- package/dist/authorization/removal.js +283 -0
- package/dist/authorization/removal.js.map +1 -0
- package/dist/authorization/shell-paths.d.ts +66 -0
- package/dist/authorization/shell-paths.d.ts.map +1 -0
- package/dist/authorization/shell-paths.js +697 -0
- package/dist/authorization/shell-paths.js.map +1 -0
- package/dist/bridge/acp/update.d.ts.map +1 -1
- package/dist/bridge/acp/update.js +1 -0
- package/dist/bridge/acp/update.js.map +1 -1
- package/dist/compaction/context-window.d.ts +24 -0
- package/dist/compaction/context-window.d.ts.map +1 -1
- package/dist/compaction/context-window.js +34 -0
- package/dist/compaction/context-window.js.map +1 -1
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +10 -2
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/plan.d.ts +4 -0
- package/dist/compaction/plan.d.ts.map +1 -1
- package/dist/compaction/plan.js +6 -2
- package/dist/compaction/plan.js.map +1 -1
- package/dist/compaction/verifier.d.ts +11 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +75 -23
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/runtime.d.ts +55 -7
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js +23 -2
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
- package/dist/connector/web/guarded-fetch.js +24 -0
- package/dist/connector/web/guarded-fetch.js.map +1 -1
- package/dist/connector/web/index.d.ts +1 -1
- package/dist/connector/web/index.d.ts.map +1 -1
- package/dist/connector/web/page.d.ts +59 -0
- package/dist/connector/web/page.d.ts.map +1 -0
- package/dist/connector/web/page.js +112 -0
- package/dist/connector/web/page.js.map +1 -0
- package/dist/connector/web/types.d.ts +47 -0
- package/dist/connector/web/types.d.ts.map +1 -1
- package/dist/connector/web/types.js.map +1 -1
- package/dist/constants/continuation.d.ts +8 -0
- package/dist/constants/continuation.d.ts.map +1 -1
- package/dist/constants/continuation.js +8 -0
- package/dist/constants/continuation.js.map +1 -1
- package/dist/constants/plugin/index.d.ts +1 -1
- package/dist/constants/plugin/index.d.ts.map +1 -1
- package/dist/constants/plugin/index.js +1 -1
- package/dist/constants/plugin/index.js.map +1 -1
- package/dist/contracts/a2a.d.ts +2 -2
- package/dist/manager/agent/lifecycle.d.ts +7 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +11 -2
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/session/turn-recorder.d.ts.map +1 -1
- package/dist/manager/session/turn-recorder.js +4 -2
- package/dist/manager/session/turn-recorder.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +6 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +98 -114
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/shell-hook.d.ts +90 -22
- package/dist/plugin/shell-hook.d.ts.map +1 -1
- package/dist/plugin/shell-hook.js +434 -41
- package/dist/plugin/shell-hook.js.map +1 -1
- package/dist/provider/capabilities.d.ts +9 -0
- package/dist/provider/capabilities.d.ts.map +1 -1
- package/dist/provider/capabilities.js +15 -0
- package/dist/provider/capabilities.js.map +1 -1
- package/dist/provider/errors.d.ts.map +1 -1
- package/dist/provider/errors.js +13 -0
- package/dist/provider/errors.js.map +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +10 -0
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts.map +1 -1
- package/dist/provider/idle-timeout.js +5 -0
- package/dist/provider/idle-timeout.js.map +1 -1
- package/dist/provider/image-input-refusal.d.ts +9 -0
- package/dist/provider/image-input-refusal.d.ts.map +1 -0
- package/dist/provider/image-input-refusal.js +54 -0
- package/dist/provider/image-input-refusal.js.map +1 -0
- package/dist/provider/index.d.ts +2 -1
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +2 -1
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/retry.d.ts +7 -2
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +38 -4
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +5 -2
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +5 -2
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +2 -2
- package/dist/public-types.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +21 -0
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +15 -2
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/deferred-sandbox.d.ts +54 -0
- package/dist/runtime/query/deferred-sandbox.d.ts.map +1 -0
- package/dist/runtime/query/deferred-sandbox.js +75 -0
- package/dist/runtime/query/deferred-sandbox.js.map +1 -0
- package/dist/runtime/query/executor/tool-call-admission.d.ts +10 -0
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +74 -13
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +51 -2
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +214 -9
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/finalize-turn.d.ts +6 -0
- package/dist/runtime/query/finalize-turn.d.ts.map +1 -1
- package/dist/runtime/query/finalize-turn.js +1 -1
- package/dist/runtime/query/finalize-turn.js.map +1 -1
- package/dist/runtime/query/index.d.ts +29 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +108 -28
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +57 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +380 -28
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts +61 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.js +94 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.js.map +1 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts +42 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +203 -23
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +165 -2
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/provider-rejected-image.d.ts +21 -1
- package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
- package/dist/runtime/query/iteration/provider-rejected-image.js +53 -7
- package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
- package/dist/runtime/query/iteration/request-repair.d.ts +108 -0
- package/dist/runtime/query/iteration/request-repair.d.ts.map +1 -0
- package/dist/runtime/query/iteration/request-repair.js +593 -0
- package/dist/runtime/query/iteration/request-repair.js.map +1 -0
- package/dist/runtime/query/iteration/stream-turn.d.ts +6 -0
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +2 -2
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/path-escalation.d.ts +36 -0
- package/dist/runtime/query/path-escalation.d.ts.map +1 -0
- package/dist/runtime/query/path-escalation.js +184 -0
- package/dist/runtime/query/path-escalation.js.map +1 -0
- package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +8 -0
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/reminders.d.ts +35 -0
- package/dist/runtime/query/reminders.d.ts.map +1 -0
- package/dist/runtime/query/reminders.js +7 -0
- package/dist/runtime/query/reminders.js.map +1 -0
- package/dist/runtime/query/request-rich-content.d.ts +5 -1
- package/dist/runtime/query/request-rich-content.d.ts.map +1 -1
- package/dist/runtime/query/request-rich-content.js +67 -25
- package/dist/runtime/query/request-rich-content.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +26 -0
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +26 -0
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +79 -5
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.d.ts +46 -0
- package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +85 -1
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +1 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +5 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/session/paths.d.ts +5 -1
- package/dist/session/paths.d.ts.map +1 -1
- package/dist/session/paths.js +8 -0
- package/dist/session/paths.js.map +1 -1
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +2 -2
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/markdown.d.ts.map +1 -1
- package/dist/store/memory/markdown.js +2 -2
- package/dist/store/memory/markdown.js.map +1 -1
- package/dist/store/memory/naming.d.ts +9 -0
- package/dist/store/memory/naming.d.ts.map +1 -1
- package/dist/store/memory/naming.js +12 -0
- package/dist/store/memory/naming.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts +30 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +170 -26
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +1 -1
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +12 -5
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/content-fingerprint.d.ts +2 -0
- package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
- package/dist/tools/builtins/content-fingerprint.js +4 -0
- package/dist/tools/builtins/content-fingerprint.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +60 -18
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/grep.d.ts +8 -1
- package/dist/tools/builtins/grep.d.ts.map +1 -1
- package/dist/tools/builtins/grep.js +152 -33
- package/dist/tools/builtins/grep.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +1 -0
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +44 -5
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/read-render.d.ts +52 -0
- package/dist/tools/builtins/read-render.d.ts.map +1 -1
- package/dist/tools/builtins/read-render.js +143 -0
- package/dist/tools/builtins/read-render.js.map +1 -1
- package/dist/tools/builtins/web.d.ts +13 -2
- package/dist/tools/builtins/web.d.ts.map +1 -1
- package/dist/tools/builtins/web.js +225 -32
- package/dist/tools/builtins/web.js.map +1 -1
- package/dist/tools/coordinator/ask-user-question.d.ts +2 -0
- package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
- package/dist/tools/coordinator/ask-user-question.js +256 -92
- package/dist/tools/coordinator/ask-user-question.js.map +1 -1
- package/dist/tools/coordinator/question-options.d.ts +1 -0
- package/dist/tools/coordinator/question-options.d.ts.map +1 -1
- package/dist/tools/coordinator/question-options.js +6 -1
- package/dist/tools/coordinator/question-options.js.map +1 -1
- package/dist/tools/defineTool.d.ts +4 -1
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +6 -1
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/paths.d.ts +6 -0
- package/dist/tools/paths.d.ts.map +1 -1
- package/dist/tools/paths.js +1 -1
- package/dist/tools/paths.js.map +1 -1
- package/dist/types/agent/query.d.ts +3 -0
- package/dist/types/agent/query.d.ts.map +1 -1
- package/dist/types/errors/catalog.js +1 -1
- package/dist/types/errors/catalog.js.map +1 -1
- package/dist/types/hitl/index.d.ts +104 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +1 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +2 -0
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +93 -19
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +3 -0
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/errors.d.ts +19 -0
- package/dist/types/provider/errors.d.ts.map +1 -1
- package/dist/types/provider/errors.js +54 -5
- package/dist/types/provider/errors.js.map +1 -1
- package/dist/types/provider/interface.d.ts +12 -0
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/provider/stream.d.ts +1 -1
- package/dist/types/session/config.d.ts +14 -0
- package/dist/types/session/config.d.ts.map +1 -1
- package/dist/types/session/events.d.ts +27 -4
- package/dist/types/session/events.d.ts.map +1 -1
- package/dist/types/session/events.js.map +1 -1
- package/dist/types/session/records.d.ts +9 -9
- package/dist/types/session/records.d.ts.map +1 -1
- package/dist/types/session/records.js +1 -0
- package/dist/types/session/records.js.map +1 -1
- package/dist/types/session/stop-reason.d.ts +5 -0
- package/dist/types/session/stop-reason.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +52 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/package.json +4 -2
- package/src/agents/QueryAgent.ts +5 -1
- package/src/agents/SupervisorAgent.ts +1 -1
- package/src/agents/examples/SupervisorAgent.ts +217 -106
- package/src/agents/index.ts +1 -1
- package/src/authorization/protected-paths.ts +110 -0
- package/src/authorization/readonly-commands.ts +771 -0
- package/src/authorization/readonly-flags.ts +196 -0
- package/src/authorization/removal.ts +326 -0
- package/src/authorization/shell-paths.ts +927 -0
- package/src/bridge/acp/update.ts +1 -0
- package/src/compaction/context-window.ts +41 -0
- package/src/compaction/manual.ts +10 -2
- package/src/compaction/plan.ts +11 -2
- package/src/compaction/verifier.ts +84 -22
- package/src/config/runtime.ts +23 -2
- package/src/connector/web/guarded-fetch.ts +26 -0
- package/src/connector/web/index.ts +3 -0
- package/src/connector/web/page.ts +130 -0
- package/src/connector/web/types.ts +47 -0
- package/src/constants/continuation.ts +10 -0
- package/src/constants/plugin/index.ts +1 -1
- package/src/manager/agent/lifecycle.ts +12 -4
- package/src/manager/session/turn-recorder.ts +10 -2
- package/src/plugin/index.ts +1 -0
- package/src/plugin/lifecycle.ts +107 -119
- package/src/plugin/shell-hook.ts +477 -43
- package/src/provider/capabilities.ts +17 -0
- package/src/provider/errors.ts +13 -0
- package/src/provider/fallback.ts +10 -0
- package/src/provider/idle-timeout.ts +5 -0
- package/src/provider/image-input-refusal.ts +54 -0
- package/src/provider/index.ts +2 -0
- package/src/provider/retry.ts +42 -4
- package/src/public-runtime.ts +11 -0
- package/src/public-types.ts +4 -0
- package/src/runtime/jobs/registry.ts +39 -2
- package/src/runtime/query/deferred-sandbox.ts +110 -0
- package/src/runtime/query/executor/tool-call-admission.ts +79 -13
- package/src/runtime/query/executor.ts +267 -11
- package/src/runtime/query/finalize-turn.ts +7 -1
- package/src/runtime/query/index.ts +169 -52
- package/src/runtime/query/iteration/index.ts +439 -35
- package/src/runtime/query/iteration/phases/compaction-breaker.ts +108 -0
- package/src/runtime/query/iteration/phases/compaction.ts +241 -38
- package/src/runtime/query/iteration/phases/context.ts +11 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +177 -2
- package/src/runtime/query/iteration/provider-rejected-image.ts +71 -5
- package/src/runtime/query/iteration/request-repair.ts +743 -0
- package/src/runtime/query/iteration/stream-turn.ts +11 -1
- package/src/runtime/query/path-escalation.ts +204 -0
- package/src/runtime/query/plugin-hooks.ts +8 -0
- package/src/runtime/query/reminders.ts +45 -0
- package/src/runtime/query/request-rich-content.ts +77 -27
- package/src/runtime/query/resume-pending.ts +27 -0
- package/src/runtime/query/review-policy.ts +106 -5
- package/src/runtime/query/tool-output-budget.ts +115 -1
- package/src/runtime/query/tooling.ts +6 -0
- package/src/session/paths.ts +11 -1
- package/src/store/memory/disk.ts +2 -1
- package/src/store/memory/markdown.ts +2 -1
- package/src/store/memory/naming.ts +13 -0
- package/src/tools/builtins/bash.ts +203 -34
- package/src/tools/builtins/computer-use.ts +13 -4
- package/src/tools/builtins/content-fingerprint.ts +5 -0
- package/src/tools/builtins/edit.ts +69 -19
- package/src/tools/builtins/grep.ts +159 -38
- package/src/tools/builtins/read-file.ts +48 -5
- package/src/tools/builtins/read-render.ts +193 -0
- package/src/tools/builtins/web.ts +258 -33
- package/src/tools/coordinator/ask-user-question.ts +309 -103
- package/src/tools/coordinator/question-options.ts +8 -1
- package/src/tools/defineTool.ts +11 -2
- package/src/tools/paths.ts +1 -1
- package/src/types/agent/query.ts +3 -0
- package/src/types/errors/catalog.ts +1 -1
- package/src/types/hitl/index.ts +104 -0
- package/src/types/message/index.ts +2 -0
- package/src/types/plugin/index.ts +101 -18
- package/src/types/provider/errors.ts +66 -5
- package/src/types/provider/interface.ts +13 -0
- package/src/types/provider/stream.ts +1 -1
- package/src/types/session/config.ts +14 -0
- package/src/types/session/events.ts +32 -4
- package/src/types/session/records.ts +1 -0
- package/src/types/session/stop-reason.ts +5 -0
- package/src/types/tool/index.ts +53 -2
|
@@ -24,7 +24,7 @@ export const ASK_USER_QUESTION_TOOL_NAME = 'ask_user_question';
|
|
|
24
24
|
* `additionalProperties: false` turns that into a refusal at generation time
|
|
25
25
|
* rather than a rejection after the fact.
|
|
26
26
|
*/
|
|
27
|
-
const
|
|
27
|
+
const askUserQuestionItemModelSchema = {
|
|
28
28
|
type: 'object',
|
|
29
29
|
properties: {
|
|
30
30
|
question: {
|
|
@@ -33,7 +33,7 @@ const askUserQuestionModelInputSchema = {
|
|
|
33
33
|
},
|
|
34
34
|
header: {
|
|
35
35
|
type: 'string',
|
|
36
|
-
description: 'Optional very short topic label, no more than 24 characters.',
|
|
36
|
+
description: 'Optional very short topic label, no more than 24 characters; unique within the call.',
|
|
37
37
|
},
|
|
38
38
|
options: {
|
|
39
39
|
type: 'array',
|
|
@@ -53,6 +53,10 @@ const askUserQuestionModelInputSchema = {
|
|
|
53
53
|
type: 'boolean',
|
|
54
54
|
description: 'True on the option you recommend; put that option first. The host shows the recommendation, so never write it into the label.',
|
|
55
55
|
},
|
|
56
|
+
preview: {
|
|
57
|
+
type: 'string',
|
|
58
|
+
description: 'Optional plain text or markdown shown beside the options while this one is focused: a snippet, a mock-up, a side-by-side. Leave it out unless it helps the choice.',
|
|
59
|
+
},
|
|
56
60
|
},
|
|
57
61
|
required: ['label'],
|
|
58
62
|
additionalProperties: false,
|
|
@@ -70,60 +74,224 @@ const askUserQuestionModelInputSchema = {
|
|
|
70
74
|
required: ['question', 'options'],
|
|
71
75
|
additionalProperties: false,
|
|
72
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* The single closed shape a capable provider constrains this call to: a
|
|
79
|
+
* `questions` array of one to four questions. The older single-question
|
|
80
|
+
* input (`question` and `options` at the top level) is still accepted at
|
|
81
|
+
* run time as a one-element batch, but is not offered to the model.
|
|
82
|
+
*/
|
|
83
|
+
const askUserQuestionModelInputSchema = {
|
|
84
|
+
type: 'object',
|
|
85
|
+
properties: {
|
|
86
|
+
questions: {
|
|
87
|
+
type: 'array',
|
|
88
|
+
description: 'A JSON array of 1-4 questions. Batch only related decisions that all block your next step; ask a single decision as one entry.',
|
|
89
|
+
items: askUserQuestionItemModelSchema,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
required: ['questions'],
|
|
93
|
+
additionalProperties: false,
|
|
94
|
+
};
|
|
95
|
+
/** The most questions one call may carry. */
|
|
96
|
+
export const MAX_QUESTIONS_PER_CALL = 4;
|
|
97
|
+
const optionSchema = z
|
|
98
|
+
.object({
|
|
99
|
+
label: z
|
|
100
|
+
.string()
|
|
101
|
+
.min(1)
|
|
102
|
+
.max(80)
|
|
103
|
+
.describe('Concise option label (1-5 words), plain text: no "(Recommended)" or other parenthesised note at the end.'),
|
|
104
|
+
description: z
|
|
105
|
+
.string()
|
|
106
|
+
.max(300)
|
|
107
|
+
.optional()
|
|
108
|
+
.describe('One line on what practically changes if this option is chosen.'),
|
|
109
|
+
recommended: z
|
|
110
|
+
.boolean()
|
|
111
|
+
.optional()
|
|
112
|
+
.describe('True on the option you recommend; put it first. Never write the recommendation into the label.'),
|
|
113
|
+
preview: z
|
|
114
|
+
.string()
|
|
115
|
+
.max(4000)
|
|
116
|
+
.optional()
|
|
117
|
+
.describe('Optional plain text or markdown shown beside the options while this one is focused.'),
|
|
118
|
+
})
|
|
119
|
+
.strict();
|
|
120
|
+
const questionSchema = z
|
|
121
|
+
.object({
|
|
122
|
+
question: z
|
|
123
|
+
.string()
|
|
124
|
+
.min(1)
|
|
125
|
+
.describe('Full question text — clear, specific, ends with a question mark.'),
|
|
126
|
+
header: z
|
|
127
|
+
.string()
|
|
128
|
+
.max(24)
|
|
129
|
+
.optional()
|
|
130
|
+
.describe('Very short topic label for the question (e.g. "Audience", "Auth method").'),
|
|
131
|
+
options: z
|
|
132
|
+
.array(optionSchema)
|
|
133
|
+
.min(2)
|
|
134
|
+
.max(4)
|
|
135
|
+
.describe('2-4 genuinely distinct, context-derived options.'),
|
|
136
|
+
multiSelect: z
|
|
137
|
+
.boolean()
|
|
138
|
+
.optional()
|
|
139
|
+
.default(false)
|
|
140
|
+
.describe('True only when several options can apply at once.'),
|
|
141
|
+
allowFreeText: z
|
|
142
|
+
.boolean()
|
|
143
|
+
.optional()
|
|
144
|
+
.default(true)
|
|
145
|
+
.describe('Whether the user may answer in their own words.'),
|
|
146
|
+
})
|
|
147
|
+
.strict();
|
|
148
|
+
/**
|
|
149
|
+
* The old single-question input is a one-element batch. Anything that has
|
|
150
|
+
* `questions` is left alone, so a call mixing both shapes fails the strict
|
|
151
|
+
* object below instead of silently dropping one.
|
|
152
|
+
*/
|
|
153
|
+
function batchFromLegacy(input) {
|
|
154
|
+
if (typeof input !== 'object' || input === null || Array.isArray(input))
|
|
155
|
+
return input;
|
|
156
|
+
const record = input;
|
|
157
|
+
if ('questions' in record || !('question' in record))
|
|
158
|
+
return input;
|
|
159
|
+
return { questions: [record] };
|
|
160
|
+
}
|
|
161
|
+
const inputSchema = z
|
|
162
|
+
.preprocess(batchFromLegacy, z
|
|
163
|
+
.object({
|
|
164
|
+
questions: z
|
|
165
|
+
.array(questionSchema)
|
|
166
|
+
.min(1)
|
|
167
|
+
.max(MAX_QUESTIONS_PER_CALL)
|
|
168
|
+
.describe('1-4 related questions, asked together; one answer comes back per question.'),
|
|
169
|
+
})
|
|
170
|
+
.strict())
|
|
171
|
+
.superRefine((value, ctx) => {
|
|
172
|
+
const questions = value.questions.map((q) => q.question.trim().toLowerCase());
|
|
173
|
+
if (new Set(questions).size !== questions.length) {
|
|
174
|
+
ctx.addIssue({
|
|
175
|
+
code: 'custom',
|
|
176
|
+
path: ['questions'],
|
|
177
|
+
message: 'Question texts must be unique within one call.',
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
const headers = value.questions.flatMap((q) => q.header !== undefined ? [q.header.trim().toLowerCase()] : []);
|
|
181
|
+
if (new Set(headers).size !== headers.length) {
|
|
182
|
+
ctx.addIssue({
|
|
183
|
+
code: 'custom',
|
|
184
|
+
path: ['questions'],
|
|
185
|
+
message: 'Headers must be unique within one call: a host uses them as tab labels and answer keys.',
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
const NO_ANSWER_TEXT = 'The user did not answer this question. Do not assume a choice or consent; proceed on your best judgment or continue without this information.';
|
|
190
|
+
const NO_ANSWER_BATCH_TEXT = 'The user did not answer these questions. Do not assume a choice or consent; proceed on your best judgment or continue without this information.';
|
|
191
|
+
const isAnswered = (answer) => answer.selected.length > 0 || answer.freeText !== '';
|
|
192
|
+
/**
|
|
193
|
+
* Which answer belongs to which question. `answers` is the batch form; a
|
|
194
|
+
* decision without it answers the FIRST question only — the shape a host
|
|
195
|
+
* that predates batches sends, and what a single-question call has always
|
|
196
|
+
* received. An entry that names no question of this call, or names one
|
|
197
|
+
* twice, is dropped: it was meant for something else.
|
|
198
|
+
*/
|
|
199
|
+
function readAnswers(items, decision) {
|
|
200
|
+
const entries = decision.answers ??
|
|
201
|
+
(items[0]
|
|
202
|
+
? [
|
|
203
|
+
{
|
|
204
|
+
questionId: items[0].id,
|
|
205
|
+
selectedOptionIds: decision.selectedOptionIds,
|
|
206
|
+
freeText: decision.freeText,
|
|
207
|
+
},
|
|
208
|
+
]
|
|
209
|
+
: []);
|
|
210
|
+
const byId = new Map();
|
|
211
|
+
for (const entry of entries) {
|
|
212
|
+
if (!byId.has(entry.questionId))
|
|
213
|
+
byId.set(entry.questionId, entry);
|
|
214
|
+
}
|
|
215
|
+
return items.map((item) => {
|
|
216
|
+
const entry = byId.get(item.id);
|
|
217
|
+
// The label the user saw, never a marker: `questionOptions` took it
|
|
218
|
+
// out. Whether it was the recommended option is a field of its own.
|
|
219
|
+
const chosen = (entry?.selectedOptionIds ?? [])
|
|
220
|
+
.map((id) => item.options.find((opt) => opt.id === id))
|
|
221
|
+
.filter((opt) => opt !== undefined);
|
|
222
|
+
const selected = (item.multiSelect ? chosen : chosen.slice(0, 1)).map((opt) => ({
|
|
223
|
+
id: opt.id,
|
|
224
|
+
label: opt.label,
|
|
225
|
+
...(opt.recommended === true ? { recommended: true } : {}),
|
|
226
|
+
}));
|
|
227
|
+
return { item, selected, freeText: entry?.freeText?.trim() ?? '' };
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
function describeSingle(answer) {
|
|
231
|
+
const { item, selected, freeText } = answer;
|
|
232
|
+
let output;
|
|
233
|
+
if (selected.length > 0) {
|
|
234
|
+
const joined = selected.map((s) => `"${s.label}"`).join(', ');
|
|
235
|
+
output = `User answered "${item.question}": ${joined}`;
|
|
236
|
+
if (freeText)
|
|
237
|
+
output += `\nAdditional note from the user: "${freeText}"`;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
output = `User answered "${item.question}" in their own words: "${freeText}"`;
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
output,
|
|
244
|
+
data: {
|
|
245
|
+
question: item.question,
|
|
246
|
+
selected,
|
|
247
|
+
...(freeText ? { freeText } : {}),
|
|
248
|
+
answered: true,
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
const labelOf = (item) => item.header ?? item.question;
|
|
253
|
+
function describeBatch(answers) {
|
|
254
|
+
const lines = answers.map((answer) => {
|
|
255
|
+
const { item, selected, freeText } = answer;
|
|
256
|
+
if (selected.length > 0) {
|
|
257
|
+
const joined = selected.map((s) => `"${s.label}"`).join(', ');
|
|
258
|
+
return `${labelOf(item)}: ${joined}${freeText ? ` (note: "${freeText}")` : ''}`;
|
|
259
|
+
}
|
|
260
|
+
if (freeText)
|
|
261
|
+
return `${labelOf(item)} (own words): "${freeText}"`;
|
|
262
|
+
return `${labelOf(item)}: not answered, assume nothing`;
|
|
263
|
+
});
|
|
264
|
+
const answered = answers.filter(isAnswered).length;
|
|
265
|
+
return {
|
|
266
|
+
output: `The user answered ${answered} of ${answers.length} questions:\n${lines.join('\n')}`,
|
|
267
|
+
data: {
|
|
268
|
+
questions: answers.map(({ item }) => ({
|
|
269
|
+
questionId: item.id,
|
|
270
|
+
...(item.header !== undefined ? { header: item.header } : {}),
|
|
271
|
+
question: item.question,
|
|
272
|
+
})),
|
|
273
|
+
answers: answers.map((answer) => ({
|
|
274
|
+
questionId: answer.item.id,
|
|
275
|
+
...(answer.item.header !== undefined ? { header: answer.item.header } : {}),
|
|
276
|
+
question: answer.item.question,
|
|
277
|
+
selected: answer.selected,
|
|
278
|
+
...(answer.freeText ? { freeText: answer.freeText } : {}),
|
|
279
|
+
answered: isAnswered(answer),
|
|
280
|
+
})),
|
|
281
|
+
answered: true,
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
73
285
|
export function buildAskUserQuestionTool(config) {
|
|
74
286
|
const parkHandler = config.resumeHandler;
|
|
75
287
|
const { questionParks, pendingAnswers } = config;
|
|
76
288
|
return defineTool({
|
|
77
289
|
name: ASK_USER_QUESTION_TOOL_NAME,
|
|
78
|
-
description: 'Ask the user
|
|
79
|
-
inputSchema
|
|
80
|
-
.object({
|
|
81
|
-
question: z
|
|
82
|
-
.string()
|
|
83
|
-
.min(1)
|
|
84
|
-
.describe('Full question text — clear, specific, ends with a question mark.'),
|
|
85
|
-
header: z
|
|
86
|
-
.string()
|
|
87
|
-
.max(24)
|
|
88
|
-
.optional()
|
|
89
|
-
.describe('Very short topic label for the question (e.g. "Audience", "Auth method").'),
|
|
90
|
-
options: z
|
|
91
|
-
.array(z
|
|
92
|
-
.object({
|
|
93
|
-
label: z
|
|
94
|
-
.string()
|
|
95
|
-
.min(1)
|
|
96
|
-
.max(80)
|
|
97
|
-
.describe('Concise option label (1-5 words), plain text: no "(Recommended)" or other parenthesised note at the end.'),
|
|
98
|
-
description: z
|
|
99
|
-
.string()
|
|
100
|
-
.max(300)
|
|
101
|
-
.optional()
|
|
102
|
-
.describe('One line on what practically changes if this option is chosen.'),
|
|
103
|
-
recommended: z
|
|
104
|
-
.boolean()
|
|
105
|
-
.optional()
|
|
106
|
-
.describe('True on the option you recommend; put it first. Never write the recommendation into the label.'),
|
|
107
|
-
})
|
|
108
|
-
.strict())
|
|
109
|
-
.min(2)
|
|
110
|
-
.max(4)
|
|
111
|
-
.describe('2-4 genuinely distinct, context-derived options.'),
|
|
112
|
-
multiSelect: z
|
|
113
|
-
.boolean()
|
|
114
|
-
.optional()
|
|
115
|
-
.default(false)
|
|
116
|
-
.describe('True only when several options can apply at once.'),
|
|
117
|
-
allowFreeText: z
|
|
118
|
-
.boolean()
|
|
119
|
-
.optional()
|
|
120
|
-
.default(true)
|
|
121
|
-
.describe('Whether the user may answer in their own words.'),
|
|
122
|
-
})
|
|
123
|
-
.strict(),
|
|
290
|
+
description: 'Ask the user when you are blocked on a decision that is genuinely theirs to make — one you cannot resolve from their request, your tools, the files you can read, or sensible defaults. The question must be the genuinely undecidable thing in THIS task. Never ask for information a tool can discover (do not ask what you can read, list, or search), never re-ask what the conversation already answers, and never ask meta-questions like "Shall I proceed?" — plan ratification goes through approve_plan. Provide 2-4 genuinely distinct options derived from the actual context — concrete paths, never generic placeholders (for example, asked to prepare a presentation, ask "Who is the audience?" with options like Board / Engineering team / Customer); keep labels short (1-5 words) and give each option a one-line description of what practically changes if it is chosen. If you recommend an option, put it FIRST and set recommended: true on it; the host marks it for the user, so never write "(Recommended)" or any translation of it into a label, and never end a label with a parenthesised note (put qualifiers in the description). Set multiSelect: true only when several options can apply at once. An option may carry a preview (plain text or markdown) that the host shows beside the list while it is focused; use it only when seeing the thing helps the choice. A free-text "Something else" escape hatch is always shown automatically — do not add your own "Other" option. Put the questions in the questions array. Use ONE entry for a single decision. Put several entries in the same call only when they are related decisions that ALL block your next step and the user can answer them together (for example which account, for what purpose, which environment before a credentialed step), at most 4, each with a short unique header; the user answers them all in one card and you get one answer per question. Never batch questions that depend on one another\'s answers — ask the first, then decide. Most work needs at most 2-3 questions in all, so prefer proceeding on stated defaults over interrogating the user. Never invent answers or synthetic content on the user\'s behalf unless they explicitly asked for a random/test scenario. The answers arrive as this tool\'s result; a question the result says was not answered must not be assumed, and if the result says the user did not answer at all, do not ask again — proceed on your best judgment without assuming consent.',
|
|
291
|
+
inputSchema,
|
|
124
292
|
modelInputSchema: structuredClone(askUserQuestionModelInputSchema),
|
|
125
293
|
enforceModelInput: true,
|
|
126
|
-
validationErrorHint: 'Required shape: {"question":"...?","options":[{"label":"First","description":"What changes","recommended":true},{"label":"Second","description":"What changes"}]}. "options" must be a JSON array of 2-4 objects, never a string.',
|
|
294
|
+
validationErrorHint: 'Required shape: {"questions":[{"question":"...?","header":"Short","options":[{"label":"First","description":"What changes","recommended":true},{"label":"Second","description":"What changes"}]}]}. "questions" must be a JSON array of 1-4 objects. "options" must be a JSON array of 2-4 objects, never a string. Question texts and headers must be unique within one call.',
|
|
127
295
|
category: 'custom',
|
|
128
296
|
permissions: [],
|
|
129
297
|
readOnly: true,
|
|
@@ -134,7 +302,11 @@ export function buildAskUserQuestionTool(config) {
|
|
|
134
302
|
// registries by turn — concurrent parks on one turn clobber each
|
|
135
303
|
// other and the first promise never resolves (the turn hangs to TTL).
|
|
136
304
|
concurrencySafe: false,
|
|
137
|
-
async execute(
|
|
305
|
+
async execute(input, context) {
|
|
306
|
+
// A host that calls the tool without going through the registry
|
|
307
|
+
// hands over the older single-question shape or unfilled defaults;
|
|
308
|
+
// parsing again is a no-op for input the registry already parsed.
|
|
309
|
+
const { questions } = inputSchema.parse(input);
|
|
138
310
|
const toolUseId = context.toolUseId;
|
|
139
311
|
if (!toolUseId) {
|
|
140
312
|
// Without the executing tool_use_id the question has no
|
|
@@ -150,14 +322,28 @@ export function buildAskUserQuestionTool(config) {
|
|
|
150
322
|
// Labels without a recommendation marker, in any language, and the
|
|
151
323
|
// recommendation as a field: what the host shows and what the
|
|
152
324
|
// answer below quotes back to the model.
|
|
153
|
-
const
|
|
325
|
+
const items = questions.map((q, index) => ({
|
|
326
|
+
id: `${toolUseId}#${index}`,
|
|
327
|
+
question: q.question,
|
|
328
|
+
...(q.header !== undefined ? { header: q.header } : {}),
|
|
329
|
+
options: questionOptions(q.options),
|
|
330
|
+
multiSelect: q.multiSelect,
|
|
331
|
+
allowFreeText: q.allowFreeText,
|
|
332
|
+
}));
|
|
333
|
+
const batch = items.length > 1;
|
|
334
|
+
const [first] = items;
|
|
335
|
+
if (!first)
|
|
336
|
+
return { success: false, output: '', error: 'No question was asked.' };
|
|
337
|
+
// The top level mirrors the first question, so a host that does
|
|
338
|
+
// not know `questions` still shows and answers a real question.
|
|
154
339
|
const questionData = {
|
|
155
340
|
questionId: toolUseId,
|
|
156
|
-
question,
|
|
157
|
-
...(header !== undefined ? { header } : {}),
|
|
158
|
-
options:
|
|
159
|
-
multiSelect,
|
|
160
|
-
allowFreeText,
|
|
341
|
+
question: first.question,
|
|
342
|
+
...(first.header !== undefined ? { header: first.header } : {}),
|
|
343
|
+
options: first.options,
|
|
344
|
+
multiSelect: first.multiSelect,
|
|
345
|
+
allowFreeText: first.allowFreeText,
|
|
346
|
+
...(batch ? { questions: items } : {}),
|
|
161
347
|
};
|
|
162
348
|
// An answer carried in from a resumed turn. Checked before the
|
|
163
349
|
// park, because re-entering this tool is HOW the answer gets
|
|
@@ -193,14 +379,21 @@ export function buildAskUserQuestionTool(config) {
|
|
|
193
379
|
// carry a different question's id.
|
|
194
380
|
const noAnswer = {
|
|
195
381
|
success: true,
|
|
196
|
-
output:
|
|
197
|
-
data:
|
|
382
|
+
output: batch ? NO_ANSWER_BATCH_TEXT : NO_ANSWER_TEXT,
|
|
383
|
+
data: batch
|
|
384
|
+
? {
|
|
385
|
+
question: first.question,
|
|
386
|
+
questions: items.map((i) => i.question),
|
|
387
|
+
answered: false,
|
|
388
|
+
}
|
|
389
|
+
: { question: first.question, answered: false },
|
|
198
390
|
};
|
|
199
391
|
if (decision.action === 'abort') {
|
|
392
|
+
// One decline ends the whole batch: there is no partial refusal.
|
|
200
393
|
return {
|
|
201
394
|
success: false,
|
|
202
395
|
output: 'The user declined to answer and asked to stop. Acknowledge briefly and end your turn.',
|
|
203
|
-
data: { question, answered: false, declined: true },
|
|
396
|
+
data: { question: first.question, answered: false, declined: true },
|
|
204
397
|
};
|
|
205
398
|
}
|
|
206
399
|
if (decision.action !== 'answer_question')
|
|
@@ -211,40 +404,11 @@ export function buildAskUserQuestionTool(config) {
|
|
|
211
404
|
// fabricate a selection against the wrong question.
|
|
212
405
|
return noAnswer;
|
|
213
406
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
const selected = decision.selectedOptionIds
|
|
217
|
-
.map((id) => shownOptions.find((opt) => opt.id === id))
|
|
218
|
-
.filter((opt) => opt !== undefined)
|
|
219
|
-
.map((opt) => ({
|
|
220
|
-
id: opt.id,
|
|
221
|
-
label: opt.label,
|
|
222
|
-
...(opt.recommended === true ? { recommended: true } : {}),
|
|
223
|
-
}));
|
|
224
|
-
const freeText = decision.freeText?.trim() ?? '';
|
|
225
|
-
if (selected.length === 0 && !freeText)
|
|
407
|
+
const answers = readAnswers(items, decision);
|
|
408
|
+
if (!answers.some(isAnswered))
|
|
226
409
|
return noAnswer;
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const joined = selected.map((s) => `"${s.label}"`).join(', ');
|
|
230
|
-
output = `User answered "${question}": ${joined}`;
|
|
231
|
-
if (freeText) {
|
|
232
|
-
output += `\nAdditional note from the user: "${freeText}"`;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
output = `User answered "${question}" in their own words: "${freeText}"`;
|
|
237
|
-
}
|
|
238
|
-
return {
|
|
239
|
-
success: true,
|
|
240
|
-
output,
|
|
241
|
-
data: {
|
|
242
|
-
question,
|
|
243
|
-
selected,
|
|
244
|
-
...(freeText ? { freeText } : {}),
|
|
245
|
-
answered: true,
|
|
246
|
-
},
|
|
247
|
-
};
|
|
410
|
+
const described = batch ? describeBatch(answers) : describeSingle(answers[0]);
|
|
411
|
+
return { success: true, output: described.output, data: described.data };
|
|
248
412
|
},
|
|
249
413
|
});
|
|
250
414
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user-question.js","sourceRoot":"","sources":["../../../src/tools/coordinator/ask-user-question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,gFAAgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAA4B,CAAA;AAEvE;;;;;;;;GAQG;AACH,MAAM,+BAA+B,GAA4B;IAChE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,QAAQ,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wEAAwE;SACrF;QACD,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8DAA8D;SAC3E;QACD,OAAO,EAAE;YACR,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,yEAAyE;YACtF,KAAK,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,KAAK,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EACV,+GAA+G;qBAChH;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4DAA4D;qBACzE;oBACD,WAAW,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EACV,+HAA+H;qBAChI;iBACD;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,KAAK;aAC3B;SACD;QACD,WAAW,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mDAAmD;SAChE;QACD,aAAa,EAAE;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iDAAiD;SAC9D;KACD;IACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;IACjC,oBAAoB,EAAE,KAAK;CAC3B,CAAA;AAkBD,MAAM,UAAU,wBAAwB,CAAC,MAAkC;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAA;IACxC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAChD,OAAO,UAAU,CAAC;QACjB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACV,k4DAAk4D;QACn4D,WAAW,EAAE,CAAC;aACZ,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,kEAAkE,CAAC;YAC9E,MAAM,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,2EAA2E,CAAC;YACvF,OAAO,EAAE,CAAC;iBACR,KAAK,CACL,CAAC;iBACC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,GAAG,CAAC,EAAE,CAAC;qBACP,QAAQ,CACR,0GAA0G,CAC1G;gBACF,WAAW,EAAE,CAAC;qBACZ,MAAM,EAAE;qBACR,GAAG,CAAC,GAAG,CAAC;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,gEAAgE,CAAC;gBAC5E,WAAW,EAAE,CAAC;qBACZ,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CACR,gGAAgG,CAChG;aACF,CAAC;iBACD,MAAM,EAAE,CACV;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,kDAAkD,CAAC;YAC9D,WAAW,EAAE,CAAC;iBACZ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,mDAAmD,CAAC;YAC/D,aAAa,EAAE,CAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,iDAAiD,CAAC;SAC7D,CAAC;aACD,MAAM,EAAE;QACV,gBAAgB,EAAE,eAAe,CAAC,+BAA+B,CAAC;QAClE,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAClB,mOAAmO;QACpO,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,KAAK;QAClB,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,sEAAsE;QACtE,eAAe,EAAE,KAAK;QACtB,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,OAAO;YAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,wDAAwD;gBACxD,2DAA2D;gBAC3D,6DAA6D;gBAC7D,wDAAwD;gBACxD,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EACJ,uHAAuH;iBACxH,CAAA;YACF,CAAC;YAED,mEAAmE;YACnE,8DAA8D;YAC9D,yCAAyC;YACzC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;YAE7C,MAAM,YAAY,GAAG;gBACpB,UAAU,EAAE,SAAS;gBACrB,QAAQ;gBACR,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,YAAY;gBACrB,WAAW;gBACX,aAAa;aACb,CAAA;YAED,+DAA+D;YAC/D,6DAA6D;YAC7D,4DAA4D;YAC5D,yDAAyD;YACzD,2DAA2D;YAC3D,2CAA2C;YAC3C,MAAM,OAAO,GAAG,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAE/C,4DAA4D;YAC5D,uDAAuD;YACvD,8DAA8D;YAC9D,qCAAqC;YACrC,MAAM,QAAQ,GACb,OAAO,KAAK,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAEzF,MAAM,QAAQ,GACb,OAAO;gBACP,CAAC,MAAM,WAAW,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;oBAChD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;oBACvC,4DAA4D;oBAC5D,+DAA+D;oBAC/D,YAAY,EAAE,QAAQ,IAAI,oBAAoB,EAAE;oBAChD,QAAQ,EAAE,YAAY;iBACtB,CAAC,CAAC,CAAA;YAEJ,6DAA6D;YAC7D,mDAAmD;YACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;gBACxC,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAChD,CAAC;YAED,6DAA6D;YAC7D,8DAA8D;YAC9D,8DAA8D;YAC9D,2DAA2D;YAC3D,mCAAmC;YACnC,MAAM,QAAQ,GAAG;gBAChB,OAAO,EAAE,IAAI;gBACb,MAAM,EACL,+IAA+I;gBAChJ,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;aACnC,CAAA;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EACL,uFAAuF;oBACxF,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnD,CAAA;YACF,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB;gBAAE,OAAO,QAAQ,CAAA;YAC1D,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC5E,4DAA4D;gBAC5D,4DAA4D;gBAC5D,oDAAoD;gBACpD,OAAO,QAAQ,CAAA;YAChB,CAAC;YAED,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB;iBACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;iBACtD,MAAM,CAAC,CAAC,GAAG,EAA6B,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;iBAC7D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC,CAAC,CAAA;YAEJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,QAAQ,CAAA;YAEvD,IAAI,MAAc,CAAA;YAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC7D,MAAM,GAAG,kBAAkB,QAAQ,MAAM,MAAM,EAAE,CAAA;gBACjD,IAAI,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,qCAAqC,QAAQ,GAAG,CAAA;gBAC3D,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,kBAAkB,QAAQ,0BAA0B,QAAQ,GAAG,CAAA;YACzE,CAAC;YAED,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,IAAI,EAAE;oBACL,QAAQ;oBACR,QAAQ;oBACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,QAAQ,EAAE,IAAI;iBACd;aACD,CAAA;QACF,CAAC;KACD,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"ask-user-question.js","sourceRoot":"","sources":["../../../src/tools/coordinator/ask-user-question.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-options.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/question-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"question-options.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/question-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AA0BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CActD;AA8BD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,GAAG,kBAAkB,EAAE,CAsDhG"}
|
|
@@ -56,7 +56,10 @@ function trailingGroup(label) {
|
|
|
56
56
|
const match = TRAILING_GROUP.exec(label);
|
|
57
57
|
if (!match)
|
|
58
58
|
return null;
|
|
59
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
base: (match[1] ?? '').trim(),
|
|
61
|
+
text: (match[2] ?? match[3] ?? '').trim(),
|
|
62
|
+
};
|
|
60
63
|
}
|
|
61
64
|
/**
|
|
62
65
|
* A label or a group's text as two options are compared by: letter case and
|
|
@@ -116,6 +119,7 @@ export function questionOptions(options) {
|
|
|
116
119
|
recommended: option.recommended ?? english,
|
|
117
120
|
hadEnglishMarker: removed,
|
|
118
121
|
description: option.description,
|
|
122
|
+
...(option.preview !== undefined ? { preview: option.preview } : {}),
|
|
119
123
|
};
|
|
120
124
|
});
|
|
121
125
|
// Only a recommended option can carry a localised marker. An unflagged
|
|
@@ -147,6 +151,7 @@ export function questionOptions(options) {
|
|
|
147
151
|
id: `opt_${index + 1}`,
|
|
148
152
|
label: option.label,
|
|
149
153
|
...(option.description !== undefined ? { description: option.description } : {}),
|
|
154
|
+
...(option.preview !== undefined ? { preview: option.preview } : {}),
|
|
150
155
|
...(option.recommended ? { recommended: true } : {}),
|
|
151
156
|
}));
|
|
152
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question-options.js","sourceRoot":"","sources":["../../../src/tools/coordinator/question-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;
|
|
1
|
+
{"version":3,"file":"question-options.js","sourceRoot":"","sources":["../../../src/tools/coordinator/question-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ export interface DefineToolOptions<S extends z.ZodType> {
|
|
|
19
19
|
/** Whether this exact call only observes state; conservative for unknown inputs. */
|
|
20
20
|
readOnly: boolean | ((input: z.infer<S>) => boolean);
|
|
21
21
|
destructive: boolean | ((input: z.infer<S>) => boolean);
|
|
22
|
-
|
|
22
|
+
/** Whether this exact call may run beside others; a function decides per call. */
|
|
23
|
+
concurrencySafe: boolean | ((input: z.infer<S>) => boolean);
|
|
23
24
|
/** Whether this exact call sends the screen to the provider; see {@link ToolDefinition.capturesScreen}. */
|
|
24
25
|
capturesScreen?: boolean | ((input: z.infer<S>) => boolean);
|
|
25
26
|
/** Whether this exact call always needs a person's approval; see {@link ToolDefinition.requiresApproval}. */
|
|
@@ -28,6 +29,8 @@ export interface DefineToolOptions<S extends z.ZodType> {
|
|
|
28
29
|
metadata?: Readonly<Record<string, unknown>>;
|
|
29
30
|
/** Batch ordering boundary; see {@link ToolDefinition.executionBarrier}. */
|
|
30
31
|
executionBarrier?: boolean;
|
|
32
|
+
/** The tool bounds its own output; see {@link ToolDefinition.selfLimitingOutput}. */
|
|
33
|
+
selfLimitingOutput?: boolean;
|
|
31
34
|
tier?: string;
|
|
32
35
|
/**
|
|
33
36
|
* How this tool's call and result should be shown; see
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAIrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,4GAA4G;IAC5G,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,+IAA+I;IAC/I,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mGAAmG;IACnG,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/defineTool.js
CHANGED
|
@@ -61,13 +61,18 @@ export function defineTool(options) {
|
|
|
61
61
|
...(options.executionBarrier !== undefined
|
|
62
62
|
? { executionBarrier: options.executionBarrier }
|
|
63
63
|
: {}),
|
|
64
|
+
...(options.selfLimitingOutput !== undefined
|
|
65
|
+
? { selfLimitingOutput: options.selfLimitingOutput }
|
|
66
|
+
: {}),
|
|
64
67
|
category: options.category,
|
|
65
68
|
permissions: options.permissions,
|
|
66
69
|
isReadOnly: typeof options.readOnly === 'function' ? options.readOnly : () => options.readOnly,
|
|
67
70
|
isDestructive: typeof options.destructive === 'function'
|
|
68
71
|
? options.destructive
|
|
69
72
|
: constantDestructive(options.destructive),
|
|
70
|
-
isConcurrencySafe:
|
|
73
|
+
isConcurrencySafe: typeof options.concurrencySafe === 'function'
|
|
74
|
+
? options.concurrencySafe
|
|
75
|
+
: () => options.concurrencySafe,
|
|
71
76
|
...(options.capturesScreen !== undefined
|
|
72
77
|
? {
|
|
73
78
|
capturesScreen: typeof options.capturesScreen === 'function'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/paths.d.ts
CHANGED
|
@@ -96,4 +96,10 @@ export declare function isWithin(root: string, candidate: string): boolean;
|
|
|
96
96
|
* process on the user's own machine.
|
|
97
97
|
*/
|
|
98
98
|
export declare function resolveWithinReal(root: string, candidate: string | undefined): Promise<string>;
|
|
99
|
+
/**
|
|
100
|
+
* The canonical form of an absolute path that may not exist: the deepest
|
|
101
|
+
* existing ancestor with its links resolved, and the rest appended as
|
|
102
|
+
* written. A path of which nothing exists is returned as it stands.
|
|
103
|
+
*/
|
|
104
|
+
export declare function canonicalize(absolute: string): Promise<string>;
|
|
99
105
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/tools/paths.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAejF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAC6L,CAAA;AAEpP;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C,GAAG,SAAS,MAAM,EAAE,CAMpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAWD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAchG;AAED,gGAAgG;AAChG,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/tools/paths.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAejF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAC6L,CAAA;AAEpP;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C,GAAG,SAAS,MAAM,EAAE,CAMpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B;AAWD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAchG;AAED,gGAAgG;AAChG,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBpE"}
|
package/dist/tools/paths.js
CHANGED
|
@@ -200,7 +200,7 @@ export async function resolveWithinReal(root, candidate) {
|
|
|
200
200
|
* existing ancestor with its links resolved, and the rest appended as
|
|
201
201
|
* written. A path of which nothing exists is returned as it stands.
|
|
202
202
|
*/
|
|
203
|
-
async function canonicalize(absolute) {
|
|
203
|
+
export async function canonicalize(absolute) {
|
|
204
204
|
// Walk up to the deepest existing ancestor. Terminates at the filesystem
|
|
205
205
|
// root, where `dirname` becomes a fixed point.
|
|
206
206
|
let existing = absolute;
|