@code-yeongyu/senpi 0.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4225 -0
- package/README.md +654 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +9 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +13 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +32 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/cli/args.d.ts +53 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +342 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +83 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/session-picker.d.ts +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +35 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +20 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +92 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +399 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +117 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +300 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +93 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +118 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +643 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2702 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +5 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +21 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +141 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +441 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +93 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +285 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +129 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +635 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +165 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/dynamic-prompt/build.d.ts +15 -0
- package/dist/core/dynamic-prompt/build.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/build.js +61 -0
- package/dist/core/dynamic-prompt/build.js.map +1 -0
- package/dist/core/dynamic-prompt/exploration.d.ts +2 -0
- package/dist/core/dynamic-prompt/exploration.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/exploration.js +8 -0
- package/dist/core/dynamic-prompt/exploration.js.map +1 -0
- package/dist/core/dynamic-prompt/identity.d.ts +2 -0
- package/dist/core/dynamic-prompt/identity.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/identity.js +4 -0
- package/dist/core/dynamic-prompt/identity.js.map +1 -0
- package/dist/core/dynamic-prompt/index.d.ts +13 -0
- package/dist/core/dynamic-prompt/index.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/index.js +11 -0
- package/dist/core/dynamic-prompt/index.js.map +1 -0
- package/dist/core/dynamic-prompt/intent-gate.d.ts +5 -0
- package/dist/core/dynamic-prompt/intent-gate.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/intent-gate.js +57 -0
- package/dist/core/dynamic-prompt/intent-gate.js.map +1 -0
- package/dist/core/dynamic-prompt/parallel-tools.d.ts +2 -0
- package/dist/core/dynamic-prompt/parallel-tools.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/parallel-tools.js +10 -0
- package/dist/core/dynamic-prompt/parallel-tools.js.map +1 -0
- package/dist/core/dynamic-prompt/policies.d.ts +2 -0
- package/dist/core/dynamic-prompt/policies.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/policies.js +14 -0
- package/dist/core/dynamic-prompt/policies.js.map +1 -0
- package/dist/core/dynamic-prompt/style.d.ts +2 -0
- package/dist/core/dynamic-prompt/style.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/style.js +10 -0
- package/dist/core/dynamic-prompt/style.js.map +1 -0
- package/dist/core/dynamic-prompt/tool-categorization.d.ts +4 -0
- package/dist/core/dynamic-prompt/tool-categorization.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/tool-categorization.js +26 -0
- package/dist/core/dynamic-prompt/tool-categorization.js.map +1 -0
- package/dist/core/dynamic-prompt/tool-section.d.ts +7 -0
- package/dist/core/dynamic-prompt/tool-section.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/tool-section.js +46 -0
- package/dist/core/dynamic-prompt/tool-section.js.map +1 -0
- package/dist/core/dynamic-prompt/types.d.ts +5 -0
- package/dist/core/dynamic-prompt/types.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/types.js +2 -0
- package/dist/core/dynamic-prompt/types.js.map +1 -0
- package/dist/core/dynamic-prompt/verification.d.ts +2 -0
- package/dist/core/dynamic-prompt/verification.d.ts.map +1 -0
- package/dist/core/dynamic-prompt/verification.js +12 -0
- package/dist/core/dynamic-prompt/verification.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +224 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/agent-types.d.ts +25 -0
- package/dist/core/extensions/builtin/agent-system/agent-types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/agent-types.js +38 -0
- package/dist/core/extensions/builtin/agent-system/agent-types.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/builtin-agents.d.ts +3 -0
- package/dist/core/extensions/builtin/agent-system/builtin-agents.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/builtin-agents.js +32 -0
- package/dist/core/extensions/builtin/agent-system/builtin-agents.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/index.d.ts +3 -0
- package/dist/core/extensions/builtin/agent-system/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/index.js +42 -0
- package/dist/core/extensions/builtin/agent-system/index.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/loader.d.ts +4 -0
- package/dist/core/extensions/builtin/agent-system/loader.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/loader.js +59 -0
- package/dist/core/extensions/builtin/agent-system/loader.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/permission.d.ts +11 -0
- package/dist/core/extensions/builtin/agent-system/permission.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/permission.js +24 -0
- package/dist/core/extensions/builtin/agent-system/permission.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/registry.d.ts +10 -0
- package/dist/core/extensions/builtin/agent-system/registry.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/registry.js +50 -0
- package/dist/core/extensions/builtin/agent-system/registry.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/types.d.ts +9 -0
- package/dist/core/extensions/builtin/agent-system/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/types.js +2 -0
- package/dist/core/extensions/builtin/agent-system/types.js.map +1 -0
- package/dist/core/extensions/builtin/agent-system/wildcard.d.ts +4 -0
- package/dist/core/extensions/builtin/agent-system/wildcard.d.ts.map +1 -0
- package/dist/core/extensions/builtin/agent-system/wildcard.js +58 -0
- package/dist/core/extensions/builtin/agent-system/wildcard.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-bash/index.d.ts +7 -0
- package/dist/core/extensions/builtin/anthropic-bash/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-bash/index.js +79 -0
- package/dist/core/extensions/builtin/anthropic-bash/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-code-execution/index.d.ts +7 -0
- package/dist/core/extensions/builtin/anthropic-code-execution/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-code-execution/index.js +79 -0
- package/dist/core/extensions/builtin/anthropic-code-execution/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-computer-use/index.d.ts +53 -0
- package/dist/core/extensions/builtin/anthropic-computer-use/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-computer-use/index.js +676 -0
- package/dist/core/extensions/builtin/anthropic-computer-use/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-text-editor/index.d.ts +25 -0
- package/dist/core/extensions/builtin/anthropic-text-editor/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-text-editor/index.js +244 -0
- package/dist/core/extensions/builtin/anthropic-text-editor/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-tool-search/index.d.ts +6 -0
- package/dist/core/extensions/builtin/anthropic-tool-search/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-tool-search/index.js +112 -0
- package/dist/core/extensions/builtin/anthropic-tool-search/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-web-fetch/index.d.ts +7 -0
- package/dist/core/extensions/builtin/anthropic-web-fetch/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-web-fetch/index.js +112 -0
- package/dist/core/extensions/builtin/anthropic-web-fetch/index.js.map +1 -0
- package/dist/core/extensions/builtin/anthropic-web-search/index.d.ts +7 -0
- package/dist/core/extensions/builtin/anthropic-web-search/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/anthropic-web-search/index.js +102 -0
- package/dist/core/extensions/builtin/anthropic-web-search/index.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/cancel-tool.d.ts +10 -0
- package/dist/core/extensions/builtin/background-task/cancel-tool.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/cancel-tool.js +109 -0
- package/dist/core/extensions/builtin/background-task/cancel-tool.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/index.d.ts +3 -0
- package/dist/core/extensions/builtin/background-task/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/index.js +207 -0
- package/dist/core/extensions/builtin/background-task/index.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/manager.d.ts +17 -0
- package/dist/core/extensions/builtin/background-task/manager.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/manager.js +114 -0
- package/dist/core/extensions/builtin/background-task/manager.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/notification.d.ts +22 -0
- package/dist/core/extensions/builtin/background-task/notification.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/notification.js +105 -0
- package/dist/core/extensions/builtin/background-task/notification.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/output-tool.d.ts +11 -0
- package/dist/core/extensions/builtin/background-task/output-tool.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/output-tool.js +127 -0
- package/dist/core/extensions/builtin/background-task/output-tool.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/spawner.d.ts +8 -0
- package/dist/core/extensions/builtin/background-task/spawner.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/spawner.js +207 -0
- package/dist/core/extensions/builtin/background-task/spawner.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/task-tool.d.ts +20 -0
- package/dist/core/extensions/builtin/background-task/task-tool.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/task-tool.js +302 -0
- package/dist/core/extensions/builtin/background-task/task-tool.js.map +1 -0
- package/dist/core/extensions/builtin/background-task/types.d.ts +72 -0
- package/dist/core/extensions/builtin/background-task/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/background-task/types.js +32 -0
- package/dist/core/extensions/builtin/background-task/types.js.map +1 -0
- package/dist/core/extensions/builtin/bash-timeout/index.d.ts +5 -0
- package/dist/core/extensions/builtin/bash-timeout/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/bash-timeout/index.js +20 -0
- package/dist/core/extensions/builtin/bash-timeout/index.js.map +1 -0
- package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts +17 -0
- package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts.map +1 -0
- package/dist/core/extensions/builtin/bash-timeout/timeout.js +28 -0
- package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/checkpoint-state.d.ts +46 -0
- package/dist/core/extensions/builtin/compaction/checkpoint-state.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/checkpoint-state.js +131 -0
- package/dist/core/extensions/builtin/compaction/checkpoint-state.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/circuit-breaker.d.ts +23 -0
- package/dist/core/extensions/builtin/compaction/circuit-breaker.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/circuit-breaker.js +36 -0
- package/dist/core/extensions/builtin/compaction/circuit-breaker.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/degradation-monitor.d.ts +67 -0
- package/dist/core/extensions/builtin/compaction/degradation-monitor.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/degradation-monitor.js +90 -0
- package/dist/core/extensions/builtin/compaction/degradation-monitor.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/index.d.ts +3 -0
- package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/index.js +199 -0
- package/dist/core/extensions/builtin/compaction/index.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/overflow-detection.d.ts +11 -0
- package/dist/core/extensions/builtin/compaction/overflow-detection.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/overflow-detection.js +40 -0
- package/dist/core/extensions/builtin/compaction/overflow-detection.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts +15 -0
- package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/per-turn-cap.js +26 -0
- package/dist/core/extensions/builtin/compaction/per-turn-cap.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/policy.d.ts +19 -0
- package/dist/core/extensions/builtin/compaction/policy.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/policy.js +96 -0
- package/dist/core/extensions/builtin/compaction/policy.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/prompts.d.ts +16 -0
- package/dist/core/extensions/builtin/compaction/prompts.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/prompts.js +252 -0
- package/dist/core/extensions/builtin/compaction/prompts.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/restoration-tracker.d.ts +57 -0
- package/dist/core/extensions/builtin/compaction/restoration-tracker.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/restoration-tracker.js +274 -0
- package/dist/core/extensions/builtin/compaction/restoration-tracker.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/speculative.d.ts +58 -0
- package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/speculative.js +230 -0
- package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/state.d.ts +17 -0
- package/dist/core/extensions/builtin/compaction/state.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/state.js +15 -0
- package/dist/core/extensions/builtin/compaction/state.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts +25 -0
- package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/todo-bridge.js +77 -0
- package/dist/core/extensions/builtin/compaction/todo-bridge.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/tool-truncation.d.ts +4 -0
- package/dist/core/extensions/builtin/compaction/tool-truncation.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/tool-truncation.js +85 -0
- package/dist/core/extensions/builtin/compaction/tool-truncation.js.map +1 -0
- package/dist/core/extensions/builtin/diff.d.ts +9 -0
- package/dist/core/extensions/builtin/diff.d.ts.map +1 -0
- package/dist/core/extensions/builtin/diff.js +188 -0
- package/dist/core/extensions/builtin/diff.js.map +1 -0
- package/dist/core/extensions/builtin/files.d.ts +9 -0
- package/dist/core/extensions/builtin/files.d.ts.map +1 -0
- package/dist/core/extensions/builtin/files.js +186 -0
- package/dist/core/extensions/builtin/files.js.map +1 -0
- package/dist/core/extensions/builtin/google-code-execution/index.d.ts +7 -0
- package/dist/core/extensions/builtin/google-code-execution/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/google-code-execution/index.js +73 -0
- package/dist/core/extensions/builtin/google-code-execution/index.js.map +1 -0
- package/dist/core/extensions/builtin/google-google-search/index.d.ts +7 -0
- package/dist/core/extensions/builtin/google-google-search/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/google-google-search/index.js +83 -0
- package/dist/core/extensions/builtin/google-google-search/index.js.map +1 -0
- package/dist/core/extensions/builtin/google-url-context/index.d.ts +7 -0
- package/dist/core/extensions/builtin/google-url-context/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/google-url-context/index.js +82 -0
- package/dist/core/extensions/builtin/google-url-context/index.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts +6 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js +159 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/constants.d.ts +8 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/constants.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/constants.js +29 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/constants.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/errors.d.ts +8 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/errors.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/errors.js +14 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/errors.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts +6 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.js +54 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/extension.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/index.d.ts +12 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/index.js +11 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/index.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/params.d.ts +3 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/params.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/params.js +13 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/params.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/parser.d.ts +3 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/parser.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/parser.js +157 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/parser.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.d.ts +6 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.js +36 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.d.ts +6 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.js +50 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.d.ts +13 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.js +306 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview.d.ts +7 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview.js +73 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/preview.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.d.ts +6 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.js +49 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.d.ts +23 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.js +197 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.d.ts +4 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.js +76 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/text.d.ts +4 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/text.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/text.js +16 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/text.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts +3 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js +116 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts +109 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.js +2 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/workspace.d.ts +2 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/workspace.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/workspace.js +5 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/workspace.js.map +1 -0
- package/dist/core/extensions/builtin/index.d.ts +18 -0
- package/dist/core/extensions/builtin/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/index.js +58 -0
- package/dist/core/extensions/builtin/index.js.map +1 -0
- package/dist/core/extensions/builtin/openai-api-parallel-tool-calls/index.d.ts +6 -0
- package/dist/core/extensions/builtin/openai-api-parallel-tool-calls/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/openai-api-parallel-tool-calls/index.js +57 -0
- package/dist/core/extensions/builtin/openai-api-parallel-tool-calls/index.js.map +1 -0
- package/dist/core/extensions/builtin/openai-code-interpreter/index.d.ts +10 -0
- package/dist/core/extensions/builtin/openai-code-interpreter/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/openai-code-interpreter/index.js +95 -0
- package/dist/core/extensions/builtin/openai-code-interpreter/index.js.map +1 -0
- package/dist/core/extensions/builtin/openai-web-search/index.d.ts +7 -0
- package/dist/core/extensions/builtin/openai-web-search/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/openai-web-search/index.js +111 -0
- package/dist/core/extensions/builtin/openai-web-search/index.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/arity.d.ts +4 -0
- package/dist/core/extensions/builtin/permission-system/arity.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/arity.js +168 -0
- package/dist/core/extensions/builtin/permission-system/arity.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/cli.d.ts +6 -0
- package/dist/core/extensions/builtin/permission-system/cli.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/cli.js +33 -0
- package/dist/core/extensions/builtin/permission-system/cli.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/config.d.ts +7 -0
- package/dist/core/extensions/builtin/permission-system/config.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/config.js +49 -0
- package/dist/core/extensions/builtin/permission-system/config.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/evaluate.d.ts +9 -0
- package/dist/core/extensions/builtin/permission-system/evaluate.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/evaluate.js +14 -0
- package/dist/core/extensions/builtin/permission-system/evaluate.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/events.d.ts +67 -0
- package/dist/core/extensions/builtin/permission-system/events.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/events.js +63 -0
- package/dist/core/extensions/builtin/permission-system/events.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/external-dir.d.ts +4 -0
- package/dist/core/extensions/builtin/permission-system/external-dir.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/external-dir.js +138 -0
- package/dist/core/extensions/builtin/permission-system/external-dir.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/index.d.ts +3 -0
- package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/index.js +134 -0
- package/dist/core/extensions/builtin/permission-system/index.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/non-interactive.d.ts +9 -0
- package/dist/core/extensions/builtin/permission-system/non-interactive.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/non-interactive.js +43 -0
- package/dist/core/extensions/builtin/permission-system/non-interactive.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/parsers.d.ts +16 -0
- package/dist/core/extensions/builtin/permission-system/parsers.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/parsers.js +150 -0
- package/dist/core/extensions/builtin/permission-system/parsers.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/prompt.d.ts +4 -0
- package/dist/core/extensions/builtin/permission-system/prompt.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/prompt.js +74 -0
- package/dist/core/extensions/builtin/permission-system/prompt.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/service.d.ts +27 -0
- package/dist/core/extensions/builtin/permission-system/service.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/service.js +129 -0
- package/dist/core/extensions/builtin/permission-system/service.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/settings.d.ts +18 -0
- package/dist/core/extensions/builtin/permission-system/settings.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/settings.js +23 -0
- package/dist/core/extensions/builtin/permission-system/settings.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/storage.d.ts +6 -0
- package/dist/core/extensions/builtin/permission-system/storage.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/storage.js +58 -0
- package/dist/core/extensions/builtin/permission-system/storage.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/types.d.ts +61 -0
- package/dist/core/extensions/builtin/permission-system/types.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/types.js +29 -0
- package/dist/core/extensions/builtin/permission-system/types.js.map +1 -0
- package/dist/core/extensions/builtin/permission-system/wildcard.d.ts +4 -0
- package/dist/core/extensions/builtin/permission-system/wildcard.d.ts.map +1 -0
- package/dist/core/extensions/builtin/permission-system/wildcard.js +58 -0
- package/dist/core/extensions/builtin/permission-system/wildcard.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.js +8 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.js +8 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.js +10 -0
- package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/file-operations.d.ts +2 -0
- package/dist/core/extensions/builtin/prompt-preset/file-operations.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/file-operations.js +31 -0
- package/dist/core/extensions/builtin/prompt-preset/file-operations.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.js +17 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.js +15 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.js +15 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.js +21 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.js +13 -0
- package/dist/core/extensions/builtin/prompt-preset/gpt-5.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/index.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/index.js +56 -0
- package/dist/core/extensions/builtin/prompt-preset/index.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.js +10 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.d.ts +12 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.js +101 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +7 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.js +26 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-url-widget.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-url-widget.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-url-widget.js +127 -0
- package/dist/core/extensions/builtin/prompt-url-widget.js.map +1 -0
- package/dist/core/extensions/builtin/redraws.d.ts +8 -0
- package/dist/core/extensions/builtin/redraws.d.ts.map +1 -0
- package/dist/core/extensions/builtin/redraws.js +23 -0
- package/dist/core/extensions/builtin/redraws.js.map +1 -0
- package/dist/core/extensions/builtin/service-tier.d.ts +6 -0
- package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -0
- package/dist/core/extensions/builtin/service-tier.js +29 -0
- package/dist/core/extensions/builtin/service-tier.js.map +1 -0
- package/dist/core/extensions/builtin/system-messages.d.ts +47 -0
- package/dist/core/extensions/builtin/system-messages.d.ts.map +1 -0
- package/dist/core/extensions/builtin/system-messages.js +117 -0
- package/dist/core/extensions/builtin/system-messages.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/config.d.ts +10 -0
- package/dist/core/extensions/builtin/todotools/continuation/config.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/config.js +33 -0
- package/dist/core/extensions/builtin/todotools/continuation/config.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/index.d.ts +2 -0
- package/dist/core/extensions/builtin/todotools/continuation/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/index.js +2 -0
- package/dist/core/extensions/builtin/todotools/continuation/index.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts +5 -0
- package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/prompt.js +34 -0
- package/dist/core/extensions/builtin/todotools/continuation/prompt.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/runtime.d.ts +11 -0
- package/dist/core/extensions/builtin/todotools/continuation/runtime.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/continuation/runtime.js +204 -0
- package/dist/core/extensions/builtin/todotools/continuation/runtime.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/index.d.ts +5 -0
- package/dist/core/extensions/builtin/todotools/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/index.js +39 -0
- package/dist/core/extensions/builtin/todotools/index.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/prompt.d.ts +2 -0
- package/dist/core/extensions/builtin/todotools/prompt.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/prompt.js +164 -0
- package/dist/core/extensions/builtin/todotools/prompt.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/state.d.ts +29 -0
- package/dist/core/extensions/builtin/todotools/state.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/state.js +74 -0
- package/dist/core/extensions/builtin/todotools/state.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/tools/todoread.d.ts +4 -0
- package/dist/core/extensions/builtin/todotools/tools/todoread.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/tools/todoread.js +35 -0
- package/dist/core/extensions/builtin/todotools/tools/todoread.js.map +1 -0
- package/dist/core/extensions/builtin/todotools/tools/todowrite.d.ts +10 -0
- package/dist/core/extensions/builtin/todotools/tools/todowrite.d.ts.map +1 -0
- package/dist/core/extensions/builtin/todotools/tools/todowrite.js +92 -0
- package/dist/core/extensions/builtin/todotools/tools/todowrite.js.map +1 -0
- package/dist/core/extensions/builtin/tool-pair-guard/index.d.ts +4 -0
- package/dist/core/extensions/builtin/tool-pair-guard/index.d.ts.map +1 -0
- package/dist/core/extensions/builtin/tool-pair-guard/index.js +11 -0
- package/dist/core/extensions/builtin/tool-pair-guard/index.js.map +1 -0
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.d.ts +3 -0
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.d.ts.map +1 -0
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.js +75 -0
- package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.js.map +1 -0
- package/dist/core/extensions/builtin/tps.d.ts +3 -0
- package/dist/core/extensions/builtin/tps.d.ts.map +1 -0
- package/dist/core/extensions/builtin/tps.js +65 -0
- package/dist/core/extensions/builtin/tps.js.map +1 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +27 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +505 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +164 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +900 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1240 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +45 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +22 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +52 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +310 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +12 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +353 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +295 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/messages.d.ts +79 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +138 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +177 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +853 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +116 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +498 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/output-guard.d.ts +6 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +59 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +198 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1995 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +52 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +250 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/provider-display-names.d.ts +2 -0
- package/dist/core/provider-display-names.d.ts.map +1 -0
- package/dist/core/provider-display-names.js +33 -0
- package/dist/core/provider-display-names.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +23 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +126 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +184 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +771 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +129 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +339 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-manager.d.ts +333 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1128 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +294 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +810 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +404 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +14 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +25 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +120 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/telemetry.d.ts +3 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +9 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/timings.d.ts +8 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +31 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +68 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +335 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +85 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +338 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +49 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +324 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +37 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +35 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +298 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +37 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +304 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +40 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +112 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +37 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +169 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +50 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +178 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +8 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +81 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +35 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +289 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +21 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +49 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +36 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +205 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +26 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +213 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +12 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +603 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +311 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +32 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +209 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +175 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +503 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +70 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +79 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.js +40 -0
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +111 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +78 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/favorite-models-selector.d.ts +42 -0
- package/dist/modes/interactive/components/favorite-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/favorite-models-selector.js +302 -0
- package/dist/modes/interactive/components/favorite-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +27 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +193 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +32 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +33 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +46 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +160 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +48 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +279 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +165 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +96 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +861 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +67 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +376 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +52 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +66 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +339 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1102 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +10 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +29 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +360 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +4615 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/startup-tools.d.ts +8 -0
- package/dist/modes/interactive/startup-tools.d.ts.map +1 -0
- package/dist/modes/interactive/startup-tools.js +6 -0
- package/dist/modes/interactive/startup-tools.js.map +1 -0
- package/dist/modes/interactive/theme/theme.d.ts +81 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +973 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +144 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +224 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +410 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +601 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +419 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +4 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +460 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/senpi +20 -0
- package/dist/utils/changelog.d.ts +21 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +87 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +12 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +86 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +245 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +8 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +14 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +117 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +163 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/image-convert.d.ts +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +39 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-resize.d.ts +36 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +137 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/mime.d.ts +2 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +26 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/paths.d.ts +16 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +50 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +6 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/shell.d.ts +30 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +190 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +256 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/version-check.d.ts +14 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +78 -0
- package/dist/utils/version-check.js.map +1 -0
- package/docs/agents.md +348 -0
- package/docs/compaction-guide.md +240 -0
- package/docs/compaction.md +394 -0
- package/docs/custom-provider.md +646 -0
- package/docs/development.md +80 -0
- package/docs/docs.json +148 -0
- package/docs/extensions.md +2596 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +66 -0
- package/docs/json.md +82 -0
- package/docs/keybindings.md +197 -0
- package/docs/models.md +474 -0
- package/docs/packages.md +223 -0
- package/docs/prompt-templates.md +88 -0
- package/docs/providers.md +243 -0
- package/docs/quickstart.md +142 -0
- package/docs/rpc.md +1407 -0
- package/docs/sdk.md +1149 -0
- package/docs/session-format.md +412 -0
- package/docs/sessions.md +137 -0
- package/docs/settings.md +330 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +232 -0
- package/docs/terminal-setup.md +106 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +295 -0
- package/docs/tmux.md +61 -0
- package/docs/tui.md +918 -0
- package/docs/usage.md +277 -0
- package/docs/windows.md +17 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +208 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/border-status-editor.ts +150 -0
- package/examples/extensions/built-in-tool-renderer.ts +249 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +127 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +349 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- package/examples/extensions/handoff.ts +191 -0
- package/examples/extensions/hello.ts +26 -0
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +1348 -0
- package/examples/extensions/overlay-test.ts +150 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/plan-mode/README.md +65 -0
- package/examples/extensions/plan-mode/index.ts +340 -0
- package/examples/extensions/plan-mode/utils.ts +168 -0
- package/examples/extensions/preset.ts +436 -0
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +18 -0
- package/examples/extensions/qna.ts +122 -0
- package/examples/extensions/question.ts +264 -0
- package/examples/extensions/questionnaire.ts +427 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +118 -0
- package/examples/extensions/sandbox/index.ts +321 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +32 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +172 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +987 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +206 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/tic-tac-toe.ts +1008 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +297 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +141 -0
- package/examples/extensions/trigger-compact.ts +50 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +9 -0
- package/examples/extensions/with-deps/index.ts +32 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/extensions/working-indicator.ts +123 -0
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +22 -0
- package/examples/sdk/02-custom-model.ts +49 -0
- package/examples/sdk/03-custom-prompt.ts +72 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +44 -0
- package/examples/sdk/06-extensions.ts +90 -0
- package/examples/sdk/07-context-files.ts +42 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +48 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +48 -0
- package/examples/sdk/12-full-control.ts +73 -0
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +147 -0
- package/package.json +105 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/openai-web-search/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Api } from \"@earendil-works/pi-ai\";\nimport type { ExtensionAPI } from \"../../types.js\";\n\ntype ToolDefinition = Record<string, unknown>;\n\nconst OPENAI_RESPONSES_APIS: ReadonlySet<Api> = new Set([\"openai-responses\", \"azure-openai-responses\"]);\nconst ENABLE_ENV = \"PI_OPENAI_WEB_SEARCH\";\nconst NATIVE_OPENAI_WEB_SEARCH_TYPE = \"web_search_preview\";\n\nfunction parseEnableEnv(envVar: string): boolean {\n\tconst envValue = process.env[envVar];\n\tif (!envValue) {\n\t\treturn true;\n\t}\n\n\tconst normalized = envValue.trim().toLowerCase();\n\tif (normalized === \"0\" || normalized === \"false\" || normalized === \"no\" || normalized === \"off\") {\n\t\treturn false;\n\t}\n\n\tif (normalized === \"1\" || normalized === \"true\" || normalized === \"yes\" || normalized === \"on\") {\n\t\treturn true;\n\t}\n\n\t// Unknown values fall back to default-on behavior.\n\treturn true;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null;\n}\n\nfunction isOpenAiResponsesApi(api: Api | undefined): api is \"openai-responses\" | \"azure-openai-responses\" {\n\treturn api !== undefined && OPENAI_RESPONSES_APIS.has(api);\n}\n\nfunction isNativeOpenAiWebSearchType(value: unknown): value is \"web_search_preview\" | \"web_search_preview_2025_03_11\" {\n\treturn value === \"web_search_preview\" || value === \"web_search_preview_2025_03_11\";\n}\n\nfunction isUnsupportedWebSearchType(value: unknown): boolean {\n\treturn (\n\t\ttypeof value === \"string\" &&\n\t\t(value === \"web_search\" || value.startsWith(\"web_search_\")) &&\n\t\t!isNativeOpenAiWebSearchType(value)\n\t);\n}\n\nfunction isAnthropicWebFetchType(value: unknown): boolean {\n\treturn typeof value === \"string\" && value.startsWith(\"web_fetch_\");\n}\n\ntype SanitizedTools = {\n\tchanged: boolean;\n\ttools: ToolDefinition[];\n};\n\ntype SanitizeToolsOptions = {\n\tstripFunctionWebSearch: boolean;\n};\n\nfunction sanitizeTools(tools: unknown[], options: SanitizeToolsOptions): SanitizedTools {\n\tconst sanitized: ToolDefinition[] = [];\n\tlet changed = false;\n\tfor (const tool of tools) {\n\t\tif (!isRecord(tool)) {\n\t\t\tchanged = true;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = tool.type;\n\t\tconst shouldStripFunctionVariant =\n\t\t\toptions.stripFunctionWebSearch && tool.name === \"web_search\" && !isNativeOpenAiWebSearchType(type);\n\t\tconst shouldStripProviderNativeVariant = isUnsupportedWebSearchType(type) || isAnthropicWebFetchType(type);\n\t\tif (shouldStripFunctionVariant || shouldStripProviderNativeVariant) {\n\t\t\tchanged = true;\n\t\t} else {\n\t\t\tsanitized.push(tool);\n\t\t}\n\t}\n\n\treturn { changed, tools: sanitized };\n}\n\nexport function addOpenAiWebSearchToPayload(api: Api | undefined, payload: unknown): unknown {\n\tif (!isOpenAiResponsesApi(api)) {\n\t\treturn payload;\n\t}\n\n\tif (!isRecord(payload)) {\n\t\treturn payload;\n\t}\n\n\tconst tools = Array.isArray(payload.tools) ? payload.tools : [];\n\tconst shouldInjectWebSearch = isOpenaiWebSearchEnabled();\n\tconst sanitized = sanitizeTools(tools, { stripFunctionWebSearch: shouldInjectWebSearch });\n\tconst sanitizedTools = sanitized.tools;\n\tif (!shouldInjectWebSearch) {\n\t\tif (!sanitized.changed) {\n\t\t\treturn payload;\n\t\t}\n\n\t\treturn {\n\t\t\t...payload,\n\t\t\ttools: sanitizedTools,\n\t\t};\n\t}\n\n\tconst hasNativeWebSearch = sanitizedTools.some((tool) => isNativeOpenAiWebSearchType(tool.type));\n\n\tif (!hasNativeWebSearch) {\n\t\tsanitizedTools.push({ type: NATIVE_OPENAI_WEB_SEARCH_TYPE });\n\t}\n\n\treturn {\n\t\t...payload,\n\t\ttools: sanitizedTools,\n\t};\n}\n\nexport function isOpenaiWebSearchEnabled(): boolean {\n\treturn parseEnableEnv(ENABLE_ENV);\n}\n\nexport const OPENAI_WEB_SEARCH_SECTION = `\n## Web Search\n\nNative web search is available in this session.\nUse web search when the user asks for current or online information.\nPrefer web search over guessing when freshness matters.\n`;\n\nexport default function openaiWebSearchExtension(pi: ExtensionAPI): void {\n\tpi.on(\"before_provider_request\", (event, ctx) => {\n\t\treturn addOpenAiWebSearchToPayload(ctx.model?.api, event.payload);\n\t});\n\n\tpi.on(\"before_agent_start\", async (event, ctx) => {\n\t\tif (!isOpenAiResponsesApi(ctx.model?.api)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!isOpenaiWebSearchEnabled()) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tsystemPrompt: `${event.systemPrompt}\\n${OPENAI_WEB_SEARCH_SECTION}`,\n\t\t};\n\t});\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arity.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/arity.ts"],"names":[],"mappings":"AAAA,yBAAiB,SAAS,CAAC,CAAC;IAC3B,SAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAQtC;CAyJD","sourcesContent":["export namespace BashArity {\n\texport function prefix(tokens: string[]) {\n\t\tfor (let len = tokens.length; len > 0; len--) {\n\t\t\tconst prefix = tokens.slice(0, len).join(\" \");\n\t\t\tconst arity = ARITY[prefix];\n\t\t\tif (arity !== undefined) return tokens.slice(0, arity);\n\t\t}\n\t\tif (tokens.length === 0) return [];\n\t\treturn tokens.slice(0, 1);\n\t}\n\n\t/* Generated with following prompt:\nYou are generating a dictionary of command-prefix arities for bash-style commands.\nThis dictionary is used to identify the \"human-understandable command\" from an input shell command.### **RULES (follow strictly)**1. Each entry maps a **command prefix string → number**, representing how many **tokens** define the command.\n2. **Flags NEVER count as tokens**. Only subcommands count.\n3. **Longest matching prefix wins**.\n4. **Only include a longer prefix if its arity is different from what the shorter prefix already implies**. * Example: If `git` is 2, then do **not** include `git checkout`, `git commit`, etc. unless they require *different* arity.\n5. The output must be a **single JSON object**. Each entry should have a comment with an example real world matching command. DO NOT MAKE ANY OTHER COMMENTS. Should be alphabetical\n6. Include the **most commonly used commands** across many stacks and languages. More is better.### **Semantics examples*** `touch foo.txt` → `touch` (arity 1, explicitly listed)\n* `git checkout main` → `git checkout` (because `git` has arity 2)\n* `npm install` → `npm install` (because `npm` has arity 2)\n* `npm run dev` → `npm run dev` (because `npm run` has arity 3)\n* `python script.py` → `python script.py` (default: whole input, not in dictionary)### **Now generate the dictionary.**\n*/\n\tconst ARITY: Record<string, number> = {\n\t\tcat: 1, // cat file.txt\n\t\tcd: 1, // cd /path/to/dir\n\t\tchmod: 1, // chmod 755 script.sh\n\t\tchown: 1, // chown user:group file.txt\n\t\tcp: 1, // cp source.txt dest.txt\n\t\techo: 1, // echo \"hello world\"\n\t\tenv: 1, // env\n\t\texport: 1, // export PATH=/usr/bin\n\t\tgrep: 1, // grep pattern file.txt\n\t\tkill: 1, // kill 1234\n\t\tkillall: 1, // killall process\n\t\tln: 1, // ln -s source target\n\t\tls: 1, // ls -la\n\t\tmkdir: 1, // mkdir new-dir\n\t\tmv: 1, // mv old.txt new.txt\n\t\tps: 1, // ps aux\n\t\tpwd: 1, // pwd\n\t\trm: 1, // rm file.txt\n\t\trmdir: 1, // rmdir empty-dir\n\t\tsleep: 1, // sleep 5\n\t\tsource: 1, // source ~/.bashrc\n\t\ttail: 1, // tail -f log.txt\n\t\ttouch: 1, // touch file.txt\n\t\tunset: 1, // unset VAR\n\t\twhich: 1, // which node\n\t\taws: 3, // aws s3 ls\n\t\taz: 3, // az storage blob list\n\t\tbazel: 2, // bazel build\n\t\tbrew: 2, // brew install node\n\t\tbun: 2, // bun install\n\t\t\"bun run\": 3, // bun run dev\n\t\t\"bun x\": 3, // bun x vite\n\t\tcargo: 2, // cargo build\n\t\t\"cargo add\": 3, // cargo add tokio\n\t\t\"cargo run\": 3, // cargo run main\n\t\tcdk: 2, // cdk deploy\n\t\tcf: 2, // cf push app\n\t\tcmake: 2, // cmake build\n\t\tcomposer: 2, // composer require laravel\n\t\tconsul: 2, // consul members\n\t\t\"consul kv\": 3, // consul kv get config/app\n\t\tcrictl: 2, // crictl ps\n\t\tdeno: 2, // deno run server.ts\n\t\t\"deno task\": 3, // deno task dev\n\t\tdoctl: 3, // doctl kubernetes cluster list\n\t\tdocker: 2, // docker run nginx\n\t\t\"docker builder\": 3, // docker builder prune\n\t\t\"docker compose\": 3, // docker compose up\n\t\t\"docker container\": 3, // docker container ls\n\t\t\"docker image\": 3, // docker image prune\n\t\t\"docker network\": 3, // docker network inspect\n\t\t\"docker volume\": 3, // docker volume ls\n\t\teksctl: 2, // eksctl get clusters\n\t\t\"eksctl create\": 3, // eksctl create cluster\n\t\tfirebase: 2, // firebase deploy\n\t\tflyctl: 2, // flyctl deploy\n\t\tgcloud: 3, // gcloud compute instances list\n\t\tgh: 3, // gh pr list\n\t\tgit: 2, // git checkout main\n\t\t\"git config\": 3, // git config user.name\n\t\t\"git remote\": 3, // git remote add origin\n\t\t\"git stash\": 3, // git stash pop\n\t\tgo: 2, // go build\n\t\tgradle: 2, // gradle build\n\t\thelm: 2, // helm install mychart\n\t\theroku: 2, // heroku logs\n\t\thugo: 2, // hugo new site blog\n\t\tip: 2, // ip link show\n\t\t\"ip addr\": 3, // ip addr show\n\t\t\"ip link\": 3, // ip link set eth0 up\n\t\t\"ip netns\": 3, // ip netns exec foo bash\n\t\t\"ip route\": 3, // ip route add default via 1.1.1.1\n\t\tkind: 2, // kind delete cluster\n\t\t\"kind create\": 3, // kind create cluster\n\t\tkubectl: 2, // kubectl get pods\n\t\t\"kubectl kustomize\": 3, // kubectl kustomize overlays/dev\n\t\t\"kubectl rollout\": 3, // kubectl rollout restart deploy/api\n\t\tkustomize: 2, // kustomize build .\n\t\tmake: 2, // make build\n\t\tmc: 2, // mc ls myminio\n\t\t\"mc admin\": 3, // mc admin info myminio\n\t\tminikube: 2, // minikube start\n\t\tmongosh: 2, // mongosh test\n\t\tmysql: 2, // mysql -u root\n\t\tmvn: 2, // mvn compile\n\t\tng: 2, // ng generate component home\n\t\tnpm: 2, // npm install\n\t\t\"npm exec\": 3, // npm exec vite\n\t\t\"npm init\": 3, // npm init vue\n\t\t\"npm run\": 3, // npm run dev\n\t\t\"npm view\": 3, // npm view react version\n\t\tnvm: 2, // nvm use 18\n\t\tnx: 2, // nx build\n\t\topenssl: 2, // openssl genrsa 2048\n\t\t\"openssl req\": 3, // openssl req -new -key key.pem\n\t\t\"openssl x509\": 3, // openssl x509 -in cert.pem\n\t\tpip: 2, // pip install numpy\n\t\tpipenv: 2, // pipenv install flask\n\t\tpnpm: 2, // pnpm install\n\t\t\"pnpm dlx\": 3, // pnpm dlx create-next-app\n\t\t\"pnpm exec\": 3, // pnpm exec vite\n\t\t\"pnpm run\": 3, // pnpm run dev\n\t\tpoetry: 2, // poetry add requests\n\t\tpodman: 2, // podman run alpine\n\t\t\"podman container\": 3, // podman container ls\n\t\t\"podman image\": 3, // podman image prune\n\t\tpsql: 2, // psql -d mydb\n\t\tpulumi: 2, // pulumi up\n\t\t\"pulumi stack\": 3, // pulumi stack output\n\t\tpyenv: 2, // pyenv install 3.11\n\t\tpython: 2, // python -m venv env\n\t\trake: 2, // rake db:migrate\n\t\trbenv: 2, // rbenv install 3.2.0\n\t\t\"redis-cli\": 2, // redis-cli ping\n\t\trustup: 2, // rustup update\n\t\tserverless: 2, // serverless invoke\n\t\tsfdx: 3, // sfdx force:org:list\n\t\tskaffold: 2, // skaffold dev\n\t\tsls: 2, // sls deploy\n\t\tsst: 2, // sst deploy\n\t\tswift: 2, // swift build\n\t\tsystemctl: 2, // systemctl restart nginx\n\t\tterraform: 2, // terraform apply\n\t\t\"terraform workspace\": 3, // terraform workspace select prod\n\t\ttmux: 2, // tmux new -s dev\n\t\tturbo: 2, // turbo run build\n\t\tufw: 2, // ufw allow 22\n\t\tvault: 2, // vault login\n\t\t\"vault auth\": 3, // vault auth list\n\t\t\"vault kv\": 3, // vault kv get secret/api\n\t\tvercel: 2, // vercel deploy\n\t\tvolta: 2, // volta install node\n\t\twp: 2, // wp plugin install\n\t\tyarn: 2, // yarn add react\n\t\t\"yarn dlx\": 3, // yarn dlx create-react-app\n\t\t\"yarn run\": 3, // yarn run dev\n\t};\n}\n"]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
export { BashArity };
|
|
2
|
+
var BashArity;
|
|
3
|
+
(function (BashArity) {
|
|
4
|
+
function prefix(tokens) {
|
|
5
|
+
for (let len = tokens.length; len > 0; len--) {
|
|
6
|
+
const prefix = tokens.slice(0, len).join(" ");
|
|
7
|
+
const arity = ARITY[prefix];
|
|
8
|
+
if (arity !== undefined)
|
|
9
|
+
return tokens.slice(0, arity);
|
|
10
|
+
}
|
|
11
|
+
if (tokens.length === 0)
|
|
12
|
+
return [];
|
|
13
|
+
return tokens.slice(0, 1);
|
|
14
|
+
}
|
|
15
|
+
BashArity.prefix = prefix;
|
|
16
|
+
/* Generated with following prompt:
|
|
17
|
+
You are generating a dictionary of command-prefix arities for bash-style commands.
|
|
18
|
+
This dictionary is used to identify the "human-understandable command" from an input shell command.### **RULES (follow strictly)**1. Each entry maps a **command prefix string → number**, representing how many **tokens** define the command.
|
|
19
|
+
2. **Flags NEVER count as tokens**. Only subcommands count.
|
|
20
|
+
3. **Longest matching prefix wins**.
|
|
21
|
+
4. **Only include a longer prefix if its arity is different from what the shorter prefix already implies**. * Example: If `git` is 2, then do **not** include `git checkout`, `git commit`, etc. unless they require *different* arity.
|
|
22
|
+
5. The output must be a **single JSON object**. Each entry should have a comment with an example real world matching command. DO NOT MAKE ANY OTHER COMMENTS. Should be alphabetical
|
|
23
|
+
6. Include the **most commonly used commands** across many stacks and languages. More is better.### **Semantics examples*** `touch foo.txt` → `touch` (arity 1, explicitly listed)
|
|
24
|
+
* `git checkout main` → `git checkout` (because `git` has arity 2)
|
|
25
|
+
* `npm install` → `npm install` (because `npm` has arity 2)
|
|
26
|
+
* `npm run dev` → `npm run dev` (because `npm run` has arity 3)
|
|
27
|
+
* `python script.py` → `python script.py` (default: whole input, not in dictionary)### **Now generate the dictionary.**
|
|
28
|
+
*/
|
|
29
|
+
const ARITY = {
|
|
30
|
+
cat: 1, // cat file.txt
|
|
31
|
+
cd: 1, // cd /path/to/dir
|
|
32
|
+
chmod: 1, // chmod 755 script.sh
|
|
33
|
+
chown: 1, // chown user:group file.txt
|
|
34
|
+
cp: 1, // cp source.txt dest.txt
|
|
35
|
+
echo: 1, // echo "hello world"
|
|
36
|
+
env: 1, // env
|
|
37
|
+
export: 1, // export PATH=/usr/bin
|
|
38
|
+
grep: 1, // grep pattern file.txt
|
|
39
|
+
kill: 1, // kill 1234
|
|
40
|
+
killall: 1, // killall process
|
|
41
|
+
ln: 1, // ln -s source target
|
|
42
|
+
ls: 1, // ls -la
|
|
43
|
+
mkdir: 1, // mkdir new-dir
|
|
44
|
+
mv: 1, // mv old.txt new.txt
|
|
45
|
+
ps: 1, // ps aux
|
|
46
|
+
pwd: 1, // pwd
|
|
47
|
+
rm: 1, // rm file.txt
|
|
48
|
+
rmdir: 1, // rmdir empty-dir
|
|
49
|
+
sleep: 1, // sleep 5
|
|
50
|
+
source: 1, // source ~/.bashrc
|
|
51
|
+
tail: 1, // tail -f log.txt
|
|
52
|
+
touch: 1, // touch file.txt
|
|
53
|
+
unset: 1, // unset VAR
|
|
54
|
+
which: 1, // which node
|
|
55
|
+
aws: 3, // aws s3 ls
|
|
56
|
+
az: 3, // az storage blob list
|
|
57
|
+
bazel: 2, // bazel build
|
|
58
|
+
brew: 2, // brew install node
|
|
59
|
+
bun: 2, // bun install
|
|
60
|
+
"bun run": 3, // bun run dev
|
|
61
|
+
"bun x": 3, // bun x vite
|
|
62
|
+
cargo: 2, // cargo build
|
|
63
|
+
"cargo add": 3, // cargo add tokio
|
|
64
|
+
"cargo run": 3, // cargo run main
|
|
65
|
+
cdk: 2, // cdk deploy
|
|
66
|
+
cf: 2, // cf push app
|
|
67
|
+
cmake: 2, // cmake build
|
|
68
|
+
composer: 2, // composer require laravel
|
|
69
|
+
consul: 2, // consul members
|
|
70
|
+
"consul kv": 3, // consul kv get config/app
|
|
71
|
+
crictl: 2, // crictl ps
|
|
72
|
+
deno: 2, // deno run server.ts
|
|
73
|
+
"deno task": 3, // deno task dev
|
|
74
|
+
doctl: 3, // doctl kubernetes cluster list
|
|
75
|
+
docker: 2, // docker run nginx
|
|
76
|
+
"docker builder": 3, // docker builder prune
|
|
77
|
+
"docker compose": 3, // docker compose up
|
|
78
|
+
"docker container": 3, // docker container ls
|
|
79
|
+
"docker image": 3, // docker image prune
|
|
80
|
+
"docker network": 3, // docker network inspect
|
|
81
|
+
"docker volume": 3, // docker volume ls
|
|
82
|
+
eksctl: 2, // eksctl get clusters
|
|
83
|
+
"eksctl create": 3, // eksctl create cluster
|
|
84
|
+
firebase: 2, // firebase deploy
|
|
85
|
+
flyctl: 2, // flyctl deploy
|
|
86
|
+
gcloud: 3, // gcloud compute instances list
|
|
87
|
+
gh: 3, // gh pr list
|
|
88
|
+
git: 2, // git checkout main
|
|
89
|
+
"git config": 3, // git config user.name
|
|
90
|
+
"git remote": 3, // git remote add origin
|
|
91
|
+
"git stash": 3, // git stash pop
|
|
92
|
+
go: 2, // go build
|
|
93
|
+
gradle: 2, // gradle build
|
|
94
|
+
helm: 2, // helm install mychart
|
|
95
|
+
heroku: 2, // heroku logs
|
|
96
|
+
hugo: 2, // hugo new site blog
|
|
97
|
+
ip: 2, // ip link show
|
|
98
|
+
"ip addr": 3, // ip addr show
|
|
99
|
+
"ip link": 3, // ip link set eth0 up
|
|
100
|
+
"ip netns": 3, // ip netns exec foo bash
|
|
101
|
+
"ip route": 3, // ip route add default via 1.1.1.1
|
|
102
|
+
kind: 2, // kind delete cluster
|
|
103
|
+
"kind create": 3, // kind create cluster
|
|
104
|
+
kubectl: 2, // kubectl get pods
|
|
105
|
+
"kubectl kustomize": 3, // kubectl kustomize overlays/dev
|
|
106
|
+
"kubectl rollout": 3, // kubectl rollout restart deploy/api
|
|
107
|
+
kustomize: 2, // kustomize build .
|
|
108
|
+
make: 2, // make build
|
|
109
|
+
mc: 2, // mc ls myminio
|
|
110
|
+
"mc admin": 3, // mc admin info myminio
|
|
111
|
+
minikube: 2, // minikube start
|
|
112
|
+
mongosh: 2, // mongosh test
|
|
113
|
+
mysql: 2, // mysql -u root
|
|
114
|
+
mvn: 2, // mvn compile
|
|
115
|
+
ng: 2, // ng generate component home
|
|
116
|
+
npm: 2, // npm install
|
|
117
|
+
"npm exec": 3, // npm exec vite
|
|
118
|
+
"npm init": 3, // npm init vue
|
|
119
|
+
"npm run": 3, // npm run dev
|
|
120
|
+
"npm view": 3, // npm view react version
|
|
121
|
+
nvm: 2, // nvm use 18
|
|
122
|
+
nx: 2, // nx build
|
|
123
|
+
openssl: 2, // openssl genrsa 2048
|
|
124
|
+
"openssl req": 3, // openssl req -new -key key.pem
|
|
125
|
+
"openssl x509": 3, // openssl x509 -in cert.pem
|
|
126
|
+
pip: 2, // pip install numpy
|
|
127
|
+
pipenv: 2, // pipenv install flask
|
|
128
|
+
pnpm: 2, // pnpm install
|
|
129
|
+
"pnpm dlx": 3, // pnpm dlx create-next-app
|
|
130
|
+
"pnpm exec": 3, // pnpm exec vite
|
|
131
|
+
"pnpm run": 3, // pnpm run dev
|
|
132
|
+
poetry: 2, // poetry add requests
|
|
133
|
+
podman: 2, // podman run alpine
|
|
134
|
+
"podman container": 3, // podman container ls
|
|
135
|
+
"podman image": 3, // podman image prune
|
|
136
|
+
psql: 2, // psql -d mydb
|
|
137
|
+
pulumi: 2, // pulumi up
|
|
138
|
+
"pulumi stack": 3, // pulumi stack output
|
|
139
|
+
pyenv: 2, // pyenv install 3.11
|
|
140
|
+
python: 2, // python -m venv env
|
|
141
|
+
rake: 2, // rake db:migrate
|
|
142
|
+
rbenv: 2, // rbenv install 3.2.0
|
|
143
|
+
"redis-cli": 2, // redis-cli ping
|
|
144
|
+
rustup: 2, // rustup update
|
|
145
|
+
serverless: 2, // serverless invoke
|
|
146
|
+
sfdx: 3, // sfdx force:org:list
|
|
147
|
+
skaffold: 2, // skaffold dev
|
|
148
|
+
sls: 2, // sls deploy
|
|
149
|
+
sst: 2, // sst deploy
|
|
150
|
+
swift: 2, // swift build
|
|
151
|
+
systemctl: 2, // systemctl restart nginx
|
|
152
|
+
terraform: 2, // terraform apply
|
|
153
|
+
"terraform workspace": 3, // terraform workspace select prod
|
|
154
|
+
tmux: 2, // tmux new -s dev
|
|
155
|
+
turbo: 2, // turbo run build
|
|
156
|
+
ufw: 2, // ufw allow 22
|
|
157
|
+
vault: 2, // vault login
|
|
158
|
+
"vault auth": 3, // vault auth list
|
|
159
|
+
"vault kv": 3, // vault kv get secret/api
|
|
160
|
+
vercel: 2, // vercel deploy
|
|
161
|
+
volta: 2, // volta install node
|
|
162
|
+
wp: 2, // wp plugin install
|
|
163
|
+
yarn: 2, // yarn add react
|
|
164
|
+
"yarn dlx": 3, // yarn dlx create-react-app
|
|
165
|
+
"yarn run": 3, // yarn run dev
|
|
166
|
+
};
|
|
167
|
+
})(BashArity || (BashArity = {}));
|
|
168
|
+
//# sourceMappingURL=arity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arity.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/arity.ts"],"names":[],"mappings":"SAAiB,SAAS;AAA1B,IAAiB,SAkKhB;AAlKD,WAAiB,SAAS,EAAC;IAC1B,SAAgB,MAAM,CAAC,MAAgB,EAAE;QACxC,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAA,CAC1B;IARe,UAAA,MAAM,SAQrB,CAAA;IAED;;;;;;;;;;;;MAYC;IACD,MAAM,KAAK,GAA2B;QACrC,GAAG,EAAE,CAAC,EAAE,eAAe;QACvB,EAAE,EAAE,CAAC,EAAE,kBAAkB;QACzB,KAAK,EAAE,CAAC,EAAE,sBAAsB;QAChC,KAAK,EAAE,CAAC,EAAE,4BAA4B;QACtC,EAAE,EAAE,CAAC,EAAE,yBAAyB;QAChC,IAAI,EAAE,CAAC,EAAE,qBAAqB;QAC9B,GAAG,EAAE,CAAC,EAAE,MAAM;QACd,MAAM,EAAE,CAAC,EAAE,uBAAuB;QAClC,IAAI,EAAE,CAAC,EAAE,wBAAwB;QACjC,IAAI,EAAE,CAAC,EAAE,YAAY;QACrB,OAAO,EAAE,CAAC,EAAE,kBAAkB;QAC9B,EAAE,EAAE,CAAC,EAAE,sBAAsB;QAC7B,EAAE,EAAE,CAAC,EAAE,SAAS;QAChB,KAAK,EAAE,CAAC,EAAE,gBAAgB;QAC1B,EAAE,EAAE,CAAC,EAAE,qBAAqB;QAC5B,EAAE,EAAE,CAAC,EAAE,SAAS;QAChB,GAAG,EAAE,CAAC,EAAE,MAAM;QACd,EAAE,EAAE,CAAC,EAAE,cAAc;QACrB,KAAK,EAAE,CAAC,EAAE,kBAAkB;QAC5B,KAAK,EAAE,CAAC,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC,EAAE,mBAAmB;QAC9B,IAAI,EAAE,CAAC,EAAE,kBAAkB;QAC3B,KAAK,EAAE,CAAC,EAAE,iBAAiB;QAC3B,KAAK,EAAE,CAAC,EAAE,YAAY;QACtB,KAAK,EAAE,CAAC,EAAE,aAAa;QACvB,GAAG,EAAE,CAAC,EAAE,YAAY;QACpB,EAAE,EAAE,CAAC,EAAE,uBAAuB;QAC9B,KAAK,EAAE,CAAC,EAAE,cAAc;QACxB,IAAI,EAAE,CAAC,EAAE,oBAAoB;QAC7B,GAAG,EAAE,CAAC,EAAE,cAAc;QACtB,SAAS,EAAE,CAAC,EAAE,cAAc;QAC5B,OAAO,EAAE,CAAC,EAAE,aAAa;QACzB,KAAK,EAAE,CAAC,EAAE,cAAc;QACxB,WAAW,EAAE,CAAC,EAAE,kBAAkB;QAClC,WAAW,EAAE,CAAC,EAAE,iBAAiB;QACjC,GAAG,EAAE,CAAC,EAAE,aAAa;QACrB,EAAE,EAAE,CAAC,EAAE,cAAc;QACrB,KAAK,EAAE,CAAC,EAAE,cAAc;QACxB,QAAQ,EAAE,CAAC,EAAE,2BAA2B;QACxC,MAAM,EAAE,CAAC,EAAE,iBAAiB;QAC5B,WAAW,EAAE,CAAC,EAAE,2BAA2B;QAC3C,MAAM,EAAE,CAAC,EAAE,YAAY;QACvB,IAAI,EAAE,CAAC,EAAE,qBAAqB;QAC9B,WAAW,EAAE,CAAC,EAAE,gBAAgB;QAChC,KAAK,EAAE,CAAC,EAAE,gCAAgC;QAC1C,MAAM,EAAE,CAAC,EAAE,mBAAmB;QAC9B,gBAAgB,EAAE,CAAC,EAAE,uBAAuB;QAC5C,gBAAgB,EAAE,CAAC,EAAE,oBAAoB;QACzC,kBAAkB,EAAE,CAAC,EAAE,sBAAsB;QAC7C,cAAc,EAAE,CAAC,EAAE,qBAAqB;QACxC,gBAAgB,EAAE,CAAC,EAAE,yBAAyB;QAC9C,eAAe,EAAE,CAAC,EAAE,mBAAmB;QACvC,MAAM,EAAE,CAAC,EAAE,sBAAsB;QACjC,eAAe,EAAE,CAAC,EAAE,wBAAwB;QAC5C,QAAQ,EAAE,CAAC,EAAE,kBAAkB;QAC/B,MAAM,EAAE,CAAC,EAAE,gBAAgB;QAC3B,MAAM,EAAE,CAAC,EAAE,gCAAgC;QAC3C,EAAE,EAAE,CAAC,EAAE,aAAa;QACpB,GAAG,EAAE,CAAC,EAAE,oBAAoB;QAC5B,YAAY,EAAE,CAAC,EAAE,uBAAuB;QACxC,YAAY,EAAE,CAAC,EAAE,wBAAwB;QACzC,WAAW,EAAE,CAAC,EAAE,gBAAgB;QAChC,EAAE,EAAE,CAAC,EAAE,WAAW;QAClB,MAAM,EAAE,CAAC,EAAE,eAAe;QAC1B,IAAI,EAAE,CAAC,EAAE,uBAAuB;QAChC,MAAM,EAAE,CAAC,EAAE,cAAc;QACzB,IAAI,EAAE,CAAC,EAAE,qBAAqB;QAC9B,EAAE,EAAE,CAAC,EAAE,eAAe;QACtB,SAAS,EAAE,CAAC,EAAE,eAAe;QAC7B,SAAS,EAAE,CAAC,EAAE,sBAAsB;QACpC,UAAU,EAAE,CAAC,EAAE,yBAAyB;QACxC,UAAU,EAAE,CAAC,EAAE,mCAAmC;QAClD,IAAI,EAAE,CAAC,EAAE,sBAAsB;QAC/B,aAAa,EAAE,CAAC,EAAE,sBAAsB;QACxC,OAAO,EAAE,CAAC,EAAE,mBAAmB;QAC/B,mBAAmB,EAAE,CAAC,EAAE,iCAAiC;QACzD,iBAAiB,EAAE,CAAC,EAAE,qCAAqC;QAC3D,SAAS,EAAE,CAAC,EAAE,oBAAoB;QAClC,IAAI,EAAE,CAAC,EAAE,aAAa;QACtB,EAAE,EAAE,CAAC,EAAE,gBAAgB;QACvB,UAAU,EAAE,CAAC,EAAE,wBAAwB;QACvC,QAAQ,EAAE,CAAC,EAAE,iBAAiB;QAC9B,OAAO,EAAE,CAAC,EAAE,eAAe;QAC3B,KAAK,EAAE,CAAC,EAAE,gBAAgB;QAC1B,GAAG,EAAE,CAAC,EAAE,cAAc;QACtB,EAAE,EAAE,CAAC,EAAE,6BAA6B;QACpC,GAAG,EAAE,CAAC,EAAE,cAAc;QACtB,UAAU,EAAE,CAAC,EAAE,gBAAgB;QAC/B,UAAU,EAAE,CAAC,EAAE,eAAe;QAC9B,SAAS,EAAE,CAAC,EAAE,cAAc;QAC5B,UAAU,EAAE,CAAC,EAAE,yBAAyB;QACxC,GAAG,EAAE,CAAC,EAAE,aAAa;QACrB,EAAE,EAAE,CAAC,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,EAAE,sBAAsB;QAClC,aAAa,EAAE,CAAC,EAAE,gCAAgC;QAClD,cAAc,EAAE,CAAC,EAAE,4BAA4B;QAC/C,GAAG,EAAE,CAAC,EAAE,oBAAoB;QAC5B,MAAM,EAAE,CAAC,EAAE,uBAAuB;QAClC,IAAI,EAAE,CAAC,EAAE,eAAe;QACxB,UAAU,EAAE,CAAC,EAAE,2BAA2B;QAC1C,WAAW,EAAE,CAAC,EAAE,iBAAiB;QACjC,UAAU,EAAE,CAAC,EAAE,eAAe;QAC9B,MAAM,EAAE,CAAC,EAAE,sBAAsB;QACjC,MAAM,EAAE,CAAC,EAAE,oBAAoB;QAC/B,kBAAkB,EAAE,CAAC,EAAE,sBAAsB;QAC7C,cAAc,EAAE,CAAC,EAAE,qBAAqB;QACxC,IAAI,EAAE,CAAC,EAAE,eAAe;QACxB,MAAM,EAAE,CAAC,EAAE,YAAY;QACvB,cAAc,EAAE,CAAC,EAAE,sBAAsB;QACzC,KAAK,EAAE,CAAC,EAAE,qBAAqB;QAC/B,MAAM,EAAE,CAAC,EAAE,qBAAqB;QAChC,IAAI,EAAE,CAAC,EAAE,kBAAkB;QAC3B,KAAK,EAAE,CAAC,EAAE,sBAAsB;QAChC,WAAW,EAAE,CAAC,EAAE,iBAAiB;QACjC,MAAM,EAAE,CAAC,EAAE,gBAAgB;QAC3B,UAAU,EAAE,CAAC,EAAE,oBAAoB;QACnC,IAAI,EAAE,CAAC,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,CAAC,EAAE,eAAe;QAC5B,GAAG,EAAE,CAAC,EAAE,aAAa;QACrB,GAAG,EAAE,CAAC,EAAE,aAAa;QACrB,KAAK,EAAE,CAAC,EAAE,cAAc;QACxB,SAAS,EAAE,CAAC,EAAE,0BAA0B;QACxC,SAAS,EAAE,CAAC,EAAE,kBAAkB;QAChC,qBAAqB,EAAE,CAAC,EAAE,kCAAkC;QAC5D,IAAI,EAAE,CAAC,EAAE,kBAAkB;QAC3B,KAAK,EAAE,CAAC,EAAE,kBAAkB;QAC5B,GAAG,EAAE,CAAC,EAAE,eAAe;QACvB,KAAK,EAAE,CAAC,EAAE,cAAc;QACxB,YAAY,EAAE,CAAC,EAAE,kBAAkB;QACnC,UAAU,EAAE,CAAC,EAAE,0BAA0B;QACzC,MAAM,EAAE,CAAC,EAAE,gBAAgB;QAC3B,KAAK,EAAE,CAAC,EAAE,qBAAqB;QAC/B,EAAE,EAAE,CAAC,EAAE,oBAAoB;QAC3B,IAAI,EAAE,CAAC,EAAE,iBAAiB;QAC1B,UAAU,EAAE,CAAC,EAAE,4BAA4B;QAC3C,UAAU,EAAE,CAAC,EAAE,eAAe;KAC9B,CAAC;AAAA,CACF,EAlKgB,SAAS,KAAT,SAAS,QAkKzB","sourcesContent":["export namespace BashArity {\n\texport function prefix(tokens: string[]) {\n\t\tfor (let len = tokens.length; len > 0; len--) {\n\t\t\tconst prefix = tokens.slice(0, len).join(\" \");\n\t\t\tconst arity = ARITY[prefix];\n\t\t\tif (arity !== undefined) return tokens.slice(0, arity);\n\t\t}\n\t\tif (tokens.length === 0) return [];\n\t\treturn tokens.slice(0, 1);\n\t}\n\n\t/* Generated with following prompt:\nYou are generating a dictionary of command-prefix arities for bash-style commands.\nThis dictionary is used to identify the \"human-understandable command\" from an input shell command.### **RULES (follow strictly)**1. Each entry maps a **command prefix string → number**, representing how many **tokens** define the command.\n2. **Flags NEVER count as tokens**. Only subcommands count.\n3. **Longest matching prefix wins**.\n4. **Only include a longer prefix if its arity is different from what the shorter prefix already implies**. * Example: If `git` is 2, then do **not** include `git checkout`, `git commit`, etc. unless they require *different* arity.\n5. The output must be a **single JSON object**. Each entry should have a comment with an example real world matching command. DO NOT MAKE ANY OTHER COMMENTS. Should be alphabetical\n6. Include the **most commonly used commands** across many stacks and languages. More is better.### **Semantics examples*** `touch foo.txt` → `touch` (arity 1, explicitly listed)\n* `git checkout main` → `git checkout` (because `git` has arity 2)\n* `npm install` → `npm install` (because `npm` has arity 2)\n* `npm run dev` → `npm run dev` (because `npm run` has arity 3)\n* `python script.py` → `python script.py` (default: whole input, not in dictionary)### **Now generate the dictionary.**\n*/\n\tconst ARITY: Record<string, number> = {\n\t\tcat: 1, // cat file.txt\n\t\tcd: 1, // cd /path/to/dir\n\t\tchmod: 1, // chmod 755 script.sh\n\t\tchown: 1, // chown user:group file.txt\n\t\tcp: 1, // cp source.txt dest.txt\n\t\techo: 1, // echo \"hello world\"\n\t\tenv: 1, // env\n\t\texport: 1, // export PATH=/usr/bin\n\t\tgrep: 1, // grep pattern file.txt\n\t\tkill: 1, // kill 1234\n\t\tkillall: 1, // killall process\n\t\tln: 1, // ln -s source target\n\t\tls: 1, // ls -la\n\t\tmkdir: 1, // mkdir new-dir\n\t\tmv: 1, // mv old.txt new.txt\n\t\tps: 1, // ps aux\n\t\tpwd: 1, // pwd\n\t\trm: 1, // rm file.txt\n\t\trmdir: 1, // rmdir empty-dir\n\t\tsleep: 1, // sleep 5\n\t\tsource: 1, // source ~/.bashrc\n\t\ttail: 1, // tail -f log.txt\n\t\ttouch: 1, // touch file.txt\n\t\tunset: 1, // unset VAR\n\t\twhich: 1, // which node\n\t\taws: 3, // aws s3 ls\n\t\taz: 3, // az storage blob list\n\t\tbazel: 2, // bazel build\n\t\tbrew: 2, // brew install node\n\t\tbun: 2, // bun install\n\t\t\"bun run\": 3, // bun run dev\n\t\t\"bun x\": 3, // bun x vite\n\t\tcargo: 2, // cargo build\n\t\t\"cargo add\": 3, // cargo add tokio\n\t\t\"cargo run\": 3, // cargo run main\n\t\tcdk: 2, // cdk deploy\n\t\tcf: 2, // cf push app\n\t\tcmake: 2, // cmake build\n\t\tcomposer: 2, // composer require laravel\n\t\tconsul: 2, // consul members\n\t\t\"consul kv\": 3, // consul kv get config/app\n\t\tcrictl: 2, // crictl ps\n\t\tdeno: 2, // deno run server.ts\n\t\t\"deno task\": 3, // deno task dev\n\t\tdoctl: 3, // doctl kubernetes cluster list\n\t\tdocker: 2, // docker run nginx\n\t\t\"docker builder\": 3, // docker builder prune\n\t\t\"docker compose\": 3, // docker compose up\n\t\t\"docker container\": 3, // docker container ls\n\t\t\"docker image\": 3, // docker image prune\n\t\t\"docker network\": 3, // docker network inspect\n\t\t\"docker volume\": 3, // docker volume ls\n\t\teksctl: 2, // eksctl get clusters\n\t\t\"eksctl create\": 3, // eksctl create cluster\n\t\tfirebase: 2, // firebase deploy\n\t\tflyctl: 2, // flyctl deploy\n\t\tgcloud: 3, // gcloud compute instances list\n\t\tgh: 3, // gh pr list\n\t\tgit: 2, // git checkout main\n\t\t\"git config\": 3, // git config user.name\n\t\t\"git remote\": 3, // git remote add origin\n\t\t\"git stash\": 3, // git stash pop\n\t\tgo: 2, // go build\n\t\tgradle: 2, // gradle build\n\t\thelm: 2, // helm install mychart\n\t\theroku: 2, // heroku logs\n\t\thugo: 2, // hugo new site blog\n\t\tip: 2, // ip link show\n\t\t\"ip addr\": 3, // ip addr show\n\t\t\"ip link\": 3, // ip link set eth0 up\n\t\t\"ip netns\": 3, // ip netns exec foo bash\n\t\t\"ip route\": 3, // ip route add default via 1.1.1.1\n\t\tkind: 2, // kind delete cluster\n\t\t\"kind create\": 3, // kind create cluster\n\t\tkubectl: 2, // kubectl get pods\n\t\t\"kubectl kustomize\": 3, // kubectl kustomize overlays/dev\n\t\t\"kubectl rollout\": 3, // kubectl rollout restart deploy/api\n\t\tkustomize: 2, // kustomize build .\n\t\tmake: 2, // make build\n\t\tmc: 2, // mc ls myminio\n\t\t\"mc admin\": 3, // mc admin info myminio\n\t\tminikube: 2, // minikube start\n\t\tmongosh: 2, // mongosh test\n\t\tmysql: 2, // mysql -u root\n\t\tmvn: 2, // mvn compile\n\t\tng: 2, // ng generate component home\n\t\tnpm: 2, // npm install\n\t\t\"npm exec\": 3, // npm exec vite\n\t\t\"npm init\": 3, // npm init vue\n\t\t\"npm run\": 3, // npm run dev\n\t\t\"npm view\": 3, // npm view react version\n\t\tnvm: 2, // nvm use 18\n\t\tnx: 2, // nx build\n\t\topenssl: 2, // openssl genrsa 2048\n\t\t\"openssl req\": 3, // openssl req -new -key key.pem\n\t\t\"openssl x509\": 3, // openssl x509 -in cert.pem\n\t\tpip: 2, // pip install numpy\n\t\tpipenv: 2, // pipenv install flask\n\t\tpnpm: 2, // pnpm install\n\t\t\"pnpm dlx\": 3, // pnpm dlx create-next-app\n\t\t\"pnpm exec\": 3, // pnpm exec vite\n\t\t\"pnpm run\": 3, // pnpm run dev\n\t\tpoetry: 2, // poetry add requests\n\t\tpodman: 2, // podman run alpine\n\t\t\"podman container\": 3, // podman container ls\n\t\t\"podman image\": 3, // podman image prune\n\t\tpsql: 2, // psql -d mydb\n\t\tpulumi: 2, // pulumi up\n\t\t\"pulumi stack\": 3, // pulumi stack output\n\t\tpyenv: 2, // pyenv install 3.11\n\t\tpython: 2, // python -m venv env\n\t\trake: 2, // rake db:migrate\n\t\trbenv: 2, // rbenv install 3.2.0\n\t\t\"redis-cli\": 2, // redis-cli ping\n\t\trustup: 2, // rustup update\n\t\tserverless: 2, // serverless invoke\n\t\tsfdx: 3, // sfdx force:org:list\n\t\tskaffold: 2, // skaffold dev\n\t\tsls: 2, // sls deploy\n\t\tsst: 2, // sst deploy\n\t\tswift: 2, // swift build\n\t\tsystemctl: 2, // systemctl restart nginx\n\t\tterraform: 2, // terraform apply\n\t\t\"terraform workspace\": 3, // terraform workspace select prod\n\t\ttmux: 2, // tmux new -s dev\n\t\tturbo: 2, // turbo run build\n\t\tufw: 2, // ufw allow 22\n\t\tvault: 2, // vault login\n\t\t\"vault auth\": 3, // vault auth list\n\t\t\"vault kv\": 3, // vault kv get secret/api\n\t\tvercel: 2, // vercel deploy\n\t\tvolta: 2, // volta install node\n\t\twp: 2, // wp plugin install\n\t\tyarn: 2, // yarn add react\n\t\t\"yarn dlx\": 3, // yarn dlx create-react-app\n\t\t\"yarn run\": 3, // yarn run dev\n\t};\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "../../types.js";
|
|
2
|
+
import type { Ruleset } from "./types.js";
|
|
3
|
+
export declare function parsePermissionFlag(value: string): Ruleset;
|
|
4
|
+
export declare function registerPermissionFlag(pi: ExtensionAPI): Ruleset;
|
|
5
|
+
export declare function loadPermissionFlag(pi: ExtensionAPI): Ruleset;
|
|
6
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAoB1D;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAOhE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAI5D","sourcesContent":["import type { ExtensionAPI } from \"../../types.js\";\nimport type { Action, Rule, Ruleset } from \"./types.js\";\n\nexport function parsePermissionFlag(value: string): Ruleset {\n\tconst rules: Rule[] = [];\n\tconst entries = value.split(\",\");\n\n\tfor (const entry of entries) {\n\t\tconst trimmed = entry.trim();\n\t\tif (!trimmed) continue;\n\n\t\tconst match = trimmed.match(/^([^:=]+)(?::([^=]+))?=(.+)$/);\n\t\tif (!match) continue;\n\n\t\tconst [, permission, pattern, action] = match;\n\t\trules.push({\n\t\t\tpermission: permission.trim(),\n\t\t\tpattern: pattern ? pattern.trim() : \"*\",\n\t\t\taction: action.trim() as Action,\n\t\t});\n\t}\n\n\treturn rules;\n}\n\nexport function registerPermissionFlag(pi: ExtensionAPI): Ruleset {\n\tpi.registerFlag(\"permission\", {\n\t\tdescription: \"Set permission rules (format: tool=action or tool:pattern=action)\",\n\t\ttype: \"string\",\n\t});\n\n\treturn [];\n}\n\nexport function loadPermissionFlag(pi: ExtensionAPI): Ruleset {\n\tconst flagValue = pi.getFlag(\"permission\") as string | undefined;\n\tif (!flagValue) return [];\n\treturn parsePermissionFlag(flagValue);\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function parsePermissionFlag(value) {
|
|
2
|
+
const rules = [];
|
|
3
|
+
const entries = value.split(",");
|
|
4
|
+
for (const entry of entries) {
|
|
5
|
+
const trimmed = entry.trim();
|
|
6
|
+
if (!trimmed)
|
|
7
|
+
continue;
|
|
8
|
+
const match = trimmed.match(/^([^:=]+)(?::([^=]+))?=(.+)$/);
|
|
9
|
+
if (!match)
|
|
10
|
+
continue;
|
|
11
|
+
const [, permission, pattern, action] = match;
|
|
12
|
+
rules.push({
|
|
13
|
+
permission: permission.trim(),
|
|
14
|
+
pattern: pattern ? pattern.trim() : "*",
|
|
15
|
+
action: action.trim(),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return rules;
|
|
19
|
+
}
|
|
20
|
+
export function registerPermissionFlag(pi) {
|
|
21
|
+
pi.registerFlag("permission", {
|
|
22
|
+
description: "Set permission rules (format: tool=action or tool:pattern=action)",
|
|
23
|
+
type: "string",
|
|
24
|
+
});
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
export function loadPermissionFlag(pi) {
|
|
28
|
+
const flagValue = pi.getFlag("permission");
|
|
29
|
+
if (!flagValue)
|
|
30
|
+
return [];
|
|
31
|
+
return parsePermissionFlag(flagValue);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/cli.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAW;IAC3D,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC;YACV,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE;YAC7B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG;YACvC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAY;SAC/B,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AAAA,CACb;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAgB,EAAW;IACjE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;QAC7B,WAAW,EAAE,mEAAmE;QAChF,IAAI,EAAE,QAAQ;KACd,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;AAAA,CACV;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAgB,EAAW;IAC7D,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAuB,CAAC;IACjE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAAA,CACtC","sourcesContent":["import type { ExtensionAPI } from \"../../types.js\";\nimport type { Action, Rule, Ruleset } from \"./types.js\";\n\nexport function parsePermissionFlag(value: string): Ruleset {\n\tconst rules: Rule[] = [];\n\tconst entries = value.split(\",\");\n\n\tfor (const entry of entries) {\n\t\tconst trimmed = entry.trim();\n\t\tif (!trimmed) continue;\n\n\t\tconst match = trimmed.match(/^([^:=]+)(?::([^=]+))?=(.+)$/);\n\t\tif (!match) continue;\n\n\t\tconst [, permission, pattern, action] = match;\n\t\trules.push({\n\t\t\tpermission: permission.trim(),\n\t\t\tpattern: pattern ? pattern.trim() : \"*\",\n\t\t\taction: action.trim() as Action,\n\t\t});\n\t}\n\n\treturn rules;\n}\n\nexport function registerPermissionFlag(pi: ExtensionAPI): Ruleset {\n\tpi.registerFlag(\"permission\", {\n\t\tdescription: \"Set permission rules (format: tool=action or tool:pattern=action)\",\n\t\ttype: \"string\",\n\t});\n\n\treturn [];\n}\n\nexport function loadPermissionFlag(pi: ExtensionAPI): Ruleset {\n\tconst flagValue = pi.getFlag(\"permission\") as string | undefined;\n\tif (!flagValue) return [];\n\treturn parsePermissionFlag(flagValue);\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PermissionConfig, Ruleset } from "./types.js";
|
|
2
|
+
export declare const EDIT_TOOLS: string[];
|
|
3
|
+
export declare function expand(path: string): string;
|
|
4
|
+
export declare function fromConfig(config: PermissionConfig): Ruleset;
|
|
5
|
+
export declare function merge(...rulesets: Ruleset[]): Ruleset;
|
|
6
|
+
export declare function disabled(tools: string[], ruleset: Ruleset): Set<string>;
|
|
7
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAQ,OAAO,EAAE,MAAM,YAAY,CAAC;AAGlE,eAAO,MAAM,UAAU,UAAgD,CAAC;AAExE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc3C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAc5D;AAED,wBAAgB,KAAK,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAErD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAgBvE","sourcesContent":["import os from \"node:os\";\nimport type { PermissionConfig, Rule, Ruleset } from \"./types.js\";\nimport { Wildcard } from \"./wildcard.js\";\n\nexport const EDIT_TOOLS = [\"edit\", \"write\", \"apply_patch\", \"multiedit\"];\n\nexport function expand(path: string): string {\n\tif (path.startsWith(\"~/\")) {\n\t\treturn os.homedir() + path.slice(1);\n\t}\n\tif (path === \"~\") {\n\t\treturn os.homedir();\n\t}\n\tif (path.startsWith(\"$HOME/\")) {\n\t\treturn os.homedir() + path.slice(5);\n\t}\n\tif (path.startsWith(\"$HOME\")) {\n\t\treturn os.homedir() + path.slice(5);\n\t}\n\treturn path;\n}\n\nexport function fromConfig(config: PermissionConfig): Ruleset {\n\tconst rules: Rule[] = [];\n\n\tfor (const [permission, value] of Object.entries(config)) {\n\t\tif (typeof value === \"string\") {\n\t\t\trules.push({ permission, pattern: \"*\", action: value });\n\t\t} else {\n\t\t\tfor (const [pattern, action] of Object.entries(value)) {\n\t\t\t\trules.push({ permission, pattern: expand(pattern), action });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn rules;\n}\n\nexport function merge(...rulesets: Ruleset[]): Ruleset {\n\treturn rulesets.flat();\n}\n\nexport function disabled(tools: string[], ruleset: Ruleset): Set<string> {\n\tconst result = new Set<string>();\n\n\tfor (const tool of tools) {\n\t\tconst permission = EDIT_TOOLS.includes(tool) ? \"edit\" : tool;\n\n\t\tconst rule = ruleset.findLast((rule) => {\n\t\t\treturn Wildcard.match(permission, rule.permission);\n\t\t});\n\n\t\tif (rule && rule.pattern === \"*\" && rule.action === \"deny\") {\n\t\t\tresult.add(tool);\n\t\t}\n\t}\n\n\treturn result;\n}\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import os from "node:os";
|
|
2
|
+
import { Wildcard } from "./wildcard.js";
|
|
3
|
+
export const EDIT_TOOLS = ["edit", "write", "apply_patch", "multiedit"];
|
|
4
|
+
export function expand(path) {
|
|
5
|
+
if (path.startsWith("~/")) {
|
|
6
|
+
return os.homedir() + path.slice(1);
|
|
7
|
+
}
|
|
8
|
+
if (path === "~") {
|
|
9
|
+
return os.homedir();
|
|
10
|
+
}
|
|
11
|
+
if (path.startsWith("$HOME/")) {
|
|
12
|
+
return os.homedir() + path.slice(5);
|
|
13
|
+
}
|
|
14
|
+
if (path.startsWith("$HOME")) {
|
|
15
|
+
return os.homedir() + path.slice(5);
|
|
16
|
+
}
|
|
17
|
+
return path;
|
|
18
|
+
}
|
|
19
|
+
export function fromConfig(config) {
|
|
20
|
+
const rules = [];
|
|
21
|
+
for (const [permission, value] of Object.entries(config)) {
|
|
22
|
+
if (typeof value === "string") {
|
|
23
|
+
rules.push({ permission, pattern: "*", action: value });
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
for (const [pattern, action] of Object.entries(value)) {
|
|
27
|
+
rules.push({ permission, pattern: expand(pattern), action });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return rules;
|
|
32
|
+
}
|
|
33
|
+
export function merge(...rulesets) {
|
|
34
|
+
return rulesets.flat();
|
|
35
|
+
}
|
|
36
|
+
export function disabled(tools, ruleset) {
|
|
37
|
+
const result = new Set();
|
|
38
|
+
for (const tool of tools) {
|
|
39
|
+
const permission = EDIT_TOOLS.includes(tool) ? "edit" : tool;
|
|
40
|
+
const rule = ruleset.findLast((rule) => {
|
|
41
|
+
return Wildcard.match(permission, rule.permission);
|
|
42
|
+
});
|
|
43
|
+
if (rule && rule.pattern === "*" && rule.action === "deny") {
|
|
44
|
+
result.add(tool);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AAExE,MAAM,UAAU,MAAM,CAAC,IAAY,EAAU;IAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AAAA,CACZ;AAED,MAAM,UAAU,UAAU,CAAC,MAAwB,EAAW;IAC7D,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AAAA,CACb;AAED,MAAM,UAAU,KAAK,CAAC,GAAG,QAAmB,EAAW;IACtD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAAA,CACvB;AAED,MAAM,UAAU,QAAQ,CAAC,KAAe,EAAE,OAAgB,EAAe;IACxE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAAA,CACnD,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AAAA,CACd","sourcesContent":["import os from \"node:os\";\nimport type { PermissionConfig, Rule, Ruleset } from \"./types.js\";\nimport { Wildcard } from \"./wildcard.js\";\n\nexport const EDIT_TOOLS = [\"edit\", \"write\", \"apply_patch\", \"multiedit\"];\n\nexport function expand(path: string): string {\n\tif (path.startsWith(\"~/\")) {\n\t\treturn os.homedir() + path.slice(1);\n\t}\n\tif (path === \"~\") {\n\t\treturn os.homedir();\n\t}\n\tif (path.startsWith(\"$HOME/\")) {\n\t\treturn os.homedir() + path.slice(5);\n\t}\n\tif (path.startsWith(\"$HOME\")) {\n\t\treturn os.homedir() + path.slice(5);\n\t}\n\treturn path;\n}\n\nexport function fromConfig(config: PermissionConfig): Ruleset {\n\tconst rules: Rule[] = [];\n\n\tfor (const [permission, value] of Object.entries(config)) {\n\t\tif (typeof value === \"string\") {\n\t\t\trules.push({ permission, pattern: \"*\", action: value });\n\t\t} else {\n\t\t\tfor (const [pattern, action] of Object.entries(value)) {\n\t\t\t\trules.push({ permission, pattern: expand(pattern), action });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn rules;\n}\n\nexport function merge(...rulesets: Ruleset[]): Ruleset {\n\treturn rulesets.flat();\n}\n\nexport function disabled(tools: string[], ruleset: Ruleset): Set<string> {\n\tconst result = new Set<string>();\n\n\tfor (const tool of tools) {\n\t\tconst permission = EDIT_TOOLS.includes(tool) ? \"edit\" : tool;\n\n\t\tconst rule = ruleset.findLast((rule) => {\n\t\t\treturn Wildcard.match(permission, rule.permission);\n\t\t});\n\n\t\tif (rule && rule.pattern === \"*\" && rule.action === \"deny\") {\n\t\t\tresult.add(tool);\n\t\t}\n\t}\n\n\treturn result;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Rule, Ruleset } from "../permission-system/types.js";
|
|
2
|
+
declare global {
|
|
3
|
+
interface Array<T> {
|
|
4
|
+
findLast<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: unknown): S | undefined;
|
|
5
|
+
findLast(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: unknown): T | undefined;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare function evaluate(permission: string, pattern: string, ...rulesets: Ruleset[]): Rule;
|
|
9
|
+
//# sourceMappingURL=evaluate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,CAAC,MAAM,CAAC,CAAC;IACf,UAAU,KAAK,CAAC,CAAC;QAChB,QAAQ,CAAC,CAAC,SAAS,CAAC,EACnB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,EAC9D,OAAO,CAAC,EAAE,OAAO,GACf,CAAC,GAAG,SAAS,CAAC;QACjB,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC;KACxG;CACD;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAU1F","sourcesContent":["import type { Rule, Ruleset } from \"../permission-system/types.js\";\nimport { Wildcard } from \"./wildcard.js\";\n\ndeclare global {\n\tinterface Array<T> {\n\t\tfindLast<S extends T>(\n\t\t\tpredicate: (value: T, index: number, array: T[]) => value is S,\n\t\t\tthisArg?: unknown,\n\t\t): S | undefined;\n\t\tfindLast(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: unknown): T | undefined;\n\t}\n}\n\nexport function evaluate(permission: string, pattern: string, ...rulesets: Ruleset[]): Rule {\n\tconst matchedRule = rulesets.flat().findLast((rule) => {\n\t\treturn Wildcard.match(permission, rule.permission) && matchesPattern(pattern, rule.pattern);\n\t});\n\n\tif (matchedRule) {\n\t\treturn matchedRule;\n\t}\n\n\treturn { action: \"ask\", permission, pattern: \"*\" };\n}\n\nfunction matchesPattern(value: string, pattern: string): boolean {\n\treturn Wildcard.match(value, pattern) || (pattern.endsWith(\" *\") && Wildcard.match(value, pattern.slice(0, -2)));\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Wildcard } from "./wildcard.js";
|
|
2
|
+
export function evaluate(permission, pattern, ...rulesets) {
|
|
3
|
+
const matchedRule = rulesets.flat().findLast((rule) => {
|
|
4
|
+
return Wildcard.match(permission, rule.permission) && matchesPattern(pattern, rule.pattern);
|
|
5
|
+
});
|
|
6
|
+
if (matchedRule) {
|
|
7
|
+
return matchedRule;
|
|
8
|
+
}
|
|
9
|
+
return { action: "ask", permission, pattern: "*" };
|
|
10
|
+
}
|
|
11
|
+
function matchesPattern(value, pattern) {
|
|
12
|
+
return Wildcard.match(value, pattern) || (pattern.endsWith(" *") && Wildcard.match(value, pattern.slice(0, -2)));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAYzC,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,OAAe,EAAE,GAAG,QAAmB,EAAQ;IAC3F,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAAA,CAC5F,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAAA,CACnD;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,OAAe,EAAW;IAChE,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CACjH","sourcesContent":["import type { Rule, Ruleset } from \"../permission-system/types.js\";\nimport { Wildcard } from \"./wildcard.js\";\n\ndeclare global {\n\tinterface Array<T> {\n\t\tfindLast<S extends T>(\n\t\t\tpredicate: (value: T, index: number, array: T[]) => value is S,\n\t\t\tthisArg?: unknown,\n\t\t): S | undefined;\n\t\tfindLast(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: unknown): T | undefined;\n\t}\n}\n\nexport function evaluate(permission: string, pattern: string, ...rulesets: Ruleset[]): Rule {\n\tconst matchedRule = rulesets.flat().findLast((rule) => {\n\t\treturn Wildcard.match(permission, rule.permission) && matchesPattern(pattern, rule.pattern);\n\t});\n\n\tif (matchedRule) {\n\t\treturn matchedRule;\n\t}\n\n\treturn { action: \"ask\", permission, pattern: \"*\" };\n}\n\nfunction matchesPattern(value: string, pattern: string): boolean {\n\treturn Wildcard.match(value, pattern) || (pattern.endsWith(\" *\") && Wildcard.match(value, pattern.slice(0, -2)));\n}\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "../../types.js";
|
|
2
|
+
import type { PermissionDecision, Request } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Event type for when a permission is asked.
|
|
5
|
+
* Contains the full request information.
|
|
6
|
+
*/
|
|
7
|
+
export type PermissionAskedEvent = Request;
|
|
8
|
+
/**
|
|
9
|
+
* Event type for when a permission is replied to.
|
|
10
|
+
* Contains the reply and identifiers to correlate with the request.
|
|
11
|
+
*/
|
|
12
|
+
export type PermissionRepliedEvent = {
|
|
13
|
+
requestID: string;
|
|
14
|
+
sessionID: string;
|
|
15
|
+
reply: PermissionDecision;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Event emitter interface for permission events.
|
|
19
|
+
* Injectable into services for loose coupling.
|
|
20
|
+
*/
|
|
21
|
+
export interface PermissionEventEmitter {
|
|
22
|
+
/**
|
|
23
|
+
* Emit a permission_asked event.
|
|
24
|
+
* @param request - The permission request being asked
|
|
25
|
+
*/
|
|
26
|
+
emitAsked(request: Request): void;
|
|
27
|
+
/**
|
|
28
|
+
* Emit a permission_replied event.
|
|
29
|
+
* @param requestID - The ID of the request being replied to
|
|
30
|
+
* @param sessionID - The session ID associated with the request
|
|
31
|
+
* @param reply - The user's reply (once, always, or reject)
|
|
32
|
+
*/
|
|
33
|
+
emitReplied(requestID: string, sessionID: string, reply: PermissionDecision): void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates an event emitter that wraps pi.events for inter-extension communication.
|
|
37
|
+
* Use this when running within the pi extension system.
|
|
38
|
+
*
|
|
39
|
+
* @param pi - The ExtensionAPI provided by the pi extension system
|
|
40
|
+
* @returns PermissionEventEmitter that emits via pi.events
|
|
41
|
+
*/
|
|
42
|
+
export declare function createEventEmitter(pi: ExtensionAPI): PermissionEventEmitter;
|
|
43
|
+
/**
|
|
44
|
+
* Local event emitter implementation for standalone or test usage.
|
|
45
|
+
* Uses a simple callback registry when pi.events is not available.
|
|
46
|
+
*
|
|
47
|
+
* @returns PermissionEventEmitter with local event handling
|
|
48
|
+
*/
|
|
49
|
+
export declare function createLocalEventEmitter(): PermissionEventEmitter & {
|
|
50
|
+
/**
|
|
51
|
+
* Register a handler for permission_asked events.
|
|
52
|
+
* @param handler - Callback invoked when a permission is asked
|
|
53
|
+
* @returns Unsubscribe function
|
|
54
|
+
*/
|
|
55
|
+
onAsked(handler: (request: Request) => void): () => void;
|
|
56
|
+
/**
|
|
57
|
+
* Register a handler for permission_replied events.
|
|
58
|
+
* @param handler - Callback invoked when a permission is replied to
|
|
59
|
+
* @returns Unsubscribe function
|
|
60
|
+
*/
|
|
61
|
+
onReplied(handler: (event: PermissionRepliedEvent) => void): () => void;
|
|
62
|
+
/**
|
|
63
|
+
* Clear all registered handlers.
|
|
64
|
+
*/
|
|
65
|
+
clear(): void;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,sBAAsB,CAS3E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,sBAAsB,GAAG;IACnE;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAEzD;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAExE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACd,CAyCA","sourcesContent":["import type { ExtensionAPI } from \"../../types.js\";\nimport type { PermissionDecision, Request } from \"./types.js\";\n\n/**\n * Event type for when a permission is asked.\n * Contains the full request information.\n */\nexport type PermissionAskedEvent = Request;\n\n/**\n * Event type for when a permission is replied to.\n * Contains the reply and identifiers to correlate with the request.\n */\nexport type PermissionRepliedEvent = {\n\trequestID: string;\n\tsessionID: string;\n\treply: PermissionDecision;\n};\n\n/**\n * Event emitter interface for permission events.\n * Injectable into services for loose coupling.\n */\nexport interface PermissionEventEmitter {\n\t/**\n\t * Emit a permission_asked event.\n\t * @param request - The permission request being asked\n\t */\n\temitAsked(request: Request): void;\n\n\t/**\n\t * Emit a permission_replied event.\n\t * @param requestID - The ID of the request being replied to\n\t * @param sessionID - The session ID associated with the request\n\t * @param reply - The user's reply (once, always, or reject)\n\t */\n\temitReplied(requestID: string, sessionID: string, reply: PermissionDecision): void;\n}\n\n/**\n * Creates an event emitter that wraps pi.events for inter-extension communication.\n * Use this when running within the pi extension system.\n *\n * @param pi - The ExtensionAPI provided by the pi extension system\n * @returns PermissionEventEmitter that emits via pi.events\n */\nexport function createEventEmitter(pi: ExtensionAPI): PermissionEventEmitter {\n\treturn {\n\t\temitAsked: (request: Request) => {\n\t\t\tpi.events.emit(\"permission_asked\", request);\n\t\t},\n\t\temitReplied: (requestID: string, sessionID: string, reply: PermissionDecision) => {\n\t\t\tpi.events.emit(\"permission_replied\", { requestID, sessionID, reply });\n\t\t},\n\t};\n}\n\n/**\n * Local event emitter implementation for standalone or test usage.\n * Uses a simple callback registry when pi.events is not available.\n *\n * @returns PermissionEventEmitter with local event handling\n */\nexport function createLocalEventEmitter(): PermissionEventEmitter & {\n\t/**\n\t * Register a handler for permission_asked events.\n\t * @param handler - Callback invoked when a permission is asked\n\t * @returns Unsubscribe function\n\t */\n\tonAsked(handler: (request: Request) => void): () => void;\n\n\t/**\n\t * Register a handler for permission_replied events.\n\t * @param handler - Callback invoked when a permission is replied to\n\t * @returns Unsubscribe function\n\t */\n\tonReplied(handler: (event: PermissionRepliedEvent) => void): () => void;\n\n\t/**\n\t * Clear all registered handlers.\n\t */\n\tclear(): void;\n} {\n\tconst askedHandlers = new Set<(request: Request) => void>();\n\tconst repliedHandlers = new Set<(event: PermissionRepliedEvent) => void>();\n\n\treturn {\n\t\temitAsked: (request: Request) => {\n\t\t\tfor (const handler of askedHandlers) {\n\t\t\t\ttry {\n\t\t\t\t\thandler(request);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(\"Error in permission_asked handler:\", err);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\temitReplied: (requestID: string, sessionID: string, reply: PermissionDecision) => {\n\t\t\tconst event: PermissionRepliedEvent = { requestID, sessionID, reply };\n\t\t\tfor (const handler of repliedHandlers) {\n\t\t\t\ttry {\n\t\t\t\t\thandler(event);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(\"Error in permission_replied handler:\", err);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonAsked: (handler: (request: Request) => void): (() => void) => {\n\t\t\taskedHandlers.add(handler);\n\t\t\treturn () => askedHandlers.delete(handler);\n\t\t},\n\n\t\tonReplied: (handler: (event: PermissionRepliedEvent) => void): (() => void) => {\n\t\t\trepliedHandlers.add(handler);\n\t\t\treturn () => repliedHandlers.delete(handler);\n\t\t},\n\n\t\tclear: () => {\n\t\t\taskedHandlers.clear();\n\t\t\trepliedHandlers.clear();\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an event emitter that wraps pi.events for inter-extension communication.
|
|
3
|
+
* Use this when running within the pi extension system.
|
|
4
|
+
*
|
|
5
|
+
* @param pi - The ExtensionAPI provided by the pi extension system
|
|
6
|
+
* @returns PermissionEventEmitter that emits via pi.events
|
|
7
|
+
*/
|
|
8
|
+
export function createEventEmitter(pi) {
|
|
9
|
+
return {
|
|
10
|
+
emitAsked: (request) => {
|
|
11
|
+
pi.events.emit("permission_asked", request);
|
|
12
|
+
},
|
|
13
|
+
emitReplied: (requestID, sessionID, reply) => {
|
|
14
|
+
pi.events.emit("permission_replied", { requestID, sessionID, reply });
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Local event emitter implementation for standalone or test usage.
|
|
20
|
+
* Uses a simple callback registry when pi.events is not available.
|
|
21
|
+
*
|
|
22
|
+
* @returns PermissionEventEmitter with local event handling
|
|
23
|
+
*/
|
|
24
|
+
export function createLocalEventEmitter() {
|
|
25
|
+
const askedHandlers = new Set();
|
|
26
|
+
const repliedHandlers = new Set();
|
|
27
|
+
return {
|
|
28
|
+
emitAsked: (request) => {
|
|
29
|
+
for (const handler of askedHandlers) {
|
|
30
|
+
try {
|
|
31
|
+
handler(request);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
console.error("Error in permission_asked handler:", err);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
emitReplied: (requestID, sessionID, reply) => {
|
|
39
|
+
const event = { requestID, sessionID, reply };
|
|
40
|
+
for (const handler of repliedHandlers) {
|
|
41
|
+
try {
|
|
42
|
+
handler(event);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
console.error("Error in permission_replied handler:", err);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
onAsked: (handler) => {
|
|
50
|
+
askedHandlers.add(handler);
|
|
51
|
+
return () => askedHandlers.delete(handler);
|
|
52
|
+
},
|
|
53
|
+
onReplied: (handler) => {
|
|
54
|
+
repliedHandlers.add(handler);
|
|
55
|
+
return () => repliedHandlers.delete(handler);
|
|
56
|
+
},
|
|
57
|
+
clear: () => {
|
|
58
|
+
askedHandlers.clear();
|
|
59
|
+
repliedHandlers.clear();
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/events.ts"],"names":[],"mappings":"AAuCA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB,EAA0B;IAC5E,OAAO;QACN,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAAA,CAC5C;QACD,WAAW,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAyB,EAAE,EAAE,CAAC;YACjF,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAA,CACtE;KACD,CAAC;AAAA,CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,GAmBrC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE3E,OAAO;QACN,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;YACF,CAAC;QAAA,CACD;QAED,WAAW,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAyB,EAAE,EAAE,CAAC;YACjF,MAAM,KAAK,GAA2B,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACtE,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC;YACF,CAAC;QAAA,CACD;QAED,OAAO,EAAE,CAAC,OAAmC,EAAgB,EAAE,CAAC;YAC/D,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAAA,CAC3C;QAED,SAAS,EAAE,CAAC,OAAgD,EAAgB,EAAE,CAAC;YAC9E,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAAA,CAC7C;QAED,KAAK,EAAE,GAAG,EAAE,CAAC;YACZ,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,eAAe,CAAC,KAAK,EAAE,CAAC;QAAA,CACxB;KACD,CAAC;AAAA,CACF","sourcesContent":["import type { ExtensionAPI } from \"../../types.js\";\nimport type { PermissionDecision, Request } from \"./types.js\";\n\n/**\n * Event type for when a permission is asked.\n * Contains the full request information.\n */\nexport type PermissionAskedEvent = Request;\n\n/**\n * Event type for when a permission is replied to.\n * Contains the reply and identifiers to correlate with the request.\n */\nexport type PermissionRepliedEvent = {\n\trequestID: string;\n\tsessionID: string;\n\treply: PermissionDecision;\n};\n\n/**\n * Event emitter interface for permission events.\n * Injectable into services for loose coupling.\n */\nexport interface PermissionEventEmitter {\n\t/**\n\t * Emit a permission_asked event.\n\t * @param request - The permission request being asked\n\t */\n\temitAsked(request: Request): void;\n\n\t/**\n\t * Emit a permission_replied event.\n\t * @param requestID - The ID of the request being replied to\n\t * @param sessionID - The session ID associated with the request\n\t * @param reply - The user's reply (once, always, or reject)\n\t */\n\temitReplied(requestID: string, sessionID: string, reply: PermissionDecision): void;\n}\n\n/**\n * Creates an event emitter that wraps pi.events for inter-extension communication.\n * Use this when running within the pi extension system.\n *\n * @param pi - The ExtensionAPI provided by the pi extension system\n * @returns PermissionEventEmitter that emits via pi.events\n */\nexport function createEventEmitter(pi: ExtensionAPI): PermissionEventEmitter {\n\treturn {\n\t\temitAsked: (request: Request) => {\n\t\t\tpi.events.emit(\"permission_asked\", request);\n\t\t},\n\t\temitReplied: (requestID: string, sessionID: string, reply: PermissionDecision) => {\n\t\t\tpi.events.emit(\"permission_replied\", { requestID, sessionID, reply });\n\t\t},\n\t};\n}\n\n/**\n * Local event emitter implementation for standalone or test usage.\n * Uses a simple callback registry when pi.events is not available.\n *\n * @returns PermissionEventEmitter with local event handling\n */\nexport function createLocalEventEmitter(): PermissionEventEmitter & {\n\t/**\n\t * Register a handler for permission_asked events.\n\t * @param handler - Callback invoked when a permission is asked\n\t * @returns Unsubscribe function\n\t */\n\tonAsked(handler: (request: Request) => void): () => void;\n\n\t/**\n\t * Register a handler for permission_replied events.\n\t * @param handler - Callback invoked when a permission is replied to\n\t * @returns Unsubscribe function\n\t */\n\tonReplied(handler: (event: PermissionRepliedEvent) => void): () => void;\n\n\t/**\n\t * Clear all registered handlers.\n\t */\n\tclear(): void;\n} {\n\tconst askedHandlers = new Set<(request: Request) => void>();\n\tconst repliedHandlers = new Set<(event: PermissionRepliedEvent) => void>();\n\n\treturn {\n\t\temitAsked: (request: Request) => {\n\t\t\tfor (const handler of askedHandlers) {\n\t\t\t\ttry {\n\t\t\t\t\thandler(request);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(\"Error in permission_asked handler:\", err);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\temitReplied: (requestID: string, sessionID: string, reply: PermissionDecision) => {\n\t\t\tconst event: PermissionRepliedEvent = { requestID, sessionID, reply };\n\t\t\tfor (const handler of repliedHandlers) {\n\t\t\t\ttry {\n\t\t\t\t\thandler(event);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.error(\"Error in permission_replied handler:\", err);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonAsked: (handler: (request: Request) => void): (() => void) => {\n\t\t\taskedHandlers.add(handler);\n\t\t\treturn () => askedHandlers.delete(handler);\n\t\t},\n\n\t\tonReplied: (handler: (event: PermissionRepliedEvent) => void): (() => void) => {\n\t\t\trepliedHandlers.add(handler);\n\t\t\treturn () => repliedHandlers.delete(handler);\n\t\t},\n\n\t\tclear: () => {\n\t\t\taskedHandlers.clear();\n\t\t\trepliedHandlers.clear();\n\t\t},\n\t};\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function expandHome(inputPath: string): string;
|
|
2
|
+
export declare function isExternalPath(inputPath: string, cwd: string): boolean;
|
|
3
|
+
export declare function extractExternalPaths(command: string, cwd: string): string[];
|
|
4
|
+
//# sourceMappingURL=external-dir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-dir.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/permission-system/external-dir.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcpD;AAWD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAatE;AAgFD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC3E","sourcesContent":["import * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nexport function expandHome(inputPath: string): string {\n\tif (inputPath === \"~\") {\n\t\treturn os.homedir();\n\t}\n\tif (inputPath.startsWith(\"~/\") || inputPath.startsWith(\"~\\\\\")) {\n\t\treturn path.join(os.homedir(), inputPath.slice(2));\n\t}\n\tif (inputPath.startsWith(\"$HOME/\") || inputPath.startsWith(\"$HOME\\\\\")) {\n\t\treturn path.join(os.homedir(), inputPath.slice(6));\n\t}\n\tif (inputPath === \"$HOME\") {\n\t\treturn os.homedir();\n\t}\n\treturn inputPath;\n}\n\nfunction normalizePath(inputPath: string): string {\n\ttry {\n\t\tif (fs.existsSync(inputPath)) {\n\t\t\treturn fs.realpathSync(inputPath);\n\t\t}\n\t} catch {}\n\treturn path.normalize(inputPath);\n}\n\nexport function isExternalPath(inputPath: string, cwd: string): boolean {\n\tconst expandedPath = expandHome(inputPath);\n\tconst absolutePath = path.resolve(cwd, expandedPath);\n\tconst normalizedTarget = normalizePath(absolutePath);\n\tconst normalizedCwd = normalizePath(cwd);\n\n\tif (normalizedTarget === normalizedCwd) {\n\t\treturn false;\n\t}\n\n\tconst cwdWithSeparator = normalizedCwd.endsWith(path.sep) ? normalizedCwd : normalizedCwd + path.sep;\n\n\treturn !normalizedTarget.startsWith(cwdWithSeparator);\n}\n\nfunction tokenizeCommand(command: string): string[] {\n\tconst tokens: string[] = [];\n\tlet current = \"\";\n\tlet inQuotes: string | null = null;\n\tlet escaped = false;\n\n\tfor (let i = 0; i < command.length; i++) {\n\t\tconst char = command[i];\n\n\t\tif (escaped) {\n\t\t\tcurrent += char;\n\t\t\tescaped = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === \"\\\\\") {\n\t\t\tescaped = true;\n\t\t\tcurrent += char;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (inQuotes) {\n\t\t\tif (char === inQuotes) {\n\t\t\t\tinQuotes = null;\n\t\t\t}\n\t\t\tcurrent += char;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === '\"' || char === \"'\") {\n\t\t\tinQuotes = char;\n\t\t\tcurrent += char;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (char === \" \" || char === \"\\t\") {\n\t\t\tif (current.length > 0) {\n\t\t\t\ttokens.push(current);\n\t\t\t\tcurrent = \"\";\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcurrent += char;\n\t}\n\n\tif (current.length > 0) {\n\t\ttokens.push(current);\n\t}\n\n\treturn tokens;\n}\n\nfunction unquote(token: string): string {\n\tif (token.length < 2) return token;\n\tconst first = token[0];\n\tconst last = token[token.length - 1];\n\tif ((first === '\"' || first === \"'\") && first === last) {\n\t\treturn token.slice(1, -1);\n\t}\n\treturn token;\n}\n\nfunction looksLikePath(token: string): boolean {\n\tif (token.startsWith(\"-\")) return false;\n\tif (/^[A-Za-z_][A-Za-z0-9_]*=/.test(token)) return false;\n\tif ([\"|\", \"||\", \"&&\", \";\", \"&\", \"$(\", \"${\", \"`\"].some((op) => token.includes(op))) {\n\t\treturn false;\n\t}\n\tif (token.startsWith(\"/\")) return true;\n\tif (token.startsWith(\"~\")) return true;\n\tif (token.startsWith(\"$HOME\")) return true;\n\tif (token.startsWith(\"./\") || token.startsWith(\"../\")) return true;\n\tif (token.includes(\"/\")) return true;\n\n\treturn false;\n}\n\nexport function extractExternalPaths(command: string, cwd: string): string[] {\n\tconst tokens = tokenizeCommand(command);\n\tconst externalPaths: string[] = [];\n\n\tlet startIndex = 0;\n\tif (tokens.length > 0) {\n\t\tconst firstToken = unquote(tokens[0]);\n\t\tif (\n\t\t\t!firstToken.startsWith(\"/\") &&\n\t\t\t!firstToken.startsWith(\"~\") &&\n\t\t\t!firstToken.startsWith(\"$\") &&\n\t\t\t!firstToken.startsWith(\"./\") &&\n\t\t\t!firstToken.startsWith(\"../\") &&\n\t\t\t!firstToken.includes(\"/\")\n\t\t) {\n\t\t\tstartIndex = 1;\n\t\t}\n\t}\n\n\tfor (let i = startIndex; i < tokens.length; i++) {\n\t\tconst token = unquote(tokens[i]);\n\n\t\tif (!looksLikePath(token)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isExternalPath(token, cwd)) {\n\t\t\texternalPaths.push(token);\n\t\t}\n\t}\n\n\treturn externalPaths;\n}\n"]}
|