devchain-cli 0.20.3 → 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 (397) 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/scheduled-epics/services/scheduled-epics.service.js +14 -16
  188. package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
  189. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js +45 -15
  190. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js.map +1 -1
  191. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js +2 -2
  192. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js.map +1 -1
  193. package/dist/server/modules/session-reader/data/pricing.json +51 -4
  194. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +13 -0
  195. package/dist/server/modules/session-reader/services/transcript-serialization.js +41 -0
  196. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
  197. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.d.ts +2 -0
  198. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +25 -0
  199. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -0
  200. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +19 -0
  201. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +118 -0
  202. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -0
  203. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.d.ts +10 -0
  204. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js +3 -0
  205. package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js.map +1 -0
  206. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
  207. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  208. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  209. package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -1
  210. package/dist/server/modules/sessions/services/message-pool.types.js +10 -1
  211. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  212. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.d.ts +2 -0
  213. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js +6 -0
  214. package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js.map +1 -0
  215. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +24 -0
  216. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +297 -0
  217. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -0
  218. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +41 -0
  219. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js +8 -0
  220. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js.map +1 -0
  221. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +33 -37
  222. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +37 -56
  223. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  224. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +3 -5
  225. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +23 -112
  226. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  227. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +3 -9
  228. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +23 -125
  229. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  230. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +13 -1
  231. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +253 -20
  232. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  233. package/dist/server/modules/sessions/services/sessions.service.d.ts +0 -13
  234. package/dist/server/modules/sessions/services/sessions.service.js +0 -66
  235. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  236. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
  237. package/dist/server/modules/sessions/sessions.module.js +3 -1
  238. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  239. package/dist/server/modules/settings/dtos/settings.dto.d.ts +2 -2
  240. package/dist/server/modules/skills/controllers/community-sources.controller.d.ts +3 -3
  241. package/dist/server/modules/skills/controllers/community-sources.controller.js +8 -8
  242. package/dist/server/modules/skills/controllers/community-sources.controller.js.map +1 -1
  243. package/dist/server/modules/skills/controllers/local-sources.controller.d.ts +3 -3
  244. package/dist/server/modules/skills/controllers/local-sources.controller.js +8 -8
  245. package/dist/server/modules/skills/controllers/local-sources.controller.js.map +1 -1
  246. package/dist/server/modules/skills/controllers/skills.controller.d.ts +4 -3
  247. package/dist/server/modules/skills/controllers/skills.controller.js +7 -7
  248. package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
  249. package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +42 -0
  250. package/dist/server/modules/skills/services/{local-sources.service.js → skill-source-lifecycle.service.js} +187 -62
  251. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -0
  252. package/dist/server/modules/skills/services/skill-sync.service.d.ts +2 -20
  253. package/dist/server/modules/skills/services/skill-sync.service.js +30 -68
  254. package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
  255. package/dist/server/modules/skills/services/skill-sync.types.d.ts +14 -0
  256. package/dist/server/modules/{mcp/services/handlers/types.js → skills/services/skill-sync.types.js} +1 -1
  257. package/dist/server/modules/skills/services/skill-sync.types.js.map +1 -0
  258. package/dist/server/modules/skills/services/skills.service.d.ts +0 -1
  259. package/dist/server/modules/skills/services/skills.service.js +0 -3
  260. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  261. package/dist/server/modules/skills/skills.module.js +2 -5
  262. package/dist/server/modules/skills/skills.module.js.map +1 -1
  263. package/dist/server/modules/storage/db/db.provider.d.ts +4 -0
  264. package/dist/server/modules/storage/db/db.provider.js +13 -1
  265. package/dist/server/modules/storage/db/db.provider.js.map +1 -1
  266. package/dist/server/modules/storage/db/schema.d.ts +182 -0
  267. package/dist/server/modules/storage/db/schema.js +23 -2
  268. package/dist/server/modules/storage/db/schema.js.map +1 -1
  269. package/dist/server/modules/storage/db/transaction-runner.d.ts +9 -0
  270. package/dist/server/modules/storage/db/transaction-runner.js +142 -4
  271. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -1
  272. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +31 -9
  273. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  274. package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +3 -2
  275. package/dist/server/modules/storage/local/delegates/agent.delegate.js +45 -6
  276. package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
  277. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  278. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +3 -0
  279. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  280. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +4 -6
  281. package/dist/server/modules/storage/local/delegates/document.delegate.js +86 -79
  282. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -1
  283. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +6 -4
  284. package/dist/server/modules/storage/local/delegates/epic.delegate.js +94 -60
  285. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  286. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +16 -0
  287. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js +191 -0
  288. package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -0
  289. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +7 -2
  290. package/dist/server/modules/storage/local/delegates/project.delegate.js +126 -140
  291. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  292. package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
  293. package/dist/server/modules/storage/local/delegates/prompt.delegate.js +65 -66
  294. package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
  295. package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +3 -2
  296. package/dist/server/modules/storage/local/delegates/record.delegate.js +76 -62
  297. package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -1
  298. package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +3 -6
  299. package/dist/server/modules/storage/local/delegates/review.delegate.js +93 -72
  300. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  301. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +4 -2
  302. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js +53 -20
  303. package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
  304. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -11
  305. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +135 -160
  306. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  307. package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +1 -0
  308. package/dist/server/modules/storage/local/delegates/tag.delegate.js +11 -5
  309. package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -1
  310. package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +0 -2
  311. package/dist/server/modules/storage/local/helpers/storage-helpers.js +1 -24
  312. package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
  313. package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -12
  314. package/dist/server/modules/storage/local/local-storage.service.js +40 -95
  315. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  316. package/dist/server/modules/storage/local/versioned-mutation.executor.d.ts +31 -0
  317. package/dist/server/modules/storage/local/versioned-mutation.executor.js +50 -0
  318. package/dist/server/modules/storage/local/versioned-mutation.executor.js.map +1 -0
  319. package/dist/server/modules/storage/models/domain.models.d.ts +18 -1
  320. package/dist/server/modules/subscribers/actions/action.interface.d.ts +4 -0
  321. package/dist/server/modules/subscribers/actions/actions.registry.js +4 -0
  322. package/dist/server/modules/subscribers/actions/actions.registry.js.map +1 -1
  323. package/dist/server/modules/subscribers/actions/delete-agent.action.d.ts +16 -0
  324. package/dist/server/modules/subscribers/actions/delete-agent.action.js +200 -0
  325. package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -0
  326. package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +4 -0
  327. package/dist/server/modules/subscribers/actions/family-agent-targets.js +35 -0
  328. package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -0
  329. package/dist/server/modules/subscribers/actions/send-message.action.js +22 -9
  330. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  331. package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +27 -0
  332. package/dist/server/modules/subscribers/actions/terminate-session.action.js +204 -0
  333. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -0
  334. package/dist/server/modules/subscribers/dtos/subscriber.dto.js +3 -2
  335. package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
  336. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -1
  337. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  338. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -3
  339. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +7 -13
  340. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  341. package/dist/server/modules/subscribers/subscribers.module.js +2 -0
  342. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  343. package/dist/server/modules/teams/services/teams.service.d.ts +9 -0
  344. package/dist/server/modules/teams/services/teams.service.js +24 -6
  345. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  346. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +6 -4
  347. package/dist/server/modules/terminal/gateways/terminal.gateway.js +13 -12
  348. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  349. package/dist/server/modules/terminal/services/pty.service.d.ts +7 -7
  350. package/dist/server/modules/terminal/services/pty.service.js +21 -24
  351. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  352. package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
  353. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +3 -3
  354. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -12
  355. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
  356. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +3 -3
  357. package/dist/server/modules/terminal/services/terminal-seed.service.js +11 -18
  358. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  359. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -1
  360. package/dist/server/modules/terminal/terminal-key-input.module.js.map +1 -1
  361. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -1
  362. package/dist/server/modules/terminal/terminal.module.js +2 -2
  363. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  364. package/dist/server/modules/workspaces/controllers/workspaces.controller.d.ts +11 -0
  365. package/dist/server/modules/workspaces/controllers/workspaces.controller.js +101 -0
  366. package/dist/server/modules/workspaces/controllers/workspaces.controller.js.map +1 -0
  367. package/dist/server/modules/workspaces/services/workspace-mode-control.d.ts +6 -0
  368. package/dist/server/modules/workspaces/services/workspace-mode-control.js +5 -0
  369. package/dist/server/modules/workspaces/services/workspace-mode-control.js.map +1 -0
  370. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +23 -0
  371. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js +137 -0
  372. package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -0
  373. package/dist/server/modules/workspaces/services/workspaces.service.d.ts +11 -0
  374. package/dist/server/modules/workspaces/services/workspaces.service.js +41 -0
  375. package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -0
  376. package/dist/server/modules/workspaces/workspaces.module.d.ts +2 -0
  377. package/dist/server/modules/workspaces/workspaces.module.js +26 -0
  378. package/dist/server/modules/workspaces/workspaces.module.js.map +1 -0
  379. package/dist/server/templates/teams-dev.json +214 -15
  380. package/dist/server/tsconfig.tsbuildinfo +1 -1
  381. package/dist/server/ui/assets/{ReviewDetailPage-BXLlZvPO.js → ReviewDetailPage-CNffXKv8.js} +1 -1
  382. package/dist/server/ui/assets/{ReviewsPage-CmFUc6IP.js → ReviewsPage-DAcufZ3r.js} +1 -1
  383. package/dist/server/ui/assets/index-7iCs8Dxj.js +1153 -0
  384. package/dist/server/ui/assets/index-CLXZjL_B.css +32 -0
  385. package/dist/server/ui/assets/{useReviewSubscription-Ch8K_5xz.js → useReviewSubscription-DD29I7uU.js} +1 -1
  386. package/dist/server/ui/index.html +2 -2
  387. package/dist/templates/teams-dev.json +214 -15
  388. package/package.json +13 -2
  389. package/dist/server/modules/mcp/services/handlers/types.d.ts +0 -2
  390. package/dist/server/modules/mcp/services/handlers/types.js.map +0 -1
  391. package/dist/server/modules/skills/services/community-sources.service.d.ts +0 -18
  392. package/dist/server/modules/skills/services/community-sources.service.js +0 -161
  393. package/dist/server/modules/skills/services/community-sources.service.js.map +0 -1
  394. package/dist/server/modules/skills/services/local-sources.service.d.ts +0 -20
  395. package/dist/server/modules/skills/services/local-sources.service.js.map +0 -1
  396. package/dist/server/ui/assets/index-LNBfBNWF.js +0 -1148
  397. package/dist/server/ui/assets/index-NypjSmlZ.css +0 -32
@@ -34,8 +34,11 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ProjectStorageDelegate = void 0;
37
+ const node_crypto_1 = require("node:crypto");
38
+ const drizzle_orm_1 = require("drizzle-orm");
37
39
  const error_types_1 = require("../../../../common/errors/error-types");
38
40
  const logger_1 = require("../../../../common/logging/logger");
41
+ const schema_1 = require("../../db/schema");
39
42
  const storage_helpers_1 = require("../helpers/storage-helpers");
40
43
  const base_storage_delegate_1 = require("./base-storage.delegate");
41
44
  const logger = (0, logger_1.createLogger)('ProjectStorageDelegate');
@@ -43,10 +46,10 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
43
46
  constructor(context) {
44
47
  super(context);
45
48
  }
46
- listSeedableSourceNamesForNewProject(communitySkillSources) {
49
+ listSeedableSourceNamesForNewProject() {
47
50
  const communitySourceRows = this.db
48
- .select({ name: communitySkillSources.name })
49
- .from(communitySkillSources)
51
+ .select({ name: schema_1.communitySkillSources.name })
52
+ .from(schema_1.communitySkillSources)
50
53
  .all();
51
54
  const sourceNames = communitySourceRows
52
55
  .map((row) => row.name.trim().toLowerCase())
@@ -77,30 +80,11 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
77
80
  return [...new Set(sourceNames)];
78
81
  }
79
82
  async createProject(data) {
80
- const { randomUUID } = await Promise.resolve().then(() => __importStar(require('crypto')));
81
83
  const now = new Date().toISOString();
82
- const project = {
83
- id: randomUUID(),
84
- ...data,
85
- isTemplate: data.isTemplate ?? false,
86
- createdAt: now,
87
- updatedAt: now,
88
- };
89
- const { projects, statuses, sourceProjectEnabled, communitySkillSources } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
90
- this.txRunner.runImmediate(() => {
91
- const seedableSourceNames = this.listSeedableSourceNamesForNewProject(communitySkillSources);
92
- this.db
93
- .insert(projects)
94
- .values({
95
- id: project.id,
96
- name: project.name,
97
- description: project.description,
98
- rootPath: project.rootPath,
99
- isTemplate: project.isTemplate,
100
- createdAt: project.createdAt,
101
- updatedAt: project.updatedAt,
102
- })
103
- .run();
84
+ const project = await this.txRunner.runImmediateQueued(() => {
85
+ const project = this.buildProject(data, (0, node_crypto_1.randomUUID)(), now);
86
+ const seedableSourceNames = this.listSeedableSourceNamesForNewProject();
87
+ this.insertProjectSync(project);
104
88
  const defaultStatuses = [
105
89
  { label: 'Proposed', color: '#6c757d', position: 0 },
106
90
  { label: 'In Progress', color: '#007bff', position: 1 },
@@ -110,9 +94,9 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
110
94
  ];
111
95
  for (const status of defaultStatuses) {
112
96
  this.db
113
- .insert(statuses)
97
+ .insert(schema_1.statuses)
114
98
  .values({
115
- id: randomUUID(),
99
+ id: (0, node_crypto_1.randomUUID)(),
116
100
  projectId: project.id,
117
101
  label: status.label,
118
102
  color: status.color,
@@ -124,9 +108,9 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
124
108
  }
125
109
  if (seedableSourceNames.length > 0) {
126
110
  this.db
127
- .insert(sourceProjectEnabled)
111
+ .insert(schema_1.sourceProjectEnabled)
128
112
  .values(seedableSourceNames.map((sourceName) => ({
129
- id: randomUUID(),
113
+ id: (0, node_crypto_1.randomUUID)(),
130
114
  projectId: project.id,
131
115
  sourceName,
132
116
  enabled: true,
@@ -134,6 +118,7 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
134
118
  })))
135
119
  .run();
136
120
  }
121
+ return project;
137
122
  });
138
123
  logger.info({ projectId: project.id }, 'Created project with default statuses (transactional)');
139
124
  return project;
@@ -142,71 +127,45 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
142
127
  return this.txRunner.runImmediateAsync(fn);
143
128
  }
144
129
  async createProjectShell(data, options) {
145
- const { randomUUID } = await Promise.resolve().then(() => __importStar(require('crypto')));
146
130
  const now = new Date().toISOString();
147
131
  const providedProjectId = options?.projectId?.trim();
148
- const project = {
149
- id: providedProjectId || randomUUID(),
150
- ...data,
151
- isTemplate: data.isTemplate ?? false,
152
- createdAt: now,
153
- updatedAt: now,
154
- };
155
- const { projects, sourceProjectEnabled, communitySkillSources } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
156
- const seedableSourceNames = this.listSeedableSourceNamesForNewProject(communitySkillSources);
157
- try {
158
- await this.db.insert(projects).values({
159
- id: project.id,
160
- name: project.name,
161
- description: project.description,
162
- rootPath: project.rootPath,
163
- isTemplate: project.isTemplate,
164
- createdAt: project.createdAt,
165
- updatedAt: project.updatedAt,
166
- });
167
- }
168
- catch (error) {
169
- const code = error.code;
170
- const isDuplicateId = code === 'SQLITE_CONSTRAINT_PRIMARYKEY' ||
171
- code === 'SQLITE_CONSTRAINT_UNIQUE' ||
172
- code === 'SQLITE_CONSTRAINT' ||
173
- (0, storage_helpers_1.isSqliteUniqueConstraint)(error);
174
- if (providedProjectId && isDuplicateId) {
175
- throw new error_types_1.ConflictError(`Project ID "${providedProjectId}" already exists.`, {
176
- field: 'projectId',
177
- projectId: providedProjectId,
178
- });
132
+ return this.txRunner.runImmediateQueuedOrJoin(() => {
133
+ const project = this.buildProject(data, providedProjectId || (0, node_crypto_1.randomUUID)(), now);
134
+ const seedableSourceNames = this.listSeedableSourceNamesForNewProject();
135
+ try {
136
+ this.insertProjectSync(project);
179
137
  }
180
- throw error;
181
- }
182
- if (seedableSourceNames.length > 0) {
183
- await this.db.insert(sourceProjectEnabled).values(seedableSourceNames.map((sourceName) => ({
184
- id: randomUUID(),
185
- projectId: project.id,
186
- sourceName,
187
- enabled: true,
188
- createdAt: now,
189
- })));
190
- }
191
- return project;
138
+ catch (error) {
139
+ const code = error.code;
140
+ const isDuplicateId = code === 'SQLITE_CONSTRAINT_PRIMARYKEY' ||
141
+ code === 'SQLITE_CONSTRAINT_UNIQUE' ||
142
+ code === 'SQLITE_CONSTRAINT' ||
143
+ (0, storage_helpers_1.isSqliteUniqueConstraint)(error);
144
+ if (providedProjectId && isDuplicateId) {
145
+ throw new error_types_1.ConflictError(`Project ID "${providedProjectId}" already exists.`, {
146
+ field: 'projectId',
147
+ projectId: providedProjectId,
148
+ });
149
+ }
150
+ throw error;
151
+ }
152
+ if (seedableSourceNames.length > 0) {
153
+ this.db
154
+ .insert(schema_1.sourceProjectEnabled)
155
+ .values(seedableSourceNames.map((sourceName) => ({
156
+ id: (0, node_crypto_1.randomUUID)(),
157
+ projectId: project.id,
158
+ sourceName,
159
+ enabled: true,
160
+ createdAt: now,
161
+ })))
162
+ .run();
163
+ }
164
+ return project;
165
+ });
192
166
  }
193
167
  async getProject(id) {
194
- const { projects } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
195
- const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
196
- const result = await this.db.select().from(projects).where(eq(projects.id, id)).limit(1);
197
- if (!result[0]) {
198
- throw new error_types_1.NotFoundError('Project', id);
199
- }
200
- const row = result[0];
201
- return {
202
- id: row.id,
203
- name: row.name,
204
- description: row.description ?? null,
205
- rootPath: row.rootPath,
206
- isTemplate: Boolean(row.isTemplate ?? false),
207
- createdAt: row.createdAt,
208
- updatedAt: row.updatedAt,
209
- };
168
+ return this.getProjectSync(id);
210
169
  }
211
170
  async findProjectByPath(path) {
212
171
  const { projects } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
@@ -218,16 +177,7 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
218
177
  .limit(1);
219
178
  if (!result[0])
220
179
  return null;
221
- const row = result[0];
222
- return {
223
- id: row.id,
224
- name: row.name,
225
- description: row.description ?? null,
226
- rootPath: row.rootPath,
227
- isTemplate: Boolean(row.isTemplate ?? false),
228
- createdAt: row.createdAt,
229
- updatedAt: row.updatedAt,
230
- };
180
+ return this.mapProject(result[0]);
231
181
  }
232
182
  async getProjectByRootPath(rootPath) {
233
183
  const { resolve } = await Promise.resolve().then(() => __importStar(require('path')));
@@ -242,15 +192,7 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
242
192
  if (rows.length === 0) {
243
193
  return null;
244
194
  }
245
- return {
246
- id: rows[0].id,
247
- name: rows[0].name,
248
- description: rows[0].description,
249
- rootPath: rows[0].rootPath,
250
- isTemplate: rows[0].isTemplate,
251
- createdAt: rows[0].createdAt,
252
- updatedAt: rows[0].updatedAt,
253
- };
195
+ return this.mapProject(rows[0]);
254
196
  }
255
197
  async findProjectContainingPath(absolutePath) {
256
198
  const { resolve, sep } = await Promise.resolve().then(() => __importStar(require('path')));
@@ -267,15 +209,7 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
267
209
  }
268
210
  else {
269
211
  for (const row of rows) {
270
- allProjects.push({
271
- id: row.id,
272
- name: row.name,
273
- description: row.description,
274
- rootPath: row.rootPath,
275
- isTemplate: row.isTemplate,
276
- createdAt: row.createdAt,
277
- updatedAt: row.updatedAt,
278
- });
212
+ allProjects.push(this.mapProject(row));
279
213
  }
280
214
  offset += pageSize;
281
215
  if (rows.length < pageSize) {
@@ -301,18 +235,21 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
301
235
  const { sql } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
302
236
  const limit = options.limit || 100;
303
237
  const offset = options.offset || 0;
304
- const items = await this.db.select().from(projects).limit(limit).offset(offset);
305
- const countResult = await this.db.select({ count: sql `count(*)` }).from(projects);
238
+ const workspaceFilter = options.workspaceId
239
+ ? (0, drizzle_orm_1.eq)(projects.workspaceId, options.workspaceId)
240
+ : undefined;
241
+ const items = await this.db
242
+ .select()
243
+ .from(projects)
244
+ .where(workspaceFilter)
245
+ .limit(limit)
246
+ .offset(offset);
247
+ const countResult = await this.db
248
+ .select({ count: sql `count(*)` })
249
+ .from(projects)
250
+ .where(workspaceFilter);
306
251
  const total = Number(countResult[0]?.count ?? 0);
307
- const mapped = items.map((row) => ({
308
- id: row.id,
309
- name: row.name,
310
- description: row.description ?? null,
311
- rootPath: row.rootPath,
312
- isTemplate: Boolean(row.isTemplate ?? false),
313
- createdAt: row.createdAt,
314
- updatedAt: row.updatedAt,
315
- }));
252
+ const mapped = items.map((row) => this.mapProject(row));
316
253
  return {
317
254
  items: mapped,
318
255
  total,
@@ -331,25 +268,74 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
331
268
  .select()
332
269
  .from(projects)
333
270
  .where(sql `lower(substr(${projects.id}, 1, ${normalizedPrefix.length})) = ${normalizedPrefix}`);
334
- return rows.map((row) => ({
271
+ return rows.map((row) => this.mapProject(row));
272
+ }
273
+ async updateProject(id, data) {
274
+ return this.txRunner.runImmediateQueuedOrJoin(() => {
275
+ this.getProjectSync(id);
276
+ const workspaceId = data.workspaceId === undefined ? undefined : this.resolveWorkspaceIdSync(data.workspaceId);
277
+ this.db
278
+ .update(schema_1.projects)
279
+ .set({
280
+ ...(data.name !== undefined ? { name: data.name } : {}),
281
+ ...(data.description !== undefined ? { description: data.description } : {}),
282
+ ...(data.rootPath !== undefined ? { rootPath: data.rootPath } : {}),
283
+ ...(data.isTemplate !== undefined ? { isTemplate: data.isTemplate } : {}),
284
+ ...(workspaceId !== undefined ? { workspaceId } : {}),
285
+ updatedAt: new Date().toISOString(),
286
+ })
287
+ .where((0, drizzle_orm_1.eq)(schema_1.projects.id, id))
288
+ .run();
289
+ return this.getProjectSync(id);
290
+ });
291
+ }
292
+ getProjectSync(id) {
293
+ const row = this.db.select().from(schema_1.projects).where((0, drizzle_orm_1.eq)(schema_1.projects.id, id)).limit(1).get();
294
+ if (!row) {
295
+ throw new error_types_1.NotFoundError('Project', id);
296
+ }
297
+ return this.mapProject(row);
298
+ }
299
+ buildProject(data, id, now) {
300
+ return {
301
+ id,
302
+ ...data,
303
+ workspaceId: this.resolveWorkspaceIdSync(data.workspaceId),
304
+ isTemplate: data.isTemplate ?? false,
305
+ createdAt: now,
306
+ updatedAt: now,
307
+ };
308
+ }
309
+ insertProjectSync(project) {
310
+ this.db.insert(schema_1.projects).values(project).run();
311
+ }
312
+ mapProject(row) {
313
+ return {
335
314
  id: row.id,
315
+ workspaceId: row.workspaceId,
336
316
  name: row.name,
337
317
  description: row.description ?? null,
338
318
  rootPath: row.rootPath,
339
319
  isTemplate: Boolean(row.isTemplate ?? false),
340
320
  createdAt: row.createdAt,
341
321
  updatedAt: row.updatedAt,
342
- }));
322
+ };
343
323
  }
344
- async updateProject(id, data) {
345
- const { projects } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
346
- const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
347
- const now = new Date().toISOString();
348
- await this.db
349
- .update(projects)
350
- .set({ ...data, updatedAt: now })
351
- .where(eq(projects.id, id));
352
- return this.getProject(id);
324
+ resolveWorkspaceIdSync(requestedWorkspaceId) {
325
+ let workspaceId = schema_1.DEFAULT_PROJECT_WORKSPACE_ID;
326
+ if (requestedWorkspaceId !== undefined) {
327
+ workspaceId = typeof requestedWorkspaceId === 'string' ? requestedWorkspaceId.trim() : '';
328
+ }
329
+ if (!workspaceId) {
330
+ throw new error_types_1.ValidationError('workspaceId must be a non-empty string.');
331
+ }
332
+ const exists = this.rawClient
333
+ .prepare('SELECT 1 FROM project_workspaces WHERE id = ?')
334
+ .get(workspaceId);
335
+ if (!exists) {
336
+ throw new error_types_1.NotFoundError('Project workspace', workspaceId);
337
+ }
338
+ return workspaceId;
353
339
  }
354
340
  async deleteProject(id) {
355
341
  const { projects, chatThreads, chatMessages, chatMembers, chatMessageTargets, chatMessageReads, chatThreadSessionInvites, chatActivities, sessions, transcripts, epicComments, records, recordTags, epicTags, epics, documents, documentTags, prompts, promptTags, agentProfilePrompts, agents, agentProfiles, tags, statuses, guests, } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
@@ -1 +1 @@
1
- {"version":3,"file":"project.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/project.delegate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,uEAAmG;AACnG,8DAAiE;AACjE,gEAAsE;AACtE,mEAA2F;AAE3F,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,wBAAwB,CAAC,CAAC;AAEtD,MAAa,sBAAuB,SAAQ,2CAAmB;IAC7D,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEO,oCAAoC,CAC1C,qBAA6E;QAE7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE;aAChC,MAAM,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAC;aAC5C,IAAI,CAAC,qBAAqB,CAAC;aAC3B,GAAG,EAAE,CAAC;QAET,MAAM,WAAW,GAAG,mBAAmB;aACpC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAC3C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAE1E,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACjC,SAAS;oBACX,CAAC;oBACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,0BAAY,CAAC,gEAAgE,EAAE;wBACvF,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAmB;QACrC,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,UAAU,EAAE;YAChB,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,wDAC1E,iBAAiB,GAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE;YAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,CAAC,qBAAqB,CAAC,CAAC;YAE7F,IAAI,CAAC,EAAE;iBACJ,MAAM,CAAC,QAAQ,CAAC;iBAChB,MAAM,CAAC;gBACN,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;iBACD,GAAG,EAAE,CAAC;YAGT,MAAM,eAAe,GAAG;gBACtB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;gBACpD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;gBACvD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAClD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;aACpD,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,EAAE;qBACJ,MAAM,CAAC,QAAQ,CAAC;qBAChB,MAAM,CAAC;oBACN,EAAE,EAAE,UAAU,EAAE;oBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC;qBACD,GAAG,EAAE,CAAC;YACX,CAAC;YAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,EAAE;qBACJ,MAAM,CAAC,oBAAoB,CAAC;qBAC5B,MAAM,CACL,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvC,EAAE,EAAE,UAAU,EAAE;oBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,UAAU;oBACV,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC,CACJ;qBACA,GAAG,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC;IACjB,CAAC;IAGD,gBAAgB,CAAI,EAAoB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAOD,KAAK,CAAC,kBAAkB,CACtB,IAAmB,EACnB,OAA0C;QAE1C,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,iBAAiB,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,iBAAiB,IAAI,UAAU,EAAE;YACrC,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,wDAChE,iBAAiB,GAClB,CAAC;QACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,CAAC,qBAAqB,CAAC,CAAC;QAE7F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACpC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAQf,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;YAChD,MAAM,aAAa,GACjB,IAAI,KAAK,8BAA8B;gBACvC,IAAI,KAAK,0BAA0B;gBACnC,IAAI,KAAK,mBAAmB;gBAC5B,IAAA,0CAAwB,EAAC,KAAK,CAAC,CAAC;YAClC,IAAI,iBAAiB,IAAI,aAAa,EAAE,CAAC;gBACvC,MAAM,IAAI,2BAAa,CAAC,eAAe,iBAAiB,mBAAmB,EAAE;oBAC3E,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,iBAAiB;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAC/C,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACvC,EAAE,EAAE,UAAU,EAAE;gBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,2BAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAA4B,CAAC;QACjD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;YAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACd,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAClC,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAA4B,CAAC;QACjD,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;YAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACd,CAAC;IACf,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACvB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;aAC5C,KAAK,CAAC,CAAC,CAAC,CAAC;QAEZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAClB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;YAChC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC1B,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;YAC9B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,YAAoB;QAClD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QAErD,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAG7C,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC;wBACf,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;qBACzB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,IAAI,QAAQ,CAAC;gBACnB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBAC3B,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,SAAS,GAAmB,IAAI,CAAC;QACrC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAI9C,IAAI,cAAc,KAAK,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;gBACnF,IAAI,WAAW,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;oBACzC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;oBACrC,SAAS,GAAG,OAAO,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAuB,EAAE;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAEnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAI,KAAwC,CAAC,GAAG,CAC1D,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;YACC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;YAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAY,CAChB,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,MAAM;YACb,KAAK;YACL,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAK9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACvB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CACJ,GAAG,CAAA,gBAAgB,QAAQ,CAAC,EAAE,QAAQ,gBAAgB,CAAC,MAAM,QAAQ,gBAAgB,EAAE,CACxF,CAAC;QAEJ,OAAQ,IAAuC,CAAC,GAAG,CACjD,CAAC,GAAG,EAAE,EAAE,CACN,CAAC;YACC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC;YAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAY,CAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,IAAmB;QACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACrD,MAAM,EAAE,EAAE,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,EAAE;aACV,MAAM,CAAC,QAAQ,CAAC;aAChB,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;aAChC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,EACJ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,MAAM,GACP,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACpC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAMpD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;aACxB,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE9C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,EAAE;aACrC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;aAC9B,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtD,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,GAAG,CAAC;YAClB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;iBAC/B,IAAI,CAAC,YAAY,CAAC;iBAClB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE;aAChC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aACzB,IAAI,CAAC,MAAM,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;aAC5B,IAAI,CAAC,SAAS,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE;aACjC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;aAC1B,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAElD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE;aAClC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;aAChC,IAAI,CAAC,aAAa,CAAC;aACnB,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACvB,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,eAAe,GACnB,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3B,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAKpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,kBAAkB,CAAC;iBAC1B,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,wBAAwB,CAAC;iBAChC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1E,CAAC;QAGD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1F,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,wBAAwB,CAAC;iBAChC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC;QAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACtF,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9E,CAAC;QAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC;QAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE;iBACjC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;iBAC1B,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBAChF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;QAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,mBAAmB,CAAC;iBAC3B,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACtE,CAAC;QAGD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;aACxB,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAGD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;QAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,EAAE;iBACV,MAAM,CAAC,mBAAmB,CAAC;iBAC3B,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACnF,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,CAAC;QAGD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAGjE,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAG7D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,yCAAyC,CAAC,CAAC;IAC5E,CAAC;CACF;AAlmBD,wDAkmBC"}
1
+ {"version":3,"file":"project.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/project.delegate.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,7 @@ import type { ListResult, PromptListFilters, PromptSummary } from '../../interfa
2
2
  import type { CreatePrompt, CreateTag, Prompt, Tag, UpdatePrompt } from '../../models/domain.models';
3
3
  import { BaseStorageDelegate, type StorageDelegateContext } from './base-storage.delegate';
4
4
  export interface PromptStorageDelegateDependencies {
5
- createTag: (data: CreateTag) => Promise<Tag>;
6
- getPrompt: (id: string) => Promise<Prompt>;
5
+ createTag: (data: CreateTag) => Tag;
7
6
  }
8
7
  export declare class PromptStorageDelegate extends BaseStorageDelegate {
9
8
  private readonly dependencies;
@@ -12,8 +11,10 @@ export declare class PromptStorageDelegate extends BaseStorageDelegate {
12
11
  createPromptFromSnapshot(data: CreatePrompt): Promise<Prompt>;
13
12
  private insertPrompt;
14
13
  getPrompt(id: string): Promise<Prompt>;
14
+ private getPromptSync;
15
15
  listPrompts(filters?: PromptListFilters): Promise<ListResult<PromptSummary>>;
16
16
  updatePrompt(id: string, data: UpdatePrompt, expectedVersion: number): Promise<Prompt>;
17
+ private setPromptTagsSync;
17
18
  deletePrompt(id: string): Promise<void>;
18
19
  getInitialSessionPrompt(projectId: string | null): Promise<Prompt | null>;
19
20
  }
@@ -34,10 +34,12 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.PromptStorageDelegate = void 0;
37
+ const drizzle_orm_1 = require("drizzle-orm");
37
38
  const error_types_1 = require("../../../../common/errors/error-types");
38
39
  const logger_1 = require("../../../../common/logging/logger");
39
40
  const prompt_type_1 = require("../../../../common/prompt-type");
40
41
  const sqlite_raw_1 = require("../../db/sqlite-raw");
42
+ const schema_1 = require("../../db/schema");
41
43
  const storage_helpers_1 = require("../helpers/storage-helpers");
42
44
  const base_storage_delegate_1 = require("./base-storage.delegate");
43
45
  const logger = (0, logger_1.createLogger)('PromptStorageDelegate');
@@ -99,19 +101,26 @@ class PromptStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
99
101
  return prompt;
100
102
  }
101
103
  async getPrompt(id) {
102
- const { prompts, promptTags, tags } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
103
- const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
104
- const result = await this.db.select().from(prompts).where(eq(prompts.id, id)).limit(1);
105
- if (!result[0]) {
104
+ return this.getPromptSync(id);
105
+ }
106
+ getPromptSync(id) {
107
+ const row = this.db
108
+ .select()
109
+ .from(schema_1.prompts)
110
+ .where((0, drizzle_orm_1.eq)(schema_1.prompts.id, id))
111
+ .limit(1)
112
+ .get();
113
+ if (!row) {
106
114
  throw new error_types_1.NotFoundError('Prompt', id);
107
115
  }
108
- const promptTagsResult = await this.db
109
- .select({ tag: tags })
110
- .from(promptTags)
111
- .innerJoin(tags, eq(promptTags.tagId, tags.id))
112
- .where(eq(promptTags.promptId, id));
116
+ const promptTagsResult = this.db
117
+ .select({ tag: schema_1.tags })
118
+ .from(schema_1.promptTags)
119
+ .innerJoin(schema_1.tags, (0, drizzle_orm_1.eq)(schema_1.promptTags.tagId, schema_1.tags.id))
120
+ .where((0, drizzle_orm_1.eq)(schema_1.promptTags.promptId, id))
121
+ .all();
113
122
  return {
114
- ...result[0],
123
+ ...row,
115
124
  tags: promptTagsResult.map((pt) => pt.tag.name),
116
125
  };
117
126
  }
@@ -185,64 +194,54 @@ class PromptStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
185
194
  };
186
195
  }
187
196
  async updatePrompt(id, data, expectedVersion) {
188
- const { prompts, promptTags, tags } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
189
- const { eq } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
190
- const now = new Date().toISOString();
191
197
  logger.info({ id, data, expectedVersion }, 'updatePrompt called with data');
192
- const current = await this.dependencies.getPrompt(id);
193
- if (current.version !== expectedVersion) {
194
- throw new error_types_1.OptimisticLockError('Prompt', id, {
195
- expectedVersion,
196
- actualVersion: current.version,
197
- });
198
- }
199
- const { tags: requestedTags, ...updateData } = data;
200
- const newTags = requestedTags === undefined
201
- ? undefined
202
- : (0, prompt_type_1.canonicalizePromptTypeTags)(requestedTags, (0, prompt_type_1.getPromptType)(requestedTags, (0, prompt_type_1.getPromptType)(current.tags, prompt_type_1.PROMPT_TYPE.Custom)));
203
- logger.info({ newTags, updateData }, 'Separated tags from updateData');
204
- await this.db
205
- .update(prompts)
206
- .set({ ...updateData, version: expectedVersion + 1, updatedAt: now })
207
- .where(eq(prompts.id, id));
208
- logger.info('Updated prompt fields in database');
209
- if (newTags !== undefined) {
210
- logger.info({ newTags, newTagsLength: newTags.length }, 'Updating tags');
211
- await this.db.delete(promptTags).where(eq(promptTags.promptId, id));
212
- logger.info('Deleted existing prompt tags');
213
- if (newTags.length > 0) {
214
- for (const tagName of newTags) {
215
- logger.info({ tagName }, 'Processing tag');
216
- const { and, or, isNull } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
217
- let tag = await this.db
218
- .select()
219
- .from(tags)
220
- .where(and(eq(tags.name, tagName), or(eq(tags.projectId, current.projectId || ''), isNull(tags.projectId))))
221
- .limit(1);
222
- if (!tag[0]) {
223
- logger.info({ tagName }, 'Tag not found, creating new tag');
224
- const newTag = await this.dependencies.createTag({
225
- projectId: current.projectId,
226
- name: tagName,
227
- });
228
- tag = [newTag];
229
- }
230
- else {
231
- logger.info({ tagName, tagId: tag[0].id }, 'Found existing tag');
232
- }
233
- await this.db.insert(promptTags).values({
234
- promptId: id,
235
- tagId: tag[0].id,
236
- createdAt: now,
237
- });
238
- logger.info({ tagName, tagId: tag[0].id }, 'Inserted prompt tag');
198
+ const result = await this.versionedMutationExecutor.execute({
199
+ resource: 'Prompt',
200
+ id,
201
+ expectedVersion,
202
+ loadCurrent: () => this.getPromptSync(id),
203
+ versionOf: (current) => current.version,
204
+ prepare: ({ current }) => {
205
+ const { tags: requestedTags, ...updateData } = data;
206
+ const newTags = requestedTags === undefined
207
+ ? undefined
208
+ : (0, prompt_type_1.canonicalizePromptTypeTags)(requestedTags, (0, prompt_type_1.getPromptType)(requestedTags, (0, prompt_type_1.getPromptType)(current.tags, prompt_type_1.PROMPT_TYPE.Custom)));
209
+ return {
210
+ kind: 'write',
211
+ state: { updateData, newTags, now: new Date().toISOString() },
212
+ };
213
+ },
214
+ write: (context, state) => this.db
215
+ .update(schema_1.prompts)
216
+ .set({
217
+ ...state.updateData,
218
+ version: context.nextVersion,
219
+ updatedAt: state.now,
220
+ })
221
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema_1.prompts.id, id), (0, drizzle_orm_1.eq)(schema_1.prompts.version, context.actualVersion)))
222
+ .run().changes,
223
+ afterWrite: ({ current }, state) => {
224
+ if (state.newTags !== undefined) {
225
+ this.setPromptTagsSync(id, state.newTags, current.projectId, state.now);
239
226
  }
240
- }
241
- }
242
- else {
243
- logger.info('No tags provided in update data');
227
+ },
228
+ loadResult: () => this.getPromptSync(id),
229
+ });
230
+ logger.info({ promptId: id }, 'Updated prompt');
231
+ return result;
232
+ }
233
+ setPromptTagsSync(promptId, tagNames, projectId, now) {
234
+ this.db.delete(schema_1.promptTags).where((0, drizzle_orm_1.eq)(schema_1.promptTags.promptId, promptId)).run();
235
+ for (const tagName of tagNames) {
236
+ const existing = this.db
237
+ .select()
238
+ .from(schema_1.tags)
239
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema_1.tags.name, tagName), (0, drizzle_orm_1.or)((0, drizzle_orm_1.eq)(schema_1.tags.projectId, projectId || ''), (0, drizzle_orm_1.isNull)(schema_1.tags.projectId))))
240
+ .limit(1)
241
+ .get();
242
+ const tag = existing ?? this.dependencies.createTag({ projectId, name: tagName });
243
+ this.db.insert(schema_1.promptTags).values({ promptId, tagId: tag.id, createdAt: now }).run();
244
244
  }
245
- return this.dependencies.getPrompt(id);
246
245
  }
247
246
  async deletePrompt(id) {
248
247
  const { prompts } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
@@ -301,7 +300,7 @@ class PromptStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
301
300
  return null;
302
301
  }
303
302
  try {
304
- return await this.dependencies.getPrompt(promptId);
303
+ return await this.getPrompt(promptId);
305
304
  }
306
305
  catch (error) {
307
306
  if (error instanceof error_types_1.NotFoundError) {