@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,296 +0,0 @@
1
- /**
2
- * FleetTools Dispatch Orchestrator
3
- *
4
- * The Dispatch Orchestrator manages the lifecycle of specialist agents working on sorties.
5
- * It coordinates:
6
- * - Specialist spawning (parallel and sequential)
7
- * - Progress monitoring
8
- * - Blocker resolution
9
- * - File lock coordination
10
- * - Checkpoint creation
11
- * - Completion handling
12
- *
13
- * @version 1.0.0
14
- * @since 2026-01-08
15
- */
16
- import { randomUUID } from 'crypto';
17
- import { getAdapter } from '../../../../squawk/src/db/index.js';
18
- // ============================================================================
19
- // DISPATCH ORCHESTRATOR CLASS
20
- // ============================================================================
21
- /**
22
- * Dispatch Orchestrator
23
- * Manages specialist spawning and coordination
24
- */
25
- export class DispatchOrchestrator {
26
- state;
27
- config;
28
- logger;
29
- /**
30
- * Create new orchestrator
31
- */
32
- constructor(missionId, config) {
33
- this.state = {
34
- mission_id: missionId,
35
- status: 'idle',
36
- specialists: new Map(),
37
- active_sorties: new Map(),
38
- pending_sorties: [],
39
- completed_sorties: [],
40
- failed_sorties: [],
41
- checkpoints: [],
42
- last_checkpoint_time: Date.now(),
43
- };
44
- this.config = {
45
- max_concurrent: config?.max_concurrent || 5,
46
- heartbeat_timeout_ms: config?.heartbeat_timeout_ms || 300000, // 5 minutes
47
- checkpoint_interval_ms: config?.checkpoint_interval_ms || 60000, // 1 minute
48
- auto_recovery: config?.auto_recovery !== false,
49
- };
50
- this.logger = console;
51
- }
52
- /**
53
- * Initialize orchestrator
54
- */
55
- async initialize() {
56
- this.logger.log(`[Orchestrator] Initializing for mission ${this.state.mission_id}`);
57
- this.state.status = 'running';
58
- }
59
- /**
60
- * Spawn specialists for mission
61
- */
62
- async spawnSpecialists(mission) {
63
- this.logger.log(`[Orchestrator] Spawning specialists for mission ${mission.id}`);
64
- const db = getAdapter();
65
- // Get all sorties for mission
66
- const sorties = await db.sorties.getByMission(mission.id);
67
- this.state.pending_sorties = sorties.filter(s => s.status === 'pending');
68
- const spawnedSpecialists = [];
69
- // Spawn one specialist per sortie
70
- for (const sortie of this.state.pending_sorties) {
71
- const specialistId = `specialist-${randomUUID().substring(0, 8)}`;
72
- // Register specialist
73
- const specialist = await db.specialists.register({
74
- id: specialistId,
75
- name: `Specialist-${specialistId.substring(0, 8)}`,
76
- capabilities: ['code-review', 'testing', 'implementation'],
77
- });
78
- // Track specialist
79
- this.state.specialists.set(specialistId, {
80
- id: specialistId,
81
- name: specialist.name,
82
- sortie_id: sortie.id,
83
- status: 'spawned',
84
- progress_percent: 0,
85
- last_heartbeat: Date.now(),
86
- blockers: [],
87
- });
88
- // Add to active sorties
89
- this.state.active_sorties.set(sortie.id, sortie);
90
- spawnedSpecialists.push(specialist);
91
- this.logger.log(`[Orchestrator] Spawned specialist ${specialistId} for sortie ${sortie.id}`);
92
- }
93
- return spawnedSpecialists;
94
- }
95
- /**
96
- * Monitor specialist progress
97
- */
98
- async monitorProgress() {
99
- this.logger.log(`[Orchestrator] Monitoring progress for ${this.state.specialists.size} specialists`);
100
- const db = getAdapter();
101
- const now = Date.now();
102
- // Check each specialist
103
- for (const [specialistId, specialist] of this.state.specialists) {
104
- // Check heartbeat
105
- const timeSinceHeartbeat = now - specialist.last_heartbeat;
106
- if (timeSinceHeartbeat > this.config.heartbeat_timeout_ms) {
107
- this.logger.warn(`[Orchestrator] Specialist ${specialistId} heartbeat timeout`);
108
- specialist.status = 'failed';
109
- continue;
110
- }
111
- // Get specialist from DB
112
- const dbSpecialist = await db.specialists.getById(specialistId);
113
- if (dbSpecialist) {
114
- specialist.last_heartbeat = now;
115
- }
116
- }
117
- // Check if checkpoint needed
118
- const timeSinceCheckpoint = now - this.state.last_checkpoint_time;
119
- if (timeSinceCheckpoint > this.config.checkpoint_interval_ms) {
120
- await this.createCheckpoint('progress');
121
- this.state.last_checkpoint_time = now;
122
- }
123
- }
124
- /**
125
- * Resolve blocker
126
- */
127
- async resolveBlocker(specialistId, blocker) {
128
- this.logger.log(`[Orchestrator] Resolving blocker for specialist ${specialistId}:`, blocker);
129
- const specialist = this.state.specialists.get(specialistId);
130
- if (!specialist) {
131
- this.logger.error(`[Orchestrator] Specialist ${specialistId} not found`);
132
- return;
133
- }
134
- // Record blocker
135
- specialist.blockers.push({
136
- type: blocker.type,
137
- description: blocker.description,
138
- timestamp: Date.now(),
139
- });
140
- // Handle based on type
141
- switch (blocker.type) {
142
- case 'lock_timeout':
143
- this.logger.log(`[Orchestrator] Lock timeout for specialist ${specialistId}, retrying...`);
144
- // Retry logic would be implemented here
145
- break;
146
- case 'api_error':
147
- this.logger.log(`[Orchestrator] API error for specialist ${specialistId}, retrying...`);
148
- // Retry logic would be implemented here
149
- break;
150
- case 'dependency':
151
- this.logger.log(`[Orchestrator] Dependency blocker for specialist ${specialistId}, waiting...`);
152
- // Wait for dependency logic would be implemented here
153
- break;
154
- case 'other':
155
- this.logger.warn(`[Orchestrator] Manual intervention needed for specialist ${specialistId}`);
156
- specialist.status = 'blocked';
157
- break;
158
- }
159
- }
160
- /**
161
- * Coordinate file locks
162
- */
163
- async coordinateLocks(sorties) {
164
- this.logger.log(`[Orchestrator] Coordinating locks for ${sorties.length} sorties`);
165
- const db = getAdapter();
166
- // Get all active locks
167
- const activeLocks = await db.locks.getActive();
168
- // Check for conflicts
169
- const fileToSorties = new Map();
170
- for (const sortie of sorties) {
171
- if (sortie.files) {
172
- for (const file of sortie.files) {
173
- if (!fileToSorties.has(file)) {
174
- fileToSorties.set(file, []);
175
- }
176
- fileToSorties.get(file).push(sortie.id);
177
- }
178
- }
179
- }
180
- // Log conflicts
181
- for (const [file, sortieIds] of fileToSorties) {
182
- if (sortieIds.length > 1) {
183
- this.logger.warn(`[Orchestrator] File conflict detected: ${file} used by ${sortieIds.length} sorties`);
184
- }
185
- }
186
- }
187
- /**
188
- * Create checkpoint
189
- */
190
- async createCheckpoint(trigger) {
191
- this.logger.log(`[Orchestrator] Creating checkpoint (trigger: ${trigger})`);
192
- const db = getAdapter();
193
- // Calculate progress
194
- const totalSorties = this.state.pending_sorties.length + this.state.completed_sorties.length + this.state.failed_sorties.length;
195
- const completedSorties = this.state.completed_sorties.length;
196
- const progressPercent = totalSorties > 0 ? (completedSorties / totalSorties) * 100 : 0;
197
- // Create checkpoint
198
- const checkpoint = await db.checkpoints.save({
199
- mission_id: this.state.mission_id,
200
- trigger,
201
- progress_percent: progressPercent,
202
- created_by: 'dispatch-orchestrator',
203
- sorties: this.state.completed_sorties.map(s => ({
204
- id: s.id,
205
- status: s.status,
206
- assigned_to: s.assigned_to,
207
- files: s.files,
208
- started_at: s.started_at,
209
- progress: s.progress,
210
- progress_notes: s.progress_notes,
211
- })),
212
- active_locks: [],
213
- pending_messages: [],
214
- recovery_context: {
215
- last_action: `Checkpoint created with trigger: ${trigger}`,
216
- next_steps: this.state.pending_sorties.map(s => `Complete sortie: ${s.title}`),
217
- blockers: Array.from(this.state.specialists.values())
218
- .flatMap(s => s.blockers.map(b => `${b.type}: ${b.description}`)),
219
- files_modified: [],
220
- mission_summary: `Mission ${this.state.mission_id}: ${completedSorties}/${totalSorties} sorties completed`,
221
- elapsed_time_ms: Date.now() - (this.state.checkpoints[0]?.timestamp ? new Date(this.state.checkpoints[0].timestamp).getTime() : Date.now()),
222
- last_activity_at: new Date().toISOString(),
223
- },
224
- });
225
- this.state.checkpoints.push(checkpoint);
226
- return checkpoint;
227
- }
228
- /**
229
- * Handle specialist completion
230
- */
231
- async onSpecialistComplete(specialistId, result) {
232
- this.logger.log(`[Orchestrator] Specialist ${specialistId} completed`);
233
- const specialist = this.state.specialists.get(specialistId);
234
- if (!specialist) {
235
- this.logger.error(`[Orchestrator] Specialist ${specialistId} not found`);
236
- return;
237
- }
238
- // Update specialist status
239
- specialist.status = 'completed';
240
- specialist.progress_percent = 100;
241
- // Get sortie
242
- const db = getAdapter();
243
- const sortie = await db.sorties.getById(specialist.sortie_id);
244
- if (sortie) {
245
- // Move to completed
246
- this.state.active_sorties.delete(sortie.id);
247
- this.state.completed_sorties.push(sortie);
248
- this.logger.log(`[Orchestrator] Sortie ${sortie.id} completed`);
249
- }
250
- // Release locks
251
- const activeLocks = await db.locks.getActive();
252
- for (const lock of activeLocks) {
253
- if (lock.reserved_by === specialistId) {
254
- await db.locks.release(lock.id);
255
- this.logger.log(`[Orchestrator] Released lock ${lock.id}`);
256
- }
257
- }
258
- }
259
- /**
260
- * Get orchestrator status
261
- */
262
- getStatus() {
263
- return {
264
- ...this.state,
265
- specialists: new Map(this.state.specialists),
266
- active_sorties: new Map(this.state.active_sorties),
267
- };
268
- }
269
- /**
270
- * Shutdown orchestrator
271
- */
272
- async shutdown() {
273
- this.logger.log(`[Orchestrator] Shutting down for mission ${this.state.mission_id}`);
274
- this.state.status = 'completed';
275
- }
276
- }
277
- // ============================================================================
278
- // SINGLETON INSTANCE
279
- // ============================================================================
280
- let orchestratorInstance = null;
281
- /**
282
- * Get or create orchestrator instance
283
- */
284
- export function getOrchestrator(missionId, config) {
285
- if (!orchestratorInstance) {
286
- orchestratorInstance = new DispatchOrchestrator(missionId, config);
287
- }
288
- return orchestratorInstance;
289
- }
290
- /**
291
- * Reset orchestrator instance
292
- */
293
- export function resetOrchestrator() {
294
- orchestratorInstance = null;
295
- }
296
- //# sourceMappingURL=dispatch-orchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatch-orchestrator.js","sourceRoot":"","sources":["../../../../../src/squawk/dispatch-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,118 +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
- /**
17
- * Lock queue entry
18
- */
19
- export interface LockQueueEntry {
20
- specialist_id: string;
21
- file_path: string;
22
- timestamp: number;
23
- timeout_ms: number;
24
- purpose: 'edit' | 'read' | 'delete';
25
- }
26
- /**
27
- * Lock conflict
28
- */
29
- export interface LockConflict {
30
- file_path: string;
31
- current_holder: string;
32
- current_holder_expires_at: string;
33
- requestor: string;
34
- timestamp: number;
35
- }
36
- /**
37
- * Lock acquisition result
38
- */
39
- export interface LockAcquisitionResult {
40
- success: boolean;
41
- lock_id?: string;
42
- conflict?: LockConflict;
43
- queued?: boolean;
44
- queue_position?: number;
45
- error?: string;
46
- }
47
- /**
48
- * Lock Coordinator
49
- * Manages file locks and prevents conflicts
50
- */
51
- export declare class LockCoordinator {
52
- private lockQueues;
53
- private conflicts;
54
- private logger;
55
- private readonly LOCK_EXPIRATION_MS;
56
- private readonly QUEUE_CHECK_INTERVAL_MS;
57
- /**
58
- * Create new lock coordinator
59
- */
60
- constructor();
61
- /**
62
- * Acquire lock for file
63
- */
64
- acquireLock(specialistId: string, filePath: string, durationMs: number, purpose?: 'edit' | 'read' | 'delete'): Promise<LockAcquisitionResult>;
65
- /**
66
- * Release lock
67
- */
68
- releaseLock(lockId: string): Promise<boolean>;
69
- /**
70
- * Queue lock request
71
- */
72
- private queueLockRequest;
73
- /**
74
- * Process lock queues
75
- */
76
- private processQueues;
77
- /**
78
- * Start queue processor
79
- */
80
- private startQueueProcessor;
81
- /**
82
- * Detect conflicts
83
- */
84
- detectConflicts(): Promise<LockConflict[]>;
85
- /**
86
- * Get lock queue for file
87
- */
88
- getQueueForFile(filePath: string): LockQueueEntry[];
89
- /**
90
- * Get all queued requests
91
- */
92
- getAllQueued(): LockQueueEntry[];
93
- /**
94
- * Get conflicts for file
95
- */
96
- getConflictsForFile(filePath: string): LockConflict[];
97
- /**
98
- * Clear old conflicts
99
- */
100
- clearOldConflicts(olderThanMs?: number): void;
101
- /**
102
- * Get coordinator status
103
- */
104
- getStatus(): {
105
- queued_requests: number;
106
- conflicts: number;
107
- files_with_queues: string[];
108
- };
109
- }
110
- /**
111
- * Get or create lock coordinator instance
112
- */
113
- export declare function getLockCoordinator(): LockCoordinator;
114
- /**
115
- * Reset lock coordinator instance
116
- */
117
- export declare function resetLockCoordinator(): void;
118
- //# sourceMappingURL=lock-coordinator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lock-coordinator.d.ts","sourceRoot":"","sources":["../../../../../src/squawk/lock-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,MAAM,CAAU;IAGxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAEhD;;OAEG;;IAQH;;OAEG;IACG,WAAW,CACf,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,QAAiB,GAC3C,OAAO,CAAC,qBAAqB,CAAC;IA6EjC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBnD;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;YACW,aAAa;IAuC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAUhD;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE;IAInD;;OAEG;IACH,YAAY,IAAI,cAAc,EAAE;IAUhC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAIrD;;OAEG;IACH,iBAAiB,CAAC,WAAW,GAAE,MAAgB,GAAG,IAAI;IActD;;OAEG;IACH,SAAS,IAAI;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B;CAOF;AAQD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}