@jingyi0605/codingns 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/README.md +44 -0
  2. package/bin/codingns.mjs +918 -55
  3. package/dist/public/assets/{TerminalPage-BlbQuWi1.js → TerminalPage-Dfw1QUqW.js} +19 -19
  4. package/dist/public/assets/index-DR2rPNi7.css +1 -0
  5. package/dist/public/assets/index-DTOruahn.js +114 -0
  6. package/dist/public/index.html +2 -2
  7. package/dist/server/config/env.d.ts +3 -0
  8. package/dist/server/config/env.js +35 -3
  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.d.ts +3 -1
  17. package/dist/server/modules/butler/butler-control-session-service.js +96 -33
  18. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  19. package/dist/server/modules/butler/butler-follow-up-scheduler.d.ts +9 -0
  20. package/dist/server/modules/butler/butler-follow-up-scheduler.js +47 -11
  21. package/dist/server/modules/butler/butler-follow-up-scheduler.js.map +1 -1
  22. package/dist/server/modules/butler/butler-follow-up-service.d.ts +7 -1
  23. package/dist/server/modules/butler/butler-follow-up-service.js +10 -0
  24. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  25. package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
  26. package/dist/server/modules/butler/butler-session-service.js +82 -16
  27. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  28. package/dist/server/modules/butler/butler-session-summary-service.d.ts +8 -1
  29. package/dist/server/modules/butler/butler-session-summary-service.js +34 -7
  30. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  31. package/dist/server/modules/butler/context-aggregator.js +44 -13
  32. package/dist/server/modules/butler/context-aggregator.js.map +1 -1
  33. package/dist/server/modules/butler/patrol-scheduler.d.ts +9 -0
  34. package/dist/server/modules/butler/patrol-scheduler.js +63 -9
  35. package/dist/server/modules/butler/patrol-scheduler.js.map +1 -1
  36. package/dist/server/modules/butler/session-summary-scheduler.d.ts +9 -0
  37. package/dist/server/modules/butler/session-summary-scheduler.js +47 -11
  38. package/dist/server/modules/butler/session-summary-scheduler.js.map +1 -1
  39. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.d.ts +38 -0
  40. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js +99 -0
  41. package/dist/server/modules/debug-target/debug-runtime-reconciliation-scheduler.js.map +1 -0
  42. package/dist/server/modules/debug-target/debug-target-controller.d.ts +70 -0
  43. package/dist/server/modules/debug-target/debug-target-controller.js +113 -0
  44. package/dist/server/modules/debug-target/debug-target-controller.js.map +1 -0
  45. package/dist/server/modules/debug-target/debug-target-service.d.ts +105 -0
  46. package/dist/server/modules/debug-target/debug-target-service.js +1644 -0
  47. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -0
  48. package/dist/server/modules/debug-target/framework-compatibility-matrix.d.ts +4 -0
  49. package/dist/server/modules/debug-target/framework-compatibility-matrix.js +45 -0
  50. package/dist/server/modules/debug-target/framework-compatibility-matrix.js.map +1 -0
  51. package/dist/server/modules/debug-target/launch-adapter-registry.d.ts +25 -0
  52. package/dist/server/modules/debug-target/launch-adapter-registry.js +445 -0
  53. package/dist/server/modules/debug-target/launch-adapter-registry.js.map +1 -0
  54. package/dist/server/modules/file/file-constants.d.ts +1 -0
  55. package/dist/server/modules/file/file-constants.js +1 -0
  56. package/dist/server/modules/file/file-constants.js.map +1 -1
  57. package/dist/server/modules/file/file-content-service.d.ts +2 -1
  58. package/dist/server/modules/file/file-content-service.js +53 -0
  59. package/dist/server/modules/file/file-content-service.js.map +1 -1
  60. package/dist/server/modules/file/file-controller.js +12 -3
  61. package/dist/server/modules/file/file-controller.js.map +1 -1
  62. package/dist/server/modules/file/file-preview-link-service.js +6 -37
  63. package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
  64. package/dist/server/modules/file/file-preview-service.d.ts +6 -12
  65. package/dist/server/modules/file/file-preview-service.js +114 -28
  66. package/dist/server/modules/file/file-preview-service.js.map +1 -1
  67. package/dist/server/modules/file/file-preview-types.d.ts +37 -0
  68. package/dist/server/modules/file/file-preview-types.js +84 -0
  69. package/dist/server/modules/file/file-preview-types.js.map +1 -0
  70. package/dist/server/modules/git/commit-orchestrator.d.ts +4 -1
  71. package/dist/server/modules/git/commit-orchestrator.js +18 -1
  72. package/dist/server/modules/git/commit-orchestrator.js.map +1 -1
  73. package/dist/server/modules/git/git-auth.d.ts +25 -0
  74. package/dist/server/modules/git/git-auth.js +88 -0
  75. package/dist/server/modules/git/git-auth.js.map +1 -0
  76. package/dist/server/modules/git/git-controller.d.ts +12 -0
  77. package/dist/server/modules/git/git-controller.js +18 -1
  78. package/dist/server/modules/git/git-controller.js.map +1 -1
  79. package/dist/server/modules/git/git-read-service.d.ts +3 -1
  80. package/dist/server/modules/git/git-read-service.js +119 -2
  81. package/dist/server/modules/git/git-read-service.js.map +1 -1
  82. package/dist/server/modules/git/git-remote-credential-service.d.ts +9 -0
  83. package/dist/server/modules/git/git-remote-credential-service.js +76 -0
  84. package/dist/server/modules/git/git-remote-credential-service.js.map +1 -0
  85. package/dist/server/modules/git/git-write-service.d.ts +5 -2
  86. package/dist/server/modules/git/git-write-service.js +33 -17
  87. package/dist/server/modules/git/git-write-service.js.map +1 -1
  88. package/dist/server/modules/git/types.d.ts +26 -0
  89. package/dist/server/modules/git/workspace-repo-guard.js +3 -2
  90. package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
  91. package/dist/server/modules/provider/codex-model-options.d.ts +3 -1
  92. package/dist/server/modules/provider/codex-model-options.js +4 -1
  93. package/dist/server/modules/provider/codex-model-options.js.map +1 -1
  94. package/dist/server/modules/provider/opencode-model-options.d.ts +3 -1
  95. package/dist/server/modules/provider/opencode-model-options.js +5 -1
  96. package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
  97. package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +24 -0
  98. package/dist/server/modules/provider/provider-discovery-helper-client.js +14 -0
  99. package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
  100. package/dist/server/modules/provider/provider-discovery-helper-process.js +54 -0
  101. package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
  102. package/dist/server/modules/sessions/session-activity-authority-service.js +13 -1
  103. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -1
  104. package/dist/server/modules/sessions/session-activity-inspector.js +21 -5
  105. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  106. package/dist/server/modules/sessions/session-controller.d.ts +5 -0
  107. package/dist/server/modules/sessions/session-controller.js +16 -0
  108. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  109. package/dist/server/modules/sessions/session-history-service.d.ts +27 -7
  110. package/dist/server/modules/sessions/session-history-service.js +439 -81
  111. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  112. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +2 -1
  113. package/dist/server/modules/sessions/session-live-runtime-service.js +12 -0
  114. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  115. package/dist/server/modules/skills/skill-controller.d.ts +23 -0
  116. package/dist/server/modules/skills/skill-controller.js +35 -0
  117. package/dist/server/modules/skills/skill-controller.js.map +1 -0
  118. package/dist/server/modules/skills/skill-manager-service.d.ts +86 -0
  119. package/dist/server/modules/skills/skill-manager-service.js +557 -0
  120. package/dist/server/modules/skills/skill-manager-service.js.map +1 -0
  121. package/dist/server/modules/skills/skill-reconciler.d.ts +21 -0
  122. package/dist/server/modules/skills/skill-reconciler.js +99 -0
  123. package/dist/server/modules/skills/skill-reconciler.js.map +1 -0
  124. package/dist/server/modules/skills/skill-sync-planner.d.ts +8 -0
  125. package/dist/server/modules/skills/skill-sync-planner.js +20 -0
  126. package/dist/server/modules/skills/skill-sync-planner.js.map +1 -0
  127. package/dist/server/modules/skills/skill-target-adapter.d.ts +34 -0
  128. package/dist/server/modules/skills/skill-target-adapter.js +65 -0
  129. package/dist/server/modules/skills/skill-target-adapter.js.map +1 -0
  130. package/dist/server/modules/tailscale/tailscale-controller.d.ts +15 -0
  131. package/dist/server/modules/tailscale/tailscale-controller.js +33 -0
  132. package/dist/server/modules/tailscale/tailscale-controller.js.map +1 -0
  133. package/dist/server/modules/tailscale/tailscale-helper-client.d.ts +41 -0
  134. package/dist/server/modules/tailscale/tailscale-helper-client.js +135 -0
  135. package/dist/server/modules/tailscale/tailscale-helper-client.js.map +1 -0
  136. package/dist/server/modules/tailscale/tailscale-helper-process.d.ts +1 -0
  137. package/dist/server/modules/tailscale/tailscale-helper-process.js +327 -0
  138. package/dist/server/modules/tailscale/tailscale-helper-process.js.map +1 -0
  139. package/dist/server/modules/tailscale/tailscale-manager.d.ts +41 -0
  140. package/dist/server/modules/tailscale/tailscale-manager.js +259 -0
  141. package/dist/server/modules/tailscale/tailscale-manager.js.map +1 -0
  142. package/dist/server/modules/tailscale/tailscale-service.d.ts +43 -0
  143. package/dist/server/modules/tailscale/tailscale-service.js +201 -0
  144. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -0
  145. package/dist/server/modules/tasks/event-loop-monitor.d.ts +21 -0
  146. package/dist/server/modules/tasks/event-loop-monitor.js +64 -0
  147. package/dist/server/modules/tasks/event-loop-monitor.js.map +1 -0
  148. package/dist/server/modules/tasks/observability-controller.d.ts +30 -0
  149. package/dist/server/modules/tasks/observability-controller.js +44 -0
  150. package/dist/server/modules/tasks/observability-controller.js.map +1 -0
  151. package/dist/server/modules/tasks/observability-service.d.ts +32 -0
  152. package/dist/server/modules/tasks/observability-service.js +104 -0
  153. package/dist/server/modules/tasks/observability-service.js.map +1 -0
  154. package/dist/server/modules/tasks/scheduler-metrics.d.ts +41 -0
  155. package/dist/server/modules/tasks/scheduler-metrics.js +92 -0
  156. package/dist/server/modules/tasks/scheduler-metrics.js.map +1 -0
  157. package/dist/server/modules/tasks/task-activity-log.d.ts +39 -0
  158. package/dist/server/modules/tasks/task-activity-log.js +43 -0
  159. package/dist/server/modules/tasks/task-activity-log.js.map +1 -0
  160. package/dist/server/modules/tasks/task-helper-client.d.ts +11 -0
  161. package/dist/server/modules/tasks/task-helper-client.js +132 -0
  162. package/dist/server/modules/tasks/task-helper-client.js.map +1 -0
  163. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +16 -0
  164. package/dist/server/modules/tasks/task-helper-process-handlers.js +14 -0
  165. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -0
  166. package/dist/server/modules/tasks/task-helper-process.d.ts +1 -0
  167. package/dist/server/modules/tasks/task-helper-process.js +49 -0
  168. package/dist/server/modules/tasks/task-helper-process.js.map +1 -0
  169. package/dist/server/modules/tasks/task-lane-executors.d.ts +2 -0
  170. package/dist/server/modules/tasks/task-lane-executors.js +15 -0
  171. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -0
  172. package/dist/server/modules/tasks/task-manager.d.ts +15 -0
  173. package/dist/server/modules/tasks/task-manager.js +36 -0
  174. package/dist/server/modules/tasks/task-manager.js.map +1 -0
  175. package/dist/server/modules/tasks/task-metrics.d.ts +9 -0
  176. package/dist/server/modules/tasks/task-metrics.js +81 -0
  177. package/dist/server/modules/tasks/task-metrics.js.map +1 -0
  178. package/dist/server/modules/tasks/task-registry.d.ts +7 -0
  179. package/dist/server/modules/tasks/task-registry.js +21 -0
  180. package/dist/server/modules/tasks/task-registry.js.map +1 -0
  181. package/dist/server/modules/tasks/task-scheduler.d.ts +31 -0
  182. package/dist/server/modules/tasks/task-scheduler.js +473 -0
  183. package/dist/server/modules/tasks/task-scheduler.js.map +1 -0
  184. package/dist/server/modules/tasks/task-types.d.ts +106 -0
  185. package/dist/server/modules/tasks/task-types.js +23 -0
  186. package/dist/server/modules/tasks/task-types.js.map +1 -0
  187. package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
  188. package/dist/server/modules/terminal/command-template-service.js +5 -3
  189. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  190. package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +7 -3
  191. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +95 -15
  192. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  193. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.d.ts +21 -0
  194. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js +144 -0
  195. package/dist/server/modules/terminal/runtime/terminal-log-writer-client.js.map +1 -0
  196. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.d.ts +1 -0
  197. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js +187 -0
  198. package/dist/server/modules/terminal/runtime/terminal-log-writer-process.js.map +1 -0
  199. package/dist/server/modules/terminal/terminal-service.d.ts +12 -0
  200. package/dist/server/modules/terminal/terminal-service.js +34 -17
  201. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  202. package/dist/server/modules/workbench/workbench-service.d.ts +23 -2
  203. package/dist/server/modules/workbench/workbench-service.js +126 -15
  204. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  205. package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +5 -1
  206. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +88 -19
  207. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  208. package/dist/server/modules/workspace/workspace-code-composition.d.ts +2 -0
  209. package/dist/server/modules/workspace/workspace-code-composition.js +154 -0
  210. package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -0
  211. package/dist/server/modules/workspace/workspace-controller.d.ts +14 -0
  212. package/dist/server/modules/workspace/workspace-controller.js +19 -0
  213. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  214. package/dist/server/modules/workspace/workspace-service.d.ts +21 -14
  215. package/dist/server/modules/workspace/workspace-service.js +183 -234
  216. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  217. package/dist/server/modules/worktree/worktree-cleanup-service.d.ts +35 -0
  218. package/dist/server/modules/worktree/worktree-cleanup-service.js +210 -0
  219. package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -0
  220. package/dist/server/modules/worktree/worktree-controller.d.ts +44 -0
  221. package/dist/server/modules/worktree/worktree-controller.js +40 -0
  222. package/dist/server/modules/worktree/worktree-controller.js.map +1 -0
  223. package/dist/server/modules/worktree/worktree-manager.d.ts +34 -0
  224. package/dist/server/modules/worktree/worktree-manager.js +292 -0
  225. package/dist/server/modules/worktree/worktree-manager.js.map +1 -0
  226. package/dist/server/modules/worktree/worktree-merge-service.d.ts +52 -0
  227. package/dist/server/modules/worktree/worktree-merge-service.js +293 -0
  228. package/dist/server/modules/worktree/worktree-merge-service.js.map +1 -0
  229. package/dist/server/modules/worktree/worktree-sync-service.d.ts +23 -0
  230. package/dist/server/modules/worktree/worktree-sync-service.js +166 -0
  231. package/dist/server/modules/worktree/worktree-sync-service.js.map +1 -0
  232. package/dist/server/routes/assistant.d.ts +3 -0
  233. package/dist/server/routes/assistant.js +15 -0
  234. package/dist/server/routes/assistant.js.map +1 -0
  235. package/dist/server/routes/debug-targets.d.ts +3 -0
  236. package/dist/server/routes/debug-targets.js +15 -0
  237. package/dist/server/routes/debug-targets.js.map +1 -0
  238. package/dist/server/routes/git.js +2 -0
  239. package/dist/server/routes/git.js.map +1 -1
  240. package/dist/server/routes/observability.d.ts +3 -0
  241. package/dist/server/routes/observability.js +7 -0
  242. package/dist/server/routes/observability.js.map +1 -0
  243. package/dist/server/routes/skills.d.ts +3 -0
  244. package/dist/server/routes/skills.js +7 -0
  245. package/dist/server/routes/skills.js.map +1 -0
  246. package/dist/server/routes/system.d.ts +3 -0
  247. package/dist/server/routes/system.js +9 -0
  248. package/dist/server/routes/system.js.map +1 -0
  249. package/dist/server/routes/workspaces.js +2 -0
  250. package/dist/server/routes/workspaces.js.map +1 -1
  251. package/dist/server/routes/worktrees.d.ts +3 -0
  252. package/dist/server/routes/worktrees.js +8 -0
  253. package/dist/server/routes/worktrees.js.map +1 -0
  254. package/dist/server/server/create-server.d.ts +46 -0
  255. package/dist/server/server/create-server.js +141 -12
  256. package/dist/server/server/create-server.js.map +1 -1
  257. package/dist/server/shared/utils/command-availability.d.ts +1 -0
  258. package/dist/server/shared/utils/command-availability.js +26 -3
  259. package/dist/server/shared/utils/command-availability.js.map +1 -1
  260. package/dist/server/shared/utils/secret-box.d.ts +2 -0
  261. package/dist/server/shared/utils/secret-box.js +29 -0
  262. package/dist/server/shared/utils/secret-box.js.map +1 -0
  263. package/dist/server/shared/utils/terminal-debug-log.js +5 -3
  264. package/dist/server/shared/utils/terminal-debug-log.js.map +1 -1
  265. package/dist/server/storage/repositories/ai-fallback-edit-repository.d.ts +11 -0
  266. package/dist/server/storage/repositories/ai-fallback-edit-repository.js +118 -0
  267. package/dist/server/storage/repositories/ai-fallback-edit-repository.js.map +1 -0
  268. package/dist/server/storage/repositories/debug-runtime-session-repository.d.ts +11 -0
  269. package/dist/server/storage/repositories/debug-runtime-session-repository.js +100 -0
  270. package/dist/server/storage/repositories/debug-runtime-session-repository.js.map +1 -0
  271. package/dist/server/storage/repositories/debug-service-repository.d.ts +9 -0
  272. package/dist/server/storage/repositories/debug-service-repository.js +99 -0
  273. package/dist/server/storage/repositories/debug-service-repository.js.map +1 -0
  274. package/dist/server/storage/repositories/debug-target-repository.d.ts +11 -0
  275. package/dist/server/storage/repositories/debug-target-repository.js +100 -0
  276. package/dist/server/storage/repositories/debug-target-repository.js.map +1 -0
  277. package/dist/server/storage/repositories/framework-analysis-result-repository.d.ts +9 -0
  278. package/dist/server/storage/repositories/framework-analysis-result-repository.js +98 -0
  279. package/dist/server/storage/repositories/framework-analysis-result-repository.js.map +1 -0
  280. package/dist/server/storage/repositories/git-remote-credential-repository.d.ts +9 -0
  281. package/dist/server/storage/repositories/git-remote-credential-repository.js +51 -0
  282. package/dist/server/storage/repositories/git-remote-credential-repository.js.map +1 -0
  283. package/dist/server/storage/repositories/instance-tailscale-repository.d.ts +10 -0
  284. package/dist/server/storage/repositories/instance-tailscale-repository.js +112 -0
  285. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -0
  286. package/dist/server/storage/repositories/managed-skill-repository.d.ts +11 -0
  287. package/dist/server/storage/repositories/managed-skill-repository.js +102 -0
  288. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -0
  289. package/dist/server/storage/repositories/port-lease-repository.d.ts +12 -0
  290. package/dist/server/storage/repositories/port-lease-repository.js +124 -0
  291. package/dist/server/storage/repositories/port-lease-repository.js.map +1 -0
  292. package/dist/server/storage/repositories/runtime-binding-repository.d.ts +10 -0
  293. package/dist/server/storage/repositories/runtime-binding-repository.js +89 -0
  294. package/dist/server/storage/repositories/runtime-binding-repository.js.map +1 -0
  295. package/dist/server/storage/repositories/skill-target-binding-repository.d.ts +10 -0
  296. package/dist/server/storage/repositories/skill-target-binding-repository.js +77 -0
  297. package/dist/server/storage/repositories/skill-target-binding-repository.js.map +1 -0
  298. package/dist/server/storage/repositories/terminal-command-template-repository.js +77 -4
  299. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  300. package/dist/server/storage/repositories/terminal-instance-repository.js +89 -7
  301. package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
  302. package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +9 -0
  303. package/dist/server/storage/repositories/workspace-navigation-state-repository.js +49 -0
  304. package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -0
  305. package/dist/server/storage/repositories/workspace-repository.d.ts +7 -1
  306. package/dist/server/storage/repositories/workspace-repository.js +32 -8
  307. package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
  308. package/dist/server/storage/repositories/workspace-worktree-repository.d.ts +13 -0
  309. package/dist/server/storage/repositories/workspace-worktree-repository.js +158 -0
  310. package/dist/server/storage/repositories/workspace-worktree-repository.js.map +1 -0
  311. package/dist/server/storage/sqlite/client.js +311 -0
  312. package/dist/server/storage/sqlite/client.js.map +1 -1
  313. package/dist/server/storage/sqlite/schema.sql +303 -0
  314. package/dist/server/types/domain.d.ts +303 -0
  315. package/dist/server/ws/workbench-ws-hub.js +33 -9
  316. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  317. package/dist/server/ws/ws-server.js +4 -4
  318. package/dist/server/ws/ws-server.js.map +1 -1
  319. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +18 -6
  320. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  321. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +14 -2
  322. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  323. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +25 -1
  324. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  325. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +6 -0
  326. package/package.json +1 -1
  327. package/dist/public/assets/index-1VIm8lVL.css +0 -1
  328. package/dist/public/assets/index-Dti93O2S.js +0 -109
@@ -0,0 +1,88 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { AppError } from "../../shared/errors/app-error.js";
5
+ /**
6
+ * Git 在无终端环境里依然可能尝试弹交互提示。
7
+ * 这里统一强制关掉终端交互,避免请求直接卡到超时。
8
+ */
9
+ export function createGitNonInteractiveEnv(overrides) {
10
+ return {
11
+ GIT_TERMINAL_PROMPT: "0",
12
+ GCM_INTERACTIVE: "Never",
13
+ ...(overrides ?? {})
14
+ };
15
+ }
16
+ /**
17
+ * 复用 askpass 方式给 Git 提供用户名 / 密码 / token。
18
+ * 这样 clone、push、pull、fetch 走的是同一套认证数据结构,而不是各写一份分叉逻辑。
19
+ */
20
+ export function createGitAuthContext(auth) {
21
+ if (!auth || !auth.mode || auth.mode === "none") {
22
+ return null;
23
+ }
24
+ const mode = auth.mode;
25
+ let username = "";
26
+ let secret = "";
27
+ if (mode === "basic") {
28
+ username = auth.username?.trim() || "";
29
+ secret = auth.password?.trim() || "";
30
+ }
31
+ else if (mode === "token") {
32
+ username = auth.username?.trim() || "git";
33
+ secret = auth.token?.trim() || "";
34
+ }
35
+ else {
36
+ return null;
37
+ }
38
+ if (!username) {
39
+ throw new AppError({
40
+ statusCode: 400,
41
+ errorCode: "INVALID_INPUT",
42
+ detail: "Git 用户名不能为空",
43
+ field: "username"
44
+ });
45
+ }
46
+ if (!secret) {
47
+ throw new AppError({
48
+ statusCode: 400,
49
+ errorCode: "INVALID_INPUT",
50
+ detail: mode === "basic" ? "Git 密码不能为空" : "Git token 不能为空",
51
+ field: mode === "basic" ? "password" : "token"
52
+ });
53
+ }
54
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "codingns-git-auth-"));
55
+ const helperRuntimePath = path.join(tempDir, "askpass.cjs");
56
+ const helperScriptPath = path.join(tempDir, process.platform === "win32" ? "askpass.cmd" : "askpass.sh");
57
+ fs.writeFileSync(helperRuntimePath, [
58
+ 'const prompt = (process.argv.slice(2).join(" ") || "").toLowerCase();',
59
+ 'const username = process.env.CODINGNS_GIT_AUTH_USERNAME || "";',
60
+ 'const secret = process.env.CODINGNS_GIT_AUTH_SECRET || "";',
61
+ 'if (prompt.includes("username")) {',
62
+ " process.stdout.write(username);",
63
+ '} else if (prompt.includes("password") || prompt.includes("passphrase")) {',
64
+ " process.stdout.write(secret);",
65
+ "} else {",
66
+ " process.stdout.write(secret || username);",
67
+ "}"
68
+ ].join("\n"), "utf8");
69
+ if (process.platform === "win32") {
70
+ fs.writeFileSync(helperScriptPath, '@echo off\r\n"%CODINGNS_GIT_NODE%" "%~dp0askpass.cjs" %*\r\n', "utf8");
71
+ }
72
+ else {
73
+ fs.writeFileSync(helperScriptPath, '#!/bin/sh\n"$CODINGNS_GIT_NODE" "$(dirname "$0")/askpass.cjs" "$@"\n', "utf8");
74
+ fs.chmodSync(helperScriptPath, 0o755);
75
+ }
76
+ return {
77
+ env: createGitNonInteractiveEnv({
78
+ CODINGNS_GIT_NODE: process.execPath,
79
+ CODINGNS_GIT_AUTH_USERNAME: username,
80
+ CODINGNS_GIT_AUTH_SECRET: secret,
81
+ GIT_ASKPASS: helperScriptPath
82
+ }),
83
+ cleanup: () => {
84
+ fs.rmSync(tempDir, { recursive: true, force: true });
85
+ }
86
+ };
87
+ }
88
+ //# sourceMappingURL=git-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-auth.js","sourceRoot":"","sources":["../../../../src/modules/git/git-auth.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { FastifyReply, FastifyRequest } from "fastify";
2
+ import type { GitAuthInput } from "./git-auth.js";
2
3
  import type { CommitOrchestrator } from "./commit-orchestrator.js";
3
4
  import type { GitReadService } from "./git-read-service.js";
4
5
  import type { GitWriteService } from "./git-write-service.js";
@@ -10,6 +11,9 @@ interface DiffQuery extends WorkspaceQuery {
10
11
  path?: string;
11
12
  staged?: string;
12
13
  }
14
+ interface CommitDetailQuery extends WorkspaceQuery {
15
+ commitHash?: string;
16
+ }
13
17
  interface HistoryQuery extends WorkspaceQuery {
14
18
  cursor?: string;
15
19
  limit?: string;
@@ -50,6 +54,8 @@ interface RemoteSyncBody {
50
54
  workspaceId?: string;
51
55
  action?: "fetch" | "pull" | "push" | "publish";
52
56
  remote?: string;
57
+ auth?: GitAuthInput | null;
58
+ remember?: boolean;
53
59
  }
54
60
  export declare class GitController {
55
61
  private readonly gitReadService;
@@ -62,6 +68,9 @@ export declare class GitController {
62
68
  readonly getDiff: (request: FastifyRequest<{
63
69
  Querystring: DiffQuery;
64
70
  }>, reply: FastifyReply) => Promise<void>;
71
+ readonly getCommitDetail: (request: FastifyRequest<{
72
+ Querystring: CommitDetailQuery;
73
+ }>, reply: FastifyReply) => Promise<void>;
65
74
  readonly stage: (request: FastifyRequest<{
66
75
  Body: TargetsBody;
67
76
  }>, reply: FastifyReply) => Promise<void>;
@@ -92,6 +101,9 @@ export declare class GitController {
92
101
  readonly getBranches: (request: FastifyRequest<{
93
102
  Querystring: WorkspaceQuery;
94
103
  }>, reply: FastifyReply) => Promise<void>;
104
+ readonly getTags: (request: FastifyRequest<{
105
+ Querystring: WorkspaceQuery;
106
+ }>, reply: FastifyReply) => Promise<void>;
95
107
  readonly switchBranch: (request: FastifyRequest<{
96
108
  Body: BranchSwitchBody;
97
109
  }>, reply: FastifyReply) => Promise<void>;
@@ -1,4 +1,5 @@
1
1
  import { AppError } from "../../shared/errors/app-error.js";
2
+ import { requireUserId } from "../preferences/common.js";
2
3
  export class GitController {
3
4
  gitReadService;
4
5
  gitWriteService;
@@ -24,6 +25,19 @@ export class GitController {
24
25
  }
25
26
  reply.send(await this.gitReadService.getDiff(workspaceId, targetPath, request.query.staged === "true"));
26
27
  };
28
+ getCommitDetail = async (request, reply) => {
29
+ const workspaceId = requireWorkspaceId(request.query.workspaceId);
30
+ const commitHash = request.query.commitHash?.trim();
31
+ if (!commitHash) {
32
+ throw new AppError({
33
+ statusCode: 400,
34
+ errorCode: "INVALID_INPUT",
35
+ detail: "查看提交详情必须提供 commitHash",
36
+ field: "commitHash"
37
+ });
38
+ }
39
+ reply.send(await this.gitReadService.getCommitDetail(workspaceId, commitHash));
40
+ };
27
41
  stage = async (request, reply) => {
28
42
  reply.send(await this.gitWriteService.stage(requireWorkspaceId(request.body.workspaceId), request.body.targets ?? []));
29
43
  };
@@ -89,6 +103,9 @@ export class GitController {
89
103
  getBranches = async (request, reply) => {
90
104
  reply.send(await this.gitReadService.getBranches(requireWorkspaceId(request.query.workspaceId)));
91
105
  };
106
+ getTags = async (request, reply) => {
107
+ reply.send(await this.gitReadService.getTags(requireWorkspaceId(request.query.workspaceId)));
108
+ };
92
109
  switchBranch = async (request, reply) => {
93
110
  reply.send(await this.gitWriteService.switchBranch(requireWorkspaceId(request.body.workspaceId), request.body.branchName?.trim() ?? "", request.body.create ?? false));
94
111
  };
@@ -105,7 +122,7 @@ export class GitController {
105
122
  field: "action"
106
123
  });
107
124
  }
108
- reply.send(await this.gitWriteService.syncRemote(requireWorkspaceId(request.body.workspaceId), action, request.body.remote));
125
+ reply.send(await this.gitWriteService.syncRemote(requireWorkspaceId(request.body.workspaceId), action, request.body.remote, request.body.auth, request.body.remember === true, requireUserId(request)));
109
126
  };
110
127
  undoLastCommit = async (request, reply) => {
111
128
  reply.send(await this.gitWriteService.undoLastCommit(requireWorkspaceId(request.body.workspaceId)));
@@ -1 +1 @@
1
- {"version":3,"file":"git-controller.js","sourceRoot":"","sources":["../../../../src/modules/git/git-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-controller.js","sourceRoot":"","sources":["../../../../src/modules/git/git-controller.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { GitCommandRunner } from "./git-command-runner.js";
2
- import type { GitBranchSnapshot, GitChangeItem, GitDiffResult, GitHistoryPage, GitRemoteItem, GitRepoSnapshot } from "./types.js";
2
+ import type { GitBranchSnapshot, GitChangeItem, GitCommitDetail, GitDiffResult, GitHistoryPage, GitRemoteItem, GitRepoSnapshot, GitTagItem } from "./types.js";
3
3
  import type { WorkspaceRepoGuard } from "./workspace-repo-guard.js";
4
4
  export declare class GitReadService {
5
5
  private readonly gitCommandRunner;
@@ -10,7 +10,9 @@ export declare class GitReadService {
10
10
  changes: GitChangeItem[];
11
11
  }>;
12
12
  getDiff(workspaceId: string, targetPath: string, staged: boolean): Promise<GitDiffResult>;
13
+ getCommitDetail(workspaceId: string, commitHash: string): Promise<GitCommitDetail>;
13
14
  getHistory(workspaceId: string, cursor: string | null, limit: number): Promise<GitHistoryPage>;
14
15
  getBranches(workspaceId: string): Promise<GitBranchSnapshot>;
15
16
  getRemotes(workspaceId: string): Promise<GitRemoteItem[]>;
17
+ getTags(workspaceId: string): Promise<GitTagItem[]>;
16
18
  }
@@ -75,6 +75,65 @@ export class GitReadService {
75
75
  content: truncated ? diffResult.stdout.slice(0, MAX_DIFF_OUTPUT) : diffResult.stdout
76
76
  };
77
77
  }
78
+ async getCommitDetail(workspaceId, commitHash) {
79
+ const repo = await this.workspaceRepoGuard.resolve(workspaceId);
80
+ const normalizedCommitHash = commitHash.trim();
81
+ const [metadataResult, changedFilesResult, diffResult, versionResult] = await Promise.all([
82
+ this.gitCommandRunner.run(repo.repoRoot, [
83
+ "show",
84
+ "--no-patch",
85
+ "--date=iso-strict",
86
+ "--format=%H%x1f%h%x1f%an%x1f%ae%x1f%aI%x1f%cn%x1f%ce%x1f%cI%x1f%s%x1f%b",
87
+ normalizedCommitHash
88
+ ], {
89
+ workspaceId,
90
+ operation: "gitRead.getCommitDetail"
91
+ }),
92
+ this.gitCommandRunner.run(repo.repoRoot, [
93
+ "show",
94
+ "--format=",
95
+ "--name-status",
96
+ "--find-renames",
97
+ normalizedCommitHash
98
+ ], {
99
+ workspaceId,
100
+ operation: "gitRead.getCommitDetail"
101
+ }),
102
+ this.gitCommandRunner.run(repo.repoRoot, [
103
+ "show",
104
+ "--find-renames",
105
+ "--submodule=diff",
106
+ normalizedCommitHash
107
+ ], {
108
+ workspaceId,
109
+ operation: "gitRead.getCommitDetail"
110
+ }),
111
+ this.gitCommandRunner.run(repo.repoRoot, ["describe", "--tags", "--always", normalizedCommitHash], {
112
+ allowNonZeroExit: true,
113
+ workspaceId,
114
+ operation: "gitRead.getCommitDetail"
115
+ })
116
+ ]);
117
+ const metadata = parseCommitDetailMetadata(metadataResult.stdout, normalizedCommitHash);
118
+ const diffTruncated = diffResult.stdout.length > MAX_DIFF_OUTPUT;
119
+ return {
120
+ workspaceId,
121
+ commitHash: metadata.commitHash,
122
+ shortHash: metadata.shortHash,
123
+ versionLabel: versionResult.stdout.trim() || metadata.shortHash,
124
+ authorName: metadata.authorName,
125
+ authorEmail: metadata.authorEmail,
126
+ authoredAt: metadata.authoredAt,
127
+ committerName: metadata.committerName,
128
+ committerEmail: metadata.committerEmail,
129
+ committedAt: metadata.committedAt,
130
+ subject: metadata.subject,
131
+ body: metadata.body,
132
+ changedFiles: parseCommitChangedFiles(changedFilesResult.stdout),
133
+ diffTruncated,
134
+ diffContent: diffTruncated ? diffResult.stdout.slice(0, MAX_DIFF_OUTPUT) : diffResult.stdout
135
+ };
136
+ }
78
137
  async getHistory(workspaceId, cursor, limit) {
79
138
  const repo = await this.workspaceRepoGuard.resolve(workspaceId);
80
139
  const safeLimit = clampHistoryLimit(limit);
@@ -152,7 +211,7 @@ export class GitReadService {
152
211
  }),
153
212
  this.gitCommandRunner.run(repo.repoRoot, [
154
213
  "for-each-ref",
155
- "--format=%(refname:short)%x1f%(upstream:short)%x1f%(HEAD)",
214
+ "--format=%(refname:short)%00%(upstream:short)%00%(HEAD)",
156
215
  "refs/heads"
157
216
  ], {
158
217
  workspaceId,
@@ -219,6 +278,23 @@ export class GitReadService {
219
278
  }
220
279
  return Array.from(remotes.values());
221
280
  }
281
+ async getTags(workspaceId) {
282
+ const repo = await this.workspaceRepoGuard.resolve(workspaceId);
283
+ const result = await this.gitCommandRunner.run(repo.repoRoot, [
284
+ "for-each-ref",
285
+ "--sort=-creatordate",
286
+ "--format=%(refname:short)",
287
+ "refs/tags"
288
+ ], {
289
+ workspaceId,
290
+ operation: "gitRead.getTags"
291
+ });
292
+ return result.stdout
293
+ .split(/\r?\n/)
294
+ .map((line) => line.trim())
295
+ .filter(Boolean)
296
+ .map((name) => ({ name }));
297
+ }
222
298
  }
223
299
  function parseBranchHeader(headerLine) {
224
300
  const header = headerLine.replace(/^##\s*/, "");
@@ -279,6 +355,21 @@ function parseHistoryItem(entry, refByShortName, divergenceSets) {
279
355
  refs
280
356
  };
281
357
  }
358
+ function parseCommitDetailMetadata(stdout, fallbackCommitHash) {
359
+ const [commitHash = "", shortHash = "", authorName = "", authorEmail = "", authoredAt = "", committerName = "", committerEmail = "", committedAt = "", subject = "", body = ""] = stdout.trimEnd().split("\u001f");
360
+ return {
361
+ commitHash: commitHash || fallbackCommitHash,
362
+ shortHash: shortHash || (commitHash || fallbackCommitHash).slice(0, 8),
363
+ authorName,
364
+ authorEmail,
365
+ authoredAt,
366
+ committerName,
367
+ committerEmail,
368
+ committedAt,
369
+ subject,
370
+ body: body.trim()
371
+ };
372
+ }
282
373
  function parseGitRefLine(line) {
283
374
  const [fullName = "", shortName = "", commitHash = "", upstream = "", currentMarker = ""] = line.split("\u0000");
284
375
  const remoteName = fullName.startsWith("refs/remotes/") && shortName.includes("/")
@@ -337,6 +428,32 @@ function parseHistoryRefs(decoration, refByShortName) {
337
428
  }
338
429
  return refs;
339
430
  }
431
+ function parseCommitChangedFiles(stdout) {
432
+ return stdout
433
+ .split(/\r?\n/)
434
+ .map((line) => line.trim())
435
+ .filter(Boolean)
436
+ .map((line) => parseCommitChangedFileLine(line));
437
+ }
438
+ function parseCommitChangedFileLine(line) {
439
+ const parts = line.split("\t");
440
+ const rawStatus = parts[0] ?? "";
441
+ const status = rawStatus.charAt(0) || "?";
442
+ if ((status === "R" || status === "C") && parts.length >= 3) {
443
+ return {
444
+ status,
445
+ oldPath: parts[1] ?? null,
446
+ path: parts[2] ?? "",
447
+ binary: false
448
+ };
449
+ }
450
+ return {
451
+ status,
452
+ oldPath: null,
453
+ path: parts[1] ?? "",
454
+ binary: false
455
+ };
456
+ }
340
457
  function parseHistoryDivergence(stdout) {
341
458
  const local = new Set();
342
459
  const remote = new Set();
@@ -412,7 +529,7 @@ function parseHistoryCount(stdout) {
412
529
  return Math.trunc(value);
413
530
  }
414
531
  function parseBranchLine(line, remote) {
415
- const [name = "", upstream = "", currentMarker = ""] = line.split("\u001f");
532
+ const [name = "", upstream = "", currentMarker = ""] = line.split("\u0000");
416
533
  return {
417
534
  name,
418
535
  current: currentMarker.trim() === "*",
@@ -1 +1 @@
1
- {"version":3,"file":"git-read-service.js","sourceRoot":"","sources":["../../../../src/modules/git/git-read-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAe5D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAY7B,MAAM,OAAO,cAAc;IAEN;IACA;IAFnB,YACmB,gBAAkC,EAClC,kBAAsC;QADtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,uBAAkB,GAAlB,kBAAkB,CAAoB;IACtD,CAAC;IAEJ,KAAK,CAAC,SAAS,CACb,WAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClE,QAAQ;YACR,eAAe;YACf,UAAU;YACV,uBAAuB;SACxB,EAAE;YACD,WAAW;YACX,SAAS,EAAE,mBAAmB;SAC/B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAClD,IAAI,CAAC,QAAQ,EACb,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC/B;YACE,gBAAgB,EAAE,IAAI;YACtB,WAAW;YACX,SAAS,EAAE,mBAAmB;SAC/B,CACF,CAAC;QACF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM;aAC9B,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7B,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,YAAY,CAAC,QAAQ,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC/E,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC3B,aAAa,EAAE,IAAI;aACpB;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,UAAkB,EAAE,MAAe;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM;YACrB,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC;YAC1C,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC1E,WAAW;YACX,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACnD,IAAI,CAAC,QAAQ,EACb,MAAM;YACJ,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC;YACvD,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,EAC7C;YACE,WAAW;YACX,SAAS,EAAE,iBAAiB;SAC7B,CACF,CAAC;QACF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM;aAChC,KAAK,CAAC,OAAO,CAAC;aACd,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;QAE7D,OAAO;YACL,WAAW;YACX,IAAI,EAAE,YAAY;YAClB,MAAM;YACN,MAAM;YACN,SAAS;YACT,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;SACrF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,MAAqB,EACrB,KAAa;QAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAChD,IAAI,CAAC,QAAQ,EACb;YACE,cAAc;YACd,sFAAsF;YACtF,YAAY;YACZ,cAAc;SACf,EACD;YACE,WAAW;YACX,SAAS,EAAE,oBAAoB;SAChC,CACF,CAAC;QACF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM;aACjC,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAU,CAAC,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QACzF,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,IAAI,CAAC,QAAQ,EACb;gBACE,KAAK;gBACL,OAAO;gBACP,cAAc;gBACd,UAAU,MAAM,EAAE;gBAClB,IAAI;gBACJ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBACrB,mBAAmB;gBACnB,kBAAkB;gBAClB,wDAAwD;aACzD,EACD;gBACE,WAAW;gBACX,SAAS,EAAE,oBAAoB;aAChC,CACF;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACzE,gBAAgB,EAAE,IAAI;gBACtB,WAAW;gBACX,SAAS,EAAE,oBAAoB;aAChC,CAAC;YACF,UAAU,EAAE,QAAQ;gBAClB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,IAAI,CAAC,QAAQ,EACb,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,SAAS,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,EAChF;oBACE,gBAAgB,EAAE,IAAI;oBACtB,WAAW;oBACX,SAAS,EAAE,oBAAoB;iBAChC,CACF;gBACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACd,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC;iBACZ,CAAC;SACP,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM;aACjC,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzD,OAAO;YACL,KAAK;YACL,MAAM,EAAE,MAAM,IAAI,GAAG;YACrB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE;gBAChF,WAAW;gBACX,SAAS,EAAE,qBAAqB;aACjC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,IAAI,CAAC,QAAQ,EACb;gBACE,cAAc;gBACd,2DAA2D;gBAC3D,YAAY;aACb,EACD;gBACE,WAAW;gBACX,SAAS,EAAE,qBAAqB;aACjC,CACF;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,IAAI,CAAC,QAAQ,EACb;gBACE,cAAc;gBACd,2BAA2B;gBAC3B,cAAc;aACf,EACD;gBACE,WAAW;gBACX,SAAS,EAAE,qBAAqB;aACjC,CACF;SACF,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,iBAAiB,CACrC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CACtF,CAAC,MAAM,CAAC;QACT,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM;aAC7B,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM;aAC/B,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,aAAa;YACb,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAC5C,IAAI,CAAC,QAAQ,EACb,CAAC,QAAQ,EAAE,IAAI,CAAC,EAChB;YACE,WAAW;YACX,SAAS,EAAE,oBAAoB;SAChC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,IAAI,KAAK,MAAM;oBAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;oBAChB,IAAI;oBACJ,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBACtC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,YAAY,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IACpD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,sBAAsB,IAAI,wBAAwB,IAAI,GAAG,CAAC;IAEjF,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,sBAAsB,KAAK,IAAI;QACvC,OAAO;QACP,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,sBAAsB;QACpC,cAAc,EAAE,wBAAwB;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,MAA6B;IAE7B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,cAAiD,EACjD,cAA2E;IAE3E,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,GACjG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE1D,OAAO;QACL,UAAU;QACV,UAAU;QACV,UAAU;QACV,OAAO;QACP,IAAI;QACJ,UAAU,EAAE,wBAAwB,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC;QACtE,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,CAAC,GACvF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,MAAM,UAAU,GACd,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;QACjC,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,QAAQ;QACR,SAAS;QACT,UAAU;QACV,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QAC/D,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG;QACrC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAkB,EAClB,cAAiD;IAEjD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,QAAQ,UAAU,EAAE,CAAC;YAEjC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YACnF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,IAAI;YACJ,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,IAAqB,EACrB,cAA2E;IAE3E,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAE/D,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,MAAqB;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,QAAQ,CAAC;YACjB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,MAAe;IACpD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5E,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG;QACrC,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"git-read-service.js","sourceRoot":"","sources":["../../../../src/modules/git/git-read-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { GitRemoteCredentialRepository } from "../../storage/repositories/git-remote-credential-repository.js";
2
+ import type { GitAuthInput } from "./git-auth.js";
3
+ export declare class GitRemoteCredentialService {
4
+ private readonly repository;
5
+ private readonly credentialSecret;
6
+ constructor(repository: GitRemoteCredentialRepository, credentialSecret: string);
7
+ load(userId: string, remoteUrl: string): GitAuthInput | null;
8
+ save(userId: string, remoteUrl: string, auth: GitAuthInput | null | undefined): void;
9
+ }
@@ -0,0 +1,76 @@
1
+ import { nowIso } from "../../shared/utils/time.js";
2
+ import { decryptSecret, encryptSecret } from "../../shared/utils/secret-box.js";
3
+ export class GitRemoteCredentialService {
4
+ repository;
5
+ credentialSecret;
6
+ constructor(repository, credentialSecret) {
7
+ this.repository = repository;
8
+ this.credentialSecret = credentialSecret;
9
+ }
10
+ load(userId, remoteUrl) {
11
+ const normalizedRemoteUrl = normalizeRemoteUrl(remoteUrl);
12
+ const record = this.repository.findByUserIdAndRemoteUrl(userId, normalizedRemoteUrl);
13
+ if (!record) {
14
+ return null;
15
+ }
16
+ try {
17
+ const username = decryptSecret(this.credentialSecret, record.usernameCiphertext);
18
+ const secret = decryptSecret(this.credentialSecret, record.secretCiphertext);
19
+ if (record.authMode === "basic") {
20
+ return {
21
+ mode: "basic",
22
+ username,
23
+ password: secret
24
+ };
25
+ }
26
+ return {
27
+ mode: "token",
28
+ username,
29
+ token: secret
30
+ };
31
+ }
32
+ catch {
33
+ this.repository.delete(userId, normalizedRemoteUrl);
34
+ return null;
35
+ }
36
+ }
37
+ save(userId, remoteUrl, auth) {
38
+ if (!auth || !auth.mode || auth.mode === "none") {
39
+ return;
40
+ }
41
+ const writableAuth = auth.mode === "basic" || auth.mode === "token" ? auth : null;
42
+ if (!writableAuth) {
43
+ return;
44
+ }
45
+ const normalizedRemoteUrl = normalizeRemoteUrl(remoteUrl);
46
+ const current = this.repository.findByUserIdAndRemoteUrl(userId, normalizedRemoteUrl);
47
+ const timestamp = nowIso();
48
+ if (writableAuth.mode === "basic") {
49
+ this.repository.upsert({
50
+ userId,
51
+ remoteUrl: normalizedRemoteUrl,
52
+ authMode: "basic",
53
+ usernameCiphertext: encryptSecret(this.credentialSecret, writableAuth.username?.trim() || ""),
54
+ secretCiphertext: encryptSecret(this.credentialSecret, writableAuth.password?.trim() || ""),
55
+ createdAt: current?.createdAt ?? timestamp,
56
+ updatedAt: timestamp
57
+ });
58
+ return;
59
+ }
60
+ if (writableAuth.mode === "token") {
61
+ this.repository.upsert({
62
+ userId,
63
+ remoteUrl: normalizedRemoteUrl,
64
+ authMode: "token",
65
+ usernameCiphertext: encryptSecret(this.credentialSecret, writableAuth.username?.trim() || "git"),
66
+ secretCiphertext: encryptSecret(this.credentialSecret, writableAuth.token?.trim() || ""),
67
+ createdAt: current?.createdAt ?? timestamp,
68
+ updatedAt: timestamp
69
+ });
70
+ }
71
+ }
72
+ }
73
+ function normalizeRemoteUrl(remoteUrl) {
74
+ return remoteUrl.trim().replace(/\/+$/, "");
75
+ }
76
+ //# sourceMappingURL=git-remote-credential-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-remote-credential-service.js","sourceRoot":"","sources":["../../../../src/modules/git/git-remote-credential-service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type GitAuthInput } from "./git-auth.js";
2
+ import type { GitRemoteCredentialService } from "./git-remote-credential-service.js";
1
3
  import type { GitCommandRunner } from "./git-command-runner.js";
2
4
  import type { CommitDraft, GitBranchSnapshot, GitRemoteSyncResult, GitUndoCommitResult } from "./types.js";
3
5
  import type { GitReadService } from "./git-read-service.js";
@@ -6,7 +8,8 @@ export declare class GitWriteService {
6
8
  private readonly gitCommandRunner;
7
9
  private readonly workspaceRepoGuard;
8
10
  private readonly gitReadService;
9
- constructor(gitCommandRunner: GitCommandRunner, workspaceRepoGuard: WorkspaceRepoGuard, gitReadService: GitReadService);
11
+ private readonly gitRemoteCredentialService;
12
+ constructor(gitCommandRunner: GitCommandRunner, workspaceRepoGuard: WorkspaceRepoGuard, gitReadService: GitReadService, gitRemoteCredentialService: GitRemoteCredentialService);
10
13
  stage(workspaceId: string, targets: string[]): Promise<{
11
14
  snapshot: import("./types.js").GitRepoSnapshot;
12
15
  changes: import("./types.js").GitChangeItem[];
@@ -23,6 +26,6 @@ export declare class GitWriteService {
23
26
  commitHash: string;
24
27
  }>;
25
28
  switchBranch(workspaceId: string, branchName: string, create: boolean): Promise<GitBranchSnapshot>;
26
- syncRemote(workspaceId: string, action: GitRemoteSyncResult["action"], remoteName?: string): Promise<GitRemoteSyncResult>;
29
+ syncRemote(workspaceId: string, action: GitRemoteSyncResult["action"], remoteName?: string, auth?: GitAuthInput | null, remember?: boolean, userId?: string): Promise<GitRemoteSyncResult>;
27
30
  undoLastCommit(workspaceId: string): Promise<GitUndoCommitResult>;
28
31
  }