@jingyi0605/codingns 0.2.5 → 0.3.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 (227) hide show
  1. package/bin/codingns.mjs +278 -2
  2. package/dist/public/assets/{TerminalPage-BkjqU9NG.js → TerminalPage-CgrfstRm.js} +19 -19
  3. package/dist/public/assets/index-Cek6u0b9.css +1 -0
  4. package/dist/public/assets/index-THHY79si.js +122 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.d.ts +4 -0
  7. package/dist/server/config/env.js +67 -3
  8. package/dist/server/config/env.js.map +1 -1
  9. package/dist/server/modules/auth/auth-service.d.ts +18 -1
  10. package/dist/server/modules/auth/auth-service.js +168 -7
  11. package/dist/server/modules/auth/auth-service.js.map +1 -1
  12. package/dist/server/modules/butler/butler-codex-model-policy.d.ts +1 -0
  13. package/dist/server/modules/butler/butler-codex-model-policy.js +36 -0
  14. package/dist/server/modules/butler/butler-codex-model-policy.js.map +1 -0
  15. package/dist/server/modules/butler/butler-control-session-service.d.ts +16 -2
  16. package/dist/server/modules/butler/butler-control-session-service.js +58 -210
  17. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  18. package/dist/server/modules/butler/butler-controller.d.ts +17 -0
  19. package/dist/server/modules/butler/butler-controller.js +20 -1
  20. package/dist/server/modules/butler/butler-controller.js.map +1 -1
  21. package/dist/server/modules/butler/butler-follow-up-service.js +7 -3
  22. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  23. package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +36 -0
  24. package/dist/server/modules/butler/butler-inbox-analysis-service.js +375 -0
  25. package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -0
  26. package/dist/server/modules/butler/butler-inbox-instruction-adapter.d.ts +23 -0
  27. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js +96 -0
  28. package/dist/server/modules/butler/butler-inbox-instruction-adapter.js.map +1 -0
  29. package/dist/server/modules/butler/butler-inbox-service.d.ts +39 -2
  30. package/dist/server/modules/butler/butler-inbox-service.js +392 -2
  31. package/dist/server/modules/butler/butler-inbox-service.js.map +1 -1
  32. package/dist/server/modules/butler/butler-session-service.d.ts +9 -0
  33. package/dist/server/modules/butler/butler-session-service.js +277 -68
  34. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  35. package/dist/server/modules/butler/butler-session-summary-service.d.ts +1 -0
  36. package/dist/server/modules/butler/butler-session-summary-service.js +48 -23
  37. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  38. package/dist/server/modules/butler/butler-workspace-context.d.ts +13 -0
  39. package/dist/server/modules/butler/butler-workspace-context.js +223 -0
  40. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -0
  41. package/dist/server/modules/client/client-controller.d.ts +6 -0
  42. package/dist/server/modules/client/client-controller.js +30 -8
  43. package/dist/server/modules/client/client-controller.js.map +1 -1
  44. package/dist/server/modules/client/client-service.d.ts +22 -10
  45. package/dist/server/modules/client/client-service.js +77 -100
  46. package/dist/server/modules/client/client-service.js.map +1 -1
  47. package/dist/server/modules/client/npm-global-package-service.d.ts +21 -0
  48. package/dist/server/modules/client/npm-global-package-service.js +210 -0
  49. package/dist/server/modules/client/npm-global-package-service.js.map +1 -0
  50. package/dist/server/modules/client/service-update-task-service.d.ts +15 -0
  51. package/dist/server/modules/client/service-update-task-service.js +147 -0
  52. package/dist/server/modules/client/service-update-task-service.js.map +1 -0
  53. package/dist/server/modules/client/service-update-types.d.ts +30 -0
  54. package/dist/server/modules/client/service-update-types.js +2 -0
  55. package/dist/server/modules/client/service-update-types.js.map +1 -0
  56. package/dist/server/modules/debug-target/debug-target-service.d.ts +5 -2
  57. package/dist/server/modules/debug-target/debug-target-service.js +170 -10
  58. package/dist/server/modules/debug-target/debug-target-service.js.map +1 -1
  59. package/dist/server/modules/file/file-constants.d.ts +1 -0
  60. package/dist/server/modules/file/file-constants.js +1 -0
  61. package/dist/server/modules/file/file-constants.js.map +1 -1
  62. package/dist/server/modules/file/file-controller.js +12 -3
  63. package/dist/server/modules/file/file-controller.js.map +1 -1
  64. package/dist/server/modules/file/file-preview-link-service.js +6 -37
  65. package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
  66. package/dist/server/modules/file/file-preview-service.d.ts +6 -12
  67. package/dist/server/modules/file/file-preview-service.js +114 -28
  68. package/dist/server/modules/file/file-preview-service.js.map +1 -1
  69. package/dist/server/modules/file/file-preview-types.d.ts +37 -0
  70. package/dist/server/modules/file/file-preview-types.js +84 -0
  71. package/dist/server/modules/file/file-preview-types.js.map +1 -0
  72. package/dist/server/modules/git/git-controller.d.ts +6 -0
  73. package/dist/server/modules/git/git-controller.js +13 -0
  74. package/dist/server/modules/git/git-controller.js.map +1 -1
  75. package/dist/server/modules/git/git-read-service.d.ts +2 -1
  76. package/dist/server/modules/git/git-read-service.js +100 -0
  77. package/dist/server/modules/git/git-read-service.js.map +1 -1
  78. package/dist/server/modules/git/types.d.ts +23 -0
  79. package/dist/server/modules/model-switch/cc-switch-adapter.d.ts +36 -0
  80. package/dist/server/modules/model-switch/cc-switch-adapter.js +317 -0
  81. package/dist/server/modules/model-switch/cc-switch-adapter.js.map +1 -0
  82. package/dist/server/modules/model-switch/model-switch-controller.d.ts +11 -0
  83. package/dist/server/modules/model-switch/model-switch-controller.js +30 -0
  84. package/dist/server/modules/model-switch/model-switch-controller.js.map +1 -0
  85. package/dist/server/modules/model-switch/model-switch-service.d.ts +16 -0
  86. package/dist/server/modules/model-switch/model-switch-service.js +29 -0
  87. package/dist/server/modules/model-switch/model-switch-service.js.map +1 -0
  88. package/dist/server/modules/preferences/profile-service.d.ts +1 -0
  89. package/dist/server/modules/preferences/profile-service.js +9 -0
  90. package/dist/server/modules/preferences/profile-service.js.map +1 -1
  91. package/dist/server/modules/sessions/codex-app-server-helper-process.js +3 -0
  92. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  93. package/dist/server/modules/sessions/session-activity-authority-service.d.ts +3 -1
  94. package/dist/server/modules/sessions/session-activity-authority-service.js +16 -1
  95. package/dist/server/modules/sessions/session-activity-authority-service.js.map +1 -1
  96. package/dist/server/modules/sessions/session-activity-inspector.d.ts +1 -1
  97. package/dist/server/modules/sessions/session-activity-inspector.js +52 -9
  98. package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
  99. package/dist/server/modules/sessions/session-controller.d.ts +3 -3
  100. package/dist/server/modules/sessions/session-controller.js +3 -3
  101. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  102. package/dist/server/modules/sessions/session-history-service.d.ts +11 -2
  103. package/dist/server/modules/sessions/session-history-service.js +373 -78
  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 +9 -4
  106. package/dist/server/modules/sessions/session-live-runtime-service.js +59 -11
  107. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  108. package/dist/server/modules/sessions/session-message-attachment-service.d.ts +8 -8
  109. package/dist/server/modules/sessions/session-message-attachment-service.js +25 -34
  110. package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
  111. package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
  112. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  113. package/dist/server/modules/skills/skill-controller.d.ts +23 -0
  114. package/dist/server/modules/skills/skill-controller.js +35 -0
  115. package/dist/server/modules/skills/skill-controller.js.map +1 -0
  116. package/dist/server/modules/skills/skill-manager-service.d.ts +86 -0
  117. package/dist/server/modules/skills/skill-manager-service.js +557 -0
  118. package/dist/server/modules/skills/skill-manager-service.js.map +1 -0
  119. package/dist/server/modules/skills/skill-reconciler.d.ts +21 -0
  120. package/dist/server/modules/skills/skill-reconciler.js +99 -0
  121. package/dist/server/modules/skills/skill-reconciler.js.map +1 -0
  122. package/dist/server/modules/skills/skill-sync-planner.d.ts +8 -0
  123. package/dist/server/modules/skills/skill-sync-planner.js +20 -0
  124. package/dist/server/modules/skills/skill-sync-planner.js.map +1 -0
  125. package/dist/server/modules/skills/skill-target-adapter.d.ts +34 -0
  126. package/dist/server/modules/skills/skill-target-adapter.js +65 -0
  127. package/dist/server/modules/skills/skill-target-adapter.js.map +1 -0
  128. package/dist/server/modules/tailscale/tailscale-controller.d.ts +15 -0
  129. package/dist/server/modules/tailscale/tailscale-controller.js +33 -0
  130. package/dist/server/modules/tailscale/tailscale-controller.js.map +1 -0
  131. package/dist/server/modules/tailscale/tailscale-helper-client.d.ts +41 -0
  132. package/dist/server/modules/tailscale/tailscale-helper-client.js +135 -0
  133. package/dist/server/modules/tailscale/tailscale-helper-client.js.map +1 -0
  134. package/dist/server/modules/tailscale/tailscale-helper-process.d.ts +1 -0
  135. package/dist/server/modules/tailscale/tailscale-helper-process.js +327 -0
  136. package/dist/server/modules/tailscale/tailscale-helper-process.js.map +1 -0
  137. package/dist/server/modules/tailscale/tailscale-manager.d.ts +41 -0
  138. package/dist/server/modules/tailscale/tailscale-manager.js +263 -0
  139. package/dist/server/modules/tailscale/tailscale-manager.js.map +1 -0
  140. package/dist/server/modules/tailscale/tailscale-service.d.ts +43 -0
  141. package/dist/server/modules/tailscale/tailscale-service.js +201 -0
  142. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -0
  143. package/dist/server/modules/tasks/task-lane-executors.js +3 -0
  144. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -1
  145. package/dist/server/modules/tasks/task-types.d.ts +2 -0
  146. package/dist/server/modules/tasks/task-types.js +3 -1
  147. package/dist/server/modules/tasks/task-types.js.map +1 -1
  148. package/dist/server/modules/terminal/command-template-service.js +10 -1
  149. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  150. package/dist/server/modules/terminal/template-port-runtime.d.ts +12 -1
  151. package/dist/server/modules/terminal/template-port-runtime.js +189 -17
  152. package/dist/server/modules/terminal/template-port-runtime.js.map +1 -1
  153. package/dist/server/modules/terminal/terminal-service.js +30 -3
  154. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  155. package/dist/server/modules/workspace/workspace-code-composition.js +95 -2
  156. package/dist/server/modules/workspace/workspace-code-composition.js.map +1 -1
  157. package/dist/server/routes/butler.js +4 -0
  158. package/dist/server/routes/butler.js.map +1 -1
  159. package/dist/server/routes/client.js +2 -0
  160. package/dist/server/routes/client.js.map +1 -1
  161. package/dist/server/routes/git.js +1 -0
  162. package/dist/server/routes/git.js.map +1 -1
  163. package/dist/server/routes/sessions.js +1 -1
  164. package/dist/server/routes/sessions.js.map +1 -1
  165. package/dist/server/routes/skills.d.ts +3 -0
  166. package/dist/server/routes/skills.js +7 -0
  167. package/dist/server/routes/skills.js.map +1 -0
  168. package/dist/server/routes/system.d.ts +4 -0
  169. package/dist/server/routes/system.js +11 -0
  170. package/dist/server/routes/system.js.map +1 -0
  171. package/dist/server/server/create-server.d.ts +16 -0
  172. package/dist/server/server/create-server.js +91 -8
  173. package/dist/server/server/create-server.js.map +1 -1
  174. package/dist/server/shared/errors/app-error.d.ts +2 -0
  175. package/dist/server/shared/errors/app-error.js +2 -0
  176. package/dist/server/shared/errors/app-error.js.map +1 -1
  177. package/dist/server/shared/http/error-handler.d.ts +2 -1
  178. package/dist/server/shared/http/error-handler.js +3 -2
  179. package/dist/server/shared/http/error-handler.js.map +1 -1
  180. package/dist/server/shared/utils/command-availability.d.ts +1 -0
  181. package/dist/server/shared/utils/command-availability.js +26 -3
  182. package/dist/server/shared/utils/command-availability.js.map +1 -1
  183. package/dist/server/storage/repositories/auth-login-attempt-repository.d.ts +9 -0
  184. package/dist/server/storage/repositories/auth-login-attempt-repository.js +59 -0
  185. package/dist/server/storage/repositories/auth-login-attempt-repository.js.map +1 -0
  186. package/dist/server/storage/repositories/butler-control-session-repository.d.ts +3 -0
  187. package/dist/server/storage/repositories/butler-control-session-repository.js +80 -4
  188. package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
  189. package/dist/server/storage/repositories/butler-inbox-item-repository.js +54 -3
  190. package/dist/server/storage/repositories/butler-inbox-item-repository.js.map +1 -1
  191. package/dist/server/storage/repositories/instance-tailscale-repository.d.ts +10 -0
  192. package/dist/server/storage/repositories/instance-tailscale-repository.js +112 -0
  193. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -0
  194. package/dist/server/storage/repositories/managed-skill-repository.d.ts +11 -0
  195. package/dist/server/storage/repositories/managed-skill-repository.js +102 -0
  196. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -0
  197. package/dist/server/storage/repositories/skill-target-binding-repository.d.ts +10 -0
  198. package/dist/server/storage/repositories/skill-target-binding-repository.js +77 -0
  199. package/dist/server/storage/repositories/skill-target-binding-repository.js.map +1 -0
  200. package/dist/server/storage/repositories/terminal-instance-repository.js +1 -1
  201. package/dist/server/storage/repositories/terminal-instance-repository.js.map +1 -1
  202. package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
  203. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
  204. package/dist/server/storage/sqlite/client.js +137 -0
  205. package/dist/server/storage/sqlite/client.js.map +1 -1
  206. package/dist/server/storage/sqlite/schema.sql +84 -1
  207. package/dist/server/types/domain.d.ts +109 -1
  208. package/dist/server/ws/ws-server.js +4 -4
  209. package/dist/server/ws/ws-server.js.map +1 -1
  210. package/node_modules/@codingns/session-sync-core/dist/patch-builder.d.ts +23 -0
  211. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js +162 -0
  212. package/node_modules/@codingns/session-sync-core/dist/patch-builder.js.map +1 -1
  213. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -0
  214. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +89 -33
  215. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  216. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +18 -2
  217. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  218. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +3 -1
  219. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +238 -53
  220. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  221. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +1 -0
  222. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  223. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +6 -2
  224. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
  225. package/package.json +1 -1
  226. package/dist/public/assets/index-C6U8-9jg.css +0 -1
  227. package/dist/public/assets/index-CKSumuV2.js +0 -109
@@ -16,6 +16,7 @@ import { ButlerAuthService } from "../modules/butler/butler-auth-service.js";
16
16
  import { ButlerFollowUpEvaluationInstructionAdapter } from "../modules/butler/butler-follow-up-evaluation-instruction-adapter.js";
17
17
  import { ButlerFollowUpScheduler } from "../modules/butler/butler-follow-up-scheduler.js";
18
18
  import { ButlerFollowUpService } from "../modules/butler/butler-follow-up-service.js";
19
+ import { ButlerInboxAnalysisService } from "../modules/butler/butler-inbox-analysis-service.js";
19
20
  import { ButlerInboxService } from "../modules/butler/butler-inbox-service.js";
20
21
  import { ButlerNotificationService } from "../modules/butler/butler-notification-service.js";
21
22
  import { ButlerProfileService } from "../modules/butler/butler-profile-service.js";
@@ -34,6 +35,8 @@ import { SessionSummaryScheduler } from "../modules/butler/session-summary-sched
34
35
  import { VerificationRunService } from "../modules/butler/verification-run-service.js";
35
36
  import { ClientController } from "../modules/client/client-controller.js";
36
37
  import { ClientService } from "../modules/client/client-service.js";
38
+ import { NpmGlobalPackageService } from "../modules/client/npm-global-package-service.js";
39
+ import { ServiceUpdateTaskService } from "../modules/client/service-update-task-service.js";
37
40
  import { DebugTargetController } from "../modules/debug-target/debug-target-controller.js";
38
41
  import { DebugRuntimeReconciliationScheduler } from "../modules/debug-target/debug-runtime-reconciliation-scheduler.js";
39
42
  import { DebugTargetService } from "../modules/debug-target/debug-target-service.js";
@@ -62,7 +65,17 @@ import { ProfileController } from "../modules/preferences/profile-controller.js"
62
65
  import { PreferenceProfileService } from "../modules/preferences/profile-service.js";
63
66
  import { QuickPhraseController } from "../modules/preferences/quick-phrase-controller.js";
64
67
  import { QuickPhraseService } from "../modules/preferences/quick-phrase-service.js";
68
+ import { CcSwitchAdapter } from "../modules/model-switch/cc-switch-adapter.js";
69
+ import { ModelSwitchController } from "../modules/model-switch/model-switch-controller.js";
70
+ import { ModelSwitchService } from "../modules/model-switch/model-switch-service.js";
65
71
  import { ProviderController } from "../modules/provider/provider-controller.js";
72
+ import { SkillController } from "../modules/skills/skill-controller.js";
73
+ import { SkillManagerService } from "../modules/skills/skill-manager-service.js";
74
+ import { createDefaultSkillTargetAdapters } from "../modules/skills/skill-target-adapter.js";
75
+ import { TailscaleManager } from "../modules/tailscale/tailscale-manager.js";
76
+ import { TailscaleController } from "../modules/tailscale/tailscale-controller.js";
77
+ import { TailscaleHelperClient } from "../modules/tailscale/tailscale-helper-client.js";
78
+ import { TailscaleService } from "../modules/tailscale/tailscale-service.js";
66
79
  import { SessionController } from "../modules/sessions/session-controller.js";
67
80
  import { SessionChangedFileService } from "../modules/sessions/session-changed-file-service.js";
68
81
  import { SessionActivityAuthorityService } from "../modules/sessions/session-activity-authority-service.js";
@@ -105,14 +118,17 @@ import { registerPublicRoutes } from "../routes/public.js";
105
118
  import { registerProxyRoutes } from "../routes/proxy.js";
106
119
  import { registerSessionContextRoutes } from "../routes/session-contexts.js";
107
120
  import { registerSessionRoutes } from "../routes/sessions.js";
121
+ import { registerSkillRoutes } from "../routes/skills.js";
108
122
  import { registerTerminalRoutes } from "../routes/terminals.js";
109
123
  import { registerWorkbenchRoutes } from "../routes/workbench.js";
110
124
  import { registerWorktreeRoutes } from "../routes/worktrees.js";
111
125
  import { registerWorkspaceRoutes } from "../routes/workspaces.js";
126
+ import { registerSystemRoutes } from "../routes/system.js";
112
127
  import { DemoCleanupService, DemoOnlineTracker } from "../modules/demo/demo-cleanup-service.js";
113
128
  import { setErrorHandler } from "../shared/http/error-handler.js";
114
129
  import { startTerminalDebugEventLoopLagMonitor } from "../shared/utils/terminal-debug-log.js";
115
130
  import { AuthTokenRepository } from "../storage/repositories/auth-token-repository.js";
131
+ import { AuthLoginAttemptRepository } from "../storage/repositories/auth-login-attempt-repository.js";
116
132
  import { AuthUserRepository } from "../storage/repositories/auth-user-repository.js";
117
133
  import { AiFallbackEditRepository } from "../storage/repositories/ai-fallback-edit-repository.js";
118
134
  import { BootstrapStateRepository } from "../storage/repositories/bootstrap-state-repository.js";
@@ -136,6 +152,7 @@ import { DebugTargetRepository } from "../storage/repositories/debug-target-repo
136
152
  import { FileContextBindingRepository } from "../storage/repositories/file-context-binding-repository.js";
137
153
  import { FrameworkAnalysisResultRepository } from "../storage/repositories/framework-analysis-result-repository.js";
138
154
  import { GitRemoteCredentialRepository } from "../storage/repositories/git-remote-credential-repository.js";
155
+ import { ManagedSkillRepository } from "../storage/repositories/managed-skill-repository.js";
139
156
  import { PortLeaseRepository } from "../storage/repositories/port-lease-repository.js";
140
157
  import { RecentFileRepository } from "../storage/repositories/recent-file-repository.js";
141
158
  import { RuntimeBindingRepository } from "../storage/repositories/runtime-binding-repository.js";
@@ -149,6 +166,8 @@ import { SessionMessageOriginRepository } from "../storage/repositories/session-
149
166
  import { SessionSendQueueRepository } from "../storage/repositories/session-send-queue-repository.js";
150
167
  import { SessionStateRepository } from "../storage/repositories/session-state-repository.js";
151
168
  import { SessionStatusSnapshotRepository } from "../storage/repositories/session-status-snapshot-repository.js";
169
+ import { InstanceTailscaleRepository } from "../storage/repositories/instance-tailscale-repository.js";
170
+ import { SkillTargetBindingRepository } from "../storage/repositories/skill-target-binding-repository.js";
152
171
  import { TerminalCommandTemplateRepository } from "../storage/repositories/terminal-command-template-repository.js";
153
172
  import { TerminalInstanceRepository } from "../storage/repositories/terminal-instance-repository.js";
154
173
  import { TerminalLogFileRepository } from "../storage/repositories/terminal-log-file-repository.js";
@@ -173,12 +192,14 @@ export function createServer(config) {
173
192
  const app = Fastify({
174
193
  logger: false
175
194
  });
195
+ let shuttingDown = false;
176
196
  const stopTerminalDebugEventLoopLagMonitor = startTerminalDebugEventLoopLagMonitor();
177
197
  const database = createDatabaseClient(config.databasePath);
178
198
  const repositories = {
179
199
  bootstrapStateRepository: new BootstrapStateRepository(database.db),
180
200
  authUserRepository: new AuthUserRepository(database.db),
181
201
  authTokenRepository: new AuthTokenRepository(database.db),
202
+ authLoginAttemptRepository: new AuthLoginAttemptRepository(database.db),
182
203
  workspaceRepository: new WorkspaceRepository(database.db),
183
204
  workspaceWorktreeRepository: new WorkspaceWorktreeRepository(database.db),
184
205
  workspaceNavigationStateRepository: new WorkspaceNavigationStateRepository(database.db),
@@ -204,6 +225,7 @@ export function createServer(config) {
204
225
  verificationRunRepository: new VerificationRunRepository(database.db),
205
226
  commitRuleProfileRepository: new CommitRuleProfileRepository(database.db),
206
227
  gitRemoteCredentialRepository: new GitRemoteCredentialRepository(database.db),
228
+ managedSkillRepository: new ManagedSkillRepository(database.db),
207
229
  recentFileRepository: new RecentFileRepository(database.db),
208
230
  fileContextBindingRepository: new FileContextBindingRepository(database.db),
209
231
  sessionBindingRepository: new SessionBindingRepository(database.db),
@@ -216,6 +238,8 @@ export function createServer(config) {
216
238
  sessionSendQueueRepository: new SessionSendQueueRepository(database.db),
217
239
  sessionStateRepository: new SessionStateRepository(database.db),
218
240
  sessionStatusSnapshotRepository: new SessionStatusSnapshotRepository(database.db),
241
+ instanceTailscaleRepository: new InstanceTailscaleRepository(database.db),
242
+ skillTargetBindingRepository: new SkillTargetBindingRepository(database.db),
219
243
  userQuickPhrasePreferenceRepository: new UserQuickPhrasePreferenceRepository(database.db),
220
244
  userPreferenceProfileRepository: new UserPreferenceProfileRepository(database.db),
221
245
  terminalInstanceRepository: new TerminalInstanceRepository(database.db),
@@ -225,7 +249,6 @@ export function createServer(config) {
225
249
  terminalCommandTemplateRepository: new TerminalCommandTemplateRepository(database.db)
226
250
  };
227
251
  const bootstrapService = new BootstrapService(database.db, repositories.bootstrapStateRepository, repositories.authUserRepository, config.demoMode);
228
- const clientService = new ClientService(config);
229
252
  // Demo 模式服务
230
253
  const demoCleanupService = config.demoMode
231
254
  ? new DemoCleanupService(database.db, config.databasePath)
@@ -236,7 +259,7 @@ export function createServer(config) {
236
259
  const demoServices = (demoCleanupService && demoOnlineTracker)
237
260
  ? { cleanupService: demoCleanupService, onlineTracker: demoOnlineTracker }
238
261
  : undefined;
239
- const authService = new AuthService(repositories.bootstrapStateRepository, repositories.authUserRepository, repositories.authTokenRepository, effectiveConfig, demoServices);
262
+ const authService = new AuthService(repositories.bootstrapStateRepository, repositories.authUserRepository, repositories.authTokenRepository, repositories.authLoginAttemptRepository, effectiveConfig, demoServices);
240
263
  const butlerProfileService = new ButlerProfileService(repositories.butlerProfileRepository, repositories.butlerProjectRepository, path.dirname(config.databasePath));
241
264
  const gitCommandRunner = new GitCommandRunner({
242
265
  preferHelperProcess: !process.env.VITEST
@@ -246,6 +269,9 @@ export function createServer(config) {
246
269
  let runtimeObservabilityService;
247
270
  const taskActivityLog = new TaskActivityLog(() => runtimeObservabilityService.hasActiveSession());
248
271
  const taskManager = createTaskManager(taskActivityLog, createHostTaskLaneExecutors());
272
+ const npmGlobalPackageService = new NpmGlobalPackageService(config);
273
+ const serviceUpdateTaskService = new ServiceUpdateTaskService(taskManager, npmGlobalPackageService);
274
+ const clientService = new ClientService(config, npmGlobalPackageService, serviceUpdateTaskService);
249
275
  const workspaceService = new WorkspaceService(repositories.workspaceRepository, gitCommandRunner, repositories.workspaceNavigationStateRepository, butlerProfileService, repositories.workspaceWorktreeRepository, taskManager);
250
276
  const fileAccessGuard = new FileAccessGuard(workspaceService, app.log);
251
277
  const recentFileService = new RecentFileService(repositories.recentFileRepository);
@@ -253,7 +279,7 @@ export function createServer(config) {
253
279
  const fileTreeService = new FileTreeService(fileAccessGuard);
254
280
  const fileSearchService = new FileSearchService(fileAccessGuard);
255
281
  const fileContentService = new FileContentService(fileAccessGuard, recentFileService, repositories.fileContextBindingRepository, fileVersionChecker);
256
- const filePreviewService = new FilePreviewService(fileAccessGuard, fileContentService);
282
+ const filePreviewService = new FilePreviewService(fileAccessGuard, fileContentService, recentFileService);
257
283
  const filePreviewLinkService = new FilePreviewLinkService(fileAccessGuard, config.filePreviewTokenSecret);
258
284
  const workspaceRepoGuard = new WorkspaceRepoGuard(workspaceService, gitCommandRunner);
259
285
  const gitReadService = new GitReadService(gitCommandRunner, workspaceRepoGuard);
@@ -262,6 +288,21 @@ export function createServer(config) {
262
288
  const gitRuleRepository = new GitRuleRepository(repositories.commitRuleProfileRepository);
263
289
  const quickPhraseService = new QuickPhraseService(repositories.userQuickPhrasePreferenceRepository);
264
290
  const preferenceProfileService = new PreferenceProfileService(repositories.userPreferenceProfileRepository);
291
+ const tailscaleHelperClient = new TailscaleHelperClient();
292
+ const tailscaleManager = new TailscaleManager(repositories.bootstrapStateRepository, repositories.instanceTailscaleRepository, tailscaleHelperClient, {
293
+ commandPath: config.tailscaleCliPath,
294
+ webUiPort: config.webUiPort
295
+ });
296
+ const tailscaleService = new TailscaleService(database.db, repositories.instanceTailscaleRepository, tailscaleManager, {
297
+ databasePath: config.databasePath
298
+ });
299
+ const modelSwitchService = new ModelSwitchService(new CcSwitchAdapter({
300
+ commandPath: config.ccSwitchCliPath,
301
+ dbPath: config.ccSwitchDbPath
302
+ }));
303
+ const skillManagerService = new SkillManagerService(repositories.managedSkillRepository, repositories.skillTargetBindingRepository, createDefaultSkillTargetAdapters(config), {
304
+ ssotRootDir: path.join(path.dirname(config.databasePath), "skills")
305
+ });
265
306
  const commitRuleEngine = new CommitRuleEngine();
266
307
  const commitDraftService = new CommitDraftService(gitReadService);
267
308
  const commitOrchestrator = new CommitOrchestrator(gitRuleRepository, commitRuleEngine, commitDraftService, gitWriteService, repositories.aiFallbackEditRepository);
@@ -271,6 +312,7 @@ export function createServer(config) {
271
312
  const sessionHistoryService = new SessionHistoryService(database.db, repositories.workspaceRepository, repositories.sessionBindingRepository, sessionChangedFileService, repositories.sessionIndexRepository, sessionMessageAttachmentService, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService, repositories.sessionMessageOriginRepository, repositories.sessionForkRepository, {}, taskManager);
272
313
  runtimeObservabilityService = new RuntimeObservabilityService(() => sessionHistoryService.observeBackgroundTaskMetrics(), () => schedulerMetrics.observe(), eventLoopMonitor, taskActivityLog);
273
314
  const sessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, config, sessionActivityAuthorityService);
315
+ sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => sessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
274
316
  const butlerRuntimeRootDir = path.join(path.dirname(config.databasePath), "butler-runtime");
275
317
  const butlerRuntimeConfig = {
276
318
  ...config,
@@ -288,15 +330,18 @@ export function createServer(config) {
288
330
  claudeCodeHomeDir: path.join(butlerRuntimeRootDir, "follow-up-claude-home")
289
331
  };
290
332
  const butlerSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, butlerRuntimeConfig, sessionActivityAuthorityService);
333
+ sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerSessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
291
334
  const butlerSummarySessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, butlerSummaryRuntimeConfig, sessionActivityAuthorityService);
335
+ sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerSummarySessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
292
336
  const butlerFollowUpSessionLiveRuntimeService = new SessionLiveRuntimeService(sessionHistoryService, sessionMessageAttachmentService, workspaceService, sessionChangedFileService, repositories.sessionBindingRepository, repositories.authUserRepository, repositories.sessionSendQueueRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, repositories.sessionStatusSnapshotRepository, butlerFollowUpRuntimeConfig, sessionActivityAuthorityService);
337
+ sessionHistoryService.registerLiveActivityObservationResolver((sessionId) => butlerFollowUpSessionLiveRuntimeService.resolveLiveActivityObservation(sessionId));
293
338
  const worktreeManager = new WorktreeManager(workspaceService, repositories.workspaceWorktreeRepository, gitReadService, gitCommandRunner);
294
339
  const worktreeSyncService = new WorktreeSyncService(workspaceService, repositories.workspaceWorktreeRepository, gitCommandRunner);
295
340
  const worktreeMergeService = new WorktreeMergeService(workspaceService, repositories.workspaceWorktreeRepository, gitReadService, gitCommandRunner, worktreeSyncService);
296
341
  const worktreeCleanupService = new WorktreeCleanupService(workspaceService, repositories.workspaceWorktreeRepository, repositories.sessionIndexRepository, repositories.terminalInstanceRepository, gitReadService, gitCommandRunner, worktreeSyncService);
297
342
  const workbenchService = new WorkbenchService(repositories.workspaceRepository, repositories.workspaceNavigationStateRepository, sessionHistoryService, butlerProfileService, repositories.butlerControlSessionRepository, repositories.workspaceWorktreeRepository, taskManager);
298
343
  const butlerProjectService = new ButlerProjectService(repositories.butlerProjectRepository, repositories.butlerSessionRepository, repositories.workspaceRepository, butlerProfileService);
299
- const butlerInboxService = new ButlerInboxService(repositories.butlerProjectRepository, repositories.butlerInboxItemRepository);
344
+ const butlerInboxService = new ButlerInboxService(repositories.butlerProjectRepository, repositories.butlerInboxItemRepository, taskManager);
300
345
  const butlerNotificationService = new ButlerNotificationService(repositories.butlerNotificationArchiveRepository);
301
346
  const butlerSessionService = new ButlerSessionService(repositories.butlerProjectRepository, repositories.butlerSessionRepository, repositories.sessionCheckpointRepository, repositories.sessionBindingRepository, repositories.sessionIndexRepository, repositories.sessionStateRepository, sessionLiveRuntimeService, sessionHistoryService);
302
347
  const projectMemoryService = new ProjectMemoryService(repositories.butlerProjectRepository, repositories.projectMemoryRepository);
@@ -315,6 +360,10 @@ export function createServer(config) {
315
360
  new RuntimePatrolProviderAdapter("codex", butlerFollowUpSessionLiveRuntimeService, sessionHistoryService),
316
361
  new RuntimePatrolProviderAdapter("claude-code", butlerFollowUpSessionLiveRuntimeService, sessionHistoryService)
317
362
  ]);
363
+ const butlerAnalysisProviderAdapterRegistry = new ProviderAdapterRegistry([
364
+ new RuntimePatrolProviderAdapter("codex", butlerSessionLiveRuntimeService, sessionHistoryService),
365
+ new RuntimePatrolProviderAdapter("claude-code", butlerSessionLiveRuntimeService, sessionHistoryService)
366
+ ]);
318
367
  const patrolExecutionService = new PatrolExecutionService(repositories.butlerProjectRepository, repositories.butlerSessionRepository, repositories.sessionCheckpointRepository, repositories.patrolPlanRepository, patrolRunService, repositories.projectMemoryRepository, repositories.sessionChangedFileRepository, repositories.authUserRepository, providerAdapterRegistry, instructionAdapter);
319
368
  const patrolScheduler = new PatrolScheduler(patrolPlanService, patrolRunService, patrolExecutionService, {
320
369
  schedulerMetrics
@@ -324,6 +373,7 @@ export function createServer(config) {
324
373
  const verificationRunService = new VerificationRunService(repositories.butlerProjectRepository, repositories.butlerSessionRepository, repositories.sessionCheckpointRepository, repositories.verificationRunRepository);
325
374
  const butlerContextAggregator = new ButlerContextAggregator(butlerProfileService, butlerProjectService, butlerSessionService, butlerInboxService, projectMemoryService, patrolRunService, verificationRunService, repositories.sessionCheckpointRepository);
326
375
  const butlerAuthService = new ButlerAuthService(repositories.authTokenRepository, config);
376
+ const butlerInboxAnalysisService = new ButlerInboxAnalysisService(butlerProfileService, workspaceService, butlerContextAggregator, butlerAuthService, skillManagerService, sessionHistoryService, butlerSessionLiveRuntimeService, butlerAnalysisProviderAdapterRegistry, butlerRuntimeConfig.codexHomeDir, config.codexHomeDir);
327
377
  const butlerSessionSummaryService = new ButlerSessionSummaryService(butlerProfileService, butlerProjectService, butlerSessionService, repositories.butlerSessionRepository, repositories.butlerSessionSummaryStateRepository, repositories.sessionCheckpointRepository, repositories.sessionIndexRepository, repositories.authUserRepository, workspaceService, sessionHistoryService, summaryProviderAdapterRegistry, sessionSummaryInstructionAdapter, {
328
378
  summaryCodexHomeDir: butlerSummaryRuntimeConfig.codexHomeDir,
329
379
  sourceCodexHomeDir: config.codexHomeDir
@@ -339,7 +389,13 @@ export function createServer(config) {
339
389
  const butlerFollowUpTerminalSubscription = sessionLiveRuntimeService.registerTerminalStateListener(async (event) => {
340
390
  await butlerFollowUpService.handleSessionTerminal(event.sessionId, event.timestamp);
341
391
  });
342
- const butlerControlSessionService = new ButlerControlSessionService(butlerProfileService, repositories.butlerControlSessionRepository, workspaceService, sessionHistoryService, butlerSessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, butlerRuntimeConfig.codexHomeDir, config.codexHomeDir);
392
+ const butlerControlSessionService = new ButlerControlSessionService(butlerProfileService, repositories.butlerControlSessionRepository, workspaceService, sessionHistoryService, butlerSessionLiveRuntimeService, butlerContextAggregator, butlerAuthService, skillManagerService, butlerRuntimeConfig.codexHomeDir, config.codexHomeDir);
393
+ butlerInboxService.configureLifecycleServices({
394
+ butlerInboxAnalysisService,
395
+ butlerControlSessionService,
396
+ butlerSessionService,
397
+ butlerFollowUpService
398
+ });
343
399
  const butlerControlActionService = new ButlerControlActionService(butlerProfileService, repositories.butlerControlSessionRepository, repositories.butlerControlEventRepository, butlerProjectService, butlerSessionService, patrolRunService, patrolExecutionService, verificationRunService, butlerContextAggregator);
344
400
  const fileContextService = new FileContextService(sessionHistoryService, repositories.fileContextBindingRepository);
345
401
  const terminalService = new TerminalService(database.db, repositories.terminalInstanceRepository, repositories.terminalRuntimeSessionRepository, workspaceService, config.terminalIdleTimeoutSeconds, {
@@ -348,7 +404,7 @@ export function createServer(config) {
348
404
  terminalLogFileRepository: repositories.terminalLogFileRepository,
349
405
  terminalLogSegmentRepository: repositories.terminalLogSegmentRepository
350
406
  });
351
- const debugTargetService = new DebugTargetService(database.db, workspaceService, repositories.workspaceWorktreeRepository, repositories.debugTargetRepository, repositories.debugServiceRepository, repositories.frameworkAnalysisResultRepository, repositories.debugRuntimeSessionRepository, repositories.portLeaseRepository, repositories.runtimeBindingRepository, repositories.aiFallbackEditRepository, terminalService, repositories.terminalInstanceRepository, taskManager);
407
+ const debugTargetService = new DebugTargetService(database.db, workspaceService, repositories.workspaceWorktreeRepository, repositories.debugTargetRepository, repositories.debugServiceRepository, repositories.frameworkAnalysisResultRepository, repositories.debugRuntimeSessionRepository, repositories.portLeaseRepository, repositories.runtimeBindingRepository, repositories.aiFallbackEditRepository, repositories.terminalCommandTemplateRepository, terminalService, repositories.terminalInstanceRepository, taskManager);
352
408
  const debugRuntimeReconciliationScheduler = new DebugRuntimeReconciliationScheduler(debugTargetService, {
353
409
  schedulerMetrics
354
410
  });
@@ -371,6 +427,9 @@ export function createServer(config) {
371
427
  const sessionController = new SessionController(sessionHistoryService, sessionLiveRuntimeService, repositories.butlerControlSessionRepository);
372
428
  const assistantCapabilityController = new AssistantCapabilityController(new AssistantCapabilityService(butlerProjectService, butlerSessionService, sessionHistoryService, sessionLiveRuntimeService, terminalService));
373
429
  const providerController = new ProviderController(sessionHistoryService, sessionLiveRuntimeService, config);
430
+ const skillController = new SkillController(skillManagerService);
431
+ const tailscaleController = new TailscaleController(tailscaleService);
432
+ const modelSwitchController = new ModelSwitchController(modelSwitchService);
374
433
  const quickPhraseController = new QuickPhraseController(quickPhraseService);
375
434
  const profileController = new ProfileController(preferenceProfileService);
376
435
  const fileController = new FileController(fileTreeService, fileContentService, fileSearchService, recentFileService, filePreviewService, filePreviewLinkService);
@@ -391,8 +450,24 @@ export function createServer(config) {
391
450
  });
392
451
  app.addHook("onRequest", createAuthGuard(authService));
393
452
  app.setErrorHandler(setErrorHandler);
394
- app.addHook("onReady", async () => {
395
- await debugTargetService.runBackgroundRuntimeReconciliation("debug_target.startup_runtime_recovery");
453
+ app.addHook("onReady", () => {
454
+ // 启动恢复属于后台补偿流程,不能把 Host ready 绑死在外部命令或慢任务上。
455
+ void debugTargetService.runBackgroundRuntimeReconciliation("debug_target.startup_runtime_recovery").catch((error) => {
456
+ if (shuttingDown) {
457
+ return;
458
+ }
459
+ console.error("[startup-recovery] 调试运行时恢复失败", {
460
+ error: error instanceof Error ? error.message : String(error)
461
+ });
462
+ });
463
+ void tailscaleService.restoreOnStartup().catch((error) => {
464
+ if (shuttingDown) {
465
+ return;
466
+ }
467
+ console.error("[startup-recovery] Tailscale 启动恢复失败", {
468
+ error: error instanceof Error ? error.message : String(error)
469
+ });
470
+ });
396
471
  });
397
472
  // Demo 模式:自动创建演示用户
398
473
  if (config.demoMode) {
@@ -414,6 +489,8 @@ export function createServer(config) {
414
489
  void registerButlerRoutes(app, butlerController);
415
490
  void registerSessionRoutes(app, sessionController);
416
491
  void registerPreferenceRoutes(app, quickPhraseController, profileController);
492
+ void registerSkillRoutes(app, skillController);
493
+ void registerSystemRoutes(app, tailscaleController, modelSwitchController);
417
494
  void registerFileRoutes(app, fileController);
418
495
  void registerSessionContextRoutes(app, fileContextController);
419
496
  void registerTerminalRoutes(app, terminalController);
@@ -427,6 +504,7 @@ export function createServer(config) {
427
504
  registerStaticWebRoutes(app, config.webUiDir);
428
505
  }
429
506
  app.addHook("onClose", async () => {
507
+ shuttingDown = true;
430
508
  stopTerminalDebugEventLoopLagMonitor();
431
509
  eventLoopMonitor.dispose();
432
510
  butlerFollowUpTerminalSubscription.close();
@@ -442,6 +520,7 @@ export function createServer(config) {
442
520
  await sessionLiveRuntimeService.dispose();
443
521
  await wsHandle.close();
444
522
  gitCommandRunner.dispose();
523
+ tailscaleHelperClient.dispose();
445
524
  database.close();
446
525
  });
447
526
  return {
@@ -491,6 +570,10 @@ export function createServer(config) {
491
570
  commitOrchestrator,
492
571
  quickPhraseService,
493
572
  preferenceProfileService,
573
+ skillManagerService,
574
+ tailscaleManager,
575
+ tailscaleService,
576
+ modelSwitchService,
494
577
  runtimeObservabilityService,
495
578
  sessionHistoryService,
496
579
  sessionChangedFileService,
@@ -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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"}
@@ -3,11 +3,13 @@ export interface AppErrorOptions {
3
3
  errorCode: string;
4
4
  detail: string;
5
5
  field?: string;
6
+ data?: Record<string, unknown>;
6
7
  }
7
8
  export declare class AppError extends Error {
8
9
  readonly statusCode: number;
9
10
  readonly errorCode: string;
10
11
  readonly field?: string;
12
+ readonly data?: Record<string, unknown>;
11
13
  constructor(options: AppErrorOptions);
12
14
  }
13
15
  export declare function isAppError(error: unknown): error is AppError;
@@ -2,12 +2,14 @@ export class AppError extends Error {
2
2
  statusCode;
3
3
  errorCode;
4
4
  field;
5
+ data;
5
6
  constructor(options) {
6
7
  super(options.detail);
7
8
  this.name = "AppError";
8
9
  this.statusCode = options.statusCode;
9
10
  this.errorCode = options.errorCode;
10
11
  this.field = options.field;
12
+ this.data = options.data;
11
13
  }
12
14
  }
13
15
  export function isAppError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../../src/shared/errors/app-error.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,KAAK,CAAU;IAExB,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,QAAQ,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../../src/shared/errors/app-error.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,KAAK,CAAU;IACf,IAAI,CAA2B;IAExC,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,QAAQ,CAAC;AACnC,CAAC"}
@@ -3,7 +3,8 @@ export interface ErrorPayload {
3
3
  error_code: string;
4
4
  detail: string;
5
5
  field?: string;
6
+ data?: Record<string, unknown>;
6
7
  timestamp: string;
7
8
  }
8
- export declare function sendError(reply: FastifyReply, statusCode: number, errorCode: string, detail: string, field?: string): FastifyReply;
9
+ export declare function sendError(reply: FastifyReply, statusCode: number, errorCode: string, detail: string, field?: string, data?: Record<string, unknown>): FastifyReply;
9
10
  export declare function setErrorHandler(error: Error, request: FastifyRequest, reply: FastifyReply): FastifyReply;
@@ -1,9 +1,10 @@
1
1
  import { isAppError } from "../errors/app-error.js";
2
- export function sendError(reply, statusCode, errorCode, detail, field) {
2
+ export function sendError(reply, statusCode, errorCode, detail, field, data) {
3
3
  return reply.status(statusCode).send({
4
4
  error_code: errorCode,
5
5
  detail,
6
6
  field,
7
+ data,
7
8
  timestamp: new Date().toISOString()
8
9
  });
9
10
  }
@@ -18,7 +19,7 @@ export function setErrorHandler(error, request, reply) {
18
19
  console.error("[host-error]", requestContext, error);
19
20
  request.log.error(error);
20
21
  if (isAppError(error)) {
21
- return sendError(reply, error.statusCode, error.errorCode, error.message, error.field);
22
+ return sendError(reply, error.statusCode, error.errorCode, error.message, error.field, error.data);
22
23
  }
23
24
  return sendError(reply, 500, "INTERNAL_ERROR", "服务内部错误");
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../../src/shared/http/error-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AASpD,MAAM,UAAU,SAAS,CACvB,KAAmB,EACnB,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,KAAc;IAEd,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QACnC,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACb,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAY,EACZ,OAAuB,EACvB,KAAmB;IAEnB,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,YAAY,EAAE,KAAK,CAAC,OAAO;KAC5B,CAAC;IAEF,iEAAiE;IACjE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../../src/shared/http/error-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUpD,MAAM,UAAU,SAAS,CACvB,KAAmB,EACnB,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,KAAc,EACd,IAA8B;IAE9B,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QACnC,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,KAAK;QACL,IAAI;QACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACb,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAY,EACZ,OAAuB,EACvB,KAAmB;IAEnB,MAAM,cAAc,GAAG;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,YAAY,EAAE,KAAK,CAAC,OAAO;KAC5B,CAAC;IAEF,iEAAiE;IACjE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare function isCommandAvailable(commandPath: string | null | undefined): boolean;
2
+ export declare function resolveAvailableCommandPath(commandPath: string | null | undefined, fallbackCandidates?: readonly string[]): string | null;
@@ -2,14 +2,37 @@ import { accessSync, constants, existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  const SCRIPT_EXTENSIONS = new Set([".js", ".cjs", ".mjs"]);
4
4
  export function isCommandAvailable(commandPath) {
5
+ return resolveAvailableCommandPath(commandPath) !== null;
6
+ }
7
+ export function resolveAvailableCommandPath(commandPath, fallbackCandidates = []) {
5
8
  const normalizedCommandPath = stripWrappingQuotes(commandPath ?? "");
6
9
  if (!normalizedCommandPath) {
7
- return false;
10
+ return null;
8
11
  }
9
12
  if (isPathLikeCommand(normalizedCommandPath)) {
10
- return canExecuteResolvedPath(normalizedCommandPath);
13
+ return canExecuteResolvedPath(normalizedCommandPath) ? normalizedCommandPath : null;
14
+ }
15
+ const resolvedFromPath = resolveExecutableOnPath(normalizedCommandPath);
16
+ if (resolvedFromPath) {
17
+ return resolvedFromPath;
18
+ }
19
+ for (const candidate of fallbackCandidates) {
20
+ const normalizedCandidate = stripWrappingQuotes(candidate);
21
+ if (!normalizedCandidate) {
22
+ continue;
23
+ }
24
+ if (isPathLikeCommand(normalizedCandidate)) {
25
+ if (canExecuteResolvedPath(normalizedCandidate)) {
26
+ return normalizedCandidate;
27
+ }
28
+ continue;
29
+ }
30
+ const resolvedCandidate = resolveExecutableOnPath(normalizedCandidate);
31
+ if (resolvedCandidate) {
32
+ return resolvedCandidate;
33
+ }
11
34
  }
12
- return resolveExecutableOnPath(normalizedCommandPath) !== null;
35
+ return null;
13
36
  }
14
37
  function isPathLikeCommand(commandPath) {
15
38
  return path.isAbsolute(commandPath) || commandPath.includes("/") || commandPath.includes("\\");
@@ -1 +1 @@
1
- {"version":3,"file":"command-availability.js","sourceRoot":"","sources":["../../../../src/shared/utils/command-availability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-availability.js","sourceRoot":"","sources":["../../../../src/shared/utils/command-availability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { AuthLoginAttemptRecord } from "../../types/domain.js";
3
+ export declare class AuthLoginAttemptRepository {
4
+ private readonly db;
5
+ constructor(db: Database.Database);
6
+ findByUsername(username: string): AuthLoginAttemptRecord | null;
7
+ upsert(record: AuthLoginAttemptRecord): void;
8
+ deleteByUsername(username: string): void;
9
+ }