@jingyi0605/codingns 0.2.0 → 0.3.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 +44 -0
- package/bin/codingns.mjs +918 -55
- package/dist/public/assets/{TerminalPage-BlbQuWi1.js → TerminalPage-Dfw1QUqW.js} +19 -19
- package/dist/public/assets/index-DR2rPNi7.css +1 -0
- package/dist/public/assets/index-DTOruahn.js +114 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +3 -0
- package/dist/server/config/env.js +35 -3
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +89 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +138 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -0
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +115 -0
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +241 -0
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -0
- package/dist/server/modules/butler/butler-control-session-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-control-session-service.js +96 -33
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-scheduler.d.ts +9 -0
- package/dist/server/modules/butler/butler-follow-up-scheduler.js +47 -11
- package/dist/server/modules/butler/butler-follow-up-scheduler.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-service.d.ts +7 -1
- package/dist/server/modules/butler/butler-follow-up-service.js +10 -0
- package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-session-service.js +82 -16
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.d.ts +8 -1
- package/dist/server/modules/butler/butler-session-summary-service.js +34 -7
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/context-aggregator.js +44 -13
- package/dist/server/modules/butler/context-aggregator.js.map +1 -1
- package/dist/server/modules/butler/patrol-scheduler.d.ts +9 -0
- package/dist/server/modules/butler/patrol-scheduler.js +63 -9
- package/dist/server/modules/butler/patrol-scheduler.js.map +1 -1
- package/dist/server/modules/butler/session-summary-scheduler.d.ts +9 -0
- package/dist/server/modules/butler/session-summary-scheduler.js +47 -11
- package/dist/server/modules/butler/session-summary-scheduler.js.map +1 -1
- package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.d.ts +38 -0
- package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js +99 -0
- package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js.map +1 -0
- package/dist/server/modules/debug-target/debug-target-controller.d.ts +70 -0
- package/dist/server/modules/debug-target/debug-target-controller.js +113 -0
- package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -0
- package/dist/server/modules/debug-target/debug-target-service.d.ts +105 -0
- package/dist/server/modules/debug-target/debug-target-service.js +1644 -0
- package/dist/server/modules/debug-target/debug-target-service.js.map +1 -0
- package/dist/server/modules/debug-target/framework-compatibility-matrix.d.ts +4 -0
- package/dist/server/modules/debug-target/framework-compatibility-matrix.js +45 -0
- package/dist/server/modules/debug-target/framework-compatibility-matrix.js.map +1 -0
- package/dist/server/modules/debug-target/launch-adapter-registry.d.ts +25 -0
- package/dist/server/modules/debug-target/launch-adapter-registry.js +445 -0
- package/dist/server/modules/debug-target/launch-adapter-registry.js.map +1 -0
- package/dist/server/modules/file/file-constants.d.ts +1 -0
- package/dist/server/modules/file/file-constants.js +1 -0
- package/dist/server/modules/file/file-constants.js.map +1 -1
- package/dist/server/modules/file/file-content-service.d.ts +2 -1
- package/dist/server/modules/file/file-content-service.js +53 -0
- package/dist/server/modules/file/file-content-service.js.map +1 -1
- package/dist/server/modules/file/file-controller.js +12 -3
- package/dist/server/modules/file/file-controller.js.map +1 -1
- package/dist/server/modules/file/file-preview-link-service.js +6 -37
- package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
- package/dist/server/modules/file/file-preview-service.d.ts +6 -12
- package/dist/server/modules/file/file-preview-service.js +114 -28
- package/dist/server/modules/file/file-preview-service.js.map +1 -1
- package/dist/server/modules/file/file-preview-types.d.ts +37 -0
- package/dist/server/modules/file/file-preview-types.js +84 -0
- package/dist/server/modules/file/file-preview-types.js.map +1 -0
- package/dist/server/modules/git/commit-orchestrator.d.ts +4 -1
- package/dist/server/modules/git/commit-orchestrator.js +18 -1
- package/dist/server/modules/git/commit-orchestrator.js.map +1 -1
- package/dist/server/modules/git/git-auth.d.ts +25 -0
- package/dist/server/modules/git/git-auth.js +88 -0
- package/dist/server/modules/git/git-auth.js.map +1 -0
- package/dist/server/modules/git/git-controller.d.ts +12 -0
- package/dist/server/modules/git/git-controller.js +18 -1
- package/dist/server/modules/git/git-controller.js.map +1 -1
- package/dist/server/modules/git/git-read-service.d.ts +3 -1
- package/dist/server/modules/git/git-read-service.js +119 -2
- package/dist/server/modules/git/git-read-service.js.map +1 -1
- package/dist/server/modules/git/git-remote-credential-service.d.ts +9 -0
- package/dist/server/modules/git/git-remote-credential-service.js +76 -0
- package/dist/server/modules/git/git-remote-credential-service.js.map +1 -0
- package/dist/server/modules/git/git-write-service.d.ts +5 -2
- package/dist/server/modules/git/git-write-service.js +33 -17
- package/dist/server/modules/git/git-write-service.js.map +1 -1
- package/dist/server/modules/git/types.d.ts +26 -0
- package/dist/server/modules/git/workspace-repo-guard.js +3 -2
- package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
- package/dist/server/modules/provider/codex-model-options.d.ts +3 -1
- package/dist/server/modules/provider/codex-model-options.js +4 -1
- package/dist/server/modules/provider/codex-model-options.js.map +1 -1
- package/dist/server/modules/provider/opencode-model-options.d.ts +3 -1
- package/dist/server/modules/provider/opencode-model-options.js +5 -1
- package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +24 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.js +14 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js +54 -0
- package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/session-activity-authority-service.js +13 -1
- package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -1
- package/dist/server/modules/sessions/session-activity-inspector.js +21 -5
- package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +5 -0
- package/dist/server/modules/sessions/session-controller.js +16 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +27 -7
- package/dist/server/modules/sessions/session-history-service.js +439 -81
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +2 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +12 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/skills/skill-controller.d.ts +23 -0
- package/dist/server/modules/skills/skill-controller.js +35 -0
- package/dist/server/modules/skills/skill-controller.js.map +1 -0
- package/dist/server/modules/skills/skill-manager-service.d.ts +86 -0
- package/dist/server/modules/skills/skill-manager-service.js +557 -0
- package/dist/server/modules/skills/skill-manager-service.js.map +1 -0
- package/dist/server/modules/skills/skill-reconciler.d.ts +21 -0
- package/dist/server/modules/skills/skill-reconciler.js +99 -0
- package/dist/server/modules/skills/skill-reconciler.js.map +1 -0
- package/dist/server/modules/skills/skill-sync-planner.d.ts +8 -0
- package/dist/server/modules/skills/skill-sync-planner.js +20 -0
- package/dist/server/modules/skills/skill-sync-planner.js.map +1 -0
- package/dist/server/modules/skills/skill-target-adapter.d.ts +34 -0
- package/dist/server/modules/skills/skill-target-adapter.js +65 -0
- package/dist/server/modules/skills/skill-target-adapter.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-controller.d.ts +15 -0
- package/dist/server/modules/tailscale/tailscale-controller.js +33 -0
- package/dist/server/modules/tailscale/tailscale-controller.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-helper-client.d.ts +41 -0
- package/dist/server/modules/tailscale/tailscale-helper-client.js +135 -0
- package/dist/server/modules/tailscale/tailscale-helper-client.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-helper-process.d.ts +1 -0
- package/dist/server/modules/tailscale/tailscale-helper-process.js +327 -0
- package/dist/server/modules/tailscale/tailscale-helper-process.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-manager.d.ts +41 -0
- package/dist/server/modules/tailscale/tailscale-manager.js +259 -0
- package/dist/server/modules/tailscale/tailscale-manager.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-service.d.ts +43 -0
- package/dist/server/modules/tailscale/tailscale-service.js +201 -0
- package/dist/server/modules/tailscale/tailscale-service.js.map +1 -0
- package/dist/server/modules/tasks/event-loop-monitor.d.ts +21 -0
- package/dist/server/modules/tasks/event-loop-monitor.js +64 -0
- package/dist/server/modules/tasks/event-loop-monitor.js.map +1 -0
- package/dist/server/modules/tasks/observability-controller.d.ts +30 -0
- package/dist/server/modules/tasks/observability-controller.js +44 -0
- package/dist/server/modules/tasks/observability-controller.js.map +1 -0
- package/dist/server/modules/tasks/observability-service.d.ts +32 -0
- package/dist/server/modules/tasks/observability-service.js +104 -0
- package/dist/server/modules/tasks/observability-service.js.map +1 -0
- package/dist/server/modules/tasks/scheduler-metrics.d.ts +41 -0
- package/dist/server/modules/tasks/scheduler-metrics.js +92 -0
- package/dist/server/modules/tasks/scheduler-metrics.js.map +1 -0
- package/dist/server/modules/tasks/task-activity-log.d.ts +39 -0
- package/dist/server/modules/tasks/task-activity-log.js +43 -0
- package/dist/server/modules/tasks/task-activity-log.js.map +1 -0
- package/dist/server/modules/tasks/task-helper-client.d.ts +11 -0
- package/dist/server/modules/tasks/task-helper-client.js +132 -0
- package/dist/server/modules/tasks/task-helper-client.js.map +1 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +16 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.js +14 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -0
- package/dist/server/modules/tasks/task-helper-process.d.ts +1 -0
- package/dist/server/modules/tasks/task-helper-process.js +49 -0
- package/dist/server/modules/tasks/task-helper-process.js.map +1 -0
- package/dist/server/modules/tasks/task-lane-executors.d.ts +2 -0
- package/dist/server/modules/tasks/task-lane-executors.js +15 -0
- package/dist/server/modules/tasks/task-lane-executors.js.map +1 -0
- package/dist/server/modules/tasks/task-manager.d.ts +15 -0
- package/dist/server/modules/tasks/task-manager.js +36 -0
- package/dist/server/modules/tasks/task-manager.js.map +1 -0
- package/dist/server/modules/tasks/task-metrics.d.ts +9 -0
- package/dist/server/modules/tasks/task-metrics.js +81 -0
- package/dist/server/modules/tasks/task-metrics.js.map +1 -0
- package/dist/server/modules/tasks/task-registry.d.ts +7 -0
- package/dist/server/modules/tasks/task-registry.js +21 -0
- package/dist/server/modules/tasks/task-registry.js.map +1 -0
- package/dist/server/modules/tasks/task-scheduler.d.ts +31 -0
- package/dist/server/modules/tasks/task-scheduler.js +473 -0
- package/dist/server/modules/tasks/task-scheduler.js.map +1 -0
- package/dist/server/modules/tasks/task-types.d.ts +106 -0
- package/dist/server/modules/tasks/task-types.js +23 -0
- package/dist/server/modules/tasks/task-types.js.map +1 -0
- package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
- package/dist/server/modules/terminal/command-template-service.js +5 -3
- package/dist/server/modules/terminal/command-template-service.js.map +1 -1
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +7 -3
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +95 -15
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
- package/dist/server/modules/terminal/runtime/terminal-log-writer-client.d.ts +21 -0
- package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js +144 -0
- package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-log-writer-process.d.ts +1 -0
- package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js +187 -0
- package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js.map +1 -0
- package/dist/server/modules/terminal/terminal-service.d.ts +12 -0
- package/dist/server/modules/terminal/terminal-service.js +34 -17
- package/dist/server/modules/terminal/terminal-service.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.d.ts +23 -2
- package/dist/server/modules/workbench/workbench-service.js +126 -15
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +5 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +88 -19
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
- package/dist/server/modules/workspace/workspace-code-composition.d.ts +2 -0
- package/dist/server/modules/workspace/workspace-code-composition.js +154 -0
- package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -0
- package/dist/server/modules/workspace/workspace-controller.d.ts +14 -0
- package/dist/server/modules/workspace/workspace-controller.js +19 -0
- package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
- package/dist/server/modules/workspace/workspace-service.d.ts +21 -14
- package/dist/server/modules/workspace/workspace-service.js +183 -234
- package/dist/server/modules/workspace/workspace-service.js.map +1 -1
- package/dist/server/modules/worktree/worktree-cleanup-service.d.ts +35 -0
- package/dist/server/modules/worktree/worktree-cleanup-service.js +210 -0
- package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -0
- package/dist/server/modules/worktree/worktree-controller.d.ts +44 -0
- package/dist/server/modules/worktree/worktree-controller.js +40 -0
- package/dist/server/modules/worktree/worktree-controller.js.map +1 -0
- package/dist/server/modules/worktree/worktree-manager.d.ts +34 -0
- package/dist/server/modules/worktree/worktree-manager.js +292 -0
- package/dist/server/modules/worktree/worktree-manager.js.map +1 -0
- package/dist/server/modules/worktree/worktree-merge-service.d.ts +52 -0
- package/dist/server/modules/worktree/worktree-merge-service.js +293 -0
- package/dist/server/modules/worktree/worktree-merge-service.js.map +1 -0
- package/dist/server/modules/worktree/worktree-sync-service.d.ts +23 -0
- package/dist/server/modules/worktree/worktree-sync-service.js +166 -0
- package/dist/server/modules/worktree/worktree-sync-service.js.map +1 -0
- package/dist/server/routes/assistant.d.ts +3 -0
- package/dist/server/routes/assistant.js +15 -0
- package/dist/server/routes/assistant.js.map +1 -0
- package/dist/server/routes/debug-targets.d.ts +3 -0
- package/dist/server/routes/debug-targets.js +15 -0
- package/dist/server/routes/debug-targets.js.map +1 -0
- package/dist/server/routes/git.js +2 -0
- package/dist/server/routes/git.js.map +1 -1
- package/dist/server/routes/observability.d.ts +3 -0
- package/dist/server/routes/observability.js +7 -0
- package/dist/server/routes/observability.js.map +1 -0
- package/dist/server/routes/skills.d.ts +3 -0
- package/dist/server/routes/skills.js +7 -0
- package/dist/server/routes/skills.js.map +1 -0
- package/dist/server/routes/system.d.ts +3 -0
- package/dist/server/routes/system.js +9 -0
- package/dist/server/routes/system.js.map +1 -0
- package/dist/server/routes/workspaces.js +2 -0
- package/dist/server/routes/workspaces.js.map +1 -1
- package/dist/server/routes/worktrees.d.ts +3 -0
- package/dist/server/routes/worktrees.js +8 -0
- package/dist/server/routes/worktrees.js.map +1 -0
- package/dist/server/server/create-server.d.ts +46 -0
- package/dist/server/server/create-server.js +141 -12
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/utils/command-availability.d.ts +1 -0
- package/dist/server/shared/utils/command-availability.js +26 -3
- package/dist/server/shared/utils/command-availability.js.map +1 -1
- package/dist/server/shared/utils/secret-box.d.ts +2 -0
- package/dist/server/shared/utils/secret-box.js +29 -0
- package/dist/server/shared/utils/secret-box.js.map +1 -0
- package/dist/server/shared/utils/terminal-debug-log.js +5 -3
- package/dist/server/shared/utils/terminal-debug-log.js.map +1 -1
- package/dist/server/storage/repositories/ai-fallback-edit-repository.d.ts +11 -0
- package/dist/server/storage/repositories/ai-fallback-edit-repository.js +118 -0
- package/dist/server/storage/repositories/ai-fallback-edit-repository.js.map +1 -0
- package/dist/server/storage/repositories/debug-runtime-session-repository.d.ts +11 -0
- package/dist/server/storage/repositories/debug-runtime-session-repository.js +100 -0
- package/dist/server/storage/repositories/debug-runtime-session-repository.js.map +1 -0
- package/dist/server/storage/repositories/debug-service-repository.d.ts +9 -0
- package/dist/server/storage/repositories/debug-service-repository.js +99 -0
- package/dist/server/storage/repositories/debug-service-repository.js.map +1 -0
- package/dist/server/storage/repositories/debug-target-repository.d.ts +11 -0
- package/dist/server/storage/repositories/debug-target-repository.js +100 -0
- package/dist/server/storage/repositories/debug-target-repository.js.map +1 -0
- package/dist/server/storage/repositories/framework-analysis-result-repository.d.ts +9 -0
- package/dist/server/storage/repositories/framework-analysis-result-repository.js +98 -0
- package/dist/server/storage/repositories/framework-analysis-result-repository.js.map +1 -0
- package/dist/server/storage/repositories/git-remote-credential-repository.d.ts +9 -0
- package/dist/server/storage/repositories/git-remote-credential-repository.js +51 -0
- package/dist/server/storage/repositories/git-remote-credential-repository.js.map +1 -0
- package/dist/server/storage/repositories/instance-tailscale-repository.d.ts +10 -0
- package/dist/server/storage/repositories/instance-tailscale-repository.js +112 -0
- package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -0
- package/dist/server/storage/repositories/managed-skill-repository.d.ts +11 -0
- package/dist/server/storage/repositories/managed-skill-repository.js +102 -0
- package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -0
- package/dist/server/storage/repositories/port-lease-repository.d.ts +12 -0
- package/dist/server/storage/repositories/port-lease-repository.js +124 -0
- package/dist/server/storage/repositories/port-lease-repository.js.map +1 -0
- package/dist/server/storage/repositories/runtime-binding-repository.d.ts +10 -0
- package/dist/server/storage/repositories/runtime-binding-repository.js +89 -0
- package/dist/server/storage/repositories/runtime-binding-repository.js.map +1 -0
- package/dist/server/storage/repositories/skill-target-binding-repository.d.ts +10 -0
- package/dist/server/storage/repositories/skill-target-binding-repository.js +77 -0
- package/dist/server/storage/repositories/skill-target-binding-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-command-template-repository.js +77 -4
- package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
- package/dist/server/storage/repositories/terminal-instance-repository.js +89 -7
- package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
- package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +9 -0
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js +49 -0
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -0
- package/dist/server/storage/repositories/workspace-repository.d.ts +7 -1
- package/dist/server/storage/repositories/workspace-repository.js +32 -8
- package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
- package/dist/server/storage/repositories/workspace-worktree-repository.d.ts +13 -0
- package/dist/server/storage/repositories/workspace-worktree-repository.js +158 -0
- package/dist/server/storage/repositories/workspace-worktree-repository.js.map +1 -0
- package/dist/server/storage/sqlite/client.js +311 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +303 -0
- package/dist/server/types/domain.d.ts +303 -0
- package/dist/server/ws/workbench-ws-hub.js +33 -9
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/dist/server/ws/ws-server.js +4 -4
- package/dist/server/ws/ws-server.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +18 -6
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +14 -2
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +25 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +6 -0
- package/package.json +1 -1
- package/dist/public/assets/index-1VIm8lVL.css +0 -1
- package/dist/public/assets/index-Dti93O2S.js +0 -109
|
@@ -38,11 +38,59 @@ CREATE TABLE IF NOT EXISTS workspaces (
|
|
|
38
38
|
path TEXT NOT NULL UNIQUE,
|
|
39
39
|
repo_root TEXT,
|
|
40
40
|
favorite INTEGER NOT NULL DEFAULT 0 CHECK (favorite IN (0, 1)),
|
|
41
|
+
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
41
42
|
created_at TEXT NOT NULL,
|
|
42
43
|
updated_at TEXT NOT NULL,
|
|
43
44
|
removed_at TEXT
|
|
44
45
|
);
|
|
45
46
|
|
|
47
|
+
CREATE TABLE IF NOT EXISTS workspace_navigation_states (
|
|
48
|
+
workspace_id TEXT NOT NULL,
|
|
49
|
+
user_id TEXT NOT NULL,
|
|
50
|
+
collapsed INTEGER NOT NULL DEFAULT 0 CHECK (collapsed IN (0, 1)),
|
|
51
|
+
background_color TEXT,
|
|
52
|
+
updated_at TEXT NOT NULL,
|
|
53
|
+
PRIMARY KEY (workspace_id, user_id),
|
|
54
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
55
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id)
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_workspace_navigation_states_user_id
|
|
59
|
+
ON workspace_navigation_states(user_id, updated_at DESC);
|
|
60
|
+
|
|
61
|
+
CREATE TABLE IF NOT EXISTS workspace_worktrees (
|
|
62
|
+
workspace_id TEXT PRIMARY KEY,
|
|
63
|
+
root_workspace_id TEXT NOT NULL,
|
|
64
|
+
parent_workspace_id TEXT NOT NULL,
|
|
65
|
+
source_workspace_id TEXT NOT NULL,
|
|
66
|
+
merge_target_workspace_id TEXT NOT NULL,
|
|
67
|
+
branch_name TEXT NOT NULL,
|
|
68
|
+
base_ref TEXT NOT NULL,
|
|
69
|
+
base_commit TEXT NOT NULL,
|
|
70
|
+
head_commit TEXT,
|
|
71
|
+
display_name TEXT NOT NULL,
|
|
72
|
+
depth INTEGER NOT NULL CHECK (depth >= 1),
|
|
73
|
+
lifecycle_status TEXT NOT NULL CHECK (
|
|
74
|
+
lifecycle_status IN ('active', 'merged', 'abandoned', 'removing', 'removed')
|
|
75
|
+
),
|
|
76
|
+
merged_at TEXT,
|
|
77
|
+
removed_at TEXT,
|
|
78
|
+
created_at TEXT NOT NULL,
|
|
79
|
+
updated_at TEXT NOT NULL,
|
|
80
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
81
|
+
FOREIGN KEY (root_workspace_id) REFERENCES workspaces(id),
|
|
82
|
+
FOREIGN KEY (parent_workspace_id) REFERENCES workspaces(id),
|
|
83
|
+
FOREIGN KEY (source_workspace_id) REFERENCES workspaces(id),
|
|
84
|
+
FOREIGN KEY (merge_target_workspace_id) REFERENCES workspaces(id)
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
CREATE INDEX IF NOT EXISTS idx_workspace_worktrees_root_workspace_id
|
|
88
|
+
ON workspace_worktrees(root_workspace_id, depth ASC, updated_at DESC);
|
|
89
|
+
CREATE INDEX IF NOT EXISTS idx_workspace_worktrees_parent_workspace_id
|
|
90
|
+
ON workspace_worktrees(parent_workspace_id, updated_at DESC);
|
|
91
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_workspace_worktrees_root_branch_name
|
|
92
|
+
ON workspace_worktrees(root_workspace_id, branch_name);
|
|
93
|
+
|
|
46
94
|
CREATE TABLE IF NOT EXISTS commit_rule_profiles (
|
|
47
95
|
id TEXT PRIMARY KEY,
|
|
48
96
|
workspace_id TEXT NOT NULL UNIQUE,
|
|
@@ -271,6 +319,21 @@ CREATE TABLE IF NOT EXISTS user_preference_profiles (
|
|
|
271
319
|
FOREIGN KEY (user_id) REFERENCES auth_users(id)
|
|
272
320
|
);
|
|
273
321
|
|
|
322
|
+
CREATE TABLE IF NOT EXISTS git_remote_credentials (
|
|
323
|
+
user_id TEXT NOT NULL,
|
|
324
|
+
remote_url TEXT NOT NULL,
|
|
325
|
+
auth_mode TEXT NOT NULL CHECK (auth_mode IN ('basic', 'token')),
|
|
326
|
+
username_ciphertext TEXT NOT NULL,
|
|
327
|
+
secret_ciphertext TEXT NOT NULL,
|
|
328
|
+
created_at TEXT NOT NULL,
|
|
329
|
+
updated_at TEXT NOT NULL,
|
|
330
|
+
PRIMARY KEY (user_id, remote_url),
|
|
331
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id)
|
|
332
|
+
);
|
|
333
|
+
|
|
334
|
+
CREATE INDEX IF NOT EXISTS idx_git_remote_credentials_user_updated_at
|
|
335
|
+
ON git_remote_credentials(user_id, updated_at DESC);
|
|
336
|
+
|
|
274
337
|
CREATE TABLE IF NOT EXISTS session_file_context_bindings (
|
|
275
338
|
id TEXT PRIMARY KEY,
|
|
276
339
|
session_id TEXT NOT NULL,
|
|
@@ -315,6 +378,20 @@ CREATE TABLE IF NOT EXISTS terminal_instances (
|
|
|
315
378
|
closed_at TEXT,
|
|
316
379
|
exit_code INTEGER,
|
|
317
380
|
status_detail TEXT,
|
|
381
|
+
debug_runtime_session_id TEXT,
|
|
382
|
+
debug_target_id TEXT,
|
|
383
|
+
debug_service_id TEXT,
|
|
384
|
+
framework_analysis_id TEXT,
|
|
385
|
+
launcher_source_type TEXT CHECK (
|
|
386
|
+
launcher_source_type IS NULL OR launcher_source_type IN ('manual', 'debug_service')
|
|
387
|
+
),
|
|
388
|
+
launch_stage TEXT,
|
|
389
|
+
failure_stage TEXT,
|
|
390
|
+
adapter_kind TEXT CHECK (
|
|
391
|
+
adapter_kind IS NULL OR adapter_kind IN ('cli', 'env', 'override', 'ai_fallback')
|
|
392
|
+
),
|
|
393
|
+
env_patch_summary_json TEXT,
|
|
394
|
+
artifact_ref TEXT,
|
|
318
395
|
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
319
396
|
FOREIGN KEY (created_by_user_id) REFERENCES auth_users(id)
|
|
320
397
|
);
|
|
@@ -406,6 +483,23 @@ CREATE TABLE IF NOT EXISTS terminal_command_templates (
|
|
|
406
483
|
'conpty-git-bash'
|
|
407
484
|
)
|
|
408
485
|
),
|
|
486
|
+
source_type TEXT CHECK (
|
|
487
|
+
source_type IS NULL OR source_type IN ('manual', 'debug_service')
|
|
488
|
+
),
|
|
489
|
+
debug_target_id TEXT,
|
|
490
|
+
debug_service_id TEXT,
|
|
491
|
+
framework_analysis_id TEXT,
|
|
492
|
+
adapter_kind TEXT CHECK (
|
|
493
|
+
adapter_kind IS NULL OR adapter_kind IN ('cli', 'env', 'override', 'ai_fallback')
|
|
494
|
+
),
|
|
495
|
+
injection_mode TEXT CHECK (
|
|
496
|
+
injection_mode IS NULL OR injection_mode IN ('cli', 'env', 'override', 'none')
|
|
497
|
+
),
|
|
498
|
+
generated_artifact_ref TEXT,
|
|
499
|
+
service_discovery_mode TEXT CHECK (
|
|
500
|
+
service_discovery_mode IS NULL OR service_discovery_mode IN ('same_origin', 'api_base_url', 'none')
|
|
501
|
+
),
|
|
502
|
+
managed_by_system INTEGER NOT NULL DEFAULT 0 CHECK (managed_by_system IN (0, 1)),
|
|
409
503
|
created_at TEXT NOT NULL,
|
|
410
504
|
updated_at TEXT NOT NULL,
|
|
411
505
|
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
@@ -415,6 +509,150 @@ CREATE TABLE IF NOT EXISTS terminal_command_templates (
|
|
|
415
509
|
CREATE INDEX IF NOT EXISTS idx_terminal_templates_workspace_id
|
|
416
510
|
ON terminal_command_templates(workspace_id);
|
|
417
511
|
|
|
512
|
+
CREATE TABLE IF NOT EXISTS debug_targets (
|
|
513
|
+
id TEXT PRIMARY KEY,
|
|
514
|
+
workspace_id TEXT NOT NULL,
|
|
515
|
+
root_path TEXT NOT NULL,
|
|
516
|
+
display_name TEXT NOT NULL,
|
|
517
|
+
stack_hint TEXT,
|
|
518
|
+
source_type TEXT NOT NULL CHECK (source_type IN ('repo', 'worktree')),
|
|
519
|
+
root_workspace_id TEXT,
|
|
520
|
+
created_at TEXT NOT NULL,
|
|
521
|
+
updated_at TEXT NOT NULL,
|
|
522
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
523
|
+
FOREIGN KEY (root_workspace_id) REFERENCES workspaces(id),
|
|
524
|
+
UNIQUE (workspace_id, root_path)
|
|
525
|
+
);
|
|
526
|
+
|
|
527
|
+
CREATE INDEX IF NOT EXISTS idx_debug_targets_workspace_id
|
|
528
|
+
ON debug_targets(workspace_id, updated_at DESC, created_at DESC);
|
|
529
|
+
|
|
530
|
+
CREATE TABLE IF NOT EXISTS debug_services (
|
|
531
|
+
id TEXT PRIMARY KEY,
|
|
532
|
+
target_id TEXT NOT NULL,
|
|
533
|
+
role TEXT NOT NULL CHECK (role IN ('frontend', 'backend', 'worker', 'mock', 'custom')),
|
|
534
|
+
name TEXT NOT NULL,
|
|
535
|
+
cwd TEXT NOT NULL,
|
|
536
|
+
command TEXT NOT NULL,
|
|
537
|
+
args_json TEXT NOT NULL,
|
|
538
|
+
env_json TEXT NOT NULL,
|
|
539
|
+
default_port_hint INTEGER,
|
|
540
|
+
protocol TEXT CHECK (protocol IS NULL OR protocol IN ('http', 'ws', 'tcp')),
|
|
541
|
+
health_path TEXT,
|
|
542
|
+
adapter_kind TEXT CHECK (
|
|
543
|
+
adapter_kind IS NULL OR adapter_kind IN ('cli', 'env', 'override', 'ai_fallback')
|
|
544
|
+
),
|
|
545
|
+
framework_analysis_id TEXT,
|
|
546
|
+
created_at TEXT NOT NULL,
|
|
547
|
+
updated_at TEXT NOT NULL,
|
|
548
|
+
FOREIGN KEY (target_id) REFERENCES debug_targets(id) ON DELETE CASCADE
|
|
549
|
+
);
|
|
550
|
+
|
|
551
|
+
CREATE INDEX IF NOT EXISTS idx_debug_services_target_id
|
|
552
|
+
ON debug_services(target_id, updated_at DESC, created_at DESC);
|
|
553
|
+
|
|
554
|
+
CREATE TABLE IF NOT EXISTS framework_analysis_results (
|
|
555
|
+
id TEXT PRIMARY KEY,
|
|
556
|
+
target_id TEXT NOT NULL,
|
|
557
|
+
service_id TEXT,
|
|
558
|
+
primary_framework TEXT,
|
|
559
|
+
confidence TEXT NOT NULL CHECK (confidence IN ('high', 'medium', 'low')),
|
|
560
|
+
compatibility_level TEXT NOT NULL CHECK (
|
|
561
|
+
compatibility_level IN ('supported', 'conditional', 'unsupported', 'unknown')
|
|
562
|
+
),
|
|
563
|
+
recommended_injection_mode TEXT CHECK (
|
|
564
|
+
recommended_injection_mode IS NULL OR recommended_injection_mode IN ('cli', 'env', 'override', 'none')
|
|
565
|
+
),
|
|
566
|
+
requires_service_discovery_handling INTEGER NOT NULL CHECK (
|
|
567
|
+
requires_service_discovery_handling IN (0, 1)
|
|
568
|
+
),
|
|
569
|
+
requires_hmr_handling INTEGER NOT NULL CHECK (requires_hmr_handling IN (0, 1)),
|
|
570
|
+
requires_callback_handling INTEGER NOT NULL CHECK (requires_callback_handling IN (0, 1)),
|
|
571
|
+
ai_fallback_policy TEXT NOT NULL CHECK (ai_fallback_policy IN ('never', 'conditional', 'allowed')),
|
|
572
|
+
reasons_json TEXT NOT NULL,
|
|
573
|
+
detected_files_json TEXT NOT NULL DEFAULT '[]',
|
|
574
|
+
raw_evidence_json TEXT NOT NULL DEFAULT '{}',
|
|
575
|
+
created_at TEXT NOT NULL,
|
|
576
|
+
FOREIGN KEY (target_id) REFERENCES debug_targets(id) ON DELETE CASCADE,
|
|
577
|
+
FOREIGN KEY (service_id) REFERENCES debug_services(id) ON DELETE CASCADE
|
|
578
|
+
);
|
|
579
|
+
|
|
580
|
+
CREATE INDEX IF NOT EXISTS idx_framework_analysis_results_target_id
|
|
581
|
+
ON framework_analysis_results(target_id, created_at DESC);
|
|
582
|
+
CREATE INDEX IF NOT EXISTS idx_framework_analysis_results_service_id
|
|
583
|
+
ON framework_analysis_results(service_id, created_at DESC);
|
|
584
|
+
|
|
585
|
+
CREATE TABLE IF NOT EXISTS debug_runtime_sessions (
|
|
586
|
+
id TEXT PRIMARY KEY,
|
|
587
|
+
target_id TEXT NOT NULL,
|
|
588
|
+
status TEXT NOT NULL CHECK (status IN ('PREPARING', 'RUNNING', 'FAILED', 'STOPPED')),
|
|
589
|
+
failure_stage TEXT,
|
|
590
|
+
started_at TEXT,
|
|
591
|
+
stopped_at TEXT,
|
|
592
|
+
created_at TEXT NOT NULL,
|
|
593
|
+
updated_at TEXT NOT NULL,
|
|
594
|
+
FOREIGN KEY (target_id) REFERENCES debug_targets(id) ON DELETE CASCADE
|
|
595
|
+
);
|
|
596
|
+
|
|
597
|
+
CREATE INDEX IF NOT EXISTS idx_debug_runtime_sessions_target_id
|
|
598
|
+
ON debug_runtime_sessions(target_id, updated_at DESC, created_at DESC);
|
|
599
|
+
|
|
600
|
+
CREATE TABLE IF NOT EXISTS port_leases (
|
|
601
|
+
id TEXT PRIMARY KEY,
|
|
602
|
+
runtime_id TEXT NOT NULL,
|
|
603
|
+
service_id TEXT NOT NULL,
|
|
604
|
+
port INTEGER NOT NULL,
|
|
605
|
+
protocol TEXT NOT NULL CHECK (protocol IN ('tcp', 'udp')),
|
|
606
|
+
status TEXT NOT NULL CHECK (status IN ('LEASED', 'RELEASING', 'RELEASED', 'STALE')),
|
|
607
|
+
leased_at TEXT NOT NULL,
|
|
608
|
+
expires_at TEXT,
|
|
609
|
+
released_at TEXT,
|
|
610
|
+
FOREIGN KEY (runtime_id) REFERENCES debug_runtime_sessions(id) ON DELETE CASCADE,
|
|
611
|
+
FOREIGN KEY (service_id) REFERENCES debug_services(id) ON DELETE CASCADE
|
|
612
|
+
);
|
|
613
|
+
|
|
614
|
+
CREATE INDEX IF NOT EXISTS idx_port_leases_runtime_id
|
|
615
|
+
ON port_leases(runtime_id, leased_at DESC);
|
|
616
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_port_leases_active_port
|
|
617
|
+
ON port_leases(port, protocol)
|
|
618
|
+
WHERE status IN ('LEASED', 'RELEASING');
|
|
619
|
+
|
|
620
|
+
CREATE TABLE IF NOT EXISTS runtime_bindings (
|
|
621
|
+
id TEXT PRIMARY KEY,
|
|
622
|
+
runtime_id TEXT NOT NULL,
|
|
623
|
+
service_id TEXT NOT NULL,
|
|
624
|
+
process_instance_id TEXT,
|
|
625
|
+
expected_port INTEGER,
|
|
626
|
+
leased_port INTEGER,
|
|
627
|
+
observed_port INTEGER,
|
|
628
|
+
proxy_path TEXT,
|
|
629
|
+
status TEXT NOT NULL CHECK (status IN ('ALLOCATED', 'LISTENING', 'FAILED', 'RELEASED')),
|
|
630
|
+
updated_at TEXT NOT NULL,
|
|
631
|
+
FOREIGN KEY (runtime_id) REFERENCES debug_runtime_sessions(id) ON DELETE CASCADE,
|
|
632
|
+
FOREIGN KEY (service_id) REFERENCES debug_services(id) ON DELETE CASCADE
|
|
633
|
+
);
|
|
634
|
+
|
|
635
|
+
CREATE INDEX IF NOT EXISTS idx_runtime_bindings_runtime_id
|
|
636
|
+
ON runtime_bindings(runtime_id, updated_at DESC);
|
|
637
|
+
|
|
638
|
+
CREATE TABLE IF NOT EXISTS ai_fallback_edits (
|
|
639
|
+
id TEXT PRIMARY KEY,
|
|
640
|
+
runtime_id TEXT NOT NULL,
|
|
641
|
+
service_id TEXT NOT NULL,
|
|
642
|
+
reason TEXT NOT NULL,
|
|
643
|
+
allowed_files_json TEXT NOT NULL,
|
|
644
|
+
target_port INTEGER NOT NULL,
|
|
645
|
+
patch_ref TEXT,
|
|
646
|
+
rollback_ref TEXT,
|
|
647
|
+
status TEXT NOT NULL CHECK (status IN ('PENDING', 'APPLIED', 'ROLLED_BACK', 'REJECTED')),
|
|
648
|
+
created_at TEXT NOT NULL,
|
|
649
|
+
FOREIGN KEY (runtime_id) REFERENCES debug_runtime_sessions(id) ON DELETE CASCADE,
|
|
650
|
+
FOREIGN KEY (service_id) REFERENCES debug_services(id) ON DELETE CASCADE
|
|
651
|
+
);
|
|
652
|
+
|
|
653
|
+
CREATE INDEX IF NOT EXISTS idx_ai_fallback_edits_runtime_id
|
|
654
|
+
ON ai_fallback_edits(runtime_id, created_at DESC);
|
|
655
|
+
|
|
418
656
|
CREATE TABLE IF NOT EXISTS butler_profiles (
|
|
419
657
|
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
420
658
|
display_name TEXT NOT NULL,
|
|
@@ -721,6 +959,71 @@ CREATE INDEX IF NOT EXISTS idx_verification_runs_project_created_at
|
|
|
721
959
|
CREATE INDEX IF NOT EXISTS idx_verification_runs_project_status
|
|
722
960
|
ON verification_runs(project_id, status, created_at DESC);
|
|
723
961
|
|
|
962
|
+
CREATE TABLE IF NOT EXISTS instance_tailscale_config (
|
|
963
|
+
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
964
|
+
enabled INTEGER NOT NULL DEFAULT 0 CHECK (enabled IN (0, 1)),
|
|
965
|
+
control_server_url TEXT,
|
|
966
|
+
hostname TEXT,
|
|
967
|
+
state_dir TEXT NOT NULL,
|
|
968
|
+
updated_at TEXT NOT NULL
|
|
969
|
+
);
|
|
970
|
+
|
|
971
|
+
CREATE TABLE IF NOT EXISTS instance_tailscale_status (
|
|
972
|
+
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
973
|
+
phase TEXT NOT NULL CHECK (
|
|
974
|
+
phase IN (
|
|
975
|
+
'disabled',
|
|
976
|
+
'blocked_uninitialized',
|
|
977
|
+
'starting',
|
|
978
|
+
'needs_login',
|
|
979
|
+
'running',
|
|
980
|
+
'stopping',
|
|
981
|
+
'error'
|
|
982
|
+
)
|
|
983
|
+
),
|
|
984
|
+
connected INTEGER NOT NULL DEFAULT 0 CHECK (connected IN (0, 1)),
|
|
985
|
+
login_url TEXT,
|
|
986
|
+
control_server_url TEXT,
|
|
987
|
+
hostname TEXT,
|
|
988
|
+
account_name TEXT,
|
|
989
|
+
tailnet_fqdn TEXT,
|
|
990
|
+
tailnet_ipv4 TEXT,
|
|
991
|
+
tailnet_ipv6 TEXT,
|
|
992
|
+
reachable_base_url TEXT,
|
|
993
|
+
last_error TEXT,
|
|
994
|
+
observed_at TEXT
|
|
995
|
+
);
|
|
996
|
+
|
|
997
|
+
CREATE TABLE IF NOT EXISTS managed_skills (
|
|
998
|
+
id TEXT PRIMARY KEY,
|
|
999
|
+
name TEXT NOT NULL,
|
|
1000
|
+
directory_name TEXT NOT NULL UNIQUE,
|
|
1001
|
+
source_type TEXT NOT NULL CHECK (source_type IN ('builtin', 'local-import', 'managed-copy')),
|
|
1002
|
+
source_path TEXT,
|
|
1003
|
+
content_hash TEXT NOT NULL,
|
|
1004
|
+
managed_state TEXT NOT NULL CHECK (managed_state IN ('active', 'conflicted', 'missing')),
|
|
1005
|
+
created_at TEXT NOT NULL,
|
|
1006
|
+
updated_at TEXT NOT NULL
|
|
1007
|
+
);
|
|
1008
|
+
|
|
1009
|
+
CREATE INDEX IF NOT EXISTS idx_managed_skills_state
|
|
1010
|
+
ON managed_skills(managed_state, updated_at DESC);
|
|
1011
|
+
|
|
1012
|
+
CREATE TABLE IF NOT EXISTS skill_target_bindings (
|
|
1013
|
+
skill_id TEXT NOT NULL,
|
|
1014
|
+
target_cli TEXT NOT NULL CHECK (target_cli IN ('codex', 'claude-code', 'gemini', 'opencode')),
|
|
1015
|
+
enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
|
|
1016
|
+
sync_status TEXT NOT NULL CHECK (sync_status IN ('synced', 'pending', 'failed', 'conflicted')),
|
|
1017
|
+
last_synced_at TEXT,
|
|
1018
|
+
last_error_code TEXT,
|
|
1019
|
+
last_error_detail TEXT,
|
|
1020
|
+
PRIMARY KEY (skill_id, target_cli),
|
|
1021
|
+
FOREIGN KEY (skill_id) REFERENCES managed_skills(id) ON DELETE CASCADE
|
|
1022
|
+
);
|
|
1023
|
+
|
|
1024
|
+
CREATE INDEX IF NOT EXISTS idx_skill_target_bindings_target_cli
|
|
1025
|
+
ON skill_target_bindings(target_cli, sync_status, enabled);
|
|
1026
|
+
|
|
724
1027
|
INSERT INTO bootstrap_state (id, initialized)
|
|
725
1028
|
VALUES ('default', 0)
|
|
726
1029
|
ON CONFLICT(id) DO NOTHING;
|
|
@@ -33,11 +33,39 @@ export interface Workspace {
|
|
|
33
33
|
name: string;
|
|
34
34
|
path: string;
|
|
35
35
|
repoRoot: string | null;
|
|
36
|
+
backgroundColor?: string | null;
|
|
36
37
|
favorite: boolean;
|
|
38
|
+
sortOrder: number;
|
|
37
39
|
createdAt: string;
|
|
38
40
|
updatedAt: string;
|
|
39
41
|
removedAt?: string | null;
|
|
40
42
|
}
|
|
43
|
+
export type WorkspaceWorktreeLifecycleStatus = "active" | "merged" | "abandoned" | "removing" | "removed";
|
|
44
|
+
export interface WorkspaceWorktreeRecord {
|
|
45
|
+
workspaceId: string;
|
|
46
|
+
rootWorkspaceId: string;
|
|
47
|
+
parentWorkspaceId: string;
|
|
48
|
+
sourceWorkspaceId: string;
|
|
49
|
+
mergeTargetWorkspaceId: string;
|
|
50
|
+
branchName: string;
|
|
51
|
+
baseRef: string;
|
|
52
|
+
baseCommit: string;
|
|
53
|
+
headCommit: string | null;
|
|
54
|
+
displayName: string;
|
|
55
|
+
depth: number;
|
|
56
|
+
lifecycleStatus: WorkspaceWorktreeLifecycleStatus;
|
|
57
|
+
mergedAt: string | null;
|
|
58
|
+
removedAt: string | null;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
updatedAt: string;
|
|
61
|
+
}
|
|
62
|
+
export interface WorkspaceNavigationStateRecord {
|
|
63
|
+
workspaceId: string;
|
|
64
|
+
userId: string;
|
|
65
|
+
collapsed: boolean;
|
|
66
|
+
backgroundColor: string | null;
|
|
67
|
+
updatedAt: string;
|
|
68
|
+
}
|
|
41
69
|
export interface SessionBinding {
|
|
42
70
|
sessionId: string;
|
|
43
71
|
workspaceId: string;
|
|
@@ -253,6 +281,15 @@ export interface UserPreferenceProfileRecord extends UserPreferenceProfile {
|
|
|
253
281
|
createdAt: string;
|
|
254
282
|
updatedAt: string;
|
|
255
283
|
}
|
|
284
|
+
export interface GitRemoteCredentialRecord {
|
|
285
|
+
userId: string;
|
|
286
|
+
remoteUrl: string;
|
|
287
|
+
authMode: "basic" | "token";
|
|
288
|
+
usernameCiphertext: string;
|
|
289
|
+
secretCiphertext: string;
|
|
290
|
+
createdAt: string;
|
|
291
|
+
updatedAt: string;
|
|
292
|
+
}
|
|
256
293
|
export type ButlerProfileProviderId = "codex" | "claude-code";
|
|
257
294
|
export type ButlerAgentsMode = "inline" | "file";
|
|
258
295
|
export type ButlerControlSessionStatus = "idle" | "running" | "failed" | "closed";
|
|
@@ -517,6 +554,181 @@ export interface FileContextBinding {
|
|
|
517
554
|
attachedBy: string;
|
|
518
555
|
attachedAt: string;
|
|
519
556
|
}
|
|
557
|
+
export type DebugTargetSourceType = "repo" | "worktree";
|
|
558
|
+
export type DebugServiceRole = "frontend" | "backend" | "worker" | "mock" | "custom";
|
|
559
|
+
export type DebugServiceProtocol = "http" | "ws" | "tcp";
|
|
560
|
+
export type FrameworkAnalysisConfidence = "high" | "medium" | "low";
|
|
561
|
+
export type FrameworkCompatibilityLevel = "supported" | "conditional" | "unsupported" | "unknown";
|
|
562
|
+
export type DebugInjectionMode = "cli" | "env" | "override" | "ai_fallback" | "none";
|
|
563
|
+
export type DebugAdapterKind = "cli" | "env" | "override" | "ai_fallback";
|
|
564
|
+
export type DebugAiFallbackPolicy = "never" | "conditional" | "allowed";
|
|
565
|
+
export type DebugRuntimeSessionStatus = "PREPARING" | "RUNNING" | "FAILED" | "STOPPED";
|
|
566
|
+
export type RuntimeBindingStatus = "ALLOCATED" | "LISTENING" | "FAILED" | "RELEASED";
|
|
567
|
+
export type PortLeaseStatus = "LEASED" | "RELEASING" | "RELEASED" | "STALE";
|
|
568
|
+
export type AiFallbackEditStatus = "PENDING" | "APPLIED" | "ROLLED_BACK" | "REJECTED";
|
|
569
|
+
export type DebugLaunchAdapterAttemptStatus = "selected" | "skipped" | "blocked" | "fallback_required";
|
|
570
|
+
export type LauncherSourceType = "manual" | "debug_service";
|
|
571
|
+
export type ServiceDiscoveryMode = "same_origin" | "api_base_url" | "none";
|
|
572
|
+
export interface DebugTargetProfile {
|
|
573
|
+
id: string;
|
|
574
|
+
workspaceId: string;
|
|
575
|
+
rootPath: string;
|
|
576
|
+
displayName: string;
|
|
577
|
+
stackHint?: string | null;
|
|
578
|
+
sourceType: DebugTargetSourceType;
|
|
579
|
+
rootWorkspaceId?: string | null;
|
|
580
|
+
createdAt: string;
|
|
581
|
+
updatedAt: string;
|
|
582
|
+
}
|
|
583
|
+
export interface DebugServiceSpec {
|
|
584
|
+
id: string;
|
|
585
|
+
targetId: string;
|
|
586
|
+
role: DebugServiceRole;
|
|
587
|
+
name: string;
|
|
588
|
+
cwd: string;
|
|
589
|
+
command: string;
|
|
590
|
+
args: string[];
|
|
591
|
+
env: Record<string, string>;
|
|
592
|
+
defaultPortHint?: number | null;
|
|
593
|
+
protocol?: DebugServiceProtocol | null;
|
|
594
|
+
healthPath?: string | null;
|
|
595
|
+
adapterKind?: DebugAdapterKind | null;
|
|
596
|
+
frameworkAnalysisId?: string | null;
|
|
597
|
+
createdAt: string;
|
|
598
|
+
updatedAt: string;
|
|
599
|
+
}
|
|
600
|
+
export interface FrameworkAnalysisResult {
|
|
601
|
+
id: string;
|
|
602
|
+
targetId: string;
|
|
603
|
+
serviceId?: string | null;
|
|
604
|
+
primaryFramework?: string | null;
|
|
605
|
+
confidence: FrameworkAnalysisConfidence;
|
|
606
|
+
compatibilityLevel: FrameworkCompatibilityLevel;
|
|
607
|
+
recommendedInjectionMode?: DebugInjectionMode | null;
|
|
608
|
+
requiresServiceDiscoveryHandling: boolean;
|
|
609
|
+
requiresHmrHandling: boolean;
|
|
610
|
+
requiresCallbackHandling: boolean;
|
|
611
|
+
aiFallbackPolicy: DebugAiFallbackPolicy;
|
|
612
|
+
reasons: string[];
|
|
613
|
+
detectedFiles: string[];
|
|
614
|
+
rawEvidence?: Record<string, unknown>;
|
|
615
|
+
createdAt: string;
|
|
616
|
+
}
|
|
617
|
+
export interface DebugRuntimeSession {
|
|
618
|
+
id: string;
|
|
619
|
+
targetId: string;
|
|
620
|
+
status: DebugRuntimeSessionStatus;
|
|
621
|
+
failureStage?: string | null;
|
|
622
|
+
startedAt?: string | null;
|
|
623
|
+
stoppedAt?: string | null;
|
|
624
|
+
createdAt: string;
|
|
625
|
+
updatedAt: string;
|
|
626
|
+
}
|
|
627
|
+
export interface RuntimeBinding {
|
|
628
|
+
id: string;
|
|
629
|
+
runtimeId: string;
|
|
630
|
+
serviceId: string;
|
|
631
|
+
processInstanceId?: string | null;
|
|
632
|
+
expectedPort?: number | null;
|
|
633
|
+
leasedPort?: number | null;
|
|
634
|
+
observedPort?: number | null;
|
|
635
|
+
proxyPath?: string | null;
|
|
636
|
+
status: RuntimeBindingStatus;
|
|
637
|
+
updatedAt: string;
|
|
638
|
+
}
|
|
639
|
+
export interface PortLeaseRecord {
|
|
640
|
+
id: string;
|
|
641
|
+
runtimeId: string;
|
|
642
|
+
serviceId: string;
|
|
643
|
+
port: number;
|
|
644
|
+
protocol: "tcp" | "udp";
|
|
645
|
+
status: PortLeaseStatus;
|
|
646
|
+
leasedAt: string;
|
|
647
|
+
expiresAt?: string | null;
|
|
648
|
+
releasedAt?: string | null;
|
|
649
|
+
}
|
|
650
|
+
export interface AiFallbackEditRecord {
|
|
651
|
+
id: string;
|
|
652
|
+
runtimeId: string;
|
|
653
|
+
serviceId: string;
|
|
654
|
+
reason: string;
|
|
655
|
+
allowedFiles: string[];
|
|
656
|
+
targetPort: number;
|
|
657
|
+
patchRef?: string | null;
|
|
658
|
+
rollbackRef?: string | null;
|
|
659
|
+
status: AiFallbackEditStatus;
|
|
660
|
+
createdAt: string;
|
|
661
|
+
}
|
|
662
|
+
export interface FrameworkCompatibilityMatrixItem {
|
|
663
|
+
framework: string;
|
|
664
|
+
compatibilityLevel: FrameworkCompatibilityLevel;
|
|
665
|
+
recommendedInjectionMode: DebugInjectionMode;
|
|
666
|
+
requiresServiceDiscoveryHandling: boolean;
|
|
667
|
+
requiresHmrHandling: boolean;
|
|
668
|
+
requiresCallbackHandling: boolean;
|
|
669
|
+
aiFallbackPolicy: DebugAiFallbackPolicy;
|
|
670
|
+
notes: string;
|
|
671
|
+
}
|
|
672
|
+
export interface DebugLaunchAdapterAttempt {
|
|
673
|
+
kind: DebugAdapterKind;
|
|
674
|
+
status: DebugLaunchAdapterAttemptStatus;
|
|
675
|
+
reason: string;
|
|
676
|
+
}
|
|
677
|
+
export interface DebugAiFallbackSummary {
|
|
678
|
+
eligible: boolean;
|
|
679
|
+
editId: string | null;
|
|
680
|
+
status: AiFallbackEditStatus | null;
|
|
681
|
+
reason: string;
|
|
682
|
+
allowedFiles: string[];
|
|
683
|
+
}
|
|
684
|
+
export interface DebugLaunchPlanServiceItem {
|
|
685
|
+
serviceId: string;
|
|
686
|
+
role: DebugServiceRole;
|
|
687
|
+
frameworkAnalysisId: string | null;
|
|
688
|
+
primaryFramework: string | null;
|
|
689
|
+
compatibilityLevel: FrameworkCompatibilityLevel;
|
|
690
|
+
adapterKind: DebugAdapterKind | null;
|
|
691
|
+
injectionMode: DebugInjectionMode | null;
|
|
692
|
+
command: string;
|
|
693
|
+
args: string[];
|
|
694
|
+
envPatch: Record<string, string>;
|
|
695
|
+
expectedPort: number | null;
|
|
696
|
+
leasedPort: number | null;
|
|
697
|
+
artifactRef: string | null;
|
|
698
|
+
runtimeBindingId: string;
|
|
699
|
+
portLeaseId: string | null;
|
|
700
|
+
requiresServiceDiscoveryHandling: boolean;
|
|
701
|
+
requiresHmrHandling: boolean;
|
|
702
|
+
requiresCallbackHandling: boolean;
|
|
703
|
+
failureStage: string | null;
|
|
704
|
+
adapterAttempts: DebugLaunchAdapterAttempt[];
|
|
705
|
+
aiFallback: DebugAiFallbackSummary | null;
|
|
706
|
+
missingRequirements: string[];
|
|
707
|
+
autoStartAllowed: boolean;
|
|
708
|
+
}
|
|
709
|
+
export interface DebugLaunchPlan {
|
|
710
|
+
runtimeSession: DebugRuntimeSession;
|
|
711
|
+
targetId: string;
|
|
712
|
+
autoStartAllowed: boolean;
|
|
713
|
+
services: DebugLaunchPlanServiceItem[];
|
|
714
|
+
}
|
|
715
|
+
export interface DebugRuntimeDetailServiceItem {
|
|
716
|
+
service: DebugServiceSpec;
|
|
717
|
+
analysis: FrameworkAnalysisResult | null;
|
|
718
|
+
binding: RuntimeBinding | null;
|
|
719
|
+
portLease: PortLeaseRecord | null;
|
|
720
|
+
processInstance: TerminalInstance | null;
|
|
721
|
+
aiFallbackEdits: AiFallbackEditRecord[];
|
|
722
|
+
}
|
|
723
|
+
export interface DebugRuntimeDetail {
|
|
724
|
+
runtimeSession: DebugRuntimeSession;
|
|
725
|
+
target: DebugTargetProfile;
|
|
726
|
+
services: DebugRuntimeDetailServiceItem[];
|
|
727
|
+
}
|
|
728
|
+
export interface DebugRuntimeHistoryEnvelope {
|
|
729
|
+
targetId: string;
|
|
730
|
+
items: DebugRuntimeDetail[];
|
|
731
|
+
}
|
|
520
732
|
export type PersistentTerminalRuntimeType = "tmux" | "conpty-powershell" | "conpty-cmd" | "conpty-git-bash";
|
|
521
733
|
export type TerminalRuntimeType = PersistentTerminalRuntimeType | "embedded-pty";
|
|
522
734
|
export type TerminalStatus = "creating" | "running" | "closed" | "error";
|
|
@@ -538,6 +750,16 @@ export interface TerminalInstance {
|
|
|
538
750
|
closedAt: string | null;
|
|
539
751
|
exitCode: number | null;
|
|
540
752
|
statusDetail: string | null;
|
|
753
|
+
debugRuntimeSessionId?: string | null;
|
|
754
|
+
debugTargetId?: string | null;
|
|
755
|
+
debugServiceId?: string | null;
|
|
756
|
+
frameworkAnalysisId?: string | null;
|
|
757
|
+
launcherSourceType?: LauncherSourceType | null;
|
|
758
|
+
launchStage?: string | null;
|
|
759
|
+
failureStage?: string | null;
|
|
760
|
+
adapterKind?: DebugAdapterKind | null;
|
|
761
|
+
envPatchSummary?: Record<string, unknown>;
|
|
762
|
+
artifactRef?: string | null;
|
|
541
763
|
}
|
|
542
764
|
export interface TerminalRuntimeSession {
|
|
543
765
|
id: string;
|
|
@@ -608,6 +830,15 @@ export interface TerminalCommandTemplate {
|
|
|
608
830
|
runtimeType: TerminalRuntimeType | null;
|
|
609
831
|
createdAt: string;
|
|
610
832
|
updatedAt: string;
|
|
833
|
+
sourceType?: LauncherSourceType | null;
|
|
834
|
+
debugTargetId?: string | null;
|
|
835
|
+
debugServiceId?: string | null;
|
|
836
|
+
frameworkAnalysisId?: string | null;
|
|
837
|
+
adapterKind?: DebugAdapterKind | null;
|
|
838
|
+
injectionMode?: DebugInjectionMode | null;
|
|
839
|
+
generatedArtifactRef?: string | null;
|
|
840
|
+
serviceDiscoveryMode?: ServiceDiscoveryMode | null;
|
|
841
|
+
managedBySystem?: boolean;
|
|
611
842
|
}
|
|
612
843
|
export interface TerminalTemplateRuntimeStatus {
|
|
613
844
|
templateId: string;
|
|
@@ -617,3 +848,75 @@ export interface TerminalTemplateRuntimeStatus {
|
|
|
617
848
|
processName: string | null;
|
|
618
849
|
processCommandLine: string | null;
|
|
619
850
|
}
|
|
851
|
+
export type SkillSourceType = "builtin" | "local-import" | "managed-copy";
|
|
852
|
+
export type ManagedSkillState = "active" | "conflicted" | "missing";
|
|
853
|
+
export type SkillTargetCli = "codex" | "claude-code" | "gemini" | "opencode";
|
|
854
|
+
export type SkillTargetSyncStatus = "synced" | "pending" | "failed" | "conflicted";
|
|
855
|
+
export interface ManagedSkillRecord {
|
|
856
|
+
id: string;
|
|
857
|
+
name: string;
|
|
858
|
+
directoryName: string;
|
|
859
|
+
sourceType: SkillSourceType;
|
|
860
|
+
sourcePath: string | null;
|
|
861
|
+
contentHash: string;
|
|
862
|
+
managedState: ManagedSkillState;
|
|
863
|
+
createdAt: string;
|
|
864
|
+
updatedAt: string;
|
|
865
|
+
}
|
|
866
|
+
export interface SkillTargetBindingRecord {
|
|
867
|
+
skillId: string;
|
|
868
|
+
targetCli: SkillTargetCli;
|
|
869
|
+
enabled: boolean;
|
|
870
|
+
syncStatus: SkillTargetSyncStatus;
|
|
871
|
+
lastSyncedAt: string | null;
|
|
872
|
+
lastErrorCode: string | null;
|
|
873
|
+
lastErrorDetail: string | null;
|
|
874
|
+
}
|
|
875
|
+
export type SkillScanManagementState = "managed" | "unmanaged" | "conflicted";
|
|
876
|
+
export interface SkillScanEntry {
|
|
877
|
+
targetCli: SkillTargetCli;
|
|
878
|
+
directoryPath: string;
|
|
879
|
+
directoryName: string;
|
|
880
|
+
name: string;
|
|
881
|
+
contentHash: string;
|
|
882
|
+
managementState: SkillScanManagementState;
|
|
883
|
+
managedSkillId: string | null;
|
|
884
|
+
}
|
|
885
|
+
export interface SkillScanDiagnostic {
|
|
886
|
+
targetCli: SkillTargetCli;
|
|
887
|
+
rootDir: string;
|
|
888
|
+
code: string;
|
|
889
|
+
detail: string;
|
|
890
|
+
directoryName: string | null;
|
|
891
|
+
directoryPath: string | null;
|
|
892
|
+
managedSkillId: string | null;
|
|
893
|
+
}
|
|
894
|
+
export interface SkillScanResult {
|
|
895
|
+
managed: SkillScanEntry[];
|
|
896
|
+
unmanaged: SkillScanEntry[];
|
|
897
|
+
conflicted: SkillScanEntry[];
|
|
898
|
+
diagnostics: SkillScanDiagnostic[];
|
|
899
|
+
scannedAt: string;
|
|
900
|
+
}
|
|
901
|
+
export type TailscalePhase = "disabled" | "blocked_uninitialized" | "starting" | "needs_login" | "running" | "stopping" | "error";
|
|
902
|
+
export interface InstanceTailscaleConfig {
|
|
903
|
+
enabled: boolean;
|
|
904
|
+
controlServerUrl: string | null;
|
|
905
|
+
hostname: string | null;
|
|
906
|
+
stateDir: string;
|
|
907
|
+
updatedAt: string;
|
|
908
|
+
}
|
|
909
|
+
export interface InstanceTailscaleStatus {
|
|
910
|
+
phase: TailscalePhase;
|
|
911
|
+
connected: boolean;
|
|
912
|
+
loginUrl: string | null;
|
|
913
|
+
controlServerUrl: string | null;
|
|
914
|
+
hostname: string | null;
|
|
915
|
+
accountName: string | null;
|
|
916
|
+
tailnetFqdn: string | null;
|
|
917
|
+
tailnetIpv4: string | null;
|
|
918
|
+
tailnetIpv6: string | null;
|
|
919
|
+
reachableBaseUrl: string | null;
|
|
920
|
+
lastError: string | null;
|
|
921
|
+
observedAt: string | null;
|
|
922
|
+
}
|