@fleettools/server 0.1.0 → 0.2.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 (307) hide show
  1. package/package.json +6 -2
  2. package/tsconfig.json +7 -1
  3. package/.flightline/checkpoints.db +0 -0
  4. package/.flightline/ctk/04a5510b-1e09-40c6-91c8-399c22138708.json +0 -9
  5. package/.flightline/ctk/0ecde721-7827-4039-995a-974e24493cc5.json +0 -9
  6. package/.flightline/ctk/268bbdbd-ddd7-46b2-845f-56a138aa518a.json +0 -9
  7. package/.flightline/ctk/6f476f2e-776c-407a-b441-b9365c0bae95.json +0 -9
  8. package/.flightline/ctk/7e10d0d5-fbc2-4661-af03-53de89e064db.json +0 -9
  9. package/.flightline/ctk/90783096-b7d4-49c5-8153-3c35018a2e61.json +0 -9
  10. package/.flightline/ctk/9a3b6d18-8a46-4728-90aa-279800a8e397.json +0 -9
  11. package/.flightline/ctk/ae30e192-b386-4ee2-899c-93f86785d3f3.json +0 -9
  12. package/.flightline/ctk/d0e9c49e-10df-413e-8cf7-37232b1838ca.json +0 -9
  13. package/.flightline/ctk/eae1a12b-2e9d-4c3f-8619-dafbb1346e96.json +0 -9
  14. package/.flightline/mailboxes/mbx_00dae6ba-0b5e-4a8d-a86d-93c8640872c3/manifest.json +0 -6
  15. package/.flightline/mailboxes/mbx_05b0bfa9-c4f5-4f68-ba75-6202820f49c3/manifest.json +0 -6
  16. package/.flightline/mailboxes/mbx_0a6b8fb2-729e-4385-8241-839c36b929d7/manifest.json +0 -6
  17. package/.flightline/mailboxes/mbx_0abca4ab-8e34-409c-997f-481e80e450dc/manifest.json +0 -6
  18. package/.flightline/mailboxes/mbx_173e5fb9-8203-418d-93c2-4f8c91f2d842/manifest.json +0 -6
  19. package/.flightline/mailboxes/mbx_22b62201-0570-4ce8-b0a7-0f4b445f6d9e/manifest.json +0 -6
  20. package/.flightline/mailboxes/mbx_2724efb1-76e1-4147-9620-4defcc65510f/manifest.json +0 -6
  21. package/.flightline/mailboxes/mbx_35b8bfcd-5a54-48f1-8759-cb1f8ffe775d/manifest.json +0 -6
  22. package/.flightline/mailboxes/mbx_3bc5193a-604d-4f52-be00-e56277643358/manifest.json +0 -6
  23. package/.flightline/mailboxes/mbx_3bd500f3-c111-427a-8cd7-a004125d6dc1/manifest.json +0 -6
  24. package/.flightline/mailboxes/mbx_45ce9ae8-5299-44dc-a1b5-4d63914a9609/manifest.json +0 -6
  25. package/.flightline/mailboxes/mbx_4779c645-1efc-4c76-ab21-ff93f973ee8f/manifest.json +0 -6
  26. package/.flightline/mailboxes/mbx_482237cf-87c8-486e-a24d-0941be2f480d/manifest.json +0 -6
  27. package/.flightline/mailboxes/mbx_4b7e23c8-5680-4edd-a276-88803dd5fb6f/manifest.json +0 -6
  28. package/.flightline/mailboxes/mbx_4dd3b945-d846-4c7a-94eb-6eeb25a0dc6b/manifest.json +0 -6
  29. package/.flightline/mailboxes/mbx_4ec41a62-62bb-4be4-b3ce-282d5a33acce/manifest.json +0 -6
  30. package/.flightline/mailboxes/mbx_4ff7ee7e-0c8a-43d6-a829-7c62c10af3b0/manifest.json +0 -6
  31. package/.flightline/mailboxes/mbx_7661e4fb-a919-4af1-86f7-3eaef22f1d81/manifest.json +0 -6
  32. package/.flightline/mailboxes/mbx_7ca872bb-69ab-4e7d-a7c6-4888ec8e7749/manifest.json +0 -6
  33. package/.flightline/mailboxes/mbx_7e6d5707-2aa5-4770-a7be-6b1be93d0d87/manifest.json +0 -6
  34. package/.flightline/mailboxes/mbx_87bef50d-3c59-429b-a995-5872f6278c37/manifest.json +0 -6
  35. package/.flightline/mailboxes/mbx_88d1ea56-0b69-48c4-9fcf-ce1e1f7527ba/manifest.json +0 -6
  36. package/.flightline/mailboxes/mbx_8bfb6bd7-07d1-4836-ae9d-3c93668c6dfe/manifest.json +0 -6
  37. package/.flightline/mailboxes/mbx_93355083-e95b-4341-b625-56fcc1e4fc0c/manifest.json +0 -6
  38. package/.flightline/mailboxes/mbx_999fd94c-ca56-4fec-8d30-8b677cf40ad6/manifest.json +0 -6
  39. package/.flightline/mailboxes/mbx_a039fd15-7ee1-4bd6-906d-55dea8d0e489/manifest.json +0 -6
  40. package/.flightline/mailboxes/mbx_a0b7363f-7cc6-4940-8e29-2dc85793a77d/manifest.json +0 -6
  41. package/.flightline/mailboxes/mbx_a31e8b61-9643-4c78-939d-d1696d0420d9/manifest.json +0 -6
  42. package/.flightline/mailboxes/mbx_acc51591-256c-4bed-9a51-514b1811f4cd/manifest.json +0 -6
  43. package/.flightline/mailboxes/mbx_b1efebd9-5981-49fa-8775-20fa00d0c902/manifest.json +0 -6
  44. package/.flightline/mailboxes/mbx_ba9d4c61-39a3-4852-95d7-bd34e3605a43/manifest.json +0 -6
  45. package/.flightline/mailboxes/mbx_c549b60f-65fd-48d5-8cd6-2f053292b112/manifest.json +0 -6
  46. package/.flightline/mailboxes/mbx_d0f839a5-3ab9-42e2-b438-df5825d049fe/manifest.json +0 -6
  47. package/.flightline/mailboxes/mbx_d826d57e-9817-4f3c-ab94-2bfafa352f6d/manifest.json +0 -6
  48. package/.flightline/mailboxes/mbx_da102f37-632c-4c0b-be4c-4270a74c06b9/manifest.json +0 -6
  49. package/.flightline/mailboxes/mbx_df4506f5-67f2-4cf6-9113-93994b76f39b/manifest.json +0 -6
  50. package/.flightline/mailboxes/mbx_e038e93b-87ea-4122-9578-6540018697b7/manifest.json +0 -6
  51. package/.flightline/mailboxes/mbx_e0c171c5-407f-44dc-9ef9-e26e8b99ceac/manifest.json +0 -6
  52. package/.flightline/mailboxes/mbx_e64770bf-7220-4d0f-848c-d751ea1c7376/manifest.json +0 -6
  53. package/.flightline/mailboxes/mbx_e7f0edda-0fab-484d-ab4d-d8a8e363cd14/manifest.json +0 -6
  54. package/.flightline/mailboxes/mbx_ec7d9118-8594-4d79-bf79-f43afdfaf156/manifest.json +0 -6
  55. package/.flightline/mailboxes/mbx_ee06ec01-03e4-485a-ae2b-d8bdb6e7a3a8/manifest.json +0 -6
  56. package/.flightline/mailboxes/mbx_fd467681-f9cf-4a54-b06a-836df6de2ccc/manifest.json +0 -6
  57. package/.flightline/progress.db +0 -0
  58. package/.flightline/recovery.log +0 -1
  59. package/.flightline/tasks.db +0 -0
  60. package/.flightline/tech-orders/to_0c93d981-6b4e-4055-8678-f39c009d1db1.json +0 -11
  61. package/.flightline/tech-orders/to_1862f8ed-c487-4914-9f1e-528af6d4f053.json +0 -11
  62. package/.flightline/tech-orders/to_2335a57d-f400-4efa-b108-e13ece57520d.json +0 -11
  63. package/.flightline/tech-orders/to_2bd8dbdd-ac57-4b84-b977-33a3637d10d1.json +0 -11
  64. package/.flightline/tech-orders/to_37057c01-39b5-403a-991f-afb186abde95.json +0 -11
  65. package/.flightline/tech-orders/to_9e7288bb-c0fd-488a-a83d-1e9337bd0f1f.json +0 -11
  66. package/.flightline/tech-orders/to_aa0fe80b-9de7-40f6-a106-353b5bca10bd.json +0 -11
  67. package/.flightline/tech-orders/to_c1a0f480-c863-4203-a070-76ad77137845.json +0 -11
  68. package/.flightline/tech-orders/to_cf1e882a-cf56-45a4-8d19-494925e5f449.json +0 -11
  69. package/.flightline/work-orders/wo_5a29168d-5fb4-41d7-8dac-1d1151d9248f/manifest.json +0 -15
  70. package/.flightline/work-orders/wo_6c8c38bb-17a1-4885-ada4-dbfc5cc12d7a/manifest.json +0 -15
  71. package/.flightline/work-orders/wo_cadeb9b2-ea42-4491-b429-e2d467942b5c/manifest.json +0 -12
  72. package/.flightline/work-orders/wo_cc7b669c-16c4-4ef7-8a76-d1813219d0be/manifest.json +0 -15
  73. package/dist/agent-lifecycle.js +0 -148
  74. package/dist/agent-spawner.js +0 -460
  75. package/dist/agent-validation.js +0 -111
  76. package/dist/index.js +0 -255
  77. package/dist/server/api/src/coordination/agent-lifecycle.d.ts +0 -12
  78. package/dist/server/api/src/coordination/agent-lifecycle.d.ts.map +0 -1
  79. package/dist/server/api/src/coordination/agent-lifecycle.js +0 -12
  80. package/dist/server/api/src/coordination/agent-lifecycle.js.map +0 -1
  81. package/dist/server/api/src/coordination/agent-runner.d.ts +0 -9
  82. package/dist/server/api/src/coordination/agent-runner.d.ts.map +0 -1
  83. package/dist/server/api/src/coordination/agent-runner.js +0 -416
  84. package/dist/server/api/src/coordination/agent-runner.js.map +0 -1
  85. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts +0 -7
  86. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts.map +0 -1
  87. package/dist/server/api/src/coordination/agent-spawner-routes.js +0 -321
  88. package/dist/server/api/src/coordination/agent-spawner-routes.js.map +0 -1
  89. package/dist/server/api/src/coordination/agent-spawner.d.ts +0 -187
  90. package/dist/server/api/src/coordination/agent-spawner.d.ts.map +0 -1
  91. package/dist/server/api/src/coordination/agent-spawner.js +0 -712
  92. package/dist/server/api/src/coordination/agent-spawner.js.map +0 -1
  93. package/dist/server/api/src/coordination/agents.d.ts +0 -13
  94. package/dist/server/api/src/coordination/agents.d.ts.map +0 -1
  95. package/dist/server/api/src/coordination/agents.js +0 -464
  96. package/dist/server/api/src/coordination/agents.js.map +0 -1
  97. package/dist/server/api/src/coordination/checkpoint-routes.d.ts +0 -33
  98. package/dist/server/api/src/coordination/checkpoint-routes.d.ts.map +0 -1
  99. package/dist/server/api/src/coordination/checkpoint-routes.js +0 -323
  100. package/dist/server/api/src/coordination/checkpoint-routes.js.map +0 -1
  101. package/dist/server/api/src/coordination/conflict-resolver.d.ts +0 -152
  102. package/dist/server/api/src/coordination/conflict-resolver.d.ts.map +0 -1
  103. package/dist/server/api/src/coordination/conflict-resolver.js +0 -502
  104. package/dist/server/api/src/coordination/conflict-resolver.js.map +0 -1
  105. package/dist/server/api/src/coordination/missions.d.ts +0 -9
  106. package/dist/server/api/src/coordination/missions.d.ts.map +0 -1
  107. package/dist/server/api/src/coordination/missions.js +0 -148
  108. package/dist/server/api/src/coordination/missions.js.map +0 -1
  109. package/dist/server/api/src/coordination/monitor.d.ts +0 -175
  110. package/dist/server/api/src/coordination/monitor.d.ts.map +0 -1
  111. package/dist/server/api/src/coordination/monitor.js +0 -410
  112. package/dist/server/api/src/coordination/monitor.js.map +0 -1
  113. package/dist/server/api/src/coordination/notifier.d.ts +0 -160
  114. package/dist/server/api/src/coordination/notifier.d.ts.map +0 -1
  115. package/dist/server/api/src/coordination/notifier.js +0 -422
  116. package/dist/server/api/src/coordination/notifier.js.map +0 -1
  117. package/dist/server/api/src/coordination/progress-tracker.d.ts +0 -98
  118. package/dist/server/api/src/coordination/progress-tracker.d.ts.map +0 -1
  119. package/dist/server/api/src/coordination/progress-tracker.js +0 -323
  120. package/dist/server/api/src/coordination/progress-tracker.js.map +0 -1
  121. package/dist/server/api/src/coordination/recovery-manager.d.ts +0 -135
  122. package/dist/server/api/src/coordination/recovery-manager.d.ts.map +0 -1
  123. package/dist/server/api/src/coordination/recovery-manager.js +0 -435
  124. package/dist/server/api/src/coordination/recovery-manager.js.map +0 -1
  125. package/dist/server/api/src/coordination/task-decomposer.d.ts +0 -90
  126. package/dist/server/api/src/coordination/task-decomposer.d.ts.map +0 -1
  127. package/dist/server/api/src/coordination/task-decomposer.js +0 -412
  128. package/dist/server/api/src/coordination/task-decomposer.js.map +0 -1
  129. package/dist/server/api/src/coordination/task-queue-routes.d.ts +0 -7
  130. package/dist/server/api/src/coordination/task-queue-routes.d.ts.map +0 -1
  131. package/dist/server/api/src/coordination/task-queue-routes.js +0 -266
  132. package/dist/server/api/src/coordination/task-queue-routes.js.map +0 -1
  133. package/dist/server/api/src/coordination/task-queue.d.ts +0 -104
  134. package/dist/server/api/src/coordination/task-queue.d.ts.map +0 -1
  135. package/dist/server/api/src/coordination/task-queue.js +0 -378
  136. package/dist/server/api/src/coordination/task-queue.js.map +0 -1
  137. package/dist/server/api/src/coordination/tasks.d.ts +0 -7
  138. package/dist/server/api/src/coordination/tasks.d.ts.map +0 -1
  139. package/dist/server/api/src/coordination/tasks.js +0 -59
  140. package/dist/server/api/src/coordination/tasks.js.map +0 -1
  141. package/dist/server/api/src/decomposition/cli.d.ts +0 -18
  142. package/dist/server/api/src/decomposition/cli.d.ts.map +0 -1
  143. package/dist/server/api/src/decomposition/cli.js +0 -191
  144. package/dist/server/api/src/decomposition/cli.js.map +0 -1
  145. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts +0 -59
  146. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts.map +0 -1
  147. package/dist/server/api/src/decomposition/codebase-analyzer.js +0 -274
  148. package/dist/server/api/src/decomposition/codebase-analyzer.js.map +0 -1
  149. package/dist/server/api/src/decomposition/dependency-resolver.d.ts +0 -68
  150. package/dist/server/api/src/decomposition/dependency-resolver.d.ts.map +0 -1
  151. package/dist/server/api/src/decomposition/dependency-resolver.js +0 -261
  152. package/dist/server/api/src/decomposition/dependency-resolver.js.map +0 -1
  153. package/dist/server/api/src/decomposition/index.d.ts +0 -17
  154. package/dist/server/api/src/decomposition/index.d.ts.map +0 -1
  155. package/dist/server/api/src/decomposition/index.js +0 -19
  156. package/dist/server/api/src/decomposition/index.js.map +0 -1
  157. package/dist/server/api/src/decomposition/parallelization.d.ts +0 -40
  158. package/dist/server/api/src/decomposition/parallelization.d.ts.map +0 -1
  159. package/dist/server/api/src/decomposition/parallelization.js +0 -144
  160. package/dist/server/api/src/decomposition/parallelization.js.map +0 -1
  161. package/dist/server/api/src/decomposition/planner.d.ts +0 -84
  162. package/dist/server/api/src/decomposition/planner.d.ts.map +0 -1
  163. package/dist/server/api/src/decomposition/planner.js +0 -415
  164. package/dist/server/api/src/decomposition/planner.js.map +0 -1
  165. package/dist/server/api/src/decomposition/routes.d.ts +0 -13
  166. package/dist/server/api/src/decomposition/routes.d.ts.map +0 -1
  167. package/dist/server/api/src/decomposition/routes.js +0 -114
  168. package/dist/server/api/src/decomposition/routes.js.map +0 -1
  169. package/dist/server/api/src/decomposition/strategies.d.ts +0 -43
  170. package/dist/server/api/src/decomposition/strategies.d.ts.map +0 -1
  171. package/dist/server/api/src/decomposition/strategies.js +0 -147
  172. package/dist/server/api/src/decomposition/strategies.js.map +0 -1
  173. package/dist/server/api/src/decomposition/types.d.ts +0 -1090
  174. package/dist/server/api/src/decomposition/types.d.ts.map +0 -1
  175. package/dist/server/api/src/decomposition/types.js +0 -65
  176. package/dist/server/api/src/decomposition/types.js.map +0 -1
  177. package/dist/server/api/src/decomposition/validator.d.ts +0 -84
  178. package/dist/server/api/src/decomposition/validator.d.ts.map +0 -1
  179. package/dist/server/api/src/decomposition/validator.js +0 -314
  180. package/dist/server/api/src/decomposition/validator.js.map +0 -1
  181. package/dist/server/api/src/flightline/ctk.d.ts +0 -2
  182. package/dist/server/api/src/flightline/ctk.d.ts.map +0 -1
  183. package/dist/server/api/src/flightline/ctk.js +0 -114
  184. package/dist/server/api/src/flightline/ctk.js.map +0 -1
  185. package/dist/server/api/src/flightline/tech-orders.d.ts +0 -2
  186. package/dist/server/api/src/flightline/tech-orders.d.ts.map +0 -1
  187. package/dist/server/api/src/flightline/tech-orders.js +0 -74
  188. package/dist/server/api/src/flightline/tech-orders.js.map +0 -1
  189. package/dist/server/api/src/flightline/work-orders.d.ts +0 -2
  190. package/dist/server/api/src/flightline/work-orders.d.ts.map +0 -1
  191. package/dist/server/api/src/flightline/work-orders.js +0 -178
  192. package/dist/server/api/src/flightline/work-orders.js.map +0 -1
  193. package/dist/server/api/src/index.d.ts +0 -3
  194. package/dist/server/api/src/index.d.ts.map +0 -1
  195. package/dist/server/api/src/index.js +0 -192
  196. package/dist/server/api/src/index.js.map +0 -1
  197. package/dist/server/api/src/middleware/agent-validation.d.ts +0 -161
  198. package/dist/server/api/src/middleware/agent-validation.d.ts.map +0 -1
  199. package/dist/server/api/src/middleware/agent-validation.js +0 -112
  200. package/dist/server/api/src/middleware/agent-validation.js.map +0 -1
  201. package/dist/server/api/src/middleware/error-handler.d.ts +0 -8
  202. package/dist/server/api/src/middleware/error-handler.d.ts.map +0 -1
  203. package/dist/server/api/src/middleware/error-handler.js +0 -54
  204. package/dist/server/api/src/middleware/error-handler.js.map +0 -1
  205. package/dist/server/api/src/middleware/logger.d.ts +0 -8
  206. package/dist/server/api/src/middleware/logger.d.ts.map +0 -1
  207. package/dist/server/api/src/middleware/logger.js +0 -31
  208. package/dist/server/api/src/middleware/logger.js.map +0 -1
  209. package/dist/server/api/src/middleware/validation.d.ts +0 -322
  210. package/dist/server/api/src/middleware/validation.d.ts.map +0 -1
  211. package/dist/server/api/src/middleware/validation.js +0 -189
  212. package/dist/server/api/src/middleware/validation.js.map +0 -1
  213. package/dist/server/api/src/squawk/blocker-handler.d.ts +0 -111
  214. package/dist/server/api/src/squawk/blocker-handler.d.ts.map +0 -1
  215. package/dist/server/api/src/squawk/blocker-handler.js +0 -262
  216. package/dist/server/api/src/squawk/blocker-handler.js.map +0 -1
  217. package/dist/server/api/src/squawk/coordinator.d.ts +0 -2
  218. package/dist/server/api/src/squawk/coordinator.d.ts.map +0 -1
  219. package/dist/server/api/src/squawk/coordinator.js +0 -24
  220. package/dist/server/api/src/squawk/coordinator.js.map +0 -1
  221. package/dist/server/api/src/squawk/cursor.d.ts +0 -2
  222. package/dist/server/api/src/squawk/cursor.d.ts.map +0 -1
  223. package/dist/server/api/src/squawk/cursor.js +0 -55
  224. package/dist/server/api/src/squawk/cursor.js.map +0 -1
  225. package/dist/server/api/src/squawk/dependency-resolver.d.ts +0 -107
  226. package/dist/server/api/src/squawk/dependency-resolver.d.ts.map +0 -1
  227. package/dist/server/api/src/squawk/dependency-resolver.js +0 -324
  228. package/dist/server/api/src/squawk/dependency-resolver.js.map +0 -1
  229. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts +0 -117
  230. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts.map +0 -1
  231. package/dist/server/api/src/squawk/dispatch-orchestrator.js +0 -296
  232. package/dist/server/api/src/squawk/dispatch-orchestrator.js.map +0 -1
  233. package/dist/server/api/src/squawk/lock-coordinator.d.ts +0 -118
  234. package/dist/server/api/src/squawk/lock-coordinator.d.ts.map +0 -1
  235. package/dist/server/api/src/squawk/lock-coordinator.js +0 -279
  236. package/dist/server/api/src/squawk/lock-coordinator.js.map +0 -1
  237. package/dist/server/api/src/squawk/lock.d.ts +0 -2
  238. package/dist/server/api/src/squawk/lock.d.ts.map +0 -1
  239. package/dist/server/api/src/squawk/lock.js +0 -87
  240. package/dist/server/api/src/squawk/lock.js.map +0 -1
  241. package/dist/server/api/src/squawk/mailbox.d.ts +0 -2
  242. package/dist/server/api/src/squawk/mailbox.d.ts.map +0 -1
  243. package/dist/server/api/src/squawk/mailbox.js +0 -66
  244. package/dist/server/api/src/squawk/mailbox.js.map +0 -1
  245. package/dist/server/api/src/squawk/spawning.d.ts +0 -79
  246. package/dist/server/api/src/squawk/spawning.d.ts.map +0 -1
  247. package/dist/server/api/src/squawk/spawning.js +0 -226
  248. package/dist/server/api/src/squawk/spawning.js.map +0 -1
  249. package/dist/server/api/src/squawk/specialist-tools.d.ts +0 -206
  250. package/dist/server/api/src/squawk/specialist-tools.d.ts.map +0 -1
  251. package/dist/server/api/src/squawk/specialist-tools.js +0 -411
  252. package/dist/server/api/src/squawk/specialist-tools.js.map +0 -1
  253. package/dist/server/api/src/types/api.d.ts +0 -63
  254. package/dist/server/api/src/types/api.d.ts.map +0 -1
  255. package/dist/server/api/src/types/api.js +0 -5
  256. package/dist/server/api/src/types/api.js.map +0 -1
  257. package/dist/squawk/src/db/index.d.ts +0 -30
  258. package/dist/squawk/src/db/index.d.ts.map +0 -1
  259. package/dist/squawk/src/db/index.js +0 -329
  260. package/dist/squawk/src/db/index.js.map +0 -1
  261. package/dist/squawk/src/db/sqlite.d.ts +0 -31
  262. package/dist/squawk/src/db/sqlite.d.ts.map +0 -1
  263. package/dist/squawk/src/db/sqlite.js +0 -558
  264. package/dist/squawk/src/db/sqlite.js.map +0 -1
  265. package/dist/squawk/src/db/types.d.ts +0 -611
  266. package/dist/squawk/src/db/types.d.ts.map +0 -1
  267. package/dist/squawk/src/db/types.js +0 -4
  268. package/dist/squawk/src/db/types.js.map +0 -1
  269. package/dist/task-queue.js +0 -377
  270. package/dist/validation.js +0 -188
  271. package/e2e-integration.test.ts +0 -290
  272. package/integration.test.ts +0 -186
  273. package/phase1-integration.test.ts +0 -455
  274. package/phase2-verification.test.ts +0 -135
  275. package/server.log +0 -58
  276. package/src/agent-runner.js +0 -877
  277. package/src/coordination/agent-lifecycle.ts +0 -13
  278. package/src/coordination/agent-runner.ts +0 -479
  279. package/src/coordination/agent-spawner-routes.ts +0 -340
  280. package/src/coordination/agent-spawner.ts +0 -885
  281. package/src/coordination/agents.ts +0 -525
  282. package/src/coordination/checkpoint-routes.ts +0 -382
  283. package/src/coordination/conflict-resolver.ts +0 -640
  284. package/src/coordination/missions.ts +0 -219
  285. package/src/coordination/monitor.ts +0 -593
  286. package/src/coordination/notifier.ts +0 -547
  287. package/src/coordination/progress-tracker.ts +0 -410
  288. package/src/coordination/recovery-manager.ts +0 -531
  289. package/src/coordination/task-decomposer.ts +0 -491
  290. package/src/coordination/task-queue-routes.ts +0 -284
  291. package/src/coordination/task-queue.ts +0 -480
  292. package/src/coordination/tasks.ts +0 -72
  293. package/src/flightline/ctk.ts +0 -131
  294. package/src/flightline/tech-orders.ts +0 -85
  295. package/src/flightline/work-orders.ts +0 -202
  296. package/src/index.ts +0 -211
  297. package/src/middleware/agent-validation.ts +0 -130
  298. package/src/middleware/error-handler.ts +0 -59
  299. package/src/middleware/logger.ts +0 -37
  300. package/src/middleware/validation.ts +0 -235
  301. package/src/squawk/coordinator.ts +0 -26
  302. package/src/squawk/cursor.ts +0 -62
  303. package/src/squawk/lock.ts +0 -98
  304. package/src/squawk/mailbox.ts +0 -75
  305. package/src/types/api.ts +0 -71
  306. package/test-api.ts +0 -310
  307. package/test-enhanced-agents.ts +0 -428
@@ -1,279 +0,0 @@
1
- /**
2
- * FleetTools Lock Coordinator
3
- *
4
- * Coordinates file locks across specialists to prevent conflicts.
5
- * Features:
6
- * - Lock acquisition with timeout
7
- * - Lock release
8
- * - Conflict detection
9
- * - Conflict resolution (queue)
10
- * - Lock expiration
11
- * - Integration with CTK (file system)
12
- *
13
- * @version 1.0.0
14
- * @since 2026-01-08
15
- */
16
- import { getAdapter } from '../../../../squawk/src/db/index.js';
17
- // ============================================================================
18
- // LOCK COORDINATOR CLASS
19
- // ============================================================================
20
- /**
21
- * Lock Coordinator
22
- * Manages file locks and prevents conflicts
23
- */
24
- export class LockCoordinator {
25
- lockQueues;
26
- conflicts;
27
- logger;
28
- // Configuration
29
- LOCK_EXPIRATION_MS = 300000; // 5 minutes
30
- QUEUE_CHECK_INTERVAL_MS = 1000; // 1 second
31
- /**
32
- * Create new lock coordinator
33
- */
34
- constructor() {
35
- this.lockQueues = new Map();
36
- this.conflicts = new Map();
37
- this.logger = console;
38
- this.startQueueProcessor();
39
- }
40
- /**
41
- * Acquire lock for file
42
- */
43
- async acquireLock(specialistId, filePath, durationMs, purpose = 'edit') {
44
- this.logger.log(`[LockCoordinator] Acquiring lock for ${filePath} by ${specialistId}`);
45
- const db = getAdapter();
46
- // Check for existing lock
47
- const existingLock = await db.locks.getByFile(filePath);
48
- if (existingLock && existingLock.status === 'active') {
49
- // Conflict detected
50
- this.logger.warn(`[LockCoordinator] Lock conflict for ${filePath}: held by ${existingLock.reserved_by}`);
51
- const conflict = {
52
- file_path: filePath,
53
- current_holder: existingLock.reserved_by,
54
- current_holder_expires_at: existingLock.expires_at,
55
- requestor: specialistId,
56
- timestamp: Date.now(),
57
- };
58
- // Record conflict
59
- if (!this.conflicts.has(filePath)) {
60
- this.conflicts.set(filePath, []);
61
- }
62
- this.conflicts.get(filePath).push(conflict);
63
- // Add to queue
64
- return this.queueLockRequest(specialistId, filePath, durationMs, purpose);
65
- }
66
- // Try to acquire lock
67
- try {
68
- const result = await db.locks.acquire({
69
- file: filePath,
70
- specialist_id: specialistId,
71
- timeout_ms: durationMs,
72
- purpose,
73
- });
74
- if (result.lock) {
75
- this.logger.log(`[LockCoordinator] Lock acquired for ${filePath}: ${result.lock.id}`);
76
- return {
77
- success: true,
78
- lock_id: result.lock.id,
79
- };
80
- }
81
- else if (result.existing_lock) {
82
- // Conflict
83
- const conflict = {
84
- file_path: filePath,
85
- current_holder: result.existing_lock.reserved_by,
86
- current_holder_expires_at: result.existing_lock.expires_at,
87
- requestor: specialistId,
88
- timestamp: Date.now(),
89
- };
90
- if (!this.conflicts.has(filePath)) {
91
- this.conflicts.set(filePath, []);
92
- }
93
- this.conflicts.get(filePath).push(conflict);
94
- return this.queueLockRequest(specialistId, filePath, durationMs, purpose);
95
- }
96
- }
97
- catch (error) {
98
- const message = error instanceof Error ? error.message : 'Unknown error';
99
- this.logger.error(`[LockCoordinator] Error acquiring lock for ${filePath}:`, message);
100
- return {
101
- success: false,
102
- error: message,
103
- };
104
- }
105
- return {
106
- success: false,
107
- error: 'Unknown error',
108
- };
109
- }
110
- /**
111
- * Release lock
112
- */
113
- async releaseLock(lockId) {
114
- this.logger.log(`[LockCoordinator] Releasing lock ${lockId}`);
115
- const db = getAdapter();
116
- try {
117
- const released = await db.locks.release(lockId);
118
- if (released) {
119
- this.logger.log(`[LockCoordinator] Lock released: ${lockId}`);
120
- return true;
121
- }
122
- }
123
- catch (error) {
124
- const message = error instanceof Error ? error.message : 'Unknown error';
125
- this.logger.error(`[LockCoordinator] Error releasing lock ${lockId}:`, message);
126
- }
127
- return false;
128
- }
129
- /**
130
- * Queue lock request
131
- */
132
- async queueLockRequest(specialistId, filePath, durationMs, purpose) {
133
- this.logger.log(`[LockCoordinator] Queueing lock request for ${filePath} by ${specialistId}`);
134
- if (!this.lockQueues.has(filePath)) {
135
- this.lockQueues.set(filePath, []);
136
- }
137
- const queue = this.lockQueues.get(filePath);
138
- const entry = {
139
- specialist_id: specialistId,
140
- file_path: filePath,
141
- timestamp: Date.now(),
142
- timeout_ms: durationMs,
143
- purpose,
144
- };
145
- queue.push(entry);
146
- const queuePosition = queue.length;
147
- this.logger.log(`[LockCoordinator] Lock request queued at position ${queuePosition}`);
148
- return {
149
- success: false,
150
- queued: true,
151
- queue_position: queuePosition,
152
- error: `Lock conflict. Queued at position ${queuePosition}`,
153
- };
154
- }
155
- /**
156
- * Process lock queues
157
- */
158
- async processQueues() {
159
- const db = getAdapter();
160
- for (const [filePath, queue] of this.lockQueues) {
161
- if (queue.length === 0) {
162
- continue;
163
- }
164
- // Check if current lock is released
165
- const currentLock = await db.locks.getByFile(filePath);
166
- if (!currentLock || currentLock.status !== 'active') {
167
- // Lock is free, try to acquire for next in queue
168
- const nextEntry = queue.shift();
169
- if (nextEntry) {
170
- this.logger.log(`[LockCoordinator] Processing queue for ${filePath}, trying specialist ${nextEntry.specialist_id}`);
171
- try {
172
- const result = await db.locks.acquire({
173
- file: filePath,
174
- specialist_id: nextEntry.specialist_id,
175
- timeout_ms: nextEntry.timeout_ms,
176
- purpose: nextEntry.purpose,
177
- });
178
- if (result.lock) {
179
- this.logger.log(`[LockCoordinator] Lock acquired for queued request: ${result.lock.id}`);
180
- }
181
- }
182
- catch (error) {
183
- const message = error instanceof Error ? error.message : 'Unknown error';
184
- this.logger.error(`[LockCoordinator] Error acquiring queued lock:`, message);
185
- // Re-queue the entry
186
- queue.unshift(nextEntry);
187
- }
188
- }
189
- }
190
- }
191
- }
192
- /**
193
- * Start queue processor
194
- */
195
- startQueueProcessor() {
196
- setInterval(() => {
197
- this.processQueues().catch(error => {
198
- this.logger.error('[LockCoordinator] Error processing queues:', error);
199
- });
200
- }, this.QUEUE_CHECK_INTERVAL_MS);
201
- }
202
- /**
203
- * Detect conflicts
204
- */
205
- async detectConflicts() {
206
- const allConflicts = [];
207
- for (const conflicts of this.conflicts.values()) {
208
- allConflicts.push(...conflicts);
209
- }
210
- return allConflicts;
211
- }
212
- /**
213
- * Get lock queue for file
214
- */
215
- getQueueForFile(filePath) {
216
- return this.lockQueues.get(filePath) || [];
217
- }
218
- /**
219
- * Get all queued requests
220
- */
221
- getAllQueued() {
222
- const allQueued = [];
223
- for (const queue of this.lockQueues.values()) {
224
- allQueued.push(...queue);
225
- }
226
- return allQueued;
227
- }
228
- /**
229
- * Get conflicts for file
230
- */
231
- getConflictsForFile(filePath) {
232
- return this.conflicts.get(filePath) || [];
233
- }
234
- /**
235
- * Clear old conflicts
236
- */
237
- clearOldConflicts(olderThanMs = 3600000) {
238
- const now = Date.now();
239
- for (const [filePath, conflicts] of this.conflicts) {
240
- const filtered = conflicts.filter(c => now - c.timestamp < olderThanMs);
241
- if (filtered.length === 0) {
242
- this.conflicts.delete(filePath);
243
- }
244
- else {
245
- this.conflicts.set(filePath, filtered);
246
- }
247
- }
248
- }
249
- /**
250
- * Get coordinator status
251
- */
252
- getStatus() {
253
- return {
254
- queued_requests: Array.from(this.lockQueues.values()).reduce((sum, q) => sum + q.length, 0),
255
- conflicts: Array.from(this.conflicts.values()).reduce((sum, c) => sum + c.length, 0),
256
- files_with_queues: Array.from(this.lockQueues.keys()),
257
- };
258
- }
259
- }
260
- // ============================================================================
261
- // SINGLETON INSTANCE
262
- // ============================================================================
263
- let coordinatorInstance = null;
264
- /**
265
- * Get or create lock coordinator instance
266
- */
267
- export function getLockCoordinator() {
268
- if (!coordinatorInstance) {
269
- coordinatorInstance = new LockCoordinator();
270
- }
271
- return coordinatorInstance;
272
- }
273
- /**
274
- * Reset lock coordinator instance
275
- */
276
- export function resetLockCoordinator() {
277
- coordinatorInstance = null;
278
- }
279
- //# sourceMappingURL=lock-coordinator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lock-coordinator.js","sourceRoot":"","sources":["../../../../../src/squawk/lock-coordinator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function registerLockRoutes(router: any, headers: Record<string, string>): void;
2
- //# sourceMappingURL=lock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../../../src/squawk/lock.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QA8F9E"}
@@ -1,87 +0,0 @@
1
- import { lockOps } from '../../../../squawk/src/db/index.js';
2
- export function registerLockRoutes(router, headers) {
3
- router.post('/api/v1/lock/acquire', async (req) => {
4
- try {
5
- const body = await req.json();
6
- const { file, specialist_id, timeout_ms = 30000 } = body;
7
- if (!file || !specialist_id) {
8
- return new Response(JSON.stringify({ error: 'file and specialist_id are required' }), {
9
- status: 400,
10
- headers: { ...headers, 'Content-Type': 'application/json' },
11
- });
12
- }
13
- const lock = await lockOps.acquire({
14
- file,
15
- reserved_by: specialist_id,
16
- reserved_at: new Date().toISOString(),
17
- released_at: null,
18
- purpose: 'edit',
19
- checksum: null,
20
- timeout_ms,
21
- metadata: null,
22
- });
23
- return new Response(JSON.stringify({ lock }), {
24
- headers: { ...headers, 'Content-Type': 'application/json' },
25
- });
26
- }
27
- catch (error) {
28
- console.error('Error acquiring lock:', error);
29
- return new Response(JSON.stringify({ error: 'Failed to acquire lock' }), {
30
- status: 500,
31
- headers: { ...headers, 'Content-Type': 'application/json' },
32
- });
33
- }
34
- });
35
- router.post('/api/v1/lock/release', async (req) => {
36
- try {
37
- const body = await req.json();
38
- const { lock_id, specialist_id } = body;
39
- if (!lock_id) {
40
- return new Response(JSON.stringify({ error: 'lock_id is required' }), {
41
- status: 400,
42
- headers: { ...headers, 'Content-Type': 'application/json' },
43
- });
44
- }
45
- const lock = await lockOps.getById(lock_id);
46
- if (!lock) {
47
- return new Response(JSON.stringify({ error: 'Lock not found' }), {
48
- status: 404,
49
- headers: { ...headers, 'Content-Type': 'application/json' },
50
- });
51
- }
52
- if (lock.reserved_by !== specialist_id) {
53
- return new Response(JSON.stringify({ error: 'Cannot release lock: wrong specialist' }), {
54
- status: 403,
55
- headers: { ...headers, 'Content-Type': 'application/json' },
56
- });
57
- }
58
- const updatedLock = await lockOps.release(lock_id);
59
- return new Response(JSON.stringify({ lock: updatedLock }), {
60
- headers: { ...headers, 'Content-Type': 'application/json' },
61
- });
62
- }
63
- catch (error) {
64
- console.error('Error releasing lock:', error);
65
- return new Response(JSON.stringify({ error: 'Failed to release lock' }), {
66
- status: 500,
67
- headers: { ...headers, 'Content-Type': 'application/json' },
68
- });
69
- }
70
- });
71
- router.get('/api/v1/locks', async (req) => {
72
- try {
73
- const locks = lockOps.getAll();
74
- return new Response(JSON.stringify({ locks }), {
75
- headers: { ...headers, 'Content-Type': 'application/json' },
76
- });
77
- }
78
- catch (error) {
79
- console.error('Error listing locks:', error);
80
- return new Response(JSON.stringify({ error: 'Failed to list locks' }), {
81
- status: 500,
82
- headers: { ...headers, 'Content-Type': 'application/json' },
83
- });
84
- }
85
- });
86
- }
87
- //# sourceMappingURL=lock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../../../src/squawk/lock.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function registerMailboxRoutes(router: any, headers: Record<string, string>): void;
2
- //# sourceMappingURL=mailbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../../../src/squawk/mailbox.ts"],"names":[],"mappings":"AAGA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAuEjF"}
@@ -1,66 +0,0 @@
1
- import { mailboxOps, eventOps } from '../../../../squawk/src/db/index.js';
2
- export function registerMailboxRoutes(router, headers) {
3
- router.post('/api/v1/mailbox/append', async (req) => {
4
- try {
5
- const body = await req.json();
6
- const { stream_id, events } = body;
7
- if (!stream_id || !Array.isArray(events)) {
8
- return new Response(JSON.stringify({ error: 'stream_id and events array are required' }), {
9
- status: 400,
10
- headers: { ...headers, 'Content-Type': 'application/json' },
11
- });
12
- }
13
- if (!(await mailboxOps.exists(stream_id))) {
14
- await mailboxOps.create(stream_id);
15
- }
16
- const formattedEvents = events.map((e) => ({
17
- type: e.type,
18
- stream_id,
19
- data: JSON.stringify(e.data),
20
- occurred_at: new Date().toISOString(),
21
- causation_id: e.causation_id || null,
22
- metadata: e.metadata ? JSON.stringify(e.metadata) : null,
23
- }));
24
- const inserted = await eventOps.append(stream_id, formattedEvents);
25
- const mailbox = await mailboxOps.getById(stream_id);
26
- const mailboxEvents = await eventOps.getByMailbox(stream_id);
27
- return new Response(JSON.stringify({
28
- mailbox: { ...mailbox, events: mailboxEvents },
29
- inserted: inserted.length
30
- }), {
31
- headers: { ...headers, 'Content-Type': 'application/json' },
32
- });
33
- }
34
- catch (error) {
35
- console.error('Error appending to mailbox:', error);
36
- return new Response(JSON.stringify({ error: 'Failed to append to mailbox' }), {
37
- status: 500,
38
- headers: { ...headers, 'Content-Type': 'application/json' },
39
- });
40
- }
41
- });
42
- router.get('/api/v1/mailbox/:streamId', async (req, params) => {
43
- try {
44
- const streamId = params.streamId;
45
- const mailbox = await mailboxOps.getById(streamId);
46
- if (!mailbox) {
47
- return new Response(JSON.stringify({ error: 'Mailbox not found' }), {
48
- status: 404,
49
- headers: { ...headers, 'Content-Type': 'application/json' },
50
- });
51
- }
52
- const events = await eventOps.getByMailbox(streamId);
53
- return new Response(JSON.stringify({ mailbox: { ...mailbox, events } }), {
54
- headers: { ...headers, 'Content-Type': 'application/json' },
55
- });
56
- }
57
- catch (error) {
58
- console.error('Error getting mailbox:', error);
59
- return new Response(JSON.stringify({ error: 'Failed to get mailbox' }), {
60
- status: 500,
61
- headers: { ...headers, 'Content-Type': 'application/json' },
62
- });
63
- }
64
- });
65
- }
66
- //# sourceMappingURL=mailbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../../../src/squawk/mailbox.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- /**
2
- * FleetTools Specialist Spawning
3
- *
4
- * Handles parallel and sequential spawning of specialists for sorties.
5
- *
6
- * Parallel Spawning:
7
- * - Independent sorties spawn simultaneously
8
- * - Use Task tool with run_in_background: true
9
- * - Wait for all parallel sorties to complete
10
- *
11
- * Sequential Spawning:
12
- * - Dependent sorties spawn after dependencies complete
13
- * - Use Task tool with run_in_background: false
14
- * - Wait for each sortie before spawning next
15
- *
16
- * @version 1.0.0
17
- * @since 2026-01-08
18
- */
19
- import type { Sortie, Mission } from '../../../../squawk/src/db/types.js';
20
- /**
21
- * Sortie with dependency information
22
- */
23
- export interface SortieWithDeps extends Sortie {
24
- dependencies?: string[];
25
- }
26
- /**
27
- * Spawning result
28
- */
29
- export interface SpawningResult {
30
- success: boolean;
31
- parallel_groups: Sortie[][];
32
- total_sorties: number;
33
- completed_sorties: number;
34
- failed_sorties: number;
35
- errors: string[];
36
- }
37
- /**
38
- * Identify independent sorties (no dependencies)
39
- */
40
- export declare function identifyIndependentSorties(sorties: SortieWithDeps[]): Sortie[];
41
- /**
42
- * Identify dependent sorties
43
- */
44
- export declare function identifyDependentSorties(sorties: SortieWithDeps[]): SortieWithDeps[];
45
- /**
46
- * Spawn sorties in parallel
47
- *
48
- * Independent sorties are spawned simultaneously using background tasks.
49
- * The function waits for all parallel sorties to complete before returning.
50
- */
51
- export declare function spawnParallel(sorties: Sortie[]): Promise<SpawningResult>;
52
- /**
53
- * Spawn sorties sequentially
54
- *
55
- * Dependent sorties are spawned one at a time, waiting for each to complete
56
- * before spawning the next. Dependencies are respected.
57
- */
58
- export declare function spawnSequential(sorties: SortieWithDeps[]): Promise<SpawningResult>;
59
- /**
60
- * Spawn sorties with mixed parallel and sequential groups
61
- *
62
- * This is the main spawning function that:
63
- * 1. Identifies independent sorties (parallel group)
64
- * 2. Spawns them in parallel
65
- * 3. Identifies dependent sorties (sequential groups)
66
- * 4. Spawns them sequentially after dependencies complete
67
- */
68
- export declare function spawnMixed(sorties: SortieWithDeps[]): Promise<SpawningResult>;
69
- /**
70
- * Spawn all sorties for a mission
71
- *
72
- * This is the main entry point that:
73
- * 1. Gets all sorties for the mission
74
- * 2. Determines spawning strategy (parallel, sequential, or mixed)
75
- * 3. Spawns specialists for each sortie
76
- * 4. Waits for completion
77
- */
78
- export declare function spawnForMission(mission: Mission): Promise<SpawningResult>;
79
- //# sourceMappingURL=spawning.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spawning.d.ts","sourceRoot":"","sources":["../../../../../src/squawk/spawning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAM1E;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAE9E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAEpF;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CA6C9E;AAMD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAmDxF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAyCnF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAmC/E"}