@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,640 +0,0 @@
1
- /**
2
- * Conflict Resolver for FleetTools Coordination System
3
- *
4
- * Detects and resolves conflicts between agents
5
- * Handles resource, task, and data conflicts
6
- */
7
-
8
- import { randomUUID } from 'node:crypto';
9
-
10
- export enum ConflictType {
11
- RESOURCE = 'resource',
12
- TASK = 'task',
13
- DATA = 'data'
14
- }
15
-
16
- export enum ConflictSeverity {
17
- LOW = 'low',
18
- MEDIUM = 'medium',
19
- HIGH = 'high',
20
- CRITICAL = 'critical'
21
- }
22
-
23
- export enum ConflictResolution {
24
- FIRST_COME_FIRST_SERVE = 'first_come_first_serve',
25
- PRIORITY_BASED = 'priority_based',
26
- RESOURCE_SHARING = 'resource_sharing',
27
- TASK_SPLITTING = 'task_splitting',
28
- AGENT_COOPERATION = 'agent_cooperation',
29
- ARBITRATION = 'arbitration'
30
- }
31
-
32
- export interface Conflict {
33
- id: string;
34
- type: ConflictType;
35
- agents: string[];
36
- description: string;
37
- severity: ConflictSeverity;
38
- detectedAt: string;
39
- resolvedAt?: string;
40
- resolution?: ConflictResolution;
41
- resolutionDetails?: string;
42
- metadata: Record<string, any>;
43
- }
44
-
45
- export interface Resource {
46
- id: string;
47
- type: 'file' | 'directory' | 'port' | 'memory' | 'cpu' | 'database_connection';
48
- name: string;
49
- lockedBy?: string;
50
- lockType?: 'exclusive' | 'shared';
51
- lockExpiry?: string;
52
- }
53
-
54
- export interface ConflictResolutionStrategy {
55
- conflictType: ConflictType;
56
- severity: ConflictSeverity;
57
- strategy: ConflictResolution;
58
- conditions?: Record<string, any>;
59
- priority: number; // Higher number = higher priority
60
- }
61
-
62
- export interface ConflictResolverConfig {
63
- strategies: ConflictResolutionStrategy[];
64
- autoResolveThreshold: ConflictSeverity;
65
- arbitrationRequired: boolean;
66
- conflictRetentionDays: number;
67
- }
68
-
69
- export class ConflictResolver {
70
- private config: ConflictResolverConfig;
71
- private conflicts: Map<string, Conflict> = new Map();
72
- private resources: Map<string, Resource> = new Map();
73
-
74
- constructor(config: Partial<ConflictResolverConfig> = {}) {
75
- this.config = {
76
- strategies: this.getDefaultStrategies(),
77
- autoResolveThreshold: ConflictSeverity.MEDIUM,
78
- arbitrationRequired: false,
79
- conflictRetentionDays: 7,
80
- ...config
81
- };
82
-
83
- console.log('✓ ConflictResolver initialized');
84
- }
85
-
86
- /**
87
- * Detect potential conflicts between agents
88
- */
89
- async detectConflicts(agents: Array<{
90
- id: string;
91
- type: string;
92
- currentTask?: string;
93
- resources?: string[];
94
- metadata?: Record<string, any>;
95
- }>): Promise<Conflict[]> {
96
- const detectedConflicts: Conflict[] = [];
97
-
98
- // Check for resource conflicts
99
- const resourceConflicts = await this.detectResourceConflicts(agents);
100
- detectedConflicts.push(...resourceConflicts);
101
-
102
- // Check for task conflicts
103
- const taskConflicts = await this.detectTaskConflicts(agents);
104
- detectedConflicts.push(...taskConflicts);
105
-
106
- // Check for data conflicts
107
- const dataConflicts = await this.detectDataConflicts(agents);
108
- detectedConflicts.push(...dataConflicts);
109
-
110
- // Store detected conflicts
111
- detectedConflicts.forEach(conflict => {
112
- this.conflicts.set(conflict.id, conflict);
113
- });
114
-
115
- if (detectedConflicts.length > 0) {
116
- console.log(`⚠️ Detected ${detectedConflicts.length} conflicts`);
117
- }
118
-
119
- return detectedConflicts;
120
- }
121
-
122
- /**
123
- * Detect resource conflicts between agents
124
- */
125
- private async detectResourceConflicts(agents: Array<{
126
- id: string;
127
- resources?: string[];
128
- }>): Promise<Conflict[]> {
129
- const conflicts: Conflict[] = [];
130
- const resourceUsage = new Map<string, string[]>(); // resource -> agents
131
-
132
- // Map resource usage
133
- agents.forEach(agent => {
134
- if (agent.resources) {
135
- agent.resources.forEach(resource => {
136
- if (!resourceUsage.has(resource)) {
137
- resourceUsage.set(resource, []);
138
- }
139
- resourceUsage.get(resource)!.push(agent.id);
140
- });
141
- }
142
- });
143
-
144
- // Find conflicts (multiple agents using same resource)
145
- for (const [resource, agentIds] of resourceUsage.entries()) {
146
- if (agentIds.length > 1) {
147
- const conflict: Conflict = {
148
- id: `cfl_${randomUUID()}`,
149
- type: ConflictType.RESOURCE,
150
- agents: agentIds,
151
- description: `Multiple agents accessing resource: ${resource}`,
152
- severity: this.assessResourceConflictSeverity(resource, agentIds),
153
- detectedAt: new Date().toISOString(),
154
- metadata: {
155
- resource,
156
- resourceType: this.inferResourceType(resource),
157
- conflictingAgents: agentIds
158
- }
159
- };
160
- conflicts.push(conflict);
161
- }
162
- }
163
-
164
- return conflicts;
165
- }
166
-
167
- /**
168
- * Detect task conflicts between agents
169
- */
170
- private async detectTaskConflicts(agents: Array<{
171
- id: string;
172
- currentTask?: string;
173
- metadata?: Record<string, any>;
174
- }>): Promise<Conflict[]> {
175
- const conflicts: Conflict[] = [];
176
- const taskAssignments = new Map<string, string[]>(); // task -> agents
177
-
178
- // Map task assignments
179
- agents.forEach(agent => {
180
- if (agent.currentTask) {
181
- if (!taskAssignments.has(agent.currentTask)) {
182
- taskAssignments.set(agent.currentTask, []);
183
- }
184
- taskAssignments.get(agent.currentTask)!.push(agent.id);
185
- }
186
- });
187
-
188
- // Find conflicts (multiple agents working on same task)
189
- for (const [task, agentIds] of taskAssignments.entries()) {
190
- if (agentIds.length > 1) {
191
- const conflict: Conflict = {
192
- id: `cfl_${randomUUID()}`,
193
- type: ConflictType.TASK,
194
- agents: agentIds,
195
- description: `Multiple agents working on task: ${task}`,
196
- severity: ConflictSeverity.HIGH,
197
- detectedAt: new Date().toISOString(),
198
- metadata: {
199
- task,
200
- conflictingAgents: agentIds,
201
- taskType: this.inferTaskType(task)
202
- }
203
- };
204
- conflicts.push(conflict);
205
- }
206
- }
207
-
208
- return conflicts;
209
- }
210
-
211
- /**
212
- * Detect data conflicts between agents
213
- */
214
- private async detectDataConflicts(agents: Array<{
215
- id: string;
216
- metadata?: Record<string, any>;
217
- }>): Promise<Conflict[]> {
218
- const conflicts: Conflict[] = [];
219
- const dataAccess = new Map<string, string[]>(); // data -> agents
220
-
221
- // Map data access based on metadata
222
- agents.forEach(agent => {
223
- if (agent.metadata) {
224
- const accessedData = this.extractAccessedData(agent.metadata);
225
- accessedData.forEach(data => {
226
- if (!dataAccess.has(data)) {
227
- dataAccess.set(data, []);
228
- }
229
- dataAccess.get(data)!.push(agent.id);
230
- });
231
- }
232
- });
233
-
234
- // Find conflicts (simultaneous write access)
235
- for (const [data, agentIds] of dataAccess.entries()) {
236
- if (agentIds.length > 1) {
237
- const conflict: Conflict = {
238
- id: `cfl_${randomUUID()}`,
239
- type: ConflictType.DATA,
240
- agents: agentIds,
241
- description: `Concurrent data access: ${data}`,
242
- severity: this.assessDataConflictSeverity(data, agentIds),
243
- detectedAt: new Date().toISOString(),
244
- metadata: {
245
- data,
246
- conflictingAgents: agentIds,
247
- accessType: 'write'
248
- }
249
- };
250
- conflicts.push(conflict);
251
- }
252
- }
253
-
254
- return conflicts;
255
- }
256
-
257
- /**
258
- * Resolve detected conflicts
259
- */
260
- async resolveConflict(conflictId: string): Promise<Conflict> {
261
- const conflict = this.conflicts.get(conflictId);
262
- if (!conflict) {
263
- throw new Error(`Conflict not found: ${conflictId}`);
264
- }
265
-
266
- // Check if already resolved
267
- if (conflict.resolvedAt) {
268
- return conflict;
269
- }
270
-
271
- // Find applicable resolution strategy
272
- const strategy = this.findResolutionStrategy(conflict);
273
-
274
- // Apply resolution
275
- const resolutionResult = await this.applyResolution(conflict, strategy);
276
-
277
- // Update conflict
278
- conflict.resolvedAt = new Date().toISOString();
279
- conflict.resolution = strategy;
280
- conflict.resolutionDetails = resolutionResult.description;
281
- this.conflicts.set(conflictId, conflict);
282
-
283
- console.log(`✓ Resolved conflict ${conflictId} using ${strategy} strategy`);
284
- return conflict;
285
- }
286
-
287
- /**
288
- * Find appropriate resolution strategy for conflict
289
- */
290
- private findResolutionStrategy(conflict: Conflict): ConflictResolution {
291
- // Find matching strategies
292
- const applicableStrategies = this.config.strategies.filter(strategy =>
293
- strategy.conflictType === conflict.type &&
294
- (strategy.severity === conflict.severity || strategy.severity === ConflictSeverity.CRITICAL)
295
- );
296
-
297
- if (applicableStrategies.length === 0) {
298
- return ConflictResolution.FIRST_COME_FIRST_SERVE;
299
- }
300
-
301
- // Sort by priority and return highest priority
302
- applicableStrategies.sort((a, b) => b.priority - a.priority);
303
- return applicableStrategies[0].strategy;
304
- }
305
-
306
- /**
307
- * Apply resolution strategy to conflict
308
- */
309
- private async applyResolution(conflict: Conflict, strategy: ConflictResolution): Promise<{
310
- description: string;
311
- actions: string[];
312
- }> {
313
- switch (strategy) {
314
- case ConflictResolution.FIRST_COME_FIRST_SERVE:
315
- return this.applyFirstComeFirstServe(conflict);
316
-
317
- case ConflictResolution.PRIORITY_BASED:
318
- return this.applyPriorityBased(conflict);
319
-
320
- case ConflictResolution.RESOURCE_SHARING:
321
- return this.applyResourceSharing(conflict);
322
-
323
- case ConflictResolution.TASK_SPLITTING:
324
- return this.applyTaskSplitting(conflict);
325
-
326
- case ConflictResolution.AGENT_COOPERATION:
327
- return this.applyAgentCooperation(conflict);
328
-
329
- case ConflictResolution.ARBITRATION:
330
- return this.applyArbitration(conflict);
331
-
332
- default:
333
- return this.applyFirstComeFirstServe(conflict);
334
- }
335
- }
336
-
337
- /**
338
- * Apply first-come-first-serve resolution
339
- */
340
- private applyFirstComeFirstServe(conflict: Conflict): {
341
- description: string;
342
- actions: string[];
343
- } {
344
- const winner = conflict.agents[0]; // First agent gets priority
345
- const losers = conflict.agents.slice(1);
346
-
347
- return {
348
- description: `Agent ${winner} retains access, others must wait`,
349
- actions: [
350
- `Grant continued access to agent ${winner}`,
351
- `Request ${losers.join(', ')} to release resources`,
352
- `Queue ${losers.join(', ')} for later access`
353
- ]
354
- };
355
- }
356
-
357
- /**
358
- * Apply priority-based resolution
359
- */
360
- private applyPriorityBased(conflict: Conflict): {
361
- description: string;
362
- actions: string[];
363
- } {
364
- // For now, use agent order as priority (in real implementation, this would use agent priorities)
365
- const winner = conflict.agents[0];
366
- const losers = conflict.agents.slice(1);
367
-
368
- return {
369
- description: `Higher priority agent ${winner} wins conflict`,
370
- actions: [
371
- `Assign priority to agent ${winner}`,
372
- `Suspend work for ${losers.join(', ')}`,
373
- `Resume suspended agents when resource available`
374
- ]
375
- };
376
- }
377
-
378
- /**
379
- * Apply resource sharing resolution
380
- */
381
- private applyResourceSharing(conflict: Conflict): {
382
- description: string;
383
- actions: string[];
384
- } {
385
- return {
386
- description: `Enable resource sharing between agents ${conflict.agents.join(', ')}`,
387
- actions: [
388
- `Convert resource locks to shared mode`,
389
- `Coordinate access between all agents`,
390
- `Monitor for additional conflicts`
391
- ]
392
- };
393
- }
394
-
395
- /**
396
- * Apply task splitting resolution
397
- */
398
- private applyTaskSplitting(conflict: Conflict): {
399
- description: string;
400
- actions: string[];
401
- } {
402
- return {
403
- description: `Split task to avoid agent conflicts`,
404
- actions: [
405
- `Divide task into subtasks`,
406
- `Assign subtasks to different agents`,
407
- `Coordinate subtask integration`
408
- ]
409
- };
410
- }
411
-
412
- /**
413
- * Apply agent cooperation resolution
414
- */
415
- private applyAgentCooperation(conflict: Conflict): {
416
- description: string;
417
- actions: string[];
418
- } {
419
- return {
420
- description: `Enable cooperation between agents ${conflict.agents.join(', ')}`,
421
- actions: [
422
- `Establish communication channel between agents`,
423
- `Define shared responsibility areas`,
424
- `Create cooperation protocol`
425
- ]
426
- };
427
- }
428
-
429
- /**
430
- * Apply arbitration resolution
431
- */
432
- private applyArbitration(conflict: Conflict): {
433
- description: string;
434
- actions: string[];
435
- } {
436
- // Simple arbitration based on agent ID (in real implementation, this would be more sophisticated)
437
- const winner = conflict.agents.sort()[0];
438
-
439
- return {
440
- description: `Arbitration awards resource to agent ${winner}`,
441
- actions: [
442
- `Conduct arbitration between agents`,
443
- `Award resource access to agent ${winner}`,
444
- `Document arbitration decision`
445
- ]
446
- };
447
- }
448
-
449
- /**
450
- * Get all conflicts
451
- */
452
- getConflicts(): Conflict[] {
453
- return Array.from(this.conflicts.values());
454
- }
455
-
456
- /**
457
- * Get unresolved conflicts
458
- */
459
- getUnresolvedConflicts(): Conflict[] {
460
- return Array.from(this.conflicts.values()).filter(conflict => !conflict.resolvedAt);
461
- }
462
-
463
- /**
464
- * Auto-resolve conflicts below threshold
465
- */
466
- async autoResolveConflicts(): Promise<Conflict[]> {
467
- const unresolvedConflicts = this.getUnresolvedConflicts();
468
- const autoResolvable = unresolvedConflicts.filter(conflict =>
469
- this.isSeverityBelowThreshold(conflict.severity)
470
- );
471
-
472
- const resolved: Conflict[] = [];
473
- for (const conflict of autoResolvable) {
474
- try {
475
- const resolvedConflict = await this.resolveConflict(conflict.id);
476
- resolved.push(resolvedConflict);
477
- } catch (error) {
478
- console.error(`Failed to auto-resolve conflict ${conflict.id}:`, error);
479
- }
480
- }
481
-
482
- if (resolved.length > 0) {
483
- console.log(`🤖 Auto-resolved ${resolved.length} conflicts`);
484
- }
485
-
486
- return resolved;
487
- }
488
-
489
- /**
490
- * Helper methods
491
- */
492
- private assessResourceConflictSeverity(resource: string, agentIds: string[]): ConflictSeverity {
493
- if (resource.includes('critical') || resource.includes('system')) {
494
- return ConflictSeverity.CRITICAL;
495
- }
496
- if (resource.includes('database') || resource.includes('auth')) {
497
- return ConflictSeverity.HIGH;
498
- }
499
- if (agentIds.length > 3) {
500
- return ConflictSeverity.HIGH;
501
- }
502
- return ConflictSeverity.MEDIUM;
503
- }
504
-
505
- private assessDataConflictSeverity(data: string, agentIds: string[]): ConflictSeverity {
506
- if (data.includes('sensitive') || data.includes('critical')) {
507
- return ConflictSeverity.CRITICAL;
508
- }
509
- if (agentIds.length > 2) {
510
- return ConflictSeverity.HIGH;
511
- }
512
- return ConflictSeverity.MEDIUM;
513
- }
514
-
515
- private inferResourceType(resource: string): string {
516
- if (resource.includes('file')) return 'file';
517
- if (resource.includes('port')) return 'port';
518
- if (resource.includes('memory') || resource.includes('cpu')) return 'system';
519
- return 'unknown';
520
- }
521
-
522
- private inferTaskType(task: string): string {
523
- if (task.includes('api')) return 'api_development';
524
- if (task.includes('test')) return 'testing';
525
- if (task.includes('doc')) return 'documentation';
526
- return 'general';
527
- }
528
-
529
- private extractAccessedData(metadata: Record<string, any>): string[] {
530
- const accessedData: string[] = [];
531
-
532
- if (metadata.files) {
533
- accessedData.push(...metadata.files);
534
- }
535
- if (metadata.databases) {
536
- accessedData.push(...metadata.databases);
537
- }
538
- if (metadata.endpoints) {
539
- accessedData.push(...metadata.endpoints);
540
- }
541
-
542
- return accessedData;
543
- }
544
-
545
- private isSeverityBelowThreshold(severity: ConflictSeverity): boolean {
546
- const severityOrder = [
547
- ConflictSeverity.LOW,
548
- ConflictSeverity.MEDIUM,
549
- ConflictSeverity.HIGH,
550
- ConflictSeverity.CRITICAL
551
- ];
552
-
553
- const thresholdIndex = severityOrder.indexOf(this.config.autoResolveThreshold);
554
- const severityIndex = severityOrder.indexOf(severity);
555
-
556
- return severityIndex <= thresholdIndex;
557
- }
558
-
559
- /**
560
- * Get default resolution strategies
561
- */
562
- private getDefaultStrategies(): ConflictResolutionStrategy[] {
563
- return [
564
- {
565
- conflictType: ConflictType.RESOURCE,
566
- severity: ConflictSeverity.LOW,
567
- strategy: ConflictResolution.RESOURCE_SHARING,
568
- priority: 1
569
- },
570
- {
571
- conflictType: ConflictType.RESOURCE,
572
- severity: ConflictSeverity.MEDIUM,
573
- strategy: ConflictResolution.PRIORITY_BASED,
574
- priority: 2
575
- },
576
- {
577
- conflictType: ConflictType.RESOURCE,
578
- severity: ConflictSeverity.HIGH,
579
- strategy: ConflictResolution.FIRST_COME_FIRST_SERVE,
580
- priority: 3
581
- },
582
- {
583
- conflictType: ConflictType.RESOURCE,
584
- severity: ConflictSeverity.CRITICAL,
585
- strategy: ConflictResolution.ARBITRATION,
586
- priority: 4
587
- },
588
- {
589
- conflictType: ConflictType.TASK,
590
- severity: ConflictSeverity.MEDIUM,
591
- strategy: ConflictResolution.TASK_SPLITTING,
592
- priority: 2
593
- },
594
- {
595
- conflictType: ConflictType.TASK,
596
- severity: ConflictSeverity.HIGH,
597
- strategy: ConflictResolution.AGENT_COOPERATION,
598
- priority: 3
599
- },
600
- {
601
- conflictType: ConflictType.DATA,
602
- severity: ConflictSeverity.LOW,
603
- strategy: ConflictResolution.RESOURCE_SHARING,
604
- priority: 1
605
- },
606
- {
607
- conflictType: ConflictType.DATA,
608
- severity: ConflictSeverity.MEDIUM,
609
- strategy: ConflictResolution.FIRST_COME_FIRST_SERVE,
610
- priority: 2
611
- },
612
- {
613
- conflictType: ConflictType.DATA,
614
- severity: ConflictSeverity.HIGH,
615
- strategy: ConflictResolution.ARBITRATION,
616
- priority: 3
617
- }
618
- ];
619
- }
620
-
621
- /**
622
- * Clean up old resolved conflicts
623
- */
624
- cleanupOldConflicts(): void {
625
- const cutoffDate = new Date();
626
- cutoffDate.setDate(cutoffDate.getDate() - this.config.conflictRetentionDays);
627
-
628
- let cleanedCount = 0;
629
- for (const [conflictId, conflict] of this.conflicts.entries()) {
630
- if (conflict.resolvedAt && new Date(conflict.resolvedAt) < cutoffDate) {
631
- this.conflicts.delete(conflictId);
632
- cleanedCount++;
633
- }
634
- }
635
-
636
- if (cleanedCount > 0) {
637
- console.log(`🧹 Cleaned up ${cleanedCount} old conflicts`);
638
- }
639
- }
640
- }