@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,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN" data-theme="light">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
|
+
<title>CodingNS</title>
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-C1GZV2wq.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DU7f8NaZ.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
|
|
2
|
+
<defs>
|
|
3
|
+
<!-- 主渐变 - 蓝色科技感 -->
|
|
4
|
+
<linearGradient id="mainGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
5
|
+
<stop offset="0%" stop-color="#00d4ff"/>
|
|
6
|
+
<stop offset="50%" stop-color="#007aff"/>
|
|
7
|
+
<stop offset="100%" stop-color="#5856d6"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
|
|
10
|
+
<!-- 发光效果渐变 -->
|
|
11
|
+
<linearGradient id="glowGradient" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
12
|
+
<stop offset="0%" stop-color="#00d4ff" stop-opacity="0.8"/>
|
|
13
|
+
<stop offset="100%" stop-color="#007aff" stop-opacity="0.4"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
|
|
16
|
+
<!-- S字母专用渐变 -->
|
|
17
|
+
<linearGradient id="sGradient" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
18
|
+
<stop offset="0%" stop-color="#00d4ff"/>
|
|
19
|
+
<stop offset="50%" stop-color="#007aff"/>
|
|
20
|
+
<stop offset="100%" stop-color="#5856d6"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
|
|
23
|
+
<!-- 内发光 -->
|
|
24
|
+
<filter id="innerGlow" x="-50%" y="-50%" width="200%" height="200%">
|
|
25
|
+
<feGaussianBlur stdDeviation="2" result="blur"/>
|
|
26
|
+
<feComposite in="SourceGraphic" in2="blur" operator="over"/>
|
|
27
|
+
</filter>
|
|
28
|
+
|
|
29
|
+
<!-- 外发光效果 -->
|
|
30
|
+
<filter id="outerGlow" x="-50%" y="-50%" width="200%" height="200%">
|
|
31
|
+
<feGaussianBlur stdDeviation="1.5" result="blur"/>
|
|
32
|
+
<feFlood flood-color="#007aff" flood-opacity="0.6"/>
|
|
33
|
+
<feComposite in2="blur" operator="in"/>
|
|
34
|
+
<feMerge>
|
|
35
|
+
<feMergeNode/>
|
|
36
|
+
<feMergeNode in="SourceGraphic"/>
|
|
37
|
+
</feMerge>
|
|
38
|
+
</filter>
|
|
39
|
+
|
|
40
|
+
<!-- 强发光 -->
|
|
41
|
+
<filter id="strongGlow" x="-100%" y="-100%" width="300%" height="300%">
|
|
42
|
+
<feGaussianBlur stdDeviation="2" result="blur"/>
|
|
43
|
+
<feFlood flood-color="#00d4ff" flood-opacity="0.8"/>
|
|
44
|
+
<feComposite in2="blur" operator="in"/>
|
|
45
|
+
<feMerge>
|
|
46
|
+
<feMergeNode/>
|
|
47
|
+
<feMergeNode in="SourceGraphic"/>
|
|
48
|
+
</feMerge>
|
|
49
|
+
</filter>
|
|
50
|
+
</defs>
|
|
51
|
+
|
|
52
|
+
<!-- 背景六边形 - 科技底座 -->
|
|
53
|
+
<polygon
|
|
54
|
+
points="32,4 56,18 56,46 32,60 8,46 8,18"
|
|
55
|
+
fill="none"
|
|
56
|
+
stroke="url(#mainGradient)"
|
|
57
|
+
stroke-width="1.5"
|
|
58
|
+
opacity="0.4"
|
|
59
|
+
/>
|
|
60
|
+
|
|
61
|
+
<!-- 内层六边形 -->
|
|
62
|
+
<polygon
|
|
63
|
+
points="32,10 50,21 50,43 32,54 14,43 14,21"
|
|
64
|
+
fill="url(#mainGradient)"
|
|
65
|
+
opacity="0.15"
|
|
66
|
+
/>
|
|
67
|
+
|
|
68
|
+
<!-- N字母 - 左侧几何 -->
|
|
69
|
+
<g filter="url(#outerGlow)">
|
|
70
|
+
<!-- N 的左竖线 -->
|
|
71
|
+
<rect x="12" y="22" width="4" height="20" rx="1" fill="url(#mainGradient)"/>
|
|
72
|
+
<!-- N 的斜线 -->
|
|
73
|
+
<polygon points="12,22 16,22 28,42 24,42" fill="url(#mainGradient)"/>
|
|
74
|
+
<!-- N 的右竖线 -->
|
|
75
|
+
<rect x="24" y="22" width="4" height="20" rx="1" fill="url(#mainGradient)"/>
|
|
76
|
+
</g>
|
|
77
|
+
|
|
78
|
+
<!-- S字母 - 重新设计,更饱满有质感 -->
|
|
79
|
+
<g filter="url(#outerGlow)">
|
|
80
|
+
<!-- S 主体 - 粗线条路径 -->
|
|
81
|
+
<path
|
|
82
|
+
d="M 44 23
|
|
83
|
+
C 44 23, 48 23, 48 27
|
|
84
|
+
C 48 31, 42 32, 38 33
|
|
85
|
+
C 34 34, 28 35, 28 39
|
|
86
|
+
C 28 43, 32 44, 36 44
|
|
87
|
+
L 40 44
|
|
88
|
+
C 40 44, 36 44, 36 40
|
|
89
|
+
C 36 36, 42 35, 46 34
|
|
90
|
+
C 50 33, 56 32, 56 28
|
|
91
|
+
C 56 24, 52 23, 48 23
|
|
92
|
+
L 44 23"
|
|
93
|
+
fill="url(#sGradient)"
|
|
94
|
+
stroke="url(#mainGradient)"
|
|
95
|
+
stroke-width="1"
|
|
96
|
+
/>
|
|
97
|
+
|
|
98
|
+
<!-- S 内部高光线条 -->
|
|
99
|
+
<path
|
|
100
|
+
d="M 45 25
|
|
101
|
+
C 45 25, 46 25, 46 28
|
|
102
|
+
C 46 31, 40 32, 36 33
|
|
103
|
+
C 32 34, 30 35, 30 39
|
|
104
|
+
C 30 42, 33 43, 36 43"
|
|
105
|
+
fill="none"
|
|
106
|
+
stroke="rgba(255,255,255,0.4)"
|
|
107
|
+
stroke-width="1.5"
|
|
108
|
+
stroke-linecap="round"
|
|
109
|
+
/>
|
|
110
|
+
|
|
111
|
+
<!-- S 顶部端点装饰 -->
|
|
112
|
+
<circle cx="44" cy="23" r="2.5" fill="url(#mainGradient)"/>
|
|
113
|
+
<circle cx="44" cy="23" r="1.2" fill="rgba(255,255,255,0.6)"/>
|
|
114
|
+
|
|
115
|
+
<!-- S 底部端点装饰 -->
|
|
116
|
+
<circle cx="40" cy="44" r="2.5" fill="url(#mainGradient)"/>
|
|
117
|
+
<circle cx="40" cy="44" r="1.2" fill="rgba(255,255,255,0.6)"/>
|
|
118
|
+
</g>
|
|
119
|
+
|
|
120
|
+
<!-- 代码符号 < 在左侧 -->
|
|
121
|
+
<g opacity="0.9" filter="url(#strongGlow)">
|
|
122
|
+
<polyline
|
|
123
|
+
points="6,28 2,32 6,36"
|
|
124
|
+
fill="none"
|
|
125
|
+
stroke="url(#glowGradient)"
|
|
126
|
+
stroke-width="2"
|
|
127
|
+
stroke-linecap="round"
|
|
128
|
+
stroke-linejoin="round"
|
|
129
|
+
/>
|
|
130
|
+
</g>
|
|
131
|
+
|
|
132
|
+
<!-- 代码符号 > 在右侧 -->
|
|
133
|
+
<g opacity="0.9" filter="url(#strongGlow)">
|
|
134
|
+
<polyline
|
|
135
|
+
points="58,28 62,32 58,36"
|
|
136
|
+
fill="none"
|
|
137
|
+
stroke="url(#glowGradient)"
|
|
138
|
+
stroke-width="2"
|
|
139
|
+
stroke-linecap="round"
|
|
140
|
+
stroke-linejoin="round"
|
|
141
|
+
/>
|
|
142
|
+
</g>
|
|
143
|
+
|
|
144
|
+
<!-- 中心光点装饰 -->
|
|
145
|
+
<circle cx="32" cy="18" r="2" fill="#00d4ff" opacity="0.8" filter="url(#innerGlow)"/>
|
|
146
|
+
|
|
147
|
+
<!-- 底部装饰线 -->
|
|
148
|
+
<line
|
|
149
|
+
x1="22" y1="50"
|
|
150
|
+
x2="42" y2="50"
|
|
151
|
+
stroke="url(#glowGradient)"
|
|
152
|
+
stroke-width="2"
|
|
153
|
+
stroke-linecap="round"
|
|
154
|
+
opacity="0.6"
|
|
155
|
+
/>
|
|
156
|
+
|
|
157
|
+
<!-- 微光粒子效果 -->
|
|
158
|
+
<circle cx="10" cy="16" r="1" fill="#ffffff" opacity="0.6"/>
|
|
159
|
+
<circle cx="54" cy="14" r="1.2" fill="#00d4ff" opacity="0.7"/>
|
|
160
|
+
<circle cx="56" cy="48" r="0.8" fill="#ffffff" opacity="0.5"/>
|
|
161
|
+
<circle cx="8" cy="44" r="1" fill="#007aff" opacity="0.6"/>
|
|
162
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { OpenCodeBaseUrlResolver } from "./opencode-base-url-resolver.js";
|
|
2
|
+
export interface HostConfig {
|
|
3
|
+
host: string;
|
|
4
|
+
port: number;
|
|
5
|
+
webUiDir: string | null;
|
|
6
|
+
databasePath: string;
|
|
7
|
+
opencodeBaseUrl: string;
|
|
8
|
+
opencodeCliPath: string;
|
|
9
|
+
opencodeBaseUrlResolver?: OpenCodeBaseUrlResolver;
|
|
10
|
+
opencodeDataDir: string;
|
|
11
|
+
opencodeDbPath: string;
|
|
12
|
+
releaseChannel: "stable" | "beta";
|
|
13
|
+
releaseManifestRoot: string;
|
|
14
|
+
accessTokenTtlSeconds: number;
|
|
15
|
+
refreshTokenTtlSeconds: number;
|
|
16
|
+
terminalIdleTimeoutSeconds: number;
|
|
17
|
+
claudeCodeHomeDir: string;
|
|
18
|
+
codexHomeDir: string;
|
|
19
|
+
codexCliPath: string;
|
|
20
|
+
claudeHookBridgeToken: string;
|
|
21
|
+
serverUpdatePackageName: string;
|
|
22
|
+
npmRegistryBaseUrl: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function resolveHostConfig(overrides?: Partial<HostConfig>): HostConfig;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import crypto from "node:crypto";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { OpenCodeBaseUrlResolver } from "./opencode-base-url-resolver.js";
|
|
7
|
+
export function resolveHostConfig(overrides = {}) {
|
|
8
|
+
const homeDir = os.homedir();
|
|
9
|
+
const appRootDir = resolveAppRootDir();
|
|
10
|
+
const opencodeDataDir = overrides.opencodeDataDir ??
|
|
11
|
+
process.env.CODINGNS_OPENCODE_DATA_DIR ??
|
|
12
|
+
path.join(homeDir, ".local", "share", "opencode");
|
|
13
|
+
const databasePath = overrides.databasePath ??
|
|
14
|
+
process.env.CODINGNS_DB_PATH ??
|
|
15
|
+
path.join(appRootDir, "data", "host", "host.sqlite");
|
|
16
|
+
const opencodeDbPath = overrides.opencodeDbPath ??
|
|
17
|
+
process.env.CODINGNS_OPENCODE_DB_PATH ??
|
|
18
|
+
path.join(opencodeDataDir, "opencode.db");
|
|
19
|
+
const codexCliPath = resolveCodexCliPath(overrides.codexCliPath ?? process.env.CODINGNS_CODEX_COMMAND, homeDir);
|
|
20
|
+
const opencodeCliPath = resolveOpenCodeCliPath(overrides.opencodeCliPath ?? process.env.CODINGNS_OPENCODE_COMMAND, homeDir);
|
|
21
|
+
const configuredOpenCodeBaseUrl = normalizeOptionalText(overrides.opencodeBaseUrl ?? process.env.CODINGNS_OPENCODE_BASE_URL ?? null);
|
|
22
|
+
return {
|
|
23
|
+
host: overrides.host ?? process.env.CODINGNS_HOST ?? "0.0.0.0",
|
|
24
|
+
port: overrides.port ?? Number(process.env.CODINGNS_PORT ?? "3002"),
|
|
25
|
+
webUiDir: overrides.webUiDir ??
|
|
26
|
+
resolveExistingDir(normalizeOptionalText(process.env.CODINGNS_WEB_UI_DIR) ?? path.join(appRootDir, "public")),
|
|
27
|
+
databasePath,
|
|
28
|
+
opencodeBaseUrl: configuredOpenCodeBaseUrl ?? "",
|
|
29
|
+
opencodeCliPath,
|
|
30
|
+
opencodeBaseUrlResolver: overrides.opencodeBaseUrlResolver
|
|
31
|
+
?? new OpenCodeBaseUrlResolver({
|
|
32
|
+
configuredBaseUrl: configuredOpenCodeBaseUrl,
|
|
33
|
+
commandPath: opencodeCliPath
|
|
34
|
+
}),
|
|
35
|
+
opencodeDataDir,
|
|
36
|
+
opencodeDbPath,
|
|
37
|
+
releaseChannel: overrides.releaseChannel ??
|
|
38
|
+
(process.env.CODINGNS_RELEASE_CHANNEL ?? "stable"),
|
|
39
|
+
releaseManifestRoot: overrides.releaseManifestRoot ??
|
|
40
|
+
process.env.CODINGNS_RELEASE_MANIFEST_ROOT ??
|
|
41
|
+
path.join(appRootDir, "data", "releases"),
|
|
42
|
+
accessTokenTtlSeconds: overrides.accessTokenTtlSeconds ??
|
|
43
|
+
Number(process.env.CODINGNS_ACCESS_TOKEN_TTL ?? "31536000"),
|
|
44
|
+
refreshTokenTtlSeconds: overrides.refreshTokenTtlSeconds ??
|
|
45
|
+
Number(process.env.CODINGNS_REFRESH_TOKEN_TTL ?? "31536000"),
|
|
46
|
+
terminalIdleTimeoutSeconds: overrides.terminalIdleTimeoutSeconds ??
|
|
47
|
+
Number(process.env.CODINGNS_TERMINAL_IDLE_TIMEOUT ?? "900"),
|
|
48
|
+
claudeCodeHomeDir: overrides.claudeCodeHomeDir ??
|
|
49
|
+
process.env.CODINGNS_CLAUDE_CODE_HOME ??
|
|
50
|
+
path.join(homeDir, ".claude"),
|
|
51
|
+
codexHomeDir: overrides.codexHomeDir ??
|
|
52
|
+
process.env.CODINGNS_CODEX_HOME ??
|
|
53
|
+
path.join(homeDir, ".codex"),
|
|
54
|
+
codexCliPath,
|
|
55
|
+
claudeHookBridgeToken: overrides.claudeHookBridgeToken ??
|
|
56
|
+
process.env.CODINGNS_CLAUDE_HOOK_TOKEN ??
|
|
57
|
+
resolvePersistentSecret(path.join(path.dirname(databasePath), "claude-hook-token")),
|
|
58
|
+
serverUpdatePackageName: overrides.serverUpdatePackageName ??
|
|
59
|
+
process.env.CODINGNS_SERVER_UPDATE_PACKAGE_NAME ??
|
|
60
|
+
"@jingyi0605/codingns",
|
|
61
|
+
npmRegistryBaseUrl: overrides.npmRegistryBaseUrl ??
|
|
62
|
+
process.env.CODINGNS_NPM_REGISTRY_BASE_URL ??
|
|
63
|
+
"https://registry.npmjs.org"
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function resolveAppRootDir() {
|
|
67
|
+
const configDir = path.dirname(fileURLToPath(import.meta.url));
|
|
68
|
+
const candidate = path.resolve(configDir, "..", "..");
|
|
69
|
+
// 构建产物位于 .build/src/config,源代码位于 src/config,统一回到应用根目录。
|
|
70
|
+
return path.basename(candidate) === ".build" ? path.dirname(candidate) : candidate;
|
|
71
|
+
}
|
|
72
|
+
function resolveCodexCliPath(configuredPath, homeDir) {
|
|
73
|
+
const normalizedConfiguredPath = configuredPath?.trim();
|
|
74
|
+
if (normalizedConfiguredPath) {
|
|
75
|
+
return normalizedConfiguredPath;
|
|
76
|
+
}
|
|
77
|
+
const candidates = [
|
|
78
|
+
path.resolve(process.cwd(), "node_modules", ".bin", "codex"),
|
|
79
|
+
path.resolve(process.cwd(), "packages", "session-sync-core", "node_modules", ".bin", "codex"),
|
|
80
|
+
path.join(homeDir, ".local", "bin", "codex"),
|
|
81
|
+
process.platform === "darwin" ? "/Applications/Codex.app/Contents/Resources/codex" : null
|
|
82
|
+
].filter((value) => Boolean(value));
|
|
83
|
+
for (const candidate of candidates) {
|
|
84
|
+
if (existsSync(candidate)) {
|
|
85
|
+
return candidate;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return "codex";
|
|
89
|
+
}
|
|
90
|
+
function resolveOpenCodeCliPath(configuredPath, homeDir) {
|
|
91
|
+
const normalizedConfiguredPath = configuredPath?.trim();
|
|
92
|
+
if (normalizedConfiguredPath) {
|
|
93
|
+
return normalizedConfiguredPath;
|
|
94
|
+
}
|
|
95
|
+
const windowsGlobalNpmRoot = normalizeOptionalText(process.env.APPDATA)
|
|
96
|
+
? path.join(process.env.APPDATA, "npm")
|
|
97
|
+
: null;
|
|
98
|
+
const windowsOpenCodeInstallRoot = normalizeOptionalText(process.env.LOCALAPPDATA)
|
|
99
|
+
? path.join(process.env.LOCALAPPDATA, "OpenCode")
|
|
100
|
+
: null;
|
|
101
|
+
const candidates = process.platform === "win32"
|
|
102
|
+
? [
|
|
103
|
+
windowsOpenCodeInstallRoot ? path.join(windowsOpenCodeInstallRoot, "opencode-cli.exe") : null,
|
|
104
|
+
path.resolve(process.cwd(), "node_modules", ".bin", "opencode.cmd"),
|
|
105
|
+
path.resolve(process.cwd(), "node_modules", ".bin", "opencode.exe"),
|
|
106
|
+
path.resolve(process.cwd(), "node_modules", ".bin", "opencode"),
|
|
107
|
+
path.join(homeDir, ".opencode", "bin", "opencode.exe"),
|
|
108
|
+
path.join(homeDir, ".opencode", "bin", "opencode.cmd"),
|
|
109
|
+
path.join(homeDir, ".opencode", "bin", "opencode"),
|
|
110
|
+
windowsGlobalNpmRoot ? path.join(windowsGlobalNpmRoot, "opencode.cmd") : null,
|
|
111
|
+
windowsGlobalNpmRoot ? path.join(windowsGlobalNpmRoot, "opencode.exe") : null
|
|
112
|
+
]
|
|
113
|
+
: [
|
|
114
|
+
path.resolve(process.cwd(), "node_modules", ".bin", "opencode"),
|
|
115
|
+
path.join(homeDir, ".opencode", "bin", "opencode"),
|
|
116
|
+
path.join(homeDir, ".local", "bin", "opencode")
|
|
117
|
+
];
|
|
118
|
+
for (const candidate of candidates) {
|
|
119
|
+
if (candidate && existsSync(candidate)) {
|
|
120
|
+
return candidate;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return "opencode";
|
|
124
|
+
}
|
|
125
|
+
function resolvePersistentSecret(secretPath) {
|
|
126
|
+
try {
|
|
127
|
+
if (existsSync(secretPath)) {
|
|
128
|
+
const existing = readFileSync(secretPath, "utf8").trim();
|
|
129
|
+
if (existing.length > 0) {
|
|
130
|
+
return existing;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
mkdirSync(path.dirname(secretPath), { recursive: true });
|
|
134
|
+
const nextSecret = crypto.randomBytes(24).toString("hex");
|
|
135
|
+
writeFileSync(secretPath, nextSecret, "utf8");
|
|
136
|
+
return nextSecret;
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return crypto.randomBytes(24).toString("hex");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function normalizeOptionalText(value) {
|
|
143
|
+
const normalized = value?.trim();
|
|
144
|
+
return normalized && normalized.length > 0 ? normalized : null;
|
|
145
|
+
}
|
|
146
|
+
function resolveExistingDir(candidate) {
|
|
147
|
+
if (!candidate) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return existsSync(candidate) ? candidate : null;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
interface OpenCodeBaseUrlResolverOptions {
|
|
2
|
+
configuredBaseUrl?: string | null;
|
|
3
|
+
commandPath?: string | null;
|
|
4
|
+
cacheTtlMs?: number;
|
|
5
|
+
inspectProcessList?: () => string;
|
|
6
|
+
inspectListeningSockets?: (pid: number) => OpenCodeListeningSocket[];
|
|
7
|
+
probeBaseUrl?: (baseUrl: string) => Promise<boolean>;
|
|
8
|
+
now?: () => number;
|
|
9
|
+
}
|
|
10
|
+
interface ResolveBaseUrlInput {
|
|
11
|
+
refresh?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface OpenCodeListeningSocket {
|
|
14
|
+
hostname: string;
|
|
15
|
+
port: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class OpenCodeBaseUrlResolver {
|
|
18
|
+
private readonly configuredBaseUrl;
|
|
19
|
+
private readonly commandPath;
|
|
20
|
+
private readonly cacheTtlMs;
|
|
21
|
+
private readonly inspectProcessList;
|
|
22
|
+
private readonly inspectListeningSockets;
|
|
23
|
+
private readonly probeBaseUrl;
|
|
24
|
+
private readonly now;
|
|
25
|
+
private cachedBaseUrl;
|
|
26
|
+
private cachedAt;
|
|
27
|
+
private inflight;
|
|
28
|
+
private managedServerBaseUrl;
|
|
29
|
+
private managedServerProcess;
|
|
30
|
+
private managedServerInflight;
|
|
31
|
+
constructor(options?: OpenCodeBaseUrlResolverOptions);
|
|
32
|
+
resolve(input?: ResolveBaseUrlInput): Promise<string>;
|
|
33
|
+
private discoverAvailableBaseUrl;
|
|
34
|
+
private ensureManagedServerBaseUrl;
|
|
35
|
+
private startManagedServer;
|
|
36
|
+
}
|
|
37
|
+
export {};
|