@fleettools/server 0.1.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 (308) hide show
  1. package/.flightline/checkpoints.db +0 -0
  2. package/.flightline/ctk/04a5510b-1e09-40c6-91c8-399c22138708.json +9 -0
  3. package/.flightline/ctk/0ecde721-7827-4039-995a-974e24493cc5.json +9 -0
  4. package/.flightline/ctk/268bbdbd-ddd7-46b2-845f-56a138aa518a.json +9 -0
  5. package/.flightline/ctk/6f476f2e-776c-407a-b441-b9365c0bae95.json +9 -0
  6. package/.flightline/ctk/7e10d0d5-fbc2-4661-af03-53de89e064db.json +9 -0
  7. package/.flightline/ctk/90783096-b7d4-49c5-8153-3c35018a2e61.json +9 -0
  8. package/.flightline/ctk/9a3b6d18-8a46-4728-90aa-279800a8e397.json +9 -0
  9. package/.flightline/ctk/ae30e192-b386-4ee2-899c-93f86785d3f3.json +9 -0
  10. package/.flightline/ctk/d0e9c49e-10df-413e-8cf7-37232b1838ca.json +9 -0
  11. package/.flightline/ctk/eae1a12b-2e9d-4c3f-8619-dafbb1346e96.json +9 -0
  12. package/.flightline/mailboxes/mbx_00dae6ba-0b5e-4a8d-a86d-93c8640872c3/manifest.json +6 -0
  13. package/.flightline/mailboxes/mbx_05b0bfa9-c4f5-4f68-ba75-6202820f49c3/manifest.json +6 -0
  14. package/.flightline/mailboxes/mbx_0a6b8fb2-729e-4385-8241-839c36b929d7/manifest.json +6 -0
  15. package/.flightline/mailboxes/mbx_0abca4ab-8e34-409c-997f-481e80e450dc/manifest.json +6 -0
  16. package/.flightline/mailboxes/mbx_173e5fb9-8203-418d-93c2-4f8c91f2d842/manifest.json +6 -0
  17. package/.flightline/mailboxes/mbx_22b62201-0570-4ce8-b0a7-0f4b445f6d9e/manifest.json +6 -0
  18. package/.flightline/mailboxes/mbx_2724efb1-76e1-4147-9620-4defcc65510f/manifest.json +6 -0
  19. package/.flightline/mailboxes/mbx_35b8bfcd-5a54-48f1-8759-cb1f8ffe775d/manifest.json +6 -0
  20. package/.flightline/mailboxes/mbx_3bc5193a-604d-4f52-be00-e56277643358/manifest.json +6 -0
  21. package/.flightline/mailboxes/mbx_3bd500f3-c111-427a-8cd7-a004125d6dc1/manifest.json +6 -0
  22. package/.flightline/mailboxes/mbx_45ce9ae8-5299-44dc-a1b5-4d63914a9609/manifest.json +6 -0
  23. package/.flightline/mailboxes/mbx_4779c645-1efc-4c76-ab21-ff93f973ee8f/manifest.json +6 -0
  24. package/.flightline/mailboxes/mbx_482237cf-87c8-486e-a24d-0941be2f480d/manifest.json +6 -0
  25. package/.flightline/mailboxes/mbx_4b7e23c8-5680-4edd-a276-88803dd5fb6f/manifest.json +6 -0
  26. package/.flightline/mailboxes/mbx_4dd3b945-d846-4c7a-94eb-6eeb25a0dc6b/manifest.json +6 -0
  27. package/.flightline/mailboxes/mbx_4ec41a62-62bb-4be4-b3ce-282d5a33acce/manifest.json +6 -0
  28. package/.flightline/mailboxes/mbx_4ff7ee7e-0c8a-43d6-a829-7c62c10af3b0/manifest.json +6 -0
  29. package/.flightline/mailboxes/mbx_7661e4fb-a919-4af1-86f7-3eaef22f1d81/manifest.json +6 -0
  30. package/.flightline/mailboxes/mbx_7ca872bb-69ab-4e7d-a7c6-4888ec8e7749/manifest.json +6 -0
  31. package/.flightline/mailboxes/mbx_7e6d5707-2aa5-4770-a7be-6b1be93d0d87/manifest.json +6 -0
  32. package/.flightline/mailboxes/mbx_87bef50d-3c59-429b-a995-5872f6278c37/manifest.json +6 -0
  33. package/.flightline/mailboxes/mbx_88d1ea56-0b69-48c4-9fcf-ce1e1f7527ba/manifest.json +6 -0
  34. package/.flightline/mailboxes/mbx_8bfb6bd7-07d1-4836-ae9d-3c93668c6dfe/manifest.json +6 -0
  35. package/.flightline/mailboxes/mbx_93355083-e95b-4341-b625-56fcc1e4fc0c/manifest.json +6 -0
  36. package/.flightline/mailboxes/mbx_999fd94c-ca56-4fec-8d30-8b677cf40ad6/manifest.json +6 -0
  37. package/.flightline/mailboxes/mbx_a039fd15-7ee1-4bd6-906d-55dea8d0e489/manifest.json +6 -0
  38. package/.flightline/mailboxes/mbx_a0b7363f-7cc6-4940-8e29-2dc85793a77d/manifest.json +6 -0
  39. package/.flightline/mailboxes/mbx_a31e8b61-9643-4c78-939d-d1696d0420d9/manifest.json +6 -0
  40. package/.flightline/mailboxes/mbx_acc51591-256c-4bed-9a51-514b1811f4cd/manifest.json +6 -0
  41. package/.flightline/mailboxes/mbx_b1efebd9-5981-49fa-8775-20fa00d0c902/manifest.json +6 -0
  42. package/.flightline/mailboxes/mbx_ba9d4c61-39a3-4852-95d7-bd34e3605a43/manifest.json +6 -0
  43. package/.flightline/mailboxes/mbx_c549b60f-65fd-48d5-8cd6-2f053292b112/manifest.json +6 -0
  44. package/.flightline/mailboxes/mbx_d0f839a5-3ab9-42e2-b438-df5825d049fe/manifest.json +6 -0
  45. package/.flightline/mailboxes/mbx_d826d57e-9817-4f3c-ab94-2bfafa352f6d/manifest.json +6 -0
  46. package/.flightline/mailboxes/mbx_da102f37-632c-4c0b-be4c-4270a74c06b9/manifest.json +6 -0
  47. package/.flightline/mailboxes/mbx_df4506f5-67f2-4cf6-9113-93994b76f39b/manifest.json +6 -0
  48. package/.flightline/mailboxes/mbx_e038e93b-87ea-4122-9578-6540018697b7/manifest.json +6 -0
  49. package/.flightline/mailboxes/mbx_e0c171c5-407f-44dc-9ef9-e26e8b99ceac/manifest.json +6 -0
  50. package/.flightline/mailboxes/mbx_e64770bf-7220-4d0f-848c-d751ea1c7376/manifest.json +6 -0
  51. package/.flightline/mailboxes/mbx_e7f0edda-0fab-484d-ab4d-d8a8e363cd14/manifest.json +6 -0
  52. package/.flightline/mailboxes/mbx_ec7d9118-8594-4d79-bf79-f43afdfaf156/manifest.json +6 -0
  53. package/.flightline/mailboxes/mbx_ee06ec01-03e4-485a-ae2b-d8bdb6e7a3a8/manifest.json +6 -0
  54. package/.flightline/mailboxes/mbx_fd467681-f9cf-4a54-b06a-836df6de2ccc/manifest.json +6 -0
  55. package/.flightline/progress.db +0 -0
  56. package/.flightline/recovery.log +1 -0
  57. package/.flightline/tasks.db +0 -0
  58. package/.flightline/tech-orders/to_0c93d981-6b4e-4055-8678-f39c009d1db1.json +11 -0
  59. package/.flightline/tech-orders/to_1862f8ed-c487-4914-9f1e-528af6d4f053.json +11 -0
  60. package/.flightline/tech-orders/to_2335a57d-f400-4efa-b108-e13ece57520d.json +11 -0
  61. package/.flightline/tech-orders/to_2bd8dbdd-ac57-4b84-b977-33a3637d10d1.json +11 -0
  62. package/.flightline/tech-orders/to_37057c01-39b5-403a-991f-afb186abde95.json +11 -0
  63. package/.flightline/tech-orders/to_9e7288bb-c0fd-488a-a83d-1e9337bd0f1f.json +11 -0
  64. package/.flightline/tech-orders/to_aa0fe80b-9de7-40f6-a106-353b5bca10bd.json +11 -0
  65. package/.flightline/tech-orders/to_c1a0f480-c863-4203-a070-76ad77137845.json +11 -0
  66. package/.flightline/tech-orders/to_cf1e882a-cf56-45a4-8d19-494925e5f449.json +11 -0
  67. package/.flightline/work-orders/wo_5a29168d-5fb4-41d7-8dac-1d1151d9248f/manifest.json +15 -0
  68. package/.flightline/work-orders/wo_6c8c38bb-17a1-4885-ada4-dbfc5cc12d7a/manifest.json +15 -0
  69. package/.flightline/work-orders/wo_cadeb9b2-ea42-4491-b429-e2d467942b5c/manifest.json +12 -0
  70. package/.flightline/work-orders/wo_cc7b669c-16c4-4ef7-8a76-d1813219d0be/manifest.json +15 -0
  71. package/AGENTS.md +30 -0
  72. package/dist/agent-lifecycle.js +148 -0
  73. package/dist/agent-spawner.js +460 -0
  74. package/dist/agent-validation.js +111 -0
  75. package/dist/index.js +255 -0
  76. package/dist/server/api/src/coordination/agent-lifecycle.d.ts +12 -0
  77. package/dist/server/api/src/coordination/agent-lifecycle.d.ts.map +1 -0
  78. package/dist/server/api/src/coordination/agent-lifecycle.js +12 -0
  79. package/dist/server/api/src/coordination/agent-lifecycle.js.map +1 -0
  80. package/dist/server/api/src/coordination/agent-runner.d.ts +9 -0
  81. package/dist/server/api/src/coordination/agent-runner.d.ts.map +1 -0
  82. package/dist/server/api/src/coordination/agent-runner.js +416 -0
  83. package/dist/server/api/src/coordination/agent-runner.js.map +1 -0
  84. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts +7 -0
  85. package/dist/server/api/src/coordination/agent-spawner-routes.d.ts.map +1 -0
  86. package/dist/server/api/src/coordination/agent-spawner-routes.js +321 -0
  87. package/dist/server/api/src/coordination/agent-spawner-routes.js.map +1 -0
  88. package/dist/server/api/src/coordination/agent-spawner.d.ts +187 -0
  89. package/dist/server/api/src/coordination/agent-spawner.d.ts.map +1 -0
  90. package/dist/server/api/src/coordination/agent-spawner.js +712 -0
  91. package/dist/server/api/src/coordination/agent-spawner.js.map +1 -0
  92. package/dist/server/api/src/coordination/agents.d.ts +13 -0
  93. package/dist/server/api/src/coordination/agents.d.ts.map +1 -0
  94. package/dist/server/api/src/coordination/agents.js +464 -0
  95. package/dist/server/api/src/coordination/agents.js.map +1 -0
  96. package/dist/server/api/src/coordination/checkpoint-routes.d.ts +33 -0
  97. package/dist/server/api/src/coordination/checkpoint-routes.d.ts.map +1 -0
  98. package/dist/server/api/src/coordination/checkpoint-routes.js +323 -0
  99. package/dist/server/api/src/coordination/checkpoint-routes.js.map +1 -0
  100. package/dist/server/api/src/coordination/conflict-resolver.d.ts +152 -0
  101. package/dist/server/api/src/coordination/conflict-resolver.d.ts.map +1 -0
  102. package/dist/server/api/src/coordination/conflict-resolver.js +502 -0
  103. package/dist/server/api/src/coordination/conflict-resolver.js.map +1 -0
  104. package/dist/server/api/src/coordination/missions.d.ts +9 -0
  105. package/dist/server/api/src/coordination/missions.d.ts.map +1 -0
  106. package/dist/server/api/src/coordination/missions.js +148 -0
  107. package/dist/server/api/src/coordination/missions.js.map +1 -0
  108. package/dist/server/api/src/coordination/monitor.d.ts +175 -0
  109. package/dist/server/api/src/coordination/monitor.d.ts.map +1 -0
  110. package/dist/server/api/src/coordination/monitor.js +410 -0
  111. package/dist/server/api/src/coordination/monitor.js.map +1 -0
  112. package/dist/server/api/src/coordination/notifier.d.ts +160 -0
  113. package/dist/server/api/src/coordination/notifier.d.ts.map +1 -0
  114. package/dist/server/api/src/coordination/notifier.js +422 -0
  115. package/dist/server/api/src/coordination/notifier.js.map +1 -0
  116. package/dist/server/api/src/coordination/progress-tracker.d.ts +98 -0
  117. package/dist/server/api/src/coordination/progress-tracker.d.ts.map +1 -0
  118. package/dist/server/api/src/coordination/progress-tracker.js +323 -0
  119. package/dist/server/api/src/coordination/progress-tracker.js.map +1 -0
  120. package/dist/server/api/src/coordination/recovery-manager.d.ts +135 -0
  121. package/dist/server/api/src/coordination/recovery-manager.d.ts.map +1 -0
  122. package/dist/server/api/src/coordination/recovery-manager.js +435 -0
  123. package/dist/server/api/src/coordination/recovery-manager.js.map +1 -0
  124. package/dist/server/api/src/coordination/task-decomposer.d.ts +90 -0
  125. package/dist/server/api/src/coordination/task-decomposer.d.ts.map +1 -0
  126. package/dist/server/api/src/coordination/task-decomposer.js +412 -0
  127. package/dist/server/api/src/coordination/task-decomposer.js.map +1 -0
  128. package/dist/server/api/src/coordination/task-queue-routes.d.ts +7 -0
  129. package/dist/server/api/src/coordination/task-queue-routes.d.ts.map +1 -0
  130. package/dist/server/api/src/coordination/task-queue-routes.js +266 -0
  131. package/dist/server/api/src/coordination/task-queue-routes.js.map +1 -0
  132. package/dist/server/api/src/coordination/task-queue.d.ts +104 -0
  133. package/dist/server/api/src/coordination/task-queue.d.ts.map +1 -0
  134. package/dist/server/api/src/coordination/task-queue.js +378 -0
  135. package/dist/server/api/src/coordination/task-queue.js.map +1 -0
  136. package/dist/server/api/src/coordination/tasks.d.ts +7 -0
  137. package/dist/server/api/src/coordination/tasks.d.ts.map +1 -0
  138. package/dist/server/api/src/coordination/tasks.js +59 -0
  139. package/dist/server/api/src/coordination/tasks.js.map +1 -0
  140. package/dist/server/api/src/decomposition/cli.d.ts +18 -0
  141. package/dist/server/api/src/decomposition/cli.d.ts.map +1 -0
  142. package/dist/server/api/src/decomposition/cli.js +191 -0
  143. package/dist/server/api/src/decomposition/cli.js.map +1 -0
  144. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts +59 -0
  145. package/dist/server/api/src/decomposition/codebase-analyzer.d.ts.map +1 -0
  146. package/dist/server/api/src/decomposition/codebase-analyzer.js +274 -0
  147. package/dist/server/api/src/decomposition/codebase-analyzer.js.map +1 -0
  148. package/dist/server/api/src/decomposition/dependency-resolver.d.ts +68 -0
  149. package/dist/server/api/src/decomposition/dependency-resolver.d.ts.map +1 -0
  150. package/dist/server/api/src/decomposition/dependency-resolver.js +261 -0
  151. package/dist/server/api/src/decomposition/dependency-resolver.js.map +1 -0
  152. package/dist/server/api/src/decomposition/index.d.ts +17 -0
  153. package/dist/server/api/src/decomposition/index.d.ts.map +1 -0
  154. package/dist/server/api/src/decomposition/index.js +19 -0
  155. package/dist/server/api/src/decomposition/index.js.map +1 -0
  156. package/dist/server/api/src/decomposition/parallelization.d.ts +40 -0
  157. package/dist/server/api/src/decomposition/parallelization.d.ts.map +1 -0
  158. package/dist/server/api/src/decomposition/parallelization.js +144 -0
  159. package/dist/server/api/src/decomposition/parallelization.js.map +1 -0
  160. package/dist/server/api/src/decomposition/planner.d.ts +84 -0
  161. package/dist/server/api/src/decomposition/planner.d.ts.map +1 -0
  162. package/dist/server/api/src/decomposition/planner.js +415 -0
  163. package/dist/server/api/src/decomposition/planner.js.map +1 -0
  164. package/dist/server/api/src/decomposition/routes.d.ts +13 -0
  165. package/dist/server/api/src/decomposition/routes.d.ts.map +1 -0
  166. package/dist/server/api/src/decomposition/routes.js +114 -0
  167. package/dist/server/api/src/decomposition/routes.js.map +1 -0
  168. package/dist/server/api/src/decomposition/strategies.d.ts +43 -0
  169. package/dist/server/api/src/decomposition/strategies.d.ts.map +1 -0
  170. package/dist/server/api/src/decomposition/strategies.js +147 -0
  171. package/dist/server/api/src/decomposition/strategies.js.map +1 -0
  172. package/dist/server/api/src/decomposition/types.d.ts +1090 -0
  173. package/dist/server/api/src/decomposition/types.d.ts.map +1 -0
  174. package/dist/server/api/src/decomposition/types.js +65 -0
  175. package/dist/server/api/src/decomposition/types.js.map +1 -0
  176. package/dist/server/api/src/decomposition/validator.d.ts +84 -0
  177. package/dist/server/api/src/decomposition/validator.d.ts.map +1 -0
  178. package/dist/server/api/src/decomposition/validator.js +314 -0
  179. package/dist/server/api/src/decomposition/validator.js.map +1 -0
  180. package/dist/server/api/src/flightline/ctk.d.ts +2 -0
  181. package/dist/server/api/src/flightline/ctk.d.ts.map +1 -0
  182. package/dist/server/api/src/flightline/ctk.js +114 -0
  183. package/dist/server/api/src/flightline/ctk.js.map +1 -0
  184. package/dist/server/api/src/flightline/tech-orders.d.ts +2 -0
  185. package/dist/server/api/src/flightline/tech-orders.d.ts.map +1 -0
  186. package/dist/server/api/src/flightline/tech-orders.js +74 -0
  187. package/dist/server/api/src/flightline/tech-orders.js.map +1 -0
  188. package/dist/server/api/src/flightline/work-orders.d.ts +2 -0
  189. package/dist/server/api/src/flightline/work-orders.d.ts.map +1 -0
  190. package/dist/server/api/src/flightline/work-orders.js +178 -0
  191. package/dist/server/api/src/flightline/work-orders.js.map +1 -0
  192. package/dist/server/api/src/index.d.ts +3 -0
  193. package/dist/server/api/src/index.d.ts.map +1 -0
  194. package/dist/server/api/src/index.js +192 -0
  195. package/dist/server/api/src/index.js.map +1 -0
  196. package/dist/server/api/src/middleware/agent-validation.d.ts +161 -0
  197. package/dist/server/api/src/middleware/agent-validation.d.ts.map +1 -0
  198. package/dist/server/api/src/middleware/agent-validation.js +112 -0
  199. package/dist/server/api/src/middleware/agent-validation.js.map +1 -0
  200. package/dist/server/api/src/middleware/error-handler.d.ts +8 -0
  201. package/dist/server/api/src/middleware/error-handler.d.ts.map +1 -0
  202. package/dist/server/api/src/middleware/error-handler.js +54 -0
  203. package/dist/server/api/src/middleware/error-handler.js.map +1 -0
  204. package/dist/server/api/src/middleware/logger.d.ts +8 -0
  205. package/dist/server/api/src/middleware/logger.d.ts.map +1 -0
  206. package/dist/server/api/src/middleware/logger.js +31 -0
  207. package/dist/server/api/src/middleware/logger.js.map +1 -0
  208. package/dist/server/api/src/middleware/validation.d.ts +322 -0
  209. package/dist/server/api/src/middleware/validation.d.ts.map +1 -0
  210. package/dist/server/api/src/middleware/validation.js +189 -0
  211. package/dist/server/api/src/middleware/validation.js.map +1 -0
  212. package/dist/server/api/src/squawk/blocker-handler.d.ts +111 -0
  213. package/dist/server/api/src/squawk/blocker-handler.d.ts.map +1 -0
  214. package/dist/server/api/src/squawk/blocker-handler.js +262 -0
  215. package/dist/server/api/src/squawk/blocker-handler.js.map +1 -0
  216. package/dist/server/api/src/squawk/coordinator.d.ts +2 -0
  217. package/dist/server/api/src/squawk/coordinator.d.ts.map +1 -0
  218. package/dist/server/api/src/squawk/coordinator.js +24 -0
  219. package/dist/server/api/src/squawk/coordinator.js.map +1 -0
  220. package/dist/server/api/src/squawk/cursor.d.ts +2 -0
  221. package/dist/server/api/src/squawk/cursor.d.ts.map +1 -0
  222. package/dist/server/api/src/squawk/cursor.js +55 -0
  223. package/dist/server/api/src/squawk/cursor.js.map +1 -0
  224. package/dist/server/api/src/squawk/dependency-resolver.d.ts +107 -0
  225. package/dist/server/api/src/squawk/dependency-resolver.d.ts.map +1 -0
  226. package/dist/server/api/src/squawk/dependency-resolver.js +324 -0
  227. package/dist/server/api/src/squawk/dependency-resolver.js.map +1 -0
  228. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts +117 -0
  229. package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts.map +1 -0
  230. package/dist/server/api/src/squawk/dispatch-orchestrator.js +296 -0
  231. package/dist/server/api/src/squawk/dispatch-orchestrator.js.map +1 -0
  232. package/dist/server/api/src/squawk/lock-coordinator.d.ts +118 -0
  233. package/dist/server/api/src/squawk/lock-coordinator.d.ts.map +1 -0
  234. package/dist/server/api/src/squawk/lock-coordinator.js +279 -0
  235. package/dist/server/api/src/squawk/lock-coordinator.js.map +1 -0
  236. package/dist/server/api/src/squawk/lock.d.ts +2 -0
  237. package/dist/server/api/src/squawk/lock.d.ts.map +1 -0
  238. package/dist/server/api/src/squawk/lock.js +87 -0
  239. package/dist/server/api/src/squawk/lock.js.map +1 -0
  240. package/dist/server/api/src/squawk/mailbox.d.ts +2 -0
  241. package/dist/server/api/src/squawk/mailbox.d.ts.map +1 -0
  242. package/dist/server/api/src/squawk/mailbox.js +66 -0
  243. package/dist/server/api/src/squawk/mailbox.js.map +1 -0
  244. package/dist/server/api/src/squawk/spawning.d.ts +79 -0
  245. package/dist/server/api/src/squawk/spawning.d.ts.map +1 -0
  246. package/dist/server/api/src/squawk/spawning.js +226 -0
  247. package/dist/server/api/src/squawk/spawning.js.map +1 -0
  248. package/dist/server/api/src/squawk/specialist-tools.d.ts +206 -0
  249. package/dist/server/api/src/squawk/specialist-tools.d.ts.map +1 -0
  250. package/dist/server/api/src/squawk/specialist-tools.js +411 -0
  251. package/dist/server/api/src/squawk/specialist-tools.js.map +1 -0
  252. package/dist/server/api/src/types/api.d.ts +63 -0
  253. package/dist/server/api/src/types/api.d.ts.map +1 -0
  254. package/dist/server/api/src/types/api.js +5 -0
  255. package/dist/server/api/src/types/api.js.map +1 -0
  256. package/dist/squawk/src/db/index.d.ts +30 -0
  257. package/dist/squawk/src/db/index.d.ts.map +1 -0
  258. package/dist/squawk/src/db/index.js +329 -0
  259. package/dist/squawk/src/db/index.js.map +1 -0
  260. package/dist/squawk/src/db/sqlite.d.ts +31 -0
  261. package/dist/squawk/src/db/sqlite.d.ts.map +1 -0
  262. package/dist/squawk/src/db/sqlite.js +558 -0
  263. package/dist/squawk/src/db/sqlite.js.map +1 -0
  264. package/dist/squawk/src/db/types.d.ts +611 -0
  265. package/dist/squawk/src/db/types.d.ts.map +1 -0
  266. package/dist/squawk/src/db/types.js +4 -0
  267. package/dist/squawk/src/db/types.js.map +1 -0
  268. package/dist/task-queue.js +377 -0
  269. package/dist/validation.js +188 -0
  270. package/e2e-integration.test.ts +290 -0
  271. package/integration.test.ts +186 -0
  272. package/package.json +22 -0
  273. package/phase1-integration.test.ts +455 -0
  274. package/phase2-verification.test.ts +135 -0
  275. package/server.log +58 -0
  276. package/src/agent-runner.js +877 -0
  277. package/src/coordination/agent-lifecycle.ts +13 -0
  278. package/src/coordination/agent-runner.ts +479 -0
  279. package/src/coordination/agent-spawner-routes.ts +340 -0
  280. package/src/coordination/agent-spawner.ts +885 -0
  281. package/src/coordination/agents.ts +525 -0
  282. package/src/coordination/checkpoint-routes.ts +382 -0
  283. package/src/coordination/conflict-resolver.ts +640 -0
  284. package/src/coordination/missions.ts +219 -0
  285. package/src/coordination/monitor.ts +593 -0
  286. package/src/coordination/notifier.ts +547 -0
  287. package/src/coordination/progress-tracker.ts +410 -0
  288. package/src/coordination/recovery-manager.ts +531 -0
  289. package/src/coordination/task-decomposer.ts +491 -0
  290. package/src/coordination/task-queue-routes.ts +284 -0
  291. package/src/coordination/task-queue.ts +480 -0
  292. package/src/coordination/tasks.ts +72 -0
  293. package/src/flightline/ctk.ts +131 -0
  294. package/src/flightline/tech-orders.ts +85 -0
  295. package/src/flightline/work-orders.ts +202 -0
  296. package/src/index.ts +211 -0
  297. package/src/middleware/agent-validation.ts +130 -0
  298. package/src/middleware/error-handler.ts +59 -0
  299. package/src/middleware/logger.ts +37 -0
  300. package/src/middleware/validation.ts +235 -0
  301. package/src/squawk/coordinator.ts +26 -0
  302. package/src/squawk/cursor.ts +62 -0
  303. package/src/squawk/lock.ts +98 -0
  304. package/src/squawk/mailbox.ts +75 -0
  305. package/src/types/api.ts +71 -0
  306. package/test-api.ts +310 -0
  307. package/test-enhanced-agents.ts +428 -0
  308. package/tsconfig.json +30 -0
@@ -0,0 +1,491 @@
1
+ /**
2
+ * Task Decomposer for FleetTools Coordination System
3
+ *
4
+ * Automatically breaks down missions into assignable tasks
5
+ * Handles task dependencies and agent type assignment
6
+ */
7
+
8
+ // Using local types to avoid import issues
9
+ export enum AgentType {
10
+ FRONTEND = 'frontend',
11
+ BACKEND = 'backend',
12
+ TESTING = 'testing',
13
+ DOCUMENTATION = 'documentation',
14
+ SECURITY = 'security',
15
+ PERFORMANCE = 'performance'
16
+ }
17
+
18
+ export interface Task {
19
+ id: string;
20
+ type: string;
21
+ title: string;
22
+ description: string;
23
+ status: string;
24
+ priority: 'low' | 'medium' | 'high' | 'critical';
25
+ assignedTo?: string;
26
+ missionId?: string;
27
+ dependencies?: string[];
28
+ metadata: Record<string, any>;
29
+ createdAt: string;
30
+ updatedAt: string;
31
+ completedAt?: string;
32
+ }
33
+
34
+ export interface DecompositionRule {
35
+ missionType: string;
36
+ patterns: Array<{
37
+ pattern: RegExp;
38
+ taskTemplate: {
39
+ type: string;
40
+ title: string;
41
+ description: string;
42
+ agentType: AgentType;
43
+ priority: 'low' | 'medium' | 'high' | 'critical';
44
+ estimatedDuration?: number; // minutes
45
+ };
46
+ }>;
47
+ }
48
+
49
+ export interface DecompositionConfig {
50
+ rules: DecompositionRule[];
51
+ defaultAgentType: AgentType;
52
+ maxTasksPerMission: number;
53
+ }
54
+
55
+ export class TaskDecomposer {
56
+ private config: DecompositionConfig;
57
+
58
+ constructor(config: Partial<DecompositionConfig> = {}) {
59
+ this.config = {
60
+ defaultAgentType: AgentType.BACKEND,
61
+ maxTasksPerMission: 20,
62
+ rules: this.getDefaultRules(),
63
+ ...config
64
+ };
65
+ }
66
+
67
+ /**
68
+ * Decompose a mission into individual tasks
69
+ */
70
+ decomposeMission(mission: {
71
+ title: string;
72
+ description: string;
73
+ type?: string;
74
+ metadata?: Record<string, any>;
75
+ }): Task[] {
76
+ const tasks: Task[] = [];
77
+ const missionType = mission.type || this.inferMissionType(mission.title, mission.description);
78
+
79
+ // Get applicable rules
80
+ const rules = this.config.rules.filter(rule => rule.missionType === missionType);
81
+
82
+ if (rules.length === 0) {
83
+ // Apply generic decomposition
84
+ return this.createGenericTasks(mission);
85
+ }
86
+
87
+ // Apply rules to generate tasks
88
+ for (const rule of rules) {
89
+ for (const patternRule of rule.patterns) {
90
+ if (patternRule.pattern.test(mission.title) || patternRule.pattern.test(mission.description)) {
91
+ const task = this.createTaskFromPattern(patternRule.taskTemplate, mission);
92
+ tasks.push(task);
93
+ }
94
+ }
95
+ }
96
+
97
+ // Limit number of tasks
98
+ if (tasks.length > this.config.maxTasksPerMission) {
99
+ console.warn(`⚠️ Mission decomposed into ${tasks.length} tasks, limiting to ${this.config.maxTasksPerMission}`);
100
+ return tasks.slice(0, this.config.maxTasksPerMission);
101
+ }
102
+
103
+ // Add dependency relationships
104
+ this.addTaskDependencies(tasks);
105
+
106
+ console.log(`✓ Decomposed mission "${mission.title}" into ${tasks.length} tasks`);
107
+ return tasks;
108
+ }
109
+
110
+ /**
111
+ * Infer mission type from title and description
112
+ */
113
+ private inferMissionType(title: string, description: string): string {
114
+ const content = `${title} ${description}`.toLowerCase();
115
+
116
+ if (content.includes('frontend') || content.includes('ui') || content.includes('react')) {
117
+ return 'frontend_development';
118
+ }
119
+ if (content.includes('backend') || content.includes('api') || content.includes('server')) {
120
+ return 'backend_development';
121
+ }
122
+ if (content.includes('test') || content.includes('testing') || content.includes('quality')) {
123
+ return 'testing';
124
+ }
125
+ if (content.includes('doc') || content.includes('manual') || content.includes('guide')) {
126
+ return 'documentation';
127
+ }
128
+ if (content.includes('security') || content.includes('auth') || content.includes('vulnerability')) {
129
+ return 'security';
130
+ }
131
+ if (content.includes('performance') || content.includes('optimize') || content.includes('speed')) {
132
+ return 'performance';
133
+ }
134
+
135
+ return 'general';
136
+ }
137
+
138
+ /**
139
+ * Create generic tasks for missions without specific rules
140
+ */
141
+ private createGenericTasks(mission: {
142
+ title: string;
143
+ description: string;
144
+ metadata?: Record<string, any>;
145
+ }): Task[] {
146
+ const now = new Date().toISOString();
147
+ const missionId = mission.metadata?.missionId || `mission_${Date.now()}`;
148
+
149
+ return [
150
+ {
151
+ id: `tsk_${Math.random().toString(36).substr(2, 9)}`,
152
+ type: 'analysis',
153
+ title: `Analyze requirements for ${mission.title}`,
154
+ description: `Review and analyze mission requirements: ${mission.description}`,
155
+ status: 'pending' as any,
156
+ priority: 'high',
157
+ assignedTo: undefined,
158
+ missionId,
159
+ dependencies: [],
160
+ metadata: { phase: 'planning', missionTitle: mission.title },
161
+ createdAt: now,
162
+ updatedAt: now
163
+ },
164
+ {
165
+ id: `tsk_${Math.random().toString(36).substr(2, 9)}`,
166
+ type: 'implementation',
167
+ title: `Implement ${mission.title}`,
168
+ description: `Core implementation task for: ${mission.description}`,
169
+ status: 'pending' as any,
170
+ priority: 'high',
171
+ assignedTo: undefined,
172
+ missionId,
173
+ dependencies: [],
174
+ metadata: { phase: 'implementation', missionTitle: mission.title },
175
+ createdAt: now,
176
+ updatedAt: now
177
+ },
178
+ {
179
+ id: `tsk_${Math.random().toString(36).substr(2, 9)}`,
180
+ type: 'testing',
181
+ title: `Test ${mission.title}`,
182
+ description: `Testing and validation for: ${mission.description}`,
183
+ status: 'pending' as any,
184
+ priority: 'medium',
185
+ assignedTo: undefined,
186
+ missionId,
187
+ dependencies: [],
188
+ metadata: { phase: 'testing', missionTitle: mission.title },
189
+ createdAt: now,
190
+ updatedAt: now
191
+ }
192
+ ];
193
+ }
194
+
195
+ /**
196
+ * Create task from pattern template
197
+ */
198
+ private createTaskFromPattern(template: any, mission: {
199
+ title: string;
200
+ description: string;
201
+ metadata?: Record<string, any>;
202
+ }): Task {
203
+ const now = new Date().toISOString();
204
+ const missionId = mission.metadata?.missionId || `mission_${Date.now()}`;
205
+
206
+ return {
207
+ id: `tsk_${Math.random().toString(36).substr(2, 9)}`,
208
+ type: template.type,
209
+ title: template.title.replace('{mission}', mission.title),
210
+ description: template.description.replace('{description}', mission.description),
211
+ status: 'pending' as any,
212
+ priority: template.priority,
213
+ assignedTo: undefined,
214
+ missionId,
215
+ dependencies: [],
216
+ metadata: {
217
+ ...template.metadata,
218
+ missionTitle: mission.title,
219
+ estimatedDuration: template.estimatedDuration
220
+ },
221
+ createdAt: now,
222
+ updatedAt: now
223
+ };
224
+ }
225
+
226
+ /**
227
+ * Add logical dependencies between tasks
228
+ */
229
+ private addTaskDependencies(tasks: Task[]): void {
230
+ // Find analysis tasks
231
+ const analysisTasks = tasks.filter(t => t.type === 'analysis');
232
+ const implementationTasks = tasks.filter(t => t.type === 'implementation');
233
+ const testingTasks = tasks.filter(t => t.type === 'testing');
234
+
235
+ // Implementation depends on analysis
236
+ implementationTasks.forEach(implTask => {
237
+ const matchingAnalysis = analysisTasks.find(analTask =>
238
+ implTask.metadata?.missionTitle === analTask.metadata?.missionTitle
239
+ );
240
+ if (matchingAnalysis) {
241
+ implTask.dependencies = implTask.dependencies || [];
242
+ implTask.dependencies.push(matchingAnalysis.id);
243
+ }
244
+ });
245
+
246
+ // Testing depends on implementation
247
+ testingTasks.forEach(testTask => {
248
+ const matchingImpl = implementationTasks.find(implTask =>
249
+ testTask.metadata?.missionTitle === implTask.metadata?.missionTitle
250
+ );
251
+ if (matchingImpl) {
252
+ testTask.dependencies = testTask.dependencies || [];
253
+ testTask.dependencies.push(matchingImpl.id);
254
+ }
255
+ });
256
+ }
257
+
258
+ /**
259
+ * Calculate task complexity score
260
+ */
261
+ calculateComplexity(task: Task): number {
262
+ let complexity = 50;
263
+
264
+ if (task.title.includes('create') || task.title.includes('implement')) {
265
+ complexity += 30;
266
+ }
267
+ if (task.title.includes('test') || task.title.includes('testing')) {
268
+ complexity += 20;
269
+ }
270
+ if (task.title.includes('optimize') || task.title.includes('performance')) {
271
+ complexity += 25;
272
+ }
273
+ if (task.title.includes('security') || task.title.includes('auth')) {
274
+ complexity += 20;
275
+ }
276
+ if (task.title.includes('documentation') || task.title.includes('doc')) {
277
+ complexity += 15;
278
+ }
279
+
280
+ if (task.dependencies && task.dependencies.length > 0) {
281
+ complexity += task.dependencies.length * 10;
282
+ }
283
+
284
+ if (task.description && task.description.length > 200) {
285
+ complexity += 10;
286
+ }
287
+
288
+ return Math.min(100, complexity);
289
+ }
290
+
291
+ /**
292
+ * Estimate task duration based on complexity
293
+ */
294
+ estimateTaskDuration(complexity: number): number {
295
+ const baseMinutes = 30;
296
+ const multiplier = complexity / 50;
297
+ return Math.ceil(baseMinutes * multiplier);
298
+ }
299
+
300
+ /**
301
+ * Get default decomposition rules
302
+ */
303
+ private getDefaultRules(): DecompositionRule[] {
304
+ return [
305
+ {
306
+ missionType: 'frontend_development',
307
+ patterns: [
308
+ {
309
+ pattern: /component/i,
310
+ taskTemplate: {
311
+ type: 'component_development',
312
+ title: 'Create {mission} component',
313
+ description: 'Develop React component for {description}',
314
+ agentType: AgentType.FRONTEND,
315
+ priority: 'high',
316
+ estimatedDuration: 120
317
+ }
318
+ },
319
+ {
320
+ pattern: /page/i,
321
+ taskTemplate: {
322
+ type: 'page_development',
323
+ title: 'Create {mission} page',
324
+ description: 'Develop full page layout and functionality for {description}',
325
+ agentType: AgentType.FRONTEND,
326
+ priority: 'high',
327
+ estimatedDuration: 180
328
+ }
329
+ },
330
+ {
331
+ pattern: /style|css/i,
332
+ taskTemplate: {
333
+ type: 'styling',
334
+ title: 'Style {mission}',
335
+ description: 'Apply styling and responsive design for {description}',
336
+ agentType: AgentType.FRONTEND,
337
+ priority: 'medium',
338
+ estimatedDuration: 90
339
+ }
340
+ }
341
+ ]
342
+ },
343
+ {
344
+ missionType: 'backend_development',
345
+ patterns: [
346
+ {
347
+ pattern: /api/i,
348
+ taskTemplate: {
349
+ type: 'api_development',
350
+ title: 'Develop {mission} API',
351
+ description: 'Create REST API endpoints for {description}',
352
+ agentType: AgentType.BACKEND,
353
+ priority: 'high',
354
+ estimatedDuration: 150
355
+ }
356
+ },
357
+ {
358
+ pattern: /database|schema/i,
359
+ taskTemplate: {
360
+ type: 'database_design',
361
+ title: 'Design database for {mission}',
362
+ description: 'Create database schema and migrations for {description}',
363
+ agentType: AgentType.BACKEND,
364
+ priority: 'high',
365
+ estimatedDuration: 100
366
+ }
367
+ },
368
+ {
369
+ pattern: /auth/i,
370
+ taskTemplate: {
371
+ type: 'authentication',
372
+ title: 'Implement authentication for {mission}',
373
+ description: 'Add user authentication and authorization for {description}',
374
+ agentType: AgentType.BACKEND,
375
+ priority: 'critical',
376
+ estimatedDuration: 200
377
+ }
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ missionType: 'testing',
383
+ patterns: [
384
+ {
385
+ pattern: /unit/i,
386
+ taskTemplate: {
387
+ type: 'unit_testing',
388
+ title: 'Write unit tests for {mission}',
389
+ description: 'Create comprehensive unit tests for {description}',
390
+ agentType: AgentType.TESTING,
391
+ priority: 'high',
392
+ estimatedDuration: 120
393
+ }
394
+ },
395
+ {
396
+ pattern: /integration/i,
397
+ taskTemplate: {
398
+ type: 'integration_testing',
399
+ title: 'Integration testing for {mission}',
400
+ description: 'Create integration tests for {description}',
401
+ agentType: AgentType.TESTING,
402
+ priority: 'medium',
403
+ estimatedDuration: 180
404
+ }
405
+ }
406
+ ]
407
+ },
408
+ {
409
+ missionType: 'documentation',
410
+ patterns: [
411
+ {
412
+ pattern: /api/i,
413
+ taskTemplate: {
414
+ type: 'api_documentation',
415
+ title: 'Document {mission} API',
416
+ description: 'Create comprehensive API documentation for {description}',
417
+ agentType: AgentType.DOCUMENTATION,
418
+ priority: 'medium',
419
+ estimatedDuration: 90
420
+ }
421
+ },
422
+ {
423
+ pattern: /guide|tutorial/i,
424
+ taskTemplate: {
425
+ type: 'tutorial',
426
+ title: 'Create {mission} guide',
427
+ description: 'Write step-by-step guide for {description}',
428
+ agentType: AgentType.DOCUMENTATION,
429
+ priority: 'medium',
430
+ estimatedDuration: 150
431
+ }
432
+ }
433
+ ]
434
+ },
435
+ {
436
+ missionType: 'security',
437
+ patterns: [
438
+ {
439
+ pattern: /audit|review/i,
440
+ taskTemplate: {
441
+ type: 'security_audit',
442
+ title: 'Security audit for {mission}',
443
+ description: 'Conduct comprehensive security audit for {description}',
444
+ agentType: AgentType.SECURITY,
445
+ priority: 'critical',
446
+ estimatedDuration: 240
447
+ }
448
+ },
449
+ {
450
+ pattern: /vulnerability/i,
451
+ taskTemplate: {
452
+ type: 'vulnerability_assessment',
453
+ title: 'Vulnerability assessment for {mission}',
454
+ description: 'Identify and assess security vulnerabilities for {description}',
455
+ agentType: AgentType.SECURITY,
456
+ priority: 'critical',
457
+ estimatedDuration: 180
458
+ }
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ missionType: 'performance',
464
+ patterns: [
465
+ {
466
+ pattern: /optimize/i,
467
+ taskTemplate: {
468
+ type: 'performance_optimization',
469
+ title: 'Optimize {mission}',
470
+ description: 'Improve performance and efficiency for {description}',
471
+ agentType: AgentType.PERFORMANCE,
472
+ priority: 'high',
473
+ estimatedDuration: 160
474
+ }
475
+ },
476
+ {
477
+ pattern: /benchmark/i,
478
+ taskTemplate: {
479
+ type: 'performance_testing',
480
+ title: 'Performance testing for {mission}',
481
+ description: 'Conduct performance benchmarks for {description}',
482
+ agentType: AgentType.PERFORMANCE,
483
+ priority: 'medium',
484
+ estimatedDuration: 120
485
+ }
486
+ }
487
+ ]
488
+ }
489
+ ];
490
+ }
491
+ }