@anthara/pi-claude 0.0.0-stage → 0.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/LICENSE +202 -0
- package/NOTICE +28 -0
- package/README.md +89 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/errors/anthara-error.d.ts +3 -0
- package/dist/errors/anthara-error.js +7 -0
- package/dist/errors/anthara-error.js.map +1 -0
- package/dist/extensions/agents/agent-dispatcher.d.ts +29 -0
- package/dist/extensions/agents/agent-dispatcher.js +73 -0
- package/dist/extensions/agents/agent-dispatcher.js.map +1 -0
- package/dist/extensions/agents/agent-result-text.d.ts +7 -0
- package/dist/extensions/agents/agent-result-text.js +13 -0
- package/dist/extensions/agents/agent-result-text.js.map +1 -0
- package/dist/extensions/agents/agent-schema.d.ts +9 -0
- package/dist/extensions/agents/agent-schema.js +12 -0
- package/dist/extensions/agents/agent-schema.js.map +1 -0
- package/dist/extensions/agents/background-runs.d.ts +12 -0
- package/dist/extensions/agents/background-runs.js +20 -0
- package/dist/extensions/agents/background-runs.js.map +1 -0
- package/dist/extensions/agents/built-in/built-in-agents.d.ts +2 -0
- package/dist/extensions/agents/built-in/built-in-agents.js +56 -0
- package/dist/extensions/agents/built-in/built-in-agents.js.map +1 -0
- package/dist/extensions/agents/built-in/read-only-agent.d.ts +3 -0
- package/dist/extensions/agents/built-in/read-only-agent.js +11 -0
- package/dist/extensions/agents/built-in/read-only-agent.js.map +1 -0
- package/dist/extensions/agents/child-session/child-resource-loader.d.ts +3 -0
- package/dist/extensions/agents/child-session/child-resource-loader.js +22 -0
- package/dist/extensions/agents/child-session/child-resource-loader.js.map +1 -0
- package/dist/extensions/agents/child-session/child-session-factory.d.ts +39 -0
- package/dist/extensions/agents/child-session/child-session-factory.js +2 -0
- package/dist/extensions/agents/child-session/child-session-factory.js.map +1 -0
- package/dist/extensions/agents/child-session/child-todo-list.d.ts +3 -0
- package/dist/extensions/agents/child-session/child-todo-list.js +21 -0
- package/dist/extensions/agents/child-session/child-todo-list.js.map +1 -0
- package/dist/extensions/agents/child-session/child-tools.d.ts +14 -0
- package/dist/extensions/agents/child-session/child-tools.js +16 -0
- package/dist/extensions/agents/child-session/child-tools.js.map +1 -0
- package/dist/extensions/agents/child-session/folder-arguments.d.ts +1 -0
- package/dist/extensions/agents/child-session/folder-arguments.js +16 -0
- package/dist/extensions/agents/child-session/folder-arguments.js.map +1 -0
- package/dist/extensions/agents/child-session/in-process-agent-runner.d.ts +20 -0
- package/dist/extensions/agents/child-session/in-process-agent-runner.js +94 -0
- package/dist/extensions/agents/child-session/in-process-agent-runner.js.map +1 -0
- package/dist/extensions/agents/child-session/parent-tool-bridge.d.ts +12 -0
- package/dist/extensions/agents/child-session/parent-tool-bridge.js +28 -0
- package/dist/extensions/agents/child-session/parent-tool-bridge.js.map +1 -0
- package/dist/extensions/agents/child-session/sdk-child-session-factory.d.ts +7 -0
- package/dist/extensions/agents/child-session/sdk-child-session-factory.js +70 -0
- package/dist/extensions/agents/child-session/sdk-child-session-factory.js.map +1 -0
- package/dist/extensions/agents/child-session/sub-agent-models.d.ts +9 -0
- package/dist/extensions/agents/child-session/sub-agent-models.js +27 -0
- package/dist/extensions/agents/child-session/sub-agent-models.js.map +1 -0
- package/dist/extensions/agents/child-session/tool-selection.d.ts +2 -0
- package/dist/extensions/agents/child-session/tool-selection.js +14 -0
- package/dist/extensions/agents/child-session/tool-selection.js.map +1 -0
- package/dist/extensions/agents/child-session/turn-cap.d.ts +8 -0
- package/dist/extensions/agents/child-session/turn-cap.js +21 -0
- package/dist/extensions/agents/child-session/turn-cap.js.map +1 -0
- package/dist/extensions/agents/errors.d.ts +14 -0
- package/dist/extensions/agents/errors.js +22 -0
- package/dist/extensions/agents/errors.js.map +1 -0
- package/dist/extensions/agents/index.d.ts +4 -0
- package/dist/extensions/agents/index.js +80 -0
- package/dist/extensions/agents/index.js.map +1 -0
- package/dist/extensions/agents/memory/agent-memory.d.ts +11 -0
- package/dist/extensions/agents/memory/agent-memory.js +28 -0
- package/dist/extensions/agents/memory/agent-memory.js.map +1 -0
- package/dist/extensions/agents/memory/fabric-memory-backend.d.ts +8 -0
- package/dist/extensions/agents/memory/fabric-memory-backend.js +40 -0
- package/dist/extensions/agents/memory/fabric-memory-backend.js.map +1 -0
- package/dist/extensions/agents/memory/memory-backend.d.ts +12 -0
- package/dist/extensions/agents/memory/memory-backend.js +2 -0
- package/dist/extensions/agents/memory/memory-backend.js.map +1 -0
- package/dist/extensions/agents/memory/memory-instruction.d.ts +7 -0
- package/dist/extensions/agents/memory/memory-instruction.js +12 -0
- package/dist/extensions/agents/memory/memory-instruction.js.map +1 -0
- package/dist/extensions/agents/model-selection.d.ts +12 -0
- package/dist/extensions/agents/model-selection.js +14 -0
- package/dist/extensions/agents/model-selection.js.map +1 -0
- package/dist/extensions/agents/preloaded-skills.d.ts +7 -0
- package/dist/extensions/agents/preloaded-skills.js +32 -0
- package/dist/extensions/agents/preloaded-skills.js.map +1 -0
- package/dist/extensions/agents/roster/agent-definition.d.ts +16 -0
- package/dist/extensions/agents/roster/agent-definition.js +2 -0
- package/dist/extensions/agents/roster/agent-definition.js.map +1 -0
- package/dist/extensions/agents/roster/agent-fields.d.ts +5 -0
- package/dist/extensions/agents/roster/agent-fields.js +28 -0
- package/dist/extensions/agents/roster/agent-fields.js.map +1 -0
- package/dist/extensions/agents/roster/agent-files.d.ts +7 -0
- package/dist/extensions/agents/roster/agent-files.js +31 -0
- package/dist/extensions/agents/roster/agent-files.js.map +1 -0
- package/dist/extensions/agents/roster/agent-roster.d.ts +17 -0
- package/dist/extensions/agents/roster/agent-roster.js +50 -0
- package/dist/extensions/agents/roster/agent-roster.js.map +1 -0
- package/dist/extensions/agents/roster/own-agents.d.ts +2 -0
- package/dist/extensions/agents/roster/own-agents.js +21 -0
- package/dist/extensions/agents/roster/own-agents.js.map +1 -0
- package/dist/extensions/agents/roster/plugin-agents.d.ts +8 -0
- package/dist/extensions/agents/roster/plugin-agents.js +46 -0
- package/dist/extensions/agents/roster/plugin-agents.js.map +1 -0
- package/dist/extensions/agents/run-planner.d.ts +14 -0
- package/dist/extensions/agents/run-planner.js +35 -0
- package/dist/extensions/agents/run-planner.js.map +1 -0
- package/dist/extensions/agents/session-agents.d.ts +17 -0
- package/dist/extensions/agents/session-agents.js +94 -0
- package/dist/extensions/agents/session-agents.js.map +1 -0
- package/dist/extensions/agents/worktrees/command-line-worktree-git.d.ts +7 -0
- package/dist/extensions/agents/worktrees/command-line-worktree-git.js +29 -0
- package/dist/extensions/agents/worktrees/command-line-worktree-git.js.map +1 -0
- package/dist/extensions/agents/worktrees/worktree-git.d.ts +24 -0
- package/dist/extensions/agents/worktrees/worktree-git.js +2 -0
- package/dist/extensions/agents/worktrees/worktree-git.js.map +1 -0
- package/dist/extensions/agents/worktrees/worktree-isolation.d.ts +8 -0
- package/dist/extensions/agents/worktrees/worktree-isolation.js +54 -0
- package/dist/extensions/agents/worktrees/worktree-isolation.js.map +1 -0
- package/dist/extensions/ask-user-question/answer-text.d.ts +4 -0
- package/dist/extensions/ask-user-question/answer-text.js +19 -0
- package/dist/extensions/ask-user-question/answer-text.js.map +1 -0
- package/dist/extensions/ask-user-question/answer.d.ts +25 -0
- package/dist/extensions/ask-user-question/answer.js +4 -0
- package/dist/extensions/ask-user-question/answer.js.map +1 -0
- package/dist/extensions/ask-user-question/dialog/key-routing.d.ts +19 -0
- package/dist/extensions/ask-user-question/dialog/key-routing.js +46 -0
- package/dist/extensions/ask-user-question/dialog/key-routing.js.map +1 -0
- package/dist/extensions/ask-user-question/dialog/option-rows.d.ts +5 -0
- package/dist/extensions/ask-user-question/dialog/option-rows.js +17 -0
- package/dist/extensions/ask-user-question/dialog/option-rows.js.map +1 -0
- package/dist/extensions/ask-user-question/dialog/question-dialog.d.ts +17 -0
- package/dist/extensions/ask-user-question/dialog/question-dialog.js +94 -0
- package/dist/extensions/ask-user-question/dialog/question-dialog.js.map +1 -0
- package/dist/extensions/ask-user-question/dialog/selected-labels.d.ts +3 -0
- package/dist/extensions/ask-user-question/dialog/selected-labels.js +2 -0
- package/dist/extensions/ask-user-question/dialog/selected-labels.js.map +1 -0
- package/dist/extensions/ask-user-question/index.d.ts +2 -0
- package/dist/extensions/ask-user-question/index.js +33 -0
- package/dist/extensions/ask-user-question/index.js.map +1 -0
- package/dist/extensions/ask-user-question/prompters/choose-prompter.d.ts +9 -0
- package/dist/extensions/ask-user-question/prompters/choose-prompter.js +9 -0
- package/dist/extensions/ask-user-question/prompters/choose-prompter.js.map +1 -0
- package/dist/extensions/ask-user-question/prompters/dialog-question-prompter.d.ts +13 -0
- package/dist/extensions/ask-user-question/prompters/dialog-question-prompter.js +32 -0
- package/dist/extensions/ask-user-question/prompters/dialog-question-prompter.js.map +1 -0
- package/dist/extensions/ask-user-question/prompters/question-prompter.d.ts +5 -0
- package/dist/extensions/ask-user-question/prompters/question-prompter.js +2 -0
- package/dist/extensions/ask-user-question/prompters/question-prompter.js.map +1 -0
- package/dist/extensions/ask-user-question/prompters/terminal-question-prompter.d.ts +9 -0
- package/dist/extensions/ask-user-question/prompters/terminal-question-prompter.js +43 -0
- package/dist/extensions/ask-user-question/prompters/terminal-question-prompter.js.map +1 -0
- package/dist/extensions/ask-user-question/question-asker.d.ts +8 -0
- package/dist/extensions/ask-user-question/question-asker.js +19 -0
- package/dist/extensions/ask-user-question/question-asker.js.map +1 -0
- package/dist/extensions/ask-user-question/question-schema.d.ts +31 -0
- package/dist/extensions/ask-user-question/question-schema.js +31 -0
- package/dist/extensions/ask-user-question/question-schema.js.map +1 -0
- package/dist/extensions/commands/command-autocomplete.d.ts +3 -0
- package/dist/extensions/commands/command-autocomplete.js +18 -0
- package/dist/extensions/commands/command-autocomplete.js.map +1 -0
- package/dist/extensions/commands/command-runner.d.ts +8 -0
- package/dist/extensions/commands/command-runner.js +64 -0
- package/dist/extensions/commands/command-runner.js.map +1 -0
- package/dist/extensions/commands/index.d.ts +2 -0
- package/dist/extensions/commands/index.js +26 -0
- package/dist/extensions/commands/index.js.map +1 -0
- package/dist/extensions/commands/turn-override.d.ts +15 -0
- package/dist/extensions/commands/turn-override.js +78 -0
- package/dist/extensions/commands/turn-override.js.map +1 -0
- package/dist/extensions/commands/typed-command.d.ts +5 -0
- package/dist/extensions/commands/typed-command.js +6 -0
- package/dist/extensions/commands/typed-command.js.map +1 -0
- package/dist/extensions/conflict-check/index.d.ts +2 -0
- package/dist/extensions/conflict-check/index.js +10 -0
- package/dist/extensions/conflict-check/index.js.map +1 -0
- package/dist/extensions/conflict-check/rival-notice.d.ts +2 -0
- package/dist/extensions/conflict-check/rival-notice.js +13 -0
- package/dist/extensions/conflict-check/rival-notice.js.map +1 -0
- package/dist/extensions/conflict-check/rival-registrations.d.ts +6 -0
- package/dist/extensions/conflict-check/rival-registrations.js +27 -0
- package/dist/extensions/conflict-check/rival-registrations.js.map +1 -0
- package/dist/extensions/hooks/bridges/agent-turn-bridges.d.ts +4 -0
- package/dist/extensions/hooks/bridges/agent-turn-bridges.js +60 -0
- package/dist/extensions/hooks/bridges/agent-turn-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/announced-bridges.d.ts +8 -0
- package/dist/extensions/hooks/bridges/announced-bridges.js +61 -0
- package/dist/extensions/hooks/bridges/announced-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/briefing.d.ts +4 -0
- package/dist/extensions/hooks/bridges/briefing.js +11 -0
- package/dist/extensions/hooks/bridges/briefing.js.map +1 -0
- package/dist/extensions/hooks/bridges/compaction-bridges.d.ts +4 -0
- package/dist/extensions/hooks/bridges/compaction-bridges.js +36 -0
- package/dist/extensions/hooks/bridges/compaction-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/event-bridge.d.ts +45 -0
- package/dist/extensions/hooks/bridges/event-bridge.js +16 -0
- package/dist/extensions/hooks/bridges/event-bridge.js.map +1 -0
- package/dist/extensions/hooks/bridges/event-bridges.d.ts +8 -0
- package/dist/extensions/hooks/bridges/event-bridges.js +38 -0
- package/dist/extensions/hooks/bridges/event-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/last-assistant-message.d.ts +3 -0
- package/dist/extensions/hooks/bridges/last-assistant-message.js +12 -0
- package/dist/extensions/hooks/bridges/last-assistant-message.js.map +1 -0
- package/dist/extensions/hooks/bridges/payload-translator.d.ts +5 -0
- package/dist/extensions/hooks/bridges/payload-translator.js +97 -0
- package/dist/extensions/hooks/bridges/payload-translator.js.map +1 -0
- package/dist/extensions/hooks/bridges/prompt-bridge.d.ts +3 -0
- package/dist/extensions/hooks/bridges/prompt-bridge.js +36 -0
- package/dist/extensions/hooks/bridges/prompt-bridge.js.map +1 -0
- package/dist/extensions/hooks/bridges/session-bridges.d.ts +5 -0
- package/dist/extensions/hooks/bridges/session-bridges.js +38 -0
- package/dist/extensions/hooks/bridges/session-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/session-state-bridges.d.ts +4 -0
- package/dist/extensions/hooks/bridges/session-state-bridges.js +32 -0
- package/dist/extensions/hooks/bridges/session-state-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/stop-bridge.d.ts +3 -0
- package/dist/extensions/hooks/bridges/stop-bridge.js +31 -0
- package/dist/extensions/hooks/bridges/stop-bridge.js.map +1 -0
- package/dist/extensions/hooks/bridges/subagent-bridges.d.ts +4 -0
- package/dist/extensions/hooks/bridges/subagent-bridges.js +32 -0
- package/dist/extensions/hooks/bridges/subagent-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/tool-bridges.d.ts +7 -0
- package/dist/extensions/hooks/bridges/tool-bridges.js +85 -0
- package/dist/extensions/hooks/bridges/tool-bridges.js.map +1 -0
- package/dist/extensions/hooks/bridges/tool-call-subject.d.ts +10 -0
- package/dist/extensions/hooks/bridges/tool-call-subject.js +18 -0
- package/dist/extensions/hooks/bridges/tool-call-subject.js.map +1 -0
- package/dist/extensions/hooks/bridges/triggers.d.ts +11 -0
- package/dist/extensions/hooks/bridges/triggers.js +30 -0
- package/dist/extensions/hooks/bridges/triggers.js.map +1 -0
- package/dist/extensions/hooks/decisions/combine.d.ts +18 -0
- package/dist/extensions/hooks/decisions/combine.js +43 -0
- package/dist/extensions/hooks/decisions/combine.js.map +1 -0
- package/dist/extensions/hooks/decisions/hook-outcome.d.ts +26 -0
- package/dist/extensions/hooks/decisions/hook-outcome.js +11 -0
- package/dist/extensions/hooks/decisions/hook-outcome.js.map +1 -0
- package/dist/extensions/hooks/decisions/parse-output.d.ts +5 -0
- package/dist/extensions/hooks/decisions/parse-output.js +112 -0
- package/dist/extensions/hooks/decisions/parse-output.js.map +1 -0
- package/dist/extensions/hooks/delivery/idle-watch.d.ts +5 -0
- package/dist/extensions/hooks/delivery/idle-watch.js +17 -0
- package/dist/extensions/hooks/delivery/idle-watch.js.map +1 -0
- package/dist/extensions/hooks/delivery/pending-context.d.ts +7 -0
- package/dist/extensions/hooks/delivery/pending-context.js +16 -0
- package/dist/extensions/hooks/delivery/pending-context.js.map +1 -0
- package/dist/extensions/hooks/delivery/stop-continuations.d.ts +9 -0
- package/dist/extensions/hooks/delivery/stop-continuations.js +31 -0
- package/dist/extensions/hooks/delivery/stop-continuations.js.map +1 -0
- package/dist/extensions/hooks/delivery/tool-call-notes.d.ts +8 -0
- package/dist/extensions/hooks/delivery/tool-call-notes.js +30 -0
- package/dist/extensions/hooks/delivery/tool-call-notes.js.map +1 -0
- package/dist/extensions/hooks/dispatch/common-fields.d.ts +3 -0
- package/dist/extensions/hooks/dispatch/common-fields.js +10 -0
- package/dist/extensions/hooks/dispatch/common-fields.js.map +1 -0
- package/dist/extensions/hooks/dispatch/hook-dispatcher.d.ts +9 -0
- package/dist/extensions/hooks/dispatch/hook-dispatcher.js +62 -0
- package/dist/extensions/hooks/dispatch/hook-dispatcher.js.map +1 -0
- package/dist/extensions/hooks/hook-session.d.ts +15 -0
- package/dist/extensions/hooks/hook-session.js +127 -0
- package/dist/extensions/hooks/hook-session.js.map +1 -0
- package/dist/extensions/hooks/index.d.ts +2 -0
- package/dist/extensions/hooks/index.js +60 -0
- package/dist/extensions/hooks/index.js.map +1 -0
- package/dist/extensions/hooks/registry/bash-if-filter.d.ts +1 -0
- package/dist/extensions/hooks/registry/bash-if-filter.js +40 -0
- package/dist/extensions/hooks/registry/bash-if-filter.js.map +1 -0
- package/dist/extensions/hooks/registry/hook-handler.d.ts +63 -0
- package/dist/extensions/hooks/registry/hook-handler.js +4 -0
- package/dist/extensions/hooks/registry/hook-handler.js.map +1 -0
- package/dist/extensions/hooks/registry/hook-registry.d.ts +6 -0
- package/dist/extensions/hooks/registry/hook-registry.js +39 -0
- package/dist/extensions/hooks/registry/hook-registry.js.map +1 -0
- package/dist/extensions/hooks/registry/hook-sources.d.ts +15 -0
- package/dist/extensions/hooks/registry/hook-sources.js +48 -0
- package/dist/extensions/hooks/registry/hook-sources.js.map +1 -0
- package/dist/extensions/hooks/registry/hooks-summary.d.ts +2 -0
- package/dist/extensions/hooks/registry/hooks-summary.js +15 -0
- package/dist/extensions/hooks/registry/hooks-summary.js.map +1 -0
- package/dist/extensions/hooks/registry/if-rule.d.ts +5 -0
- package/dist/extensions/hooks/registry/if-rule.js +41 -0
- package/dist/extensions/hooks/registry/if-rule.js.map +1 -0
- package/dist/extensions/hooks/registry/match-subject.d.ts +19 -0
- package/dist/extensions/hooks/registry/match-subject.js +2 -0
- package/dist/extensions/hooks/registry/match-subject.js.map +1 -0
- package/dist/extensions/hooks/registry/matcher.d.ts +4 -0
- package/dist/extensions/hooks/registry/matcher.js +35 -0
- package/dist/extensions/hooks/registry/matcher.js.map +1 -0
- package/dist/extensions/hooks/registry/parse-hooks.d.ts +3 -0
- package/dist/extensions/hooks/registry/parse-hooks.js +124 -0
- package/dist/extensions/hooks/registry/parse-hooks.js.map +1 -0
- package/dist/extensions/hooks/registry/path-rule.d.ts +2 -0
- package/dist/extensions/hooks/registry/path-rule.js +19 -0
- package/dist/extensions/hooks/registry/path-rule.js.map +1 -0
- package/dist/extensions/hooks/registry/unsupported-notices.d.ts +2 -0
- package/dist/extensions/hooks/registry/unsupported-notices.js +9 -0
- package/dist/extensions/hooks/registry/unsupported-notices.js.map +1 -0
- package/dist/extensions/hooks/registry/wildcard.d.ts +1 -0
- package/dist/extensions/hooks/registry/wildcard.js +3 -0
- package/dist/extensions/hooks/registry/wildcard.js.map +1 -0
- package/dist/extensions/hooks/runners/agent-runner.d.ts +3 -0
- package/dist/extensions/hooks/runners/agent-runner.js +26 -0
- package/dist/extensions/hooks/runners/agent-runner.js.map +1 -0
- package/dist/extensions/hooks/runners/background-hooks.d.ts +10 -0
- package/dist/extensions/hooks/runners/background-hooks.js +56 -0
- package/dist/extensions/hooks/runners/background-hooks.js.map +1 -0
- package/dist/extensions/hooks/runners/command-runner.d.ts +5 -0
- package/dist/extensions/hooks/runners/command-runner.js +126 -0
- package/dist/extensions/hooks/runners/command-runner.js.map +1 -0
- package/dist/extensions/hooks/runners/errors.d.ts +10 -0
- package/dist/extensions/hooks/runners/errors.js +18 -0
- package/dist/extensions/hooks/runners/errors.js.map +1 -0
- package/dist/extensions/hooks/runners/hook-process-environment.d.ts +8 -0
- package/dist/extensions/hooks/runners/hook-process-environment.js +20 -0
- package/dist/extensions/hooks/runners/hook-process-environment.js.map +1 -0
- package/dist/extensions/hooks/runners/hook-runner.d.ts +47 -0
- package/dist/extensions/hooks/runners/hook-runner.js +2 -0
- package/dist/extensions/hooks/runners/hook-runner.js.map +1 -0
- package/dist/extensions/hooks/runners/http-runner.d.ts +3 -0
- package/dist/extensions/hooks/runners/http-runner.js +42 -0
- package/dist/extensions/hooks/runners/http-runner.js.map +1 -0
- package/dist/extensions/hooks/runners/pi-hook-agents.d.ts +5 -0
- package/dist/extensions/hooks/runners/pi-hook-agents.js +18 -0
- package/dist/extensions/hooks/runners/pi-hook-agents.js.map +1 -0
- package/dist/extensions/hooks/runners/pi-hook-models.d.ts +5 -0
- package/dist/extensions/hooks/runners/pi-hook-models.js +16 -0
- package/dist/extensions/hooks/runners/pi-hook-models.js.map +1 -0
- package/dist/extensions/hooks/runners/prompt-runner.d.ts +3 -0
- package/dist/extensions/hooks/runners/prompt-runner.js +27 -0
- package/dist/extensions/hooks/runners/prompt-runner.js.map +1 -0
- package/dist/extensions/hooks/runners/prompt-template.d.ts +2 -0
- package/dist/extensions/hooks/runners/prompt-template.js +7 -0
- package/dist/extensions/hooks/runners/prompt-template.js.map +1 -0
- package/dist/extensions/hooks/runners/runners-by-type.d.ts +9 -0
- package/dist/extensions/hooks/runners/runners-by-type.js +20 -0
- package/dist/extensions/hooks/runners/runners-by-type.js.map +1 -0
- package/dist/extensions/hooks/unsupported-events.d.ts +5 -0
- package/dist/extensions/hooks/unsupported-events.js +18 -0
- package/dist/extensions/hooks/unsupported-events.js.map +1 -0
- package/dist/extensions/instructions/attachments.d.ts +21 -0
- package/dist/extensions/instructions/attachments.js +55 -0
- package/dist/extensions/instructions/attachments.js.map +1 -0
- package/dist/extensions/instructions/excludes.d.ts +2 -0
- package/dist/extensions/instructions/excludes.js +13 -0
- package/dist/extensions/instructions/excludes.js.map +1 -0
- package/dist/extensions/instructions/files.d.ts +4 -0
- package/dist/extensions/instructions/files.js +29 -0
- package/dist/extensions/instructions/files.js.map +1 -0
- package/dist/extensions/instructions/imports.d.ts +28 -0
- package/dist/extensions/instructions/imports.js +92 -0
- package/dist/extensions/instructions/imports.js.map +1 -0
- package/dist/extensions/instructions/index.d.ts +2 -0
- package/dist/extensions/instructions/index.js +43 -0
- package/dist/extensions/instructions/index.js.map +1 -0
- package/dist/extensions/instructions/instruction-files.d.ts +17 -0
- package/dist/extensions/instructions/instruction-files.js +51 -0
- package/dist/extensions/instructions/instruction-files.js.map +1 -0
- package/dist/extensions/instructions/instruction-set.d.ts +26 -0
- package/dist/extensions/instructions/instruction-set.js +97 -0
- package/dist/extensions/instructions/instruction-set.js.map +1 -0
- package/dist/extensions/instructions/instruction-text.d.ts +9 -0
- package/dist/extensions/instructions/instruction-text.js +20 -0
- package/dist/extensions/instructions/instruction-text.js.map +1 -0
- package/dist/extensions/instructions/path-glob.d.ts +2 -0
- package/dist/extensions/instructions/path-glob.js +44 -0
- package/dist/extensions/instructions/path-glob.js.map +1 -0
- package/dist/extensions/instructions/rules.d.ts +25 -0
- package/dist/extensions/instructions/rules.js +43 -0
- package/dist/extensions/instructions/rules.js.map +1 -0
- package/dist/extensions/instructions/session-instructions.d.ts +13 -0
- package/dist/extensions/instructions/session-instructions.js +49 -0
- package/dist/extensions/instructions/session-instructions.js.map +1 -0
- package/dist/extensions/instructions/strip-comments.d.ts +6 -0
- package/dist/extensions/instructions/strip-comments.js +58 -0
- package/dist/extensions/instructions/strip-comments.js.map +1 -0
- package/dist/extensions/instructions/touched-file.d.ts +6 -0
- package/dist/extensions/instructions/touched-file.js +31 -0
- package/dist/extensions/instructions/touched-file.js.map +1 -0
- package/dist/extensions/mcp/claude-config/call-timeout.d.ts +2 -0
- package/dist/extensions/mcp/claude-config/call-timeout.js +14 -0
- package/dist/extensions/mcp/claude-config/call-timeout.js.map +1 -0
- package/dist/extensions/mcp/claude-config/claude-mcp-server.d.ts +13 -0
- package/dist/extensions/mcp/claude-config/claude-mcp-server.js +2 -0
- package/dist/extensions/mcp/claude-config/claude-mcp-server.js.map +1 -0
- package/dist/extensions/mcp/claude-config/expand-variables.d.ts +2 -0
- package/dist/extensions/mcp/claude-config/expand-variables.js +8 -0
- package/dist/extensions/mcp/claude-config/expand-variables.js.map +1 -0
- package/dist/extensions/mcp/claude-config/exposure.d.ts +2 -0
- package/dist/extensions/mcp/claude-config/exposure.js +4 -0
- package/dist/extensions/mcp/claude-config/exposure.js.map +1 -0
- package/dist/extensions/mcp/claude-config/mcp-sources.d.ts +4 -0
- package/dist/extensions/mcp/claude-config/mcp-sources.js +27 -0
- package/dist/extensions/mcp/claude-config/mcp-sources.js.map +1 -0
- package/dist/extensions/mcp/claude-config/pi-literal.d.ts +1 -0
- package/dist/extensions/mcp/claude-config/pi-literal.js +5 -0
- package/dist/extensions/mcp/claude-config/pi-literal.js.map +1 -0
- package/dist/extensions/mcp/claude-config/registered-name.d.ts +2 -0
- package/dist/extensions/mcp/claude-config/registered-name.js +6 -0
- package/dist/extensions/mcp/claude-config/registered-name.js.map +1 -0
- package/dist/extensions/mcp/claude-config/to-pi-server.d.ts +26 -0
- package/dist/extensions/mcp/claude-config/to-pi-server.js +104 -0
- package/dist/extensions/mcp/claude-config/to-pi-server.js.map +1 -0
- package/dist/extensions/mcp/claude-config/unset-variables.d.ts +2 -0
- package/dist/extensions/mcp/claude-config/unset-variables.js +21 -0
- package/dist/extensions/mcp/claude-config/unset-variables.js.map +1 -0
- package/dist/extensions/mcp/claude-config/variable-references.d.ts +3 -0
- package/dist/extensions/mcp/claude-config/variable-references.js +5 -0
- package/dist/extensions/mcp/claude-config/variable-references.js.map +1 -0
- package/dist/extensions/mcp/index.d.ts +2 -0
- package/dist/extensions/mcp/index.js +9 -0
- package/dist/extensions/mcp/index.js.map +1 -0
- package/dist/extensions/mcp/mcp-server-registrations.d.ts +9 -0
- package/dist/extensions/mcp/mcp-server-registrations.js +79 -0
- package/dist/extensions/mcp/mcp-server-registrations.js.map +1 -0
- package/dist/extensions/mcp/server-notices.d.ts +11 -0
- package/dist/extensions/mcp/server-notices.js +14 -0
- package/dist/extensions/mcp/server-notices.js.map +1 -0
- package/dist/extensions/output-styles/apply-style.d.ts +6 -0
- package/dist/extensions/output-styles/apply-style.js +15 -0
- package/dist/extensions/output-styles/apply-style.js.map +1 -0
- package/dist/extensions/output-styles/built-in-styles.d.ts +2 -0
- package/dist/extensions/output-styles/built-in-styles.js +33 -0
- package/dist/extensions/output-styles/built-in-styles.js.map +1 -0
- package/dist/extensions/output-styles/configured-style.d.ts +1 -0
- package/dist/extensions/output-styles/configured-style.js +6 -0
- package/dist/extensions/output-styles/configured-style.js.map +1 -0
- package/dist/extensions/output-styles/index.d.ts +2 -0
- package/dist/extensions/output-styles/index.js +68 -0
- package/dist/extensions/output-styles/index.js.map +1 -0
- package/dist/extensions/output-styles/output-style.d.ts +8 -0
- package/dist/extensions/output-styles/output-style.js +17 -0
- package/dist/extensions/output-styles/output-style.js.map +1 -0
- package/dist/extensions/output-styles/style-choice-store.d.ts +6 -0
- package/dist/extensions/output-styles/style-choice-store.js +17 -0
- package/dist/extensions/output-styles/style-choice-store.js.map +1 -0
- package/dist/extensions/output-styles/style-session.d.ts +11 -0
- package/dist/extensions/output-styles/style-session.js +53 -0
- package/dist/extensions/output-styles/style-session.js.map +1 -0
- package/dist/extensions/output-styles/style-sources.d.ts +12 -0
- package/dist/extensions/output-styles/style-sources.js +58 -0
- package/dist/extensions/output-styles/style-sources.js.map +1 -0
- package/dist/extensions/plugin-agent/apply-main-agent.d.ts +15 -0
- package/dist/extensions/plugin-agent/apply-main-agent.js +40 -0
- package/dist/extensions/plugin-agent/apply-main-agent.js.map +1 -0
- package/dist/extensions/plugin-agent/index.d.ts +2 -0
- package/dist/extensions/plugin-agent/index.js +30 -0
- package/dist/extensions/plugin-agent/index.js.map +1 -0
- package/dist/extensions/plugin-agent/main-agent-sessions.d.ts +9 -0
- package/dist/extensions/plugin-agent/main-agent-sessions.js +89 -0
- package/dist/extensions/plugin-agent/main-agent-sessions.js.map +1 -0
- package/dist/extensions/plugin-agent/main-agent-tools.d.ts +2 -0
- package/dist/extensions/plugin-agent/main-agent-tools.js +10 -0
- package/dist/extensions/plugin-agent/main-agent-tools.js.map +1 -0
- package/dist/extensions/plugin-agent/plugin-settings.d.ts +9 -0
- package/dist/extensions/plugin-agent/plugin-settings.js +20 -0
- package/dist/extensions/plugin-agent/plugin-settings.js.map +1 -0
- package/dist/extensions/plugin-bin/index.d.ts +2 -0
- package/dist/extensions/plugin-bin/index.js +25 -0
- package/dist/extensions/plugin-bin/index.js.map +1 -0
- package/dist/extensions/plugin-bin/plugin-bins.d.ts +3 -0
- package/dist/extensions/plugin-bin/plugin-bins.js +22 -0
- package/dist/extensions/plugin-bin/plugin-bins.js.map +1 -0
- package/dist/extensions/plugin-command/configure-dialog.d.ts +11 -0
- package/dist/extensions/plugin-command/configure-dialog.js +36 -0
- package/dist/extensions/plugin-command/configure-dialog.js.map +1 -0
- package/dist/extensions/plugin-command/index.d.ts +2 -0
- package/dist/extensions/plugin-command/index.js +6 -0
- package/dist/extensions/plugin-command/index.js.map +1 -0
- package/dist/extensions/plugin-command/masked-input.d.ts +6 -0
- package/dist/extensions/plugin-command/masked-input.js +47 -0
- package/dist/extensions/plugin-command/masked-input.js.map +1 -0
- package/dist/extensions/plugin-command/plugin-command.d.ts +3 -0
- package/dist/extensions/plugin-command/plugin-command.js +41 -0
- package/dist/extensions/plugin-command/plugin-command.js.map +1 -0
- package/dist/extensions/settings-env/index.d.ts +2 -0
- package/dist/extensions/settings-env/index.js +35 -0
- package/dist/extensions/settings-env/index.js.map +1 -0
- package/dist/extensions/skills/errors.d.ts +13 -0
- package/dist/extensions/skills/errors.js +23 -0
- package/dist/extensions/skills/errors.js.map +1 -0
- package/dist/extensions/skills/fork-errors.d.ts +7 -0
- package/dist/extensions/skills/fork-errors.js +12 -0
- package/dist/extensions/skills/fork-errors.js.map +1 -0
- package/dist/extensions/skills/fork-skill.d.ts +6 -0
- package/dist/extensions/skills/fork-skill.js +46 -0
- package/dist/extensions/skills/fork-skill.js.map +1 -0
- package/dist/extensions/skills/index.d.ts +2 -0
- package/dist/extensions/skills/index.js +55 -0
- package/dist/extensions/skills/index.js.map +1 -0
- package/dist/extensions/skills/namespaced-input.d.ts +4 -0
- package/dist/extensions/skills/namespaced-input.js +18 -0
- package/dist/extensions/skills/namespaced-input.js.map +1 -0
- package/dist/extensions/skills/pi-skill-paths.d.ts +3 -0
- package/dist/extensions/skills/pi-skill-paths.js +7 -0
- package/dist/extensions/skills/pi-skill-paths.js.map +1 -0
- package/dist/extensions/skills/skill-autocomplete.d.ts +3 -0
- package/dist/extensions/skills/skill-autocomplete.js +33 -0
- package/dist/extensions/skills/skill-autocomplete.js.map +1 -0
- package/dist/extensions/skills/skill-block.d.ts +2 -0
- package/dist/extensions/skills/skill-block.js +2 -0
- package/dist/extensions/skills/skill-block.js.map +1 -0
- package/dist/extensions/skills/skill-hooks.d.ts +2 -0
- package/dist/extensions/skills/skill-hooks.js +8 -0
- package/dist/extensions/skills/skill-hooks.js.map +1 -0
- package/dist/extensions/skills/skill-invoker.d.ts +16 -0
- package/dist/extensions/skills/skill-invoker.js +24 -0
- package/dist/extensions/skills/skill-invoker.js.map +1 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirror-store.d.ts +13 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirror-store.js +113 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirror-store.js.map +1 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirrors.d.ts +3 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirrors.js +21 -0
- package/dist/extensions/skills/skill-mirrors/skill-mirrors.js.map +1 -0
- package/dist/extensions/skills/skill-tool.d.ts +10 -0
- package/dist/extensions/skills/skill-tool.js +44 -0
- package/dist/extensions/skills/skill-tool.js.map +1 -0
- package/dist/extensions/skills/unreadable-skill-reports.d.ts +6 -0
- package/dist/extensions/skills/unreadable-skill-reports.js +12 -0
- package/dist/extensions/skills/unreadable-skill-reports.js.map +1 -0
- package/dist/extensions/todo-write/index.d.ts +2 -0
- package/dist/extensions/todo-write/index.js +48 -0
- package/dist/extensions/todo-write/index.js.map +1 -0
- package/dist/extensions/todo-write/todo-list-text.d.ts +3 -0
- package/dist/extensions/todo-write/todo-list-text.js +14 -0
- package/dist/extensions/todo-write/todo-list-text.js.map +1 -0
- package/dist/extensions/todo-write/todo-panel.d.ts +3 -0
- package/dist/extensions/todo-write/todo-panel.js +58 -0
- package/dist/extensions/todo-write/todo-panel.js.map +1 -0
- package/dist/extensions/todo-write/todo-store.d.ts +10 -0
- package/dist/extensions/todo-write/todo-store.js +29 -0
- package/dist/extensions/todo-write/todo-store.js.map +1 -0
- package/dist/extensions/tool-search/errors.d.ts +4 -0
- package/dist/extensions/tool-search/errors.js +7 -0
- package/dist/extensions/tool-search/errors.js.map +1 -0
- package/dist/extensions/tool-search/index.d.ts +2 -0
- package/dist/extensions/tool-search/index.js +49 -0
- package/dist/extensions/tool-search/index.js.map +1 -0
- package/dist/extensions/tool-search/tool-listing.d.ts +2 -0
- package/dist/extensions/tool-search/tool-listing.js +18 -0
- package/dist/extensions/tool-search/tool-listing.js.map +1 -0
- package/dist/extensions/tool-search/tool-matcher.d.ts +10 -0
- package/dist/extensions/tool-search/tool-matcher.js +45 -0
- package/dist/extensions/tool-search/tool-matcher.js.map +1 -0
- package/dist/extensions/tool-search/tool-query.d.ts +11 -0
- package/dist/extensions/tool-search/tool-query.js +28 -0
- package/dist/extensions/tool-search/tool-query.js.map +1 -0
- package/dist/extensions/web/errors.d.ts +18 -0
- package/dist/extensions/web/errors.js +29 -0
- package/dist/extensions/web/errors.js.map +1 -0
- package/dist/extensions/web/fetching/address-policy.d.ts +1 -0
- package/dist/extensions/web/fetching/address-policy.js +40 -0
- package/dist/extensions/web/fetching/address-policy.js.map +1 -0
- package/dist/extensions/web/fetching/domain-filter.d.ts +2 -0
- package/dist/extensions/web/fetching/domain-filter.js +18 -0
- package/dist/extensions/web/fetching/domain-filter.js.map +1 -0
- package/dist/extensions/web/fetching/duckduckgo-search.d.ts +10 -0
- package/dist/extensions/web/fetching/duckduckgo-search.js +36 -0
- package/dist/extensions/web/fetching/duckduckgo-search.js.map +1 -0
- package/dist/extensions/web/fetching/host-resolver.d.ts +6 -0
- package/dist/extensions/web/fetching/host-resolver.js +8 -0
- package/dist/extensions/web/fetching/host-resolver.js.map +1 -0
- package/dist/extensions/web/fetching/html-text.d.ts +2 -0
- package/dist/extensions/web/fetching/html-text.js +143 -0
- package/dist/extensions/web/fetching/html-text.js.map +1 -0
- package/dist/extensions/web/fetching/http-status.d.ts +2 -0
- package/dist/extensions/web/fetching/http-status.js +6 -0
- package/dist/extensions/web/fetching/http-status.js.map +1 -0
- package/dist/extensions/web/fetching/http-transport.d.ts +14 -0
- package/dist/extensions/web/fetching/http-transport.js +71 -0
- package/dist/extensions/web/fetching/http-transport.js.map +1 -0
- package/dist/extensions/web/fetching/page-text.d.ts +3 -0
- package/dist/extensions/web/fetching/page-text.js +12 -0
- package/dist/extensions/web/fetching/page-text.js.map +1 -0
- package/dist/extensions/web/fetching/safe-fetcher.d.ts +15 -0
- package/dist/extensions/web/fetching/safe-fetcher.js +64 -0
- package/dist/extensions/web/fetching/safe-fetcher.js.map +1 -0
- package/dist/extensions/web/index.d.ts +2 -0
- package/dist/extensions/web/index.js +8 -0
- package/dist/extensions/web/index.js.map +1 -0
- package/dist/extensions/web/web-schemas.d.ts +10 -0
- package/dist/extensions/web/web-schemas.js +11 -0
- package/dist/extensions/web/web-schemas.js.map +1 -0
- package/dist/extensions/web/web-tools.d.ts +3 -0
- package/dist/extensions/web/web-tools.js +53 -0
- package/dist/extensions/web/web-tools.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/agent-roster/agent-roster-slot.d.ts +21 -0
- package/dist/kernel/agent-roster/agent-roster-slot.js +14 -0
- package/dist/kernel/agent-roster/agent-roster-slot.js.map +1 -0
- package/dist/kernel/agent-runner/agent-outcome.d.ts +15 -0
- package/dist/kernel/agent-runner/agent-outcome.js +2 -0
- package/dist/kernel/agent-runner/agent-outcome.js.map +1 -0
- package/dist/kernel/agent-runner/agent-runner-slot.d.ts +11 -0
- package/dist/kernel/agent-runner/agent-runner-slot.js +14 -0
- package/dist/kernel/agent-runner/agent-runner-slot.js.map +1 -0
- package/dist/kernel/agent-runner/sub-agent-runner.d.ts +19 -0
- package/dist/kernel/agent-runner/sub-agent-runner.js +2 -0
- package/dist/kernel/agent-runner/sub-agent-runner.js.map +1 -0
- package/dist/kernel/agent-runner/sub-agent-tool-calls.d.ts +1 -0
- package/dist/kernel/agent-runner/sub-agent-tool-calls.js +4 -0
- package/dist/kernel/agent-runner/sub-agent-tool-calls.js.map +1 -0
- package/dist/kernel/background-mailbox/background-mailbox.d.ts +13 -0
- package/dist/kernel/background-mailbox/background-mailbox.js +38 -0
- package/dist/kernel/background-mailbox/background-mailbox.js.map +1 -0
- package/dist/kernel/claude-home/config-dir.d.ts +2 -0
- package/dist/kernel/claude-home/config-dir.js +10 -0
- package/dist/kernel/claude-home/config-dir.js.map +1 -0
- package/dist/kernel/claude-home/installed-plugins.d.ts +10 -0
- package/dist/kernel/claude-home/installed-plugins.js +64 -0
- package/dist/kernel/claude-home/installed-plugins.js.map +1 -0
- package/dist/kernel/claude-home/plugin-layout.d.ts +6 -0
- package/dist/kernel/claude-home/plugin-layout.js +20 -0
- package/dist/kernel/claude-home/plugin-layout.js.map +1 -0
- package/dist/kernel/claude-home/plugin-versions.d.ts +1 -0
- package/dist/kernel/claude-home/plugin-versions.js +38 -0
- package/dist/kernel/claude-home/plugin-versions.js.map +1 -0
- package/dist/kernel/claude-home/project-folders.d.ts +1 -0
- package/dist/kernel/claude-home/project-folders.js +17 -0
- package/dist/kernel/claude-home/project-folders.js.map +1 -0
- package/dist/kernel/claude-home/project-settings.d.ts +1 -0
- package/dist/kernel/claude-home/project-settings.js +8 -0
- package/dist/kernel/claude-home/project-settings.js.map +1 -0
- package/dist/kernel/claude-home/reserved-env-keys.d.ts +6 -0
- package/dist/kernel/claude-home/reserved-env-keys.js +28 -0
- package/dist/kernel/claude-home/reserved-env-keys.js.map +1 -0
- package/dist/kernel/claude-home/skill-mirror-layout.d.ts +7 -0
- package/dist/kernel/claude-home/skill-mirror-layout.js +21 -0
- package/dist/kernel/claude-home/skill-mirror-layout.js.map +1 -0
- package/dist/kernel/claude-home/user-settings.d.ts +1 -0
- package/dist/kernel/claude-home/user-settings.js +4 -0
- package/dist/kernel/claude-home/user-settings.js.map +1 -0
- package/dist/kernel/frontmatter/frontmatter-fields.d.ts +7 -0
- package/dist/kernel/frontmatter/frontmatter-fields.js +34 -0
- package/dist/kernel/frontmatter/frontmatter-fields.js.map +1 -0
- package/dist/kernel/frontmatter/frontmatter-repair.d.ts +14 -0
- package/dist/kernel/frontmatter/frontmatter-repair.js +48 -0
- package/dist/kernel/frontmatter/frontmatter-repair.js.map +1 -0
- package/dist/kernel/frontmatter/lenient-frontmatter.d.ts +13 -0
- package/dist/kernel/frontmatter/lenient-frontmatter.js +49 -0
- package/dist/kernel/frontmatter/lenient-frontmatter.js.map +1 -0
- package/dist/kernel/frontmatter/read-frontmatter.d.ts +20 -0
- package/dist/kernel/frontmatter/read-frontmatter.js +29 -0
- package/dist/kernel/frontmatter/read-frontmatter.js.map +1 -0
- package/dist/kernel/instruction-events/instruction-events.d.ts +16 -0
- package/dist/kernel/instruction-events/instruction-events.js +11 -0
- package/dist/kernel/instruction-events/instruction-events.js.map +1 -0
- package/dist/kernel/mcp-names/mcp-names.d.ts +12 -0
- package/dist/kernel/mcp-names/mcp-names.js +24 -0
- package/dist/kernel/mcp-names/mcp-names.js.map +1 -0
- package/dist/kernel/model-choice/model-choice.d.ts +21 -0
- package/dist/kernel/model-choice/model-choice.js +38 -0
- package/dist/kernel/model-choice/model-choice.js.map +1 -0
- package/dist/kernel/plugin-catalog/catalog-slot.d.ts +4 -0
- package/dist/kernel/plugin-catalog/catalog-slot.js +16 -0
- package/dist/kernel/plugin-catalog/catalog-slot.js.map +1 -0
- package/dist/kernel/plugin-catalog/enablement.d.ts +3 -0
- package/dist/kernel/plugin-catalog/enablement.js +14 -0
- package/dist/kernel/plugin-catalog/enablement.js.map +1 -0
- package/dist/kernel/plugin-catalog/manifest-view.d.ts +7 -0
- package/dist/kernel/plugin-catalog/manifest-view.js +27 -0
- package/dist/kernel/plugin-catalog/manifest-view.js.map +1 -0
- package/dist/kernel/plugin-catalog/own-installs.d.ts +8 -0
- package/dist/kernel/plugin-catalog/own-installs.js +13 -0
- package/dist/kernel/plugin-catalog/own-installs.js.map +1 -0
- package/dist/kernel/plugin-catalog/plugin-catalog.d.ts +17 -0
- package/dist/kernel/plugin-catalog/plugin-catalog.js +15 -0
- package/dist/kernel/plugin-catalog/plugin-catalog.js.map +1 -0
- package/dist/kernel/plugin-catalog/plugin-installs.d.ts +20 -0
- package/dist/kernel/plugin-catalog/plugin-installs.js +40 -0
- package/dist/kernel/plugin-catalog/plugin-installs.js.map +1 -0
- package/dist/kernel/plugin-config/config-paths.d.ts +10 -0
- package/dist/kernel/plugin-config/config-paths.js +10 -0
- package/dist/kernel/plugin-config/config-paths.js.map +1 -0
- package/dist/kernel/plugin-config/config-store.d.ts +13 -0
- package/dist/kernel/plugin-config/config-store.js +46 -0
- package/dist/kernel/plugin-config/config-store.js.map +1 -0
- package/dist/kernel/plugin-config/configure-options.d.ts +12 -0
- package/dist/kernel/plugin-config/configure-options.js +41 -0
- package/dist/kernel/plugin-config/configure-options.js.map +1 -0
- package/dist/kernel/plugin-config/errors.d.ts +4 -0
- package/dist/kernel/plugin-config/errors.js +7 -0
- package/dist/kernel/plugin-config/errors.js.map +1 -0
- package/dist/kernel/plugin-config/option-schema.d.ts +8 -0
- package/dist/kernel/plugin-config/option-schema.js +56 -0
- package/dist/kernel/plugin-config/option-schema.js.map +1 -0
- package/dist/kernel/plugin-config/session-resolver.d.ts +2 -0
- package/dist/kernel/plugin-config/session-resolver.js +8 -0
- package/dist/kernel/plugin-config/session-resolver.js.map +1 -0
- package/dist/kernel/plugin-config/shell-reference-check.d.ts +1 -0
- package/dist/kernel/plugin-config/shell-reference-check.js +3 -0
- package/dist/kernel/plugin-config/shell-reference-check.js.map +1 -0
- package/dist/kernel/plugin-config/user-config-option.d.ts +15 -0
- package/dist/kernel/plugin-config/user-config-option.js +35 -0
- package/dist/kernel/plugin-config/user-config-option.js.map +1 -0
- package/dist/kernel/plugin-config/user-config-resolver.d.ts +15 -0
- package/dist/kernel/plugin-config/user-config-resolver.js +46 -0
- package/dist/kernel/plugin-config/user-config-resolver.js.map +1 -0
- package/dist/kernel/plugin-install/adopt-install.d.ts +11 -0
- package/dist/kernel/plugin-install/adopt-install.js +26 -0
- package/dist/kernel/plugin-install/adopt-install.js.map +1 -0
- package/dist/kernel/plugin-install/command-line-git.d.ts +12 -0
- package/dist/kernel/plugin-install/command-line-git.js +114 -0
- package/dist/kernel/plugin-install/command-line-git.js.map +1 -0
- package/dist/kernel/plugin-install/dependencies/dependency-graph.d.ts +8 -0
- package/dist/kernel/plugin-install/dependencies/dependency-graph.js +49 -0
- package/dist/kernel/plugin-install/dependencies/dependency-graph.js.map +1 -0
- package/dist/kernel/plugin-install/dependencies/dependency-parsing.d.ts +6 -0
- package/dist/kernel/plugin-install/dependencies/dependency-parsing.js +44 -0
- package/dist/kernel/plugin-install/dependencies/dependency-parsing.js.map +1 -0
- package/dist/kernel/plugin-install/dependencies/errors.d.ts +23 -0
- package/dist/kernel/plugin-install/dependencies/errors.js +44 -0
- package/dist/kernel/plugin-install/dependencies/errors.js.map +1 -0
- package/dist/kernel/plugin-install/dependencies/plugin-id.d.ts +13 -0
- package/dist/kernel/plugin-install/dependencies/plugin-id.js +10 -0
- package/dist/kernel/plugin-install/dependencies/plugin-id.js.map +1 -0
- package/dist/kernel/plugin-install/errors.d.ts +62 -0
- package/dist/kernel/plugin-install/errors.js +116 -0
- package/dist/kernel/plugin-install/errors.js.map +1 -0
- package/dist/kernel/plugin-install/git-client.d.ts +10 -0
- package/dist/kernel/plugin-install/git-client.js +2 -0
- package/dist/kernel/plugin-install/git-client.js.map +1 -0
- package/dist/kernel/plugin-install/install-layout.d.ts +8 -0
- package/dist/kernel/plugin-install/install-layout.js +13 -0
- package/dist/kernel/plugin-install/install-layout.js.map +1 -0
- package/dist/kernel/plugin-install/install-record.d.ts +23 -0
- package/dist/kernel/plugin-install/install-record.js +13 -0
- package/dist/kernel/plugin-install/install-record.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/checkout.d.ts +10 -0
- package/dist/kernel/plugin-install/marketplaces/checkout.js +29 -0
- package/dist/kernel/plugin-install/marketplaces/checkout.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/entry-source.d.ts +16 -0
- package/dist/kernel/plugin-install/marketplaces/entry-source.js +87 -0
- package/dist/kernel/plugin-install/marketplaces/entry-source.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/entry-staging.d.ts +5 -0
- package/dist/kernel/plugin-install/marketplaces/entry-staging.js +95 -0
- package/dist/kernel/plugin-install/marketplaces/entry-staging.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/errors.d.ts +40 -0
- package/dist/kernel/plugin-install/marketplaces/errors.js +79 -0
- package/dist/kernel/plugin-install/marketplaces/errors.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/install-plan.d.ts +19 -0
- package/dist/kernel/plugin-install/marketplaces/install-plan.js +65 -0
- package/dist/kernel/plugin-install/marketplaces/install-plan.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-file.d.ts +15 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-file.js +82 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-file.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-index.d.ts +16 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-index.js +57 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-index.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-installer.d.ts +10 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-installer.js +46 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-installer.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-registry.d.ts +20 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-registry.js +78 -0
- package/dist/kernel/plugin-install/marketplaces/marketplace-registry.js.map +1 -0
- package/dist/kernel/plugin-install/marketplaces/strict-merge.d.ts +4 -0
- package/dist/kernel/plugin-install/marketplaces/strict-merge.js +48 -0
- package/dist/kernel/plugin-install/marketplaces/strict-merge.js.map +1 -0
- package/dist/kernel/plugin-install/own-install-index.d.ts +25 -0
- package/dist/kernel/plugin-install/own-install-index.js +53 -0
- package/dist/kernel/plugin-install/own-install-index.js.map +1 -0
- package/dist/kernel/plugin-install/plugin-installer.d.ts +15 -0
- package/dist/kernel/plugin-install/plugin-installer.js +138 -0
- package/dist/kernel/plugin-install/plugin-installer.js.map +1 -0
- package/dist/kernel/plugin-install/plugin-manifest.d.ts +7 -0
- package/dist/kernel/plugin-install/plugin-manifest.js +109 -0
- package/dist/kernel/plugin-install/plugin-manifest.js.map +1 -0
- package/dist/kernel/plugin-install/plugin-ref.d.ts +6 -0
- package/dist/kernel/plugin-install/plugin-ref.js +9 -0
- package/dist/kernel/plugin-install/plugin-ref.js.map +1 -0
- package/dist/kernel/plugin-install/plugin-source.d.ts +12 -0
- package/dist/kernel/plugin-install/plugin-source.js +77 -0
- package/dist/kernel/plugin-install/plugin-source.js.map +1 -0
- package/dist/kernel/plugin-install/sha.d.ts +7 -0
- package/dist/kernel/plugin-install/sha.js +13 -0
- package/dist/kernel/plugin-install/sha.js.map +1 -0
- package/dist/kernel/plugin-install/staging.d.ts +28 -0
- package/dist/kernel/plugin-install/staging.js +121 -0
- package/dist/kernel/plugin-install/staging.js.map +1 -0
- package/dist/kernel/plugin-management/configure-plugin.d.ts +8 -0
- package/dist/kernel/plugin-management/configure-plugin.js +45 -0
- package/dist/kernel/plugin-management/configure-plugin.js.map +1 -0
- package/dist/kernel/plugin-management/errors.d.ts +6 -0
- package/dist/kernel/plugin-management/errors.js +12 -0
- package/dist/kernel/plugin-management/errors.js.map +1 -0
- package/dist/kernel/plugin-management/install-problems.d.ts +6 -0
- package/dist/kernel/plugin-management/install-problems.js +15 -0
- package/dist/kernel/plugin-management/install-problems.js.map +1 -0
- package/dist/kernel/plugin-management/plugin-messages.d.ts +17 -0
- package/dist/kernel/plugin-management/plugin-messages.js +49 -0
- package/dist/kernel/plugin-management/plugin-messages.js.map +1 -0
- package/dist/kernel/plugin-management/plugin-subcommands.d.ts +9 -0
- package/dist/kernel/plugin-management/plugin-subcommands.js +159 -0
- package/dist/kernel/plugin-management/plugin-subcommands.js.map +1 -0
- package/dist/kernel/private-files/confined-removal.d.ts +1 -0
- package/dist/kernel/private-files/confined-removal.js +27 -0
- package/dist/kernel/private-files/confined-removal.js.map +1 -0
- package/dist/kernel/private-files/errors.d.ts +7 -0
- package/dist/kernel/private-files/errors.js +12 -0
- package/dist/kernel/private-files/errors.js.map +1 -0
- package/dist/kernel/private-files/file-system-errors.d.ts +2 -0
- package/dist/kernel/private-files/file-system-errors.js +7 -0
- package/dist/kernel/private-files/file-system-errors.js.map +1 -0
- package/dist/kernel/private-files/leftovers.d.ts +2 -0
- package/dist/kernel/private-files/leftovers.js +40 -0
- package/dist/kernel/private-files/leftovers.js.map +1 -0
- package/dist/kernel/private-files/private-files.d.ts +19 -0
- package/dist/kernel/private-files/private-files.js +51 -0
- package/dist/kernel/private-files/private-files.js.map +1 -0
- package/dist/kernel/project-trust/claude-project-content.d.ts +1 -0
- package/dist/kernel/project-trust/claude-project-content.js +14 -0
- package/dist/kernel/project-trust/claude-project-content.js.map +1 -0
- package/dist/kernel/project-trust/project-trust.d.ts +8 -0
- package/dist/kernel/project-trust/project-trust.js +57 -0
- package/dist/kernel/project-trust/project-trust.js.map +1 -0
- package/dist/kernel/project-trust/trust-decisions.d.ts +12 -0
- package/dist/kernel/project-trust/trust-decisions.js +16 -0
- package/dist/kernel/project-trust/trust-decisions.js.map +1 -0
- package/dist/kernel/project-trust/trust-prompt.d.ts +3 -0
- package/dist/kernel/project-trust/trust-prompt.js +9 -0
- package/dist/kernel/project-trust/trust-prompt.js.map +1 -0
- package/dist/kernel/project-trust/trust-state.d.ts +2 -0
- package/dist/kernel/project-trust/trust-state.js +2 -0
- package/dist/kernel/project-trust/trust-state.js.map +1 -0
- package/dist/kernel/prompt-catalog/command-sources.d.ts +5 -0
- package/dist/kernel/prompt-catalog/command-sources.js +97 -0
- package/dist/kernel/prompt-catalog/command-sources.js.map +1 -0
- package/dist/kernel/prompt-catalog/edit-distance.d.ts +1 -0
- package/dist/kernel/prompt-catalog/edit-distance.js +15 -0
- package/dist/kernel/prompt-catalog/edit-distance.js.map +1 -0
- package/dist/kernel/prompt-catalog/invocable.d.ts +60 -0
- package/dist/kernel/prompt-catalog/invocable.js +2 -0
- package/dist/kernel/prompt-catalog/invocable.js.map +1 -0
- package/dist/kernel/prompt-catalog/prompt-catalog.d.ts +3 -0
- package/dist/kernel/prompt-catalog/prompt-catalog.js +102 -0
- package/dist/kernel/prompt-catalog/prompt-catalog.js.map +1 -0
- package/dist/kernel/prompt-catalog/prompt-fields.d.ts +20 -0
- package/dist/kernel/prompt-catalog/prompt-fields.js +22 -0
- package/dist/kernel/prompt-catalog/prompt-fields.js.map +1 -0
- package/dist/kernel/prompt-catalog/prompt-reference.d.ts +11 -0
- package/dist/kernel/prompt-catalog/prompt-reference.js +9 -0
- package/dist/kernel/prompt-catalog/prompt-reference.js.map +1 -0
- package/dist/kernel/prompt-catalog/read-command.d.ts +21 -0
- package/dist/kernel/prompt-catalog/read-command.js +40 -0
- package/dist/kernel/prompt-catalog/read-command.js.map +1 -0
- package/dist/kernel/prompt-catalog/read-skill.d.ts +14 -0
- package/dist/kernel/prompt-catalog/read-skill.js +38 -0
- package/dist/kernel/prompt-catalog/read-skill.js.map +1 -0
- package/dist/kernel/prompt-catalog/session-prompt-catalog.d.ts +9 -0
- package/dist/kernel/prompt-catalog/session-prompt-catalog.js +28 -0
- package/dist/kernel/prompt-catalog/session-prompt-catalog.js.map +1 -0
- package/dist/kernel/prompt-catalog/skill-files.d.ts +4 -0
- package/dist/kernel/prompt-catalog/skill-files.js +33 -0
- package/dist/kernel/prompt-catalog/skill-files.js.map +1 -0
- package/dist/kernel/prompt-catalog/slash-menu.d.ts +6 -0
- package/dist/kernel/prompt-catalog/slash-menu.js +13 -0
- package/dist/kernel/prompt-catalog/slash-menu.js.map +1 -0
- package/dist/kernel/prompt-expansion/arguments.d.ts +6 -0
- package/dist/kernel/prompt-expansion/arguments.js +40 -0
- package/dist/kernel/prompt-expansion/arguments.js.map +1 -0
- package/dist/kernel/prompt-expansion/benign-exit-one.d.ts +1 -0
- package/dist/kernel/prompt-expansion/benign-exit-one.js +20 -0
- package/dist/kernel/prompt-expansion/benign-exit-one.js.map +1 -0
- package/dist/kernel/prompt-expansion/dynamic-spans.d.ts +10 -0
- package/dist/kernel/prompt-expansion/dynamic-spans.js +96 -0
- package/dist/kernel/prompt-expansion/dynamic-spans.js.map +1 -0
- package/dist/kernel/prompt-expansion/errors.d.ts +7 -0
- package/dist/kernel/prompt-expansion/errors.js +12 -0
- package/dist/kernel/prompt-expansion/errors.js.map +1 -0
- package/dist/kernel/prompt-expansion/expand-invocable.d.ts +5 -0
- package/dist/kernel/prompt-expansion/expand-invocable.js +26 -0
- package/dist/kernel/prompt-expansion/expand-invocable.js.map +1 -0
- package/dist/kernel/prompt-expansion/expand-prompt.d.ts +25 -0
- package/dist/kernel/prompt-expansion/expand-prompt.js +37 -0
- package/dist/kernel/prompt-expansion/expand-prompt.js.map +1 -0
- package/dist/kernel/prompt-expansion/expand-spans.d.ts +7 -0
- package/dist/kernel/prompt-expansion/expand-spans.js +11 -0
- package/dist/kernel/prompt-expansion/expand-spans.js.map +1 -0
- package/dist/kernel/prompt-expansion/file-references.d.ts +2 -0
- package/dist/kernel/prompt-expansion/file-references.js +19 -0
- package/dist/kernel/prompt-expansion/file-references.js.map +1 -0
- package/dist/kernel/prompt-expansion/invocation-arguments.d.ts +5 -0
- package/dist/kernel/prompt-expansion/invocation-arguments.js +7 -0
- package/dist/kernel/prompt-expansion/invocation-arguments.js.map +1 -0
- package/dist/kernel/prompt-expansion/pi-exec-shell-runner.d.ts +9 -0
- package/dist/kernel/prompt-expansion/pi-exec-shell-runner.js +22 -0
- package/dist/kernel/prompt-expansion/pi-exec-shell-runner.js.map +1 -0
- package/dist/kernel/prompt-expansion/prompt-substitution.d.ts +9 -0
- package/dist/kernel/prompt-expansion/prompt-substitution.js +27 -0
- package/dist/kernel/prompt-expansion/prompt-substitution.js.map +1 -0
- package/dist/kernel/prompt-expansion/shell-runner.d.ts +9 -0
- package/dist/kernel/prompt-expansion/shell-runner.js +2 -0
- package/dist/kernel/prompt-expansion/shell-runner.js.map +1 -0
- package/dist/kernel/prompt-expansion/shell-segments.d.ts +1 -0
- package/dist/kernel/prompt-expansion/shell-segments.js +64 -0
- package/dist/kernel/prompt-expansion/shell-segments.js.map +1 -0
- package/dist/kernel/prompt-expansion/shell-spans.d.ts +11 -0
- package/dist/kernel/prompt-expansion/shell-spans.js +23 -0
- package/dist/kernel/prompt-expansion/shell-spans.js.map +1 -0
- package/dist/kernel/prompt-expansion/span-policy.d.ts +6 -0
- package/dist/kernel/prompt-expansion/span-policy.js +13 -0
- package/dist/kernel/prompt-expansion/span-policy.js.map +1 -0
- package/dist/kernel/prompt-expansion/variables.d.ts +2 -0
- package/dist/kernel/prompt-expansion/variables.js +5 -0
- package/dist/kernel/prompt-expansion/variables.js.map +1 -0
- package/dist/kernel/prompt-expansion-events/prompt-expansion-events.d.ts +13 -0
- package/dist/kernel/prompt-expansion-events/prompt-expansion-events.js +10 -0
- package/dist/kernel/prompt-expansion-events/prompt-expansion-events.js.map +1 -0
- package/dist/kernel/scoped-hooks/scoped-hooks.d.ts +15 -0
- package/dist/kernel/scoped-hooks/scoped-hooks.js +31 -0
- package/dist/kernel/scoped-hooks/scoped-hooks.js.map +1 -0
- package/dist/kernel/session-slots/process-slot.d.ts +1 -0
- package/dist/kernel/session-slots/process-slot.js +10 -0
- package/dist/kernel/session-slots/process-slot.js.map +1 -0
- package/dist/kernel/settings-env/apply-env.d.ts +12 -0
- package/dist/kernel/settings-env/apply-env.js +15 -0
- package/dist/kernel/settings-env/apply-env.js.map +1 -0
- package/dist/kernel/settings-env/env-blocks.d.ts +5 -0
- package/dist/kernel/settings-env/env-blocks.js +9 -0
- package/dist/kernel/settings-env/env-blocks.js.map +1 -0
- package/dist/kernel/settings-env/owned-environment.d.ts +6 -0
- package/dist/kernel/settings-env/owned-environment.js +28 -0
- package/dist/kernel/settings-env/owned-environment.js.map +1 -0
- package/dist/kernel/settings-env/refusal-notice.d.ts +2 -0
- package/dist/kernel/settings-env/refusal-notice.js +3 -0
- package/dist/kernel/settings-env/refusal-notice.js.map +1 -0
- package/dist/kernel/subagent-hooks/subagent-hooks-slot.d.ts +15 -0
- package/dist/kernel/subagent-hooks/subagent-hooks-slot.js +14 -0
- package/dist/kernel/subagent-hooks/subagent-hooks-slot.js.map +1 -0
- package/dist/kernel/subcommands/errors.d.ts +10 -0
- package/dist/kernel/subcommands/errors.js +14 -0
- package/dist/kernel/subcommands/errors.js.map +1 -0
- package/dist/kernel/subcommands/subcommand-table.d.ts +15 -0
- package/dist/kernel/subcommands/subcommand-table.js +23 -0
- package/dist/kernel/subcommands/subcommand-table.js.map +1 -0
- package/dist/kernel/terminal-rows/bracketed-paste.d.ts +2 -0
- package/dist/kernel/terminal-rows/bracketed-paste.js +4 -0
- package/dist/kernel/terminal-rows/bracketed-paste.js.map +1 -0
- package/dist/kernel/terminal-rows/single-line.d.ts +1 -0
- package/dist/kernel/terminal-rows/single-line.js +2 -0
- package/dist/kernel/terminal-rows/single-line.js.map +1 -0
- package/dist/kernel/todo-list/errors.d.ts +4 -0
- package/dist/kernel/todo-list/errors.js +9 -0
- package/dist/kernel/todo-list/errors.js.map +1 -0
- package/dist/kernel/todo-list/todo-list-rules.d.ts +2 -0
- package/dist/kernel/todo-list/todo-list-rules.js +8 -0
- package/dist/kernel/todo-list/todo-list-rules.js.map +1 -0
- package/dist/kernel/todo-list/todo-result-text.d.ts +1 -0
- package/dist/kernel/todo-list/todo-result-text.js +2 -0
- package/dist/kernel/todo-list/todo-result-text.js.map +1 -0
- package/dist/kernel/todo-list/todo-schema.d.ts +17 -0
- package/dist/kernel/todo-list/todo-schema.js +20 -0
- package/dist/kernel/todo-list/todo-schema.js.map +1 -0
- package/dist/kernel/todo-list/todo-write-description.d.ts +1 -0
- package/dist/kernel/todo-list/todo-write-description.js +8 -0
- package/dist/kernel/todo-list/todo-write-description.js.map +1 -0
- package/dist/kernel/tool-execution/execute-tool.d.ts +4 -0
- package/dist/kernel/tool-execution/execute-tool.js +4 -0
- package/dist/kernel/tool-execution/execute-tool.js.map +1 -0
- package/dist/kernel/tool-results/tool-result.d.ts +3 -0
- package/dist/kernel/tool-results/tool-result.js +6 -0
- package/dist/kernel/tool-results/tool-result.js.map +1 -0
- package/dist/kernel/turn-override-events/turn-override-events.d.ts +5 -0
- package/dist/kernel/turn-override-events/turn-override-events.js +5 -0
- package/dist/kernel/turn-override-events/turn-override-events.js.map +1 -0
- package/dist/kernel/vocabulary/claude-tool-names.d.ts +4 -0
- package/dist/kernel/vocabulary/claude-tool-names.js +44 -0
- package/dist/kernel/vocabulary/claude-tool-names.js.map +1 -0
- package/dist/kernel/worktree-events/worktree-events.d.ts +13 -0
- package/dist/kernel/worktree-events/worktree-events.js +9 -0
- package/dist/kernel/worktree-events/worktree-events.js.map +1 -0
- package/package.json +42 -4
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const COMMAND_BEING_TYPED = /^\/(?<typed>\S+)$/;
|
|
2
|
+
export function commandNameTypedAtLineStart(line, cursorCol, options) {
|
|
3
|
+
if (options.force === true) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
return COMMAND_BEING_TYPED.exec(line.slice(0, cursorCol).trimStart())?.groups?.typed;
|
|
7
|
+
}
|
|
8
|
+
export function menuItemOf({ qualifiedName, argumentHint, description }) {
|
|
9
|
+
const command = qualifiedName;
|
|
10
|
+
const text = [argumentHint, description].filter((part) => part !== undefined && part !== '').join(' — ');
|
|
11
|
+
return text === '' ? { value: command, label: command } : { value: command, label: command, description: text };
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=slash-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-menu.js","sourceRoot":"","sources":["../../../src/kernel/prompt-catalog/slash-menu.ts"],"names":[],"mappings":"AAKA,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,SAAiB,EAAE,OAA0B;IACrG,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAa;IAChF,MAAM,OAAO,GAAG,aAAa,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAClH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InvocationArguments } from './invocation-arguments.js';
|
|
2
|
+
export interface SubstitutedArguments {
|
|
3
|
+
readonly text: string;
|
|
4
|
+
readonly consumed: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function substituteArguments(body: string, args: InvocationArguments, named: readonly string[]): SubstitutedArguments;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const ESCAPED_BACKSLASH_TEXT = '\\\\';
|
|
2
|
+
const NO_ARGUMENT = '';
|
|
3
|
+
// the alternation order is load-bearing: escapes first, so `\$1` never expands, and `$ARGUMENTS[0]` before bare `$ARGUMENTS`
|
|
4
|
+
function placeholderPattern(named) {
|
|
5
|
+
const names = named.length > 0 ? named.join('|') : '(?!)';
|
|
6
|
+
return new RegExp([
|
|
7
|
+
String.raw `(?<escapedBackslash>\\{2}(?=\$))`,
|
|
8
|
+
String.raw `(?<escapedDollar>\\\$(?=\d|ARGUMENTS\b|(?:${names})\b))`,
|
|
9
|
+
String.raw `\$ARGUMENTS\[(?<indexed>\d+)\]`,
|
|
10
|
+
String.raw `(?<all>\$ARGUMENTS\b)`,
|
|
11
|
+
String.raw `\$(?<shorthand>\d+)`,
|
|
12
|
+
String.raw `\$(?<named>${names})\b`,
|
|
13
|
+
].join('|'), 'g');
|
|
14
|
+
}
|
|
15
|
+
export function substituteArguments(body, args, named) {
|
|
16
|
+
let consumed = false;
|
|
17
|
+
const text = body.replaceAll(placeholderPattern(named), (token, ...captures) => {
|
|
18
|
+
const resolution = resolve(captures.at(-1), token, args, named);
|
|
19
|
+
consumed ||= resolution.consumed;
|
|
20
|
+
return resolution.text;
|
|
21
|
+
});
|
|
22
|
+
return { text, consumed };
|
|
23
|
+
}
|
|
24
|
+
function resolve(groups, token, args, named) {
|
|
25
|
+
const kind = Object.keys(RESOLVERS).find((candidate) => groups[candidate] !== undefined) ?? 'all';
|
|
26
|
+
return RESOLVERS[kind](groups[kind] ?? '', token, args, named);
|
|
27
|
+
}
|
|
28
|
+
const untouched = (text) => ({ text, consumed: false });
|
|
29
|
+
function positional(argument, token) {
|
|
30
|
+
return argument === undefined ? untouched(token) : { text: argument, consumed: true };
|
|
31
|
+
}
|
|
32
|
+
const RESOLVERS = {
|
|
33
|
+
escapedBackslash: () => untouched(ESCAPED_BACKSLASH_TEXT),
|
|
34
|
+
escapedDollar: () => untouched('$'),
|
|
35
|
+
indexed: (index, token, args) => positional(args.parts[Number(index)], token),
|
|
36
|
+
shorthand: (index, token, args) => positional(args.parts[Number(index)], token),
|
|
37
|
+
named: (name, _token, args, named) => ({ text: args.parts[named.indexOf(name)] ?? NO_ARGUMENT, consumed: true }),
|
|
38
|
+
all: (_captured, _token, args) => ({ text: args.raw, consumed: true }),
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=arguments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isBenignExitOne(command: string): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Portions adapted from pi-code (MIT, github.com/ilovepixelart/pi-code), extensions/internal/command-spans.ts.
|
|
2
|
+
import { splitSegments } from './shell-segments.js';
|
|
3
|
+
const EXIT_ONE_IS_A_RESULT = new Set(['grep', 'rg', 'egrep', 'fgrep', 'find', 'diff', 'test', '[']);
|
|
4
|
+
const GIT_SUBCOMMANDS_THAT_EXIT_ONE = new Set(['diff', 'grep']);
|
|
5
|
+
const SHORT_CIRCUIT_OPERATORS = /&&|\|\|/;
|
|
6
|
+
export function isBenignExitOne(command) {
|
|
7
|
+
const segments = splitSegments(command);
|
|
8
|
+
if (segments.length === 0) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (SHORT_CIRCUIT_OPERATORS.test(command)) {
|
|
12
|
+
return segments.every(isCarveOutSegment);
|
|
13
|
+
}
|
|
14
|
+
return isCarveOutSegment(segments.at(-1) ?? '');
|
|
15
|
+
}
|
|
16
|
+
function isCarveOutSegment(segment) {
|
|
17
|
+
const [program = '', subcommand = ''] = segment.trim().split(/\s+/);
|
|
18
|
+
return program === 'git' ? GIT_SUBCOMMANDS_THAT_EXIT_ONE.has(subcommand) : EXIT_ONE_IS_A_RESULT.has(program);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=benign-exit-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benign-exit-one.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/benign-exit-one.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AACpG,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAChE,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC/G,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type DynamicSpanKind = 'inline-shell' | 'shell-block' | 'file';
|
|
2
|
+
export interface DynamicSpan {
|
|
3
|
+
readonly kind: DynamicSpanKind;
|
|
4
|
+
readonly start: number;
|
|
5
|
+
readonly end: number;
|
|
6
|
+
readonly lead: string;
|
|
7
|
+
readonly payload: string;
|
|
8
|
+
readonly matched: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function findDynamicSpans(body: string): readonly DynamicSpan[];
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
const INLINE_SHELL = /(?<lead>^|\s)!`(?<payload>[^`]+)`/g;
|
|
2
|
+
const FILE_REFERENCE = /(?<lead>^|\s)@(?<payload>\S+)/g;
|
|
3
|
+
const EXECUTABLE_FENCE_LENGTH = 3;
|
|
4
|
+
export function findDynamicSpans(body) {
|
|
5
|
+
const blocks = fenceBlocks(body);
|
|
6
|
+
const isLiteral = (index) => blocks.some(({ start, end }) => index >= start && index < end);
|
|
7
|
+
const spans = [
|
|
8
|
+
...blocks.filter(({ executes }) => executes).map(shellBlockSpan),
|
|
9
|
+
...matchesOf(INLINE_SHELL, 'inline-shell', body).filter(({ start }) => !isLiteral(start)),
|
|
10
|
+
...matchesOf(FILE_REFERENCE, 'file', body).filter(({ start }) => !isLiteral(start)),
|
|
11
|
+
];
|
|
12
|
+
spans.sort((a, b) => a.start - b.start);
|
|
13
|
+
return withoutOverlaps(spans);
|
|
14
|
+
}
|
|
15
|
+
function shellBlockSpan({ start, end, content }) {
|
|
16
|
+
return { kind: 'shell-block', start, end, lead: '', payload: content, matched: '```!' };
|
|
17
|
+
}
|
|
18
|
+
function matchesOf(pattern, kind, body) {
|
|
19
|
+
return [...body.matchAll(pattern)].map((match) => ({
|
|
20
|
+
kind,
|
|
21
|
+
start: match.index,
|
|
22
|
+
end: match.index + match[0].length,
|
|
23
|
+
lead: match.groups?.lead ?? '',
|
|
24
|
+
payload: match.groups?.payload ?? '',
|
|
25
|
+
matched: match[0],
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
function withoutOverlaps(sorted) {
|
|
29
|
+
const kept = [];
|
|
30
|
+
for (const span of sorted) {
|
|
31
|
+
if (span.start >= (kept.at(-1)?.end ?? 0)) {
|
|
32
|
+
kept.push(span);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return kept;
|
|
36
|
+
}
|
|
37
|
+
function fenceBlocks(body) {
|
|
38
|
+
const scanner = new FenceScanner(body);
|
|
39
|
+
let offset = 0;
|
|
40
|
+
for (const line of body.split('\n')) {
|
|
41
|
+
scanner.scan(line, offset);
|
|
42
|
+
offset += line.length + 1;
|
|
43
|
+
}
|
|
44
|
+
return scanner.finish();
|
|
45
|
+
}
|
|
46
|
+
class FenceScanner {
|
|
47
|
+
#body;
|
|
48
|
+
#blocks = [];
|
|
49
|
+
#fence;
|
|
50
|
+
#open;
|
|
51
|
+
constructor(body) {
|
|
52
|
+
this.#body = body;
|
|
53
|
+
}
|
|
54
|
+
scan(line, offset) {
|
|
55
|
+
const next = stepFence(this.#fence, line.trimStart());
|
|
56
|
+
if (next !== undefined && this.#fence === undefined) {
|
|
57
|
+
this.#open = { start: offset, executes: opensExecutableBlock(line, next), contentStart: offset + line.length + 1 };
|
|
58
|
+
}
|
|
59
|
+
else if (next === undefined && this.#fence !== undefined) {
|
|
60
|
+
this.#close(offset, offset + line.length);
|
|
61
|
+
}
|
|
62
|
+
this.#fence = next;
|
|
63
|
+
}
|
|
64
|
+
finish() {
|
|
65
|
+
return this.#open === undefined ? this.#blocks : [...this.#blocks, { start: this.#open.start, end: this.#body.length, executes: false, content: '' }];
|
|
66
|
+
}
|
|
67
|
+
#close(lineStart, lineEnd) {
|
|
68
|
+
if (this.#open !== undefined) {
|
|
69
|
+
const content = this.#body.slice(Math.min(this.#open.contentStart, lineStart), lineStart).replace(/\n$/, '');
|
|
70
|
+
this.#blocks.push({ start: this.#open.start, end: lineEnd, executes: this.#open.executes, content });
|
|
71
|
+
this.#open = undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const opensExecutableBlock = (line, fence) => line.startsWith('```') && fence.length === EXECUTABLE_FENCE_LENGTH && line.slice(EXECUTABLE_FENCE_LENGTH).trim() === '!';
|
|
76
|
+
function stepFence(fence, trimmed) {
|
|
77
|
+
const marker = fenceMarker(trimmed);
|
|
78
|
+
if (fence === undefined) {
|
|
79
|
+
return marker === undefined ? undefined : { marker, length: runLength(trimmed, marker) };
|
|
80
|
+
}
|
|
81
|
+
return marker === fence.marker && runLength(trimmed, marker) >= fence.length ? undefined : fence;
|
|
82
|
+
}
|
|
83
|
+
function fenceMarker(lineStart) {
|
|
84
|
+
if (lineStart.startsWith('```')) {
|
|
85
|
+
return '`';
|
|
86
|
+
}
|
|
87
|
+
return lineStart.startsWith('~~~') ? '~' : undefined;
|
|
88
|
+
}
|
|
89
|
+
function runLength(lineStart, marker) {
|
|
90
|
+
let length = 0;
|
|
91
|
+
while (lineStart[length] === marker) {
|
|
92
|
+
length += 1;
|
|
93
|
+
}
|
|
94
|
+
return length;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=dynamic-spans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-spans.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/dynamic-spans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AntharaError } from '../../errors/anthara-error.js';
|
|
2
|
+
export declare class ShellSpanFailedError extends AntharaError {
|
|
3
|
+
constructor(pattern: string, stderr: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class ShellSpanStoppedError extends AntharaError {
|
|
6
|
+
constructor(pattern: string);
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AntharaError } from '../../errors/anthara-error.js';
|
|
2
|
+
export class ShellSpanFailedError extends AntharaError {
|
|
3
|
+
constructor(pattern, stderr) {
|
|
4
|
+
super(`Shell command failed for pattern "${pattern}"\n[stderr]\n${stderr}`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class ShellSpanStoppedError extends AntharaError {
|
|
8
|
+
constructor(pattern) {
|
|
9
|
+
super(`Shell command was stopped for pattern "${pattern}": it ran past its time limit or printed too much output`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,qCAAqC,OAAO,gBAAgB,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,0CAA0C,OAAO,0DAA0D,CAAC,CAAC;IACrH,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ExtensionAPI, ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { Invocable } from '../prompt-catalog/invocable.js';
|
|
3
|
+
export type ExpansionApi = Pick<ExtensionAPI, 'exec'>;
|
|
4
|
+
export type ExpansionContext = Pick<ExtensionContext, 'cwd' | 'hasUI' | 'isProjectTrusted' | 'sessionManager' | 'ui'>;
|
|
5
|
+
export declare function expandInvocable(invocable: Invocable, args: string, pi: ExpansionApi, ctx: ExpansionContext): Promise<string>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { claudeConfigDir } from '../claude-home/config-dir.js';
|
|
3
|
+
import { projectFolders } from '../claude-home/project-folders.js';
|
|
4
|
+
import { sessionUserConfigResolver } from '../plugin-config/session-resolver.js';
|
|
5
|
+
import { expandPrompt } from './expand-prompt.js';
|
|
6
|
+
import { PiExecShellRunner } from './pi-exec-shell-runner.js';
|
|
7
|
+
import { spanPolicyFor } from './span-policy.js';
|
|
8
|
+
export async function expandInvocable(invocable, args, pi, ctx) {
|
|
9
|
+
return expandPrompt(promptSourceOf(invocable), { args }, await environmentFor(invocable, pi, ctx));
|
|
10
|
+
}
|
|
11
|
+
async function environmentFor(invocable, pi, ctx) {
|
|
12
|
+
const projectRoot = projectFolders(ctx.cwd, homedir()).at(-1) ?? ctx.cwd;
|
|
13
|
+
return {
|
|
14
|
+
projectRoot,
|
|
15
|
+
cwd: ctx.cwd,
|
|
16
|
+
sessionId: ctx.sessionManager.getSessionId(),
|
|
17
|
+
shell: new PiExecShellRunner((command, args, options) => pi.exec(command, args, options), projectRoot),
|
|
18
|
+
spanPolicy: await spanPolicyFor(invocable, ctx, claudeConfigDir(process.env, homedir())),
|
|
19
|
+
userConfig: sessionUserConfigResolver(),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function promptSourceOf({ body, argumentNames, dir, plugin }) {
|
|
23
|
+
const base = { body, argumentNames, skillDir: dir };
|
|
24
|
+
return plugin === undefined ? base : { ...base, plugin: { name: plugin.name, root: plugin.root, dataDir: plugin.dataDir } };
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=expand-invocable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-invocable.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/expand-invocable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAgD,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAoB,EAAE,IAAY,EAAE,EAAgB,EAAE,GAAqB;IAC/G,OAAO,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,SAAoB,EAAE,EAAgB,EAAE,GAAqB;IACzF,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;IACzE,OAAO;QACL,WAAW;QACX,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE;QAC5C,KAAK,EAAE,IAAI,iBAAiB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;QACtG,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACxF,UAAU,EAAE,yBAAyB,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAa;IACrE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACpD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;AAC9H,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { UserConfigResolver } from '../plugin-config/user-config-resolver.js';
|
|
2
|
+
import type { ShellRunner } from './shell-runner.js';
|
|
3
|
+
import { type SpanPolicy } from './shell-spans.js';
|
|
4
|
+
export interface PromptSource {
|
|
5
|
+
readonly body: string;
|
|
6
|
+
readonly argumentNames: readonly string[];
|
|
7
|
+
readonly skillDir: string;
|
|
8
|
+
readonly plugin?: {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly root: string;
|
|
11
|
+
readonly dataDir: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface PromptInvocation {
|
|
15
|
+
readonly args: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ExpansionEnvironment {
|
|
18
|
+
readonly projectRoot: string;
|
|
19
|
+
readonly cwd: string;
|
|
20
|
+
readonly sessionId: string;
|
|
21
|
+
readonly shell: ShellRunner;
|
|
22
|
+
readonly spanPolicy: SpanPolicy;
|
|
23
|
+
readonly userConfig: UserConfigResolver;
|
|
24
|
+
}
|
|
25
|
+
export declare function expandPrompt(source: PromptSource, invocation: PromptInvocation, env: ExpansionEnvironment): Promise<string>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { findDynamicSpans } from './dynamic-spans.js';
|
|
2
|
+
import { expandSpans } from './expand-spans.js';
|
|
3
|
+
import { inlineFileReference } from './file-references.js';
|
|
4
|
+
import { parseInvocationArguments } from './invocation-arguments.js';
|
|
5
|
+
import { PromptSubstitution } from './prompt-substitution.js';
|
|
6
|
+
import { runShellSpan } from './shell-spans.js';
|
|
7
|
+
// Arguments and variables fill the template, never what a span prints, and a span is located before they do, so text a
|
|
8
|
+
// caller passes in can never become a command.
|
|
9
|
+
export async function expandPrompt(source, invocation, env) {
|
|
10
|
+
const args = parseInvocationArguments(invocation.args);
|
|
11
|
+
const substitution = new PromptSubstitution(args, source.argumentNames, variablesFor(source, env), userConfigFiller(source, env));
|
|
12
|
+
const expanded = await expandSpans(source.body, findDynamicSpans(source.body), {
|
|
13
|
+
template: (text) => substitution.apply(text),
|
|
14
|
+
templateCommand: (text) => substitution.applyToCommand(text),
|
|
15
|
+
resolve: (span) => resolveSpan(span, env),
|
|
16
|
+
});
|
|
17
|
+
return substitution.argumentsRead || args.raw === '' ? expanded : `${expanded}\n\nARGUMENTS: ${args.raw}`;
|
|
18
|
+
}
|
|
19
|
+
function variablesFor({ skillDir, plugin }, env) {
|
|
20
|
+
return {
|
|
21
|
+
CLAUDE_SKILL_DIR: skillDir,
|
|
22
|
+
CLAUDE_PLUGIN_ROOT: plugin?.root,
|
|
23
|
+
CLAUDE_PLUGIN_DATA: plugin?.dataDir,
|
|
24
|
+
CLAUDE_PROJECT_DIR: env.projectRoot,
|
|
25
|
+
CLAUDE_SESSION_ID: env.sessionId,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function userConfigFiller({ plugin }, { userConfig }) {
|
|
29
|
+
return plugin === undefined ? (text) => text : (text) => userConfig.substitute(text, plugin, 'body');
|
|
30
|
+
}
|
|
31
|
+
function resolveSpan(span, env) {
|
|
32
|
+
if (span.kind === 'file') {
|
|
33
|
+
return Promise.resolve(inlineFileReference(span, env.projectRoot));
|
|
34
|
+
}
|
|
35
|
+
return runShellSpan(span, { shell: env.shell, cwd: env.cwd, policy: env.spanPolicy });
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=expand-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-prompt.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/expand-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAuBjE,uHAAuH;AACvH,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAoB,EAAE,UAA4B,EAAE,GAAyB;IAC9G,MAAM,IAAI,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClI,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC7E,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC;QAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC;KAC1C,CAAC,CAAC;IACH,OAAO,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5G,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAgB,EAAE,GAAyB;IACjF,OAAO;QACL,gBAAgB,EAAE,QAAQ;QAC1B,kBAAkB,EAAE,MAAM,EAAE,IAAI;QAChC,kBAAkB,EAAE,MAAM,EAAE,OAAO;QACnC,kBAAkB,EAAE,GAAG,CAAC,WAAW;QACnC,iBAAiB,EAAE,GAAG,CAAC,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,MAAM,EAAgB,EAAE,EAAE,UAAU,EAAwB;IACtF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,WAAW,CAAC,IAAiB,EAAE,GAAyB;IAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DynamicSpan } from './dynamic-spans.js';
|
|
2
|
+
export interface SpanExpansion {
|
|
3
|
+
readonly template: (text: string) => string;
|
|
4
|
+
readonly templateCommand: (text: string) => string;
|
|
5
|
+
readonly resolve: (span: DynamicSpan) => Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
export declare function expandSpans(body: string, spans: readonly DynamicSpan[], expansion: SpanExpansion): Promise<string>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export async function expandSpans(body, spans, expansion) {
|
|
2
|
+
let expanded = '';
|
|
3
|
+
let cursor = 0;
|
|
4
|
+
for (const span of spans) {
|
|
5
|
+
const resolved = await expansion.resolve({ ...span, payload: expansion.templateCommand(span.payload) });
|
|
6
|
+
expanded += expansion.template(body.slice(cursor, span.start)) + resolved;
|
|
7
|
+
cursor = span.end;
|
|
8
|
+
}
|
|
9
|
+
return expanded + expansion.template(body.slice(cursor));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=expand-spans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-spans.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/expand-spans.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,KAA6B,EAAE,SAAwB;IACrG,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxG,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC;QAC1E,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Portions adapted from pi-code (MIT, github.com/ilovepixelart/pi-code), extensions/internal/command-spans.ts.
|
|
2
|
+
import { readFileSync, realpathSync, statSync } from 'node:fs';
|
|
3
|
+
import { resolve, sep } from 'node:path';
|
|
4
|
+
export function inlineFileReference(span, projectRoot) {
|
|
5
|
+
const content = readInsideProject(projectRoot, span.payload);
|
|
6
|
+
return content === undefined ? span.matched : `${span.lead}\n<file path="${span.payload}">\n${content.trimEnd()}\n</file>\n`;
|
|
7
|
+
}
|
|
8
|
+
function readInsideProject(projectRoot, reference) {
|
|
9
|
+
try {
|
|
10
|
+
const root = realpathSync(projectRoot);
|
|
11
|
+
const real = realpathSync(resolve(root, reference));
|
|
12
|
+
const isInside = real === root || real.startsWith(root + sep);
|
|
13
|
+
return isInside && statSync(real).isFile() ? readFileSync(real, 'utf8') : undefined;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=file-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-references.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/file-references.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,UAAU,mBAAmB,CAAC,IAAiB,EAAE,WAAmB;IACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,OAAO,OAAO,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC;AAC/H,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAmB,EAAE,SAAiB;IAC/D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAC9D,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const ARGUMENT_TOKEN = /"[^"]*"|'[^']*'|\S+/g;
|
|
2
|
+
const SURROUNDING_QUOTES = /^(["'])(.*)\1$/;
|
|
3
|
+
export function parseInvocationArguments(text) {
|
|
4
|
+
const parts = [...text.matchAll(ARGUMENT_TOKEN)].map(([token]) => token.replace(SURROUNDING_QUOTES, '$2'));
|
|
5
|
+
return { raw: text.trim(), parts };
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=invocation-arguments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-arguments.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/invocation-arguments.ts"],"names":[],"mappings":"AAKA,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3G,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { ShellResult, ShellRunner } from './shell-runner.js';
|
|
3
|
+
type PiExec = ExtensionAPI['exec'];
|
|
4
|
+
export declare class PiExecShellRunner implements ShellRunner {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(exec: PiExec, projectRoot: string);
|
|
7
|
+
run(command: string, cwd: string, timeoutMs: number): Promise<ShellResult>;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const MAX_OUTPUT_BYTES = 1024 * 1024;
|
|
2
|
+
export class PiExecShellRunner {
|
|
3
|
+
#exec;
|
|
4
|
+
#projectRoot;
|
|
5
|
+
constructor(exec, projectRoot) {
|
|
6
|
+
this.#exec = exec;
|
|
7
|
+
this.#projectRoot = projectRoot;
|
|
8
|
+
}
|
|
9
|
+
async run(command, cwd, timeoutMs) {
|
|
10
|
+
const { stdout, stderr, code, killed } = await this.#exec('bash', ['-c', this.#script(command)], {
|
|
11
|
+
cwd,
|
|
12
|
+
timeout: timeoutMs,
|
|
13
|
+
maxBuffer: MAX_OUTPUT_BYTES,
|
|
14
|
+
});
|
|
15
|
+
return { stdout, stderr, code, killed };
|
|
16
|
+
}
|
|
17
|
+
#script(command) {
|
|
18
|
+
const quotedRoot = this.#projectRoot.replaceAll("'", String.raw `'\''`);
|
|
19
|
+
return `export CLAUDE_PROJECT_DIR='${quotedRoot}'\nexport CLAUDECODE=1\n{ :\n${command}\n} 2>&1`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=pi-exec-shell-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-exec-shell-runner.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/pi-exec-shell-runner.ts"],"names":[],"mappings":"AAMA,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,OAAO,iBAAiB;IACnB,KAAK,CAAS;IACd,YAAY,CAAS;IAE9B,YAAY,IAAY,EAAE,WAAmB;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,GAAW,EAAE,SAAiB;QACvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YAC/F,GAAG;YACH,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC;QACvE,OAAO,8BAA8B,UAAU,gCAAgC,OAAO,UAAU,CAAC;IACnG,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InvocationArguments } from './invocation-arguments.js';
|
|
2
|
+
import { type ClaudeVariables } from './variables.js';
|
|
3
|
+
export declare class PromptSubstitution {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(args: InvocationArguments, named: readonly string[], variables: ClaudeVariables, userConfig: (text: string) => string);
|
|
6
|
+
get argumentsRead(): boolean;
|
|
7
|
+
apply(text: string): string;
|
|
8
|
+
applyToCommand(text: string): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { substituteArguments } from './arguments.js';
|
|
2
|
+
import { substituteVariables } from './variables.js';
|
|
3
|
+
export class PromptSubstitution {
|
|
4
|
+
#args;
|
|
5
|
+
#named;
|
|
6
|
+
#variables;
|
|
7
|
+
#userConfig;
|
|
8
|
+
#argumentsRead = false;
|
|
9
|
+
constructor(args, named, variables, userConfig) {
|
|
10
|
+
this.#args = args;
|
|
11
|
+
this.#named = named;
|
|
12
|
+
this.#variables = variables;
|
|
13
|
+
this.#userConfig = userConfig;
|
|
14
|
+
}
|
|
15
|
+
get argumentsRead() {
|
|
16
|
+
return this.#argumentsRead;
|
|
17
|
+
}
|
|
18
|
+
apply(text) {
|
|
19
|
+
return this.#userConfig(this.applyToCommand(text));
|
|
20
|
+
}
|
|
21
|
+
applyToCommand(text) {
|
|
22
|
+
const { text: withArguments, consumed } = substituteArguments(text, this.#args, this.#named);
|
|
23
|
+
this.#argumentsRead ||= consumed;
|
|
24
|
+
return substituteVariables(withArguments, this.#variables);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=prompt-substitution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-substitution.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/prompt-substitution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,gBAAgB,CAAC;AAE3E,MAAM,OAAO,kBAAkB;IACpB,KAAK,CAAsB;IAC3B,MAAM,CAAoB;IAC1B,UAAU,CAAkB;IAC5B,WAAW,CAA2B;IAC/C,cAAc,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAyB,EAAE,KAAwB,EAAE,SAA0B,EAAE,UAAoC;QAC/H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC;QACjC,OAAO,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-runner.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/shell-runner.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function splitSegments(command: string): string[];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const PAIR_SEPARATORS = new Set(['&&', '||', '|&']);
|
|
2
|
+
const SINGLE_SEPARATORS = new Set([';', '|', '&', '\n']);
|
|
3
|
+
const BACKSLASH_PAIR = 2;
|
|
4
|
+
export function splitSegments(command) {
|
|
5
|
+
const state = { segments: [], current: '', quote: undefined };
|
|
6
|
+
for (let index = 0; index < command.length;) {
|
|
7
|
+
index += splitStep(command, index, state);
|
|
8
|
+
}
|
|
9
|
+
if (state.quote !== undefined) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
return [...state.segments, state.current].map((segment) => segment.trim()).filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
function splitStep(command, index, state) {
|
|
15
|
+
if (state.quote !== undefined) {
|
|
16
|
+
return quotedStep(command, index, state, state.quote);
|
|
17
|
+
}
|
|
18
|
+
const opened = quoteOpensAt(command, index);
|
|
19
|
+
if (opened === undefined) {
|
|
20
|
+
return unquotedSegmentStep(command, index, state);
|
|
21
|
+
}
|
|
22
|
+
state.current += command.slice(index, index + opened.length);
|
|
23
|
+
state.quote = opened.quote;
|
|
24
|
+
return opened.length;
|
|
25
|
+
}
|
|
26
|
+
function unquotedSegmentStep(command, index, state) {
|
|
27
|
+
const separator = separatorLengthAt(command, index);
|
|
28
|
+
if (separator > 0) {
|
|
29
|
+
state.segments.push(state.current);
|
|
30
|
+
state.current = '';
|
|
31
|
+
return separator;
|
|
32
|
+
}
|
|
33
|
+
const taken = unquotedStep(command, index);
|
|
34
|
+
state.current += command.slice(index, index + taken);
|
|
35
|
+
return taken;
|
|
36
|
+
}
|
|
37
|
+
function quotedStep(command, index, state, quote) {
|
|
38
|
+
const step = stepInQuote(command, index, quote);
|
|
39
|
+
state.current += command.slice(index, index + step.taken);
|
|
40
|
+
state.quote = step.closes ? undefined : quote;
|
|
41
|
+
return step.taken;
|
|
42
|
+
}
|
|
43
|
+
function quoteOpensAt(command, index) {
|
|
44
|
+
const character = command[index];
|
|
45
|
+
if (character === "'" || character === '"') {
|
|
46
|
+
return { quote: character, length: 1 };
|
|
47
|
+
}
|
|
48
|
+
return character === '$' && command[index + 1] === "'" ? { quote: "$'", length: BACKSLASH_PAIR } : undefined;
|
|
49
|
+
}
|
|
50
|
+
function stepInQuote(text, index, quote) {
|
|
51
|
+
if (text[index] === '\\' && quote !== "'" && index + 1 < text.length) {
|
|
52
|
+
return { taken: BACKSLASH_PAIR, closes: false };
|
|
53
|
+
}
|
|
54
|
+
return { taken: 1, closes: text[index] === (quote === '"' ? '"' : "'") };
|
|
55
|
+
}
|
|
56
|
+
const unquotedStep = (text, index) => (text[index] === '\\' && index + 1 < text.length ? BACKSLASH_PAIR : 1);
|
|
57
|
+
function separatorLengthAt(command, index) {
|
|
58
|
+
if (PAIR_SEPARATORS.has(command.slice(index, index + BACKSLASH_PAIR))) {
|
|
59
|
+
return BACKSLASH_PAIR;
|
|
60
|
+
}
|
|
61
|
+
return SINGLE_SEPARATORS.has(command[index] ?? '') && !isRedirectionAmpersand(command, index) ? 1 : 0;
|
|
62
|
+
}
|
|
63
|
+
const isRedirectionAmpersand = (command, index) => command[index] === '&' && (command[index - 1] === '>' || command[index + 1] === '>');
|
|
64
|
+
//# sourceMappingURL=shell-segments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-segments.js","sourceRoot":"","sources":["../../../src/kernel/prompt-expansion/shell-segments.ts"],"names":[],"mappings":"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"}
|