@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,16 @@
|
|
|
1
|
+
import type { PluginSource } from '../plugin-source.js';
|
|
2
|
+
import { type Sha } from '../sha.js';
|
|
3
|
+
declare const INDEX_VERSION = 1;
|
|
4
|
+
export interface MarketplaceRecord {
|
|
5
|
+
readonly source: PluginSource;
|
|
6
|
+
readonly sha: Sha;
|
|
7
|
+
}
|
|
8
|
+
export interface MarketplaceIndex {
|
|
9
|
+
readonly version: typeof INDEX_VERSION;
|
|
10
|
+
readonly marketplaces: Readonly<Record<string, MarketplaceRecord>>;
|
|
11
|
+
}
|
|
12
|
+
export declare function readMarketplaceIndex(path: string): MarketplaceIndex;
|
|
13
|
+
export declare function writeMarketplaceIndex(path: string, index: MarketplaceIndex): void;
|
|
14
|
+
export declare const withMarketplace: (index: MarketplaceIndex, name: string, record: MarketplaceRecord) => MarketplaceIndex;
|
|
15
|
+
export declare const withoutMarketplace: (index: MarketplaceIndex, name: string) => MarketplaceIndex;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { MalformedConfigFileError } from '../../private-files/errors.js';
|
|
2
|
+
import { isJsonObject, readJsonObject, writeJsonAtomically } from '../../private-files/private-files.js';
|
|
3
|
+
import { isPluginName } from '../plugin-manifest.js';
|
|
4
|
+
import { looksLikeFullSha, toSha } from '../sha.js';
|
|
5
|
+
const INDEX_VERSION = 1;
|
|
6
|
+
const EXPECTATION = 'a version 1 marketplace index that pi-claude wrote';
|
|
7
|
+
const EMPTY_INDEX = { version: INDEX_VERSION, marketplaces: {} };
|
|
8
|
+
export function readMarketplaceIndex(path) {
|
|
9
|
+
const raw = readJsonObject(path);
|
|
10
|
+
if (Object.keys(raw).length === 0) {
|
|
11
|
+
return EMPTY_INDEX;
|
|
12
|
+
}
|
|
13
|
+
if (raw.version !== INDEX_VERSION || !isJsonObject(raw.marketplaces)) {
|
|
14
|
+
throw new MalformedConfigFileError(path, EXPECTATION);
|
|
15
|
+
}
|
|
16
|
+
const listed = Object.entries(raw.marketplaces);
|
|
17
|
+
const records = listed.flatMap(([name, record]) => namedRecord(name, record));
|
|
18
|
+
if (records.length !== listed.length) {
|
|
19
|
+
throw new MalformedConfigFileError(path, EXPECTATION);
|
|
20
|
+
}
|
|
21
|
+
return { version: INDEX_VERSION, marketplaces: Object.fromEntries(records) };
|
|
22
|
+
}
|
|
23
|
+
export function writeMarketplaceIndex(path, index) {
|
|
24
|
+
writeJsonAtomically(path, index);
|
|
25
|
+
}
|
|
26
|
+
export const withMarketplace = (index, name, record) => ({
|
|
27
|
+
...index,
|
|
28
|
+
marketplaces: { ...index.marketplaces, [name]: record },
|
|
29
|
+
});
|
|
30
|
+
export const withoutMarketplace = (index, name) => ({
|
|
31
|
+
...index,
|
|
32
|
+
marketplaces: Object.fromEntries(Object.entries(index.marketplaces).filter(([added]) => added !== name)),
|
|
33
|
+
});
|
|
34
|
+
function namedRecord(name, record) {
|
|
35
|
+
if (!isPluginName(name) || !isJsonObject(record) || typeof record.sha !== 'string' || !looksLikeFullSha(record.sha)) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
return sourceOf(record.source).map((source) => [name, { source, sha: toSha(record.sha) }]);
|
|
39
|
+
}
|
|
40
|
+
function sourceOf(raw) {
|
|
41
|
+
if (!isJsonObject(raw)) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
return [...gitSourceOf(raw), ...localSourceOf(raw)];
|
|
45
|
+
}
|
|
46
|
+
function gitSourceOf(raw) {
|
|
47
|
+
const { url, ref } = raw;
|
|
48
|
+
if (raw.kind !== 'git' || typeof url !== 'string') {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
if (ref === undefined) {
|
|
52
|
+
return [{ kind: 'git', url }];
|
|
53
|
+
}
|
|
54
|
+
return typeof ref === 'string' ? [{ kind: 'git', url, ref }] : [];
|
|
55
|
+
}
|
|
56
|
+
const localSourceOf = (raw) => raw.kind === 'local' && typeof raw.path === 'string' ? [{ kind: 'local', path: raw.path }] : [];
|
|
57
|
+
//# sourceMappingURL=marketplace-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-index.js","sourceRoot":"","sources":["../../../../src/kernel/plugin-install/marketplaces/marketplace-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PluginId } from '../dependencies/plugin-id.js';
|
|
2
|
+
import type { GitClient } from '../git-client.js';
|
|
3
|
+
import type { InstallRecord } from '../install-record.js';
|
|
4
|
+
import type { PluginInstaller } from '../plugin-installer.js';
|
|
5
|
+
import type { MarketplaceRegistry } from './marketplace-registry.js';
|
|
6
|
+
export declare class MarketplaceInstaller {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(git: GitClient, root: string, registry: MarketplaceRegistry, installer: PluginInstaller);
|
|
9
|
+
install(id: PluginId): Promise<InstallRecord[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { stagingDir } from '../install-layout.js';
|
|
2
|
+
import { discardStaged } from '../staging.js';
|
|
3
|
+
import { stageEntry } from './entry-staging.js';
|
|
4
|
+
import { planInstall } from './install-plan.js';
|
|
5
|
+
export class MarketplaceInstaller {
|
|
6
|
+
#git;
|
|
7
|
+
#root;
|
|
8
|
+
#registry;
|
|
9
|
+
#installer;
|
|
10
|
+
constructor(git, root, registry, installer) {
|
|
11
|
+
this.#git = git;
|
|
12
|
+
this.#root = root;
|
|
13
|
+
this.#registry = registry;
|
|
14
|
+
this.#installer = installer;
|
|
15
|
+
}
|
|
16
|
+
async install(id) {
|
|
17
|
+
const marketplaces = new Map(this.#registry.list().map((added) => [added.name, added]));
|
|
18
|
+
const installedNames = new Set(this.#installer.list().map(({ name }) => name));
|
|
19
|
+
const staged = await this.#stageAll(planInstall(id, marketplaces, installedNames));
|
|
20
|
+
try {
|
|
21
|
+
return this.#installer.addStaged(staged);
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
this.#discard(staged);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async #stageAll({ planned, resolved }) {
|
|
28
|
+
const staged = [];
|
|
29
|
+
try {
|
|
30
|
+
for (const plugin of planned) {
|
|
31
|
+
staged.push(await stageEntry(this.#git, plugin, resolved, stagingDir(this.#root)));
|
|
32
|
+
}
|
|
33
|
+
return staged;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
this.#discard(staged);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
#discard(staged) {
|
|
41
|
+
staged.forEach(({ dir }) => {
|
|
42
|
+
discardStaged(dir, stagingDir(this.#root));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=marketplace-installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-installer.js","sourceRoot":"","sources":["../../../../src/kernel/plugin-install/marketplaces/marketplace-installer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAGlE,MAAM,OAAO,oBAAoB;IACtB,IAAI,CAAY;IAChB,KAAK,CAAS;IACd,SAAS,CAAsB;IAC/B,UAAU,CAAkB;IAErC,YAAY,GAAc,EAAE,IAAY,EAAE,QAA6B,EAAE,SAA0B;QACjG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAY;QACxB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAe;QAChD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,MAA+B;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACzB,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GitClient } from '../git-client.js';
|
|
2
|
+
import type { PluginSource } from '../plugin-source.js';
|
|
3
|
+
import type { Sha } from '../sha.js';
|
|
4
|
+
import { type MarketplaceFile } from './marketplace-file.js';
|
|
5
|
+
export interface AddedMarketplace {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly source: PluginSource;
|
|
8
|
+
readonly sha: Sha;
|
|
9
|
+
readonly directory: string;
|
|
10
|
+
readonly file: MarketplaceFile;
|
|
11
|
+
}
|
|
12
|
+
export declare class MarketplaceRegistry {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(git: GitClient, root: string);
|
|
15
|
+
add(source: PluginSource): Promise<AddedMarketplace>;
|
|
16
|
+
update(name: string | undefined): Promise<AddedMarketplace[]>;
|
|
17
|
+
remove(name: string): void;
|
|
18
|
+
list(): AddedMarketplace[];
|
|
19
|
+
find(name: string): AddedMarketplace;
|
|
20
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { removeWithin } from '../../private-files/confined-removal.js';
|
|
2
|
+
import { marketplaceDir, marketplaceIndexPath, stagingDir } from '../install-layout.js';
|
|
3
|
+
import { discardStaged, placeDirectory, stageDirectory } from '../staging.js';
|
|
4
|
+
import { checkoutSource } from './checkout.js';
|
|
5
|
+
import { MarketplaceAlreadyAddedError, MarketplaceNameMismatchError, MarketplaceNotAddedError } from './errors.js';
|
|
6
|
+
import { readMarketplaceIndex, withMarketplace, withoutMarketplace, writeMarketplaceIndex, } from './marketplace-index.js';
|
|
7
|
+
import { readMarketplaceFile } from './marketplace-file.js';
|
|
8
|
+
export class MarketplaceRegistry {
|
|
9
|
+
#git;
|
|
10
|
+
#root;
|
|
11
|
+
constructor(git, root) {
|
|
12
|
+
this.#git = git;
|
|
13
|
+
this.#root = root;
|
|
14
|
+
}
|
|
15
|
+
add(source) {
|
|
16
|
+
return this.#withCheckout(source, (file) => {
|
|
17
|
+
if (file.name in this.#index().marketplaces) {
|
|
18
|
+
throw new MarketplaceAlreadyAddedError(file.name);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async update(name) {
|
|
23
|
+
const names = name === undefined ? this.list().map((added) => added.name) : [this.find(name).name];
|
|
24
|
+
const updated = [];
|
|
25
|
+
for (const target of names) {
|
|
26
|
+
const { source } = this.find(target);
|
|
27
|
+
updated.push(await this.#withCheckout(source, (file) => {
|
|
28
|
+
assertSameName(target, file.name);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
return updated;
|
|
32
|
+
}
|
|
33
|
+
remove(name) {
|
|
34
|
+
const { directory } = this.find(name);
|
|
35
|
+
this.#writeIndex(withoutMarketplace(this.#index(), name));
|
|
36
|
+
removeWithin(this.#root, directory);
|
|
37
|
+
}
|
|
38
|
+
list() {
|
|
39
|
+
return Object.entries(this.#index().marketplaces).map(([name, record]) => this.#added(name, record));
|
|
40
|
+
}
|
|
41
|
+
find(name) {
|
|
42
|
+
const record = this.#index().marketplaces[name];
|
|
43
|
+
if (record === undefined) {
|
|
44
|
+
throw new MarketplaceNotAddedError(name);
|
|
45
|
+
}
|
|
46
|
+
return this.#added(name, record);
|
|
47
|
+
}
|
|
48
|
+
async #withCheckout(source, accept) {
|
|
49
|
+
const staging = stagingDir(this.#root);
|
|
50
|
+
const staged = await stageDirectory(staging, (dir) => checkoutSource(this.#git, source, dir));
|
|
51
|
+
try {
|
|
52
|
+
const file = readMarketplaceFile(staged.dir);
|
|
53
|
+
accept(file);
|
|
54
|
+
placeDirectory(staged.dir, marketplaceDir(this.#root, file.name), this.#root);
|
|
55
|
+
this.#writeIndex(withMarketplace(this.#index(), file.name, { source, sha: staged.content }));
|
|
56
|
+
return this.find(file.name);
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
discardStaged(staged.dir, staging);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
#added(name, { source, sha }) {
|
|
63
|
+
const directory = marketplaceDir(this.#root, name);
|
|
64
|
+
return { name, source, sha, directory, file: readMarketplaceFile(directory) };
|
|
65
|
+
}
|
|
66
|
+
#index() {
|
|
67
|
+
return readMarketplaceIndex(marketplaceIndexPath(this.#root));
|
|
68
|
+
}
|
|
69
|
+
#writeIndex(index) {
|
|
70
|
+
writeMarketplaceIndex(marketplaceIndexPath(this.#root), index);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function assertSameName(registered, found) {
|
|
74
|
+
if (registered !== found) {
|
|
75
|
+
throw new MarketplaceNameMismatchError(registered, found);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=marketplace-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace-registry.js","sourceRoot":"","sources":["../../../../src/kernel/plugin-install/marketplaces/marketplace-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGxF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAwB,MAAM,uBAAuB,CAAC;AAUlF,MAAM,OAAO,mBAAmB;IACrB,IAAI,CAAY;IAChB,KAAK,CAAS;IAEvB,YAAY,GAAc,EAAE,IAAY;QACtC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,MAAoB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACnG,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrD,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAoB,EAAE,MAAuC;QAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,CAAC;YACb,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAqB;QACrD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,MAAM;QACJ,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;CACF;AAED,SAAS,cAAc,CAAC,UAAkB,EAAE,KAAa;IACvD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,4BAA4B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type JsonObject } from '../../private-files/private-files.js';
|
|
2
|
+
import type { PluginId } from '../dependencies/plugin-id.js';
|
|
3
|
+
import type { MarketplaceEntry } from './marketplace-file.js';
|
|
4
|
+
export declare function mergeEntryWithManifest(plugin: PluginId, entry: MarketplaceEntry, manifest: JsonObject | 'absent'): JsonObject;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
import { isJsonObject } from '../../private-files/private-files.js';
|
|
3
|
+
import { ConflictingManifestsError } from './errors.js';
|
|
4
|
+
const COMPONENT_FIELDS = [
|
|
5
|
+
'skills',
|
|
6
|
+
'commands',
|
|
7
|
+
'agents',
|
|
8
|
+
'hooks',
|
|
9
|
+
'mcpServers',
|
|
10
|
+
'lspServers',
|
|
11
|
+
'outputStyles',
|
|
12
|
+
'workflows',
|
|
13
|
+
'themes',
|
|
14
|
+
'monitors',
|
|
15
|
+
];
|
|
16
|
+
const COMBINED_FIELDS = [...COMPONENT_FIELDS, 'dependencies'];
|
|
17
|
+
export function mergeEntryWithManifest(plugin, entry, manifest) {
|
|
18
|
+
const own = manifest === 'absent' ? {} : manifest;
|
|
19
|
+
const merged = entry.strict ? strictMerge(entry.fields, own) : looseMerge(plugin, entry.fields, own);
|
|
20
|
+
return { ...merged, name: entry.name };
|
|
21
|
+
}
|
|
22
|
+
function strictMerge(fromEntry, fromManifest) {
|
|
23
|
+
return { ...fromEntry, ...fromManifest, ...combinedFields(fromManifest, fromEntry) };
|
|
24
|
+
}
|
|
25
|
+
function looseMerge(plugin, fromEntry, fromManifest) {
|
|
26
|
+
if (COMPONENT_FIELDS.some((field) => field in fromManifest)) {
|
|
27
|
+
throw new ConflictingManifestsError(plugin);
|
|
28
|
+
}
|
|
29
|
+
return { ...fromManifest, ...fromEntry, ...combinedFields(fromManifest, fromEntry) };
|
|
30
|
+
}
|
|
31
|
+
function combinedFields(first, second) {
|
|
32
|
+
const present = COMBINED_FIELDS.filter((field) => field in first || field in second);
|
|
33
|
+
return Object.fromEntries(present.map((field) => [field, combine(first[field], second[field])]));
|
|
34
|
+
}
|
|
35
|
+
function combine(first, second) {
|
|
36
|
+
if (first === undefined) {
|
|
37
|
+
return second;
|
|
38
|
+
}
|
|
39
|
+
if (second === undefined) {
|
|
40
|
+
return first;
|
|
41
|
+
}
|
|
42
|
+
return isJsonObject(first) && isJsonObject(second) ? { ...second, ...first } : unionOfLists(first, second);
|
|
43
|
+
}
|
|
44
|
+
function unionOfLists(first, second) {
|
|
45
|
+
return [...asList(first), ...asList(second).filter((item) => !asList(first).some((kept) => isDeepStrictEqual(kept, item)))];
|
|
46
|
+
}
|
|
47
|
+
const asList = (value) => (Array.isArray(value) ? value : [value]);
|
|
48
|
+
//# sourceMappingURL=strict-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-merge.js","sourceRoot":"","sources":["../../../../src/kernel/plugin-install/marketplaces/strict-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type InstalledSource } from './install-record.js';
|
|
2
|
+
import { type Sha } from './sha.js';
|
|
3
|
+
declare const INDEX_VERSION = 1;
|
|
4
|
+
export interface OwnIndexEntry {
|
|
5
|
+
readonly source: InstalledSource;
|
|
6
|
+
readonly sha: Sha;
|
|
7
|
+
readonly enabled: boolean;
|
|
8
|
+
readonly marketplace?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface OwnIndex {
|
|
11
|
+
readonly version: typeof INDEX_VERSION;
|
|
12
|
+
readonly plugins: Readonly<Record<string, OwnIndexEntry>>;
|
|
13
|
+
}
|
|
14
|
+
export type OwnIndexRead = {
|
|
15
|
+
readonly kind: 'read';
|
|
16
|
+
readonly index: OwnIndex;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: 'malformed';
|
|
19
|
+
};
|
|
20
|
+
export declare function readOwnIndex(path: string): OwnIndex;
|
|
21
|
+
export declare function readOwnIndexLeniently(path: string): OwnIndexRead;
|
|
22
|
+
export declare function writeOwnIndex(path: string, index: OwnIndex): void;
|
|
23
|
+
export declare const withEntry: (index: OwnIndex, name: string, entry: OwnIndexEntry) => OwnIndex;
|
|
24
|
+
export declare const withoutEntry: (index: OwnIndex, name: string) => OwnIndex;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { MalformedConfigFileError } from '../private-files/errors.js';
|
|
3
|
+
import { isJsonObject, readJsonObjectLeniently, writeJsonAtomically } from '../private-files/private-files.js';
|
|
4
|
+
import { installedSourceOf } from './install-record.js';
|
|
5
|
+
import { isPluginName } from './plugin-manifest.js';
|
|
6
|
+
import { looksLikeFullSha, toSha } from './sha.js';
|
|
7
|
+
const INDEX_VERSION = 1;
|
|
8
|
+
const EXPECTATION = 'a version 1 plugin install index that pi-claude wrote';
|
|
9
|
+
const EMPTY_INDEX = { version: INDEX_VERSION, plugins: {} };
|
|
10
|
+
const MALFORMED = { kind: 'malformed' };
|
|
11
|
+
export function readOwnIndex(path) {
|
|
12
|
+
const read = readOwnIndexLeniently(path);
|
|
13
|
+
if (read.kind === 'malformed') {
|
|
14
|
+
throw new MalformedConfigFileError(path, EXPECTATION);
|
|
15
|
+
}
|
|
16
|
+
return read.index;
|
|
17
|
+
}
|
|
18
|
+
export function readOwnIndexLeniently(path) {
|
|
19
|
+
return existsSync(path) ? parseOwnIndex(readJsonObjectLeniently(path)) : { kind: 'read', index: EMPTY_INDEX };
|
|
20
|
+
}
|
|
21
|
+
export function writeOwnIndex(path, index) {
|
|
22
|
+
writeJsonAtomically(path, index);
|
|
23
|
+
}
|
|
24
|
+
export const withEntry = (index, name, entry) => ({
|
|
25
|
+
...index,
|
|
26
|
+
plugins: { ...index.plugins, [name]: entry },
|
|
27
|
+
});
|
|
28
|
+
export const withoutEntry = (index, name) => ({
|
|
29
|
+
...index,
|
|
30
|
+
plugins: Object.fromEntries(Object.entries(index.plugins).filter(([installed]) => installed !== name)),
|
|
31
|
+
});
|
|
32
|
+
function parseOwnIndex(raw) {
|
|
33
|
+
if (raw.version !== INDEX_VERSION || !isJsonObject(raw.plugins)) {
|
|
34
|
+
return MALFORMED;
|
|
35
|
+
}
|
|
36
|
+
const listed = Object.entries(raw.plugins);
|
|
37
|
+
const entries = listed.flatMap(([name, entry]) => namedEntry(name, entry));
|
|
38
|
+
return entries.length === listed.length ? { kind: 'read', index: { version: INDEX_VERSION, plugins: Object.fromEntries(entries) } } : MALFORMED;
|
|
39
|
+
}
|
|
40
|
+
function namedEntry(name, entry) {
|
|
41
|
+
if (!isPluginName(name) || !isEntryShape(entry)) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const marketplace = typeof entry.marketplace === 'string' ? { marketplace: entry.marketplace } : {};
|
|
45
|
+
return installedSourceOf(entry.source).map((source) => [name, { source, sha: toSha(entry.sha), enabled: entry.enabled, ...marketplace }]);
|
|
46
|
+
}
|
|
47
|
+
const isOptionalText = (value) => value === undefined || typeof value === 'string';
|
|
48
|
+
const isEntryShape = (entry) => isJsonObject(entry) &&
|
|
49
|
+
typeof entry.enabled === 'boolean' &&
|
|
50
|
+
typeof entry.sha === 'string' &&
|
|
51
|
+
looksLikeFullSha(entry.sha) &&
|
|
52
|
+
isOptionalText(entry.marketplace);
|
|
53
|
+
//# sourceMappingURL=own-install-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"own-install-index.js","sourceRoot":"","sources":["../../../src/kernel/plugin-install/own-install-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { GitClient } from './git-client.js';
|
|
2
|
+
import { type InstallRecord } from './install-record.js';
|
|
3
|
+
import type { PluginSource } from './plugin-source.js';
|
|
4
|
+
import { type StagedPlugin } from './staging.js';
|
|
5
|
+
export declare class PluginInstaller {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(git: GitClient, root: string);
|
|
8
|
+
add(source: PluginSource): Promise<InstallRecord>;
|
|
9
|
+
addStaged(staged: readonly StagedPlugin[]): InstallRecord[];
|
|
10
|
+
update(name: string, ref?: string): Promise<InstallRecord>;
|
|
11
|
+
remove(name: string): void;
|
|
12
|
+
enable(name: string): void;
|
|
13
|
+
disable(name: string): void;
|
|
14
|
+
list(): InstallRecord[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { removeWithin } from '../private-files/confined-removal.js';
|
|
2
|
+
import { LocalPluginHasNoRefError, PluginAlreadyInstalledError, PluginNameMismatchError, PluginNotInstalledError } from './errors.js';
|
|
3
|
+
import { indexPath, pluginDir, stagingDir } from './install-layout.js';
|
|
4
|
+
import { recordOf } from './install-record.js';
|
|
5
|
+
import { MarketplaceInstalledPluginError } from './marketplaces/errors.js';
|
|
6
|
+
import { readOwnIndex, withEntry, withoutEntry, writeOwnIndex } from './own-install-index.js';
|
|
7
|
+
import { discardStaged, promote, stageSource } from './staging.js';
|
|
8
|
+
export class PluginInstaller {
|
|
9
|
+
#git;
|
|
10
|
+
#root;
|
|
11
|
+
constructor(git, root) {
|
|
12
|
+
this.#git = git;
|
|
13
|
+
this.#root = root;
|
|
14
|
+
}
|
|
15
|
+
async add(source) {
|
|
16
|
+
const staged = await stageSource(this.#git, source, stagingDir(this.#root));
|
|
17
|
+
try {
|
|
18
|
+
this.#assertNotInstalled(staged.manifest.name);
|
|
19
|
+
return this.#activate(staged, true);
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
discardStaged(staged.dir, stagingDir(this.#root));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
addStaged(staged) {
|
|
26
|
+
staged.forEach(({ manifest }) => {
|
|
27
|
+
this.#assertNotInstalled(manifest.name);
|
|
28
|
+
});
|
|
29
|
+
const promoted = [];
|
|
30
|
+
try {
|
|
31
|
+
for (const plugin of staged) {
|
|
32
|
+
promote({ dir: plugin.dir, name: plugin.manifest.name, sha: plugin.sha }, this.#root);
|
|
33
|
+
promoted.push(plugin.manifest.name);
|
|
34
|
+
}
|
|
35
|
+
return this.#enableAll(staged);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
promoted.forEach((name) => {
|
|
39
|
+
removeWithin(this.#root, pluginDir(this.#root, name));
|
|
40
|
+
});
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async update(name, ref) {
|
|
45
|
+
const current = this.#requireInstalled(name);
|
|
46
|
+
assertNotFromMarketplace(current);
|
|
47
|
+
const staged = await stageSource(this.#git, sourceForUpdate(current, ref), stagingDir(this.#root));
|
|
48
|
+
try {
|
|
49
|
+
assertSamePlugin(current, staged);
|
|
50
|
+
const updated = this.#activate(staged, current.enabled);
|
|
51
|
+
this.#retire(current, updated);
|
|
52
|
+
return updated;
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
discardStaged(staged.dir, stagingDir(this.#root));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
remove(name) {
|
|
59
|
+
this.#requireInstalled(name);
|
|
60
|
+
this.#writeIndex(withoutEntry(this.#index(), name));
|
|
61
|
+
removeWithin(this.#root, pluginDir(this.#root, name));
|
|
62
|
+
}
|
|
63
|
+
enable(name) {
|
|
64
|
+
this.#setEnabled(name, true);
|
|
65
|
+
}
|
|
66
|
+
disable(name) {
|
|
67
|
+
this.#setEnabled(name, false);
|
|
68
|
+
}
|
|
69
|
+
list() {
|
|
70
|
+
return Object.entries(this.#index().plugins)
|
|
71
|
+
.map(([name, entry]) => recordOf(this.#root, name, entry))
|
|
72
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
73
|
+
}
|
|
74
|
+
#activate(staged, enabled) {
|
|
75
|
+
const { name } = staged.manifest;
|
|
76
|
+
promote({ dir: staged.dir, name, sha: staged.sha }, this.#root);
|
|
77
|
+
const entry = entryOf(staged, enabled);
|
|
78
|
+
this.#writeIndex(withEntry(this.#index(), name, entry));
|
|
79
|
+
return recordOf(this.#root, name, entry);
|
|
80
|
+
}
|
|
81
|
+
#enableAll(staged) {
|
|
82
|
+
const entries = staged.map((plugin) => [plugin.manifest.name, entryOf(plugin, true)]);
|
|
83
|
+
this.#writeIndex(entries.reduce((index, [name, entry]) => withEntry(index, name, entry), this.#index()));
|
|
84
|
+
return entries.map(([name, entry]) => recordOf(this.#root, name, entry));
|
|
85
|
+
}
|
|
86
|
+
#retire(previous, current) {
|
|
87
|
+
if (previous.installPath !== current.installPath) {
|
|
88
|
+
removeWithin(this.#root, previous.installPath);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
#setEnabled(name, enabled) {
|
|
92
|
+
this.#writeIndex(withEntry(this.#index(), name, entryOf(this.#requireInstalled(name), enabled)));
|
|
93
|
+
}
|
|
94
|
+
#assertNotInstalled(name) {
|
|
95
|
+
if (this.list().some((record) => record.name === name)) {
|
|
96
|
+
throw new PluginAlreadyInstalledError(name);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
#requireInstalled(name) {
|
|
100
|
+
const installed = this.list().find((record) => record.name === name);
|
|
101
|
+
if (installed === undefined) {
|
|
102
|
+
throw new PluginNotInstalledError(name);
|
|
103
|
+
}
|
|
104
|
+
return installed;
|
|
105
|
+
}
|
|
106
|
+
#index() {
|
|
107
|
+
return readOwnIndex(indexPath(this.#root));
|
|
108
|
+
}
|
|
109
|
+
#writeIndex(index) {
|
|
110
|
+
writeOwnIndex(indexPath(this.#root), index);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const entryOf = ({ source, sha, marketplace }, enabled) => ({
|
|
114
|
+
source,
|
|
115
|
+
sha,
|
|
116
|
+
enabled,
|
|
117
|
+
...(marketplace === undefined ? {} : { marketplace }),
|
|
118
|
+
});
|
|
119
|
+
function assertNotFromMarketplace({ name, marketplace }) {
|
|
120
|
+
if (marketplace !== undefined) {
|
|
121
|
+
throw new MarketplaceInstalledPluginError({ name, marketplace });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function sourceForUpdate(current, ref) {
|
|
125
|
+
if (current.source.kind === 'local') {
|
|
126
|
+
if (ref !== undefined) {
|
|
127
|
+
throw new LocalPluginHasNoRefError(current.name);
|
|
128
|
+
}
|
|
129
|
+
return current.source;
|
|
130
|
+
}
|
|
131
|
+
return ref === undefined ? { kind: 'git', url: current.source.url } : { kind: 'git', url: current.source.url, ref };
|
|
132
|
+
}
|
|
133
|
+
function assertSamePlugin(current, staged) {
|
|
134
|
+
if (staged.manifest.name !== current.name) {
|
|
135
|
+
throw new PluginNameMismatchError(current.name, staged.manifest.name);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=plugin-installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-installer.js","sourceRoot":"","sources":["../../../src/kernel/plugin-install/plugin-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface PluginManifest {
|
|
2
|
+
readonly name: string;
|
|
3
|
+
readonly version?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const isPluginName: (text: string) => boolean;
|
|
6
|
+
export declare function readPluginManifest(pluginDir: string, fallbackName: string): PluginManifest;
|
|
7
|
+
export declare function ignoredManifestFields(pluginDir: string): readonly string[];
|