@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,411 @@
1
+ /**
2
+ * FleetTools Specialist Tools (Fleet API)
3
+ *
4
+ * These tools allow Specialist agents to coordinate with the Dispatch coordinator.
5
+ * Each tool handles a specific aspect of the specialist lifecycle:
6
+ * - Registration: Announce readiness
7
+ * - Reservation: Lock files before editing
8
+ * - Progress: Report work progress
9
+ * - Completion: Mark sortie complete
10
+ * - Blocking: Report blockers
11
+ * - Messaging: Send/receive messages
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
+ // VALIDATION HELPERS
20
+ // ============================================================================
21
+ /**
22
+ * Validate required string field
23
+ */
24
+ function validateString(value, fieldName) {
25
+ if (typeof value !== 'string' || value.length === 0) {
26
+ throw new Error(`${fieldName} is required and must be a non-empty string`);
27
+ }
28
+ return value;
29
+ }
30
+ /**
31
+ * Validate required number field
32
+ */
33
+ function validateNumber(value, fieldName, min, max) {
34
+ if (typeof value !== 'number') {
35
+ throw new Error(`${fieldName} must be a number`);
36
+ }
37
+ if (min !== undefined && value < min) {
38
+ throw new Error(`${fieldName} must be >= ${min}`);
39
+ }
40
+ if (max !== undefined && value > max) {
41
+ throw new Error(`${fieldName} must be <= ${max}`);
42
+ }
43
+ return value;
44
+ }
45
+ /**
46
+ * Validate required array field
47
+ */
48
+ function validateArray(value, fieldName) {
49
+ if (!Array.isArray(value)) {
50
+ throw new Error(`${fieldName} must be an array`);
51
+ }
52
+ return value;
53
+ }
54
+ // ============================================================================
55
+ // SPECIALIST TOOLS IMPLEMENTATION
56
+ // ============================================================================
57
+ /**
58
+ * Fleet Register Tool
59
+ * Specialist announces readiness to Dispatch
60
+ */
61
+ export async function fleetRegister(input) {
62
+ try {
63
+ // Validate input
64
+ const specialistId = validateString(input.specialist_id, 'specialist_id');
65
+ const missionId = validateString(input.mission_id, 'mission_id');
66
+ const sortieId = validateString(input.sortie_id, 'sortie_id');
67
+ const db = getAdapter();
68
+ // Register specialist
69
+ const specialist = await db.specialists.register({
70
+ id: specialistId,
71
+ name: `Specialist-${specialistId.substring(0, 8)}`,
72
+ capabilities: input.capabilities || [],
73
+ metadata: input.metadata,
74
+ });
75
+ // Create mailbox for specialist
76
+ const mailboxId = `mailbox-${randomUUID()}`;
77
+ // Check for recovery context (checkpoint)
78
+ const checkpoint = await db.checkpoints.getLatestByMission(missionId);
79
+ return {
80
+ status: 'registered',
81
+ specialist_id: specialist.id,
82
+ dispatch_id: 'dispatch-coordinator',
83
+ mailbox_id: mailboxId,
84
+ recovery_context: checkpoint || undefined,
85
+ };
86
+ }
87
+ catch (error) {
88
+ const message = error instanceof Error ? error.message : 'Unknown error';
89
+ console.error('[fleet_register] Error:', message);
90
+ return {
91
+ status: 'error',
92
+ specialist_id: input.specialist_id,
93
+ error: message,
94
+ };
95
+ }
96
+ }
97
+ /**
98
+ * Fleet Reserve Tool
99
+ * Specialist locks files before editing
100
+ */
101
+ export async function fleetReserve(input) {
102
+ try {
103
+ // Validate input
104
+ const specialistId = validateString(input.specialist_id, 'specialist_id');
105
+ validateString(input.mission_id, 'mission_id');
106
+ const filePaths = validateArray(input.file_paths, 'file_paths');
107
+ const durationMs = validateNumber(input.duration_ms, 'duration_ms', 1);
108
+ if (filePaths.length === 0) {
109
+ throw new Error('file_paths must contain at least one file');
110
+ }
111
+ const db = getAdapter();
112
+ const lockIds = [];
113
+ const conflicts = [];
114
+ // Try to acquire locks for each file
115
+ for (const filePath of filePaths) {
116
+ const result = await db.locks.acquire({
117
+ file: filePath,
118
+ specialist_id: specialistId,
119
+ timeout_ms: durationMs,
120
+ purpose: (input.purpose || 'edit'),
121
+ });
122
+ if (result.conflict && result.existing_lock) {
123
+ conflicts.push({
124
+ file_path: filePath,
125
+ held_by: result.existing_lock.reserved_by,
126
+ expires_at: result.existing_lock.expires_at,
127
+ });
128
+ }
129
+ else if (result.lock) {
130
+ lockIds.push(result.lock.id);
131
+ }
132
+ }
133
+ // If any conflicts, return conflict status
134
+ if (conflicts.length > 0) {
135
+ return {
136
+ status: 'conflict',
137
+ lock_ids: lockIds,
138
+ conflicts,
139
+ };
140
+ }
141
+ return {
142
+ status: 'reserved',
143
+ lock_ids: lockIds,
144
+ };
145
+ }
146
+ catch (error) {
147
+ const message = error instanceof Error ? error.message : 'Unknown error';
148
+ console.error('[fleet_reserve] Error:', message);
149
+ return {
150
+ status: 'error',
151
+ error: message,
152
+ };
153
+ }
154
+ }
155
+ /**
156
+ * Fleet Progress Tool
157
+ * Specialist reports work progress
158
+ */
159
+ export async function fleetProgress(input) {
160
+ try {
161
+ // Validate input
162
+ validateString(input.specialist_id, 'specialist_id');
163
+ validateString(input.mission_id, 'mission_id');
164
+ const sortieId = validateString(input.sortie_id, 'sortie_id');
165
+ const progressPercent = validateNumber(input.progress_percent, 'progress_percent', 0, 100);
166
+ validateString(input.status_message, 'status_message');
167
+ const db = getAdapter();
168
+ // Get sortie
169
+ const sortie = await db.sorties.getById(sortieId);
170
+ if (!sortie) {
171
+ return {
172
+ status: 'error',
173
+ next_action: 'abort',
174
+ error: `Sortie ${sortieId} not found`,
175
+ };
176
+ }
177
+ // Update sortie with progress (store in metadata since progress_notes not in UpdateSortieInput)
178
+ await db.sorties.update(sortieId, {
179
+ metadata: {
180
+ progress_percent: progressPercent,
181
+ status_message: input.status_message,
182
+ },
183
+ });
184
+ // If there are blockers, emit event
185
+ if (input.blockers && input.blockers.length > 0) {
186
+ console.log(`[fleet_progress] Blockers reported for sortie ${sortieId}:`, input.blockers);
187
+ }
188
+ return {
189
+ status: 'acknowledged',
190
+ next_action: 'continue',
191
+ };
192
+ }
193
+ catch (error) {
194
+ const message = error instanceof Error ? error.message : 'Unknown error';
195
+ console.error('[fleet_progress] Error:', message);
196
+ return {
197
+ status: 'error',
198
+ next_action: 'abort',
199
+ error: message,
200
+ };
201
+ }
202
+ }
203
+ /**
204
+ * Fleet Complete Tool
205
+ * Specialist marks sortie complete
206
+ */
207
+ export async function fleetComplete(input) {
208
+ try {
209
+ // Validate input
210
+ const specialistId = validateString(input.specialist_id, 'specialist_id');
211
+ const missionId = validateString(input.mission_id, 'mission_id');
212
+ const sortieId = validateString(input.sortie_id, 'sortie_id');
213
+ if (!input.result || typeof input.result.success !== 'boolean') {
214
+ throw new Error('result.success is required and must be a boolean');
215
+ }
216
+ validateString(input.result.summary, 'result.summary');
217
+ const db = getAdapter();
218
+ // Get sortie
219
+ const sortie = await db.sorties.getById(sortieId);
220
+ if (!sortie) {
221
+ return {
222
+ status: 'error',
223
+ error: `Sortie ${sortieId} not found`,
224
+ };
225
+ }
226
+ // Update sortie with completion info (store in metadata since progress_notes not in UpdateSortieInput)
227
+ await db.sorties.update(sortieId, {
228
+ metadata: {
229
+ completion_summary: input.result.summary,
230
+ files_modified: input.result.files_modified || [],
231
+ errors: input.result.errors || [],
232
+ },
233
+ });
234
+ // Release locks for this specialist
235
+ const activeLocks = await db.locks.getActive();
236
+ for (const lock of activeLocks) {
237
+ if (lock.reserved_by === specialistId) {
238
+ await db.locks.release(lock.id);
239
+ }
240
+ }
241
+ // Get next sortie (if any)
242
+ const sorties = await db.sorties.getByMission(missionId);
243
+ const nextSortie = sorties.find(s => s.status === 'pending');
244
+ return {
245
+ status: 'completed',
246
+ next_sortie: nextSortie,
247
+ };
248
+ }
249
+ catch (error) {
250
+ const message = error instanceof Error ? error.message : 'Unknown error';
251
+ console.error('[fleet_complete] Error:', message);
252
+ return {
253
+ status: 'error',
254
+ error: message,
255
+ };
256
+ }
257
+ }
258
+ /**
259
+ * Fleet Blocked Tool
260
+ * Specialist reports blocker
261
+ */
262
+ export async function fleetBlocked(input) {
263
+ try {
264
+ // Validate input
265
+ validateString(input.specialist_id, 'specialist_id');
266
+ validateString(input.mission_id, 'mission_id');
267
+ const sortieId = validateString(input.sortie_id, 'sortie_id');
268
+ if (!input.blocker || typeof input.blocker.type !== 'string') {
269
+ throw new Error('blocker.type is required');
270
+ }
271
+ validateString(input.blocker.description, 'blocker.description');
272
+ const db = getAdapter();
273
+ // Update sortie status to blocked (store in metadata since progress_notes not in UpdateSortieInput)
274
+ await db.sorties.update(sortieId, {
275
+ metadata: {
276
+ blocker_type: input.blocker.type,
277
+ blocker_description: input.blocker.description,
278
+ },
279
+ });
280
+ // Emit blocked event
281
+ await db.events.append({
282
+ event_type: 'specialist_blocked',
283
+ stream_type: 'specialist',
284
+ stream_id: input.specialist_id,
285
+ data: {
286
+ mission_id: input.mission_id,
287
+ sortie_id: sortieId,
288
+ blocker: input.blocker,
289
+ },
290
+ });
291
+ // Determine resolution hint based on blocker type
292
+ let resolutionHint = 'Unable to resolve blocker';
293
+ let retryAfterMs;
294
+ switch (input.blocker.type) {
295
+ case 'lock_timeout':
296
+ resolutionHint = 'File lock timeout. Retrying with exponential backoff.';
297
+ retryAfterMs = 5000; // 5 seconds
298
+ break;
299
+ case 'api_error':
300
+ resolutionHint = 'API error encountered. Retrying with exponential backoff.';
301
+ retryAfterMs = 10000; // 10 seconds
302
+ break;
303
+ case 'dependency':
304
+ resolutionHint = 'Waiting for dependency to complete.';
305
+ break;
306
+ case 'other':
307
+ resolutionHint = 'Manual intervention may be required.';
308
+ break;
309
+ }
310
+ return {
311
+ status: 'acknowledged',
312
+ resolution_hint: resolutionHint,
313
+ retry_after_ms: retryAfterMs,
314
+ };
315
+ }
316
+ catch (error) {
317
+ const message = error instanceof Error ? error.message : 'Unknown error';
318
+ console.error('[fleet_blocked] Error:', message);
319
+ return {
320
+ status: 'error',
321
+ error: message,
322
+ };
323
+ }
324
+ }
325
+ /**
326
+ * Fleet Squawk Tool
327
+ * Specialist sends/receives messages
328
+ */
329
+ export async function fleetSquawk(input) {
330
+ try {
331
+ // Validate input
332
+ validateString(input.specialist_id, 'specialist_id');
333
+ validateString(input.mission_id, 'mission_id');
334
+ if (input.action !== 'send' && input.action !== 'receive') {
335
+ throw new Error('action must be "send" or "receive"');
336
+ }
337
+ const db = getAdapter();
338
+ if (input.action === 'send') {
339
+ if (!input.message) {
340
+ return {
341
+ status: 'error',
342
+ error: 'message is required for send action',
343
+ };
344
+ }
345
+ validateString(input.message.to, 'message.to');
346
+ // Send message
347
+ const message = await db.messages.send({
348
+ mailbox_id: input.message.to,
349
+ sender_id: input.specialist_id,
350
+ message_type: 'specialist_message',
351
+ content: input.message.payload,
352
+ });
353
+ return {
354
+ status: 'sent',
355
+ messages: [message],
356
+ };
357
+ }
358
+ else {
359
+ // Receive messages
360
+ const mailboxId = `mailbox-${input.specialist_id}`;
361
+ const messages = await db.messages.getByMailbox(mailboxId, {
362
+ status: 'pending',
363
+ limit: 10,
364
+ });
365
+ // Mark messages as read
366
+ for (const msg of messages) {
367
+ await db.messages.markRead(msg.id);
368
+ }
369
+ return {
370
+ status: 'received',
371
+ messages,
372
+ };
373
+ }
374
+ }
375
+ catch (error) {
376
+ const message = error instanceof Error ? error.message : 'Unknown error';
377
+ console.error('[fleet_squawk] Error:', message);
378
+ return {
379
+ status: 'error',
380
+ error: message,
381
+ };
382
+ }
383
+ }
384
+ // ============================================================================
385
+ // TOOL REGISTRY
386
+ // ============================================================================
387
+ /**
388
+ * Specialist tools registry
389
+ * Maps tool names to implementations
390
+ */
391
+ export const specialistTools = {
392
+ fleet_register: fleetRegister,
393
+ fleet_reserve: fleetReserve,
394
+ fleet_progress: fleetProgress,
395
+ fleet_complete: fleetComplete,
396
+ fleet_blocked: fleetBlocked,
397
+ fleet_squawk: fleetSquawk,
398
+ };
399
+ /**
400
+ * Get tool by name
401
+ */
402
+ export function getTool(name) {
403
+ return specialistTools[name];
404
+ }
405
+ /**
406
+ * List all available tools
407
+ */
408
+ export function listTools() {
409
+ return Object.keys(specialistTools);
410
+ }
411
+ //# sourceMappingURL=specialist-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist-tools.js","sourceRoot":"","sources":["../../../../../src/squawk/specialist-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Type definitions for API requests
3
+ */
4
+ export interface SpawnAgentRequest {
5
+ type: string;
6
+ task?: string;
7
+ metadata?: Record<string, any>;
8
+ config?: {
9
+ timeout?: number;
10
+ retries?: number;
11
+ resources?: {
12
+ memory?: string;
13
+ cpu?: string;
14
+ };
15
+ environment?: Record<string, string>;
16
+ };
17
+ }
18
+ export interface CreateTaskRequest {
19
+ type: string;
20
+ title: string;
21
+ description: string;
22
+ priority?: 'low' | 'medium' | 'high' | 'critical';
23
+ missionId?: string;
24
+ dependencies?: string[];
25
+ metadata?: Record<string, any>;
26
+ }
27
+ export interface UpdateTaskRequest {
28
+ status: string;
29
+ result?: any;
30
+ error?: string;
31
+ }
32
+ export interface WorkOrderRequest {
33
+ title: string;
34
+ description: string;
35
+ priority?: 'low' | 'medium' | 'high' | 'critical';
36
+ assigned_to?: string;
37
+ metadata?: Record<string, any>;
38
+ }
39
+ export interface TechOrderRequest {
40
+ name: string;
41
+ pattern: string;
42
+ context: string;
43
+ usage_count?: number;
44
+ }
45
+ export interface CtkReservationRequest {
46
+ file: string;
47
+ specialist_id: string;
48
+ purpose: string;
49
+ }
50
+ export interface LockRequest {
51
+ file: string;
52
+ specialist_id: string;
53
+ timeout_ms?: number;
54
+ }
55
+ export interface CursorRequest {
56
+ stream_id: string;
57
+ position: number;
58
+ }
59
+ export interface MailboxRequest {
60
+ stream_id: string;
61
+ events: any[];
62
+ }
63
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/types/api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE;YACV,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,EAAE,CAAC;CACf"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for API requests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/types/api.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,30 @@
1
+ import { SQLiteAdapter } from './sqlite.js';
2
+ import type { Event, Mailbox, Cursor, Lock } from './types.js';
3
+ export declare function initializeDatabase(dbPath?: string): Promise<void>;
4
+ export declare function getAdapter(): SQLiteAdapter;
5
+ export declare function closeDatabase(): Promise<void>;
6
+ export declare const mailboxOps: {
7
+ getAll: () => Promise<any>;
8
+ getById: (id: string) => Promise<any>;
9
+ create: (id: string) => Promise<any>;
10
+ exists: (id: string) => Promise<boolean>;
11
+ };
12
+ export declare const eventOps: {
13
+ getByMailbox: (mailboxId: string) => Promise<any>;
14
+ append: (mailboxId: string, events: any[]) => Promise<Event[]>;
15
+ };
16
+ export declare const cursorOps: {
17
+ getById: (id: string) => Promise<any>;
18
+ getByStream: (streamId: string) => Promise<any>;
19
+ upsert: (cursor: any) => Promise<any>;
20
+ };
21
+ export declare const lockOps: {
22
+ getAll: () => Promise<any>;
23
+ getById: (id: string) => Promise<any>;
24
+ acquire: (lock: any) => Promise<any>;
25
+ release: (id: string) => Promise<any>;
26
+ getExpired: () => Promise<any>;
27
+ releaseExpired: () => Promise<any>;
28
+ };
29
+ export type { Mailbox, Event, Cursor, Lock };
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../squawk/src/db/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA8B/D,wBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvE;AAED,wBAAgB,UAAU,IAAI,aAAa,CAO1C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAKnD;AAyID,eAAO,MAAM,UAAU;;kBAUD,MAAM;iBAKP,MAAM;iBAUN,MAAM;CAK1B,CAAC;AAEF,eAAO,MAAM,QAAQ;8BACa,MAAM;wBAUZ,MAAM,UAAU,GAAG,EAAE;CAmChD,CAAC;AAEF,eAAO,MAAM,SAAS;kBACA,MAAM;4BAKI,MAAM;qBASb,GAAG;CAuB3B,CAAC;AAEF,eAAO,MAAM,OAAO;;kBAcE,MAAM;oBAKH,GAAG;kBAkCN,MAAM;;;CA8B3B,CAAC;AAKF,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC"}