@jingyi0605/codingns 0.1.5 → 0.2.5

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.
Files changed (299) hide show
  1. package/README.md +44 -0
  2. package/bin/codingns.mjs +640 -53
  3. package/dist/public/assets/{TerminalPage-4p6EBqrR.js → TerminalPage-BkjqU9NG.js} +19 -19
  4. package/dist/public/assets/index-C6U8-9jg.css +1 -0
  5. package/dist/public/assets/index-CKSumuV2.js +109 -0
  6. package/dist/public/index.html +2 -2
  7. package/dist/server/config/env.d.ts +2 -0
  8. package/dist/server/config/env.js +8 -1
  9. package/dist/server/config/env.js.map +1 -1
  10. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +89 -0
  11. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +138 -0
  12. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -0
  13. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +115 -0
  14. package/dist/server/modules/assistant-capability/assistant-capability-service.js +241 -0
  15. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -0
  16. package/dist/server/modules/butler/butler-control-session-service.js +69 -30
  17. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  18. package/dist/server/modules/butler/butler-follow-up-scheduler.d.ts +9 -0
  19. package/dist/server/modules/butler/butler-follow-up-scheduler.js +47 -11
  20. package/dist/server/modules/butler/butler-follow-up-scheduler.js.map +1 -1
  21. package/dist/server/modules/butler/butler-follow-up-service.d.ts +7 -1
  22. package/dist/server/modules/butler/butler-follow-up-service.js +10 -0
  23. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  24. package/dist/server/modules/butler/butler-session-service.d.ts +2 -1
  25. package/dist/server/modules/butler/butler-session-service.js +10 -1
  26. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  27. package/dist/server/modules/butler/butler-session-summary-service.d.ts +8 -1
  28. package/dist/server/modules/butler/butler-session-summary-service.js +34 -7
  29. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  30. package/dist/server/modules/butler/context-aggregator.js +44 -13
  31. package/dist/server/modules/butler/context-aggregator.js.map +1 -1
  32. package/dist/server/modules/butler/patrol-scheduler.d.ts +9 -0
  33. package/dist/server/modules/butler/patrol-scheduler.js +63 -9
  34. package/dist/server/modules/butler/patrol-scheduler.js.map +1 -1
  35. package/dist/server/modules/butler/session-summary-scheduler.d.ts +9 -0
  36. package/dist/server/modules/butler/session-summary-scheduler.js +47 -11
  37. package/dist/server/modules/butler/session-summary-scheduler.js.map +1 -1
  38. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.d.ts +38 -0
  39. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js +99 -0
  40. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js.map +1 -0
  41. package/dist/server/modules/debug-target/debug-target-controller.d.ts +70 -0
  42. package/dist/server/modules/debug-target/debug-target-controller.js +113 -0
  43. package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -0
  44. package/dist/server/modules/debug-target/debug-target-service.d.ts +102 -0
  45. package/dist/server/modules/debug-target/debug-target-service.js +1484 -0
  46. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -0
  47. package/dist/server/modules/debug-target/framework-compatibility-matrix.d.ts +4 -0
  48. package/dist/server/modules/debug-target/framework-compatibility-matrix.js +45 -0
  49. package/dist/server/modules/debug-target/framework-compatibility-matrix.js.map +1 -0
  50. package/dist/server/modules/debug-target/launch-adapter-registry.d.ts +25 -0
  51. package/dist/server/modules/debug-target/launch-adapter-registry.js +445 -0
  52. package/dist/server/modules/debug-target/launch-adapter-registry.js.map +1 -0
  53. package/dist/server/modules/file/file-content-service.d.ts +2 -1
  54. package/dist/server/modules/file/file-content-service.js +53 -0
  55. package/dist/server/modules/file/file-content-service.js.map +1 -1
  56. package/dist/server/modules/file/file-controller.d.ts +12 -1
  57. package/dist/server/modules/file/file-controller.js +72 -1
  58. package/dist/server/modules/file/file-controller.js.map +1 -1
  59. package/dist/server/modules/file/file-preview-link-service.d.ts +22 -0
  60. package/dist/server/modules/file/file-preview-link-service.js +160 -0
  61. package/dist/server/modules/file/file-preview-link-service.js.map +1 -0
  62. package/dist/server/modules/git/commit-orchestrator.d.ts +4 -1
  63. package/dist/server/modules/git/commit-orchestrator.js +18 -1
  64. package/dist/server/modules/git/commit-orchestrator.js.map +1 -1
  65. package/dist/server/modules/git/git-auth.d.ts +25 -0
  66. package/dist/server/modules/git/git-auth.js +88 -0
  67. package/dist/server/modules/git/git-auth.js.map +1 -0
  68. package/dist/server/modules/git/git-controller.d.ts +6 -0
  69. package/dist/server/modules/git/git-controller.js +5 -1
  70. package/dist/server/modules/git/git-controller.js.map +1 -1
  71. package/dist/server/modules/git/git-read-service.d.ts +2 -1
  72. package/dist/server/modules/git/git-read-service.js +19 -2
  73. package/dist/server/modules/git/git-read-service.js.map +1 -1
  74. package/dist/server/modules/git/git-remote-credential-service.d.ts +9 -0
  75. package/dist/server/modules/git/git-remote-credential-service.js +76 -0
  76. package/dist/server/modules/git/git-remote-credential-service.js.map +1 -0
  77. package/dist/server/modules/git/git-write-service.d.ts +5 -2
  78. package/dist/server/modules/git/git-write-service.js +33 -17
  79. package/dist/server/modules/git/git-write-service.js.map +1 -1
  80. package/dist/server/modules/git/types.d.ts +3 -0
  81. package/dist/server/modules/git/workspace-repo-guard.js +3 -2
  82. package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
  83. package/dist/server/modules/provider/codex-model-options.d.ts +3 -1
  84. package/dist/server/modules/provider/codex-model-options.js +4 -1
  85. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  86. package/dist/server/modules/provider/opencode-model-options.d.ts +3 -1
  87. package/dist/server/modules/provider/opencode-model-options.js +5 -1
  88. package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
  89. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +24 -0
  90. package/dist/server/modules/provider/provider-discovery-helper-client.js +14 -0
  91. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  92. package/dist/server/modules/provider/provider-discovery-helper-process.js +54 -0
  93. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  94. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +2 -1
  95. package/dist/server/modules/sessions/codex-app-server-helper-client.js +103 -0
  96. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  97. package/dist/server/modules/sessions/codex-app-server-helper-process.js +106 -1
  98. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  99. package/dist/server/modules/sessions/session-controller.d.ts +26 -0
  100. package/dist/server/modules/sessions/session-controller.js +39 -1
  101. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  102. package/dist/server/modules/sessions/session-history-service.d.ts +51 -5
  103. package/dist/server/modules/sessions/session-history-service.js +906 -59
  104. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  105. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -0
  106. package/dist/server/modules/sessions/session-live-runtime-service.js +59 -2
  107. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  108. package/dist/server/modules/sessions/session-provider-error-mapper.js +66 -0
  109. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  110. package/dist/server/modules/tasks/event-loop-monitor.d.ts +21 -0
  111. package/dist/server/modules/tasks/event-loop-monitor.js +64 -0
  112. package/dist/server/modules/tasks/event-loop-monitor.js.map +1 -0
  113. package/dist/server/modules/tasks/observability-controller.d.ts +30 -0
  114. package/dist/server/modules/tasks/observability-controller.js +44 -0
  115. package/dist/server/modules/tasks/observability-controller.js.map +1 -0
  116. package/dist/server/modules/tasks/observability-service.d.ts +32 -0
  117. package/dist/server/modules/tasks/observability-service.js +104 -0
  118. package/dist/server/modules/tasks/observability-service.js.map +1 -0
  119. package/dist/server/modules/tasks/scheduler-metrics.d.ts +41 -0
  120. package/dist/server/modules/tasks/scheduler-metrics.js +92 -0
  121. package/dist/server/modules/tasks/scheduler-metrics.js.map +1 -0
  122. package/dist/server/modules/tasks/task-activity-log.d.ts +39 -0
  123. package/dist/server/modules/tasks/task-activity-log.js +43 -0
  124. package/dist/server/modules/tasks/task-activity-log.js.map +1 -0
  125. package/dist/server/modules/tasks/task-helper-client.d.ts +11 -0
  126. package/dist/server/modules/tasks/task-helper-client.js +132 -0
  127. package/dist/server/modules/tasks/task-helper-client.js.map +1 -0
  128. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +16 -0
  129. package/dist/server/modules/tasks/task-helper-process-handlers.js +14 -0
  130. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -0
  131. package/dist/server/modules/tasks/task-helper-process.d.ts +1 -0
  132. package/dist/server/modules/tasks/task-helper-process.js +49 -0
  133. package/dist/server/modules/tasks/task-helper-process.js.map +1 -0
  134. package/dist/server/modules/tasks/task-lane-executors.d.ts +2 -0
  135. package/dist/server/modules/tasks/task-lane-executors.js +15 -0
  136. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -0
  137. package/dist/server/modules/tasks/task-manager.d.ts +15 -0
  138. package/dist/server/modules/tasks/task-manager.js +36 -0
  139. package/dist/server/modules/tasks/task-manager.js.map +1 -0
  140. package/dist/server/modules/tasks/task-metrics.d.ts +9 -0
  141. package/dist/server/modules/tasks/task-metrics.js +81 -0
  142. package/dist/server/modules/tasks/task-metrics.js.map +1 -0
  143. package/dist/server/modules/tasks/task-registry.d.ts +7 -0
  144. package/dist/server/modules/tasks/task-registry.js +21 -0
  145. package/dist/server/modules/tasks/task-registry.js.map +1 -0
  146. package/dist/server/modules/tasks/task-scheduler.d.ts +31 -0
  147. package/dist/server/modules/tasks/task-scheduler.js +473 -0
  148. package/dist/server/modules/tasks/task-scheduler.js.map +1 -0
  149. package/dist/server/modules/tasks/task-types.d.ts +106 -0
  150. package/dist/server/modules/tasks/task-types.js +23 -0
  151. package/dist/server/modules/tasks/task-types.js.map +1 -0
  152. package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
  153. package/dist/server/modules/terminal/command-template-service.js +5 -3
  154. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  155. package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +7 -3
  156. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +95 -15
  157. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  158. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.d.ts +21 -0
  159. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js +144 -0
  160. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js.map +1 -0
  161. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.d.ts +1 -0
  162. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js +187 -0
  163. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js.map +1 -0
  164. package/dist/server/modules/terminal/terminal-service.d.ts +12 -0
  165. package/dist/server/modules/terminal/terminal-service.js +34 -17
  166. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  167. package/dist/server/modules/workbench/workbench-service.d.ts +23 -2
  168. package/dist/server/modules/workbench/workbench-service.js +126 -15
  169. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  170. package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +5 -1
  171. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +88 -19
  172. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  173. package/dist/server/modules/workspace/workspace-code-composition.d.ts +2 -0
  174. package/dist/server/modules/workspace/workspace-code-composition.js +154 -0
  175. package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -0
  176. package/dist/server/modules/workspace/workspace-controller.d.ts +14 -0
  177. package/dist/server/modules/workspace/workspace-controller.js +19 -0
  178. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  179. package/dist/server/modules/workspace/workspace-service.d.ts +21 -14
  180. package/dist/server/modules/workspace/workspace-service.js +183 -234
  181. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  182. package/dist/server/modules/worktree/worktree-cleanup-service.d.ts +35 -0
  183. package/dist/server/modules/worktree/worktree-cleanup-service.js +210 -0
  184. package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -0
  185. package/dist/server/modules/worktree/worktree-controller.d.ts +44 -0
  186. package/dist/server/modules/worktree/worktree-controller.js +40 -0
  187. package/dist/server/modules/worktree/worktree-controller.js.map +1 -0
  188. package/dist/server/modules/worktree/worktree-manager.d.ts +34 -0
  189. package/dist/server/modules/worktree/worktree-manager.js +292 -0
  190. package/dist/server/modules/worktree/worktree-manager.js.map +1 -0
  191. package/dist/server/modules/worktree/worktree-merge-service.d.ts +52 -0
  192. package/dist/server/modules/worktree/worktree-merge-service.js +293 -0
  193. package/dist/server/modules/worktree/worktree-merge-service.js.map +1 -0
  194. package/dist/server/modules/worktree/worktree-sync-service.d.ts +23 -0
  195. package/dist/server/modules/worktree/worktree-sync-service.js +166 -0
  196. package/dist/server/modules/worktree/worktree-sync-service.js.map +1 -0
  197. package/dist/server/routes/assistant.d.ts +3 -0
  198. package/dist/server/routes/assistant.js +15 -0
  199. package/dist/server/routes/assistant.js.map +1 -0
  200. package/dist/server/routes/debug-targets.d.ts +3 -0
  201. package/dist/server/routes/debug-targets.js +15 -0
  202. package/dist/server/routes/debug-targets.js.map +1 -0
  203. package/dist/server/routes/files.js +2 -0
  204. package/dist/server/routes/files.js.map +1 -1
  205. package/dist/server/routes/git.js +1 -0
  206. package/dist/server/routes/git.js.map +1 -1
  207. package/dist/server/routes/observability.d.ts +3 -0
  208. package/dist/server/routes/observability.js +7 -0
  209. package/dist/server/routes/observability.js.map +1 -0
  210. package/dist/server/routes/sessions.js +1 -0
  211. package/dist/server/routes/sessions.js.map +1 -1
  212. package/dist/server/routes/workspaces.js +2 -0
  213. package/dist/server/routes/workspaces.js.map +1 -1
  214. package/dist/server/routes/worktrees.d.ts +3 -0
  215. package/dist/server/routes/worktrees.js +8 -0
  216. package/dist/server/routes/worktrees.js.map +1 -0
  217. package/dist/server/server/create-server.d.ts +38 -0
  218. package/dist/server/server/create-server.js +106 -11
  219. package/dist/server/server/create-server.js.map +1 -1
  220. package/dist/server/shared/utils/command-availability.d.ts +1 -0
  221. package/dist/server/shared/utils/command-availability.js +83 -0
  222. package/dist/server/shared/utils/command-availability.js.map +1 -0
  223. package/dist/server/shared/utils/secret-box.d.ts +2 -0
  224. package/dist/server/shared/utils/secret-box.js +29 -0
  225. package/dist/server/shared/utils/secret-box.js.map +1 -0
  226. package/dist/server/shared/utils/terminal-debug-log.js +5 -3
  227. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -1
  228. package/dist/server/storage/repositories/ai-fallback-edit-repository.d.ts +11 -0
  229. package/dist/server/storage/repositories/ai-fallback-edit-repository.js +118 -0
  230. package/dist/server/storage/repositories/ai-fallback-edit-repository.js.map +1 -0
  231. package/dist/server/storage/repositories/debug-runtime-session-repository.d.ts +11 -0
  232. package/dist/server/storage/repositories/debug-runtime-session-repository.js +100 -0
  233. package/dist/server/storage/repositories/debug-runtime-session-repository.js.map +1 -0
  234. package/dist/server/storage/repositories/debug-service-repository.d.ts +9 -0
  235. package/dist/server/storage/repositories/debug-service-repository.js +99 -0
  236. package/dist/server/storage/repositories/debug-service-repository.js.map +1 -0
  237. package/dist/server/storage/repositories/debug-target-repository.d.ts +11 -0
  238. package/dist/server/storage/repositories/debug-target-repository.js +100 -0
  239. package/dist/server/storage/repositories/debug-target-repository.js.map +1 -0
  240. package/dist/server/storage/repositories/framework-analysis-result-repository.d.ts +9 -0
  241. package/dist/server/storage/repositories/framework-analysis-result-repository.js +98 -0
  242. package/dist/server/storage/repositories/framework-analysis-result-repository.js.map +1 -0
  243. package/dist/server/storage/repositories/git-remote-credential-repository.d.ts +9 -0
  244. package/dist/server/storage/repositories/git-remote-credential-repository.js +51 -0
  245. package/dist/server/storage/repositories/git-remote-credential-repository.js.map +1 -0
  246. package/dist/server/storage/repositories/port-lease-repository.d.ts +12 -0
  247. package/dist/server/storage/repositories/port-lease-repository.js +124 -0
  248. package/dist/server/storage/repositories/port-lease-repository.js.map +1 -0
  249. package/dist/server/storage/repositories/runtime-binding-repository.d.ts +10 -0
  250. package/dist/server/storage/repositories/runtime-binding-repository.js +89 -0
  251. package/dist/server/storage/repositories/runtime-binding-repository.js.map +1 -0
  252. package/dist/server/storage/repositories/session-fork-repository.d.ts +8 -0
  253. package/dist/server/storage/repositories/session-fork-repository.js +69 -0
  254. package/dist/server/storage/repositories/session-fork-repository.js.map +1 -0
  255. package/dist/server/storage/repositories/session-index-repository.js +40 -2
  256. package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
  257. package/dist/server/storage/repositories/terminal-command-template-repository.js +77 -4
  258. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  259. package/dist/server/storage/repositories/terminal-instance-repository.js +89 -7
  260. package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
  261. package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +9 -0
  262. package/dist/server/storage/repositories/workspace-navigation-state-repository.js +49 -0
  263. package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -0
  264. package/dist/server/storage/repositories/workspace-repository.d.ts +7 -1
  265. package/dist/server/storage/repositories/workspace-repository.js +32 -8
  266. package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
  267. package/dist/server/storage/repositories/workspace-worktree-repository.d.ts +13 -0
  268. package/dist/server/storage/repositories/workspace-worktree-repository.js +158 -0
  269. package/dist/server/storage/repositories/workspace-worktree-repository.js.map +1 -0
  270. package/dist/server/storage/sqlite/client.js +408 -0
  271. package/dist/server/storage/sqlite/client.js.map +1 -1
  272. package/dist/server/storage/sqlite/schema.sql +268 -0
  273. package/dist/server/types/domain.d.ts +256 -1
  274. package/dist/server/ws/workbench-ws-hub.js +33 -9
  275. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  276. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +6 -1
  277. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +240 -7
  278. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  279. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +26 -1
  280. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +507 -2
  281. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  282. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +94 -5
  283. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
  284. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +5 -1
  285. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +293 -3
  286. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  287. package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +1 -0
  288. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +117 -17
  289. package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -1
  290. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +10 -0
  291. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +128 -8
  292. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  293. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +2 -1
  294. package/node_modules/@codingns/session-sync-core/dist/services.js +55 -8
  295. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  296. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +33 -0
  297. package/package.json +1 -1
  298. package/dist/public/assets/index-CxeghocY.css +0 -1
  299. package/dist/public/assets/index-DXusStl0.js +0 -108
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function isCommandAvailable(commandPath: string | null | undefined): boolean;
@@ -0,0 +1,83 @@
1
+ import { accessSync, constants, existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ const SCRIPT_EXTENSIONS = new Set([".js", ".cjs", ".mjs"]);
4
+ export function isCommandAvailable(commandPath) {
5
+ const normalizedCommandPath = stripWrappingQuotes(commandPath ?? "");
6
+ if (!normalizedCommandPath) {
7
+ return false;
8
+ }
9
+ if (isPathLikeCommand(normalizedCommandPath)) {
10
+ return canExecuteResolvedPath(normalizedCommandPath);
11
+ }
12
+ return resolveExecutableOnPath(normalizedCommandPath) !== null;
13
+ }
14
+ function isPathLikeCommand(commandPath) {
15
+ return path.isAbsolute(commandPath) || commandPath.includes("/") || commandPath.includes("\\");
16
+ }
17
+ function canExecuteResolvedPath(commandPath) {
18
+ if (!existsSync(commandPath)) {
19
+ return false;
20
+ }
21
+ const extension = path.extname(commandPath).toLowerCase();
22
+ // JS 脚本最终会通过 node 启动,存在即可视为可用。
23
+ if (SCRIPT_EXTENSIONS.has(extension)) {
24
+ return true;
25
+ }
26
+ if (process.platform === "win32") {
27
+ return true;
28
+ }
29
+ try {
30
+ accessSync(commandPath, constants.X_OK);
31
+ return true;
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ }
37
+ function resolveExecutableOnPath(executableName) {
38
+ const pathEntries = (process.env.PATH ?? "")
39
+ .split(path.delimiter)
40
+ .map((entry) => entry.trim())
41
+ .filter(Boolean);
42
+ if (process.platform === "win32") {
43
+ const pathextEntries = (process.env.PATHEXT ?? ".EXE;.CMD;.BAT;.COM")
44
+ .split(";")
45
+ .map((entry) => entry.trim().toLowerCase())
46
+ .filter(Boolean);
47
+ const candidateNames = path.extname(executableName)
48
+ ? [executableName]
49
+ : pathextEntries.map((extension) => `${executableName}${extension.toLowerCase()}`);
50
+ for (const entry of pathEntries) {
51
+ for (const candidateName of candidateNames) {
52
+ const candidatePath = path.join(entry, candidateName);
53
+ if (existsSync(candidatePath)) {
54
+ return candidatePath;
55
+ }
56
+ }
57
+ }
58
+ return null;
59
+ }
60
+ for (const entry of pathEntries) {
61
+ const candidatePath = path.join(entry, executableName);
62
+ if (!existsSync(candidatePath)) {
63
+ continue;
64
+ }
65
+ try {
66
+ accessSync(candidatePath, constants.X_OK);
67
+ return candidatePath;
68
+ }
69
+ catch {
70
+ continue;
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ function stripWrappingQuotes(value) {
76
+ const trimmed = value.trim();
77
+ if ((trimmed.startsWith("\"") && trimmed.endsWith("\""))
78
+ || (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
79
+ return trimmed.slice(1, -1).trim();
80
+ }
81
+ return trimmed;
82
+ }
83
+ //# sourceMappingURL=command-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-availability.js","sourceRoot":"","sources":["../../../../src/shared/utils/command-availability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function encryptSecret(secret: string, plaintext: string): string;
2
+ export declare function decryptSecret(secret: string, payload: string): string;
@@ -0,0 +1,29 @@
1
+ import crypto from "node:crypto";
2
+ const SECRET_BOX_ALGORITHM = "aes-256-gcm";
3
+ const SECRET_BOX_IV_LENGTH = 12;
4
+ export function encryptSecret(secret, plaintext) {
5
+ const key = deriveSecretKey(secret);
6
+ const iv = crypto.randomBytes(SECRET_BOX_IV_LENGTH);
7
+ const cipher = crypto.createCipheriv(SECRET_BOX_ALGORITHM, key, iv);
8
+ const encrypted = Buffer.concat([cipher.update(plaintext, "utf8"), cipher.final()]);
9
+ const authTag = cipher.getAuthTag();
10
+ return `${iv.toString("base64url")}.${authTag.toString("base64url")}.${encrypted.toString("base64url")}`;
11
+ }
12
+ export function decryptSecret(secret, payload) {
13
+ const [ivText, authTagText, encryptedText] = payload.split(".");
14
+ if (!ivText || !authTagText || !encryptedText) {
15
+ throw new Error("SECRET_BOX_PAYLOAD_INVALID");
16
+ }
17
+ const key = deriveSecretKey(secret);
18
+ const decipher = crypto.createDecipheriv(SECRET_BOX_ALGORITHM, key, Buffer.from(ivText, "base64url"));
19
+ decipher.setAuthTag(Buffer.from(authTagText, "base64url"));
20
+ const decrypted = Buffer.concat([
21
+ decipher.update(Buffer.from(encryptedText, "base64url")),
22
+ decipher.final()
23
+ ]);
24
+ return decrypted.toString("utf8");
25
+ }
26
+ function deriveSecretKey(secret) {
27
+ return crypto.createHash("sha256").update(secret).digest();
28
+ }
29
+ //# sourceMappingURL=secret-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-box.js","sourceRoot":"","sources":["../../../../src/shared/utils/secret-box.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,SAAiB;IAC7D,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEpC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAe;IAC3D,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CACtC,oBAAoB,EACpB,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CACjC,CAAC;IAEF,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACxD,QAAQ,CAAC,KAAK,EAAE;KACjB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { performance } from "node:perf_hooks";
2
- // 调试日志已停用,保留工具函数便于后续需要时快速恢复。
3
- // const TERMINAL_DEBUG_ENABLED = process.env.CODINGNS_TERMINAL_DEBUG === "1";
4
- const TERMINAL_DEBUG_ENABLED = false;
2
+ const TERMINAL_DEBUG_ENABLED = readTerminalDebugFlag();
5
3
  const EVENT_LOOP_LAG_MONITOR_INTERVAL_MS = 100;
6
4
  const EVENT_LOOP_LAG_REPORT_THRESHOLD_MS = 50;
7
5
  export function isTerminalDebugEnabled() {
@@ -39,6 +37,10 @@ export function startTerminalDebugEventLoopLagMonitor() {
39
37
  clearInterval(timer);
40
38
  };
41
39
  }
40
+ function readTerminalDebugFlag() {
41
+ const rawValue = process.env.CODINGNS_TERMINAL_DEBUG?.trim().toLowerCase();
42
+ return rawValue === "1" || rawValue === "true" || rawValue === "yes" || rawValue === "on";
43
+ }
42
44
  function formatTerminalDebugDetail(detail) {
43
45
  const entries = Object.entries(detail).filter(([, value]) => value !== undefined);
44
46
  if (entries.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-debug-log.js","sourceRoot":"","sources":["../../../../src/shared/utils/terminal-debug-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-debug-log.js","sourceRoot":"","sources":["../../../../src/shared/utils/terminal-debug-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { AiFallbackEditRecord } from "../../types/domain.js";
3
+ export declare class AiFallbackEditRepository {
4
+ private readonly db;
5
+ constructor(db: Database.Database);
6
+ create(record: AiFallbackEditRecord): AiFallbackEditRecord;
7
+ listByRuntimeId(runtimeId: string): AiFallbackEditRecord[];
8
+ listBlockingByWorkspaceId(workspaceId: string): AiFallbackEditRecord[];
9
+ update(record: AiFallbackEditRecord): AiFallbackEditRecord | null;
10
+ findById(id: string): AiFallbackEditRecord | null;
11
+ }
@@ -0,0 +1,118 @@
1
+ export class AiFallbackEditRepository {
2
+ db;
3
+ constructor(db) {
4
+ this.db = db;
5
+ }
6
+ create(record) {
7
+ this.db
8
+ .prepare(`INSERT INTO ai_fallback_edits (
9
+ id,
10
+ runtime_id,
11
+ service_id,
12
+ reason,
13
+ allowed_files_json,
14
+ target_port,
15
+ patch_ref,
16
+ rollback_ref,
17
+ status,
18
+ created_at
19
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
20
+ .run(record.id, record.runtimeId, record.serviceId, record.reason, JSON.stringify(record.allowedFiles), record.targetPort, record.patchRef ?? null, record.rollbackRef ?? null, record.status, record.createdAt);
21
+ return record;
22
+ }
23
+ listByRuntimeId(runtimeId) {
24
+ return this.db
25
+ .prepare(`SELECT
26
+ id,
27
+ runtime_id,
28
+ service_id,
29
+ reason,
30
+ allowed_files_json,
31
+ target_port,
32
+ patch_ref,
33
+ rollback_ref,
34
+ status,
35
+ created_at
36
+ FROM ai_fallback_edits
37
+ WHERE runtime_id = ?
38
+ ORDER BY created_at DESC`)
39
+ .all(runtimeId)
40
+ .map((row) => mapAiFallbackEditRow(row));
41
+ }
42
+ listBlockingByWorkspaceId(workspaceId) {
43
+ return this.db
44
+ .prepare(`SELECT
45
+ edits.id,
46
+ edits.runtime_id,
47
+ edits.service_id,
48
+ edits.reason,
49
+ edits.allowed_files_json,
50
+ edits.target_port,
51
+ edits.patch_ref,
52
+ edits.rollback_ref,
53
+ edits.status,
54
+ edits.created_at
55
+ FROM ai_fallback_edits AS edits
56
+ INNER JOIN debug_runtime_sessions AS runtimes
57
+ ON runtimes.id = edits.runtime_id
58
+ INNER JOIN debug_targets AS targets
59
+ ON targets.id = runtimes.target_id
60
+ WHERE targets.workspace_id = ?
61
+ AND edits.status IN ('PENDING', 'APPLIED')
62
+ ORDER BY edits.created_at DESC`)
63
+ .all(workspaceId)
64
+ .map((row) => mapAiFallbackEditRow(row));
65
+ }
66
+ update(record) {
67
+ this.db
68
+ .prepare(`UPDATE ai_fallback_edits
69
+ SET patch_ref = ?,
70
+ rollback_ref = ?,
71
+ status = ?
72
+ WHERE id = ?`)
73
+ .run(record.patchRef ?? null, record.rollbackRef ?? null, record.status, record.id);
74
+ return this.findById(record.id);
75
+ }
76
+ findById(id) {
77
+ const row = this.db
78
+ .prepare(`SELECT
79
+ id,
80
+ runtime_id,
81
+ service_id,
82
+ reason,
83
+ allowed_files_json,
84
+ target_port,
85
+ patch_ref,
86
+ rollback_ref,
87
+ status,
88
+ created_at
89
+ FROM ai_fallback_edits
90
+ WHERE id = ?`)
91
+ .get(id);
92
+ return row ? mapAiFallbackEditRow(row) : null;
93
+ }
94
+ }
95
+ function mapAiFallbackEditRow(row) {
96
+ return {
97
+ id: row.id,
98
+ runtimeId: row.runtime_id,
99
+ serviceId: row.service_id,
100
+ reason: row.reason,
101
+ allowedFiles: parseJsonStringArray(row.allowed_files_json),
102
+ targetPort: row.target_port,
103
+ patchRef: row.patch_ref,
104
+ rollbackRef: row.rollback_ref,
105
+ status: row.status,
106
+ createdAt: row.created_at
107
+ };
108
+ }
109
+ function parseJsonStringArray(raw) {
110
+ try {
111
+ const parsed = JSON.parse(raw);
112
+ return Array.isArray(parsed) ? parsed.filter((item) => typeof item === "string") : [];
113
+ }
114
+ catch {
115
+ return [];
116
+ }
117
+ }
118
+ //# sourceMappingURL=ai-fallback-edit-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-fallback-edit-repository.js","sourceRoot":"","sources":["../../../../src/storage/repositories/ai-fallback-edit-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { DebugRuntimeSession, DebugRuntimeSessionStatus } from "../../types/domain.js";
3
+ export declare class DebugRuntimeSessionRepository {
4
+ private readonly db;
5
+ constructor(db: Database.Database);
6
+ create(record: DebugRuntimeSession): DebugRuntimeSession;
7
+ findById(id: string): DebugRuntimeSession | null;
8
+ listByTargetId(targetId: string): DebugRuntimeSession[];
9
+ listByStatuses(statuses: DebugRuntimeSessionStatus[]): DebugRuntimeSession[];
10
+ update(record: DebugRuntimeSession): DebugRuntimeSession | null;
11
+ }
@@ -0,0 +1,100 @@
1
+ export class DebugRuntimeSessionRepository {
2
+ db;
3
+ constructor(db) {
4
+ this.db = db;
5
+ }
6
+ create(record) {
7
+ this.db
8
+ .prepare(`INSERT INTO debug_runtime_sessions (
9
+ id,
10
+ target_id,
11
+ status,
12
+ failure_stage,
13
+ started_at,
14
+ stopped_at,
15
+ created_at,
16
+ updated_at
17
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
18
+ .run(record.id, record.targetId, record.status, record.failureStage ?? null, record.startedAt ?? null, record.stoppedAt ?? null, record.createdAt, record.updatedAt);
19
+ return record;
20
+ }
21
+ findById(id) {
22
+ const row = this.db
23
+ .prepare(`SELECT
24
+ id,
25
+ target_id,
26
+ status,
27
+ failure_stage,
28
+ started_at,
29
+ stopped_at,
30
+ created_at,
31
+ updated_at
32
+ FROM debug_runtime_sessions
33
+ WHERE id = ?`)
34
+ .get(id);
35
+ return row ? mapDebugRuntimeSessionRow(row) : null;
36
+ }
37
+ listByTargetId(targetId) {
38
+ return this.db
39
+ .prepare(`SELECT
40
+ id,
41
+ target_id,
42
+ status,
43
+ failure_stage,
44
+ started_at,
45
+ stopped_at,
46
+ created_at,
47
+ updated_at
48
+ FROM debug_runtime_sessions
49
+ WHERE target_id = ?
50
+ ORDER BY updated_at DESC, created_at DESC`)
51
+ .all(targetId)
52
+ .map((row) => mapDebugRuntimeSessionRow(row));
53
+ }
54
+ listByStatuses(statuses) {
55
+ if (statuses.length === 0) {
56
+ return [];
57
+ }
58
+ const placeholders = statuses.map(() => "?").join(", ");
59
+ return this.db
60
+ .prepare(`SELECT
61
+ id,
62
+ target_id,
63
+ status,
64
+ failure_stage,
65
+ started_at,
66
+ stopped_at,
67
+ created_at,
68
+ updated_at
69
+ FROM debug_runtime_sessions
70
+ WHERE status IN (${placeholders})
71
+ ORDER BY updated_at DESC, created_at DESC`)
72
+ .all(...statuses)
73
+ .map((row) => mapDebugRuntimeSessionRow(row));
74
+ }
75
+ update(record) {
76
+ this.db
77
+ .prepare(`UPDATE debug_runtime_sessions
78
+ SET status = ?,
79
+ failure_stage = ?,
80
+ started_at = ?,
81
+ stopped_at = ?,
82
+ updated_at = ?
83
+ WHERE id = ?`)
84
+ .run(record.status, record.failureStage ?? null, record.startedAt ?? null, record.stoppedAt ?? null, record.updatedAt, record.id);
85
+ return this.findById(record.id);
86
+ }
87
+ }
88
+ function mapDebugRuntimeSessionRow(row) {
89
+ return {
90
+ id: row.id,
91
+ targetId: row.target_id,
92
+ status: row.status,
93
+ failureStage: row.failure_stage,
94
+ startedAt: row.started_at,
95
+ stoppedAt: row.stopped_at,
96
+ createdAt: row.created_at,
97
+ updatedAt: row.updated_at
98
+ };
99
+ }
100
+ //# sourceMappingURL=debug-runtime-session-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-runtime-session-repository.js","sourceRoot":"","sources":["../../../../src/storage/repositories/debug-runtime-session-repository.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,6BAA6B;IACX;IAA7B,YAA6B,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;IAAG,CAAC;IAEtD,MAAM,CAAC,MAA2B;QAChC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;0CASkC,CACnC;aACA,GAAG,CACF,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,YAAY,IAAI,IAAI,EAC3B,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;QAEJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;;;;;;;qBAUa,CACd;aACA,GAAG,CAAC,EAAE,CAAuC,CAAC;QAEjD,OAAO,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;;;;;;;kDAW0C,CAC3C;aACA,GAAG,CAAC,QAAQ,CAAC;aACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAA6B,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,QAAqC;QAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,EAAE;aACX,OAAO,CACN;;;;;;;;;;2BAUmB,YAAY;kDACW,CAC3C;aACA,GAAG,CAAC,GAAG,QAAQ,CAAC;aAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAA6B,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,MAA2B;QAChC,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;sBAMc,CACf;aACA,GAAG,CACF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,YAAY,IAAI,IAAI,EAC3B,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,EAAE,CACV,CAAC;QAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;CACF;AAaD,SAAS,yBAAyB,CAAC,GAA2B;IAC5D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { DebugServiceSpec } from "../../types/domain.js";
3
+ export declare class DebugServiceRepository {
4
+ private readonly db;
5
+ constructor(db: Database.Database);
6
+ create(record: DebugServiceSpec): DebugServiceSpec;
7
+ listByTargetId(targetId: string): DebugServiceSpec[];
8
+ deleteByTargetId(targetId: string): void;
9
+ }
@@ -0,0 +1,99 @@
1
+ export class DebugServiceRepository {
2
+ db;
3
+ constructor(db) {
4
+ this.db = db;
5
+ }
6
+ create(record) {
7
+ this.db
8
+ .prepare(`INSERT INTO debug_services (
9
+ id,
10
+ target_id,
11
+ role,
12
+ name,
13
+ cwd,
14
+ command,
15
+ args_json,
16
+ env_json,
17
+ default_port_hint,
18
+ protocol,
19
+ health_path,
20
+ adapter_kind,
21
+ framework_analysis_id,
22
+ created_at,
23
+ updated_at
24
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
25
+ .run(record.id, record.targetId, record.role, record.name, record.cwd, record.command, JSON.stringify(record.args), JSON.stringify(record.env), record.defaultPortHint ?? null, record.protocol ?? null, record.healthPath ?? null, record.adapterKind ?? null, record.frameworkAnalysisId ?? null, record.createdAt, record.updatedAt);
26
+ return record;
27
+ }
28
+ listByTargetId(targetId) {
29
+ return this.db
30
+ .prepare(`SELECT
31
+ id,
32
+ target_id,
33
+ role,
34
+ name,
35
+ cwd,
36
+ command,
37
+ args_json,
38
+ env_json,
39
+ default_port_hint,
40
+ protocol,
41
+ health_path,
42
+ adapter_kind,
43
+ framework_analysis_id,
44
+ created_at,
45
+ updated_at
46
+ FROM debug_services
47
+ WHERE target_id = ?
48
+ ORDER BY updated_at DESC, created_at DESC`)
49
+ .all(targetId)
50
+ .map((row) => mapDebugServiceRow(row));
51
+ }
52
+ deleteByTargetId(targetId) {
53
+ this.db
54
+ .prepare(`DELETE FROM debug_services
55
+ WHERE target_id = ?`)
56
+ .run(targetId);
57
+ }
58
+ }
59
+ function mapDebugServiceRow(row) {
60
+ return {
61
+ id: row.id,
62
+ targetId: row.target_id,
63
+ role: row.role,
64
+ name: row.name,
65
+ cwd: row.cwd,
66
+ command: row.command,
67
+ args: parseJsonArray(row.args_json),
68
+ env: parseJsonObject(row.env_json),
69
+ defaultPortHint: row.default_port_hint,
70
+ protocol: row.protocol,
71
+ healthPath: row.health_path,
72
+ adapterKind: row.adapter_kind,
73
+ frameworkAnalysisId: row.framework_analysis_id,
74
+ createdAt: row.created_at,
75
+ updatedAt: row.updated_at
76
+ };
77
+ }
78
+ function parseJsonArray(raw) {
79
+ try {
80
+ const parsed = JSON.parse(raw);
81
+ return Array.isArray(parsed) ? parsed.filter((item) => typeof item === "string") : [];
82
+ }
83
+ catch {
84
+ return [];
85
+ }
86
+ }
87
+ function parseJsonObject(raw) {
88
+ try {
89
+ const parsed = JSON.parse(raw);
90
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
91
+ return {};
92
+ }
93
+ return Object.fromEntries(Object.entries(parsed).filter((entry) => typeof entry[1] === "string"));
94
+ }
95
+ catch {
96
+ return {};
97
+ }
98
+ }
99
+ //# sourceMappingURL=debug-service-repository.js.map