@jingyi0605/codingns 0.4.0 → 0.5.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 (267) hide show
  1. package/bin/codingns.mjs +425 -1
  2. package/dist/public/assets/AdaptiveButlerPage-B153lk5H.css +1 -0
  3. package/dist/public/assets/AdaptiveButlerPage-R-XZw7pd.js +3 -0
  4. package/dist/public/assets/App-DUAg5urj.css +1 -0
  5. package/dist/public/assets/App-DkvE5EyM.js +30 -0
  6. package/dist/public/assets/BootstrapPage-Vu5oEJ8z.js +1 -0
  7. package/dist/public/assets/ConversationPage-Cjpg6g0J.js +2 -0
  8. package/dist/public/assets/DesktopDetachPreviewPage-BgeEqbc5.js +1 -0
  9. package/dist/public/assets/DesktopWindowPage-1WelvxdH.js +2 -0
  10. package/dist/public/assets/FileContextPanel-D_ghXJuW.js +1 -0
  11. package/dist/public/assets/GitSidebar-D9f9Jxwr.js +6 -0
  12. package/dist/public/assets/MobileCreateSessionSheet-DLq5qPkx.js +1 -0
  13. package/dist/public/assets/MobileSheet-DLg-gX1t.js +1 -0
  14. package/dist/public/assets/MobileTopHeaderFrame-DArgZI7L.js +1 -0
  15. package/dist/public/assets/MobileWorkspaceSwitcherHeader-0ywJKfBQ.js +1 -0
  16. package/dist/public/assets/ServerSettingsModal-izoYMx9U.js +1 -0
  17. package/dist/public/assets/SessionIndexPage-C5aG8FIv.js +1 -0
  18. package/dist/public/assets/SettingsPage-HJIC-P-4.js +1 -0
  19. package/dist/public/assets/TerminalManagerPanel-DpyUTo9k.js +1 -0
  20. package/dist/public/assets/{TerminalPage-6jHZV9Mh.js → TerminalPage-CtKXIU0h.js} +19 -19
  21. package/dist/public/assets/TerminalRuntimeFallbackModal-CRhOQOsT.js +1 -0
  22. package/dist/public/assets/ToolFilesPage-DcYPsS-e.js +1 -0
  23. package/dist/public/assets/ToolGitPage-CsPl89ty.js +1 -0
  24. package/dist/public/assets/ToolProcessesPage-D0dvR8xK.js +1 -0
  25. package/dist/public/assets/ToolsHomePage-4fP-KRiv.js +1 -0
  26. package/dist/public/assets/WorkbenchLandingPage-kvlfyxRo.js +1 -0
  27. package/dist/public/assets/WorkbenchLayout-ByFw4eeu.js +3 -0
  28. package/dist/public/assets/WorkbenchModal-Ctob14VR.js +1 -0
  29. package/dist/public/assets/WorkbenchShellRoute-BUITtdAg.css +1 -0
  30. package/dist/public/assets/WorkbenchShellRoute-Kw7JEZI3.js +1 -0
  31. package/dist/public/assets/WorkspaceDebugDetailPage-Com5kEXJ.js +1 -0
  32. package/dist/public/assets/WorkspaceDetailPage-D0Lrx4Uz.js +1 -0
  33. package/dist/public/assets/WorkspaceHomePage-wR8d3aP9.js +1 -0
  34. package/dist/public/assets/butler-records-events-DgWCG364.js +1 -0
  35. package/dist/public/assets/default-session-permission-mode-CcGwR4Kk.js +1 -0
  36. package/dist/public/assets/event-DvH9tcej.js +1 -0
  37. package/dist/public/assets/file-tree-icon-UFVoVzhM.js +31 -0
  38. package/dist/public/assets/index-Byp9hJ0c.js +42 -0
  39. package/dist/public/assets/index-_52jxu4a.css +1 -0
  40. package/dist/public/assets/preferences-service-KIYeE2gk.js +1 -0
  41. package/dist/public/assets/session-runtime-machine-0KNSSPp5.js +17 -0
  42. package/dist/public/assets/styles-BWPBZvze.css +1 -0
  43. package/dist/public/assets/styles-CSUx5LGe.js +1 -0
  44. package/dist/public/assets/terminal-runtime-meta-AWXJpN4r.js +1 -0
  45. package/dist/public/assets/useRegisteredDebugTemplates-DBDRdptr.js +1 -0
  46. package/dist/public/assets/window-BWqRixxq.js +1 -0
  47. package/dist/public/index.html +2 -2
  48. package/dist/server/middlewares/auth-guard.d.ts +4 -0
  49. package/dist/server/middlewares/auth-guard.js +42 -4
  50. package/dist/server/middlewares/auth-guard.js.map +1 -1
  51. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +62 -1
  52. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +58 -0
  53. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  54. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +66 -3
  55. package/dist/server/modules/assistant-capability/assistant-capability-service.js +173 -1
  56. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  57. package/dist/server/modules/auth/auth-controller.d.ts +11 -1
  58. package/dist/server/modules/auth/auth-controller.js +61 -2
  59. package/dist/server/modules/auth/auth-controller.js.map +1 -1
  60. package/dist/server/modules/auth/auth-device-display-name.d.ts +10 -0
  61. package/dist/server/modules/auth/auth-device-display-name.js +190 -0
  62. package/dist/server/modules/auth/auth-device-display-name.js.map +1 -0
  63. package/dist/server/modules/auth/auth-service.d.ts +80 -5
  64. package/dist/server/modules/auth/auth-service.js +333 -23
  65. package/dist/server/modules/auth/auth-service.js.map +1 -1
  66. package/dist/server/modules/butler/assistant-automation-service.d.ts +2 -0
  67. package/dist/server/modules/butler/assistant-automation-service.js +46 -0
  68. package/dist/server/modules/butler/assistant-automation-service.js.map +1 -1
  69. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.d.ts +32 -0
  70. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js +93 -0
  71. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js.map +1 -0
  72. package/dist/server/modules/butler/assistant-sandbox-service.d.ts +16 -2
  73. package/dist/server/modules/butler/assistant-sandbox-service.js +137 -4
  74. package/dist/server/modules/butler/assistant-sandbox-service.js.map +1 -1
  75. package/dist/server/modules/butler/butler-auth-service.js +7 -2
  76. package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
  77. package/dist/server/modules/butler/butler-control-session-service.d.ts +4 -1
  78. package/dist/server/modules/butler/butler-control-session-service.js +20 -1
  79. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  80. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.d.ts +2 -1
  81. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js +27 -25
  82. package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js.map +1 -1
  83. package/dist/server/modules/butler/butler-follow-up-service.d.ts +32 -4
  84. package/dist/server/modules/butler/butler-follow-up-service.js +436 -331
  85. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  86. package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +1 -1
  87. package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -1
  88. package/dist/server/modules/butler/butler-inbox-service.js +1 -0
  89. package/dist/server/modules/butler/butler-inbox-service.js.map +1 -1
  90. package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
  91. package/dist/server/modules/butler/butler-session-service.js +15 -1
  92. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  93. package/dist/server/modules/butler/butler-workspace-context.d.ts +1 -1
  94. package/dist/server/modules/butler/butler-workspace-context.js +54 -28
  95. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
  96. package/dist/server/modules/provider/provider-controller.d.ts +1 -1
  97. package/dist/server/modules/provider/provider-controller.js.map +1 -1
  98. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.d.ts +10 -0
  99. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js +48 -0
  100. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js.map +1 -0
  101. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.d.ts +48 -0
  102. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js +11 -0
  103. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -0
  104. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +74 -0
  105. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +302 -0
  106. package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js.map +1 -0
  107. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.d.ts +33 -0
  108. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js +57 -0
  109. package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js.map +1 -0
  110. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.d.ts +9 -0
  111. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js +25 -0
  112. package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js.map +1 -0
  113. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +18 -0
  114. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +230 -0
  115. package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -0
  116. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +41 -0
  117. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +443 -0
  118. package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -0
  119. package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +111 -0
  120. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +771 -0
  121. package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -0
  122. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +2 -1
  123. package/dist/server/modules/sessions/codex-app-server-helper-client.js +78 -0
  124. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  125. package/dist/server/modules/sessions/codex-app-server-helper-process.js +84 -2
  126. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  127. package/dist/server/modules/sessions/provider-session-delete-cli.d.ts +15 -0
  128. package/dist/server/modules/sessions/provider-session-delete-cli.js +148 -0
  129. package/dist/server/modules/sessions/provider-session-delete-cli.js.map +1 -0
  130. package/dist/server/modules/sessions/session-controller.d.ts +4 -1
  131. package/dist/server/modules/sessions/session-controller.js +4 -0
  132. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  133. package/dist/server/modules/sessions/session-history-service.d.ts +17 -0
  134. package/dist/server/modules/sessions/session-history-service.js +150 -1
  135. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  136. package/dist/server/modules/sessions/session-live-runtime-router-service.d.ts +25 -0
  137. package/dist/server/modules/sessions/session-live-runtime-router-service.js +42 -0
  138. package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -0
  139. package/dist/server/modules/sessions/session-live-runtime-service.js +34 -18
  140. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  141. package/dist/server/modules/sessions/session-message-attachment-service.d.ts +1 -0
  142. package/dist/server/modules/sessions/session-message-attachment-service.js +22 -0
  143. package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
  144. package/dist/server/modules/sessions/session-permission-request-service.d.ts +1 -0
  145. package/dist/server/modules/sessions/session-permission-request-service.js +200 -5
  146. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  147. package/dist/server/modules/sessions/session-provider-error-mapper.js +32 -0
  148. package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
  149. package/dist/server/modules/sessions/session-provider-usage-guard-service.d.ts +37 -0
  150. package/dist/server/modules/sessions/session-provider-usage-guard-service.js +179 -0
  151. package/dist/server/modules/sessions/session-provider-usage-guard-service.js.map +1 -0
  152. package/dist/server/modules/sessions/session-provider-usage-limit.d.ts +17 -0
  153. package/dist/server/modules/sessions/session-provider-usage-limit.js +465 -0
  154. package/dist/server/modules/sessions/session-provider-usage-limit.js.map +1 -0
  155. package/dist/server/modules/skills/assistant-runtime-skill-catalog.d.ts +8 -0
  156. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +26 -0
  157. package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -0
  158. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.d.ts +9 -0
  159. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js +55 -0
  160. package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js.map +1 -0
  161. package/dist/server/modules/skills/builtin-skill-service.js +1 -6
  162. package/dist/server/modules/skills/builtin-skill-service.js.map +1 -1
  163. package/dist/server/modules/skills/skill-controller.d.ts +2 -2
  164. package/dist/server/modules/skills/skill-controller.js +9 -1
  165. package/dist/server/modules/skills/skill-controller.js.map +1 -1
  166. package/dist/server/modules/skills/skill-manager-service.d.ts +26 -1
  167. package/dist/server/modules/skills/skill-manager-service.js +346 -90
  168. package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
  169. package/dist/server/modules/skills/skill-name-policy.d.ts +2 -0
  170. package/dist/server/modules/skills/skill-name-policy.js +10 -0
  171. package/dist/server/modules/skills/skill-name-policy.js.map +1 -0
  172. package/dist/server/modules/tailscale/tailscale-service.d.ts +2 -0
  173. package/dist/server/modules/tailscale/tailscale-service.js +21 -8
  174. package/dist/server/modules/tailscale/tailscale-service.js.map +1 -1
  175. package/dist/server/modules/tasks/task-types.d.ts +3 -0
  176. package/dist/server/modules/tasks/task-types.js +3 -0
  177. package/dist/server/modules/tasks/task-types.js.map +1 -1
  178. package/dist/server/modules/terminal/template-reverse-proxy-service.js +71 -3
  179. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -1
  180. package/dist/server/routes/assistant.js +30 -0
  181. package/dist/server/routes/assistant.js.map +1 -1
  182. package/dist/server/routes/auth.js +4 -0
  183. package/dist/server/routes/auth.js.map +1 -1
  184. package/dist/server/routes/sessions.js +1 -0
  185. package/dist/server/routes/sessions.js.map +1 -1
  186. package/dist/server/routes/system.d.ts +2 -1
  187. package/dist/server/routes/system.js +13 -1
  188. package/dist/server/routes/system.js.map +1 -1
  189. package/dist/server/server/create-server.d.ts +10 -0
  190. package/dist/server/server/create-server.js +82 -12
  191. package/dist/server/server/create-server.js.map +1 -1
  192. package/dist/server/shared/utils/tokens.d.ts +3 -1
  193. package/dist/server/shared/utils/tokens.js +9 -2
  194. package/dist/server/shared/utils/tokens.js.map +1 -1
  195. package/dist/server/storage/repositories/assistant-automation-task-repository.d.ts +2 -0
  196. package/dist/server/storage/repositories/assistant-automation-task-repository.js +8 -2
  197. package/dist/server/storage/repositories/assistant-automation-task-repository.js.map +1 -1
  198. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +1 -0
  199. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +27 -0
  200. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +1 -1
  201. package/dist/server/storage/repositories/auth-device-repository.d.ts +22 -0
  202. package/dist/server/storage/repositories/auth-device-repository.js +97 -0
  203. package/dist/server/storage/repositories/auth-device-repository.js.map +1 -0
  204. package/dist/server/storage/repositories/auth-device-session-repository.d.ts +17 -0
  205. package/dist/server/storage/repositories/auth-device-session-repository.js +82 -0
  206. package/dist/server/storage/repositories/auth-device-session-repository.js.map +1 -0
  207. package/dist/server/storage/repositories/auth-login-event-repository.d.ts +9 -0
  208. package/dist/server/storage/repositories/auth-login-event-repository.js +53 -0
  209. package/dist/server/storage/repositories/auth-login-event-repository.js.map +1 -0
  210. package/dist/server/storage/repositories/auth-token-repository.d.ts +4 -0
  211. package/dist/server/storage/repositories/auth-token-repository.js +58 -5
  212. package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
  213. package/dist/server/storage/repositories/butler-follow-up-task-repository.js +21 -3
  214. package/dist/server/storage/repositories/butler-follow-up-task-repository.js.map +1 -1
  215. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.d.ts +8 -0
  216. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js +52 -0
  217. package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js.map +1 -0
  218. package/dist/server/storage/repositories/instance-relay-tunnel-repository.d.ts +10 -0
  219. package/dist/server/storage/repositories/instance-relay-tunnel-repository.js +153 -0
  220. package/dist/server/storage/repositories/instance-relay-tunnel-repository.js.map +1 -0
  221. package/dist/server/storage/repositories/instance-tailscale-repository.js +6 -3
  222. package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -1
  223. package/dist/server/storage/repositories/managed-skill-repository.d.ts +2 -1
  224. package/dist/server/storage/repositories/managed-skill-repository.js +14 -4
  225. package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -1
  226. package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +2 -0
  227. package/dist/server/storage/repositories/session-message-attachment-repository.js +24 -0
  228. package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
  229. package/dist/server/storage/sqlite/client.js +297 -2
  230. package/dist/server/storage/sqlite/client.js.map +1 -1
  231. package/dist/server/storage/sqlite/schema.sql +122 -4
  232. package/dist/server/types/domain.d.ts +82 -1
  233. package/dist/server/ws/workbench-ws-hub.js +99 -75
  234. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  235. package/dist/server/ws/ws-auth-guard.js +1 -4
  236. package/dist/server/ws/ws-auth-guard.js.map +1 -1
  237. package/dist/server/ws/ws-server.d.ts +1 -1
  238. package/dist/server/ws/ws-server.js.map +1 -1
  239. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +1 -0
  240. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +80 -0
  241. package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +1 -0
  242. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -0
  243. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +11 -1
  244. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  245. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +11 -0
  246. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +132 -21
  247. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  248. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +2 -0
  249. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +53 -1
  250. package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
  251. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +1 -0
  252. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +10 -1
  253. package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -1
  254. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -0
  255. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +30 -0
  256. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  257. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +5 -1
  258. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +145 -58
  259. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  260. package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -0
  261. package/node_modules/@codingns/session-sync-core/dist/services.js +7 -0
  262. package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
  263. package/node_modules/@codingns/session-sync-core/dist/types.d.ts +2 -0
  264. package/package.json +1 -1
  265. package/scripts/postinstall.mjs +0 -33
  266. package/dist/public/assets/index-CSVhg7I8.js +0 -123
  267. package/dist/public/assets/index-Ce1VX19m.css +0 -1
@@ -8,7 +8,10 @@ export function createDatabaseClient(databasePath) {
8
8
  const db = new Database(databasePath);
9
9
  const schemaPath = new URL("./schema.sql", import.meta.url);
10
10
  const schema = fs.readFileSync(schemaPath, "utf8");
11
+ ensurePreSchemaCompatibility(db);
11
12
  db.exec(schema);
13
+ ensureAuthTokenDeviceColumns(db);
14
+ ensureAuthDeviceSchema(db);
12
15
  ensureAuthLoginAttemptSchema(db);
13
16
  ensureWorkspaceRemovalColumn(db);
14
17
  ensureWorkspaceSortOrderColumn(db);
@@ -32,7 +35,9 @@ export function createDatabaseClient(databasePath) {
32
35
  ensurePortLeaseSchema(db);
33
36
  ensureRuntimeBindingSchema(db);
34
37
  ensureAiFallbackEditSchema(db);
38
+ ensureInstanceTailscaleConfigSchema(db);
35
39
  ensureInstanceTailscaleStatusSchema(db);
40
+ ensureInstanceRelayTunnelConfigSchema(db);
36
41
  ensureTerminalCommandTemplateDebugSchema(db);
37
42
  ensureTerminalInstanceDebugSchema(db);
38
43
  ensureUserPreferenceProfileSchema(db);
@@ -50,6 +55,97 @@ export function createDatabaseClient(databasePath) {
50
55
  close: () => db.close()
51
56
  };
52
57
  }
58
+ function ensurePreSchemaCompatibility(db) {
59
+ // 旧库还没有这些列时,schema.sql 里的索引会先炸掉,所以必须先补齐。
60
+ ensureAuthTokenDeviceColumns(db);
61
+ ensureManagedSkillScopeSchema(db);
62
+ }
63
+ function ensureAuthTokenDeviceColumns(db) {
64
+ if (!tableExists(db, "auth_tokens")) {
65
+ return;
66
+ }
67
+ const columns = db
68
+ .prepare("PRAGMA table_info(auth_tokens)")
69
+ .all();
70
+ const columnNames = new Set(columns.map((column) => column.name));
71
+ if (!columnNames.has("device_session_id")) {
72
+ db.exec("ALTER TABLE auth_tokens ADD COLUMN device_session_id TEXT");
73
+ }
74
+ if (!columnNames.has("caller_kind")) {
75
+ db.exec("ALTER TABLE auth_tokens ADD COLUMN caller_kind TEXT CHECK (caller_kind IN ('interactive_user', 'assistant_runtime'))");
76
+ }
77
+ db.exec("CREATE INDEX IF NOT EXISTS idx_auth_tokens_device_session_id ON auth_tokens(device_session_id)");
78
+ }
79
+ function tableExists(db, tableName) {
80
+ const row = db
81
+ .prepare(`SELECT name
82
+ FROM sqlite_master
83
+ WHERE type = 'table' AND name = ?`)
84
+ .get(tableName);
85
+ return row?.name === tableName;
86
+ }
87
+ function ensureAuthDeviceSchema(db) {
88
+ db.exec(`
89
+ CREATE TABLE IF NOT EXISTS auth_devices (
90
+ id TEXT PRIMARY KEY,
91
+ user_id TEXT NOT NULL,
92
+ client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
93
+ client_instance_id TEXT,
94
+ display_name TEXT,
95
+ user_agent TEXT,
96
+ is_primary INTEGER NOT NULL DEFAULT 0 CHECK (is_primary IN (0, 1)),
97
+ last_source_address TEXT,
98
+ last_seen_at TEXT NOT NULL,
99
+ primary_set_at TEXT,
100
+ created_at TEXT NOT NULL,
101
+ updated_at TEXT NOT NULL,
102
+ FOREIGN KEY (user_id) REFERENCES auth_users(id)
103
+ );
104
+
105
+ CREATE INDEX IF NOT EXISTS idx_auth_devices_user_id
106
+ ON auth_devices(user_id, updated_at DESC);
107
+ CREATE INDEX IF NOT EXISTS idx_auth_devices_client_lookup
108
+ ON auth_devices(user_id, client_type, client_instance_id);
109
+
110
+ CREATE TABLE IF NOT EXISTS auth_device_sessions (
111
+ id TEXT PRIMARY KEY,
112
+ user_id TEXT NOT NULL,
113
+ device_id TEXT,
114
+ access_token_id TEXT,
115
+ refresh_token_id TEXT,
116
+ revoked_at TEXT,
117
+ created_at TEXT NOT NULL,
118
+ updated_at TEXT NOT NULL,
119
+ FOREIGN KEY (user_id) REFERENCES auth_users(id),
120
+ FOREIGN KEY (device_id) REFERENCES auth_devices(id)
121
+ );
122
+
123
+ CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_user_id
124
+ ON auth_device_sessions(user_id, updated_at DESC);
125
+ CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_device_id
126
+ ON auth_device_sessions(device_id, updated_at DESC);
127
+
128
+ CREATE TABLE IF NOT EXISTS auth_login_events (
129
+ id TEXT PRIMARY KEY,
130
+ user_id TEXT NOT NULL,
131
+ device_id TEXT,
132
+ client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
133
+ source_address TEXT,
134
+ occurred_at TEXT NOT NULL,
135
+ FOREIGN KEY (user_id) REFERENCES auth_users(id),
136
+ FOREIGN KEY (device_id) REFERENCES auth_devices(id)
137
+ );
138
+
139
+ CREATE INDEX IF NOT EXISTS idx_auth_login_events_user_id
140
+ ON auth_login_events(user_id, occurred_at DESC);
141
+ `);
142
+ const authDeviceColumns = db
143
+ .prepare("PRAGMA table_info(auth_devices)")
144
+ .all();
145
+ if (!authDeviceColumns.some((column) => column.name === "user_agent")) {
146
+ db.exec("ALTER TABLE auth_devices ADD COLUMN user_agent TEXT");
147
+ }
148
+ }
53
149
  function ensureAuthLoginAttemptSchema(db) {
54
150
  const columns = db
55
151
  .prepare("PRAGMA table_info(auth_login_attempts)")
@@ -213,6 +309,88 @@ function ensureUserPreferenceProfileSchema(db) {
213
309
  ADD COLUMN debug_port_pools_json TEXT NOT NULL DEFAULT '{"start":43000,"end":47999}'`);
214
310
  }
215
311
  }
312
+ function ensureManagedSkillScopeSchema(db) {
313
+ if (!tableExists(db, "managed_skills")) {
314
+ return;
315
+ }
316
+ const columns = db
317
+ .prepare("PRAGMA table_info(managed_skills)")
318
+ .all();
319
+ const columnNames = new Set(columns.map((column) => column.name));
320
+ const tableSqlRow = db
321
+ .prepare(`SELECT sql
322
+ FROM sqlite_master
323
+ WHERE type = 'table'
324
+ AND name = 'managed_skills'`)
325
+ .get();
326
+ const tableSql = tableSqlRow?.sql ?? "";
327
+ const needsRebuild = !columnNames.has("scope")
328
+ || tableSql.includes("directory_name TEXT NOT NULL UNIQUE")
329
+ || !tableSql.includes("UNIQUE(scope, directory_name)");
330
+ if (!needsRebuild) {
331
+ return;
332
+ }
333
+ db.exec("DROP INDEX IF EXISTS idx_managed_skills_state");
334
+ db.exec("PRAGMA foreign_keys = OFF");
335
+ try {
336
+ db.exec("BEGIN");
337
+ db.exec(`
338
+ CREATE TABLE managed_skills__next (
339
+ id TEXT PRIMARY KEY,
340
+ name TEXT NOT NULL,
341
+ scope TEXT NOT NULL CHECK (scope IN ('workspace', 'assistant')),
342
+ directory_name TEXT NOT NULL,
343
+ source_type TEXT NOT NULL CHECK (source_type IN ('builtin', 'local-import', 'managed-copy')),
344
+ source_path TEXT,
345
+ content_hash TEXT NOT NULL,
346
+ managed_state TEXT NOT NULL CHECK (managed_state IN ('active', 'conflicted', 'missing')),
347
+ created_at TEXT NOT NULL,
348
+ updated_at TEXT NOT NULL,
349
+ UNIQUE(scope, directory_name)
350
+ );
351
+ `);
352
+ db.exec(`
353
+ INSERT INTO managed_skills__next (
354
+ id,
355
+ name,
356
+ scope,
357
+ directory_name,
358
+ source_type,
359
+ source_path,
360
+ content_hash,
361
+ managed_state,
362
+ created_at,
363
+ updated_at
364
+ )
365
+ SELECT
366
+ id,
367
+ name,
368
+ 'workspace',
369
+ directory_name,
370
+ source_type,
371
+ source_path,
372
+ content_hash,
373
+ managed_state,
374
+ created_at,
375
+ updated_at
376
+ FROM managed_skills;
377
+ `);
378
+ db.exec("DROP TABLE managed_skills");
379
+ db.exec("ALTER TABLE managed_skills__next RENAME TO managed_skills");
380
+ db.exec("COMMIT");
381
+ }
382
+ catch (error) {
383
+ db.exec("ROLLBACK");
384
+ throw error;
385
+ }
386
+ finally {
387
+ db.exec("PRAGMA foreign_keys = ON");
388
+ }
389
+ db.exec(`
390
+ CREATE INDEX IF NOT EXISTS idx_managed_skills_state
391
+ ON managed_skills(scope, managed_state, updated_at DESC);
392
+ `);
393
+ }
216
394
  function ensureButlerControlSessionSchema(db) {
217
395
  const columns = db
218
396
  .prepare("PRAGMA table_info(butler_control_sessions)")
@@ -343,10 +521,84 @@ function ensureAssistantSandboxSchema(db) {
343
521
  .all();
344
522
  if (columns.length > 0) {
345
523
  const columnNames = new Set(columns.map((column) => column.name));
346
- if (!columnNames.has("control_session_id")) {
524
+ const tableSql = db
525
+ .prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'assistant_sandboxes'")
526
+ .get()?.sql ?? "";
527
+ const needsStatusConstraintRebuild = !tableSql.includes("'orphaned'");
528
+ if (needsStatusConstraintRebuild) {
529
+ const hasControlSessionId = columnNames.has("control_session_id");
530
+ const rebuild = db.transaction(() => {
531
+ db.exec("ALTER TABLE assistant_sandboxes RENAME TO assistant_sandboxes_legacy");
532
+ db.exec(`
533
+ CREATE TABLE assistant_sandboxes (
534
+ id TEXT PRIMARY KEY,
535
+ user_id TEXT NOT NULL,
536
+ workspace_id TEXT NOT NULL UNIQUE,
537
+ control_session_id TEXT,
538
+ title TEXT NOT NULL,
539
+ description TEXT,
540
+ source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
541
+ source_ref TEXT,
542
+ visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
543
+ status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'orphaned', 'deleted')),
544
+ purpose TEXT,
545
+ expires_at TEXT,
546
+ promoted_at TEXT,
547
+ created_at TEXT NOT NULL,
548
+ updated_at TEXT NOT NULL,
549
+ FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
550
+ FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE CASCADE,
551
+ FOREIGN KEY (control_session_id) REFERENCES butler_control_sessions(id) ON DELETE SET NULL
552
+ );
553
+ `);
554
+ db.exec(`
555
+ INSERT INTO assistant_sandboxes (
556
+ id,
557
+ user_id,
558
+ workspace_id,
559
+ control_session_id,
560
+ title,
561
+ description,
562
+ source_kind,
563
+ source_ref,
564
+ visibility,
565
+ status,
566
+ purpose,
567
+ expires_at,
568
+ promoted_at,
569
+ created_at,
570
+ updated_at
571
+ )
572
+ SELECT
573
+ id,
574
+ user_id,
575
+ workspace_id,
576
+ ${hasControlSessionId ? "control_session_id" : "NULL"},
577
+ title,
578
+ description,
579
+ source_kind,
580
+ source_ref,
581
+ visibility,
582
+ status,
583
+ purpose,
584
+ expires_at,
585
+ promoted_at,
586
+ created_at,
587
+ updated_at
588
+ FROM assistant_sandboxes_legacy;
589
+ `);
590
+ db.exec("DROP TABLE assistant_sandboxes_legacy");
591
+ });
592
+ rebuild();
593
+ }
594
+ else if (!columnNames.has("control_session_id")) {
347
595
  db.exec("ALTER TABLE assistant_sandboxes ADD COLUMN control_session_id TEXT");
348
596
  }
349
597
  db.exec(`
598
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_user_status
599
+ ON assistant_sandboxes(user_id, status, updated_at DESC);
600
+ CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_workspace
601
+ ON assistant_sandboxes(workspace_id, status, updated_at DESC);
350
602
  CREATE INDEX IF NOT EXISTS idx_assistant_sandboxes_control_session
351
603
  ON assistant_sandboxes(control_session_id, status, updated_at DESC);
352
604
  `);
@@ -363,7 +615,7 @@ function ensureAssistantSandboxSchema(db) {
363
615
  source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
364
616
  source_ref TEXT,
365
617
  visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
366
- status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'deleted')),
618
+ status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'orphaned', 'deleted')),
367
619
  purpose TEXT,
368
620
  expires_at TEXT,
369
621
  promoted_at TEXT,
@@ -483,6 +735,15 @@ function ensureButlerFollowUpTaskSchema(db) {
483
735
  if (!columnNames.has("rounds_json")) {
484
736
  db.exec("ALTER TABLE butler_follow_up_tasks ADD COLUMN rounds_json TEXT NOT NULL DEFAULT '[]'");
485
737
  }
738
+ if (!columnNames.has("provider_id")) {
739
+ db.exec("ALTER TABLE butler_follow_up_tasks ADD COLUMN provider_id TEXT NOT NULL DEFAULT 'codex'");
740
+ }
741
+ if (!columnNames.has("assistant_butler_session_id")) {
742
+ db.exec("ALTER TABLE butler_follow_up_tasks ADD COLUMN assistant_butler_session_id TEXT NOT NULL DEFAULT ''");
743
+ }
744
+ if (!columnNames.has("assistant_session_id")) {
745
+ db.exec("ALTER TABLE butler_follow_up_tasks ADD COLUMN assistant_session_id TEXT NOT NULL DEFAULT ''");
746
+ }
486
747
  }
487
748
  function ensureButlerSessionSummarySchema(db) {
488
749
  const columns = db
@@ -502,6 +763,40 @@ function ensureInstanceTailscaleStatusSchema(db) {
502
763
  }
503
764
  db.exec("ALTER TABLE instance_tailscale_status ADD COLUMN account_name TEXT");
504
765
  }
766
+ function ensureInstanceTailscaleConfigSchema(db) {
767
+ const columns = db
768
+ .prepare("PRAGMA table_info(instance_tailscale_config)")
769
+ .all();
770
+ if (columns.length === 0 || columns.some((column) => column.name === "activated")) {
771
+ return;
772
+ }
773
+ db.exec("ALTER TABLE instance_tailscale_config ADD COLUMN activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1))");
774
+ db.exec("UPDATE instance_tailscale_config SET activated = enabled");
775
+ }
776
+ function ensureInstanceRelayTunnelConfigSchema(db) {
777
+ const columns = db
778
+ .prepare("PRAGMA table_info(instance_relay_tunnel_config)")
779
+ .all();
780
+ if (columns.length === 0) {
781
+ return;
782
+ }
783
+ if (!columns.some((column) => column.name === "activated")) {
784
+ db.exec("ALTER TABLE instance_relay_tunnel_config ADD COLUMN activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1))");
785
+ db.exec("UPDATE instance_relay_tunnel_config SET activated = enabled");
786
+ }
787
+ if (!columns.some((column) => column.name === "control_access_token_ciphertext")) {
788
+ db.exec("ALTER TABLE instance_relay_tunnel_config ADD COLUMN control_access_token_ciphertext TEXT");
789
+ }
790
+ if (!columns.some((column) => column.name === "control_account_email")) {
791
+ db.exec("ALTER TABLE instance_relay_tunnel_config ADD COLUMN control_account_email TEXT");
792
+ }
793
+ if (!columns.some((column) => column.name === "control_session_expires_at")) {
794
+ db.exec("ALTER TABLE instance_relay_tunnel_config ADD COLUMN control_session_expires_at TEXT");
795
+ }
796
+ if (!columns.some((column) => column.name === "local_target_source")) {
797
+ db.exec("ALTER TABLE instance_relay_tunnel_config ADD COLUMN local_target_source TEXT NOT NULL DEFAULT 'default' CHECK (local_target_source IN ('default', 'custom'))");
798
+ }
799
+ }
505
800
  function ensureSessionProviderSchema(db) {
506
801
  const bindingSql = readTableSql(db, "session_bindings");
507
802
  const indexSql = readTableSql(db, "session_indices");
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ CREATE TABLE IF NOT EXISTS auth_tokens (
23
23
  user_id TEXT NOT NULL,
24
24
  token_type TEXT NOT NULL CHECK (token_type IN ('access', 'refresh')),
25
25
  token_hash TEXT NOT NULL UNIQUE,
26
+ device_session_id TEXT,
27
+ caller_kind TEXT CHECK (caller_kind IN ('interactive_user', 'assistant_runtime')),
26
28
  expires_at TEXT NOT NULL,
27
29
  revoked_at TEXT,
28
30
  created_at TEXT NOT NULL,
@@ -31,6 +33,59 @@ CREATE TABLE IF NOT EXISTS auth_tokens (
31
33
 
32
34
  CREATE INDEX IF NOT EXISTS idx_auth_tokens_user_id ON auth_tokens(user_id);
33
35
  CREATE INDEX IF NOT EXISTS idx_auth_tokens_expires_at ON auth_tokens(expires_at);
36
+ CREATE INDEX IF NOT EXISTS idx_auth_tokens_device_session_id ON auth_tokens(device_session_id);
37
+
38
+ CREATE TABLE IF NOT EXISTS auth_devices (
39
+ id TEXT PRIMARY KEY,
40
+ user_id TEXT NOT NULL,
41
+ client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
42
+ client_instance_id TEXT,
43
+ display_name TEXT,
44
+ user_agent TEXT,
45
+ is_primary INTEGER NOT NULL DEFAULT 0 CHECK (is_primary IN (0, 1)),
46
+ last_source_address TEXT,
47
+ last_seen_at TEXT NOT NULL,
48
+ primary_set_at TEXT,
49
+ created_at TEXT NOT NULL,
50
+ updated_at TEXT NOT NULL,
51
+ FOREIGN KEY (user_id) REFERENCES auth_users(id)
52
+ );
53
+
54
+ CREATE INDEX IF NOT EXISTS idx_auth_devices_user_id ON auth_devices(user_id, updated_at DESC);
55
+ CREATE INDEX IF NOT EXISTS idx_auth_devices_client_lookup
56
+ ON auth_devices(user_id, client_type, client_instance_id);
57
+
58
+ CREATE TABLE IF NOT EXISTS auth_device_sessions (
59
+ id TEXT PRIMARY KEY,
60
+ user_id TEXT NOT NULL,
61
+ device_id TEXT,
62
+ access_token_id TEXT,
63
+ refresh_token_id TEXT,
64
+ revoked_at TEXT,
65
+ created_at TEXT NOT NULL,
66
+ updated_at TEXT NOT NULL,
67
+ FOREIGN KEY (user_id) REFERENCES auth_users(id),
68
+ FOREIGN KEY (device_id) REFERENCES auth_devices(id)
69
+ );
70
+
71
+ CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_user_id
72
+ ON auth_device_sessions(user_id, updated_at DESC);
73
+ CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_device_id
74
+ ON auth_device_sessions(device_id, updated_at DESC);
75
+
76
+ CREATE TABLE IF NOT EXISTS auth_login_events (
77
+ id TEXT PRIMARY KEY,
78
+ user_id TEXT NOT NULL,
79
+ device_id TEXT,
80
+ client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
81
+ source_address TEXT,
82
+ occurred_at TEXT NOT NULL,
83
+ FOREIGN KEY (user_id) REFERENCES auth_users(id),
84
+ FOREIGN KEY (device_id) REFERENCES auth_devices(id)
85
+ );
86
+
87
+ CREATE INDEX IF NOT EXISTS idx_auth_login_events_user_id
88
+ ON auth_login_events(user_id, occurred_at DESC);
34
89
 
35
90
  CREATE TABLE IF NOT EXISTS auth_login_attempts (
36
91
  username TEXT PRIMARY KEY,
@@ -789,7 +844,7 @@ CREATE TABLE IF NOT EXISTS assistant_sandboxes (
789
844
  source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
790
845
  source_ref TEXT,
791
846
  visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
792
- status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'deleted')),
847
+ status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'orphaned', 'deleted')),
793
848
  purpose TEXT,
794
849
  expires_at TEXT,
795
850
  promoted_at TEXT,
@@ -905,6 +960,9 @@ CREATE TABLE IF NOT EXISTS butler_follow_up_tasks (
905
960
  project_id TEXT NOT NULL,
906
961
  butler_session_id TEXT NOT NULL,
907
962
  session_id TEXT NOT NULL,
963
+ provider_id TEXT NOT NULL CHECK (provider_id IN ('codex', 'claude-code')),
964
+ assistant_butler_session_id TEXT NOT NULL,
965
+ assistant_session_id TEXT NOT NULL,
908
966
  created_by_user_id TEXT NOT NULL,
909
967
  objective TEXT NOT NULL,
910
968
  completion_criteria TEXT NOT NULL DEFAULT '',
@@ -929,6 +987,8 @@ CREATE TABLE IF NOT EXISTS butler_follow_up_tasks (
929
987
  FOREIGN KEY (project_id) REFERENCES butler_projects(id) ON DELETE CASCADE,
930
988
  FOREIGN KEY (butler_session_id) REFERENCES butler_sessions(id) ON DELETE CASCADE,
931
989
  FOREIGN KEY (session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
990
+ FOREIGN KEY (assistant_butler_session_id) REFERENCES butler_sessions(id) ON DELETE CASCADE,
991
+ FOREIGN KEY (assistant_session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
932
992
  FOREIGN KEY (created_by_user_id) REFERENCES auth_users(id)
933
993
  );
934
994
 
@@ -1085,6 +1145,7 @@ CREATE INDEX IF NOT EXISTS idx_verification_runs_project_status
1085
1145
 
1086
1146
  CREATE TABLE IF NOT EXISTS instance_tailscale_config (
1087
1147
  id TEXT PRIMARY KEY CHECK (id = 'default'),
1148
+ activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1)),
1088
1149
  enabled INTEGER NOT NULL DEFAULT 0 CHECK (enabled IN (0, 1)),
1089
1150
  control_server_url TEXT,
1090
1151
  hostname TEXT,
@@ -1118,20 +1179,77 @@ CREATE TABLE IF NOT EXISTS instance_tailscale_status (
1118
1179
  observed_at TEXT
1119
1180
  );
1120
1181
 
1182
+ CREATE TABLE IF NOT EXISTS instance_relay_tunnel_config (
1183
+ id TEXT PRIMARY KEY CHECK (id = 'default'),
1184
+ activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1)),
1185
+ enabled INTEGER NOT NULL DEFAULT 0 CHECK (enabled IN (0, 1)),
1186
+ provider TEXT NOT NULL CHECK (provider = 'codingns_relay'),
1187
+ relay_base_url TEXT,
1188
+ control_base_url TEXT,
1189
+ control_access_token_ciphertext TEXT,
1190
+ control_account_email TEXT,
1191
+ control_session_expires_at TEXT,
1192
+ account_id TEXT,
1193
+ tunnel_domain TEXT,
1194
+ binding_id TEXT,
1195
+ host_public_key TEXT,
1196
+ host_key_fingerprint TEXT,
1197
+ local_target_base_url TEXT NOT NULL,
1198
+ local_target_source TEXT NOT NULL DEFAULT 'default' CHECK (local_target_source IN ('default', 'custom')),
1199
+ updated_at TEXT NOT NULL
1200
+ );
1201
+
1202
+ CREATE TABLE IF NOT EXISTS instance_relay_tunnel_identity (
1203
+ id TEXT PRIMARY KEY CHECK (id = 'default'),
1204
+ key_algorithm TEXT NOT NULL CHECK (key_algorithm = 'x25519'),
1205
+ private_key_pem TEXT NOT NULL,
1206
+ public_key_pem TEXT NOT NULL,
1207
+ key_fingerprint TEXT NOT NULL,
1208
+ created_at TEXT NOT NULL,
1209
+ updated_at TEXT NOT NULL
1210
+ );
1211
+
1212
+ CREATE TABLE IF NOT EXISTS instance_relay_tunnel_status (
1213
+ id TEXT PRIMARY KEY CHECK (id = 'default'),
1214
+ phase TEXT NOT NULL CHECK (
1215
+ phase IN (
1216
+ 'disabled',
1217
+ 'blocked_uninitialized',
1218
+ 'unbound',
1219
+ 'binding',
1220
+ 'connecting',
1221
+ 'running',
1222
+ 'quota_exhausted',
1223
+ 'error'
1224
+ )
1225
+ ),
1226
+ connected INTEGER NOT NULL DEFAULT 0 CHECK (connected IN (0, 1)),
1227
+ binding_id TEXT,
1228
+ tunnel_domain TEXT,
1229
+ host_fingerprint TEXT,
1230
+ traffic_used_bytes TEXT,
1231
+ traffic_remaining_bytes TEXT,
1232
+ quota_reset_at TEXT,
1233
+ last_error TEXT,
1234
+ observed_at TEXT
1235
+ );
1236
+
1121
1237
  CREATE TABLE IF NOT EXISTS managed_skills (
1122
1238
  id TEXT PRIMARY KEY,
1123
1239
  name TEXT NOT NULL,
1124
- directory_name TEXT NOT NULL UNIQUE,
1240
+ scope TEXT NOT NULL CHECK (scope IN ('workspace', 'assistant')),
1241
+ directory_name TEXT NOT NULL,
1125
1242
  source_type TEXT NOT NULL CHECK (source_type IN ('builtin', 'local-import', 'managed-copy')),
1126
1243
  source_path TEXT,
1127
1244
  content_hash TEXT NOT NULL,
1128
1245
  managed_state TEXT NOT NULL CHECK (managed_state IN ('active', 'conflicted', 'missing')),
1129
1246
  created_at TEXT NOT NULL,
1130
- updated_at TEXT NOT NULL
1247
+ updated_at TEXT NOT NULL,
1248
+ UNIQUE(scope, directory_name)
1131
1249
  );
1132
1250
 
1133
1251
  CREATE INDEX IF NOT EXISTS idx_managed_skills_state
1134
- ON managed_skills(managed_state, updated_at DESC);
1252
+ ON managed_skills(scope, managed_state, updated_at DESC);
1135
1253
 
1136
1254
  CREATE TABLE IF NOT EXISTS skill_target_bindings (
1137
1255
  skill_id TEXT NOT NULL,