@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,10 @@
|
|
|
1
|
+
import type { ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { JsonObject } from '../../../kernel/private-files/private-files.js';
|
|
3
|
+
import type { MatchSubject } from '../registry/match-subject.js';
|
|
4
|
+
import type { BridgeServices } from './event-bridge.js';
|
|
5
|
+
type ToolContext = Pick<ExtensionContext, 'cwd' | 'sessionManager'>;
|
|
6
|
+
export declare const isMcpTool: (piName: string) => boolean;
|
|
7
|
+
export declare function claudeNameOf(piName: string, ctx: ToolContext): string;
|
|
8
|
+
export declare function toolSubject(piName: string, input: unknown, ctx: ToolContext, services: BridgeServices): MatchSubject;
|
|
9
|
+
export declare function toolFields(piName: string, input: unknown, toolCallId: string, ctx: ToolContext): JsonObject;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { mcpNameRoster } from '../../../kernel/mcp-names/mcp-names.js';
|
|
3
|
+
import { toClaudeToolName } from '../../../kernel/vocabulary/claude-tool-names.js';
|
|
4
|
+
import { claudeToolInput } from './payload-translator.js';
|
|
5
|
+
const MCP_TOOL_PREFIX = 'mcp__';
|
|
6
|
+
export const isMcpTool = (piName) => piName.startsWith(MCP_TOOL_PREFIX);
|
|
7
|
+
export function claudeNameOf(piName, ctx) {
|
|
8
|
+
return isMcpTool(piName) ? mcpNameRoster().claudeNameOf(ctx.sessionManager.getSessionId(), piName) : toClaudeToolName(piName);
|
|
9
|
+
}
|
|
10
|
+
export function toolSubject(piName, input, ctx, services) {
|
|
11
|
+
const names = [...new Set([claudeNameOf(piName, ctx), piName])];
|
|
12
|
+
const anchors = { cwd: ctx.cwd, projectRoot: services.projectDir, home: homedir() };
|
|
13
|
+
return { kind: 'tool', call: { names, claudeInput: claudeToolInput(piName, input, ctx.cwd), anchors } };
|
|
14
|
+
}
|
|
15
|
+
export function toolFields(piName, input, toolCallId, ctx) {
|
|
16
|
+
return { tool_name: claudeNameOf(piName, ctx), tool_input: claudeToolInput(piName, input, ctx.cwd), tool_use_id: toolCallId };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=tool-call-subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-call-subject.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/bridges/tool-call-subject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,eAAe,GAAG,OAAO,CAAC;AAIhC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAEzF,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAgB;IAC3D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChI,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,GAAgB,EAAE,QAAwB;IACpG,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,KAAc,EAAE,UAAkB,EAAE,GAAgB;IAC7F,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAChI,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const PI_EVENT_NAMES: readonly ["tool_call", "tool_result", "input", "session_start", "session_compact", "agent_end", "session_before_compact", "session_shutdown", "turn_end", "model_select"];
|
|
2
|
+
export declare const BUS_CHANNELS: readonly ["anthara.pi-claude:instructions-loaded", "anthara.pi-claude:prompt-expanded", "anthara.pi-claude:worktree"];
|
|
3
|
+
export declare const SUBAGENT_STARTING = "subagent-starting";
|
|
4
|
+
export declare const SUBAGENT_STOPPED = "subagent-stopped";
|
|
5
|
+
export declare const IDLE_PROMPT = "idle_prompt";
|
|
6
|
+
export type PiEventName = (typeof PI_EVENT_NAMES)[number];
|
|
7
|
+
export type BusChannel = (typeof BUS_CHANNELS)[number];
|
|
8
|
+
export type HookTrigger = PiEventName | BusChannel | typeof SUBAGENT_STARTING | typeof SUBAGENT_STOPPED | typeof IDLE_PROMPT;
|
|
9
|
+
export declare const isPiEvent: (trigger: HookTrigger) => trigger is PiEventName;
|
|
10
|
+
export declare const isBusChannel: (trigger: HookTrigger) => trigger is BusChannel;
|
|
11
|
+
export declare const isAnnouncement: (channel: BusChannel, data: unknown) => boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { INSTRUCTIONS_LOADED_CHANNEL, isInstructionLoad } from '../../../kernel/instruction-events/instruction-events.js';
|
|
2
|
+
import { isPromptExpansion, PROMPT_EXPANDED_CHANNEL } from '../../../kernel/prompt-expansion-events/prompt-expansion-events.js';
|
|
3
|
+
import { isWorktreeLifecycle, WORKTREE_CHANNEL } from '../../../kernel/worktree-events/worktree-events.js';
|
|
4
|
+
export const PI_EVENT_NAMES = [
|
|
5
|
+
'tool_call',
|
|
6
|
+
'tool_result',
|
|
7
|
+
'input',
|
|
8
|
+
'session_start',
|
|
9
|
+
'session_compact',
|
|
10
|
+
'agent_end',
|
|
11
|
+
'session_before_compact',
|
|
12
|
+
'session_shutdown',
|
|
13
|
+
'turn_end',
|
|
14
|
+
'model_select',
|
|
15
|
+
];
|
|
16
|
+
export const BUS_CHANNELS = [INSTRUCTIONS_LOADED_CHANNEL, PROMPT_EXPANDED_CHANNEL, WORKTREE_CHANNEL];
|
|
17
|
+
export const SUBAGENT_STARTING = 'subagent-starting';
|
|
18
|
+
export const SUBAGENT_STOPPED = 'subagent-stopped';
|
|
19
|
+
export const IDLE_PROMPT = 'idle_prompt';
|
|
20
|
+
const piEventNames = PI_EVENT_NAMES;
|
|
21
|
+
const busChannels = BUS_CHANNELS;
|
|
22
|
+
export const isPiEvent = (trigger) => piEventNames.includes(trigger);
|
|
23
|
+
export const isBusChannel = (trigger) => busChannels.includes(trigger);
|
|
24
|
+
const ANNOUNCEMENT_GUARDS = {
|
|
25
|
+
[INSTRUCTIONS_LOADED_CHANNEL]: isInstructionLoad,
|
|
26
|
+
[PROMPT_EXPANDED_CHANNEL]: isPromptExpansion,
|
|
27
|
+
[WORKTREE_CHANNEL]: isWorktreeLifecycle,
|
|
28
|
+
};
|
|
29
|
+
export const isAnnouncement = (channel, data) => ANNOUNCEMENT_GUARDS[channel](data);
|
|
30
|
+
//# sourceMappingURL=triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/bridges/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC1H,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC;AAChI,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAE3G,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW;IACX,aAAa;IACb,OAAO;IACP,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,wBAAwB;IACxB,kBAAkB;IAClB,UAAU;IACV,cAAc;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,2BAA2B,EAAE,uBAAuB,EAAE,gBAAgB,CAAU,CAAC;AAE9G,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AAQzC,MAAM,YAAY,GAAsB,cAAc,CAAC;AACvD,MAAM,WAAW,GAAsB,YAAY,CAAC;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAoB,EAA0B,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAoB,EAAyB,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE3G,MAAM,mBAAmB,GAA6D;IACpF,CAAC,2BAA2B,CAAC,EAAE,iBAAiB;IAChD,CAAC,uBAAuB,CAAC,EAAE,iBAAiB;IAC5C,CAAC,gBAAgB,CAAC,EAAE,mBAAmB;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAE,IAAa,EAAW,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { JsonObject } from '../../../kernel/private-files/private-files.js';
|
|
2
|
+
import { type HookOutcome, type Verdict } from './hook-outcome.js';
|
|
3
|
+
export interface CombinePolicy {
|
|
4
|
+
readonly noVerdict: 'blocks' | 'proceeds';
|
|
5
|
+
readonly plainTextIsContext: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface CombinedDecision {
|
|
8
|
+
readonly verdict: Verdict;
|
|
9
|
+
readonly reason: string | undefined;
|
|
10
|
+
readonly denials: readonly string[];
|
|
11
|
+
readonly contexts: readonly string[];
|
|
12
|
+
readonly updatedInput: JsonObject | undefined;
|
|
13
|
+
readonly updatedToolOutput: unknown;
|
|
14
|
+
readonly stopReason: string | undefined;
|
|
15
|
+
readonly systemMessages: readonly string[];
|
|
16
|
+
readonly notices: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function combineOutcomes(outcomes: readonly HookOutcome[], policy: CombinePolicy): CombinedDecision;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { SILENT_ANSWER } from './hook-outcome.js';
|
|
2
|
+
const PRECEDENCE = { none: 0, allow: 1, ask: 2, defer: 3, deny: 4 };
|
|
3
|
+
const DEFAULT_BLOCK_REASON = 'Blocked by hook';
|
|
4
|
+
export function combineOutcomes(outcomes, policy) {
|
|
5
|
+
const answers = outcomes.flatMap((outcome) => answersOf(outcome, policy));
|
|
6
|
+
const decider = answers.reduce((best, answer) => (PRECEDENCE[answer.verdict] > PRECEDENCE[best.verdict] ? answer : best), SILENT_ANSWER);
|
|
7
|
+
return {
|
|
8
|
+
verdict: decider.verdict,
|
|
9
|
+
reason: reasonOf(decider),
|
|
10
|
+
denials: answers.filter(({ verdict }) => verdict === 'deny').map(({ reason }) => reason ?? DEFAULT_BLOCK_REASON),
|
|
11
|
+
contexts: answers.flatMap((answer) => contextOf(answer, policy)),
|
|
12
|
+
updatedInput: answers.flatMap(({ updatedInput }) => (updatedInput === undefined ? [] : [updatedInput])).at(-1),
|
|
13
|
+
updatedToolOutput: answers.map(({ updatedToolOutput }) => updatedToolOutput).find((output) => output !== undefined),
|
|
14
|
+
stopReason: answers.map(({ stopReason }) => stopReason).find((reason) => reason !== undefined),
|
|
15
|
+
systemMessages: answers.flatMap(({ systemMessage }) => (systemMessage === undefined ? [] : [systemMessage])),
|
|
16
|
+
notices: outcomes.flatMap((outcome) => noticesOf(outcome, policy)),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function answersOf(outcome, policy) {
|
|
20
|
+
if (outcome.kind === 'answered') {
|
|
21
|
+
return [outcome.answer];
|
|
22
|
+
}
|
|
23
|
+
return outcome.kind === 'unanswered' && policy.noVerdict === 'blocks' ? [{ ...SILENT_ANSWER, verdict: 'deny', reason: outcome.notice }] : [];
|
|
24
|
+
}
|
|
25
|
+
function noticesOf(outcome, policy) {
|
|
26
|
+
if (outcome.kind === 'failed') {
|
|
27
|
+
return [outcome.notice];
|
|
28
|
+
}
|
|
29
|
+
return outcome.kind === 'unanswered' && policy.noVerdict === 'proceeds' ? [outcome.notice] : [];
|
|
30
|
+
}
|
|
31
|
+
function reasonOf({ verdict, reason }) {
|
|
32
|
+
if (verdict === 'none') {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return verdict === 'deny' ? (reason ?? DEFAULT_BLOCK_REASON) : reason;
|
|
36
|
+
}
|
|
37
|
+
function contextOf({ context, plainText }, { plainTextIsContext }) {
|
|
38
|
+
if (context !== undefined) {
|
|
39
|
+
return [context];
|
|
40
|
+
}
|
|
41
|
+
return plainTextIsContext && plainText !== undefined ? [plainText] : [];
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=combine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/decisions/combine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { JsonObject } from '../../../kernel/private-files/private-files.js';
|
|
2
|
+
export type Verdict = 'none' | 'allow' | 'ask' | 'defer' | 'deny';
|
|
3
|
+
export interface HookAnswer {
|
|
4
|
+
readonly verdict: Verdict;
|
|
5
|
+
readonly reason: string | undefined;
|
|
6
|
+
readonly context: string | undefined;
|
|
7
|
+
readonly plainText: string | undefined;
|
|
8
|
+
readonly updatedInput: JsonObject | undefined;
|
|
9
|
+
readonly updatedToolOutput: unknown;
|
|
10
|
+
readonly stopReason: string | undefined;
|
|
11
|
+
readonly systemMessage: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
export type HookOutcome = {
|
|
14
|
+
readonly kind: 'answered';
|
|
15
|
+
readonly answer: HookAnswer;
|
|
16
|
+
readonly succeeded: boolean;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: 'failed';
|
|
19
|
+
readonly notice: string;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: 'unanswered';
|
|
22
|
+
readonly notice: string;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: 'detached';
|
|
25
|
+
};
|
|
26
|
+
export declare const SILENT_ANSWER: HookAnswer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const SILENT_ANSWER = {
|
|
2
|
+
verdict: 'none',
|
|
3
|
+
reason: undefined,
|
|
4
|
+
context: undefined,
|
|
5
|
+
plainText: undefined,
|
|
6
|
+
updatedInput: undefined,
|
|
7
|
+
updatedToolOutput: undefined,
|
|
8
|
+
stopReason: undefined,
|
|
9
|
+
systemMessage: undefined,
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=hook-outcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-outcome.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/decisions/hook-outcome.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,SAAS;IACvB,iBAAiB,EAAE,SAAS;IAC5B,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,SAAS;CACzB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { HookHandler } from '../registry/hook-handler.js';
|
|
2
|
+
import type { HookRun } from '../runners/hook-runner.js';
|
|
3
|
+
import { type HookOutcome } from './hook-outcome.js';
|
|
4
|
+
export declare function parseHookOutput(exitCode: number, stdout: string, stderr: string): HookOutcome;
|
|
5
|
+
export declare function outcomeOf(run: HookRun, handler: HookHandler, event: string): HookOutcome;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// Portions adapted from pi-code (MIT, github.com/ilovepixelart/pi-code), extensions/hooks/decisions.ts.
|
|
2
|
+
import { isJsonObject, parseJson } from '../../../kernel/private-files/private-files.js';
|
|
3
|
+
import { SILENT_ANSWER } from './hook-outcome.js';
|
|
4
|
+
const BLOCKING_EXIT_CODE = 2;
|
|
5
|
+
const SUCCESS_EXIT_CODE = 0;
|
|
6
|
+
const DEFAULT_BLOCK_REASON = 'Blocked by hook';
|
|
7
|
+
const DEFAULT_STOP_REASON = 'Stopped by hook';
|
|
8
|
+
const MALFORMED_OUTPUT = { kind: 'malformed' };
|
|
9
|
+
const MALFORMED_NOTICE = 'its output looks like JSON but does not parse';
|
|
10
|
+
const OUTPUT_FIELDS = new Set(['decision', 'reason', 'continue', 'stopReason', 'systemMessage', 'suppressOutput', 'hookSpecificOutput', 'updatedToolOutput', 'updatedMCPToolOutput', 'ok']);
|
|
11
|
+
const VERDICT_BY_DECISION = new Map([
|
|
12
|
+
['allow', 'allow'],
|
|
13
|
+
['approve', 'allow'],
|
|
14
|
+
['deny', 'deny'],
|
|
15
|
+
['block', 'deny'],
|
|
16
|
+
['ask', 'ask'],
|
|
17
|
+
['defer', 'defer'],
|
|
18
|
+
]);
|
|
19
|
+
export function parseHookOutput(exitCode, stdout, stderr) {
|
|
20
|
+
const output = readStdout(stdout);
|
|
21
|
+
if (exitCode === BLOCKING_EXIT_CODE) {
|
|
22
|
+
return { kind: 'answered', answer: blockingAnswer(output, stderr), succeeded: false };
|
|
23
|
+
}
|
|
24
|
+
if (output.kind === 'json') {
|
|
25
|
+
return { kind: 'answered', answer: answerFrom(output.value), succeeded: true };
|
|
26
|
+
}
|
|
27
|
+
return output.kind === 'malformed' ? { kind: 'failed', notice: MALFORMED_NOTICE } : plainOutcome(exitCode, output.text, stderr);
|
|
28
|
+
}
|
|
29
|
+
function plainOutcome(exitCode, text, stderr) {
|
|
30
|
+
if (exitCode === SUCCESS_EXIT_CODE) {
|
|
31
|
+
return { kind: 'answered', answer: { ...SILENT_ANSWER, plainText: text === '' ? undefined : text }, succeeded: true };
|
|
32
|
+
}
|
|
33
|
+
return { kind: 'failed', notice: `Failed with non-blocking status code: ${firstLine(stderr) || String(exitCode)}` };
|
|
34
|
+
}
|
|
35
|
+
function readStdout(stdout) {
|
|
36
|
+
const trimmed = stdout.trim();
|
|
37
|
+
if (!looksLikeJsonObject(trimmed)) {
|
|
38
|
+
return { kind: 'text', text: trimmed };
|
|
39
|
+
}
|
|
40
|
+
const value = jsonObjectIn(trimmed);
|
|
41
|
+
if (value !== undefined) {
|
|
42
|
+
return { kind: 'json', value };
|
|
43
|
+
}
|
|
44
|
+
return isIndependentJsonLines(trimmed) ? { kind: 'text', text: trimmed } : MALFORMED_OUTPUT;
|
|
45
|
+
}
|
|
46
|
+
const looksLikeJsonObject = (text) => text.startsWith('{') && text.endsWith('}');
|
|
47
|
+
function jsonObjectIn(text) {
|
|
48
|
+
const parsed = parseJson(text);
|
|
49
|
+
return parsed.kind === 'parsed' && isJsonObject(parsed.value) ? parsed.value : undefined;
|
|
50
|
+
}
|
|
51
|
+
function isIndependentJsonLines(text) {
|
|
52
|
+
const lines = text
|
|
53
|
+
.split('\n')
|
|
54
|
+
.map((line) => line.trim())
|
|
55
|
+
.filter((line) => line !== '');
|
|
56
|
+
const values = lines.map(parseJson);
|
|
57
|
+
return lines.length > 1 && values.every((value) => value.kind === 'parsed' && !setsOutputField(value.value));
|
|
58
|
+
}
|
|
59
|
+
const setsOutputField = (value) => isJsonObject(value) && Object.keys(value).some((key) => OUTPUT_FIELDS.has(key));
|
|
60
|
+
function blockingAnswer(output, stderr) {
|
|
61
|
+
const fromJson = output.kind === 'json' ? answerFrom(output.value) : SILENT_ANSWER;
|
|
62
|
+
const jsonReason = fromJson.verdict === 'deny' ? fromJson.reason : undefined;
|
|
63
|
+
return { ...fromJson, verdict: 'deny', reason: jsonReason ?? (stderr.trim() || DEFAULT_BLOCK_REASON) };
|
|
64
|
+
}
|
|
65
|
+
function answerFrom(json) {
|
|
66
|
+
const specific = objectOf(json.hookSpecificOutput) ?? {};
|
|
67
|
+
return {
|
|
68
|
+
verdict: verdictOf(json, specific),
|
|
69
|
+
reason: textOf(specific.permissionDecisionReason) ?? textOf(json.reason),
|
|
70
|
+
context: textOf(specific.additionalContext),
|
|
71
|
+
plainText: undefined,
|
|
72
|
+
updatedInput: objectOf(specific.updatedInput),
|
|
73
|
+
updatedToolOutput: [specific.updatedToolOutput, specific.updatedMCPToolOutput, json.updatedToolOutput, json.updatedMCPToolOutput].find((value) => value !== undefined),
|
|
74
|
+
stopReason: stopReasonOf(json),
|
|
75
|
+
systemMessage: textOf(json.systemMessage),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const objectOf = (value) => (isJsonObject(value) ? value : undefined);
|
|
79
|
+
const stopReasonOf = (json) => (json.continue === false ? (textOf(json.stopReason) ?? DEFAULT_STOP_REASON) : undefined);
|
|
80
|
+
function verdictOf(json, specific) {
|
|
81
|
+
const named = VERDICT_BY_DECISION.get(textOf(specific.permissionDecision) ?? textOf(json.decision) ?? '');
|
|
82
|
+
if (named !== undefined) {
|
|
83
|
+
return named;
|
|
84
|
+
}
|
|
85
|
+
return json.ok === false ? 'deny' : 'none';
|
|
86
|
+
}
|
|
87
|
+
const textOf = (value) => (typeof value === 'string' ? value : undefined);
|
|
88
|
+
const firstLine = (text) => text.trim().split('\n')[0] ?? '';
|
|
89
|
+
export function outcomeOf(run, handler, event) {
|
|
90
|
+
const outcome = rawOutcomeOf(run, handler, event);
|
|
91
|
+
return handler.blocksOnFailure ? blockingOnFailure(outcome) : outcome;
|
|
92
|
+
}
|
|
93
|
+
function rawOutcomeOf(run, { label }, event) {
|
|
94
|
+
switch (run.kind) {
|
|
95
|
+
case 'exited':
|
|
96
|
+
return withHookNamed(parseHookOutput(run.exitCode, run.stdout, run.stderr), `${event} hook error: [${label}]: `);
|
|
97
|
+
case 'failed':
|
|
98
|
+
return { kind: 'failed', notice: `${event} hook error: [${label}]: ${run.reason}` };
|
|
99
|
+
case 'timed-out':
|
|
100
|
+
return { kind: 'unanswered', notice: `Hook timed out after ${String(run.afterMs)}ms: ${label}` };
|
|
101
|
+
case 'not-started':
|
|
102
|
+
return { kind: 'unanswered', notice: `Hook failed to run: ${label}: ${run.reason}` };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const withHookNamed = (outcome, prefix) => (outcome.kind === 'failed' ? { kind: 'failed', notice: `${prefix}${outcome.notice}` } : outcome);
|
|
106
|
+
function blockingOnFailure(outcome) {
|
|
107
|
+
if (outcome.kind !== 'failed' && outcome.kind !== 'unanswered') {
|
|
108
|
+
return outcome;
|
|
109
|
+
}
|
|
110
|
+
return { kind: 'answered', answer: { ...SILENT_ANSWER, verdict: 'deny', reason: outcome.notice }, succeeded: false };
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=parse-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-output.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/decisions/parse-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const IDLE_DELAY_MS = 60_000;
|
|
2
|
+
export class IdleWatch {
|
|
3
|
+
#timer;
|
|
4
|
+
arm(onIdle) {
|
|
5
|
+
this.cancel();
|
|
6
|
+
this.#timer = setTimeout(() => {
|
|
7
|
+
this.#timer = undefined;
|
|
8
|
+
onIdle();
|
|
9
|
+
}, IDLE_DELAY_MS);
|
|
10
|
+
this.#timer.unref();
|
|
11
|
+
}
|
|
12
|
+
cancel() {
|
|
13
|
+
clearTimeout(this.#timer);
|
|
14
|
+
this.#timer = undefined;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=idle-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idle-watch.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/delivery/idle-watch.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,MAAM,OAAO,SAAS;IACpB,MAAM,CAA4C;IAElD,GAAG,CAAC,MAAkB;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,aAAa,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BeforeAgentStartEventResult } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
export declare const HOOK_CONTEXT_MESSAGE = "claude-hook-context";
|
|
3
|
+
export declare class PendingContext {
|
|
4
|
+
#private;
|
|
5
|
+
add(texts: readonly string[]): void;
|
|
6
|
+
take(): BeforeAgentStartEventResult | undefined;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const HOOK_CONTEXT_MESSAGE = 'claude-hook-context';
|
|
2
|
+
export class PendingContext {
|
|
3
|
+
#texts = [];
|
|
4
|
+
add(texts) {
|
|
5
|
+
this.#texts = [...this.#texts, ...texts];
|
|
6
|
+
}
|
|
7
|
+
take() {
|
|
8
|
+
if (this.#texts.length === 0) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
const content = this.#texts.join('\n');
|
|
12
|
+
this.#texts = [];
|
|
13
|
+
return { message: { customType: HOOK_CONTEXT_MESSAGE, content, display: false } };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pending-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-context.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/delivery/pending-context.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D,MAAM,OAAO,cAAc;IACzB,MAAM,GAAa,EAAE,CAAC;IAEtB,GAAG,CAAC,KAAwB;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IACpF,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ExtensionAPI, ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
export declare class StopContinuations {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(pi: Pick<ExtensionAPI, 'sendMessage'>);
|
|
5
|
+
get active(): boolean;
|
|
6
|
+
continueWith(reason: string, ctx: Pick<ExtensionContext, 'ui'>): void;
|
|
7
|
+
release(): void;
|
|
8
|
+
madeProgress(): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const STOP_HOOK_MESSAGE = 'claude-stop-hook';
|
|
2
|
+
const CONSECUTIVE_CONTINUATION_CAP = 8;
|
|
3
|
+
export class StopContinuations {
|
|
4
|
+
#pi;
|
|
5
|
+
#continuations = 0;
|
|
6
|
+
#active = false;
|
|
7
|
+
constructor(pi) {
|
|
8
|
+
this.#pi = pi;
|
|
9
|
+
}
|
|
10
|
+
get active() {
|
|
11
|
+
return this.#active;
|
|
12
|
+
}
|
|
13
|
+
continueWith(reason, ctx) {
|
|
14
|
+
if (this.#continuations >= CONSECUTIVE_CONTINUATION_CAP) {
|
|
15
|
+
this.release();
|
|
16
|
+
ctx.ui.notify(`Stop hooks blocked ${String(CONSECUTIVE_CONTINUATION_CAP)} consecutive times; the turn ends here.`, 'warning');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.#continuations += 1;
|
|
20
|
+
this.#active = true;
|
|
21
|
+
this.#pi.sendMessage({ customType: STOP_HOOK_MESSAGE, content: reason, display: true }, { triggerTurn: true });
|
|
22
|
+
}
|
|
23
|
+
release() {
|
|
24
|
+
this.#continuations = 0;
|
|
25
|
+
this.#active = false;
|
|
26
|
+
}
|
|
27
|
+
madeProgress() {
|
|
28
|
+
this.#continuations = 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=stop-continuations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-continuations.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/delivery/stop-continuations.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAEvC,MAAM,OAAO,iBAAiB;IACnB,GAAG,CAAoC;IAChD,cAAc,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,KAAK,CAAC;IAEhB,YAAY,EAAqC;QAC/C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,GAAiC;QAC5D,IAAI,IAAI,CAAC,cAAc,IAAI,4BAA4B,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,MAAM,CAAC,4BAA4B,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;YAC9H,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACjH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
export declare class ToolCallNotes {
|
|
3
|
+
#private;
|
|
4
|
+
addContexts(toolCallId: string, contexts: readonly string[]): void;
|
|
5
|
+
takeContexts(toolCallId: string): readonly string[];
|
|
6
|
+
holdStop(toolCallId: string, stopReason: string | undefined): void;
|
|
7
|
+
settle(toolCallId: string, ctx: Pick<ExtensionContext, 'ui' | 'abort'>): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class ToolCallNotes {
|
|
2
|
+
#contexts = new Map();
|
|
3
|
+
#stops = new Map();
|
|
4
|
+
addContexts(toolCallId, contexts) {
|
|
5
|
+
if (contexts.length > 0) {
|
|
6
|
+
this.#contexts.set(toolCallId, [...(this.#contexts.get(toolCallId) ?? []), ...contexts]);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
takeContexts(toolCallId) {
|
|
10
|
+
const contexts = this.#contexts.get(toolCallId) ?? [];
|
|
11
|
+
this.#contexts.delete(toolCallId);
|
|
12
|
+
return contexts;
|
|
13
|
+
}
|
|
14
|
+
holdStop(toolCallId, stopReason) {
|
|
15
|
+
if (stopReason !== undefined) {
|
|
16
|
+
this.#stops.set(toolCallId, stopReason);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
settle(toolCallId, ctx) {
|
|
20
|
+
const stopReason = this.#stops.get(toolCallId);
|
|
21
|
+
this.#contexts.delete(toolCallId);
|
|
22
|
+
if (stopReason === undefined) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.#stops.delete(toolCallId);
|
|
26
|
+
ctx.ui.notify(stopReason, 'warning');
|
|
27
|
+
ctx.abort();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=tool-call-notes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-call-notes.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/delivery/tool-call-notes.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACf,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,WAAW,CAAC,UAAkB,EAAE,QAA2B;QACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,UAA8B;QACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,GAA2C;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACrC,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ExtensionContext } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { JsonObject } from '../../../kernel/private-files/private-files.js';
|
|
3
|
+
export declare function commonFields(ctx: Pick<ExtensionContext, 'cwd' | 'sessionManager'>, claudeEvent: string): JsonObject;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function commonFields(ctx, claudeEvent) {
|
|
2
|
+
const transcript = ctx.sessionManager.getSessionFile();
|
|
3
|
+
return {
|
|
4
|
+
session_id: ctx.sessionManager.getSessionId(),
|
|
5
|
+
...(transcript === undefined ? {} : { transcript_path: transcript }),
|
|
6
|
+
cwd: ctx.cwd,
|
|
7
|
+
hook_event_name: claudeEvent,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=common-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-fields.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/dispatch/common-fields.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,GAAqD,EAAE,WAAmB;IACrG,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;IACvD,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE;QAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;QACpE,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,eAAe,EAAE,WAAW;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BridgeCall, EventBridge } from '../bridges/event-bridge.js';
|
|
2
|
+
import { type CombinedDecision } from '../decisions/combine.js';
|
|
3
|
+
import type { HookRegistry } from '../registry/hook-registry.js';
|
|
4
|
+
import type { BackgroundHooks } from '../runners/background-hooks.js';
|
|
5
|
+
export declare class HookDispatcher {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(registry: () => HookRegistry, background: BackgroundHooks);
|
|
8
|
+
dispatch(bridge: EventBridge, call: BridgeCall<never>): Promise<CombinedDecision>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { scopedHooks } from '../../../kernel/scoped-hooks/scoped-hooks.js';
|
|
2
|
+
import { combineOutcomes } from '../decisions/combine.js';
|
|
3
|
+
import { outcomeOf } from '../decisions/parse-output.js';
|
|
4
|
+
import { piHookAgents } from '../runners/pi-hook-agents.js';
|
|
5
|
+
import { piHookModels } from '../runners/pi-hook-models.js';
|
|
6
|
+
import { runHandler } from '../runners/runners-by-type.js';
|
|
7
|
+
import { commonFields } from './common-fields.js';
|
|
8
|
+
const MILLISECONDS_PER_SECOND = 1000;
|
|
9
|
+
const PROMPT_DEFAULT_SECONDS = 30;
|
|
10
|
+
const DETACHED = { kind: 'detached' };
|
|
11
|
+
export class HookDispatcher {
|
|
12
|
+
#registry;
|
|
13
|
+
#background;
|
|
14
|
+
constructor(registry, background) {
|
|
15
|
+
this.#registry = registry;
|
|
16
|
+
this.#background = background;
|
|
17
|
+
}
|
|
18
|
+
async dispatch(bridge, call) {
|
|
19
|
+
const handlers = this.#registry().handlersFor(bridge.claudeEvent, bridge.subject(call));
|
|
20
|
+
if (handlers.length === 0) {
|
|
21
|
+
return combineOutcomes([], bridge.policy);
|
|
22
|
+
}
|
|
23
|
+
const invocation = { bridge, call, payload: { ...commonFields(call.ctx, bridge.claudeEvent), ...bridge.payload(call) } };
|
|
24
|
+
const outcomes = await Promise.all(handlers.map((handler) => this.#outcomeOf(handler, invocation)));
|
|
25
|
+
spendOnceHooks(handlers, outcomes, call.ctx.sessionManager.getSessionId());
|
|
26
|
+
return combineOutcomes(outcomes, bridge.policy);
|
|
27
|
+
}
|
|
28
|
+
async #outcomeOf(handler, { bridge, call, payload }) {
|
|
29
|
+
const context = runContextFor(handler, bridge.timeouts, call);
|
|
30
|
+
if (handler.type === 'command' && handler.background !== 'none') {
|
|
31
|
+
this.#background.start(handler, payload, context);
|
|
32
|
+
return DETACHED;
|
|
33
|
+
}
|
|
34
|
+
return outcomeOf(await runHandler(handler, payload, context), handler, bridge.claudeEvent);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function runContextFor(handler, timeouts, { ctx, services }) {
|
|
38
|
+
return {
|
|
39
|
+
timeoutMs: timeoutMsFor(handler, timeouts),
|
|
40
|
+
environment: { cwd: ctx.cwd, projectDir: services.projectDir },
|
|
41
|
+
models: piHookModels(ctx),
|
|
42
|
+
agents: piHookAgents(ctx),
|
|
43
|
+
onStarted: () => undefined,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function timeoutMsFor(handler, timeouts) {
|
|
47
|
+
if (handler.type === 'command' && handler.background === 'async') {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const seconds = handler.timeoutSeconds === undefined ? defaultSecondsFor(handler, timeouts) : Math.min(handler.timeoutSeconds, timeouts.maxSeconds);
|
|
51
|
+
return Math.round(seconds * MILLISECONDS_PER_SECOND);
|
|
52
|
+
}
|
|
53
|
+
const defaultSecondsFor = (handler, timeouts) => (handler.type === 'prompt' ? PROMPT_DEFAULT_SECONDS : timeouts.defaultSeconds);
|
|
54
|
+
function spendOnceHooks(handlers, outcomes, sessionId) {
|
|
55
|
+
handlers.forEach(({ onceKey }, index) => {
|
|
56
|
+
const outcome = outcomes[index];
|
|
57
|
+
if (onceKey !== undefined && outcome?.kind === 'answered' && outcome.succeeded) {
|
|
58
|
+
scopedHooks().markSpent(sessionId, onceKey);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=hook-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-dispatcher.js","sourceRoot":"","sources":["../../../../src/extensions/hooks/dispatch/hook-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ExtensionAPI, ExtensionContext, BeforeAgentStartEventResult } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import { type HookTrigger } from './bridges/triggers.js';
|
|
3
|
+
export declare class HookSession {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(pi: Pick<ExtensionAPI, 'sendMessage'>);
|
|
6
|
+
open(ctx: ExtensionContext): Promise<void>;
|
|
7
|
+
runBridges(trigger: HookTrigger, event: unknown, ctx: ExtensionContext): Promise<unknown>;
|
|
8
|
+
runAnnounced(trigger: HookTrigger, event: unknown): Promise<unknown>;
|
|
9
|
+
armIdle(ctx: ExtensionContext): void;
|
|
10
|
+
disarmIdle(): void;
|
|
11
|
+
takeSessionContext(): BeforeAgentStartEventResult | undefined;
|
|
12
|
+
settleToolCall(toolCallId: string, ctx: ExtensionContext): void;
|
|
13
|
+
close(ctx: Pick<ExtensionContext, 'hasUI' | 'sessionManager'>): void;
|
|
14
|
+
summary(): string;
|
|
15
|
+
}
|