devchain-cli 0.22.1 → 0.23.1

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 (249) hide show
  1. package/dist/drizzle/0077_familiar_morbius.sql +6 -0
  2. package/dist/drizzle/0078_preserve_legacy_connection_ownership.sql +180 -0
  3. package/dist/drizzle/0079_premium_forgotten_one.sql +18 -0
  4. package/dist/drizzle/0080_lethal_thunderbolt_ross.sql +49 -0
  5. package/dist/drizzle/0081_early_kronos.sql +58 -0
  6. package/dist/drizzle/0082_huge_black_queen.sql +14 -0
  7. package/dist/drizzle/meta/0077_snapshot.json +6957 -0
  8. package/dist/drizzle/meta/0078_snapshot.json +6957 -0
  9. package/dist/drizzle/meta/0079_snapshot.json +7093 -0
  10. package/dist/drizzle/meta/0080_snapshot.json +7241 -0
  11. package/dist/drizzle/meta/0081_snapshot.json +7482 -0
  12. package/dist/drizzle/meta/0082_snapshot.json +7571 -0
  13. package/dist/drizzle/meta/_journal.json +42 -0
  14. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  15. package/dist/server/common/errors/error-types.d.ts +7 -0
  16. package/dist/server/common/errors/error-types.js +7 -1
  17. package/dist/server/common/errors/error-types.js.map +1 -1
  18. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.d.ts +9 -0
  19. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js +90 -0
  20. package/dist/server/modules/epic-time/controllers/agent-time-buffer.controller.js.map +1 -0
  21. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.d.ts +12 -0
  22. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js +322 -0
  23. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js.map +1 -0
  24. package/dist/server/modules/epic-time/epic-time-store.module.d.ts +2 -0
  25. package/dist/server/modules/epic-time/epic-time-store.module.js +23 -0
  26. package/dist/server/modules/epic-time/epic-time-store.module.js.map +1 -0
  27. package/dist/server/modules/epic-time/epic-time.module.js +10 -6
  28. package/dist/server/modules/epic-time/epic-time.module.js.map +1 -1
  29. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.d.ts +30 -0
  30. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js +125 -0
  31. package/dist/server/modules/epic-time/models/epic-time-daily-allocator.js.map +1 -0
  32. package/dist/server/modules/epic-time/models/epic-time-local-day.d.ts +9 -0
  33. package/dist/server/modules/epic-time/models/epic-time-local-day.js +164 -0
  34. package/dist/server/modules/epic-time/models/epic-time-local-day.js.map +1 -0
  35. package/dist/server/modules/epic-time/models/epic-time.models.d.ts +147 -0
  36. package/dist/server/modules/epic-time/models/epic-time.models.js +2 -0
  37. package/dist/server/modules/epic-time/models/epic-time.models.js.map +1 -1
  38. package/dist/server/modules/epic-time/services/agent-time-accounting.service.d.ts +1 -0
  39. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js +31 -8
  40. package/dist/server/modules/epic-time/services/agent-time-accounting.service.js.map +1 -1
  41. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +37 -0
  42. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +716 -0
  43. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -0
  44. package/dist/server/modules/epic-time/services/epic-time.service.d.ts +13 -3
  45. package/dist/server/modules/epic-time/services/epic-time.service.js +162 -69
  46. package/dist/server/modules/epic-time/services/epic-time.service.js.map +1 -1
  47. package/dist/server/modules/epic-time/services/epic-time.store.d.ts +50 -3
  48. package/dist/server/modules/epic-time/services/epic-time.store.js +705 -146
  49. package/dist/server/modules/epic-time/services/epic-time.store.js.map +1 -1
  50. package/dist/server/modules/epics/controllers/epics.controller.d.ts +10 -1
  51. package/dist/server/modules/epics/controllers/epics.controller.js +108 -2
  52. package/dist/server/modules/epics/controllers/epics.controller.js.map +1 -1
  53. package/dist/server/modules/epics/epics.module.js +8 -2
  54. package/dist/server/modules/epics/epics.module.js.map +1 -1
  55. package/dist/server/modules/epics/models/epic-relations.models.d.ts +34 -0
  56. package/dist/server/modules/epics/models/epic-relations.models.js +16 -0
  57. package/dist/server/modules/epics/models/epic-relations.models.js.map +1 -0
  58. package/dist/server/modules/epics/services/epic-relation-target-resolver.d.ts +8 -0
  59. package/dist/server/modules/epics/services/epic-relation-target-resolver.js +37 -0
  60. package/dist/server/modules/epics/services/epic-relation-target-resolver.js.map +1 -0
  61. package/dist/server/modules/epics/services/epic-relations.service.d.ts +52 -0
  62. package/dist/server/modules/epics/services/epic-relations.service.js +135 -0
  63. package/dist/server/modules/epics/services/epic-relations.service.js.map +1 -0
  64. package/dist/server/modules/epics/services/epics.service.d.ts +9 -2
  65. package/dist/server/modules/epics/services/epics.service.js +115 -11
  66. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  67. package/dist/server/modules/events/catalog/broadcast-registry.js +16 -0
  68. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  69. package/dist/server/modules/events/catalog/epic.relations.invalidated.d.ts +12 -0
  70. package/dist/server/modules/events/catalog/epic.relations.invalidated.js +13 -0
  71. package/dist/server/modules/events/catalog/epic.relations.invalidated.js.map +1 -0
  72. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.d.ts +12 -0
  73. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js +13 -0
  74. package/dist/server/modules/events/catalog/epic.time.scope.invalidated.js.map +1 -0
  75. package/dist/server/modules/events/catalog/index.d.ts +27 -4
  76. package/dist/server/modules/events/catalog/index.js +6 -0
  77. package/dist/server/modules/events/catalog/index.js.map +1 -1
  78. package/dist/server/modules/events/catalog/integration.connection.created.d.ts +4 -1
  79. package/dist/server/modules/events/catalog/integration.connection.created.js +5 -2
  80. package/dist/server/modules/events/catalog/integration.connection.created.js.map +1 -1
  81. package/dist/server/modules/events/catalog/integration.connection.deleted.d.ts +4 -1
  82. package/dist/server/modules/events/catalog/integration.connection.deleted.js +5 -2
  83. package/dist/server/modules/events/catalog/integration.connection.deleted.js.map +1 -1
  84. package/dist/server/modules/events/catalog/integration.connection.legacy.d.ts +85 -0
  85. package/dist/server/modules/events/catalog/integration.connection.legacy.js +41 -0
  86. package/dist/server/modules/events/catalog/integration.connection.legacy.js.map +1 -0
  87. package/dist/server/modules/events/catalog/integration.connection.updated.d.ts +4 -1
  88. package/dist/server/modules/events/catalog/integration.connection.updated.js +5 -2
  89. package/dist/server/modules/events/catalog/integration.connection.updated.js.map +1 -1
  90. package/dist/server/modules/events/services/committed-event-replay.d.ts +10 -0
  91. package/dist/server/modules/events/services/committed-event-replay.js +30 -0
  92. package/dist/server/modules/events/services/committed-event-replay.js.map +1 -0
  93. package/dist/server/modules/events/services/committed-event.store.d.ts +1 -0
  94. package/dist/server/modules/events/services/committed-event.store.js +12 -7
  95. package/dist/server/modules/events/services/committed-event.store.js.map +1 -1
  96. package/dist/server/modules/events/services/durable-event-registry.service.d.ts +9 -2
  97. package/dist/server/modules/events/services/durable-event-registry.service.js.map +1 -1
  98. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.d.ts +7 -0
  99. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js +158 -50
  100. package/dist/server/modules/external-integrations/adapters/clickup-external-task.provider.js.map +1 -1
  101. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.d.ts +4 -0
  102. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js +73 -33
  103. package/dist/server/modules/external-integrations/adapters/jira-external-task.provider.js.map +1 -1
  104. package/dist/server/modules/external-integrations/connections/integration-connections.controller.d.ts +6 -3
  105. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js +67 -12
  106. package/dist/server/modules/external-integrations/connections/integration-connections.controller.js.map +1 -1
  107. package/dist/server/modules/external-integrations/connections/integration-connections.service.d.ts +35 -3
  108. package/dist/server/modules/external-integrations/connections/integration-connections.service.js +178 -17
  109. package/dist/server/modules/external-integrations/connections/integration-connections.service.js.map +1 -1
  110. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.d.ts +6 -3
  111. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js +51 -11
  112. package/dist/server/modules/external-integrations/connections/managed-subtask-sync.controller.js.map +1 -1
  113. package/dist/server/modules/external-integrations/external-integrations.module.js +6 -1
  114. package/dist/server/modules/external-integrations/external-integrations.module.js.map +1 -1
  115. package/dist/server/modules/external-integrations/models/external-edit-session.models.d.ts +1 -0
  116. package/dist/server/modules/external-integrations/models/external-provider.models.d.ts +6 -2
  117. package/dist/server/modules/external-integrations/models/external-provider.models.js +2 -3
  118. package/dist/server/modules/external-integrations/models/external-provider.models.js.map +1 -1
  119. package/dist/server/modules/external-integrations/models/external-time-mutation.models.d.ts +33 -2
  120. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js +14 -0
  121. package/dist/server/modules/external-integrations/models/external-time-mutation.models.js.map +1 -1
  122. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +10 -9
  123. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js +81 -46
  124. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
  125. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.d.ts +22 -20
  126. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js +136 -64
  127. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js.map +1 -1
  128. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.d.ts +7 -0
  129. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js +289 -4
  130. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js.map +1 -1
  131. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +12 -7
  132. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js +114 -54
  133. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
  134. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.d.ts +19 -6
  135. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js +346 -46
  136. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
  137. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.d.ts +2 -1
  138. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js +3 -2
  139. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js.map +1 -1
  140. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.d.ts +6 -1
  141. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js +19 -0
  142. package/dist/server/modules/external-integrations/sessions/external-time-mutation.store.js.map +1 -1
  143. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.d.ts +15 -2
  144. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js +33 -6
  145. package/dist/server/modules/external-integrations/sessions/provider-operation-gate.js.map +1 -1
  146. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.d.ts +13 -6
  147. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js +212 -75
  148. package/dist/server/modules/external-integrations/subscribers/external-subtask-sync.subscriber.js.map +1 -1
  149. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.d.ts +13 -4
  150. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js +98 -0
  151. package/dist/server/modules/external-integrations/subscribers/managed-subtask-content.js.map +1 -1
  152. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.d.ts +10 -4
  153. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js +57 -18
  154. package/dist/server/modules/external-integrations/subscribers/managed-subtask-sync-health.service.js.map +1 -1
  155. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +139 -0
  156. package/dist/server/modules/mcp/dtos/mcp.dto.js +41 -1
  157. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  158. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -0
  159. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +4 -0
  160. package/dist/server/modules/mcp/services/handlers/epic-tools.js +275 -0
  161. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  162. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  163. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +13 -8
  164. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  165. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +1 -1
  166. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +1 -1
  167. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -1
  168. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +2 -0
  169. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  170. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +6 -0
  171. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
  172. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +132 -0
  173. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  174. package/dist/server/modules/projects/controllers/projects.controller.js +1 -4
  175. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  176. package/dist/server/modules/projects/projects.module.js +2 -0
  177. package/dist/server/modules/projects/projects.module.js.map +1 -1
  178. package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
  179. package/dist/server/modules/projects/services/projects.service.js +23 -2
  180. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  181. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +4 -2
  182. package/dist/server/modules/providers/adapters/claude.adapter.js +31 -0
  183. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  184. package/dist/server/modules/providers/services/provider-mcp-ensure.service.d.ts +7 -0
  185. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +69 -4
  186. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -1
  187. package/dist/server/modules/session-reader/data/pricing.json +452 -56
  188. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +2 -0
  189. package/dist/server/modules/session-reader/services/session-reader.service.js +85 -9
  190. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  191. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +8 -2
  192. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  193. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +44 -17
  194. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  195. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +1 -0
  196. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +1 -0
  197. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  198. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +11 -1
  199. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  200. package/dist/server/modules/sessions/services/sessions.service.d.ts +3 -1
  201. package/dist/server/modules/sessions/services/sessions.service.js +36 -6
  202. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  203. package/dist/server/modules/sessions/sessions.module.js +2 -0
  204. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  205. package/dist/server/modules/sessions/utils/claude-config.d.ts +4 -1
  206. package/dist/server/modules/sessions/utils/claude-config.js +265 -60
  207. package/dist/server/modules/sessions/utils/claude-config.js.map +1 -1
  208. package/dist/server/modules/storage/db/schema.d.ts +1109 -98
  209. package/dist/server/modules/storage/db/schema.js +141 -3
  210. package/dist/server/modules/storage/db/schema.js.map +1 -1
  211. package/dist/server/modules/storage/db/sqlite-json.d.ts +1 -0
  212. package/dist/server/modules/storage/db/sqlite-json.js +4 -0
  213. package/dist/server/modules/storage/db/sqlite-json.js.map +1 -1
  214. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +58 -10
  215. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  216. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +30 -5
  217. package/dist/server/modules/storage/local/delegates/epic.delegate.js +718 -14
  218. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  219. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +52 -0
  220. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +659 -0
  221. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -0
  222. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.d.ts +2 -1
  223. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +17 -4
  224. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
  225. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +23 -8
  226. package/dist/server/modules/storage/local/delegates/integration.delegate.js +238 -52
  227. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
  228. package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +2 -0
  229. package/dist/server/modules/storage/local/delegates/project.delegate.js +180 -130
  230. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  231. package/dist/server/modules/storage/local/local-storage.service.d.ts +45 -10
  232. package/dist/server/modules/storage/local/local-storage.service.js +99 -15
  233. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  234. package/dist/server/modules/storage/models/domain.models.d.ts +170 -0
  235. package/dist/server/modules/storage/models/domain.models.js +9 -0
  236. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  237. package/dist/server/templates/teams-dev.json +311 -301
  238. package/dist/server/tsconfig.tsbuildinfo +1 -1
  239. package/dist/server/ui/assets/{ExternalRichEditor-DMtnZIMZ.js → ExternalRichEditor-FwCAalXO.js} +1 -1
  240. package/dist/server/ui/assets/{ReviewDetailPage-BmyiM5IR.js → ReviewDetailPage-D8DVpsJm.js} +1 -1
  241. package/dist/server/ui/assets/{ReviewsPage-CQ87BMwT.js → ReviewsPage-DcWpRFbm.js} +1 -1
  242. package/dist/server/ui/assets/index-CV8ydm7w.css +32 -0
  243. package/dist/server/ui/assets/index-Cwe7LxcW.js +1197 -0
  244. package/dist/server/ui/assets/{useReviewSubscription-DjbEUzt4.js → useReviewSubscription-CYoSg-88.js} +1 -1
  245. package/dist/server/ui/index.html +2 -2
  246. package/dist/templates/teams-dev.json +311 -301
  247. package/package.json +20 -2
  248. package/dist/server/ui/assets/index-BX6Yze-A.js +0 -1177
  249. package/dist/server/ui/assets/index-qoQEv_u4.css +0 -32
@@ -270,10 +270,24 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
270
270
  .where(sql `lower(substr(${projects.id}, 1, ${normalizedPrefix.length})) = ${normalizedPrefix}`);
271
271
  return rows.map((row) => this.mapProject(row));
272
272
  }
273
+ async getProjectWorkspaceSnapshot(projectId) {
274
+ const rows = await this.db
275
+ .select()
276
+ .from(schema_1.projects)
277
+ .where((0, drizzle_orm_1.eq)(schema_1.projects.workspaceId, (0, drizzle_orm_1.sql) `(SELECT workspace_id FROM ${schema_1.projects} WHERE ${schema_1.projects.id} = ${projectId})`))
278
+ .orderBy((0, drizzle_orm_1.asc)(schema_1.projects.id));
279
+ if (!rows.some((row) => row.id === projectId)) {
280
+ throw new error_types_1.NotFoundError('Project', projectId);
281
+ }
282
+ return rows.map((row) => this.mapProject(row));
283
+ }
273
284
  async updateProject(id, data) {
274
285
  return this.txRunner.runImmediateQueuedOrJoin(() => {
275
- this.getProjectSync(id);
286
+ const current = this.getProjectSync(id);
276
287
  const workspaceId = data.workspaceId === undefined ? undefined : this.resolveWorkspaceIdSync(data.workspaceId);
288
+ if (workspaceId !== undefined && workspaceId !== current.workspaceId) {
289
+ this.ensureWorkspaceMovePreservesRelationsSync(id, workspaceId);
290
+ }
277
291
  this.db
278
292
  .update(schema_1.projects)
279
293
  .set({
@@ -337,138 +351,174 @@ class ProjectStorageDelegate extends base_storage_delegate_1.BaseStorageDelegate
337
351
  }
338
352
  return workspaceId;
339
353
  }
354
+ ensureWorkspaceMovePreservesRelationsSync(projectId, targetWorkspaceId) {
355
+ const conflict = this.rawClient
356
+ .prepare(`SELECT relation.id
357
+ FROM epic_relations relation
358
+ INNER JOIN epics left_epic ON left_epic.id = relation.left_epic_id
359
+ INNER JOIN epics right_epic ON right_epic.id = relation.right_epic_id
360
+ WHERE (left_epic.project_id = ? AND right_epic.project_id <> ?)
361
+ OR (right_epic.project_id = ? AND left_epic.project_id <> ?)
362
+ LIMIT 1`)
363
+ .get(projectId, projectId, projectId, projectId);
364
+ if (conflict) {
365
+ throw new error_types_1.ConflictError('Cannot move a project when the move would split a cross-project Epic relation.', {
366
+ code: 'PROJECT_WORKSPACE_RELATION_CONFLICT',
367
+ projectId,
368
+ targetWorkspaceId,
369
+ relationId: conflict.id,
370
+ });
371
+ }
372
+ }
340
373
  async deleteProject(id) {
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')));
374
+ 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, integrationConnections, teamMembers, teams, } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
342
375
  const { eq, inArray } = await Promise.resolve().then(() => __importStar(require('drizzle-orm')));
343
- const projectEpics = await this.db
344
- .select({ id: epics.id })
345
- .from(epics)
346
- .where(eq(epics.projectId, id));
347
- const epicIds = projectEpics.map((e) => e.id);
348
- const projectChatThreads = await this.db
349
- .select({ id: chatThreads.id })
350
- .from(chatThreads)
351
- .where(eq(chatThreads.projectId, id));
352
- const threadIds = projectChatThreads.map((t) => t.id);
353
- const projectMessages = threadIds.length > 0
354
- ? await this.db
355
- .select({ id: chatMessages.id })
356
- .from(chatMessages)
357
- .where(inArray(chatMessages.threadId, threadIds))
358
- : [];
359
- const messageIds = projectMessages.map((m) => m.id);
360
- const projectAgents = await this.db
361
- .select({ id: agents.id })
362
- .from(agents)
363
- .where(eq(agents.projectId, id));
364
- const agentIds = projectAgents.map((a) => a.id);
365
- const projectDocs = await this.db
366
- .select({ id: documents.id })
367
- .from(documents)
368
- .where(eq(documents.projectId, id));
369
- const docIds = projectDocs.map((d) => d.id);
370
- const projectPrompts = await this.db
371
- .select({ id: prompts.id })
372
- .from(prompts)
373
- .where(eq(prompts.projectId, id));
374
- const promptIds = projectPrompts.map((p) => p.id);
375
- const projectProfiles = await this.db
376
- .select({ id: agentProfiles.id })
377
- .from(agentProfiles)
378
- .where(eq(agentProfiles.projectId, id));
379
- const profileIds = projectProfiles.map((p) => p.id);
380
- const projectTags = await this.db
381
- .select({ id: tags.id })
382
- .from(tags)
383
- .where(eq(tags.projectId, id));
384
- const tagIds = projectTags.map((t) => t.id);
385
- const projectSessions = agentIds.length > 0
386
- ? await this.db
387
- .select({ id: sessions.id })
388
- .from(sessions)
389
- .where(inArray(sessions.agentId, agentIds))
390
- : [];
391
- const sessionIds = projectSessions.map((s) => s.id);
392
- if (messageIds.length > 0) {
393
- await this.db.delete(chatMessageReads).where(inArray(chatMessageReads.messageId, messageIds));
394
- await this.db
395
- .delete(chatMessageTargets)
396
- .where(inArray(chatMessageTargets.messageId, messageIds));
397
- await this.db
398
- .delete(chatThreadSessionInvites)
399
- .where(inArray(chatThreadSessionInvites.inviteMessageId, messageIds));
400
- }
401
- if (agentIds.length > 0) {
402
- await this.db.delete(chatMessageReads).where(inArray(chatMessageReads.agentId, agentIds));
403
- await this.db.delete(chatMessageTargets).where(inArray(chatMessageTargets.agentId, agentIds));
404
- await this.db
405
- .delete(chatThreadSessionInvites)
406
- .where(inArray(chatThreadSessionInvites.agentId, agentIds));
407
- await this.db.delete(chatActivities).where(inArray(chatActivities.agentId, agentIds));
408
- await this.db.delete(chatMembers).where(inArray(chatMembers.agentId, agentIds));
409
- }
410
- if (messageIds.length > 0) {
411
- await this.db.delete(chatMessages).where(inArray(chatMessages.threadId, threadIds));
412
- }
413
- if (threadIds.length > 0) {
414
- await this.db.delete(chatThreads).where(inArray(chatThreads.id, threadIds));
415
- }
416
- if (sessionIds.length > 0) {
417
- await this.db.delete(transcripts).where(inArray(transcripts.sessionId, sessionIds));
418
- await this.db.delete(sessions).where(inArray(sessions.id, sessionIds));
419
- }
420
- if (epicIds.length > 0) {
421
- await this.db.delete(epicComments).where(inArray(epicComments.epicId, epicIds));
422
- const projectRecords = await this.db
423
- .select({ id: records.id })
424
- .from(records)
425
- .where(inArray(records.epicId, epicIds));
426
- const recordIds = projectRecords.map((r) => r.id);
427
- if (recordIds.length > 0) {
428
- await this.db.delete(recordTags).where(inArray(recordTags.recordId, recordIds));
429
- await this.db.delete(records).where(inArray(records.id, recordIds));
376
+ await this.txRunner.runImmediateAsync(async () => {
377
+ const projectConnection = this.db
378
+ .select({ id: integrationConnections.id })
379
+ .from(integrationConnections)
380
+ .where(eq(integrationConnections.projectId, id))
381
+ .limit(1)
382
+ .get();
383
+ if (projectConnection) {
384
+ throw new error_types_1.ConflictError('Cannot delete a project with an integration connection.', {
385
+ code: 'PROJECT_HAS_INTEGRATION_CONNECTIONS',
386
+ projectId: id,
387
+ });
430
388
  }
431
- await this.db.delete(epicTags).where(inArray(epicTags.epicId, epicIds));
432
- }
433
- if (epicIds.length > 0) {
434
- await this.db.delete(epics).where(inArray(epics.id, epicIds));
435
- }
436
- if (docIds.length > 0) {
437
- await this.db.delete(documentTags).where(inArray(documentTags.documentId, docIds));
438
- await this.db.delete(documents).where(inArray(documents.id, docIds));
439
- }
440
- if (promptIds.length > 0) {
441
- await this.db.delete(promptTags).where(inArray(promptTags.promptId, promptIds));
442
- await this.db
443
- .delete(agentProfilePrompts)
444
- .where(inArray(agentProfilePrompts.promptId, promptIds));
445
- await this.db.delete(prompts).where(inArray(prompts.id, promptIds));
446
- }
447
- const { teamMembers, teams } = await Promise.resolve().then(() => __importStar(require('../../db/schema')));
448
- const projectTeams = await this.db
449
- .select({ id: teams.id })
450
- .from(teams)
451
- .where(eq(teams.projectId, id));
452
- const teamIds = projectTeams.map((t) => t.id);
453
- if (teamIds.length > 0) {
454
- await this.db.delete(teamMembers).where(inArray(teamMembers.teamId, teamIds));
455
- await this.db.delete(teams).where(inArray(teams.id, teamIds));
456
- }
457
- if (agentIds.length > 0) {
458
- await this.db.delete(agents).where(inArray(agents.id, agentIds));
459
- }
460
- if (profileIds.length > 0) {
461
- await this.db
462
- .delete(agentProfilePrompts)
463
- .where(inArray(agentProfilePrompts.profileId, profileIds));
464
- await this.db.delete(agentProfiles).where(inArray(agentProfiles.id, profileIds));
465
- }
466
- if (tagIds.length > 0) {
467
- await this.db.delete(tags).where(inArray(tags.id, tagIds));
468
- }
469
- await this.db.delete(statuses).where(eq(statuses.projectId, id));
470
- await this.db.delete(guests).where(eq(guests.projectId, id));
471
- await this.db.delete(projects).where(eq(projects.id, id));
389
+ const projectEpics = await this.db
390
+ .select({ id: epics.id })
391
+ .from(epics)
392
+ .where(eq(epics.projectId, id));
393
+ const epicIds = projectEpics.map((e) => e.id);
394
+ const projectChatThreads = await this.db
395
+ .select({ id: chatThreads.id })
396
+ .from(chatThreads)
397
+ .where(eq(chatThreads.projectId, id));
398
+ const threadIds = projectChatThreads.map((t) => t.id);
399
+ const projectMessages = threadIds.length > 0
400
+ ? await this.db
401
+ .select({ id: chatMessages.id })
402
+ .from(chatMessages)
403
+ .where(inArray(chatMessages.threadId, threadIds))
404
+ : [];
405
+ const messageIds = projectMessages.map((m) => m.id);
406
+ const projectAgents = await this.db
407
+ .select({ id: agents.id })
408
+ .from(agents)
409
+ .where(eq(agents.projectId, id));
410
+ const agentIds = projectAgents.map((a) => a.id);
411
+ const projectDocs = await this.db
412
+ .select({ id: documents.id })
413
+ .from(documents)
414
+ .where(eq(documents.projectId, id));
415
+ const docIds = projectDocs.map((d) => d.id);
416
+ const projectPrompts = await this.db
417
+ .select({ id: prompts.id })
418
+ .from(prompts)
419
+ .where(eq(prompts.projectId, id));
420
+ const promptIds = projectPrompts.map((p) => p.id);
421
+ const projectProfiles = await this.db
422
+ .select({ id: agentProfiles.id })
423
+ .from(agentProfiles)
424
+ .where(eq(agentProfiles.projectId, id));
425
+ const profileIds = projectProfiles.map((p) => p.id);
426
+ const projectTags = await this.db
427
+ .select({ id: tags.id })
428
+ .from(tags)
429
+ .where(eq(tags.projectId, id));
430
+ const tagIds = projectTags.map((t) => t.id);
431
+ const projectSessions = agentIds.length > 0
432
+ ? await this.db
433
+ .select({ id: sessions.id })
434
+ .from(sessions)
435
+ .where(inArray(sessions.agentId, agentIds))
436
+ : [];
437
+ const sessionIds = projectSessions.map((s) => s.id);
438
+ if (messageIds.length > 0) {
439
+ await this.db
440
+ .delete(chatMessageReads)
441
+ .where(inArray(chatMessageReads.messageId, messageIds));
442
+ await this.db
443
+ .delete(chatMessageTargets)
444
+ .where(inArray(chatMessageTargets.messageId, messageIds));
445
+ await this.db
446
+ .delete(chatThreadSessionInvites)
447
+ .where(inArray(chatThreadSessionInvites.inviteMessageId, messageIds));
448
+ }
449
+ if (agentIds.length > 0) {
450
+ await this.db.delete(chatMessageReads).where(inArray(chatMessageReads.agentId, agentIds));
451
+ await this.db
452
+ .delete(chatMessageTargets)
453
+ .where(inArray(chatMessageTargets.agentId, agentIds));
454
+ await this.db
455
+ .delete(chatThreadSessionInvites)
456
+ .where(inArray(chatThreadSessionInvites.agentId, agentIds));
457
+ await this.db.delete(chatActivities).where(inArray(chatActivities.agentId, agentIds));
458
+ await this.db.delete(chatMembers).where(inArray(chatMembers.agentId, agentIds));
459
+ }
460
+ if (messageIds.length > 0) {
461
+ await this.db.delete(chatMessages).where(inArray(chatMessages.threadId, threadIds));
462
+ }
463
+ if (threadIds.length > 0) {
464
+ await this.db.delete(chatThreads).where(inArray(chatThreads.id, threadIds));
465
+ }
466
+ if (sessionIds.length > 0) {
467
+ await this.db.delete(transcripts).where(inArray(transcripts.sessionId, sessionIds));
468
+ await this.db.delete(sessions).where(inArray(sessions.id, sessionIds));
469
+ }
470
+ if (epicIds.length > 0) {
471
+ await this.db.delete(epicComments).where(inArray(epicComments.epicId, epicIds));
472
+ const projectRecords = await this.db
473
+ .select({ id: records.id })
474
+ .from(records)
475
+ .where(inArray(records.epicId, epicIds));
476
+ const recordIds = projectRecords.map((r) => r.id);
477
+ if (recordIds.length > 0) {
478
+ await this.db.delete(recordTags).where(inArray(recordTags.recordId, recordIds));
479
+ await this.db.delete(records).where(inArray(records.id, recordIds));
480
+ }
481
+ await this.db.delete(epicTags).where(inArray(epicTags.epicId, epicIds));
482
+ }
483
+ if (epicIds.length > 0) {
484
+ await this.db.delete(epics).where(inArray(epics.id, epicIds));
485
+ }
486
+ if (docIds.length > 0) {
487
+ await this.db.delete(documentTags).where(inArray(documentTags.documentId, docIds));
488
+ await this.db.delete(documents).where(inArray(documents.id, docIds));
489
+ }
490
+ if (promptIds.length > 0) {
491
+ await this.db.delete(promptTags).where(inArray(promptTags.promptId, promptIds));
492
+ await this.db
493
+ .delete(agentProfilePrompts)
494
+ .where(inArray(agentProfilePrompts.promptId, promptIds));
495
+ await this.db.delete(prompts).where(inArray(prompts.id, promptIds));
496
+ }
497
+ const projectTeams = await this.db
498
+ .select({ id: teams.id })
499
+ .from(teams)
500
+ .where(eq(teams.projectId, id));
501
+ const teamIds = projectTeams.map((t) => t.id);
502
+ if (teamIds.length > 0) {
503
+ await this.db.delete(teamMembers).where(inArray(teamMembers.teamId, teamIds));
504
+ await this.db.delete(teams).where(inArray(teams.id, teamIds));
505
+ }
506
+ if (agentIds.length > 0) {
507
+ await this.db.delete(agents).where(inArray(agents.id, agentIds));
508
+ }
509
+ if (profileIds.length > 0) {
510
+ await this.db
511
+ .delete(agentProfilePrompts)
512
+ .where(inArray(agentProfilePrompts.profileId, profileIds));
513
+ await this.db.delete(agentProfiles).where(inArray(agentProfiles.id, profileIds));
514
+ }
515
+ if (tagIds.length > 0) {
516
+ await this.db.delete(tags).where(inArray(tags.id, tagIds));
517
+ }
518
+ await this.db.delete(statuses).where(eq(statuses.projectId, id));
519
+ await this.db.delete(guests).where(eq(guests.projectId, id));
520
+ await this.db.delete(projects).where(eq(projects.id, id));
521
+ });
472
522
  logger.info({ projectId: id }, 'Deleted project and all related records');
473
523
  }
474
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/project.delegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.delegate.js","sourceRoot":"","sources":["../../../../../src/modules/storage/local/delegates/project.delegate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,6CAAyC;AACzC,6CAA2C;AAC3C,uEAK+C;AAC/C,8DAAiE;AACjE,4CAMyB;AACzB,gEAAsE;AACtE,mEAA2F;AAE3F,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,wBAAwB,CAAC,CAAC;AAGtD,MAAa,sBAAuB,SAAQ,2CAAmB;IAC7D,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEO,oCAAoC;QAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE;aAChC,MAAM,CAAC,EAAE,IAAI,EAAE,8BAAqB,CAAC,IAAI,EAAE,CAAC;aAC5C,IAAI,CAAC,8BAAqB,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,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAA,wBAAU,GAAE,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;YAExE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAGhC,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,iBAAQ,CAAC;qBAChB,MAAM,CAAC;oBACN,EAAE,EAAE,IAAA,wBAAU,GAAE;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,6BAAoB,CAAC;qBAC5B,MAAM,CACL,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvC,EAAE,EAAE,IAAA,wBAAU,GAAE;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;YAED,OAAO,OAAO,CAAC;QACjB,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;IAMD,KAAK,CAAC,kBAAkB,CACtB,IAAmB,EACnB,OAA0C;QAE1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,iBAAiB,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAErD,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,IAAI,IAAA,wBAAU,GAAE,EAAE,GAAG,CAAC,CAAC;YAChF,MAAM,mBAAmB,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;YAExE,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAQf,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;gBAChD,MAAM,aAAa,GACjB,IAAI,KAAK,8BAA8B;oBACvC,IAAI,KAAK,0BAA0B;oBACnC,IAAI,KAAK,mBAAmB;oBAC5B,IAAA,0CAAwB,EAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,iBAAiB,IAAI,aAAa,EAAE,CAAC;oBACvC,MAAM,IAAI,2BAAa,CAAC,eAAe,iBAAiB,mBAAmB,EAAE;wBAC3E,KAAK,EAAE,WAAW;wBAClB,SAAS,EAAE,iBAAiB;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,EAAE;qBACJ,MAAM,CAAC,6BAAoB,CAAC;qBAC5B,MAAM,CACL,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvC,EAAE,EAAE,IAAA,wBAAU,GAAE;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;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,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,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,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,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,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,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,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,UAA8B,EAAE;QACjD,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,eAAe,GAAG,OAAO,CAAC,WAAW;YACzC,CAAC,CAAC,IAAA,gBAAE,EAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE;aACxB,MAAM,EAAE;aACR,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,eAAe,CAAC;aACtB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE;aAC9B,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,UAAU,EAAE,CAAC;aACxC,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAExD,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,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,SAAiB;QAGjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACvB,MAAM,EAAE;aACR,IAAI,CAAC,iBAAQ,CAAC;aACd,KAAK,CACJ,IAAA,gBAAE,EACA,iBAAQ,CAAC,WAAW,EACpB,IAAA,iBAAG,EAAA,6BAA6B,iBAAQ,UAAU,iBAAQ,CAAC,EAAE,MAAM,SAAS,GAAG,CAChF,CACF;aACA,OAAO,CAAC,IAAA,iBAAG,EAAC,iBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,2BAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,IAAmB;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7F,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;gBACrE,IAAI,CAAC,yCAAyC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,EAAE;iBACJ,MAAM,CAAC,iBAAQ,CAAC;iBAChB,GAAG,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;iBACD,KAAK,CAAC,IAAA,gBAAE,EAAC,iBAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC1B,GAAG,EAAE,CAAC;YAET,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,EAAU;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAQ,CAAC,CAAC,KAAK,CAAC,IAAA,gBAAE,EAAC,iBAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACtF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,2BAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,YAAY,CAAC,IAAmB,EAAE,EAAU,EAAE,GAAW;QAC/D,OAAO;YACL,EAAE;YACF,GAAG,IAAI;YACP,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;YAC1D,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IACjD,CAAC;IAEO,UAAU,CAAC,GAAe;QAChC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,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,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,oBAAwC;QACrE,IAAI,WAAW,GAAG,qCAA4B,CAAC;QAC/C,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,WAAW,GAAG,OAAO,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,6BAAe,CAAC,yCAAyC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS;aAC1B,OAAO,CAAC,+CAA+C,CAAC;aACxD,GAAG,CAAC,WAAW,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,2BAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,yCAAyC,CAC/C,SAAiB,EACjB,iBAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;aAC5B,OAAO,CACN;;;;;;iBAMS,CACV;aACA,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAA+B,CAAC;QACjF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,2BAAa,CACrB,gFAAgF,EAChF;gBACE,IAAI,EAAE,qCAAqC;gBAC3C,SAAS;gBACT,iBAAiB;gBACjB,UAAU,EAAE,QAAQ,CAAC,EAAE;aACxB,CACF,CAAC;QACJ,CAAC;IACH,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,EACN,sBAAsB,EACtB,WAAW,EACX,KAAK,GACN,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACpC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE;iBAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,EAAE,EAAE,CAAC;iBACzC,IAAI,CAAC,sBAAsB,CAAC;iBAC5B,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC/C,KAAK,CAAC,CAAC,CAAC;iBACR,GAAG,EAAE,CAAC;YACT,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,IAAI,2BAAa,CAAC,yDAAyD,EAAE;oBACjF,IAAI,EAAE,qCAAqC;oBAC3C,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;YAMD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;iBACxB,IAAI,CAAC,KAAK,CAAC;iBACX,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,EAAE;iBACrC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;iBAC9B,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;qBAC/B,IAAI,CAAC,YAAY,CAAC;qBAClB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEpD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE;iBAChC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBACzB,IAAI,CAAC,MAAM,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEhD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;iBAC5B,IAAI,CAAC,SAAS,CAAC;iBACf,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE5C,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,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAElD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE;iBAClC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;iBAChC,IAAI,CAAC,aAAa,CAAC;iBACnB,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;iBACvB,IAAI,CAAC,IAAI,CAAC;iBACV,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE5C,MAAM,eAAe,GACnB,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;qBAC3B,IAAI,CAAC,QAAQ,CAAC;qBACd,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAKpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,gBAAgB,CAAC;qBACxB,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,kBAAkB,CAAC;qBAC1B,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,wBAAwB,CAAC;qBAChC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;YAC1E,CAAC;YAGD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC1F,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,kBAAkB,CAAC;qBAC1B,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,wBAAwB,CAAC;qBAChC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACtF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClF,CAAC;YAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YACtF,CAAC;YAGD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9E,CAAC;YAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACpF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;YACzE,CAAC;YAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE;qBACjC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;qBAC1B,IAAI,CAAC,OAAO,CAAC;qBACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;oBAChF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1E,CAAC;YAGD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;YAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACvE,CAAC;YAGD,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;qBACV,MAAM,CAAC,mBAAmB,CAAC;qBAC3B,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YACtE,CAAC;YAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;iBACxB,IAAI,CAAC,KAAK,CAAC;iBACX,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9E,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;YAGD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnE,CAAC;YAGD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,EAAE;qBACV,MAAM,CAAC,mBAAmB,CAAC;qBAC3B,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC7D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;YACnF,CAAC;YAGD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC;YAGD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAGjE,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAG7D,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,yCAAyC,CAAC,CAAC;IAC5E,CAAC;CACF;AAnpBD,wDAmpBC"}
@@ -1,7 +1,7 @@
1
1
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
2
- import { StorageService, ListOptions, ListResult, ProjectListOptions, DocumentListFilters, DocumentIdentifier, ListProjectEpicsOptions, ListAssignedEpicsOptions, ListParentChildrenOptions, ListSubEpicsForParentsOptions, CreateEpicForProjectInput, ProfileListOptions, PromptListFilters, PromptSummary, ListReviewsOptions, ListReviewCommentsOptions, type CreateIfMissingInput, type CreateIfMissingResult, ListScheduledEpicsOptions, ListScheduledEpicRunsOptions, type ClaimRunResult, type CreateSkillSourceOptions, type DeleteAgentOptions, type UpdateScheduledEpicOptions, type VerifyIntegrationCredentials } from '../interfaces/storage.interface';
2
+ import { StorageService, ListOptions, ListResult, ProjectListOptions, DocumentListFilters, DocumentIdentifier, ListProjectEpicsOptions, ListAssignedEpicsOptions, ListEpicRelationCandidatesOptions, ListEpicRelationsOptions, EpicRelationReadOptions, ListParentChildrenOptions, ListSubEpicsForParentsOptions, CreateEpicForProjectInput, ProfileListOptions, PromptListFilters, PromptSummary, ListReviewsOptions, ListReviewCommentsOptions, type CreateIfMissingInput, type CreateIfMissingResult, ListScheduledEpicsOptions, ListScheduledEpicRunsOptions, type ClaimRunResult, type CreateSkillSourceOptions, type DeleteAgentOptions, type UpdateScheduledEpicOptions, type VerifyIntegrationCredentials } from '../interfaces/storage.interface';
3
3
  import type { SnapshotPromptWriter } from '../interfaces/snapshot-prompt-writer.interface';
4
- import { Project, CreateProject, UpdateProject, ProjectWorkspace, DeleteProjectWorkspaceResult, Status, CreateStatus, UpdateStatus, Epic, CreateEpic, UpdateEpic, Prompt, CreatePrompt, UpdatePrompt, Tag, CreateTag, UpdateTag, Provider, CreateProvider, ProviderModel, CreateProviderModel, ProviderEffort, CreateProviderEffort, UpdateProvider, ProviderMcpMetadata, UpdateProviderMcpMetadata, ProviderPluginDefault, ProjectProviderPluginOverride, UpsertProviderPluginDefault, UpsertProjectProviderPluginOverride, AgentProfile, CreateAgentProfile, UpdateAgentProfile, ProfileProviderConfig, CreateProfileProviderConfig, UpdateProfileProviderConfig, Agent, CreateAgent, UpdateAgent, EpicRecord, CreateEpicRecord, UpdateEpicRecord, EpicComment, CreateEpicComment, Document, CreateDocument, UpdateDocument, Guest, CreateGuest, Watcher, CreateWatcher, UpdateWatcher, Subscriber, CreateSubscriber, UpdateSubscriber, Review, CreateReview, UpdateReview, ReviewComment, ReviewCommentEnriched, CreateReviewComment, UpdateReviewComment, ReviewCommentTarget, CommunitySkillSource, CreateCommunitySkillSource, LocalSkillSource, CreateLocalSkillSource, ScheduledEpic, CreateScheduledEpic, UpdateScheduledEpic, UpdateScheduledEpicRuntimeState, ScheduledEpicRun, CreateScheduledEpicRun, UpdateScheduledEpicRun, CreateExternalTaskLink, ExternalTaskLink, IntegrationConnection, IntegrationCredentials, IntegrationProvider, ReplaceIntegrationConnection, CreateEpicWithExternalTaskLink, CreateEpicWithExternalTaskLinkResult, CreateExternalManagedSubtaskLink, UpdateExternalManagedSubtaskLink, ExternalManagedSubtaskLink, ConfirmExternalManagedSubtaskLink, ConfirmExternalManagedSubtaskLinkResult } from '../models/domain.models';
4
+ import { Project, CreateProject, UpdateProject, ProjectWorkspace, DeleteProjectWorkspaceResult, Status, CreateStatus, UpdateStatus, Epic, CreateEpic, UpdateEpic, Prompt, CreatePrompt, UpdatePrompt, Tag, CreateTag, UpdateTag, Provider, CreateProvider, ProviderModel, CreateProviderModel, ProviderEffort, CreateProviderEffort, UpdateProvider, ProviderMcpMetadata, UpdateProviderMcpMetadata, ProviderPluginDefault, ProjectProviderPluginOverride, UpsertProviderPluginDefault, UpsertProjectProviderPluginOverride, AgentProfile, CreateAgentProfile, UpdateAgentProfile, ProfileProviderConfig, CreateProfileProviderConfig, UpdateProfileProviderConfig, Agent, CreateAgent, UpdateAgent, EpicRecord, CreateEpicRecord, UpdateEpicRecord, EpicComment, CreateEpicComment, Document, CreateDocument, UpdateDocument, Guest, CreateGuest, Watcher, CreateWatcher, UpdateWatcher, Subscriber, CreateSubscriber, UpdateSubscriber, Review, CreateReview, UpdateReview, ReviewComment, ReviewCommentEnriched, CreateReviewComment, UpdateReviewComment, ReviewCommentTarget, CommunitySkillSource, CreateCommunitySkillSource, LocalSkillSource, CreateLocalSkillSource, ScheduledEpic, CreateScheduledEpic, UpdateScheduledEpic, UpdateScheduledEpicRuntimeState, ScheduledEpicRun, CreateScheduledEpicRun, UpdateScheduledEpicRun, CreateExternalTaskLink, ExternalTaskLink, IntegrationConnection, IntegrationConnectionLookup, IntegrationCredentials, IntegrationProvider, ReplaceIntegrationConnection, CreateEpicWithExternalTaskLink, CreateEpicWithExternalTaskLinkResult, CreateExternalManagedSubtaskLink, UpdateExternalManagedSubtaskLink, ExternalManagedSubtaskLink, ConfirmExternalManagedSubtaskLink, ConfirmExternalManagedSubtaskLinkResult, EpicRelationCandidate, EpicRelationListItem, EpicRelationSummary, EpicRelationWriteContext, SetEpicRelationResult, DeleteEpicRelationResult, SetEpicRelation, ExternalEstimateLoggedMinutesEntry, ExternalEstimateLogDailyCheckpoint, ExternalEstimateLogIdentity, ExternalEstimateLogOperationMutation, ExternalEstimateLogState, PrepareExternalEstimateLogOperation, SetExternalEstimateLoggedMinutes, StoreExternalEstimateLogResolution } from '../models/domain.models';
5
5
  import { type FeatureFlagConfig } from '../../../common/config/feature-flags';
6
6
  import { IntegrationCredentialCipher } from './integration-credential-cipher';
7
7
  import { CommittedEventStore } from '../../events/services/committed-event.store';
@@ -33,6 +33,7 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
33
33
  private readonly sessionDelegate;
34
34
  private readonly integrationDelegate;
35
35
  private readonly externalManagedSubtaskDelegate;
36
+ private readonly externalEstimateLogDelegate;
36
37
  constructor(db: BetterSQLite3Database, integrationCredentialCipher?: IntegrationCredentialCipher, committedEventStore?: CommittedEventStore);
37
38
  getFeatureFlags(): FeatureFlagConfig;
38
39
  createProject(data: CreateProject): Promise<Project>;
@@ -42,6 +43,7 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
42
43
  findProjectByPath(path: string): Promise<Project | null>;
43
44
  listProjects(options?: ProjectListOptions): Promise<ListResult<Project>>;
44
45
  getProjectsByIdPrefix(prefix: string): Promise<Project[]>;
46
+ getProjectWorkspaceSnapshot(projectId: string): Promise<Project[]>;
45
47
  updateProject(id: string, data: UpdateProject): Promise<Project>;
46
48
  deleteProject(id: string): Promise<void>;
47
49
  listProjectWorkspaces(): Promise<ProjectWorkspace[]>;
@@ -57,7 +59,7 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
57
59
  updateStatus(id: string, data: UpdateStatus): Promise<Status>;
58
60
  deleteStatus(id: string): Promise<void>;
59
61
  createEpic(data: CreateEpic, eventFactory?: (epic: Epic) => PreparedEvent | null): Promise<Epic>;
60
- createEpicWithinTransaction(data: CreateEpic, eventFactory?: (epic: Epic) => PreparedEvent | null): Promise<Epic>;
62
+ createEpicWithinTransaction(data: CreateEpic, eventFactory?: (epic: Epic) => PreparedEvent | null, beforeEventAppend?: (epic: Epic) => Promise<void>): Promise<Epic>;
61
63
  getEpic(id: string): Promise<Epic>;
62
64
  listEpics(projectId: string, options?: ListOptions): Promise<ListResult<Epic>>;
63
65
  listEpicsByStatus(statusId: string, options?: ListOptions): Promise<ListResult<Epic>>;
@@ -65,7 +67,7 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
65
67
  listAssignedEpics(projectId: string, options: ListAssignedEpicsOptions): Promise<ListResult<Epic>>;
66
68
  createEpicForProject(projectId: string, input: CreateEpicForProjectInput, eventFactory?: (epic: Epic) => PreparedEvent | null): Promise<Epic>;
67
69
  updateEpic(id: string, data: UpdateEpic, expectedVersion: number, eventFactory?: FactualEventFactory<Epic, Epic>): Promise<Epic>;
68
- deleteEpic(id: string, eventFactory?: (epic: Epic) => PreparedEvent | null): Promise<void>;
70
+ deleteEpic(id: string, eventFactory?: (epic: Epic, workspaceId: string) => PreparedEvent | null): Promise<void>;
69
71
  listSubEpics(parentId: string, options?: ListOptions): Promise<ListResult<Epic>>;
70
72
  listParentChildren(parentId: string, options?: ListParentChildrenOptions): Promise<ListResult<Epic>>;
71
73
  listSubEpicsForParents(projectId: string, parentIds: string[], options?: ListSubEpicsForParentsOptions): Promise<Map<string, Epic[]>>;
@@ -73,13 +75,19 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
73
75
  countEpicsByStatus(statusId: string): Promise<number>;
74
76
  updateEpicsStatus(oldStatusId: string, newStatusId: string): Promise<number>;
75
77
  listEpicComments(epicId: string, options?: ListOptions): Promise<ListResult<EpicComment>>;
76
- createEpicComment(data: CreateEpicComment): Promise<EpicComment>;
78
+ createEpicComment(data: CreateEpicComment, eventFactory?: FactualEventFactory<EpicComment, Epic>): Promise<EpicComment>;
77
79
  deleteEpicComment(id: string): Promise<void>;
78
80
  deleteEpicCommentScoped(epicId: string, commentId: string): Promise<boolean>;
79
81
  getEpicsByIdPrefix(projectId: string, prefix: string): Promise<Array<{
80
82
  id: string;
81
83
  title: string;
82
84
  }>>;
85
+ setEpicRelation(data: SetEpicRelation, context?: EpicRelationWriteContext): Promise<SetEpicRelationResult>;
86
+ deleteEpicRelation(epicId: string, relatedEpicId: string, context?: EpicRelationWriteContext): Promise<DeleteEpicRelationResult>;
87
+ listEpicRelations(epicId: string, options?: ListEpicRelationsOptions): Promise<ListResult<EpicRelationListItem>>;
88
+ summarizeEpicRelationsBatch(epicIds: string[], options?: EpicRelationReadOptions): Promise<Map<string, EpicRelationSummary>>;
89
+ listEpicRelationCandidates(epicId: string, options?: ListEpicRelationCandidatesOptions): Promise<ListResult<EpicRelationCandidate>>;
90
+ getWorkspaceEpicsByIdPrefix(epicId: string, prefix: string, options?: EpicRelationReadOptions): Promise<EpicRelationCandidate[]>;
83
91
  createPrompt(data: CreatePrompt): Promise<Prompt>;
84
92
  createPromptFromSnapshot(data: CreatePrompt): Promise<Prompt>;
85
93
  getPrompt(id: string): Promise<Prompt>;
@@ -253,25 +261,52 @@ export declare class LocalStorageService implements StorageService, SnapshotProm
253
261
  newAgentId: string;
254
262
  }>, toDelete: string[]): Promise<void>;
255
263
  replaceIntegrationConnection(data: ReplaceIntegrationConnection, verify: VerifyIntegrationCredentials, eventFactory?: FactualEventFactory<IntegrationConnection, IntegrationConnection | null>): Promise<IntegrationConnection>;
256
- getIntegrationConnection(provider: IntegrationProvider): Promise<IntegrationConnection | null>;
257
- listIntegrationConnections(): Promise<IntegrationConnection[]>;
258
- getIntegrationConnectionCredentials(provider: IntegrationProvider): Promise<IntegrationCredentials | null>;
259
- disconnectIntegrationConnection(provider: IntegrationProvider, eventFactory?: (connection: IntegrationConnection) => PreparedEvent | null, options?: {
264
+ getIntegrationConnection(identity: IntegrationConnectionLookup): Promise<IntegrationConnection | null>;
265
+ getIntegrationConnectionById(connectionId: string): Promise<IntegrationConnection | null>;
266
+ assignUnassignedIntegrationConnection(connectionId: string, projectId: string, eventFactory?: FactualEventFactory<IntegrationConnection, IntegrationConnection>): Promise<IntegrationConnection>;
267
+ listIntegrationConnectionsByLegacySourceConnectionId(legacySourceConnectionId: string): Promise<IntegrationConnection[]>;
268
+ listIntegrationConnections(projectId?: string): Promise<IntegrationConnection[]>;
269
+ getIntegrationConnectionCredentials(identity: IntegrationConnectionLookup): Promise<IntegrationCredentials | null>;
270
+ getIntegrationConnectionCredentialsById(connectionId: string): Promise<IntegrationCredentials | null>;
271
+ disconnectIntegrationConnection(identity: IntegrationConnectionLookup, eventFactory?: (connection: IntegrationConnection) => PreparedEvent | null, options?: {
260
272
  acknowledgeOrphanRisk?: boolean;
261
273
  }): Promise<boolean>;
262
- updateIntegrationConnectionSyncSetting(provider: IntegrationProvider, subtaskSyncEnabled: boolean, eventFactory?: FactualEventFactory<IntegrationConnection, IntegrationConnection>): Promise<IntegrationConnection>;
274
+ disconnectIntegrationConnectionById(connectionId: string, eventFactory?: (connection: IntegrationConnection) => PreparedEvent | null, options?: {
275
+ acknowledgeOrphanRisk?: boolean;
276
+ }): Promise<boolean>;
277
+ disconnectUnassignedIntegrationConnection(connectionId: string, eventFactory?: (connection: IntegrationConnection) => PreparedEvent | null, options?: {
278
+ acknowledgeOrphanRisk?: boolean;
279
+ }): Promise<boolean>;
280
+ updateIntegrationConnectionSyncSetting(identity: IntegrationConnectionLookup, subtaskSyncEnabled: boolean, eventFactory?: FactualEventFactory<IntegrationConnection, IntegrationConnection>): Promise<IntegrationConnection>;
281
+ updateIntegrationConnectionSyncSettingById(connectionId: string, subtaskSyncEnabled: boolean, eventFactory?: FactualEventFactory<IntegrationConnection, IntegrationConnection>): Promise<IntegrationConnection>;
263
282
  createExternalTaskLink(data: CreateExternalTaskLink): Promise<ExternalTaskLink>;
264
283
  createEpicWithExternalTaskLink(data: CreateEpicWithExternalTaskLink, eventFactory?: (result: CreateEpicWithExternalTaskLinkResult) => PreparedEvent | null): Promise<CreateEpicWithExternalTaskLinkResult>;
265
284
  findExternalTaskLink(provider: IntegrationProvider, remoteScopeKey: string, remoteTaskId: string): Promise<ExternalTaskLink | null>;
266
285
  listExternalTaskLinksByRemoteScope(provider: IntegrationProvider, remoteScopeKey: string): Promise<ExternalTaskLink[]>;
286
+ listExternalTaskLinksByRemoteTask(provider: IntegrationProvider, remoteTaskId: string): Promise<ExternalTaskLink[]>;
267
287
  listExternalTaskLinksForEpic(epicId: string): Promise<ExternalTaskLink[]>;
268
288
  listExternalTaskLinksForEpics(epicIds: string[]): Promise<ExternalTaskLink[]>;
269
289
  createExternalManagedSubtaskLink(data: CreateExternalManagedSubtaskLink): Promise<ExternalManagedSubtaskLink>;
270
290
  getExternalManagedSubtaskLink(id: string): Promise<ExternalManagedSubtaskLink>;
271
291
  listExternalManagedSubtaskLinksByProvider(provider: IntegrationProvider): Promise<ExternalManagedSubtaskLink[]>;
292
+ listExternalManagedSubtaskLinksByConnection(connectionId: string): Promise<ExternalManagedSubtaskLink[]>;
272
293
  listExternalManagedSubtaskLinksForEpicSnapshot(epicIdSnapshot: string): Promise<ExternalManagedSubtaskLink[]>;
273
294
  updateExternalManagedSubtaskLink(id: string, data: UpdateExternalManagedSubtaskLink): Promise<ExternalManagedSubtaskLink>;
274
295
  findRecognizedManagedSubtask(epicId: string, provider: IntegrationProvider, remoteScopeKey: string, remoteTaskId: string): Promise<ExternalManagedSubtaskLink | null>;
275
296
  confirmExternalManagedSubtaskLink(data: ConfirmExternalManagedSubtaskLink): Promise<ConfirmExternalManagedSubtaskLinkResult>;
276
297
  removeExternalManagedSubtaskLink(id: string): Promise<boolean>;
298
+ getExternalEstimateLogState(identity: ExternalEstimateLogIdentity): Promise<ExternalEstimateLogState | null>;
299
+ getExternalEstimateLogDailyCheckpoint(identity: ExternalEstimateLogIdentity): Promise<ExternalEstimateLogDailyCheckpoint | null>;
300
+ listExternalEstimateLogStatesByRemoteTask(provider: IntegrationProvider, remoteTaskId: string): Promise<ExternalEstimateLogState[]>;
301
+ listExternalEstimateLoggedMinutes(provider: IntegrationProvider, identities: ReadonlyArray<{
302
+ remoteScopeKey: string;
303
+ remoteTaskId: string;
304
+ }>): Promise<ExternalEstimateLoggedMinutesEntry[]>;
305
+ setExternalEstimateLoggedMinutes(data: SetExternalEstimateLoggedMinutes): Promise<ExternalEstimateLogState>;
306
+ prepareExternalEstimateLogOperation(data: PrepareExternalEstimateLogOperation): Promise<ExternalEstimateLogState>;
307
+ markExternalEstimateLogOperationOutcomeUnknown(data: ExternalEstimateLogOperationMutation): Promise<ExternalEstimateLogState>;
308
+ confirmExternalEstimateLogOperation(data: ExternalEstimateLogOperationMutation): Promise<ExternalEstimateLogState>;
309
+ clearExternalEstimateLogOperation(data: ExternalEstimateLogOperationMutation): Promise<ExternalEstimateLogState>;
310
+ storeExternalEstimateLogResolution(data: StoreExternalEstimateLogResolution): Promise<ExternalEstimateLogState>;
311
+ applyExternalEstimateLogResolution(data: ExternalEstimateLogOperationMutation): Promise<ExternalEstimateLogState>;
277
312
  }