devchain-cli 0.20.2 → 0.21.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 (400) hide show
  1. package/dist/cli.js +11 -1
  2. package/dist/drizzle/0072_fat_vulcan.sql +21 -0
  3. package/dist/drizzle/meta/0072_snapshot.json +6062 -0
  4. package/dist/drizzle/meta/_journal.json +7 -0
  5. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +1 -1
  6. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -1
  7. package/dist/node_modules/@devchain/shared/e2ee/index.js +1 -1
  8. package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -1
  9. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +6 -0
  10. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -1
  11. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +13 -0
  12. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -1
  13. package/dist/node_modules/@devchain/shared/index.d.ts +2 -2
  14. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  15. package/dist/node_modules/@devchain/shared/index.js +2 -2
  16. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  17. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +11816 -0
  18. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -0
  19. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +1069 -0
  20. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -0
  21. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  22. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +23 -2
  23. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
  24. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +24 -2
  25. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
  26. package/dist/server/app.main.module.js +2 -0
  27. package/dist/server/app.main.module.js.map +1 -1
  28. package/dist/server/app.normal.module.js +2 -0
  29. package/dist/server/app.normal.module.js.map +1 -1
  30. package/dist/server/common/test/app-bootstrap.helper.js +0 -1
  31. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  32. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +10 -4
  33. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  34. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +2 -0
  35. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  36. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -1
  37. package/dist/server/modules/cloud/cloud.module.js +2 -1
  38. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  39. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +3 -1
  40. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +16 -9
  41. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
  42. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +1 -0
  43. package/dist/server/modules/cloud/services/event-mapper.service.js +14 -0
  44. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
  45. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +4 -0
  46. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  47. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +5 -1
  48. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +27 -7
  49. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
  50. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -2
  51. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +12 -5
  52. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  53. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +11815 -0
  54. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1076 -0
  55. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -0
  56. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +67 -0
  57. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +181 -0
  58. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -0
  59. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +15 -2
  60. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +145 -6
  61. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  62. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +4 -1
  63. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +16 -2
  64. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
  65. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +4 -1
  66. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +64 -250
  67. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  68. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +0 -2
  69. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +7 -5
  70. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  71. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +1 -2
  72. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +14 -16
  73. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -1
  74. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +20 -3
  75. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +139 -9
  76. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -1
  77. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +3 -1
  78. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -1
  79. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +6 -1
  80. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +56 -2
  81. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -1
  82. package/dist/server/modules/e2ee/e2ee.module.js +17 -2
  83. package/dist/server/modules/e2ee/e2ee.module.js.map +1 -1
  84. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.d.ts +6 -0
  85. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js +5 -0
  86. package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js.map +1 -0
  87. package/dist/server/modules/e2ee/services/e2ee-device-label.d.ts +1 -0
  88. package/dist/server/modules/e2ee/services/e2ee-device-label.js +17 -0
  89. package/dist/server/modules/e2ee/services/e2ee-device-label.js.map +1 -0
  90. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +9 -2
  91. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +94 -28
  92. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  93. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +3 -1
  94. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  95. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +4 -0
  96. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +33 -10
  97. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  98. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.d.ts +19 -0
  99. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js +103 -0
  100. package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js.map +1 -0
  101. package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
  102. package/dist/server/modules/epics/services/epics.service.js +7 -1
  103. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  104. package/dist/server/modules/events/catalog/epic.updated.d.ts +26 -26
  105. package/dist/server/modules/events/catalog/index.d.ts +48 -48
  106. package/dist/server/modules/events/catalog/review.updated.d.ts +18 -18
  107. package/dist/server/modules/events/catalog/team.config.updated.d.ts +4 -4
  108. package/dist/server/modules/mcp/mcp-full.module.js +2 -3
  109. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  110. package/dist/server/modules/mcp/services/handlers/epic-tools.js +1 -1
  111. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  112. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +23 -0
  113. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +120 -0
  114. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -0
  115. package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -45
  116. package/dist/server/modules/mcp/services/mcp.service.js +15 -265
  117. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  118. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +5 -0
  119. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +8 -0
  120. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -0
  121. package/dist/server/modules/mcp/standalone-mcp.module.js +3 -10
  122. package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -1
  123. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +1 -2
  124. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +15 -2
  125. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -1
  126. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +38 -0
  127. package/dist/server/modules/mcp/tool-descriptors/binding-types.js +10 -0
  128. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -0
  129. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +1 -2
  130. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +16 -2
  131. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
  132. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +1 -2
  133. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +10 -2
  134. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -1
  135. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +1 -2
  136. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +12 -6
  137. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
  138. package/dist/server/modules/mcp/tool-descriptors/index.d.ts +2 -3
  139. package/dist/server/modules/mcp/tool-descriptors/index.js +1 -25
  140. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  141. package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +1 -2
  142. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +11 -2
  143. package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -1
  144. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +1 -2
  145. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +11 -2
  146. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -1
  147. package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +1 -2
  148. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +6 -2
  149. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -1
  150. package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +1 -2
  151. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -2
  152. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -1
  153. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.d.ts +2 -0
  154. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +29 -0
  155. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -0
  156. package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +1 -2
  157. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +11 -2
  158. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -1
  159. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +1 -2
  160. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +10 -2
  161. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
  162. package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +1 -2
  163. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +11 -2
  164. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  165. package/dist/server/modules/mcp/tool-descriptors/types.d.ts +0 -2
  166. package/dist/server/modules/project-communication/project-communication.service.d.ts +2 -0
  167. package/dist/server/modules/project-communication/project-communication.service.js +72 -20
  168. package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
  169. package/dist/server/modules/projects/controllers/projects.controller.d.ts +2 -1
  170. package/dist/server/modules/projects/controllers/projects.controller.js +16 -3
  171. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  172. package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +1 -0
  173. package/dist/server/modules/projects/dtos/template-upgrade.dto.js +9 -0
  174. package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -1
  175. package/dist/server/modules/projects/events/project-workspace-changed.events.d.ts +6 -0
  176. package/dist/server/modules/projects/events/project-workspace-changed.events.js +5 -0
  177. package/dist/server/modules/projects/events/project-workspace-changed.events.js.map +1 -0
  178. package/dist/server/modules/projects/helpers/template-loader.d.ts +1 -0
  179. package/dist/server/modules/projects/helpers/template-loader.js +1 -0
  180. package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
  181. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -0
  182. package/dist/server/modules/projects/services/project-registry-import.service.js +3 -1
  183. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  184. package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
  185. package/dist/server/modules/projects/services/projects.service.js +17 -3
  186. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  187. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +1 -1
  188. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +72 -41
  189. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  190. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +14 -16
  191. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  192. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js +45 -15
  193. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js.map +1 -1
  194. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js +2 -2
  195. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js.map +1 -1
  196. package/dist/server/modules/session-reader/data/pricing.json +51 -4
  197. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +13 -0
  198. package/dist/server/modules/session-reader/services/transcript-serialization.js +41 -0
  199. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  200. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.d.ts +2 -0
  201. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +25 -0
  202. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -0
  203. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +19 -0
  204. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +118 -0
  205. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -0
  206. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.d.ts +10 -0
  207. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js +3 -0
  208. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js.map +1 -0
  209. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
  210. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  211. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  212. package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -1
  213. package/dist/server/modules/sessions/services/message-pool.types.js +10 -1
  214. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  215. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.d.ts +2 -0
  216. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js +6 -0
  217. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js.map +1 -0
  218. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +24 -0
  219. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +297 -0
  220. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -0
  221. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +41 -0
  222. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js +8 -0
  223. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js.map +1 -0
  224. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +33 -37
  225. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +37 -56
  226. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  227. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +3 -5
  228. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +23 -112
  229. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  230. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +3 -9
  231. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +23 -125
  232. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  233. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +13 -1
  234. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +253 -20
  235. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  236. package/dist/server/modules/sessions/services/sessions.service.d.ts +0 -13
  237. package/dist/server/modules/sessions/services/sessions.service.js +0 -66
  238. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  239. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  240. package/dist/server/modules/sessions/sessions.module.js +3 -1
  241. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  242. package/dist/server/modules/settings/dtos/settings.dto.d.ts +2 -2
  243. package/dist/server/modules/skills/controllers/community-sources.controller.d.ts +3 -3
  244. package/dist/server/modules/skills/controllers/community-sources.controller.js +8 -8
  245. package/dist/server/modules/skills/controllers/community-sources.controller.js.map +1 -1
  246. package/dist/server/modules/skills/controllers/local-sources.controller.d.ts +3 -3
  247. package/dist/server/modules/skills/controllers/local-sources.controller.js +8 -8
  248. package/dist/server/modules/skills/controllers/local-sources.controller.js.map +1 -1
  249. package/dist/server/modules/skills/controllers/skills.controller.d.ts +4 -3
  250. package/dist/server/modules/skills/controllers/skills.controller.js +7 -7
  251. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  252. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +42 -0
  253. package/dist/server/modules/skills/services/{local-sources.service.js → skill-source-lifecycle.service.js} +187 -62
  254. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -0
  255. package/dist/server/modules/skills/services/skill-sync.service.d.ts +2 -20
  256. package/dist/server/modules/skills/services/skill-sync.service.js +30 -68
  257. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  258. package/dist/server/modules/skills/services/skill-sync.types.d.ts +14 -0
  259. package/dist/server/modules/{mcp/services/handlers/types.js → skills/services/skill-sync.types.js} +1 -1
  260. package/dist/server/modules/skills/services/skill-sync.types.js.map +1 -0
  261. package/dist/server/modules/skills/services/skills.service.d.ts +0 -1
  262. package/dist/server/modules/skills/services/skills.service.js +0 -3
  263. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  264. package/dist/server/modules/skills/skills.module.js +2 -5
  265. package/dist/server/modules/skills/skills.module.js.map +1 -1
  266. package/dist/server/modules/storage/db/db.provider.d.ts +4 -0
  267. package/dist/server/modules/storage/db/db.provider.js +13 -1
  268. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  269. package/dist/server/modules/storage/db/schema.d.ts +182 -0
  270. package/dist/server/modules/storage/db/schema.js +23 -2
  271. package/dist/server/modules/storage/db/schema.js.map +1 -1
  272. package/dist/server/modules/storage/db/transaction-runner.d.ts +9 -0
  273. package/dist/server/modules/storage/db/transaction-runner.js +142 -4
  274. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -1
  275. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +31 -9
  276. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  277. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +3 -2
  278. package/dist/server/modules/storage/local/delegates/agent.delegate.js +45 -6
  279. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  280. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  281. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +3 -0
  282. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  283. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +4 -6
  284. package/dist/server/modules/storage/local/delegates/document.delegate.js +86 -79
  285. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -1
  286. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +6 -4
  287. package/dist/server/modules/storage/local/delegates/epic.delegate.js +94 -60
  288. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  289. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +16 -0
  290. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js +191 -0
  291. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -0
  292. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +7 -2
  293. package/dist/server/modules/storage/local/delegates/project.delegate.js +126 -140
  294. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  295. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  296. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +65 -66
  297. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  298. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +3 -2
  299. package/dist/server/modules/storage/local/delegates/record.delegate.js +76 -62
  300. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -1
  301. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +3 -6
  302. package/dist/server/modules/storage/local/delegates/review.delegate.js +93 -72
  303. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  304. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +4 -2
  305. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js +53 -20
  306. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  307. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -11
  308. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +135 -160
  309. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  310. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +1 -0
  311. package/dist/server/modules/storage/local/delegates/tag.delegate.js +11 -5
  312. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -1
  313. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +0 -2
  314. package/dist/server/modules/storage/local/helpers/storage-helpers.js +1 -24
  315. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
  316. package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -12
  317. package/dist/server/modules/storage/local/local-storage.service.js +40 -95
  318. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  319. package/dist/server/modules/storage/local/versioned-mutation.executor.d.ts +31 -0
  320. package/dist/server/modules/storage/local/versioned-mutation.executor.js +50 -0
  321. package/dist/server/modules/storage/local/versioned-mutation.executor.js.map +1 -0
  322. package/dist/server/modules/storage/models/domain.models.d.ts +18 -1
  323. package/dist/server/modules/subscribers/actions/action.interface.d.ts +4 -0
  324. package/dist/server/modules/subscribers/actions/actions.registry.js +4 -0
  325. package/dist/server/modules/subscribers/actions/actions.registry.js.map +1 -1
  326. package/dist/server/modules/subscribers/actions/delete-agent.action.d.ts +16 -0
  327. package/dist/server/modules/subscribers/actions/delete-agent.action.js +200 -0
  328. package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -0
  329. package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +4 -0
  330. package/dist/server/modules/subscribers/actions/family-agent-targets.js +35 -0
  331. package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -0
  332. package/dist/server/modules/subscribers/actions/send-message.action.js +22 -9
  333. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  334. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +27 -0
  335. package/dist/server/modules/subscribers/actions/terminate-session.action.js +204 -0
  336. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -0
  337. package/dist/server/modules/subscribers/dtos/subscriber.dto.js +3 -2
  338. package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
  339. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -1
  340. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  341. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -3
  342. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +7 -13
  343. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  344. package/dist/server/modules/subscribers/subscribers.module.js +2 -0
  345. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  346. package/dist/server/modules/teams/services/teams.service.d.ts +9 -0
  347. package/dist/server/modules/teams/services/teams.service.js +24 -6
  348. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  349. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +6 -4
  350. package/dist/server/modules/terminal/gateways/terminal.gateway.js +13 -12
  351. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  352. package/dist/server/modules/terminal/services/pty.service.d.ts +7 -7
  353. package/dist/server/modules/terminal/services/pty.service.js +21 -24
  354. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  355. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  356. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +3 -3
  357. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -12
  358. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  359. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +3 -3
  360. package/dist/server/modules/terminal/services/terminal-seed.service.js +11 -18
  361. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  362. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -1
  363. package/dist/server/modules/terminal/terminal-key-input.module.js.map +1 -1
  364. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -1
  365. package/dist/server/modules/terminal/terminal.module.js +2 -2
  366. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  367. package/dist/server/modules/workspaces/controllers/workspaces.controller.d.ts +11 -0
  368. package/dist/server/modules/workspaces/controllers/workspaces.controller.js +101 -0
  369. package/dist/server/modules/workspaces/controllers/workspaces.controller.js.map +1 -0
  370. package/dist/server/modules/workspaces/services/workspace-mode-control.d.ts +6 -0
  371. package/dist/server/modules/workspaces/services/workspace-mode-control.js +5 -0
  372. package/dist/server/modules/workspaces/services/workspace-mode-control.js.map +1 -0
  373. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +23 -0
  374. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js +137 -0
  375. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -0
  376. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +11 -0
  377. package/dist/server/modules/workspaces/services/workspaces.service.js +41 -0
  378. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -0
  379. package/dist/server/modules/workspaces/workspaces.module.d.ts +2 -0
  380. package/dist/server/modules/workspaces/workspaces.module.js +26 -0
  381. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -0
  382. package/dist/server/templates/teams-dev.json +214 -15
  383. package/dist/server/tsconfig.tsbuildinfo +1 -1
  384. package/dist/server/ui/assets/{ReviewDetailPage-BXLlZvPO.js → ReviewDetailPage-CNffXKv8.js} +1 -1
  385. package/dist/server/ui/assets/{ReviewsPage-CmFUc6IP.js → ReviewsPage-DAcufZ3r.js} +1 -1
  386. package/dist/server/ui/assets/index-7iCs8Dxj.js +1153 -0
  387. package/dist/server/ui/assets/index-CLXZjL_B.css +32 -0
  388. package/dist/server/ui/assets/{useReviewSubscription-Ch8K_5xz.js → useReviewSubscription-DD29I7uU.js} +1 -1
  389. package/dist/server/ui/index.html +2 -2
  390. package/dist/templates/teams-dev.json +214 -15
  391. package/package.json +16 -2
  392. package/dist/server/modules/mcp/services/handlers/types.d.ts +0 -2
  393. package/dist/server/modules/mcp/services/handlers/types.js.map +0 -1
  394. package/dist/server/modules/skills/services/community-sources.service.d.ts +0 -18
  395. package/dist/server/modules/skills/services/community-sources.service.js +0 -161
  396. package/dist/server/modules/skills/services/community-sources.service.js.map +0 -1
  397. package/dist/server/modules/skills/services/local-sources.service.d.ts +0 -20
  398. package/dist/server/modules/skills/services/local-sources.service.js.map +0 -1
  399. package/dist/server/ui/assets/index-LNBfBNWF.js +0 -1148
  400. package/dist/server/ui/assets/index-NypjSmlZ.css +0 -32
@@ -45,7 +45,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
45
45
  return function (target, key) { decorator(target, key, paramIndex); }
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.LocalSourcesService = void 0;
48
+ exports.SkillSourceLifecycleService = void 0;
49
49
  const common_1 = require("@nestjs/common");
50
50
  const node_fs_1 = require("node:fs");
51
51
  const fs = __importStar(require("node:fs/promises"));
@@ -53,47 +53,187 @@ const node_os_1 = require("node:os");
53
53
  const node_path_1 = require("node:path");
54
54
  const error_types_1 = require("../../../common/errors/error-types");
55
55
  const logger_1 = require("../../../common/logging/logger");
56
+ const settings_service_1 = require("../../settings/services/settings.service");
56
57
  const storage_interface_1 = require("../../storage/interfaces/storage.interface");
58
+ const skill_source_registry_service_1 = require("./skill-source-registry.service");
57
59
  const skill_sync_service_1 = require("./skill-sync.service");
58
- const skills_service_1 = require("./skills.service");
59
- const logger = (0, logger_1.createLogger)('LocalSourcesService');
60
- let LocalSourcesService = class LocalSourcesService {
60
+ const logger = (0, logger_1.createLogger)('SkillSourceLifecycleService');
61
+ let SkillSourceLifecycleService = class SkillSourceLifecycleService {
61
62
  storage;
62
- skillsService;
63
+ skillSourceRegistry;
63
64
  skillSyncService;
64
- constructor(storage, skillsService, skillSyncService) {
65
+ settingsService;
66
+ schedulerActive = false;
67
+ pendingJobs = [];
68
+ pendingDeferredSources = new Set();
69
+ constructor(storage, skillSourceRegistry, skillSyncService, settingsService) {
65
70
  this.storage = storage;
66
- this.skillsService = skillsService;
71
+ this.skillSourceRegistry = skillSourceRegistry;
67
72
  this.skillSyncService = skillSyncService;
73
+ this.settingsService = settingsService;
68
74
  }
69
- async listLocalSources() {
75
+ onApplicationBootstrap() {
76
+ if (!this.settingsService.getSkillsSyncOnStartup()) {
77
+ logger.info('Startup skills sync disabled via settings');
78
+ return;
79
+ }
80
+ void this.syncAll().catch((error) => {
81
+ logger.error({ error: error instanceof Error ? error.message : String(error) }, 'Startup skills sync failed');
82
+ });
83
+ }
84
+ listCommunitySources() {
85
+ return this.storage.listCommunitySkillSources();
86
+ }
87
+ async createCommunitySource(data) {
88
+ this.assertManagedSourceNameAvailable(data.name);
89
+ const source = await this.storage.createCommunitySkillSource({
90
+ name: data.name,
91
+ repoOwner: data.repoOwner,
92
+ repoName: data.repoName,
93
+ branch: data.branch,
94
+ }, { seedExistingProjectsDisabled: true });
95
+ await this.admitInitialSync(source.name, 'community');
96
+ return source;
97
+ }
98
+ deleteCommunitySource(id) {
99
+ return this.enqueueDelete(async () => {
100
+ const source = await this.storage.getCommunitySkillSource(id);
101
+ await this.deleteSourceSkillsDirectory(source.name, 'community');
102
+ await this.storage.deleteCommunitySkillSource(id);
103
+ });
104
+ }
105
+ listLocalSources() {
70
106
  return this.storage.listLocalSkillSources();
71
107
  }
72
108
  async createLocalSource(data) {
73
- this.validateSourceName(data.name);
109
+ this.assertManagedSourceNameAvailable(data.name);
74
110
  const normalizedFolderPath = await this.validateAndNormalizeFolderPath(data.folderPath);
75
111
  const source = await this.storage.createLocalSkillSource({
76
112
  name: data.name,
77
113
  folderPath: normalizedFolderPath,
114
+ }, { seedExistingProjectsDisabled: true });
115
+ await this.admitInitialSync(source.name, 'local');
116
+ return source;
117
+ }
118
+ deleteLocalSource(id) {
119
+ return this.enqueueDelete(async () => {
120
+ const source = await this.storage.getLocalSkillSource(id);
121
+ if (!source) {
122
+ throw new error_types_1.NotFoundError('Local skill source', id);
123
+ }
124
+ await this.deleteSourceSkillsDirectory(source.name, 'local');
125
+ await this.storage.deleteLocalSkillSource(id);
78
126
  });
79
- const projectIds = await this.listAllProjectIds();
80
- for (const projectId of projectIds) {
81
- await this.storage.seedSourceProjectDisabled(projectId, [source.name]);
127
+ }
128
+ syncAll() {
129
+ if (!this.reservePublicSync()) {
130
+ return Promise.resolve(this.createAlreadyRunningResult());
82
131
  }
83
- await this.syncSourceAfterCreate(source.name);
84
- return source;
132
+ return this.executeReservedOperation(() => this.skillSyncService.syncAll());
85
133
  }
86
- async deleteLocalSource(id) {
87
- const source = await this.storage.getLocalSkillSource(id);
88
- if (!source) {
89
- throw new error_types_1.NotFoundError('Local skill source', id);
134
+ syncSource(sourceName) {
135
+ if (!this.reservePublicSync()) {
136
+ return Promise.resolve(this.createAlreadyRunningResult());
137
+ }
138
+ return this.executeReservedOperation(() => this.skillSyncService.syncSource(sourceName));
139
+ }
140
+ reservePublicSync() {
141
+ if (this.schedulerActive || this.pendingJobs.length > 0) {
142
+ logger.info('Skill sync skipped because another sync is already running');
143
+ return false;
144
+ }
145
+ this.schedulerActive = true;
146
+ return true;
147
+ }
148
+ async admitInitialSync(sourceName, sourceKind) {
149
+ const normalizedSourceName = sourceName.trim().toLowerCase();
150
+ if (this.schedulerActive || this.pendingJobs.length > 0) {
151
+ this.enqueueDeferredSync(normalizedSourceName, sourceKind);
152
+ return;
90
153
  }
91
- await this.storage.deleteLocalSkillSource(id);
92
- await this.deleteSourceSkillsDirectory(source.name);
154
+ this.schedulerActive = true;
155
+ await this.executeReservedOperation(() => this.syncSourceAfterCreate(normalizedSourceName, sourceKind));
93
156
  }
94
- validateSourceName(name) {
157
+ enqueueDeferredSync(sourceName, sourceKind) {
158
+ if (this.pendingDeferredSources.has(sourceName)) {
159
+ return;
160
+ }
161
+ this.pendingDeferredSources.add(sourceName);
162
+ this.pendingJobs.push({ kind: 'deferred_sync', sourceKind, sourceName });
163
+ this.startQueueIfIdle();
164
+ }
165
+ enqueueDelete(run) {
166
+ return new Promise((resolve, reject) => {
167
+ this.pendingJobs.push({ kind: 'delete', run, resolve, reject });
168
+ this.startQueueIfIdle();
169
+ });
170
+ }
171
+ startQueueIfIdle() {
172
+ if (this.schedulerActive) {
173
+ return;
174
+ }
175
+ this.schedulerActive = true;
176
+ this.advanceQueue();
177
+ }
178
+ async executeReservedOperation(run) {
179
+ try {
180
+ return await run();
181
+ }
182
+ finally {
183
+ this.advanceQueue();
184
+ }
185
+ }
186
+ advanceQueue() {
187
+ const job = this.pendingJobs.shift();
188
+ if (!job) {
189
+ this.schedulerActive = false;
190
+ return;
191
+ }
192
+ if (job.kind === 'deferred_sync') {
193
+ this.pendingDeferredSources.delete(job.sourceName);
194
+ }
195
+ void this.executeQueuedJob(job);
196
+ }
197
+ async executeQueuedJob(job) {
198
+ try {
199
+ if (job.kind === 'deferred_sync') {
200
+ await this.syncSourceAfterCreate(job.sourceName, job.sourceKind);
201
+ }
202
+ else {
203
+ await job.run();
204
+ job.resolve();
205
+ }
206
+ }
207
+ catch (error) {
208
+ if (job.kind === 'delete') {
209
+ job.reject(error);
210
+ }
211
+ }
212
+ finally {
213
+ this.advanceQueue();
214
+ }
215
+ }
216
+ async syncSourceAfterCreate(sourceName, sourceKind) {
217
+ try {
218
+ const syncResult = await this.skillSyncService.syncSource(sourceName);
219
+ if (syncResult.failed > 0) {
220
+ logger.warn({
221
+ sourceName,
222
+ failed: syncResult.failed,
223
+ errors: syncResult.errors,
224
+ }, `Initial ${sourceKind} source sync completed with errors`);
225
+ }
226
+ }
227
+ catch (error) {
228
+ logger.warn({
229
+ sourceName,
230
+ error: error instanceof Error ? error.message : String(error),
231
+ }, `Initial ${sourceKind} source sync failed after source creation`);
232
+ }
233
+ }
234
+ assertManagedSourceNameAvailable(name) {
95
235
  const normalizedName = name.trim().toLowerCase();
96
- const reservedNames = new Set(this.skillsService.getReservedSourceNames());
236
+ const reservedNames = new Set(this.skillSourceRegistry.getBuiltInSourceNames());
97
237
  if (reservedNames.has(normalizedName)) {
98
238
  throw new error_types_1.ValidationError('Source name is reserved by a built-in skill source.', {
99
239
  name: normalizedName,
@@ -151,59 +291,44 @@ let LocalSourcesService = class LocalSourcesService {
151
291
  });
152
292
  }
153
293
  }
154
- async deleteSourceSkillsDirectory(sourceName) {
294
+ async deleteSourceSkillsDirectory(sourceName, sourceKind) {
155
295
  const normalizedSourceName = sourceName.trim().toLowerCase();
156
296
  const sourcePath = (0, node_path_1.join)((0, node_os_1.homedir)(), '.devchain', 'skills', normalizedSourceName);
157
297
  try {
158
298
  await fs.rm(sourcePath, { recursive: true, force: true });
159
299
  }
160
300
  catch (error) {
161
- throw new error_types_1.StorageError('Failed to delete local source synced skills directory.', {
301
+ const message = sourceKind === 'community'
302
+ ? 'Failed to delete community source local skills directory.'
303
+ : 'Failed to delete local source synced skills directory.';
304
+ throw new error_types_1.StorageError(message, {
162
305
  sourceName: normalizedSourceName,
163
306
  sourcePath,
164
307
  cause: error instanceof Error ? error.message : String(error),
165
308
  });
166
309
  }
167
- logger.info({ sourceName: normalizedSourceName, sourcePath }, 'Deleted synced skills directory for local source');
168
- }
169
- async listAllProjectIds() {
170
- const projectIds = [];
171
- const limit = 200;
172
- let offset = 0;
173
- while (true) {
174
- const page = await this.storage.listProjects({ limit, offset });
175
- projectIds.push(...page.items.map((project) => project.id));
176
- offset += page.items.length;
177
- if (page.items.length === 0 || offset >= page.total) {
178
- break;
179
- }
180
- }
181
- return projectIds;
310
+ logger.info({ sourceName: normalizedSourceName, sourcePath }, sourceKind === 'community'
311
+ ? 'Deleted local skills directory for community source'
312
+ : 'Deleted synced skills directory for local source');
182
313
  }
183
- async syncSourceAfterCreate(sourceName) {
184
- try {
185
- const syncResult = await this.skillSyncService.syncSource(sourceName);
186
- if (syncResult.failed > 0) {
187
- logger.warn({
188
- sourceName,
189
- failed: syncResult.failed,
190
- errors: syncResult.errors,
191
- }, 'Initial local source sync completed with errors');
192
- }
193
- }
194
- catch (error) {
195
- logger.warn({
196
- sourceName,
197
- error: error instanceof Error ? error.message : String(error),
198
- }, 'Initial local source sync failed after source creation');
199
- }
314
+ createAlreadyRunningResult() {
315
+ return {
316
+ status: 'already_running',
317
+ added: 0,
318
+ updated: 0,
319
+ removed: 0,
320
+ failed: 0,
321
+ unchanged: 0,
322
+ errors: [],
323
+ };
200
324
  }
201
325
  };
202
- exports.LocalSourcesService = LocalSourcesService;
203
- exports.LocalSourcesService = LocalSourcesService = __decorate([
326
+ exports.SkillSourceLifecycleService = SkillSourceLifecycleService;
327
+ exports.SkillSourceLifecycleService = SkillSourceLifecycleService = __decorate([
204
328
  (0, common_1.Injectable)(),
205
329
  __param(0, (0, common_1.Inject)(storage_interface_1.STORAGE_SERVICE)),
206
- __metadata("design:paramtypes", [Object, skills_service_1.SkillsService,
207
- skill_sync_service_1.SkillSyncService])
208
- ], LocalSourcesService);
209
- //# sourceMappingURL=local-sources.service.js.map
330
+ __metadata("design:paramtypes", [Object, skill_source_registry_service_1.SkillSourceRegistryService,
331
+ skill_sync_service_1.SkillSyncService,
332
+ settings_service_1.SettingsService])
333
+ ], SkillSourceLifecycleService);
334
+ //# sourceMappingURL=skill-source-lifecycle.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-source-lifecycle.service.js","sourceRoot":"","sources":["../../../../src/modules/skills/services/skill-source-lifecycle.service.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,16 @@
1
- import { OnApplicationBootstrap } from '@nestjs/common';
2
1
  import { SettingsService } from '../../settings/services/settings.service';
3
2
  import { SkillCategoryService } from './skill-category.service';
4
3
  import { SkillSourceRegistryService } from './skill-source-registry.service';
5
4
  import { SkillsService } from './skills.service';
6
- export interface SyncError {
7
- sourceName: string;
8
- skillSlug?: string;
9
- message: string;
10
- }
11
- export interface SyncResult {
12
- status: 'completed' | 'already_running';
13
- added: number;
14
- updated: number;
15
- removed: number;
16
- failed: number;
17
- unchanged: number;
18
- errors: SyncError[];
19
- }
20
- export declare class SkillSyncService implements OnApplicationBootstrap {
5
+ import type { SyncResult } from './skill-sync.types';
6
+ export declare class SkillSyncService {
21
7
  private readonly skillSourceRegistry;
22
8
  private readonly skillsService;
23
9
  private readonly skillCategoryService;
24
10
  private readonly settingsService;
25
- private syncInProgress;
26
11
  constructor(skillSourceRegistry: SkillSourceRegistryService, skillsService: SkillsService, skillCategoryService: SkillCategoryService, settingsService: SettingsService);
27
- onApplicationBootstrap(): void;
28
12
  syncAll(): Promise<SyncResult>;
29
13
  syncSource(sourceName: string): Promise<SyncResult>;
30
- private withMutex;
31
14
  private syncAdapter;
32
15
  private cleanupStaleSkills;
33
16
  private markSkillSyncError;
@@ -36,7 +19,6 @@ export declare class SkillSyncService implements OnApplicationBootstrap {
36
19
  private deleteSyncedSkillDirectory;
37
20
  private getExistingSkill;
38
21
  private createEmptyResult;
39
- private createAlreadyRunningResult;
40
22
  private mergeSyncResults;
41
23
  private isSourceEnabled;
42
24
  }
@@ -59,49 +59,37 @@ let SkillSyncService = class SkillSyncService {
59
59
  skillsService;
60
60
  skillCategoryService;
61
61
  settingsService;
62
- syncInProgress = false;
63
62
  constructor(skillSourceRegistry, skillsService, skillCategoryService, settingsService) {
64
63
  this.skillSourceRegistry = skillSourceRegistry;
65
64
  this.skillsService = skillsService;
66
65
  this.skillCategoryService = skillCategoryService;
67
66
  this.settingsService = settingsService;
68
67
  }
69
- onApplicationBootstrap() {
70
- if (!this.settingsService.getSkillsSyncOnStartup()) {
71
- logger.info('Startup skills sync disabled via settings');
72
- return;
73
- }
74
- void this.syncAll().catch((error) => {
75
- logger.error({ error: error instanceof Error ? error.message : String(error) }, 'Startup skills sync failed');
76
- });
77
- }
78
68
  async syncAll() {
79
- return this.withMutex(async () => {
80
- const adapters = await this.skillSourceRegistry.getAdapters();
81
- const sourceSettings = this.settingsService.getSkillSourcesEnabled();
82
- const enabledAdapters = adapters.filter((adapter) => this.isSourceEnabled(adapter.sourceName, sourceSettings));
83
- for (const adapter of adapters) {
84
- if (!this.isSourceEnabled(adapter.sourceName, sourceSettings)) {
85
- logger.info({ sourceName: adapter.sourceName }, 'Skill sync skipped because source is disabled');
86
- }
69
+ const adapters = await this.skillSourceRegistry.getAdapters();
70
+ const sourceSettings = this.settingsService.getSkillSourcesEnabled();
71
+ const enabledAdapters = adapters.filter((adapter) => this.isSourceEnabled(adapter.sourceName, sourceSettings));
72
+ for (const adapter of adapters) {
73
+ if (!this.isSourceEnabled(adapter.sourceName, sourceSettings)) {
74
+ logger.info({ sourceName: adapter.sourceName }, 'Skill sync skipped because source is disabled');
87
75
  }
88
- if (enabledAdapters.length === 0) {
89
- return this.createEmptyResult();
76
+ }
77
+ if (enabledAdapters.length === 0) {
78
+ return this.createEmptyResult();
79
+ }
80
+ const settledResults = await Promise.allSettled(enabledAdapters.map((adapter) => this.syncAdapter(adapter)));
81
+ return settledResults.reduce((acc, result, index) => {
82
+ if (result.status === 'fulfilled') {
83
+ return this.mergeSyncResults(acc, result.value);
90
84
  }
91
- const settledResults = await Promise.allSettled(enabledAdapters.map((adapter) => this.syncAdapter(adapter)));
92
- return settledResults.reduce((acc, result, index) => {
93
- if (result.status === 'fulfilled') {
94
- return this.mergeSyncResults(acc, result.value);
95
- }
96
- const adapterName = enabledAdapters[index]?.sourceName ?? 'unknown';
97
- acc.failed += 1;
98
- acc.errors.push({
99
- sourceName: adapterName,
100
- message: result.reason instanceof Error ? result.reason.message : String(result.reason),
101
- });
102
- return acc;
103
- }, this.createEmptyResult());
104
- });
85
+ const adapterName = enabledAdapters[index]?.sourceName ?? 'unknown';
86
+ acc.failed += 1;
87
+ acc.errors.push({
88
+ sourceName: adapterName,
89
+ message: result.reason instanceof Error ? result.reason.message : String(result.reason),
90
+ });
91
+ return acc;
92
+ }, this.createEmptyResult());
105
93
  }
106
94
  async syncSource(sourceName) {
107
95
  const normalizedSourceName = sourceName.trim().toLowerCase();
@@ -115,20 +103,7 @@ let SkillSyncService = class SkillSyncService {
115
103
  logger.info({ sourceName: normalizedSourceName }, 'Skill sync skipped because source is disabled');
116
104
  return this.createEmptyResult();
117
105
  }
118
- return this.withMutex(() => this.syncAdapter(adapter));
119
- }
120
- async withMutex(run) {
121
- if (this.syncInProgress) {
122
- logger.info('Skill sync skipped because another sync is already running');
123
- return this.createAlreadyRunningResult();
124
- }
125
- this.syncInProgress = true;
126
- try {
127
- return await run();
128
- }
129
- finally {
130
- this.syncInProgress = false;
131
- }
106
+ return this.syncAdapter(adapter);
132
107
  }
133
108
  async syncAdapter(adapter) {
134
109
  const result = this.createEmptyResult();
@@ -240,12 +215,15 @@ let SkillSyncService = class SkillSyncService {
240
215
  if (expectedSlugs.has(existingSkill.slug)) {
241
216
  continue;
242
217
  }
218
+ const skillNameFromSlug = this.extractSkillNameFromSlug(existingSkill.slug, sourceName);
243
219
  try {
220
+ if (skillNameFromSlug) {
221
+ await this.deleteSyncedSkillDirectory(sourceName, skillNameFromSlug);
222
+ }
244
223
  const wasDeleted = await this.skillsService.deleteSkillBySlug(existingSkill.slug);
245
- if (!wasDeleted) {
246
- continue;
224
+ if (wasDeleted) {
225
+ result.removed += 1;
247
226
  }
248
- result.removed += 1;
249
227
  }
250
228
  catch (error) {
251
229
  result.failed += 1;
@@ -254,13 +232,7 @@ let SkillSyncService = class SkillSyncService {
254
232
  skillSlug: existingSkill.slug,
255
233
  message: error instanceof Error ? error.message : String(error),
256
234
  });
257
- continue;
258
- }
259
- const skillNameFromSlug = this.extractSkillNameFromSlug(existingSkill.slug, sourceName);
260
- if (!skillNameFromSlug) {
261
- continue;
262
235
  }
263
- await this.deleteSyncedSkillDirectory(sourceName, skillNameFromSlug);
264
236
  }
265
237
  }
266
238
  async markSkillSyncError(params) {
@@ -316,6 +288,7 @@ let SkillSyncService = class SkillSyncService {
316
288
  sourcePath,
317
289
  error: error instanceof Error ? error.message : String(error),
318
290
  }, 'Failed to cleanup stale synced skill files');
291
+ throw error;
319
292
  }
320
293
  }
321
294
  async getExistingSkill(slug) {
@@ -340,17 +313,6 @@ let SkillSyncService = class SkillSyncService {
340
313
  errors: [],
341
314
  };
342
315
  }
343
- createAlreadyRunningResult() {
344
- return {
345
- status: 'already_running',
346
- added: 0,
347
- updated: 0,
348
- removed: 0,
349
- failed: 0,
350
- unchanged: 0,
351
- errors: [],
352
- };
353
- }
354
316
  mergeSyncResults(left, right) {
355
317
  return {
356
318
  status: 'completed',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-sync.service.js","sourceRoot":"","sources":["../../../../src/modules/skills/services/skill-sync.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-sync.service.js","sourceRoot":"","sources":["../../../../src/modules/skills/services/skill-sync.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface SyncError {
2
+ sourceName: string;
3
+ skillSlug?: string;
4
+ message: string;
5
+ }
6
+ export interface SyncResult {
7
+ status: 'completed' | 'already_running';
8
+ added: number;
9
+ updated: number;
10
+ removed: number;
11
+ failed: number;
12
+ unchanged: number;
13
+ errors: SyncError[];
14
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=skill-sync.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-sync.types.js","sourceRoot":"","sources":["../../../../src/modules/skills/services/skill-sync.types.ts"],"names":[],"mappings":""}
@@ -94,7 +94,6 @@ export declare class SkillsService {
94
94
  disableAll(projectId: string): Promise<number>;
95
95
  enableAll(projectId: string): Promise<number>;
96
96
  listSources(projectId?: string): Promise<SkillSourceMetadata[]>;
97
- getReservedSourceNames(): string[];
98
97
  setSourceEnabled(sourceName: string, enabled: boolean): Promise<{
99
98
  name: string;
100
99
  enabled: boolean;
@@ -408,9 +408,6 @@ let SkillsService = class SkillsService {
408
408
  };
409
409
  });
410
410
  }
411
- getReservedSourceNames() {
412
- return this.skillSourceRegistry.getBuiltInSourceNames();
413
- }
414
411
  async setSourceEnabled(sourceName, enabled) {
415
412
  const normalizedSourceName = await this.requireKnownSourceName(sourceName);
416
413
  await this.settingsService.setSkillSourceEnabled(normalizedSourceName, enabled);