@jingyi0605/codingns 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bin/codingns.mjs +173 -0
- package/dist/public/assets/TerminalPage-6GBZ9nXN.css +32 -0
- package/dist/public/assets/TerminalPage-Dj_VDew3.js +54 -0
- package/dist/public/assets/index-C1GZV2wq.js +106 -0
- package/dist/public/assets/index-DU7f8NaZ.css +1 -0
- package/dist/public/index.html +13 -0
- package/dist/public/logo.png +0 -0
- package/dist/public/logo.svg +162 -0
- package/dist/server/config/env.d.ts +24 -0
- package/dist/server/config/env.js +152 -0
- package/dist/server/config/env.js.map +1 -0
- package/dist/server/config/opencode-base-url-resolver.d.ts +37 -0
- package/dist/server/config/opencode-base-url-resolver.js +422 -0
- package/dist/server/config/opencode-base-url-resolver.js.map +1 -0
- package/dist/server/main.d.ts +1 -0
- package/dist/server/main.js +3 -0
- package/dist/server/main.js.map +1 -0
- package/dist/server/middlewares/auth-guard.d.ts +4 -0
- package/dist/server/middlewares/auth-guard.js +35 -0
- package/dist/server/middlewares/auth-guard.js.map +1 -0
- package/dist/server/modules/auth/auth-controller.d.ts +15 -0
- package/dist/server/modules/auth/auth-controller.js +20 -0
- package/dist/server/modules/auth/auth-controller.js.map +1 -0
- package/dist/server/modules/auth/auth-service.d.ts +44 -0
- package/dist/server/modules/auth/auth-service.js +151 -0
- package/dist/server/modules/auth/auth-service.js.map +1 -0
- package/dist/server/modules/bootstrap/bootstrap-controller.d.ts +10 -0
- package/dist/server/modules/bootstrap/bootstrap-controller.js +13 -0
- package/dist/server/modules/bootstrap/bootstrap-controller.js.map +1 -0
- package/dist/server/modules/bootstrap/bootstrap-service.d.ts +20 -0
- package/dist/server/modules/bootstrap/bootstrap-service.js +71 -0
- package/dist/server/modules/bootstrap/bootstrap-service.js.map +1 -0
- package/dist/server/modules/client/client-controller.d.ts +9 -0
- package/dist/server/modules/client/client-controller.js +65 -0
- package/dist/server/modules/client/client-controller.js.map +1 -0
- package/dist/server/modules/client/client-service.d.ts +37 -0
- package/dist/server/modules/client/client-service.js +186 -0
- package/dist/server/modules/client/client-service.js.map +1 -0
- package/dist/server/modules/file/file-access-guard.d.ts +27 -0
- package/dist/server/modules/file/file-access-guard.js +99 -0
- package/dist/server/modules/file/file-access-guard.js.map +1 -0
- package/dist/server/modules/file/file-constants.d.ts +6 -0
- package/dist/server/modules/file/file-constants.js +7 -0
- package/dist/server/modules/file/file-constants.js.map +1 -0
- package/dist/server/modules/file/file-content-service.d.ts +65 -0
- package/dist/server/modules/file/file-content-service.js +239 -0
- package/dist/server/modules/file/file-content-service.js.map +1 -0
- package/dist/server/modules/file/file-context-controller.d.ts +29 -0
- package/dist/server/modules/file/file-context-controller.js +52 -0
- package/dist/server/modules/file/file-context-controller.js.map +1 -0
- package/dist/server/modules/file/file-context-service.d.ts +22 -0
- package/dist/server/modules/file/file-context-service.js +90 -0
- package/dist/server/modules/file/file-context-service.js.map +1 -0
- package/dist/server/modules/file/file-controller.d.ts +68 -0
- package/dist/server/modules/file/file-controller.js +111 -0
- package/dist/server/modules/file/file-controller.js.map +1 -0
- package/dist/server/modules/file/file-preview-service.d.ts +19 -0
- package/dist/server/modules/file/file-preview-service.js +60 -0
- package/dist/server/modules/file/file-preview-service.js.map +1 -0
- package/dist/server/modules/file/file-search-service.d.ts +13 -0
- package/dist/server/modules/file/file-search-service.js +62 -0
- package/dist/server/modules/file/file-search-service.js.map +1 -0
- package/dist/server/modules/file/file-tree-service.d.ts +7 -0
- package/dist/server/modules/file/file-tree-service.js +43 -0
- package/dist/server/modules/file/file-tree-service.js.map +1 -0
- package/dist/server/modules/file/file-version-checker.d.ts +10 -0
- package/dist/server/modules/file/file-version-checker.js +30 -0
- package/dist/server/modules/file/file-version-checker.js.map +1 -0
- package/dist/server/modules/file/path-normalizer.d.ts +2 -0
- package/dist/server/modules/file/path-normalizer.js +80 -0
- package/dist/server/modules/file/path-normalizer.js.map +1 -0
- package/dist/server/modules/file/recent-file-service.d.ts +10 -0
- package/dist/server/modules/file/recent-file-service.js +28 -0
- package/dist/server/modules/file/recent-file-service.js.map +1 -0
- package/dist/server/modules/git/commit-draft-service.d.ts +7 -0
- package/dist/server/modules/git/commit-draft-service.js +76 -0
- package/dist/server/modules/git/commit-draft-service.js.map +1 -0
- package/dist/server/modules/git/commit-orchestrator.d.ts +28 -0
- package/dist/server/modules/git/commit-orchestrator.js +47 -0
- package/dist/server/modules/git/commit-orchestrator.js.map +1 -0
- package/dist/server/modules/git/commit-rule-engine.d.ts +5 -0
- package/dist/server/modules/git/commit-rule-engine.js +22 -0
- package/dist/server/modules/git/commit-rule-engine.js.map +1 -0
- package/dist/server/modules/git/git-command-runner.d.ts +16 -0
- package/dist/server/modules/git/git-command-runner.js +102 -0
- package/dist/server/modules/git/git-command-runner.js.map +1 -0
- package/dist/server/modules/git/git-controller.d.ts +104 -0
- package/dist/server/modules/git/git-controller.js +140 -0
- package/dist/server/modules/git/git-controller.js.map +1 -0
- package/dist/server/modules/git/git-read-service.d.ts +15 -0
- package/dist/server/modules/git/git-read-service.js +393 -0
- package/dist/server/modules/git/git-read-service.js.map +1 -0
- package/dist/server/modules/git/git-rule-repository.d.ts +9 -0
- package/dist/server/modules/git/git-rule-repository.js +43 -0
- package/dist/server/modules/git/git-rule-repository.js.map +1 -0
- package/dist/server/modules/git/git-write-service.d.ts +28 -0
- package/dist/server/modules/git/git-write-service.js +330 -0
- package/dist/server/modules/git/git-write-service.js.map +1 -0
- package/dist/server/modules/git/types.d.ts +99 -0
- package/dist/server/modules/git/types.js +2 -0
- package/dist/server/modules/git/types.js.map +1 -0
- package/dist/server/modules/git/workspace-repo-guard.d.ts +17 -0
- package/dist/server/modules/git/workspace-repo-guard.js +124 -0
- package/dist/server/modules/git/workspace-repo-guard.js.map +1 -0
- package/dist/server/modules/preferences/quick-phrase-controller.d.ts +17 -0
- package/dist/server/modules/preferences/quick-phrase-controller.js +37 -0
- package/dist/server/modules/preferences/quick-phrase-controller.js.map +1 -0
- package/dist/server/modules/preferences/quick-phrase-service.d.ts +13 -0
- package/dist/server/modules/preferences/quick-phrase-service.js +67 -0
- package/dist/server/modules/preferences/quick-phrase-service.js.map +1 -0
- package/dist/server/modules/provider/claude-model-options.d.ts +5 -0
- package/dist/server/modules/provider/claude-model-options.js +116 -0
- package/dist/server/modules/provider/claude-model-options.js.map +1 -0
- package/dist/server/modules/provider/codex-model-options.d.ts +23 -0
- package/dist/server/modules/provider/codex-model-options.js +308 -0
- package/dist/server/modules/provider/codex-model-options.js.map +1 -0
- package/dist/server/modules/provider/opencode-model-options.d.ts +30 -0
- package/dist/server/modules/provider/opencode-model-options.js +362 -0
- package/dist/server/modules/provider/opencode-model-options.js.map +1 -0
- package/dist/server/modules/provider/provider-controller.d.ts +33 -0
- package/dist/server/modules/provider/provider-controller.js +50 -0
- package/dist/server/modules/provider/provider-controller.js.map +1 -0
- package/dist/server/modules/sessions/session-activity-inspector.d.ts +10 -0
- package/dist/server/modules/sessions/session-activity-inspector.js +271 -0
- package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -0
- package/dist/server/modules/sessions/session-changed-file-service.d.ts +14 -0
- package/dist/server/modules/sessions/session-changed-file-service.js +175 -0
- package/dist/server/modules/sessions/session-changed-file-service.js.map +1 -0
- package/dist/server/modules/sessions/session-controller.d.ts +134 -0
- package/dist/server/modules/sessions/session-controller.js +253 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -0
- package/dist/server/modules/sessions/session-history-service.d.ts +128 -0
- package/dist/server/modules/sessions/session-history-service.js +1558 -0
- package/dist/server/modules/sessions/session-history-service.js.map +1 -0
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +191 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +1303 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -0
- package/dist/server/modules/sessions/session-message-attachment-service.d.ts +42 -0
- package/dist/server/modules/sessions/session-message-attachment-service.js +244 -0
- package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.d.ts +2 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js +101 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -0
- package/dist/server/modules/terminal/command-template-service.d.ts +48 -0
- package/dist/server/modules/terminal/command-template-service.js +273 -0
- package/dist/server/modules/terminal/command-template-service.js.map +1 -0
- package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.d.ts +22 -0
- package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js +30 -0
- package/dist/server/modules/terminal/runtime/adapters/embedded-pty-runtime-adapter.js.map +1 -0
- package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.d.ts +31 -0
- package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js +199 -0
- package/dist/server/modules/terminal/runtime/adapters/tmux-runtime-adapter.js.map +1 -0
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.d.ts +36 -0
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js +141 -0
- package/dist/server/modules/terminal/runtime/pty-host-attachment-manager.js.map +1 -0
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.d.ts +29 -0
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js +138 -0
- package/dist/server/modules/terminal/runtime/pty-runtime-manager.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-log-file-store.d.ts +14 -0
- package/dist/server/modules/terminal/runtime/terminal-log-file-store.js +47 -0
- package/dist/server/modules/terminal/runtime/terminal-log-file-store.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +28 -0
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +162 -0
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-output-buffer.d.ts +18 -0
- package/dist/server/modules/terminal/runtime/terminal-output-buffer.js +109 -0
- package/dist/server/modules/terminal/runtime/terminal-output-buffer.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-adapter.d.ts +34 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-adapter.js +2 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-adapter.js.map +1 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-manager.d.ts +41 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js +138 -0
- package/dist/server/modules/terminal/runtime/terminal-runtime-manager.js.map +1 -0
- package/dist/server/modules/terminal/template-port-runtime.d.ts +6 -0
- package/dist/server/modules/terminal/template-port-runtime.js +199 -0
- package/dist/server/modules/terminal/template-port-runtime.js.map +1 -0
- package/dist/server/modules/terminal/terminal-controller.d.ts +94 -0
- package/dist/server/modules/terminal/terminal-controller.js +236 -0
- package/dist/server/modules/terminal/terminal-controller.js.map +1 -0
- package/dist/server/modules/terminal/terminal-history.d.ts +18 -0
- package/dist/server/modules/terminal/terminal-history.js +2 -0
- package/dist/server/modules/terminal/terminal-history.js.map +1 -0
- package/dist/server/modules/terminal/terminal-paths.d.ts +1 -0
- package/dist/server/modules/terminal/terminal-paths.js +27 -0
- package/dist/server/modules/terminal/terminal-paths.js.map +1 -0
- package/dist/server/modules/terminal/terminal-service.d.ts +112 -0
- package/dist/server/modules/terminal/terminal-service.js +794 -0
- package/dist/server/modules/terminal/terminal-service.js.map +1 -0
- package/dist/server/modules/terminal/terminal-shell.d.ts +13 -0
- package/dist/server/modules/terminal/terminal-shell.js +293 -0
- package/dist/server/modules/terminal/terminal-shell.js.map +1 -0
- package/dist/server/modules/workbench/workbench-controller.d.ts +7 -0
- package/dist/server/modules/workbench/workbench-controller.js +22 -0
- package/dist/server/modules/workbench/workbench-controller.js.map +1 -0
- package/dist/server/modules/workbench/workbench-service.d.ts +19 -0
- package/dist/server/modules/workbench/workbench-service.js +46 -0
- package/dist/server/modules/workbench/workbench-service.js.map +1 -0
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +65 -0
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +176 -0
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -0
- package/dist/server/modules/workspace/workspace-controller.d.ts +57 -0
- package/dist/server/modules/workspace/workspace-controller.js +38 -0
- package/dist/server/modules/workspace/workspace-controller.js.map +1 -0
- package/dist/server/modules/workspace/workspace-service.d.ts +81 -0
- package/dist/server/modules/workspace/workspace-service.js +659 -0
- package/dist/server/modules/workspace/workspace-service.js.map +1 -0
- package/dist/server/routes/auth.d.ts +3 -0
- package/dist/server/routes/auth.js +6 -0
- package/dist/server/routes/auth.js.map +1 -0
- package/dist/server/routes/client.d.ts +3 -0
- package/dist/server/routes/client.js +6 -0
- package/dist/server/routes/client.js.map +1 -0
- package/dist/server/routes/files.d.ts +3 -0
- package/dist/server/routes/files.js +15 -0
- package/dist/server/routes/files.js.map +1 -0
- package/dist/server/routes/git.d.ts +3 -0
- package/dist/server/routes/git.js +18 -0
- package/dist/server/routes/git.js.map +1 -0
- package/dist/server/routes/preferences.d.ts +3 -0
- package/dist/server/routes/preferences.js +5 -0
- package/dist/server/routes/preferences.js.map +1 -0
- package/dist/server/routes/providers.d.ts +3 -0
- package/dist/server/routes/providers.js +6 -0
- package/dist/server/routes/providers.js.map +1 -0
- package/dist/server/routes/public.d.ts +3 -0
- package/dist/server/routes/public.js +5 -0
- package/dist/server/routes/public.js.map +1 -0
- package/dist/server/routes/session-contexts.d.ts +3 -0
- package/dist/server/routes/session-contexts.js +6 -0
- package/dist/server/routes/session-contexts.js.map +1 -0
- package/dist/server/routes/sessions.d.ts +3 -0
- package/dist/server/routes/sessions.js +24 -0
- package/dist/server/routes/sessions.js.map +1 -0
- package/dist/server/routes/terminals.d.ts +3 -0
- package/dist/server/routes/terminals.js +17 -0
- package/dist/server/routes/terminals.js.map +1 -0
- package/dist/server/routes/workbench.d.ts +3 -0
- package/dist/server/routes/workbench.js +4 -0
- package/dist/server/routes/workbench.js.map +1 -0
- package/dist/server/routes/workspaces.d.ts +3 -0
- package/dist/server/routes/workspaces.js +10 -0
- package/dist/server/routes/workspaces.js.map +1 -0
- package/dist/server/server/create-server.d.ts +103 -0
- package/dist/server/server/create-server.js +259 -0
- package/dist/server/server/create-server.js.map +1 -0
- package/dist/server/server/start-host.d.ts +8 -0
- package/dist/server/server/start-host.js +40 -0
- package/dist/server/server/start-host.js.map +1 -0
- package/dist/server/server/static-web.d.ts +2 -0
- package/dist/server/server/static-web.js +75 -0
- package/dist/server/server/static-web.js.map +1 -0
- package/dist/server/shared/errors/app-error.d.ts +13 -0
- package/dist/server/shared/errors/app-error.js +16 -0
- package/dist/server/shared/errors/app-error.js.map +1 -0
- package/dist/server/shared/http/error-handler.d.ts +9 -0
- package/dist/server/shared/http/error-handler.js +25 -0
- package/dist/server/shared/http/error-handler.js.map +1 -0
- package/dist/server/shared/utils/hash.d.ts +4 -0
- package/dist/server/shared/utils/hash.js +27 -0
- package/dist/server/shared/utils/hash.js.map +1 -0
- package/dist/server/shared/utils/id.d.ts +1 -0
- package/dist/server/shared/utils/id.js +5 -0
- package/dist/server/shared/utils/id.js.map +1 -0
- package/dist/server/shared/utils/perf-log.d.ts +6 -0
- package/dist/server/shared/utils/perf-log.js +40 -0
- package/dist/server/shared/utils/perf-log.js.map +1 -0
- package/dist/server/shared/utils/time.d.ts +2 -0
- package/dist/server/shared/utils/time.js +7 -0
- package/dist/server/shared/utils/time.js.map +1 -0
- package/dist/server/shared/utils/tokens.d.ts +1 -0
- package/dist/server/shared/utils/tokens.js +5 -0
- package/dist/server/shared/utils/tokens.js.map +1 -0
- package/dist/server/storage/repositories/auth-token-repository.d.ts +9 -0
- package/dist/server/storage/repositories/auth-token-repository.js +45 -0
- package/dist/server/storage/repositories/auth-token-repository.js.map +1 -0
- package/dist/server/storage/repositories/auth-user-repository.d.ts +11 -0
- package/dist/server/storage/repositories/auth-user-repository.js +61 -0
- package/dist/server/storage/repositories/auth-user-repository.js.map +1 -0
- package/dist/server/storage/repositories/bootstrap-state-repository.d.ts +8 -0
- package/dist/server/storage/repositories/bootstrap-state-repository.js +29 -0
- package/dist/server/storage/repositories/bootstrap-state-repository.js.map +1 -0
- package/dist/server/storage/repositories/commit-rule-profile-repository.d.ts +8 -0
- package/dist/server/storage/repositories/commit-rule-profile-repository.js +48 -0
- package/dist/server/storage/repositories/commit-rule-profile-repository.js.map +1 -0
- package/dist/server/storage/repositories/file-context-binding-repository.d.ts +12 -0
- package/dist/server/storage/repositories/file-context-binding-repository.js +130 -0
- package/dist/server/storage/repositories/file-context-binding-repository.js.map +1 -0
- package/dist/server/storage/repositories/recent-file-repository.d.ts +10 -0
- package/dist/server/storage/repositories/recent-file-repository.js +64 -0
- package/dist/server/storage/repositories/recent-file-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-binding-repository.d.ts +10 -0
- package/dist/server/storage/repositories/session-binding-repository.js +63 -0
- package/dist/server/storage/repositories/session-binding-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-changed-file-repository.d.ts +11 -0
- package/dist/server/storage/repositories/session-changed-file-repository.js +94 -0
- package/dist/server/storage/repositories/session-changed-file-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-index-repository.d.ts +11 -0
- package/dist/server/storage/repositories/session-index-repository.js +200 -0
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +13 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js +139 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-send-queue-repository.d.ts +15 -0
- package/dist/server/storage/repositories/session-send-queue-repository.js +165 -0
- package/dist/server/storage/repositories/session-send-queue-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-state-repository.d.ts +8 -0
- package/dist/server/storage/repositories/session-state-repository.js +60 -0
- package/dist/server/storage/repositories/session-state-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-status-snapshot-repository.d.ts +8 -0
- package/dist/server/storage/repositories/session-status-snapshot-repository.js +49 -0
- package/dist/server/storage/repositories/session-status-snapshot-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-command-template-repository.d.ts +11 -0
- package/dist/server/storage/repositories/terminal-command-template-repository.js +99 -0
- package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-instance-repository.d.ts +23 -0
- package/dist/server/storage/repositories/terminal-instance-repository.js +149 -0
- package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-log-file-repository.d.ts +20 -0
- package/dist/server/storage/repositories/terminal-log-file-repository.js +106 -0
- package/dist/server/storage/repositories/terminal-log-file-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-log-segment-repository.d.ts +11 -0
- package/dist/server/storage/repositories/terminal-log-segment-repository.js +110 -0
- package/dist/server/storage/repositories/terminal-log-segment-repository.js.map +1 -0
- package/dist/server/storage/repositories/terminal-runtime-session-repository.d.ts +24 -0
- package/dist/server/storage/repositories/terminal-runtime-session-repository.js +134 -0
- package/dist/server/storage/repositories/terminal-runtime-session-repository.js.map +1 -0
- package/dist/server/storage/repositories/user-quick-phrase-preference-repository.d.ts +8 -0
- package/dist/server/storage/repositories/user-quick-phrase-preference-repository.js +37 -0
- package/dist/server/storage/repositories/user-quick-phrase-preference-repository.js.map +1 -0
- package/dist/server/storage/repositories/workspace-repository.d.ts +16 -0
- package/dist/server/storage/repositories/workspace-repository.js +71 -0
- package/dist/server/storage/repositories/workspace-repository.js.map +1 -0
- package/dist/server/storage/sqlite/client.d.ts +6 -0
- package/dist/server/storage/sqlite/client.js +446 -0
- package/dist/server/storage/sqlite/client.js.map +1 -0
- package/dist/server/storage/sqlite/schema.sql +357 -0
- package/dist/server/types/domain.d.ts +306 -0
- package/dist/server/types/domain.js +2 -0
- package/dist/server/types/domain.js.map +1 -0
- package/dist/server/ws/terminal-ws-hub.d.ts +32 -0
- package/dist/server/ws/terminal-ws-hub.js +181 -0
- package/dist/server/ws/terminal-ws-hub.js.map +1 -0
- package/dist/server/ws/workbench-ws-hub.d.ts +30 -0
- package/dist/server/ws/workbench-ws-hub.js +480 -0
- package/dist/server/ws/workbench-ws-hub.js.map +1 -0
- package/dist/server/ws/ws-auth-guard.d.ts +7 -0
- package/dist/server/ws/ws-auth-guard.js +28 -0
- package/dist/server/ws/ws-auth-guard.js.map +1 -0
- package/dist/server/ws/ws-server.d.ts +11 -0
- package/dist/server/ws/ws-server.js +218 -0
- package/dist/server/ws/ws-server.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.d.ts +36 -0
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +213 -0
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/index.d.ts +12 -0
- package/node_modules/@codingns/session-sync-core/dist/index.js +13 -0
- package/node_modules/@codingns/session-sync-core/dist/index.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +30 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +567 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +41 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +1365 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.d.ts +41 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +280 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +53 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +745 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +25 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +284 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/registry.d.ts +7 -0
- package/node_modules/@codingns/session-sync-core/dist/registry.js +22 -0
- package/node_modules/@codingns/session-sync-core/dist/registry.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +18 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +236 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +21 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +732 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +16 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +26 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +892 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +31 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +626 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +18 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +148 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +141 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.js +2 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/services.d.ts +26 -0
- package/node_modules/@codingns/session-sync-core/dist/services.js +85 -0
- package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +159 -0
- package/node_modules/@codingns/session-sync-core/dist/types.js +2 -0
- package/node_modules/@codingns/session-sync-core/dist/types.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/package.json +25 -0
- package/package.json +34 -0
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import Database from "better-sqlite3";
|
|
4
|
+
export function createDatabaseClient(databasePath) {
|
|
5
|
+
if (databasePath !== ":memory:") {
|
|
6
|
+
fs.mkdirSync(path.dirname(databasePath), { recursive: true });
|
|
7
|
+
}
|
|
8
|
+
const db = new Database(databasePath);
|
|
9
|
+
const schemaPath = new URL("./schema.sql", import.meta.url);
|
|
10
|
+
const schema = fs.readFileSync(schemaPath, "utf8");
|
|
11
|
+
db.exec(schema);
|
|
12
|
+
ensureWorkspaceRemovalColumn(db);
|
|
13
|
+
ensureSessionProviderSchema(db);
|
|
14
|
+
ensureSessionStateSchema(db);
|
|
15
|
+
ensureSessionIndexArchiveColumn(db);
|
|
16
|
+
ensureSessionRelationColumns(db);
|
|
17
|
+
ensureSessionChangedFileTables(db);
|
|
18
|
+
ensureTerminalInstanceProcessIdColumn(db);
|
|
19
|
+
ensureTerminalRuntimeSchema(db);
|
|
20
|
+
ensureTerminalLogSchema(db);
|
|
21
|
+
ensureTerminalCommandTemplatePortColumn(db);
|
|
22
|
+
ensureTerminalCommandTemplateRuntimeTypeColumn(db);
|
|
23
|
+
return {
|
|
24
|
+
db,
|
|
25
|
+
close: () => db.close()
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function ensureWorkspaceRemovalColumn(db) {
|
|
29
|
+
const columns = db
|
|
30
|
+
.prepare("PRAGMA table_info(workspaces)")
|
|
31
|
+
.all();
|
|
32
|
+
if (columns.some((column) => column.name === "removed_at")) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
db.exec("ALTER TABLE workspaces ADD COLUMN removed_at TEXT");
|
|
36
|
+
}
|
|
37
|
+
function ensureSessionProviderSchema(db) {
|
|
38
|
+
const bindingSql = readTableSql(db, "session_bindings");
|
|
39
|
+
const indexSql = readTableSql(db, "session_indices");
|
|
40
|
+
const requiresBindingMigration = bindingSql.includes("CHECK (provider IN ('claude-code', 'codex'))");
|
|
41
|
+
const requiresIndexMigration = indexSql.includes("CHECK (provider IN ('claude-code', 'codex'))");
|
|
42
|
+
if (!requiresBindingMigration && !requiresIndexMigration) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
db.exec(`
|
|
46
|
+
PRAGMA foreign_keys = OFF;
|
|
47
|
+
|
|
48
|
+
CREATE TABLE session_bindings_next (
|
|
49
|
+
session_id TEXT PRIMARY KEY,
|
|
50
|
+
workspace_id TEXT NOT NULL,
|
|
51
|
+
provider TEXT NOT NULL,
|
|
52
|
+
provider_session_id TEXT NOT NULL,
|
|
53
|
+
raw_store_ref TEXT NOT NULL,
|
|
54
|
+
created_at TEXT NOT NULL,
|
|
55
|
+
updated_at TEXT NOT NULL,
|
|
56
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
57
|
+
UNIQUE (provider, provider_session_id)
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
INSERT INTO session_bindings_next (
|
|
61
|
+
session_id,
|
|
62
|
+
workspace_id,
|
|
63
|
+
provider,
|
|
64
|
+
provider_session_id,
|
|
65
|
+
raw_store_ref,
|
|
66
|
+
created_at,
|
|
67
|
+
updated_at
|
|
68
|
+
)
|
|
69
|
+
SELECT
|
|
70
|
+
session_id,
|
|
71
|
+
workspace_id,
|
|
72
|
+
provider,
|
|
73
|
+
provider_session_id,
|
|
74
|
+
raw_store_ref,
|
|
75
|
+
created_at,
|
|
76
|
+
updated_at
|
|
77
|
+
FROM session_bindings;
|
|
78
|
+
|
|
79
|
+
CREATE TABLE session_indices_next (
|
|
80
|
+
session_id TEXT PRIMARY KEY,
|
|
81
|
+
workspace_id TEXT NOT NULL,
|
|
82
|
+
provider TEXT NOT NULL,
|
|
83
|
+
title TEXT NOT NULL,
|
|
84
|
+
message_count INTEGER NOT NULL DEFAULT 0,
|
|
85
|
+
is_archived INTEGER NOT NULL DEFAULT 0 CHECK (is_archived IN (0, 1)),
|
|
86
|
+
last_message_at TEXT,
|
|
87
|
+
created_at TEXT NOT NULL,
|
|
88
|
+
updated_at TEXT NOT NULL,
|
|
89
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
90
|
+
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id)
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
INSERT INTO session_indices_next (
|
|
94
|
+
session_id,
|
|
95
|
+
workspace_id,
|
|
96
|
+
provider,
|
|
97
|
+
title,
|
|
98
|
+
message_count,
|
|
99
|
+
is_archived,
|
|
100
|
+
last_message_at,
|
|
101
|
+
created_at,
|
|
102
|
+
updated_at
|
|
103
|
+
)
|
|
104
|
+
SELECT
|
|
105
|
+
session_id,
|
|
106
|
+
workspace_id,
|
|
107
|
+
provider,
|
|
108
|
+
title,
|
|
109
|
+
message_count,
|
|
110
|
+
COALESCE(is_archived, 0),
|
|
111
|
+
last_message_at,
|
|
112
|
+
created_at,
|
|
113
|
+
updated_at
|
|
114
|
+
FROM session_indices;
|
|
115
|
+
|
|
116
|
+
DROP TABLE session_indices;
|
|
117
|
+
DROP TABLE session_bindings;
|
|
118
|
+
|
|
119
|
+
ALTER TABLE session_bindings_next RENAME TO session_bindings;
|
|
120
|
+
ALTER TABLE session_indices_next RENAME TO session_indices;
|
|
121
|
+
|
|
122
|
+
CREATE INDEX IF NOT EXISTS idx_session_bindings_workspace_id
|
|
123
|
+
ON session_bindings(workspace_id);
|
|
124
|
+
|
|
125
|
+
CREATE INDEX IF NOT EXISTS idx_session_indices_workspace_id
|
|
126
|
+
ON session_indices(workspace_id);
|
|
127
|
+
|
|
128
|
+
PRAGMA foreign_keys = ON;
|
|
129
|
+
`);
|
|
130
|
+
}
|
|
131
|
+
function ensureSessionStateSchema(db) {
|
|
132
|
+
const columns = db
|
|
133
|
+
.prepare("PRAGMA table_info(session_states)")
|
|
134
|
+
.all();
|
|
135
|
+
const columnNames = new Set(columns.map((column) => column.name));
|
|
136
|
+
if (columnNames.has("activity_source") && columnNames.has("favorite")) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const runningStateExpr = columnNames.has("running_state")
|
|
140
|
+
? `CASE
|
|
141
|
+
WHEN running_state IN ('idle', 'starting', 'running', 'completed', 'interrupted', 'failed')
|
|
142
|
+
THEN running_state
|
|
143
|
+
ELSE 'idle'
|
|
144
|
+
END`
|
|
145
|
+
: "'idle'";
|
|
146
|
+
const activitySourceExpr = columnNames.has("activity_source")
|
|
147
|
+
? `CASE
|
|
148
|
+
WHEN activity_source IN ('none', 'runtime', 'inferred') THEN activity_source
|
|
149
|
+
WHEN ${runningStateExpr} = 'running' THEN 'inferred'
|
|
150
|
+
ELSE 'none'
|
|
151
|
+
END`
|
|
152
|
+
: `CASE
|
|
153
|
+
WHEN ${runningStateExpr} = 'running' THEN 'inferred'
|
|
154
|
+
ELSE 'none'
|
|
155
|
+
END`;
|
|
156
|
+
const lastEventAtExpr = columnNames.has("last_event_at") ? "last_event_at" : "NULL";
|
|
157
|
+
const completedAtExpr = columnNames.has("completed_at") ? "completed_at" : "NULL";
|
|
158
|
+
const lastSeenAtExpr = columnNames.has("last_seen_at") ? "last_seen_at" : "NULL";
|
|
159
|
+
const favoriteExpr = columnNames.has("favorite") ? "favorite" : "0";
|
|
160
|
+
const updatedAtExpr = columnNames.has("updated_at") ? "updated_at" : "CURRENT_TIMESTAMP";
|
|
161
|
+
db.exec(`
|
|
162
|
+
CREATE TABLE session_states_next (
|
|
163
|
+
session_id TEXT NOT NULL,
|
|
164
|
+
user_id TEXT NOT NULL,
|
|
165
|
+
running_state TEXT NOT NULL CHECK (
|
|
166
|
+
running_state IN ('idle', 'starting', 'running', 'completed', 'interrupted', 'failed')
|
|
167
|
+
),
|
|
168
|
+
activity_source TEXT NOT NULL CHECK (activity_source IN ('none', 'runtime', 'inferred')),
|
|
169
|
+
favorite INTEGER NOT NULL DEFAULT 0 CHECK (favorite IN (0, 1)),
|
|
170
|
+
last_event_at TEXT,
|
|
171
|
+
completed_at TEXT,
|
|
172
|
+
last_seen_at TEXT,
|
|
173
|
+
updated_at TEXT NOT NULL,
|
|
174
|
+
PRIMARY KEY (session_id, user_id),
|
|
175
|
+
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id),
|
|
176
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id)
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
INSERT INTO session_states_next (
|
|
180
|
+
session_id,
|
|
181
|
+
user_id,
|
|
182
|
+
running_state,
|
|
183
|
+
activity_source,
|
|
184
|
+
favorite,
|
|
185
|
+
last_event_at,
|
|
186
|
+
completed_at,
|
|
187
|
+
last_seen_at,
|
|
188
|
+
updated_at
|
|
189
|
+
)
|
|
190
|
+
SELECT
|
|
191
|
+
session_id,
|
|
192
|
+
user_id,
|
|
193
|
+
${runningStateExpr},
|
|
194
|
+
${activitySourceExpr},
|
|
195
|
+
${favoriteExpr},
|
|
196
|
+
${lastEventAtExpr},
|
|
197
|
+
${completedAtExpr},
|
|
198
|
+
${lastSeenAtExpr},
|
|
199
|
+
${updatedAtExpr}
|
|
200
|
+
FROM session_states;
|
|
201
|
+
|
|
202
|
+
DROP TABLE session_states;
|
|
203
|
+
ALTER TABLE session_states_next RENAME TO session_states;
|
|
204
|
+
|
|
205
|
+
CREATE INDEX IF NOT EXISTS idx_session_states_user_id
|
|
206
|
+
ON session_states(user_id, updated_at DESC);
|
|
207
|
+
`);
|
|
208
|
+
}
|
|
209
|
+
function ensureSessionIndexArchiveColumn(db) {
|
|
210
|
+
const columns = db
|
|
211
|
+
.prepare("PRAGMA table_info(session_indices)")
|
|
212
|
+
.all();
|
|
213
|
+
if (columns.some((column) => column.name === "is_archived")) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
db.exec(`
|
|
217
|
+
ALTER TABLE session_indices
|
|
218
|
+
ADD COLUMN is_archived INTEGER NOT NULL DEFAULT 0 CHECK (is_archived IN (0, 1));
|
|
219
|
+
`);
|
|
220
|
+
}
|
|
221
|
+
function ensureSessionRelationColumns(db) {
|
|
222
|
+
const columns = db
|
|
223
|
+
.prepare("PRAGMA table_info(session_indices)")
|
|
224
|
+
.all();
|
|
225
|
+
const columnNames = new Set(columns.map((column) => column.name));
|
|
226
|
+
if (!columnNames.has("parent_session_id")) {
|
|
227
|
+
db.exec("ALTER TABLE session_indices ADD COLUMN parent_session_id TEXT");
|
|
228
|
+
}
|
|
229
|
+
if (!columnNames.has("is_subagent")) {
|
|
230
|
+
db.exec("ALTER TABLE session_indices ADD COLUMN is_subagent INTEGER NOT NULL DEFAULT 0 CHECK (is_subagent IN (0, 1))");
|
|
231
|
+
}
|
|
232
|
+
if (!columnNames.has("subagent_label")) {
|
|
233
|
+
db.exec("ALTER TABLE session_indices ADD COLUMN subagent_label TEXT");
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
function ensureSessionChangedFileTables(db) {
|
|
237
|
+
db.exec(`
|
|
238
|
+
CREATE TABLE IF NOT EXISTS session_changed_files (
|
|
239
|
+
session_id TEXT NOT NULL,
|
|
240
|
+
workspace_id TEXT NOT NULL,
|
|
241
|
+
path TEXT NOT NULL,
|
|
242
|
+
first_detected_at TEXT NOT NULL,
|
|
243
|
+
last_detected_at TEXT NOT NULL,
|
|
244
|
+
last_tool_name TEXT,
|
|
245
|
+
PRIMARY KEY (session_id, path),
|
|
246
|
+
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id),
|
|
247
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id)
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
CREATE INDEX IF NOT EXISTS idx_session_changed_files_session
|
|
251
|
+
ON session_changed_files(session_id, path);
|
|
252
|
+
|
|
253
|
+
CREATE TABLE IF NOT EXISTS session_changed_file_states (
|
|
254
|
+
session_id TEXT PRIMARY KEY,
|
|
255
|
+
indexed_at TEXT NOT NULL,
|
|
256
|
+
updated_at TEXT NOT NULL,
|
|
257
|
+
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id)
|
|
258
|
+
);
|
|
259
|
+
`);
|
|
260
|
+
}
|
|
261
|
+
function ensureTerminalCommandTemplatePortColumn(db) {
|
|
262
|
+
const columns = db
|
|
263
|
+
.prepare("PRAGMA table_info(terminal_command_templates)")
|
|
264
|
+
.all();
|
|
265
|
+
if (columns.some((column) => column.name === "port")) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
db.exec("ALTER TABLE terminal_command_templates ADD COLUMN port INTEGER");
|
|
269
|
+
}
|
|
270
|
+
function ensureTerminalCommandTemplateRuntimeTypeColumn(db) {
|
|
271
|
+
const columns = db
|
|
272
|
+
.prepare("PRAGMA table_info(terminal_command_templates)")
|
|
273
|
+
.all();
|
|
274
|
+
if (columns.some((column) => column.name === "runtime_type")) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
db.exec("ALTER TABLE terminal_command_templates ADD COLUMN runtime_type TEXT");
|
|
278
|
+
}
|
|
279
|
+
function ensureTerminalInstanceProcessIdColumn(db) {
|
|
280
|
+
const columns = db
|
|
281
|
+
.prepare("PRAGMA table_info(terminal_instances)")
|
|
282
|
+
.all();
|
|
283
|
+
if (columns.some((column) => column.name === "process_id")) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
db.exec("ALTER TABLE terminal_instances ADD COLUMN process_id INTEGER");
|
|
287
|
+
}
|
|
288
|
+
function ensureTerminalRuntimeSchema(db) {
|
|
289
|
+
const columns = db
|
|
290
|
+
.prepare("PRAGMA table_info(terminal_instances)")
|
|
291
|
+
.all();
|
|
292
|
+
const columnNames = new Set(columns.map((column) => column.name));
|
|
293
|
+
if (!columnNames.has("runtime_type")) {
|
|
294
|
+
db.exec("ALTER TABLE terminal_instances ADD COLUMN runtime_type TEXT NOT NULL DEFAULT 'embedded-pty'");
|
|
295
|
+
}
|
|
296
|
+
if (!columnNames.has("runtime_session_id")) {
|
|
297
|
+
db.exec("ALTER TABLE terminal_instances ADD COLUMN runtime_session_id TEXT NOT NULL DEFAULT ''");
|
|
298
|
+
}
|
|
299
|
+
if (!columnNames.has("attach_target")) {
|
|
300
|
+
db.exec("ALTER TABLE terminal_instances ADD COLUMN attach_target TEXT NOT NULL DEFAULT ''");
|
|
301
|
+
}
|
|
302
|
+
db.exec(`
|
|
303
|
+
UPDATE terminal_instances
|
|
304
|
+
SET runtime_type = 'embedded-pty'
|
|
305
|
+
WHERE runtime_type IS NULL OR trim(runtime_type) = '';
|
|
306
|
+
|
|
307
|
+
UPDATE terminal_instances
|
|
308
|
+
SET runtime_session_id = 'legacy-' || id
|
|
309
|
+
WHERE runtime_session_id IS NULL OR trim(runtime_session_id) = '';
|
|
310
|
+
|
|
311
|
+
UPDATE terminal_instances
|
|
312
|
+
SET attach_target = 'embedded:' || id
|
|
313
|
+
WHERE attach_target IS NULL OR trim(attach_target) = '';
|
|
314
|
+
`);
|
|
315
|
+
db.exec(`
|
|
316
|
+
CREATE TABLE IF NOT EXISTS terminal_runtime_sessions (
|
|
317
|
+
id TEXT PRIMARY KEY,
|
|
318
|
+
terminal_id TEXT NOT NULL,
|
|
319
|
+
runtime_type TEXT NOT NULL CHECK (
|
|
320
|
+
runtime_type IN ('embedded-pty', 'tmux', 'conpty-powershell', 'conpty-cmd', 'conpty-git-bash')
|
|
321
|
+
),
|
|
322
|
+
session_key TEXT NOT NULL,
|
|
323
|
+
attach_target TEXT NOT NULL,
|
|
324
|
+
host_instance_id TEXT,
|
|
325
|
+
agent_pid INTEGER,
|
|
326
|
+
shell_pid INTEGER,
|
|
327
|
+
state TEXT NOT NULL CHECK (state IN ('starting', 'running', 'lost', 'closed', 'error')),
|
|
328
|
+
last_heartbeat_at TEXT,
|
|
329
|
+
last_checked_at TEXT,
|
|
330
|
+
last_error_detail TEXT,
|
|
331
|
+
created_at TEXT NOT NULL,
|
|
332
|
+
updated_at TEXT NOT NULL,
|
|
333
|
+
FOREIGN KEY (terminal_id) REFERENCES terminal_instances(id)
|
|
334
|
+
);
|
|
335
|
+
|
|
336
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_instances_runtime_session_id
|
|
337
|
+
ON terminal_instances(runtime_session_id);
|
|
338
|
+
|
|
339
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_runtime_sessions_terminal_id
|
|
340
|
+
ON terminal_runtime_sessions(terminal_id);
|
|
341
|
+
|
|
342
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_runtime_sessions_state
|
|
343
|
+
ON terminal_runtime_sessions(state, updated_at DESC);
|
|
344
|
+
`);
|
|
345
|
+
db.exec(`
|
|
346
|
+
INSERT INTO terminal_runtime_sessions (
|
|
347
|
+
id,
|
|
348
|
+
terminal_id,
|
|
349
|
+
runtime_type,
|
|
350
|
+
session_key,
|
|
351
|
+
attach_target,
|
|
352
|
+
host_instance_id,
|
|
353
|
+
agent_pid,
|
|
354
|
+
shell_pid,
|
|
355
|
+
state,
|
|
356
|
+
last_heartbeat_at,
|
|
357
|
+
last_checked_at,
|
|
358
|
+
last_error_detail,
|
|
359
|
+
created_at,
|
|
360
|
+
updated_at
|
|
361
|
+
)
|
|
362
|
+
SELECT
|
|
363
|
+
terminal_instances.runtime_session_id,
|
|
364
|
+
terminal_instances.id,
|
|
365
|
+
terminal_instances.runtime_type,
|
|
366
|
+
terminal_instances.runtime_session_id,
|
|
367
|
+
terminal_instances.attach_target,
|
|
368
|
+
NULL,
|
|
369
|
+
NULL,
|
|
370
|
+
terminal_instances.process_id,
|
|
371
|
+
CASE terminal_instances.status
|
|
372
|
+
WHEN 'creating' THEN 'starting'
|
|
373
|
+
WHEN 'running' THEN 'lost'
|
|
374
|
+
WHEN 'closed' THEN 'closed'
|
|
375
|
+
ELSE 'error'
|
|
376
|
+
END,
|
|
377
|
+
NULL,
|
|
378
|
+
terminal_instances.last_active_at,
|
|
379
|
+
CASE
|
|
380
|
+
WHEN terminal_instances.status = 'error' THEN terminal_instances.status_detail
|
|
381
|
+
WHEN terminal_instances.status = 'running' THEN 'LEGACY_RUNTIME_REQUIRES_REATTACH'
|
|
382
|
+
ELSE NULL
|
|
383
|
+
END,
|
|
384
|
+
terminal_instances.created_at,
|
|
385
|
+
terminal_instances.last_active_at
|
|
386
|
+
FROM terminal_instances
|
|
387
|
+
WHERE NOT EXISTS (
|
|
388
|
+
SELECT 1
|
|
389
|
+
FROM terminal_runtime_sessions
|
|
390
|
+
WHERE terminal_runtime_sessions.id = terminal_instances.runtime_session_id
|
|
391
|
+
);
|
|
392
|
+
`);
|
|
393
|
+
}
|
|
394
|
+
function ensureTerminalLogSchema(db) {
|
|
395
|
+
db.exec(`
|
|
396
|
+
CREATE TABLE IF NOT EXISTS terminal_log_files (
|
|
397
|
+
id TEXT PRIMARY KEY,
|
|
398
|
+
terminal_id TEXT NOT NULL,
|
|
399
|
+
relative_path TEXT NOT NULL,
|
|
400
|
+
status TEXT NOT NULL CHECK (status IN ('active', 'sealed', 'deleting')),
|
|
401
|
+
start_seq INTEGER NOT NULL,
|
|
402
|
+
end_seq INTEGER,
|
|
403
|
+
size_bytes INTEGER NOT NULL DEFAULT 0,
|
|
404
|
+
created_at TEXT NOT NULL,
|
|
405
|
+
updated_at TEXT NOT NULL,
|
|
406
|
+
FOREIGN KEY (terminal_id) REFERENCES terminal_instances(id) ON DELETE CASCADE
|
|
407
|
+
);
|
|
408
|
+
|
|
409
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_log_files_terminal_id
|
|
410
|
+
ON terminal_log_files(terminal_id, created_at DESC);
|
|
411
|
+
|
|
412
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_log_files_terminal_status
|
|
413
|
+
ON terminal_log_files(terminal_id, status, updated_at DESC);
|
|
414
|
+
|
|
415
|
+
CREATE TABLE IF NOT EXISTS terminal_log_segments (
|
|
416
|
+
id TEXT PRIMARY KEY,
|
|
417
|
+
terminal_id TEXT NOT NULL,
|
|
418
|
+
file_id TEXT NOT NULL,
|
|
419
|
+
start_seq INTEGER NOT NULL,
|
|
420
|
+
end_seq INTEGER NOT NULL,
|
|
421
|
+
start_offset INTEGER NOT NULL,
|
|
422
|
+
end_offset INTEGER NOT NULL,
|
|
423
|
+
byte_length INTEGER NOT NULL,
|
|
424
|
+
created_at TEXT NOT NULL,
|
|
425
|
+
FOREIGN KEY (terminal_id) REFERENCES terminal_instances(id) ON DELETE CASCADE,
|
|
426
|
+
FOREIGN KEY (file_id) REFERENCES terminal_log_files(id) ON DELETE CASCADE
|
|
427
|
+
);
|
|
428
|
+
|
|
429
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_log_segments_terminal_id_start_seq
|
|
430
|
+
ON terminal_log_segments(terminal_id, start_seq DESC);
|
|
431
|
+
|
|
432
|
+
CREATE INDEX IF NOT EXISTS idx_terminal_log_segments_file_id
|
|
433
|
+
ON terminal_log_segments(file_id, start_offset ASC);
|
|
434
|
+
`);
|
|
435
|
+
}
|
|
436
|
+
function readTableSql(db, tableName) {
|
|
437
|
+
const row = db
|
|
438
|
+
.prepare(`
|
|
439
|
+
SELECT sql
|
|
440
|
+
FROM sqlite_master
|
|
441
|
+
WHERE type = 'table' AND name = ?
|
|
442
|
+
`)
|
|
443
|
+
.get(tableName);
|
|
444
|
+
return row?.sql ?? "";
|
|
445
|
+
}
|
|
446
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
|