@fleettools/server 0.1.0 → 0.1.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 (300) hide show
  1. package/package.json +1 -1
  2. package/.flightline/checkpoints.db +0 -0
  3. package/.flightline/ctk/04a5510b-1e09-40c6-91c8-399c22138708.json +0 -9
  4. package/.flightline/ctk/0ecde721-7827-4039-995a-974e24493cc5.json +0 -9
  5. package/.flightline/ctk/268bbdbd-ddd7-46b2-845f-56a138aa518a.json +0 -9
  6. package/.flightline/ctk/6f476f2e-776c-407a-b441-b9365c0bae95.json +0 -9
  7. package/.flightline/ctk/7e10d0d5-fbc2-4661-af03-53de89e064db.json +0 -9
  8. package/.flightline/ctk/90783096-b7d4-49c5-8153-3c35018a2e61.json +0 -9
  9. package/.flightline/ctk/9a3b6d18-8a46-4728-90aa-279800a8e397.json +0 -9
  10. package/.flightline/ctk/ae30e192-b386-4ee2-899c-93f86785d3f3.json +0 -9
  11. package/.flightline/ctk/d0e9c49e-10df-413e-8cf7-37232b1838ca.json +0 -9
  12. package/.flightline/ctk/eae1a12b-2e9d-4c3f-8619-dafbb1346e96.json +0 -9
  13. package/.flightline/mailboxes/mbx_00dae6ba-0b5e-4a8d-a86d-93c8640872c3/manifest.json +0 -6
  14. package/.flightline/mailboxes/mbx_05b0bfa9-c4f5-4f68-ba75-6202820f49c3/manifest.json +0 -6
  15. package/.flightline/mailboxes/mbx_0a6b8fb2-729e-4385-8241-839c36b929d7/manifest.json +0 -6
  16. package/.flightline/mailboxes/mbx_0abca4ab-8e34-409c-997f-481e80e450dc/manifest.json +0 -6
  17. package/.flightline/mailboxes/mbx_173e5fb9-8203-418d-93c2-4f8c91f2d842/manifest.json +0 -6
  18. package/.flightline/mailboxes/mbx_22b62201-0570-4ce8-b0a7-0f4b445f6d9e/manifest.json +0 -6
  19. package/.flightline/mailboxes/mbx_2724efb1-76e1-4147-9620-4defcc65510f/manifest.json +0 -6
  20. package/.flightline/mailboxes/mbx_35b8bfcd-5a54-48f1-8759-cb1f8ffe775d/manifest.json +0 -6
  21. package/.flightline/mailboxes/mbx_3bc5193a-604d-4f52-be00-e56277643358/manifest.json +0 -6
  22. package/.flightline/mailboxes/mbx_3bd500f3-c111-427a-8cd7-a004125d6dc1/manifest.json +0 -6
  23. package/.flightline/mailboxes/mbx_45ce9ae8-5299-44dc-a1b5-4d63914a9609/manifest.json +0 -6
  24. package/.flightline/mailboxes/mbx_4779c645-1efc-4c76-ab21-ff93f973ee8f/manifest.json +0 -6
  25. package/.flightline/mailboxes/mbx_482237cf-87c8-486e-a24d-0941be2f480d/manifest.json +0 -6
  26. package/.flightline/mailboxes/mbx_4b7e23c8-5680-4edd-a276-88803dd5fb6f/manifest.json +0 -6
  27. package/.flightline/mailboxes/mbx_4dd3b945-d846-4c7a-94eb-6eeb25a0dc6b/manifest.json +0 -6
  28. package/.flightline/mailboxes/mbx_4ec41a62-62bb-4be4-b3ce-282d5a33acce/manifest.json +0 -6
  29. package/.flightline/mailboxes/mbx_4ff7ee7e-0c8a-43d6-a829-7c62c10af3b0/manifest.json +0 -6
  30. package/.flightline/mailboxes/mbx_7661e4fb-a919-4af1-86f7-3eaef22f1d81/manifest.json +0 -6
  31. package/.flightline/mailboxes/mbx_7ca872bb-69ab-4e7d-a7c6-4888ec8e7749/manifest.json +0 -6
  32. package/.flightline/mailboxes/mbx_7e6d5707-2aa5-4770-a7be-6b1be93d0d87/manifest.json +0 -6
  33. package/.flightline/mailboxes/mbx_87bef50d-3c59-429b-a995-5872f6278c37/manifest.json +0 -6
  34. package/.flightline/mailboxes/mbx_88d1ea56-0b69-48c4-9fcf-ce1e1f7527ba/manifest.json +0 -6
  35. package/.flightline/mailboxes/mbx_8bfb6bd7-07d1-4836-ae9d-3c93668c6dfe/manifest.json +0 -6
  36. package/.flightline/mailboxes/mbx_93355083-e95b-4341-b625-56fcc1e4fc0c/manifest.json +0 -6
  37. package/.flightline/mailboxes/mbx_999fd94c-ca56-4fec-8d30-8b677cf40ad6/manifest.json +0 -6
  38. package/.flightline/mailboxes/mbx_a039fd15-7ee1-4bd6-906d-55dea8d0e489/manifest.json +0 -6
  39. package/.flightline/mailboxes/mbx_a0b7363f-7cc6-4940-8e29-2dc85793a77d/manifest.json +0 -6
  40. package/.flightline/mailboxes/mbx_a31e8b61-9643-4c78-939d-d1696d0420d9/manifest.json +0 -6
  41. package/.flightline/mailboxes/mbx_acc51591-256c-4bed-9a51-514b1811f4cd/manifest.json +0 -6
  42. package/.flightline/mailboxes/mbx_b1efebd9-5981-49fa-8775-20fa00d0c902/manifest.json +0 -6
  43. package/.flightline/mailboxes/mbx_ba9d4c61-39a3-4852-95d7-bd34e3605a43/manifest.json +0 -6
  44. package/.flightline/mailboxes/mbx_c549b60f-65fd-48d5-8cd6-2f053292b112/manifest.json +0 -6
  45. package/.flightline/mailboxes/mbx_d0f839a5-3ab9-42e2-b438-df5825d049fe/manifest.json +0 -6
  46. package/.flightline/mailboxes/mbx_d826d57e-9817-4f3c-ab94-2bfafa352f6d/manifest.json +0 -6
  47. package/.flightline/mailboxes/mbx_da102f37-632c-4c0b-be4c-4270a74c06b9/manifest.json +0 -6
  48. package/.flightline/mailboxes/mbx_df4506f5-67f2-4cf6-9113-93994b76f39b/manifest.json +0 -6
  49. package/.flightline/mailboxes/mbx_e038e93b-87ea-4122-9578-6540018697b7/manifest.json +0 -6
  50. package/.flightline/mailboxes/mbx_e0c171c5-407f-44dc-9ef9-e26e8b99ceac/manifest.json +0 -6
  51. package/.flightline/mailboxes/mbx_e64770bf-7220-4d0f-848c-d751ea1c7376/manifest.json +0 -6
  52. package/.flightline/mailboxes/mbx_e7f0edda-0fab-484d-ab4d-d8a8e363cd14/manifest.json +0 -6
  53. package/.flightline/mailboxes/mbx_ec7d9118-8594-4d79-bf79-f43afdfaf156/manifest.json +0 -6
  54. package/.flightline/mailboxes/mbx_ee06ec01-03e4-485a-ae2b-d8bdb6e7a3a8/manifest.json +0 -6
  55. package/.flightline/mailboxes/mbx_fd467681-f9cf-4a54-b06a-836df6de2ccc/manifest.json +0 -6
  56. package/.flightline/progress.db +0 -0
  57. package/.flightline/recovery.log +0 -1
  58. package/.flightline/tasks.db +0 -0
  59. package/.flightline/tech-orders/to_0c93d981-6b4e-4055-8678-f39c009d1db1.json +0 -11
  60. package/.flightline/tech-orders/to_1862f8ed-c487-4914-9f1e-528af6d4f053.json +0 -11
  61. package/.flightline/tech-orders/to_2335a57d-f400-4efa-b108-e13ece57520d.json +0 -11
  62. package/.flightline/tech-orders/to_2bd8dbdd-ac57-4b84-b977-33a3637d10d1.json +0 -11
  63. package/.flightline/tech-orders/to_37057c01-39b5-403a-991f-afb186abde95.json +0 -11
  64. package/.flightline/tech-orders/to_9e7288bb-c0fd-488a-a83d-1e9337bd0f1f.json +0 -11
  65. package/.flightline/tech-orders/to_aa0fe80b-9de7-40f6-a106-353b5bca10bd.json +0 -11
  66. package/.flightline/tech-orders/to_c1a0f480-c863-4203-a070-76ad77137845.json +0 -11
  67. package/.flightline/tech-orders/to_cf1e882a-cf56-45a4-8d19-494925e5f449.json +0 -11
  68. package/.flightline/work-orders/wo_5a29168d-5fb4-41d7-8dac-1d1151d9248f/manifest.json +0 -15
  69. package/.flightline/work-orders/wo_6c8c38bb-17a1-4885-ada4-dbfc5cc12d7a/manifest.json +0 -15
  70. package/.flightline/work-orders/wo_cadeb9b2-ea42-4491-b429-e2d467942b5c/manifest.json +0 -12
  71. package/.flightline/work-orders/wo_cc7b669c-16c4-4ef7-8a76-d1813219d0be/manifest.json +0 -15
  72. package/dist/server/api/src/coordination/agent-lifecycle.d.ts +0 -12
  73. package/dist/server/api/src/coordination/agent-lifecycle.d.ts.map +0 -1
  74. package/dist/server/api/src/coordination/agent-lifecycle.js +0 -12
  75. package/dist/server/api/src/coordination/agent-lifecycle.js.map +0 -1
  76. package/dist/server/api/src/coordination/agent-runner.d.ts +0 -9
  77. package/dist/server/api/src/coordination/agent-runner.d.ts.map +0 -1
  78. package/dist/server/api/src/coordination/agent-runner.js +0 -416
  79. package/dist/server/api/src/coordination/agent-runner.js.map +0 -1
  80. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts +0 -7
  81. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts.map +0 -1
  82. package/dist/server/api/src/coordination/agent-spawner-routes.js +0 -321
  83. package/dist/server/api/src/coordination/agent-spawner-routes.js.map +0 -1
  84. package/dist/server/api/src/coordination/agent-spawner.d.ts +0 -187
  85. package/dist/server/api/src/coordination/agent-spawner.d.ts.map +0 -1
  86. package/dist/server/api/src/coordination/agent-spawner.js +0 -712
  87. package/dist/server/api/src/coordination/agent-spawner.js.map +0 -1
  88. package/dist/server/api/src/coordination/agents.d.ts +0 -13
  89. package/dist/server/api/src/coordination/agents.d.ts.map +0 -1
  90. package/dist/server/api/src/coordination/agents.js +0 -464
  91. package/dist/server/api/src/coordination/agents.js.map +0 -1
  92. package/dist/server/api/src/coordination/checkpoint-routes.d.ts +0 -33
  93. package/dist/server/api/src/coordination/checkpoint-routes.d.ts.map +0 -1
  94. package/dist/server/api/src/coordination/checkpoint-routes.js +0 -323
  95. package/dist/server/api/src/coordination/checkpoint-routes.js.map +0 -1
  96. package/dist/server/api/src/coordination/conflict-resolver.d.ts +0 -152
  97. package/dist/server/api/src/coordination/conflict-resolver.d.ts.map +0 -1
  98. package/dist/server/api/src/coordination/conflict-resolver.js +0 -502
  99. package/dist/server/api/src/coordination/conflict-resolver.js.map +0 -1
  100. package/dist/server/api/src/coordination/missions.d.ts +0 -9
  101. package/dist/server/api/src/coordination/missions.d.ts.map +0 -1
  102. package/dist/server/api/src/coordination/missions.js +0 -148
  103. package/dist/server/api/src/coordination/missions.js.map +0 -1
  104. package/dist/server/api/src/coordination/monitor.d.ts +0 -175
  105. package/dist/server/api/src/coordination/monitor.d.ts.map +0 -1
  106. package/dist/server/api/src/coordination/monitor.js +0 -410
  107. package/dist/server/api/src/coordination/monitor.js.map +0 -1
  108. package/dist/server/api/src/coordination/notifier.d.ts +0 -160
  109. package/dist/server/api/src/coordination/notifier.d.ts.map +0 -1
  110. package/dist/server/api/src/coordination/notifier.js +0 -422
  111. package/dist/server/api/src/coordination/notifier.js.map +0 -1
  112. package/dist/server/api/src/coordination/progress-tracker.d.ts +0 -98
  113. package/dist/server/api/src/coordination/progress-tracker.d.ts.map +0 -1
  114. package/dist/server/api/src/coordination/progress-tracker.js +0 -323
  115. package/dist/server/api/src/coordination/progress-tracker.js.map +0 -1
  116. package/dist/server/api/src/coordination/recovery-manager.d.ts +0 -135
  117. package/dist/server/api/src/coordination/recovery-manager.d.ts.map +0 -1
  118. package/dist/server/api/src/coordination/recovery-manager.js +0 -435
  119. package/dist/server/api/src/coordination/recovery-manager.js.map +0 -1
  120. package/dist/server/api/src/coordination/task-decomposer.d.ts +0 -90
  121. package/dist/server/api/src/coordination/task-decomposer.d.ts.map +0 -1
  122. package/dist/server/api/src/coordination/task-decomposer.js +0 -412
  123. package/dist/server/api/src/coordination/task-decomposer.js.map +0 -1
  124. package/dist/server/api/src/coordination/task-queue-routes.d.ts +0 -7
  125. package/dist/server/api/src/coordination/task-queue-routes.d.ts.map +0 -1
  126. package/dist/server/api/src/coordination/task-queue-routes.js +0 -266
  127. package/dist/server/api/src/coordination/task-queue-routes.js.map +0 -1
  128. package/dist/server/api/src/coordination/task-queue.d.ts +0 -104
  129. package/dist/server/api/src/coordination/task-queue.d.ts.map +0 -1
  130. package/dist/server/api/src/coordination/task-queue.js +0 -378
  131. package/dist/server/api/src/coordination/task-queue.js.map +0 -1
  132. package/dist/server/api/src/coordination/tasks.d.ts +0 -7
  133. package/dist/server/api/src/coordination/tasks.d.ts.map +0 -1
  134. package/dist/server/api/src/coordination/tasks.js +0 -59
  135. package/dist/server/api/src/coordination/tasks.js.map +0 -1
  136. package/dist/server/api/src/decomposition/cli.d.ts +0 -18
  137. package/dist/server/api/src/decomposition/cli.d.ts.map +0 -1
  138. package/dist/server/api/src/decomposition/cli.js +0 -191
  139. package/dist/server/api/src/decomposition/cli.js.map +0 -1
  140. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts +0 -59
  141. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts.map +0 -1
  142. package/dist/server/api/src/decomposition/codebase-analyzer.js +0 -274
  143. package/dist/server/api/src/decomposition/codebase-analyzer.js.map +0 -1
  144. package/dist/server/api/src/decomposition/dependency-resolver.d.ts +0 -68
  145. package/dist/server/api/src/decomposition/dependency-resolver.d.ts.map +0 -1
  146. package/dist/server/api/src/decomposition/dependency-resolver.js +0 -261
  147. package/dist/server/api/src/decomposition/dependency-resolver.js.map +0 -1
  148. package/dist/server/api/src/decomposition/index.d.ts +0 -17
  149. package/dist/server/api/src/decomposition/index.d.ts.map +0 -1
  150. package/dist/server/api/src/decomposition/index.js +0 -19
  151. package/dist/server/api/src/decomposition/index.js.map +0 -1
  152. package/dist/server/api/src/decomposition/parallelization.d.ts +0 -40
  153. package/dist/server/api/src/decomposition/parallelization.d.ts.map +0 -1
  154. package/dist/server/api/src/decomposition/parallelization.js +0 -144
  155. package/dist/server/api/src/decomposition/parallelization.js.map +0 -1
  156. package/dist/server/api/src/decomposition/planner.d.ts +0 -84
  157. package/dist/server/api/src/decomposition/planner.d.ts.map +0 -1
  158. package/dist/server/api/src/decomposition/planner.js +0 -415
  159. package/dist/server/api/src/decomposition/planner.js.map +0 -1
  160. package/dist/server/api/src/decomposition/routes.d.ts +0 -13
  161. package/dist/server/api/src/decomposition/routes.d.ts.map +0 -1
  162. package/dist/server/api/src/decomposition/routes.js +0 -114
  163. package/dist/server/api/src/decomposition/routes.js.map +0 -1
  164. package/dist/server/api/src/decomposition/strategies.d.ts +0 -43
  165. package/dist/server/api/src/decomposition/strategies.d.ts.map +0 -1
  166. package/dist/server/api/src/decomposition/strategies.js +0 -147
  167. package/dist/server/api/src/decomposition/strategies.js.map +0 -1
  168. package/dist/server/api/src/decomposition/types.d.ts +0 -1090
  169. package/dist/server/api/src/decomposition/types.d.ts.map +0 -1
  170. package/dist/server/api/src/decomposition/types.js +0 -65
  171. package/dist/server/api/src/decomposition/types.js.map +0 -1
  172. package/dist/server/api/src/decomposition/validator.d.ts +0 -84
  173. package/dist/server/api/src/decomposition/validator.d.ts.map +0 -1
  174. package/dist/server/api/src/decomposition/validator.js +0 -314
  175. package/dist/server/api/src/decomposition/validator.js.map +0 -1
  176. package/dist/server/api/src/flightline/ctk.d.ts +0 -2
  177. package/dist/server/api/src/flightline/ctk.d.ts.map +0 -1
  178. package/dist/server/api/src/flightline/ctk.js +0 -114
  179. package/dist/server/api/src/flightline/ctk.js.map +0 -1
  180. package/dist/server/api/src/flightline/tech-orders.d.ts +0 -2
  181. package/dist/server/api/src/flightline/tech-orders.d.ts.map +0 -1
  182. package/dist/server/api/src/flightline/tech-orders.js +0 -74
  183. package/dist/server/api/src/flightline/tech-orders.js.map +0 -1
  184. package/dist/server/api/src/flightline/work-orders.d.ts +0 -2
  185. package/dist/server/api/src/flightline/work-orders.d.ts.map +0 -1
  186. package/dist/server/api/src/flightline/work-orders.js +0 -178
  187. package/dist/server/api/src/flightline/work-orders.js.map +0 -1
  188. package/dist/server/api/src/index.d.ts +0 -3
  189. package/dist/server/api/src/index.d.ts.map +0 -1
  190. package/dist/server/api/src/index.js +0 -192
  191. package/dist/server/api/src/index.js.map +0 -1
  192. package/dist/server/api/src/middleware/agent-validation.d.ts +0 -161
  193. package/dist/server/api/src/middleware/agent-validation.d.ts.map +0 -1
  194. package/dist/server/api/src/middleware/agent-validation.js +0 -112
  195. package/dist/server/api/src/middleware/agent-validation.js.map +0 -1
  196. package/dist/server/api/src/middleware/error-handler.d.ts +0 -8
  197. package/dist/server/api/src/middleware/error-handler.d.ts.map +0 -1
  198. package/dist/server/api/src/middleware/error-handler.js +0 -54
  199. package/dist/server/api/src/middleware/error-handler.js.map +0 -1
  200. package/dist/server/api/src/middleware/logger.d.ts +0 -8
  201. package/dist/server/api/src/middleware/logger.d.ts.map +0 -1
  202. package/dist/server/api/src/middleware/logger.js +0 -31
  203. package/dist/server/api/src/middleware/logger.js.map +0 -1
  204. package/dist/server/api/src/middleware/validation.d.ts +0 -322
  205. package/dist/server/api/src/middleware/validation.d.ts.map +0 -1
  206. package/dist/server/api/src/middleware/validation.js +0 -189
  207. package/dist/server/api/src/middleware/validation.js.map +0 -1
  208. package/dist/server/api/src/squawk/blocker-handler.d.ts +0 -111
  209. package/dist/server/api/src/squawk/blocker-handler.d.ts.map +0 -1
  210. package/dist/server/api/src/squawk/blocker-handler.js +0 -262
  211. package/dist/server/api/src/squawk/blocker-handler.js.map +0 -1
  212. package/dist/server/api/src/squawk/coordinator.d.ts +0 -2
  213. package/dist/server/api/src/squawk/coordinator.d.ts.map +0 -1
  214. package/dist/server/api/src/squawk/coordinator.js +0 -24
  215. package/dist/server/api/src/squawk/coordinator.js.map +0 -1
  216. package/dist/server/api/src/squawk/cursor.d.ts +0 -2
  217. package/dist/server/api/src/squawk/cursor.d.ts.map +0 -1
  218. package/dist/server/api/src/squawk/cursor.js +0 -55
  219. package/dist/server/api/src/squawk/cursor.js.map +0 -1
  220. package/dist/server/api/src/squawk/dependency-resolver.d.ts +0 -107
  221. package/dist/server/api/src/squawk/dependency-resolver.d.ts.map +0 -1
  222. package/dist/server/api/src/squawk/dependency-resolver.js +0 -324
  223. package/dist/server/api/src/squawk/dependency-resolver.js.map +0 -1
  224. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts +0 -117
  225. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts.map +0 -1
  226. package/dist/server/api/src/squawk/dispatch-orchestrator.js +0 -296
  227. package/dist/server/api/src/squawk/dispatch-orchestrator.js.map +0 -1
  228. package/dist/server/api/src/squawk/lock-coordinator.d.ts +0 -118
  229. package/dist/server/api/src/squawk/lock-coordinator.d.ts.map +0 -1
  230. package/dist/server/api/src/squawk/lock-coordinator.js +0 -279
  231. package/dist/server/api/src/squawk/lock-coordinator.js.map +0 -1
  232. package/dist/server/api/src/squawk/lock.d.ts +0 -2
  233. package/dist/server/api/src/squawk/lock.d.ts.map +0 -1
  234. package/dist/server/api/src/squawk/lock.js +0 -87
  235. package/dist/server/api/src/squawk/lock.js.map +0 -1
  236. package/dist/server/api/src/squawk/mailbox.d.ts +0 -2
  237. package/dist/server/api/src/squawk/mailbox.d.ts.map +0 -1
  238. package/dist/server/api/src/squawk/mailbox.js +0 -66
  239. package/dist/server/api/src/squawk/mailbox.js.map +0 -1
  240. package/dist/server/api/src/squawk/spawning.d.ts +0 -79
  241. package/dist/server/api/src/squawk/spawning.d.ts.map +0 -1
  242. package/dist/server/api/src/squawk/spawning.js +0 -226
  243. package/dist/server/api/src/squawk/spawning.js.map +0 -1
  244. package/dist/server/api/src/squawk/specialist-tools.d.ts +0 -206
  245. package/dist/server/api/src/squawk/specialist-tools.d.ts.map +0 -1
  246. package/dist/server/api/src/squawk/specialist-tools.js +0 -411
  247. package/dist/server/api/src/squawk/specialist-tools.js.map +0 -1
  248. package/dist/server/api/src/types/api.d.ts +0 -63
  249. package/dist/server/api/src/types/api.d.ts.map +0 -1
  250. package/dist/server/api/src/types/api.js +0 -5
  251. package/dist/server/api/src/types/api.js.map +0 -1
  252. package/dist/squawk/src/db/index.d.ts +0 -30
  253. package/dist/squawk/src/db/index.d.ts.map +0 -1
  254. package/dist/squawk/src/db/index.js +0 -329
  255. package/dist/squawk/src/db/index.js.map +0 -1
  256. package/dist/squawk/src/db/sqlite.d.ts +0 -31
  257. package/dist/squawk/src/db/sqlite.d.ts.map +0 -1
  258. package/dist/squawk/src/db/sqlite.js +0 -558
  259. package/dist/squawk/src/db/sqlite.js.map +0 -1
  260. package/dist/squawk/src/db/types.d.ts +0 -611
  261. package/dist/squawk/src/db/types.d.ts.map +0 -1
  262. package/dist/squawk/src/db/types.js +0 -4
  263. package/dist/squawk/src/db/types.js.map +0 -1
  264. package/e2e-integration.test.ts +0 -290
  265. package/integration.test.ts +0 -186
  266. package/phase1-integration.test.ts +0 -455
  267. package/phase2-verification.test.ts +0 -135
  268. package/server.log +0 -58
  269. package/src/agent-runner.js +0 -877
  270. package/src/coordination/agent-lifecycle.ts +0 -13
  271. package/src/coordination/agent-runner.ts +0 -479
  272. package/src/coordination/agent-spawner-routes.ts +0 -340
  273. package/src/coordination/agent-spawner.ts +0 -885
  274. package/src/coordination/agents.ts +0 -525
  275. package/src/coordination/checkpoint-routes.ts +0 -382
  276. package/src/coordination/conflict-resolver.ts +0 -640
  277. package/src/coordination/missions.ts +0 -219
  278. package/src/coordination/monitor.ts +0 -593
  279. package/src/coordination/notifier.ts +0 -547
  280. package/src/coordination/progress-tracker.ts +0 -410
  281. package/src/coordination/recovery-manager.ts +0 -531
  282. package/src/coordination/task-decomposer.ts +0 -491
  283. package/src/coordination/task-queue-routes.ts +0 -284
  284. package/src/coordination/task-queue.ts +0 -480
  285. package/src/coordination/tasks.ts +0 -72
  286. package/src/flightline/ctk.ts +0 -131
  287. package/src/flightline/tech-orders.ts +0 -85
  288. package/src/flightline/work-orders.ts +0 -202
  289. package/src/index.ts +0 -211
  290. package/src/middleware/agent-validation.ts +0 -130
  291. package/src/middleware/error-handler.ts +0 -59
  292. package/src/middleware/logger.ts +0 -37
  293. package/src/middleware/validation.ts +0 -235
  294. package/src/squawk/coordinator.ts +0 -26
  295. package/src/squawk/cursor.ts +0 -62
  296. package/src/squawk/lock.ts +0 -98
  297. package/src/squawk/mailbox.ts +0 -75
  298. package/src/types/api.ts +0 -71
  299. package/test-api.ts +0 -310
  300. 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":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,UAAU,qBAAqB,CAAC,MAAW,EAAE,OAA+B;IAEhF,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA4C,CAAC;YACxE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAEnC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,EAAE;oBACxF,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS;gBACT,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;gBACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aACzD,CAAC,CAAC,CAAC;YAEJ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAE7D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM;aAC1B,CAAC,EAAE;gBACF,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,EAAE;gBAC5E,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAY,EAAE,MAA4B,EAAE,EAAE;QAC3F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,EAAE;oBAClE,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;gBACvE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAAE;gBACtE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -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"}