@kilnai/cli 1.0.7 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -8
- package/dist/application/__tests__/session-report.test.d.ts +2 -0
- package/dist/application/__tests__/session-report.test.d.ts.map +1 -0
- package/dist/application/__tests__/session-report.test.js +100 -0
- package/dist/application/__tests__/session-report.test.js.map +1 -0
- package/dist/application/agent-loader.d.ts +30 -2
- package/dist/application/agent-loader.d.ts.map +1 -1
- package/dist/application/agent-loader.js +99 -3
- package/dist/application/agent-loader.js.map +1 -1
- package/dist/application/agent-loader.test.js +112 -18
- package/dist/application/agent-loader.test.js.map +1 -1
- package/dist/application/agent-skill-context.d.ts +12 -0
- package/dist/application/agent-skill-context.d.ts.map +1 -0
- package/dist/application/agent-skill-context.js +32 -0
- package/dist/application/agent-skill-context.js.map +1 -0
- package/dist/application/agent-skill-context.test.d.ts +2 -0
- package/dist/application/agent-skill-context.test.d.ts.map +1 -0
- package/dist/application/agent-skill-context.test.js +156 -0
- package/dist/application/agent-skill-context.test.js.map +1 -0
- package/dist/application/benchmark-session-executor.d.ts +14 -0
- package/dist/application/benchmark-session-executor.d.ts.map +1 -0
- package/dist/application/benchmark-session-executor.js +210 -0
- package/dist/application/benchmark-session-executor.js.map +1 -0
- package/dist/application/config-apply-tool.d.ts +30 -0
- package/dist/application/config-apply-tool.d.ts.map +1 -0
- package/dist/application/config-apply-tool.js +68 -0
- package/dist/application/config-apply-tool.js.map +1 -0
- package/dist/application/config-apply.d.ts +9 -0
- package/dist/application/config-apply.d.ts.map +1 -0
- package/dist/application/config-apply.js +146 -0
- package/dist/application/config-apply.js.map +1 -0
- package/dist/application/config-approval.d.ts +10 -0
- package/dist/application/config-approval.d.ts.map +1 -0
- package/dist/application/config-approval.js +30 -0
- package/dist/application/config-approval.js.map +1 -0
- package/dist/application/config-mutation-store.d.ts +25 -0
- package/dist/application/config-mutation-store.d.ts.map +1 -0
- package/dist/application/config-mutation-store.js +59 -0
- package/dist/application/config-mutation-store.js.map +1 -0
- package/dist/application/config-proposal.d.ts +22 -0
- package/dist/application/config-proposal.d.ts.map +1 -0
- package/dist/application/config-proposal.js +395 -0
- package/dist/application/config-proposal.js.map +1 -0
- package/dist/application/config-propose-tool.d.ts +30 -0
- package/dist/application/config-propose-tool.d.ts.map +1 -0
- package/dist/application/config-propose-tool.js +63 -0
- package/dist/application/config-propose-tool.js.map +1 -0
- package/dist/application/config-read-tool.d.ts +26 -0
- package/dist/application/config-read-tool.d.ts.map +1 -0
- package/dist/application/config-read-tool.js +51 -0
- package/dist/application/config-read-tool.js.map +1 -0
- package/dist/application/config-status.d.ts +9 -0
- package/dist/application/config-status.d.ts.map +1 -0
- package/dist/application/config-status.js +361 -0
- package/dist/application/config-status.js.map +1 -0
- package/dist/application/config-tools.d.ts +3 -0
- package/dist/application/config-tools.d.ts.map +1 -0
- package/dist/application/config-tools.js +11 -0
- package/dist/application/config-tools.js.map +1 -0
- package/dist/application/context-types.d.ts +4 -17
- package/dist/application/context-types.d.ts.map +1 -1
- package/dist/application/context-types.js.map +1 -1
- package/dist/application/first-party-agent-defaults.d.ts +3 -0
- package/dist/application/first-party-agent-defaults.d.ts.map +1 -0
- package/dist/application/first-party-agent-defaults.js +135 -0
- package/dist/application/first-party-agent-defaults.js.map +1 -0
- package/dist/application/instruction-profile-context.d.ts +15 -0
- package/dist/application/instruction-profile-context.d.ts.map +1 -0
- package/dist/application/instruction-profile-context.js +80 -0
- package/dist/application/instruction-profile-context.js.map +1 -0
- package/dist/application/instruction-profile-loader.d.ts +20 -0
- package/dist/application/instruction-profile-loader.d.ts.map +1 -0
- package/dist/application/instruction-profile-loader.js +132 -0
- package/dist/application/instruction-profile-loader.js.map +1 -0
- package/dist/application/instruction-profile-loader.test.d.ts +2 -0
- package/dist/application/instruction-profile-loader.test.d.ts.map +1 -0
- package/dist/application/instruction-profile-loader.test.js +100 -0
- package/dist/application/instruction-profile-loader.test.js.map +1 -0
- package/dist/application/operator-theme-preferences.d.ts +11 -0
- package/dist/application/operator-theme-preferences.d.ts.map +1 -0
- package/dist/application/operator-theme-preferences.js +49 -0
- package/dist/application/operator-theme-preferences.js.map +1 -0
- package/dist/application/project-context.d.ts +22 -0
- package/dist/application/project-context.d.ts.map +1 -0
- package/dist/application/project-context.js +139 -0
- package/dist/application/project-context.js.map +1 -0
- package/dist/application/project-root-resolver.d.ts +14 -0
- package/dist/application/project-root-resolver.d.ts.map +1 -0
- package/dist/application/project-root-resolver.js +71 -0
- package/dist/application/project-root-resolver.js.map +1 -0
- package/dist/application/repo-shim-projection.d.ts +48 -0
- package/dist/application/repo-shim-projection.d.ts.map +1 -0
- package/dist/application/repo-shim-projection.js +536 -0
- package/dist/application/repo-shim-projection.js.map +1 -0
- package/dist/application/resume-sidebar-info.d.ts +9 -0
- package/dist/application/resume-sidebar-info.d.ts.map +1 -0
- package/dist/application/resume-sidebar-info.js +40 -0
- package/dist/application/resume-sidebar-info.js.map +1 -0
- package/dist/application/resume-strategy-feedback.d.ts.map +1 -1
- package/dist/application/resume-strategy-feedback.js +2 -1
- package/dist/application/resume-strategy-feedback.js.map +1 -1
- package/dist/application/run-session.d.ts +15 -0
- package/dist/application/run-session.d.ts.map +1 -1
- package/dist/application/run-session.js +110 -19
- package/dist/application/run-session.js.map +1 -1
- package/dist/application/runtime-session-rehydration.d.ts +9 -0
- package/dist/application/runtime-session-rehydration.d.ts.map +1 -0
- package/dist/application/runtime-session-rehydration.js +115 -0
- package/dist/application/runtime-session-rehydration.js.map +1 -0
- package/dist/application/session-context-artifacts.d.ts +19 -0
- package/dist/application/session-context-artifacts.d.ts.map +1 -0
- package/dist/application/session-context-artifacts.js +60 -0
- package/dist/application/session-context-artifacts.js.map +1 -0
- package/dist/application/session-metadata.d.ts +35 -0
- package/dist/application/session-metadata.d.ts.map +1 -0
- package/dist/application/session-metadata.js +157 -0
- package/dist/application/session-metadata.js.map +1 -0
- package/dist/application/session-report.d.ts.map +1 -1
- package/dist/application/session-report.js +8 -0
- package/dist/application/session-report.js.map +1 -1
- package/dist/application/session-resume.d.ts +1 -1
- package/dist/application/session-resume.d.ts.map +1 -1
- package/dist/application/session-resume.js +4 -4
- package/dist/application/session-resume.js.map +1 -1
- package/dist/application/work-governance-context.d.ts +7 -0
- package/dist/application/work-governance-context.d.ts.map +1 -0
- package/dist/application/work-governance-context.js +64 -0
- package/dist/application/work-governance-context.js.map +1 -0
- package/dist/application/work-governance-context.test.d.ts +2 -0
- package/dist/application/work-governance-context.test.d.ts.map +1 -0
- package/dist/application/work-governance-context.test.js +55 -0
- package/dist/application/work-governance-context.test.js.map +1 -0
- package/dist/application/work-governance-policy.d.ts +15 -0
- package/dist/application/work-governance-policy.d.ts.map +1 -0
- package/dist/application/work-governance-policy.js +53 -0
- package/dist/application/work-governance-policy.js.map +1 -0
- package/dist/application/work-governance-tool.d.ts +421 -0
- package/dist/application/work-governance-tool.d.ts.map +1 -0
- package/dist/application/work-governance-tool.js +937 -0
- package/dist/application/work-governance-tool.js.map +1 -0
- package/dist/application/work-governance-tool.test.d.ts +2 -0
- package/dist/application/work-governance-tool.test.d.ts.map +1 -0
- package/dist/application/work-governance-tool.test.js +935 -0
- package/dist/application/work-governance-tool.test.js.map +1 -0
- package/dist/application/work-governance-workflows.d.ts +23 -0
- package/dist/application/work-governance-workflows.d.ts.map +1 -0
- package/dist/application/work-governance-workflows.js +177 -0
- package/dist/application/work-governance-workflows.js.map +1 -0
- package/dist/application/workflow-snapshot-export.d.ts +81 -0
- package/dist/application/workflow-snapshot-export.d.ts.map +1 -0
- package/dist/application/workflow-snapshot-export.js +141 -0
- package/dist/application/workflow-snapshot-export.js.map +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +242 -24
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/benchmark.d.ts +8 -0
- package/dist/commands/benchmark.d.ts.map +1 -0
- package/dist/commands/benchmark.js +287 -0
- package/dist/commands/benchmark.js.map +1 -0
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +369 -39
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/config.test.d.ts +2 -0
- package/dist/commands/config.test.d.ts.map +1 -0
- package/dist/commands/config.test.js +86 -0
- package/dist/commands/config.test.js.map +1 -0
- package/dist/commands/goal.d.ts +12 -0
- package/dist/commands/goal.d.ts.map +1 -0
- package/dist/commands/goal.js +469 -0
- package/dist/commands/goal.js.map +1 -0
- package/dist/commands/goal.test.d.ts +2 -0
- package/dist/commands/goal.test.d.ts.map +1 -0
- package/dist/commands/goal.test.js +317 -0
- package/dist/commands/goal.test.js.map +1 -0
- package/dist/commands/gui-options.d.ts +5 -0
- package/dist/commands/gui-options.d.ts.map +1 -0
- package/dist/commands/gui-options.js +18 -0
- package/dist/commands/gui-options.js.map +1 -0
- package/dist/commands/gui-session-detail.d.ts +4 -0
- package/dist/commands/gui-session-detail.d.ts.map +1 -0
- package/dist/commands/gui-session-detail.js +32 -0
- package/dist/commands/gui-session-detail.js.map +1 -0
- package/dist/commands/gui-session-summaries.d.ts +5 -0
- package/dist/commands/gui-session-summaries.d.ts.map +1 -0
- package/dist/commands/gui-session-summaries.js +62 -0
- package/dist/commands/gui-session-summaries.js.map +1 -0
- package/dist/commands/gui-shutdown-monitor.d.ts +8 -0
- package/dist/commands/gui-shutdown-monitor.d.ts.map +1 -0
- package/dist/commands/gui-shutdown-monitor.js +50 -0
- package/dist/commands/gui-shutdown-monitor.js.map +1 -0
- package/dist/commands/gui-window.d.ts +42 -0
- package/dist/commands/gui-window.d.ts.map +1 -0
- package/dist/commands/gui-window.js +287 -0
- package/dist/commands/gui-window.js.map +1 -0
- package/dist/commands/gui-workspace.d.ts +3 -0
- package/dist/commands/gui-workspace.d.ts.map +1 -0
- package/dist/commands/gui-workspace.js +297 -0
- package/dist/commands/gui-workspace.js.map +1 -0
- package/dist/commands/gui.d.ts +14 -0
- package/dist/commands/gui.d.ts.map +1 -0
- package/dist/commands/gui.js +391 -0
- package/dist/commands/gui.js.map +1 -0
- package/dist/commands/import-native.d.ts +34 -0
- package/dist/commands/import-native.d.ts.map +1 -0
- package/dist/commands/import-native.js +302 -0
- package/dist/commands/import-native.js.map +1 -0
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +13 -12
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp-config.d.ts.map +1 -1
- package/dist/commands/mcp-config.js +6 -3
- package/dist/commands/mcp-config.js.map +1 -1
- package/dist/commands/memory.d.ts +1 -1
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +188 -39
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +64 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/route.d.ts +3 -0
- package/dist/commands/route.d.ts.map +1 -0
- package/dist/commands/route.js +19 -0
- package/dist/commands/route.js.map +1 -0
- package/dist/commands/run.d.ts +23 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +416 -81
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/skill-capture.js +34 -14
- package/dist/commands/skill-capture.js.map +1 -1
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +10 -9
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/status.d.ts +5 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +134 -5
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +8 -6
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +173 -48
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/tools.d.ts +2 -0
- package/dist/commands/tools.d.ts.map +1 -1
- package/dist/commands/tools.js +34 -15
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/tui.d.ts +6 -4
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +594 -94
- package/dist/commands/tui.js.map +1 -1
- package/dist/commands/uninstall.d.ts +13 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +111 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/config/builtin-tool-surface-config.d.ts +6 -0
- package/dist/config/builtin-tool-surface-config.d.ts.map +1 -0
- package/dist/config/builtin-tool-surface-config.js +27 -0
- package/dist/config/builtin-tool-surface-config.js.map +1 -0
- package/dist/config/config-merger.d.ts +1 -1
- package/dist/config/config-merger.d.ts.map +1 -1
- package/dist/config/config-merger.js +21 -4
- package/dist/config/config-merger.js.map +1 -1
- package/dist/config/config-merger.test.js +202 -7
- package/dist/config/config-merger.test.js.map +1 -1
- package/dist/config/global-config.d.ts +59 -13
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +580 -5
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/global-config.test.js +481 -8
- package/dist/config/global-config.test.js.map +1 -1
- package/dist/config/harness-integration-capabilities.d.ts +27 -0
- package/dist/config/harness-integration-capabilities.d.ts.map +1 -0
- package/dist/config/harness-integration-capabilities.js +64 -0
- package/dist/config/harness-integration-capabilities.js.map +1 -0
- package/dist/config/interactive-use-config.d.ts +25 -0
- package/dist/config/interactive-use-config.d.ts.map +1 -0
- package/dist/config/interactive-use-config.js +210 -0
- package/dist/config/interactive-use-config.js.map +1 -0
- package/dist/config/json-comments.d.ts +2 -0
- package/dist/config/json-comments.d.ts.map +1 -0
- package/dist/config/json-comments.js +21 -0
- package/dist/config/json-comments.js.map +1 -0
- package/dist/config/managed-agent-direct-adapters.d.ts +15 -0
- package/dist/config/managed-agent-direct-adapters.d.ts.map +1 -0
- package/dist/config/managed-agent-direct-adapters.js +54 -0
- package/dist/config/managed-agent-direct-adapters.js.map +1 -0
- package/dist/config/managed-agent-provider-models.d.ts +3 -0
- package/dist/config/managed-agent-provider-models.d.ts.map +1 -0
- package/dist/config/managed-agent-provider-models.js +12 -0
- package/dist/config/managed-agent-provider-models.js.map +1 -0
- package/dist/config/managed-agent-routes.d.ts +49 -0
- package/dist/config/managed-agent-routes.d.ts.map +1 -0
- package/dist/config/managed-agent-routes.js +578 -0
- package/dist/config/managed-agent-routes.js.map +1 -0
- package/dist/config/managed-invocation-context-resolver.d.ts +10 -0
- package/dist/config/managed-invocation-context-resolver.d.ts.map +1 -0
- package/dist/config/managed-invocation-context-resolver.js +98 -0
- package/dist/config/managed-invocation-context-resolver.js.map +1 -0
- package/dist/config/managed-invocation-context-resolver.test.d.ts +2 -0
- package/dist/config/managed-invocation-context-resolver.test.d.ts.map +1 -0
- package/dist/config/managed-invocation-context-resolver.test.js +133 -0
- package/dist/config/managed-invocation-context-resolver.test.js.map +1 -0
- package/dist/config/model-task-suitability.d.ts +9 -0
- package/dist/config/model-task-suitability.d.ts.map +1 -0
- package/dist/config/model-task-suitability.js +40 -0
- package/dist/config/model-task-suitability.js.map +1 -0
- package/dist/config/native-agent-projection.d.ts +16 -0
- package/dist/config/native-agent-projection.d.ts.map +1 -0
- package/dist/config/native-agent-projection.js +242 -0
- package/dist/config/native-agent-projection.js.map +1 -0
- package/dist/config/native-hook-projection.d.ts +11 -0
- package/dist/config/native-hook-projection.d.ts.map +1 -0
- package/dist/config/native-hook-projection.js +180 -0
- package/dist/config/native-hook-projection.js.map +1 -0
- package/dist/config/native-permission-projection.d.ts +12 -0
- package/dist/config/native-permission-projection.d.ts.map +1 -0
- package/dist/config/native-permission-projection.js +162 -0
- package/dist/config/native-permission-projection.js.map +1 -0
- package/dist/config/native-projection-backup.d.ts +8 -0
- package/dist/config/native-projection-backup.d.ts.map +1 -0
- package/dist/config/native-projection-backup.js +19 -0
- package/dist/config/native-projection-backup.js.map +1 -0
- package/dist/config/native-projection-policy.d.ts +10 -0
- package/dist/config/native-projection-policy.d.ts.map +1 -0
- package/dist/config/native-projection-policy.js +9 -0
- package/dist/config/native-projection-policy.js.map +1 -0
- package/dist/config/native-projection-state.d.ts +57 -0
- package/dist/config/native-projection-state.d.ts.map +1 -0
- package/dist/config/native-projection-state.js +199 -0
- package/dist/config/native-projection-state.js.map +1 -0
- package/dist/config/native-skill-projection.d.ts +24 -0
- package/dist/config/native-skill-projection.d.ts.map +1 -0
- package/dist/config/native-skill-projection.js +170 -0
- package/dist/config/native-skill-projection.js.map +1 -0
- package/dist/config/operator-identity-context.d.ts +7 -0
- package/dist/config/operator-identity-context.d.ts.map +1 -0
- package/dist/config/operator-identity-context.js +46 -0
- package/dist/config/operator-identity-context.js.map +1 -0
- package/dist/config/operator-identity-context.test.d.ts +2 -0
- package/dist/config/operator-identity-context.test.d.ts.map +1 -0
- package/dist/config/operator-identity-context.test.js +61 -0
- package/dist/config/operator-identity-context.test.js.map +1 -0
- package/dist/config/operator-voice.d.ts +10 -0
- package/dist/config/operator-voice.d.ts.map +1 -0
- package/dist/config/operator-voice.js +29 -0
- package/dist/config/operator-voice.js.map +1 -0
- package/dist/config/provider-route-candidates.d.ts +20 -0
- package/dist/config/provider-route-candidates.d.ts.map +1 -0
- package/dist/config/provider-route-candidates.js +211 -0
- package/dist/config/provider-route-candidates.js.map +1 -0
- package/dist/config/provider-route-candidates.test.d.ts +2 -0
- package/dist/config/provider-route-candidates.test.d.ts.map +1 -0
- package/dist/config/provider-route-candidates.test.js +150 -0
- package/dist/config/provider-route-candidates.test.js.map +1 -0
- package/dist/config/skill-registry.d.ts +9 -0
- package/dist/config/skill-registry.d.ts.map +1 -0
- package/dist/config/skill-registry.js +13 -0
- package/dist/config/skill-registry.js.map +1 -0
- package/dist/config/skill-registry.test.d.ts +2 -0
- package/dist/config/skill-registry.test.d.ts.map +1 -0
- package/dist/config/skill-registry.test.js +64 -0
- package/dist/config/skill-registry.test.js.map +1 -0
- package/dist/config/task-skill-selection.d.ts +24 -0
- package/dist/config/task-skill-selection.d.ts.map +1 -0
- package/dist/config/task-skill-selection.js +79 -0
- package/dist/config/task-skill-selection.js.map +1 -0
- package/dist/config/translators/claude-translator.d.ts +7 -0
- package/dist/config/translators/claude-translator.d.ts.map +1 -0
- package/dist/config/translators/claude-translator.js +30 -0
- package/dist/config/translators/claude-translator.js.map +1 -0
- package/dist/config/translators/codex-translator.d.ts +7 -0
- package/dist/config/translators/codex-translator.d.ts.map +1 -0
- package/dist/config/translators/codex-translator.js +20 -0
- package/dist/config/translators/codex-translator.js.map +1 -0
- package/dist/config/translators/opencode-translator.d.ts +7 -0
- package/dist/config/translators/opencode-translator.d.ts.map +1 -0
- package/dist/config/translators/opencode-translator.js +19 -0
- package/dist/config/translators/opencode-translator.js.map +1 -0
- package/dist/config/translators/permission-projection.d.ts +26 -0
- package/dist/config/translators/permission-projection.d.ts.map +1 -0
- package/dist/config/translators/permission-projection.js +22 -0
- package/dist/config/translators/permission-projection.js.map +1 -0
- package/dist/config/web-tools-config.d.ts +45 -0
- package/dist/config/web-tools-config.d.ts.map +1 -0
- package/dist/config/web-tools-config.js +846 -0
- package/dist/config/web-tools-config.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/engines/engine-registry.d.ts +45 -0
- package/dist/engines/engine-registry.d.ts.map +1 -0
- package/dist/engines/engine-registry.js +125 -0
- package/dist/engines/engine-registry.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -18
- package/dist/index.js.map +1 -1
- package/dist/kiln-yaml-types.d.ts +207 -1
- package/dist/kiln-yaml-types.d.ts.map +1 -1
- package/dist/kiln-yaml-types.js +29 -0
- package/dist/kiln-yaml-types.js.map +1 -1
- package/dist/kiln-yaml.d.ts +1 -1
- package/dist/kiln-yaml.d.ts.map +1 -1
- package/dist/kiln-yaml.js +93 -0
- package/dist/kiln-yaml.js.map +1 -1
- package/dist/mcp/config-generator.d.ts.map +1 -1
- package/dist/mcp/config-generator.js +8 -7
- package/dist/mcp/config-generator.js.map +1 -1
- package/dist/mcp/index.d.ts +2 -25
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -103
- package/dist/mcp/index.js.map +1 -1
- package/dist/wrapper/__tests__/session-manager-context-governor.test.d.ts +2 -0
- package/dist/wrapper/__tests__/session-manager-context-governor.test.d.ts.map +1 -0
- package/dist/wrapper/__tests__/session-manager-context-governor.test.js +210 -0
- package/dist/wrapper/__tests__/session-manager-context-governor.test.js.map +1 -0
- package/dist/wrapper/claude-code-process.d.ts +1 -0
- package/dist/wrapper/claude-code-process.d.ts.map +1 -1
- package/dist/wrapper/claude-code-process.js +32 -19
- package/dist/wrapper/claude-code-process.js.map +1 -1
- package/dist/wrapper/cleanup-registry.d.ts.map +1 -1
- package/dist/wrapper/cleanup-registry.js +3 -1
- package/dist/wrapper/cleanup-registry.js.map +1 -1
- package/dist/wrapper/codex-session.d.ts +3 -0
- package/dist/wrapper/codex-session.d.ts.map +1 -1
- package/dist/wrapper/codex-session.js +193 -85
- package/dist/wrapper/codex-session.js.map +1 -1
- package/dist/wrapper/debug.d.ts.map +1 -1
- package/dist/wrapper/debug.js +2 -0
- package/dist/wrapper/debug.js.map +1 -1
- package/dist/wrapper/direct-provider-adapter-factory.d.ts +12 -0
- package/dist/wrapper/direct-provider-adapter-factory.d.ts.map +1 -0
- package/dist/wrapper/direct-provider-adapter-factory.js +99 -0
- package/dist/wrapper/direct-provider-adapter-factory.js.map +1 -0
- package/dist/wrapper/index.d.ts +0 -2
- package/dist/wrapper/index.d.ts.map +1 -1
- package/dist/wrapper/index.js +0 -1
- package/dist/wrapper/index.js.map +1 -1
- package/dist/wrapper/opencode-session.d.ts +4 -0
- package/dist/wrapper/opencode-session.d.ts.map +1 -1
- package/dist/wrapper/opencode-session.js +245 -38
- package/dist/wrapper/opencode-session.js.map +1 -1
- package/dist/wrapper/permission-evaluator.d.ts +2 -1
- package/dist/wrapper/permission-evaluator.d.ts.map +1 -1
- package/dist/wrapper/permission-evaluator.js +54 -0
- package/dist/wrapper/permission-evaluator.js.map +1 -1
- package/dist/wrapper/permission-normalizer.d.ts +5 -1
- package/dist/wrapper/permission-normalizer.d.ts.map +1 -1
- package/dist/wrapper/permission-normalizer.js +17 -0
- package/dist/wrapper/permission-normalizer.js.map +1 -1
- package/dist/wrapper/permission-policy-authorizer.d.ts +1 -1
- package/dist/wrapper/permission-policy-authorizer.js +1 -1
- package/dist/wrapper/pooled-harness-session.d.ts +24 -0
- package/dist/wrapper/pooled-harness-session.d.ts.map +1 -0
- package/dist/wrapper/pooled-harness-session.js +123 -0
- package/dist/wrapper/pooled-harness-session.js.map +1 -0
- package/dist/wrapper/preamble-builder.d.ts +4 -1
- package/dist/wrapper/preamble-builder.d.ts.map +1 -1
- package/dist/wrapper/preamble-builder.js +48 -20
- package/dist/wrapper/preamble-builder.js.map +1 -1
- package/dist/wrapper/provider-session.d.ts +25 -5
- package/dist/wrapper/provider-session.d.ts.map +1 -1
- package/dist/wrapper/provider-session.js +562 -138
- package/dist/wrapper/provider-session.js.map +1 -1
- package/dist/wrapper/session-manager.d.ts.map +1 -1
- package/dist/wrapper/session-manager.js +16 -5
- package/dist/wrapper/session-manager.js.map +1 -1
- package/dist/wrapper/session-registry.d.ts +11 -1
- package/dist/wrapper/session-registry.d.ts.map +1 -1
- package/dist/wrapper/session-registry.js +167 -259
- package/dist/wrapper/session-registry.js.map +1 -1
- package/dist/wrapper/session-store.d.ts +33 -10
- package/dist/wrapper/session-store.d.ts.map +1 -1
- package/dist/wrapper/session-store.js +327 -84
- package/dist/wrapper/session-store.js.map +1 -1
- package/dist/wrapper/session.d.ts +55 -2
- package/dist/wrapper/session.d.ts.map +1 -1
- package/dist/wrapper/session.js +11 -2
- package/dist/wrapper/session.js.map +1 -1
- package/package.json +8 -8
- package/dist/application/__tests__/plan-exit-tool.test.d.ts +0 -2
- package/dist/application/__tests__/plan-exit-tool.test.d.ts.map +0 -1
- package/dist/application/__tests__/plan-exit-tool.test.js +0 -12
- package/dist/application/__tests__/plan-exit-tool.test.js.map +0 -1
- package/dist/application/context-governor.d.ts +0 -26
- package/dist/application/context-governor.d.ts.map +0 -1
- package/dist/application/context-governor.js +0 -164
- package/dist/application/context-governor.js.map +0 -1
- package/dist/application/plan-exit-tool.d.ts +0 -19
- package/dist/application/plan-exit-tool.d.ts.map +0 -1
- package/dist/application/plan-exit-tool.js +0 -13
- package/dist/application/plan-exit-tool.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -7
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -24
- package/dist/commands/serve.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -36
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -156
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/transports.d.ts +0 -28
- package/dist/mcp/transports.d.ts.map +0 -1
- package/dist/mcp/transports.js +0 -108
- package/dist/mcp/transports.js.map +0 -1
- package/dist/mcp-entry.d.ts +0 -3
- package/dist/mcp-entry.d.ts.map +0 -1
- package/dist/mcp-entry.js +0 -19
- package/dist/mcp-entry.js.map +0 -1
- package/dist/sync/agent-sync.d.ts +0 -13
- package/dist/sync/agent-sync.d.ts.map +0 -1
- package/dist/sync/agent-sync.js +0 -130
- package/dist/sync/agent-sync.js.map +0 -1
- package/dist/sync/agent-sync.test.d.ts +0 -2
- package/dist/sync/agent-sync.test.d.ts.map +0 -1
- package/dist/sync/agent-sync.test.js +0 -130
- package/dist/sync/agent-sync.test.js.map +0 -1
- package/dist/sync/agents-md-sync.d.ts +0 -7
- package/dist/sync/agents-md-sync.d.ts.map +0 -1
- package/dist/sync/agents-md-sync.js +0 -44
- package/dist/sync/agents-md-sync.js.map +0 -1
- package/dist/sync/agents-md-sync.test.d.ts +0 -2
- package/dist/sync/agents-md-sync.test.d.ts.map +0 -1
- package/dist/sync/agents-md-sync.test.js +0 -154
- package/dist/sync/agents-md-sync.test.js.map +0 -1
- package/dist/sync/hook-sync.d.ts +0 -8
- package/dist/sync/hook-sync.d.ts.map +0 -1
- package/dist/sync/hook-sync.js +0 -90
- package/dist/sync/hook-sync.js.map +0 -1
- package/dist/sync/security-sync.d.ts +0 -9
- package/dist/sync/security-sync.d.ts.map +0 -1
- package/dist/sync/security-sync.js +0 -161
- package/dist/sync/security-sync.js.map +0 -1
- package/dist/sync/skill-sync.d.ts +0 -10
- package/dist/sync/skill-sync.d.ts.map +0 -1
- package/dist/sync/skill-sync.js +0 -87
- package/dist/sync/skill-sync.js.map +0 -1
- package/dist/sync/skill-sync.test.d.ts +0 -2
- package/dist/sync/skill-sync.test.d.ts.map +0 -1
- package/dist/sync/skill-sync.test.js +0 -163
- package/dist/sync/skill-sync.test.js.map +0 -1
- package/dist/wrapper/executable-provider-session.d.ts +0 -26
- package/dist/wrapper/executable-provider-session.d.ts.map +0 -1
- package/dist/wrapper/executable-provider-session.js +0 -214
- package/dist/wrapper/executable-provider-session.js.map +0 -1
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
const WINDOWS_BROWSER_CANDIDATES = [
|
|
6
|
+
{
|
|
7
|
+
id: "edge",
|
|
8
|
+
label: "Microsoft Edge",
|
|
9
|
+
commands: ["msedge", "msedge.exe"],
|
|
10
|
+
absolutePaths: [
|
|
11
|
+
"C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe",
|
|
12
|
+
"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: "chrome",
|
|
17
|
+
label: "Google Chrome",
|
|
18
|
+
commands: ["chrome", "chrome.exe"],
|
|
19
|
+
absolutePaths: [
|
|
20
|
+
"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
|
|
21
|
+
"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "chromium",
|
|
26
|
+
label: "Chromium",
|
|
27
|
+
commands: ["chromium", "chromium.exe"],
|
|
28
|
+
absolutePaths: [
|
|
29
|
+
"C:\\Program Files\\Chromium\\Application\\chromium.exe",
|
|
30
|
+
"C:\\Program Files (x86)\\Chromium\\Application\\chromium.exe",
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
const DARWIN_BROWSER_CANDIDATES = [
|
|
35
|
+
{
|
|
36
|
+
id: "edge",
|
|
37
|
+
label: "Microsoft Edge",
|
|
38
|
+
commands: ["microsoft-edge", "msedge"],
|
|
39
|
+
absolutePaths: [
|
|
40
|
+
"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: "chrome",
|
|
45
|
+
label: "Google Chrome",
|
|
46
|
+
commands: ["google-chrome", "chrome"],
|
|
47
|
+
absolutePaths: [
|
|
48
|
+
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "chromium",
|
|
53
|
+
label: "Chromium",
|
|
54
|
+
commands: ["chromium", "chromium-browser"],
|
|
55
|
+
absolutePaths: [
|
|
56
|
+
"/Applications/Chromium.app/Contents/MacOS/Chromium",
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
const LINUX_BROWSER_CANDIDATES = [
|
|
61
|
+
{
|
|
62
|
+
id: "edge",
|
|
63
|
+
label: "Microsoft Edge",
|
|
64
|
+
commands: ["microsoft-edge", "microsoft-edge-stable", "msedge"],
|
|
65
|
+
absolutePaths: [],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: "chrome",
|
|
69
|
+
label: "Google Chrome",
|
|
70
|
+
commands: ["google-chrome", "google-chrome-stable", "chrome"],
|
|
71
|
+
absolutePaths: [],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: "chromium",
|
|
75
|
+
label: "Chromium",
|
|
76
|
+
commands: ["chromium", "chromium-browser"],
|
|
77
|
+
absolutePaths: [],
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
function getBrowserCandidates(platform) {
|
|
81
|
+
switch (platform) {
|
|
82
|
+
case "win32":
|
|
83
|
+
return WINDOWS_BROWSER_CANDIDATES;
|
|
84
|
+
case "darwin":
|
|
85
|
+
return DARWIN_BROWSER_CANDIDATES;
|
|
86
|
+
default:
|
|
87
|
+
return LINUX_BROWSER_CANDIDATES;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function defaultResolveCommand(command, platform) {
|
|
91
|
+
const locator = platform === "win32" ? "where" : "which";
|
|
92
|
+
const result = spawnSync(locator, [command], {
|
|
93
|
+
encoding: "utf8",
|
|
94
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
95
|
+
windowsHide: true,
|
|
96
|
+
});
|
|
97
|
+
if (result.status !== 0) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
const firstMatch = result.stdout
|
|
101
|
+
.split(/\r?\n/g)
|
|
102
|
+
.map((line) => line.trim())
|
|
103
|
+
.find((line) => line.length > 0);
|
|
104
|
+
return firstMatch ?? null;
|
|
105
|
+
}
|
|
106
|
+
function defaultCreateProfileDir() {
|
|
107
|
+
return mkdtempSync(join(tmpdir(), "kiln-gui-window-"));
|
|
108
|
+
}
|
|
109
|
+
function defaultCleanupProfileDir(path) {
|
|
110
|
+
rmSync(path, { recursive: true, force: true });
|
|
111
|
+
}
|
|
112
|
+
function normalizeManagedGuiUrl(url) {
|
|
113
|
+
return url.replace(/[?#].*$/, "");
|
|
114
|
+
}
|
|
115
|
+
function tryReadDevToolsPort(profileDir) {
|
|
116
|
+
const activePortFile = join(profileDir, "DevToolsActivePort");
|
|
117
|
+
if (!existsSync(activePortFile)) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
const [portLine] = readFileSync(activePortFile, "utf8").split(/\r?\n/g);
|
|
122
|
+
const port = Number.parseInt((portLine ?? "").trim(), 10);
|
|
123
|
+
return Number.isFinite(port) && port > 0 ? port : null;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export function waitForManagedGuiAppWindowClose(url, profileDir, child, options = {}) {
|
|
130
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
131
|
+
const setIntervalImpl = options.setIntervalImpl ?? setInterval;
|
|
132
|
+
const clearIntervalImpl = options.clearIntervalImpl ?? clearInterval;
|
|
133
|
+
const readDevToolsPort = options.readDevToolsPort ?? tryReadDevToolsPort;
|
|
134
|
+
const pollMs = options.pollMs ?? 500;
|
|
135
|
+
const normalizedUrl = normalizeManagedGuiUrl(url);
|
|
136
|
+
return new Promise((resolve) => {
|
|
137
|
+
let settled = false;
|
|
138
|
+
let sawManagedAppTarget = false;
|
|
139
|
+
let intervalHandle = null;
|
|
140
|
+
const finish = () => {
|
|
141
|
+
if (settled) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
settled = true;
|
|
145
|
+
if (intervalHandle) {
|
|
146
|
+
clearIntervalImpl(intervalHandle);
|
|
147
|
+
intervalHandle = null;
|
|
148
|
+
}
|
|
149
|
+
resolve();
|
|
150
|
+
};
|
|
151
|
+
const inspectTargets = async () => {
|
|
152
|
+
if (settled || child.exitCode !== null) {
|
|
153
|
+
finish();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const port = readDevToolsPort(profileDir);
|
|
157
|
+
if (!port) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
const response = await fetchImpl(`http://127.0.0.1:${port}/json/list`);
|
|
162
|
+
if (!response.ok) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const payload = await response.json();
|
|
166
|
+
if (!Array.isArray(payload)) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const hasManagedAppTarget = payload.some((target) => {
|
|
170
|
+
const summary = target;
|
|
171
|
+
return summary.type === "page"
|
|
172
|
+
&& typeof summary.url === "string"
|
|
173
|
+
&& normalizeManagedGuiUrl(summary.url) === normalizedUrl;
|
|
174
|
+
});
|
|
175
|
+
if (hasManagedAppTarget) {
|
|
176
|
+
sawManagedAppTarget = true;
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (sawManagedAppTarget) {
|
|
180
|
+
finish();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
if (sawManagedAppTarget) {
|
|
185
|
+
finish();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
child.once("exit", finish);
|
|
190
|
+
child.once("error", finish);
|
|
191
|
+
intervalHandle = setIntervalImpl(() => {
|
|
192
|
+
void inspectTargets();
|
|
193
|
+
}, pollMs);
|
|
194
|
+
void inspectTargets();
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
export function resolveGuiBrowserHost(options = {}) {
|
|
198
|
+
const platform = options.platform ?? process.platform;
|
|
199
|
+
const resolveCommand = options.resolveCommand ?? defaultResolveCommand;
|
|
200
|
+
const pathExists = options.pathExists ?? existsSync;
|
|
201
|
+
for (const candidate of getBrowserCandidates(platform)) {
|
|
202
|
+
for (const command of candidate.commands) {
|
|
203
|
+
const executable = resolveCommand(command, platform);
|
|
204
|
+
if (executable) {
|
|
205
|
+
return {
|
|
206
|
+
id: candidate.id,
|
|
207
|
+
label: candidate.label,
|
|
208
|
+
executable,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
for (const absolutePath of candidate.absolutePaths) {
|
|
213
|
+
if (pathExists(absolutePath)) {
|
|
214
|
+
return {
|
|
215
|
+
id: candidate.id,
|
|
216
|
+
label: candidate.label,
|
|
217
|
+
executable: absolutePath,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
export function buildGuiWindowLaunchSpec(host, url, profileDir) {
|
|
225
|
+
return {
|
|
226
|
+
command: host.executable,
|
|
227
|
+
args: [
|
|
228
|
+
`--app=${url}`,
|
|
229
|
+
"--new-window",
|
|
230
|
+
`--user-data-dir=${profileDir}`,
|
|
231
|
+
"--window-size=1440,980",
|
|
232
|
+
"--no-first-run",
|
|
233
|
+
"--no-default-browser-check",
|
|
234
|
+
"--disable-background-mode",
|
|
235
|
+
"--disable-background-networking",
|
|
236
|
+
"--disable-sync",
|
|
237
|
+
"--disable-extensions",
|
|
238
|
+
"--disable-component-update",
|
|
239
|
+
"--disable-default-apps",
|
|
240
|
+
"--no-service-autorun",
|
|
241
|
+
"--disable-features=Translate,MediaRouter",
|
|
242
|
+
"--remote-debugging-port=0",
|
|
243
|
+
],
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
export function launchGuiWindow(url, options = {}) {
|
|
247
|
+
const host = resolveGuiBrowserHost(options);
|
|
248
|
+
if (!host) {
|
|
249
|
+
throw new Error("No supported app-mode browser was found. Install Microsoft Edge, Google Chrome, or Chromium, or rerun with --no-open.");
|
|
250
|
+
}
|
|
251
|
+
const spawnImpl = options.spawnImpl ?? spawn;
|
|
252
|
+
const createProfileDir = options.createProfileDir ?? defaultCreateProfileDir;
|
|
253
|
+
const cleanupProfileDir = options.cleanupProfileDir ?? defaultCleanupProfileDir;
|
|
254
|
+
const profileDir = createProfileDir();
|
|
255
|
+
const launchSpec = buildGuiWindowLaunchSpec(host, url, profileDir);
|
|
256
|
+
const child = spawnImpl(launchSpec.command, [...launchSpec.args], {
|
|
257
|
+
stdio: "ignore",
|
|
258
|
+
windowsHide: false,
|
|
259
|
+
});
|
|
260
|
+
let cleaned = false;
|
|
261
|
+
const cleanup = () => {
|
|
262
|
+
if (cleaned) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
cleaned = true;
|
|
266
|
+
try {
|
|
267
|
+
cleanupProfileDir(profileDir);
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
console.warn(`Could not clean up GUI browser profile at ${profileDir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
child.once("exit", cleanup);
|
|
274
|
+
child.once("error", cleanup);
|
|
275
|
+
const whenClosed = waitForManagedGuiAppWindowClose(url, profileDir, child, options);
|
|
276
|
+
return {
|
|
277
|
+
browserLabel: host.label,
|
|
278
|
+
child,
|
|
279
|
+
whenClosed,
|
|
280
|
+
close() {
|
|
281
|
+
if (child.exitCode === null) {
|
|
282
|
+
child.kill();
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=gui-window.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gui-window.js","sourceRoot":"","sources":["../../src/commands/gui-window.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gui-workspace.d.ts","sourceRoot":"","sources":["../../src/commands/gui-workspace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,yBAAyB,EAK1B,MAAM,2BAA2B,CAAC;AAgMnC,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,GAAG,yBAAyB,CAyIhG"}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
3
|
+
import { basename, extname, isAbsolute, join, relative, resolve } from "node:path";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
const DIRECTORY_ENTRY_LIMIT = 250;
|
|
6
|
+
const TEXT_PREVIEW_BYTE_LIMIT = 256 * 1024;
|
|
7
|
+
const IMAGE_PREVIEW_BYTE_LIMIT = 1024 * 1024;
|
|
8
|
+
const GIT_STATUS_CACHE_TTL_MS = 2_000;
|
|
9
|
+
const GIT_STATUS_TIMEOUT_MS = 1_200;
|
|
10
|
+
const execFileAsync = promisify(execFile);
|
|
11
|
+
const TEXT_EXTENSIONS = new Set([
|
|
12
|
+
".c",
|
|
13
|
+
".cpp",
|
|
14
|
+
".cs",
|
|
15
|
+
".css",
|
|
16
|
+
".go",
|
|
17
|
+
".h",
|
|
18
|
+
".html",
|
|
19
|
+
".java",
|
|
20
|
+
".js",
|
|
21
|
+
".jsx",
|
|
22
|
+
".json",
|
|
23
|
+
".kt",
|
|
24
|
+
".md",
|
|
25
|
+
".mdx",
|
|
26
|
+
".py",
|
|
27
|
+
".rs",
|
|
28
|
+
".sh",
|
|
29
|
+
".sql",
|
|
30
|
+
".toml",
|
|
31
|
+
".ts",
|
|
32
|
+
".tsx",
|
|
33
|
+
".txt",
|
|
34
|
+
".xml",
|
|
35
|
+
".yaml",
|
|
36
|
+
".yml",
|
|
37
|
+
]);
|
|
38
|
+
const IMAGE_MIME_TYPES = new Map([
|
|
39
|
+
[".gif", "image/gif"],
|
|
40
|
+
[".jpg", "image/jpeg"],
|
|
41
|
+
[".jpeg", "image/jpeg"],
|
|
42
|
+
[".png", "image/png"],
|
|
43
|
+
[".svg", "image/svg+xml"],
|
|
44
|
+
[".webp", "image/webp"],
|
|
45
|
+
]);
|
|
46
|
+
class WorkspacePathError extends Error {
|
|
47
|
+
code;
|
|
48
|
+
path;
|
|
49
|
+
constructor(code, message, path) {
|
|
50
|
+
super(message);
|
|
51
|
+
this.code = code;
|
|
52
|
+
this.path = path;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function isWithinRoot(rootPath, targetPath) {
|
|
56
|
+
const relativePath = relative(rootPath, targetPath);
|
|
57
|
+
return relativePath === "" || (!relativePath.startsWith("..") && !isAbsolute(relativePath));
|
|
58
|
+
}
|
|
59
|
+
function resolveWorkspacePath(rootPath, candidatePath) {
|
|
60
|
+
const targetPath = candidatePath && candidatePath.trim().length > 0
|
|
61
|
+
? (isAbsolute(candidatePath) ? resolve(candidatePath) : resolve(rootPath, candidatePath))
|
|
62
|
+
: rootPath;
|
|
63
|
+
if (!isWithinRoot(rootPath, targetPath)) {
|
|
64
|
+
throw new WorkspacePathError("outside_workspace", "Workspace path is outside the active working directory.", targetPath);
|
|
65
|
+
}
|
|
66
|
+
return targetPath;
|
|
67
|
+
}
|
|
68
|
+
function compareEntries(a, b) {
|
|
69
|
+
if (a.kind !== b.kind) {
|
|
70
|
+
return a.kind === "directory" ? -1 : 1;
|
|
71
|
+
}
|
|
72
|
+
return a.name.localeCompare(b.name, "en-US", { sensitivity: "base" });
|
|
73
|
+
}
|
|
74
|
+
function normalizeRelativePath(path) {
|
|
75
|
+
return path.replace(/\\/g, "/").replace(/\/+$/g, "");
|
|
76
|
+
}
|
|
77
|
+
function toWorkspaceVcsState(status) {
|
|
78
|
+
if (status.includes("U") || status === "AA" || status === "DD") {
|
|
79
|
+
return "conflicted";
|
|
80
|
+
}
|
|
81
|
+
if (status === "??") {
|
|
82
|
+
return "untracked";
|
|
83
|
+
}
|
|
84
|
+
if (status === "!!") {
|
|
85
|
+
return "ignored";
|
|
86
|
+
}
|
|
87
|
+
if (status.includes("D")) {
|
|
88
|
+
return "deleted";
|
|
89
|
+
}
|
|
90
|
+
if (status.includes("R") || status.includes("C")) {
|
|
91
|
+
return "renamed";
|
|
92
|
+
}
|
|
93
|
+
if (status.includes("A")) {
|
|
94
|
+
return "added";
|
|
95
|
+
}
|
|
96
|
+
return "modified";
|
|
97
|
+
}
|
|
98
|
+
function statusPriority(state) {
|
|
99
|
+
switch (state) {
|
|
100
|
+
case "conflicted": return 7;
|
|
101
|
+
case "deleted": return 6;
|
|
102
|
+
case "renamed": return 5;
|
|
103
|
+
case "modified": return 4;
|
|
104
|
+
case "added": return 3;
|
|
105
|
+
case "untracked": return 2;
|
|
106
|
+
case "ignored": return 1;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function mergeVcsStatus(current, next) {
|
|
110
|
+
if (!current || statusPriority(next.state) > statusPriority(current.state)) {
|
|
111
|
+
return next;
|
|
112
|
+
}
|
|
113
|
+
if (statusPriority(next.state) === statusPriority(current.state) && next.staged && !current.staged) {
|
|
114
|
+
return { ...current, staged: true };
|
|
115
|
+
}
|
|
116
|
+
return current;
|
|
117
|
+
}
|
|
118
|
+
function setMergedStatus(statuses, path, status) {
|
|
119
|
+
if (!path) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
statuses.set(path, mergeVcsStatus(statuses.get(path), status));
|
|
123
|
+
}
|
|
124
|
+
function addAncestorDirectoryStatuses(statuses, relativePath, status) {
|
|
125
|
+
const segments = relativePath.split("/").filter(Boolean);
|
|
126
|
+
for (let index = 1; index < segments.length; index += 1) {
|
|
127
|
+
setMergedStatus(statuses, segments.slice(0, index).join("/"), status);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function parseGitStatus(output) {
|
|
131
|
+
const statuses = new Map();
|
|
132
|
+
const records = output.split("\0").filter((record) => record.length > 0);
|
|
133
|
+
for (let index = 0; index < records.length; index += 1) {
|
|
134
|
+
const record = records[index];
|
|
135
|
+
const status = record.slice(0, 2);
|
|
136
|
+
const relativePath = normalizeRelativePath(record.slice(3));
|
|
137
|
+
if (!relativePath) {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
const state = toWorkspaceVcsState(status);
|
|
141
|
+
const vcs = {
|
|
142
|
+
provider: "git",
|
|
143
|
+
state,
|
|
144
|
+
...(status[0] !== " " && status !== "??" && status !== "!!" ? { staged: true } : {}),
|
|
145
|
+
};
|
|
146
|
+
setMergedStatus(statuses, relativePath, vcs);
|
|
147
|
+
addAncestorDirectoryStatuses(statuses, relativePath, vcs);
|
|
148
|
+
if (state === "renamed" && records[index + 1]) {
|
|
149
|
+
index += 1;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return statuses;
|
|
153
|
+
}
|
|
154
|
+
function vcsStatusForEntry(rootPath, entry, statuses) {
|
|
155
|
+
const relativePath = normalizeRelativePath(relative(rootPath, entry.path));
|
|
156
|
+
return relativePath ? statuses.get(relativePath) : undefined;
|
|
157
|
+
}
|
|
158
|
+
function languageFromExtension(extension) {
|
|
159
|
+
const normalized = extension.replace(/^\./, "");
|
|
160
|
+
return normalized || undefined;
|
|
161
|
+
}
|
|
162
|
+
function looksLikeText(buffer, extension) {
|
|
163
|
+
if (TEXT_EXTENSIONS.has(extension)) {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
return !buffer.subarray(0, Math.min(buffer.length, 4096)).includes(0);
|
|
167
|
+
}
|
|
168
|
+
export function createLocalWorkspaceExplorer(workingDirectory) {
|
|
169
|
+
const rootPath = resolve(workingDirectory);
|
|
170
|
+
let gitStatusCache = null;
|
|
171
|
+
let gitStatusInFlight = null;
|
|
172
|
+
const readGitStatus = async () => {
|
|
173
|
+
const now = Date.now();
|
|
174
|
+
if (gitStatusCache && gitStatusCache.expiresAt > now) {
|
|
175
|
+
return gitStatusCache.statuses;
|
|
176
|
+
}
|
|
177
|
+
if (gitStatusInFlight) {
|
|
178
|
+
return gitStatusInFlight;
|
|
179
|
+
}
|
|
180
|
+
gitStatusInFlight = execFileAsync("git", [
|
|
181
|
+
"-C",
|
|
182
|
+
rootPath,
|
|
183
|
+
"status",
|
|
184
|
+
"--porcelain=v1",
|
|
185
|
+
"-z",
|
|
186
|
+
"--untracked-files=all",
|
|
187
|
+
], {
|
|
188
|
+
encoding: "utf8",
|
|
189
|
+
timeout: GIT_STATUS_TIMEOUT_MS,
|
|
190
|
+
windowsHide: true,
|
|
191
|
+
maxBuffer: 1024 * 1024,
|
|
192
|
+
})
|
|
193
|
+
.then(({ stdout }) => parseGitStatus(stdout))
|
|
194
|
+
.catch(() => new Map())
|
|
195
|
+
.then((statuses) => {
|
|
196
|
+
gitStatusCache = { expiresAt: Date.now() + GIT_STATUS_CACHE_TTL_MS, statuses };
|
|
197
|
+
return statuses;
|
|
198
|
+
})
|
|
199
|
+
.finally(() => {
|
|
200
|
+
gitStatusInFlight = null;
|
|
201
|
+
});
|
|
202
|
+
return gitStatusInFlight;
|
|
203
|
+
};
|
|
204
|
+
return {
|
|
205
|
+
async listDirectory(path) {
|
|
206
|
+
const directoryPath = resolveWorkspacePath(rootPath, path);
|
|
207
|
+
const directoryStat = await stat(directoryPath).catch(() => {
|
|
208
|
+
throw new WorkspacePathError("not_found", "Workspace directory was not found.", directoryPath);
|
|
209
|
+
});
|
|
210
|
+
if (!directoryStat.isDirectory()) {
|
|
211
|
+
throw new WorkspacePathError("not_a_directory", "Workspace path is not a directory.", directoryPath);
|
|
212
|
+
}
|
|
213
|
+
const dirents = await readdir(directoryPath, { withFileTypes: true });
|
|
214
|
+
const gitStatuses = await readGitStatus();
|
|
215
|
+
const entries = await Promise.all(dirents.map(async (entry) => {
|
|
216
|
+
if (!entry.isDirectory() && !entry.isFile()) {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
const entryPath = join(directoryPath, entry.name);
|
|
220
|
+
const entryStat = await stat(entryPath).catch(() => null);
|
|
221
|
+
const treeEntry = {
|
|
222
|
+
path: entryPath,
|
|
223
|
+
name: entry.name,
|
|
224
|
+
kind: entry.isDirectory() ? "directory" : "file",
|
|
225
|
+
...(entryStat ? { sizeBytes: entryStat.size, modifiedAt: entryStat.mtime.toISOString() } : {}),
|
|
226
|
+
};
|
|
227
|
+
const vcs = vcsStatusForEntry(rootPath, treeEntry, gitStatuses);
|
|
228
|
+
return {
|
|
229
|
+
...treeEntry,
|
|
230
|
+
...(vcs ? { vcs } : {}),
|
|
231
|
+
};
|
|
232
|
+
}));
|
|
233
|
+
const sortedEntries = entries
|
|
234
|
+
.filter((entry) => entry !== null)
|
|
235
|
+
.sort(compareEntries);
|
|
236
|
+
const truncated = sortedEntries.length > DIRECTORY_ENTRY_LIMIT;
|
|
237
|
+
return {
|
|
238
|
+
rootPath,
|
|
239
|
+
directoryPath,
|
|
240
|
+
...(directoryPath !== rootPath ? { parentPath: resolve(directoryPath, "..") } : {}),
|
|
241
|
+
entries: truncated ? sortedEntries.slice(0, DIRECTORY_ENTRY_LIMIT) : sortedEntries,
|
|
242
|
+
truncated: truncated || undefined,
|
|
243
|
+
source: "gateway",
|
|
244
|
+
};
|
|
245
|
+
},
|
|
246
|
+
async readFile(path) {
|
|
247
|
+
const filePath = resolveWorkspacePath(rootPath, path);
|
|
248
|
+
const fileStat = await stat(filePath).catch(() => {
|
|
249
|
+
throw new WorkspacePathError("not_found", "Workspace file was not found.", filePath);
|
|
250
|
+
});
|
|
251
|
+
if (!fileStat.isFile()) {
|
|
252
|
+
throw new WorkspacePathError("not_a_file", "Workspace path is not a file.", filePath);
|
|
253
|
+
}
|
|
254
|
+
const extension = extname(filePath).toLocaleLowerCase("en-US");
|
|
255
|
+
const imageMimeType = IMAGE_MIME_TYPES.get(extension);
|
|
256
|
+
const readLimit = imageMimeType ? IMAGE_PREVIEW_BYTE_LIMIT : TEXT_PREVIEW_BYTE_LIMIT;
|
|
257
|
+
const fullBuffer = await readFile(filePath).catch(() => {
|
|
258
|
+
throw new WorkspacePathError("read_failed", "Workspace file could not be read.", filePath);
|
|
259
|
+
});
|
|
260
|
+
const truncated = fullBuffer.length > readLimit;
|
|
261
|
+
const previewBuffer = truncated ? fullBuffer.subarray(0, readLimit) : fullBuffer;
|
|
262
|
+
const base = {
|
|
263
|
+
path: filePath,
|
|
264
|
+
name: basename(filePath),
|
|
265
|
+
sizeBytes: fileStat.size,
|
|
266
|
+
modifiedAt: fileStat.mtime.toISOString(),
|
|
267
|
+
truncated: truncated || undefined,
|
|
268
|
+
source: "gateway",
|
|
269
|
+
};
|
|
270
|
+
if (imageMimeType && fullBuffer.length <= IMAGE_PREVIEW_BYTE_LIMIT) {
|
|
271
|
+
return {
|
|
272
|
+
...base,
|
|
273
|
+
kind: "image",
|
|
274
|
+
mimeType: imageMimeType,
|
|
275
|
+
encoding: "base64",
|
|
276
|
+
dataUrl: `data:${imageMimeType};base64,${fullBuffer.toString("base64")}`,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
if (looksLikeText(previewBuffer, extension)) {
|
|
280
|
+
return {
|
|
281
|
+
...base,
|
|
282
|
+
kind: "text",
|
|
283
|
+
mimeType: extension === ".md" || extension === ".mdx" ? "text/markdown" : "text/plain",
|
|
284
|
+
language: languageFromExtension(extension),
|
|
285
|
+
encoding: "utf-8",
|
|
286
|
+
content: previewBuffer.toString("utf-8"),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
return {
|
|
290
|
+
...base,
|
|
291
|
+
kind: "binary",
|
|
292
|
+
unsupportedReason: "Binary file preview is not supported.",
|
|
293
|
+
};
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=gui-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gui-workspace.js","sourceRoot":"","sources":["../../src/commands/gui-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { KilnAppConfig } from "../config.js";
|
|
2
|
+
export interface GuiFlags {
|
|
3
|
+
readonly port?: number;
|
|
4
|
+
readonly guiPort?: number;
|
|
5
|
+
readonly mode?: "dev" | "prod";
|
|
6
|
+
readonly cwd?: string;
|
|
7
|
+
readonly connect?: string;
|
|
8
|
+
readonly open?: boolean;
|
|
9
|
+
readonly provider?: string;
|
|
10
|
+
readonly theme?: string;
|
|
11
|
+
readonly plan?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function guiCommand(appConfig: KilnAppConfig, flags?: GuiFlags): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=gui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gui.d.ts","sourceRoot":"","sources":["../../src/commands/gui.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA6ClD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,GAAE,QAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmK9F"}
|