@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.
- package/package.json +1 -1
- package/.flightline/checkpoints.db +0 -0
- package/.flightline/ctk/04a5510b-1e09-40c6-91c8-399c22138708.json +0 -9
- package/.flightline/ctk/0ecde721-7827-4039-995a-974e24493cc5.json +0 -9
- package/.flightline/ctk/268bbdbd-ddd7-46b2-845f-56a138aa518a.json +0 -9
- package/.flightline/ctk/6f476f2e-776c-407a-b441-b9365c0bae95.json +0 -9
- package/.flightline/ctk/7e10d0d5-fbc2-4661-af03-53de89e064db.json +0 -9
- package/.flightline/ctk/90783096-b7d4-49c5-8153-3c35018a2e61.json +0 -9
- package/.flightline/ctk/9a3b6d18-8a46-4728-90aa-279800a8e397.json +0 -9
- package/.flightline/ctk/ae30e192-b386-4ee2-899c-93f86785d3f3.json +0 -9
- package/.flightline/ctk/d0e9c49e-10df-413e-8cf7-37232b1838ca.json +0 -9
- package/.flightline/ctk/eae1a12b-2e9d-4c3f-8619-dafbb1346e96.json +0 -9
- package/.flightline/mailboxes/mbx_00dae6ba-0b5e-4a8d-a86d-93c8640872c3/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_05b0bfa9-c4f5-4f68-ba75-6202820f49c3/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_0a6b8fb2-729e-4385-8241-839c36b929d7/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_0abca4ab-8e34-409c-997f-481e80e450dc/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_173e5fb9-8203-418d-93c2-4f8c91f2d842/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_22b62201-0570-4ce8-b0a7-0f4b445f6d9e/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_2724efb1-76e1-4147-9620-4defcc65510f/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_35b8bfcd-5a54-48f1-8759-cb1f8ffe775d/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_3bc5193a-604d-4f52-be00-e56277643358/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_3bd500f3-c111-427a-8cd7-a004125d6dc1/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_45ce9ae8-5299-44dc-a1b5-4d63914a9609/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_4779c645-1efc-4c76-ab21-ff93f973ee8f/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_482237cf-87c8-486e-a24d-0941be2f480d/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_4b7e23c8-5680-4edd-a276-88803dd5fb6f/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_4dd3b945-d846-4c7a-94eb-6eeb25a0dc6b/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_4ec41a62-62bb-4be4-b3ce-282d5a33acce/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_4ff7ee7e-0c8a-43d6-a829-7c62c10af3b0/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_7661e4fb-a919-4af1-86f7-3eaef22f1d81/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_7ca872bb-69ab-4e7d-a7c6-4888ec8e7749/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_7e6d5707-2aa5-4770-a7be-6b1be93d0d87/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_87bef50d-3c59-429b-a995-5872f6278c37/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_88d1ea56-0b69-48c4-9fcf-ce1e1f7527ba/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_8bfb6bd7-07d1-4836-ae9d-3c93668c6dfe/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_93355083-e95b-4341-b625-56fcc1e4fc0c/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_999fd94c-ca56-4fec-8d30-8b677cf40ad6/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_a039fd15-7ee1-4bd6-906d-55dea8d0e489/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_a0b7363f-7cc6-4940-8e29-2dc85793a77d/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_a31e8b61-9643-4c78-939d-d1696d0420d9/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_acc51591-256c-4bed-9a51-514b1811f4cd/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_b1efebd9-5981-49fa-8775-20fa00d0c902/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_ba9d4c61-39a3-4852-95d7-bd34e3605a43/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_c549b60f-65fd-48d5-8cd6-2f053292b112/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_d0f839a5-3ab9-42e2-b438-df5825d049fe/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_d826d57e-9817-4f3c-ab94-2bfafa352f6d/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_da102f37-632c-4c0b-be4c-4270a74c06b9/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_df4506f5-67f2-4cf6-9113-93994b76f39b/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_e038e93b-87ea-4122-9578-6540018697b7/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_e0c171c5-407f-44dc-9ef9-e26e8b99ceac/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_e64770bf-7220-4d0f-848c-d751ea1c7376/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_e7f0edda-0fab-484d-ab4d-d8a8e363cd14/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_ec7d9118-8594-4d79-bf79-f43afdfaf156/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_ee06ec01-03e4-485a-ae2b-d8bdb6e7a3a8/manifest.json +0 -6
- package/.flightline/mailboxes/mbx_fd467681-f9cf-4a54-b06a-836df6de2ccc/manifest.json +0 -6
- package/.flightline/progress.db +0 -0
- package/.flightline/recovery.log +0 -1
- package/.flightline/tasks.db +0 -0
- package/.flightline/tech-orders/to_0c93d981-6b4e-4055-8678-f39c009d1db1.json +0 -11
- package/.flightline/tech-orders/to_1862f8ed-c487-4914-9f1e-528af6d4f053.json +0 -11
- package/.flightline/tech-orders/to_2335a57d-f400-4efa-b108-e13ece57520d.json +0 -11
- package/.flightline/tech-orders/to_2bd8dbdd-ac57-4b84-b977-33a3637d10d1.json +0 -11
- package/.flightline/tech-orders/to_37057c01-39b5-403a-991f-afb186abde95.json +0 -11
- package/.flightline/tech-orders/to_9e7288bb-c0fd-488a-a83d-1e9337bd0f1f.json +0 -11
- package/.flightline/tech-orders/to_aa0fe80b-9de7-40f6-a106-353b5bca10bd.json +0 -11
- package/.flightline/tech-orders/to_c1a0f480-c863-4203-a070-76ad77137845.json +0 -11
- package/.flightline/tech-orders/to_cf1e882a-cf56-45a4-8d19-494925e5f449.json +0 -11
- package/.flightline/work-orders/wo_5a29168d-5fb4-41d7-8dac-1d1151d9248f/manifest.json +0 -15
- package/.flightline/work-orders/wo_6c8c38bb-17a1-4885-ada4-dbfc5cc12d7a/manifest.json +0 -15
- package/.flightline/work-orders/wo_cadeb9b2-ea42-4491-b429-e2d467942b5c/manifest.json +0 -12
- package/.flightline/work-orders/wo_cc7b669c-16c4-4ef7-8a76-d1813219d0be/manifest.json +0 -15
- package/dist/server/api/src/coordination/agent-lifecycle.d.ts +0 -12
- package/dist/server/api/src/coordination/agent-lifecycle.d.ts.map +0 -1
- package/dist/server/api/src/coordination/agent-lifecycle.js +0 -12
- package/dist/server/api/src/coordination/agent-lifecycle.js.map +0 -1
- package/dist/server/api/src/coordination/agent-runner.d.ts +0 -9
- package/dist/server/api/src/coordination/agent-runner.d.ts.map +0 -1
- package/dist/server/api/src/coordination/agent-runner.js +0 -416
- package/dist/server/api/src/coordination/agent-runner.js.map +0 -1
- package/dist/server/api/src/coordination/agent-spawner-routes.d.ts +0 -7
- package/dist/server/api/src/coordination/agent-spawner-routes.d.ts.map +0 -1
- package/dist/server/api/src/coordination/agent-spawner-routes.js +0 -321
- package/dist/server/api/src/coordination/agent-spawner-routes.js.map +0 -1
- package/dist/server/api/src/coordination/agent-spawner.d.ts +0 -187
- package/dist/server/api/src/coordination/agent-spawner.d.ts.map +0 -1
- package/dist/server/api/src/coordination/agent-spawner.js +0 -712
- package/dist/server/api/src/coordination/agent-spawner.js.map +0 -1
- package/dist/server/api/src/coordination/agents.d.ts +0 -13
- package/dist/server/api/src/coordination/agents.d.ts.map +0 -1
- package/dist/server/api/src/coordination/agents.js +0 -464
- package/dist/server/api/src/coordination/agents.js.map +0 -1
- package/dist/server/api/src/coordination/checkpoint-routes.d.ts +0 -33
- package/dist/server/api/src/coordination/checkpoint-routes.d.ts.map +0 -1
- package/dist/server/api/src/coordination/checkpoint-routes.js +0 -323
- package/dist/server/api/src/coordination/checkpoint-routes.js.map +0 -1
- package/dist/server/api/src/coordination/conflict-resolver.d.ts +0 -152
- package/dist/server/api/src/coordination/conflict-resolver.d.ts.map +0 -1
- package/dist/server/api/src/coordination/conflict-resolver.js +0 -502
- package/dist/server/api/src/coordination/conflict-resolver.js.map +0 -1
- package/dist/server/api/src/coordination/missions.d.ts +0 -9
- package/dist/server/api/src/coordination/missions.d.ts.map +0 -1
- package/dist/server/api/src/coordination/missions.js +0 -148
- package/dist/server/api/src/coordination/missions.js.map +0 -1
- package/dist/server/api/src/coordination/monitor.d.ts +0 -175
- package/dist/server/api/src/coordination/monitor.d.ts.map +0 -1
- package/dist/server/api/src/coordination/monitor.js +0 -410
- package/dist/server/api/src/coordination/monitor.js.map +0 -1
- package/dist/server/api/src/coordination/notifier.d.ts +0 -160
- package/dist/server/api/src/coordination/notifier.d.ts.map +0 -1
- package/dist/server/api/src/coordination/notifier.js +0 -422
- package/dist/server/api/src/coordination/notifier.js.map +0 -1
- package/dist/server/api/src/coordination/progress-tracker.d.ts +0 -98
- package/dist/server/api/src/coordination/progress-tracker.d.ts.map +0 -1
- package/dist/server/api/src/coordination/progress-tracker.js +0 -323
- package/dist/server/api/src/coordination/progress-tracker.js.map +0 -1
- package/dist/server/api/src/coordination/recovery-manager.d.ts +0 -135
- package/dist/server/api/src/coordination/recovery-manager.d.ts.map +0 -1
- package/dist/server/api/src/coordination/recovery-manager.js +0 -435
- package/dist/server/api/src/coordination/recovery-manager.js.map +0 -1
- package/dist/server/api/src/coordination/task-decomposer.d.ts +0 -90
- package/dist/server/api/src/coordination/task-decomposer.d.ts.map +0 -1
- package/dist/server/api/src/coordination/task-decomposer.js +0 -412
- package/dist/server/api/src/coordination/task-decomposer.js.map +0 -1
- package/dist/server/api/src/coordination/task-queue-routes.d.ts +0 -7
- package/dist/server/api/src/coordination/task-queue-routes.d.ts.map +0 -1
- package/dist/server/api/src/coordination/task-queue-routes.js +0 -266
- package/dist/server/api/src/coordination/task-queue-routes.js.map +0 -1
- package/dist/server/api/src/coordination/task-queue.d.ts +0 -104
- package/dist/server/api/src/coordination/task-queue.d.ts.map +0 -1
- package/dist/server/api/src/coordination/task-queue.js +0 -378
- package/dist/server/api/src/coordination/task-queue.js.map +0 -1
- package/dist/server/api/src/coordination/tasks.d.ts +0 -7
- package/dist/server/api/src/coordination/tasks.d.ts.map +0 -1
- package/dist/server/api/src/coordination/tasks.js +0 -59
- package/dist/server/api/src/coordination/tasks.js.map +0 -1
- package/dist/server/api/src/decomposition/cli.d.ts +0 -18
- package/dist/server/api/src/decomposition/cli.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/cli.js +0 -191
- package/dist/server/api/src/decomposition/cli.js.map +0 -1
- package/dist/server/api/src/decomposition/codebase-analyzer.d.ts +0 -59
- package/dist/server/api/src/decomposition/codebase-analyzer.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/codebase-analyzer.js +0 -274
- package/dist/server/api/src/decomposition/codebase-analyzer.js.map +0 -1
- package/dist/server/api/src/decomposition/dependency-resolver.d.ts +0 -68
- package/dist/server/api/src/decomposition/dependency-resolver.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/dependency-resolver.js +0 -261
- package/dist/server/api/src/decomposition/dependency-resolver.js.map +0 -1
- package/dist/server/api/src/decomposition/index.d.ts +0 -17
- package/dist/server/api/src/decomposition/index.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/index.js +0 -19
- package/dist/server/api/src/decomposition/index.js.map +0 -1
- package/dist/server/api/src/decomposition/parallelization.d.ts +0 -40
- package/dist/server/api/src/decomposition/parallelization.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/parallelization.js +0 -144
- package/dist/server/api/src/decomposition/parallelization.js.map +0 -1
- package/dist/server/api/src/decomposition/planner.d.ts +0 -84
- package/dist/server/api/src/decomposition/planner.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/planner.js +0 -415
- package/dist/server/api/src/decomposition/planner.js.map +0 -1
- package/dist/server/api/src/decomposition/routes.d.ts +0 -13
- package/dist/server/api/src/decomposition/routes.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/routes.js +0 -114
- package/dist/server/api/src/decomposition/routes.js.map +0 -1
- package/dist/server/api/src/decomposition/strategies.d.ts +0 -43
- package/dist/server/api/src/decomposition/strategies.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/strategies.js +0 -147
- package/dist/server/api/src/decomposition/strategies.js.map +0 -1
- package/dist/server/api/src/decomposition/types.d.ts +0 -1090
- package/dist/server/api/src/decomposition/types.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/types.js +0 -65
- package/dist/server/api/src/decomposition/types.js.map +0 -1
- package/dist/server/api/src/decomposition/validator.d.ts +0 -84
- package/dist/server/api/src/decomposition/validator.d.ts.map +0 -1
- package/dist/server/api/src/decomposition/validator.js +0 -314
- package/dist/server/api/src/decomposition/validator.js.map +0 -1
- package/dist/server/api/src/flightline/ctk.d.ts +0 -2
- package/dist/server/api/src/flightline/ctk.d.ts.map +0 -1
- package/dist/server/api/src/flightline/ctk.js +0 -114
- package/dist/server/api/src/flightline/ctk.js.map +0 -1
- package/dist/server/api/src/flightline/tech-orders.d.ts +0 -2
- package/dist/server/api/src/flightline/tech-orders.d.ts.map +0 -1
- package/dist/server/api/src/flightline/tech-orders.js +0 -74
- package/dist/server/api/src/flightline/tech-orders.js.map +0 -1
- package/dist/server/api/src/flightline/work-orders.d.ts +0 -2
- package/dist/server/api/src/flightline/work-orders.d.ts.map +0 -1
- package/dist/server/api/src/flightline/work-orders.js +0 -178
- package/dist/server/api/src/flightline/work-orders.js.map +0 -1
- package/dist/server/api/src/index.d.ts +0 -3
- package/dist/server/api/src/index.d.ts.map +0 -1
- package/dist/server/api/src/index.js +0 -192
- package/dist/server/api/src/index.js.map +0 -1
- package/dist/server/api/src/middleware/agent-validation.d.ts +0 -161
- package/dist/server/api/src/middleware/agent-validation.d.ts.map +0 -1
- package/dist/server/api/src/middleware/agent-validation.js +0 -112
- package/dist/server/api/src/middleware/agent-validation.js.map +0 -1
- package/dist/server/api/src/middleware/error-handler.d.ts +0 -8
- package/dist/server/api/src/middleware/error-handler.d.ts.map +0 -1
- package/dist/server/api/src/middleware/error-handler.js +0 -54
- package/dist/server/api/src/middleware/error-handler.js.map +0 -1
- package/dist/server/api/src/middleware/logger.d.ts +0 -8
- package/dist/server/api/src/middleware/logger.d.ts.map +0 -1
- package/dist/server/api/src/middleware/logger.js +0 -31
- package/dist/server/api/src/middleware/logger.js.map +0 -1
- package/dist/server/api/src/middleware/validation.d.ts +0 -322
- package/dist/server/api/src/middleware/validation.d.ts.map +0 -1
- package/dist/server/api/src/middleware/validation.js +0 -189
- package/dist/server/api/src/middleware/validation.js.map +0 -1
- package/dist/server/api/src/squawk/blocker-handler.d.ts +0 -111
- package/dist/server/api/src/squawk/blocker-handler.d.ts.map +0 -1
- package/dist/server/api/src/squawk/blocker-handler.js +0 -262
- package/dist/server/api/src/squawk/blocker-handler.js.map +0 -1
- package/dist/server/api/src/squawk/coordinator.d.ts +0 -2
- package/dist/server/api/src/squawk/coordinator.d.ts.map +0 -1
- package/dist/server/api/src/squawk/coordinator.js +0 -24
- package/dist/server/api/src/squawk/coordinator.js.map +0 -1
- package/dist/server/api/src/squawk/cursor.d.ts +0 -2
- package/dist/server/api/src/squawk/cursor.d.ts.map +0 -1
- package/dist/server/api/src/squawk/cursor.js +0 -55
- package/dist/server/api/src/squawk/cursor.js.map +0 -1
- package/dist/server/api/src/squawk/dependency-resolver.d.ts +0 -107
- package/dist/server/api/src/squawk/dependency-resolver.d.ts.map +0 -1
- package/dist/server/api/src/squawk/dependency-resolver.js +0 -324
- package/dist/server/api/src/squawk/dependency-resolver.js.map +0 -1
- package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts +0 -117
- package/dist/server/api/src/squawk/dispatch-orchestrator.d.ts.map +0 -1
- package/dist/server/api/src/squawk/dispatch-orchestrator.js +0 -296
- package/dist/server/api/src/squawk/dispatch-orchestrator.js.map +0 -1
- package/dist/server/api/src/squawk/lock-coordinator.d.ts +0 -118
- package/dist/server/api/src/squawk/lock-coordinator.d.ts.map +0 -1
- package/dist/server/api/src/squawk/lock-coordinator.js +0 -279
- package/dist/server/api/src/squawk/lock-coordinator.js.map +0 -1
- package/dist/server/api/src/squawk/lock.d.ts +0 -2
- package/dist/server/api/src/squawk/lock.d.ts.map +0 -1
- package/dist/server/api/src/squawk/lock.js +0 -87
- package/dist/server/api/src/squawk/lock.js.map +0 -1
- package/dist/server/api/src/squawk/mailbox.d.ts +0 -2
- package/dist/server/api/src/squawk/mailbox.d.ts.map +0 -1
- package/dist/server/api/src/squawk/mailbox.js +0 -66
- package/dist/server/api/src/squawk/mailbox.js.map +0 -1
- package/dist/server/api/src/squawk/spawning.d.ts +0 -79
- package/dist/server/api/src/squawk/spawning.d.ts.map +0 -1
- package/dist/server/api/src/squawk/spawning.js +0 -226
- package/dist/server/api/src/squawk/spawning.js.map +0 -1
- package/dist/server/api/src/squawk/specialist-tools.d.ts +0 -206
- package/dist/server/api/src/squawk/specialist-tools.d.ts.map +0 -1
- package/dist/server/api/src/squawk/specialist-tools.js +0 -411
- package/dist/server/api/src/squawk/specialist-tools.js.map +0 -1
- package/dist/server/api/src/types/api.d.ts +0 -63
- package/dist/server/api/src/types/api.d.ts.map +0 -1
- package/dist/server/api/src/types/api.js +0 -5
- package/dist/server/api/src/types/api.js.map +0 -1
- package/dist/squawk/src/db/index.d.ts +0 -30
- package/dist/squawk/src/db/index.d.ts.map +0 -1
- package/dist/squawk/src/db/index.js +0 -329
- package/dist/squawk/src/db/index.js.map +0 -1
- package/dist/squawk/src/db/sqlite.d.ts +0 -31
- package/dist/squawk/src/db/sqlite.d.ts.map +0 -1
- package/dist/squawk/src/db/sqlite.js +0 -558
- package/dist/squawk/src/db/sqlite.js.map +0 -1
- package/dist/squawk/src/db/types.d.ts +0 -611
- package/dist/squawk/src/db/types.d.ts.map +0 -1
- package/dist/squawk/src/db/types.js +0 -4
- package/dist/squawk/src/db/types.js.map +0 -1
- package/e2e-integration.test.ts +0 -290
- package/integration.test.ts +0 -186
- package/phase1-integration.test.ts +0 -455
- package/phase2-verification.test.ts +0 -135
- package/server.log +0 -58
- package/src/agent-runner.js +0 -877
- package/src/coordination/agent-lifecycle.ts +0 -13
- package/src/coordination/agent-runner.ts +0 -479
- package/src/coordination/agent-spawner-routes.ts +0 -340
- package/src/coordination/agent-spawner.ts +0 -885
- package/src/coordination/agents.ts +0 -525
- package/src/coordination/checkpoint-routes.ts +0 -382
- package/src/coordination/conflict-resolver.ts +0 -640
- package/src/coordination/missions.ts +0 -219
- package/src/coordination/monitor.ts +0 -593
- package/src/coordination/notifier.ts +0 -547
- package/src/coordination/progress-tracker.ts +0 -410
- package/src/coordination/recovery-manager.ts +0 -531
- package/src/coordination/task-decomposer.ts +0 -491
- package/src/coordination/task-queue-routes.ts +0 -284
- package/src/coordination/task-queue.ts +0 -480
- package/src/coordination/tasks.ts +0 -72
- package/src/flightline/ctk.ts +0 -131
- package/src/flightline/tech-orders.ts +0 -85
- package/src/flightline/work-orders.ts +0 -202
- package/src/index.ts +0 -211
- package/src/middleware/agent-validation.ts +0 -130
- package/src/middleware/error-handler.ts +0 -59
- package/src/middleware/logger.ts +0 -37
- package/src/middleware/validation.ts +0 -235
- package/src/squawk/coordinator.ts +0 -26
- package/src/squawk/cursor.ts +0 -62
- package/src/squawk/lock.ts +0 -98
- package/src/squawk/mailbox.ts +0 -75
- package/src/types/api.ts +0 -71
- package/test-api.ts +0 -310
- package/test-enhanced-agents.ts +0 -428
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress Tracker for FleetTools Mission Management
|
|
3
|
-
*
|
|
4
|
-
* Tracks mission progress, agent status updates, and provides real-time metrics
|
|
5
|
-
* Integrates with Squawk event system for coordination
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import Database from 'bun:sqlite';
|
|
9
|
-
import { randomUUID } from 'node:crypto';
|
|
10
|
-
// Using local types to avoid import issues
|
|
11
|
-
export enum MissionStatus {
|
|
12
|
-
PLANNED = 'planned',
|
|
13
|
-
ACTIVE = 'active',
|
|
14
|
-
PAUSED = 'paused',
|
|
15
|
-
COMPLETED = 'completed',
|
|
16
|
-
FAILED = 'failed',
|
|
17
|
-
CANCELLED = 'cancelled'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface ProgressUpdate {
|
|
21
|
-
missionId: string;
|
|
22
|
-
agentId: string;
|
|
23
|
-
progress: number;
|
|
24
|
-
message?: string;
|
|
25
|
-
timestamp: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface Mission {
|
|
29
|
-
id: string;
|
|
30
|
-
title: string;
|
|
31
|
-
description: string;
|
|
32
|
-
status: MissionStatus;
|
|
33
|
-
progress: number;
|
|
34
|
-
tasks: string[];
|
|
35
|
-
createdAt: string;
|
|
36
|
-
updatedAt: string;
|
|
37
|
-
completedAt?: string;
|
|
38
|
-
metadata: Record<string, any>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface ProgressTrackerConfig {
|
|
42
|
-
dbPath?: string;
|
|
43
|
-
updateInterval?: number;
|
|
44
|
-
eventRetention?: number; // days
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export class ProgressTracker {
|
|
48
|
-
private db: Database;
|
|
49
|
-
private config: ProgressTrackerConfig;
|
|
50
|
-
private updateInterval?: ReturnType<typeof setInterval>;
|
|
51
|
-
|
|
52
|
-
constructor(config: ProgressTrackerConfig = {}) {
|
|
53
|
-
this.config = {
|
|
54
|
-
updateInterval: 5000, // 5 seconds
|
|
55
|
-
eventRetention: 30, // 30 days
|
|
56
|
-
...config
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
// Initialize database
|
|
60
|
-
this.db = new Database(this.config.dbPath || ':memory:');
|
|
61
|
-
this.initializeDatabase();
|
|
62
|
-
|
|
63
|
-
// Start periodic updates
|
|
64
|
-
this.startPeriodicUpdates();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Initialize database tables for progress tracking
|
|
69
|
-
*/
|
|
70
|
-
private initializeDatabase(): void {
|
|
71
|
-
// Missions table
|
|
72
|
-
this.db.exec(`
|
|
73
|
-
CREATE TABLE IF NOT EXISTS missions (
|
|
74
|
-
id TEXT PRIMARY KEY,
|
|
75
|
-
title TEXT NOT NULL,
|
|
76
|
-
description TEXT,
|
|
77
|
-
status TEXT NOT NULL,
|
|
78
|
-
progress REAL DEFAULT 0.0,
|
|
79
|
-
tasks TEXT, -- JSON array
|
|
80
|
-
created_at TEXT NOT NULL,
|
|
81
|
-
updated_at TEXT NOT NULL,
|
|
82
|
-
completed_at TEXT,
|
|
83
|
-
metadata TEXT -- JSON object
|
|
84
|
-
)
|
|
85
|
-
`);
|
|
86
|
-
|
|
87
|
-
// Progress updates table
|
|
88
|
-
this.db.exec(`
|
|
89
|
-
CREATE TABLE IF NOT EXISTS progress_updates (
|
|
90
|
-
id TEXT PRIMARY KEY,
|
|
91
|
-
mission_id TEXT NOT NULL,
|
|
92
|
-
agent_id TEXT NOT NULL,
|
|
93
|
-
progress REAL NOT NULL,
|
|
94
|
-
message TEXT,
|
|
95
|
-
timestamp TEXT NOT NULL,
|
|
96
|
-
FOREIGN KEY (mission_id) REFERENCES missions (id)
|
|
97
|
-
)
|
|
98
|
-
`);
|
|
99
|
-
|
|
100
|
-
// Create indexes for performance
|
|
101
|
-
this.db.exec(`
|
|
102
|
-
CREATE INDEX IF NOT EXISTS idx_missions_status ON missions (status);
|
|
103
|
-
CREATE INDEX IF NOT EXISTS idx_progress_mission ON progress_updates (mission_id);
|
|
104
|
-
CREATE INDEX IF NOT EXISTS idx_progress_timestamp ON progress_updates (timestamp);
|
|
105
|
-
`);
|
|
106
|
-
|
|
107
|
-
console.log('✓ ProgressTracker database initialized');
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Start a new mission
|
|
112
|
-
*/
|
|
113
|
-
async startMission(mission: Omit<Mission, 'id' | 'createdAt' | 'updatedAt' | 'progress'>): Promise<string> {
|
|
114
|
-
const missionId = `mission-${randomUUID()}`;
|
|
115
|
-
const now = new Date().toISOString();
|
|
116
|
-
|
|
117
|
-
try {
|
|
118
|
-
const stmt = this.db.prepare(`
|
|
119
|
-
INSERT INTO missions (
|
|
120
|
-
id, title, description, status, progress, tasks,
|
|
121
|
-
created_at, updated_at, metadata
|
|
122
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
123
|
-
`);
|
|
124
|
-
|
|
125
|
-
stmt.run(
|
|
126
|
-
missionId,
|
|
127
|
-
mission.title,
|
|
128
|
-
mission.description,
|
|
129
|
-
MissionStatus.PLANNED,
|
|
130
|
-
0.0,
|
|
131
|
-
JSON.stringify(mission.tasks || []),
|
|
132
|
-
now,
|
|
133
|
-
now,
|
|
134
|
-
JSON.stringify(mission.metadata || {})
|
|
135
|
-
);
|
|
136
|
-
|
|
137
|
-
console.log(`✓ Mission started: ${missionId} (${mission.title})`);
|
|
138
|
-
return missionId;
|
|
139
|
-
} catch (error: any) {
|
|
140
|
-
console.error(`✗ Failed to start mission:`, error.message);
|
|
141
|
-
throw new Error(`Mission start failed: ${error.message}`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Update mission progress
|
|
147
|
-
*/
|
|
148
|
-
async updateProgress(update: ProgressUpdate): Promise<void> {
|
|
149
|
-
const updateId = `pup-${randomUUID()}`;
|
|
150
|
-
const now = new Date().toISOString();
|
|
151
|
-
|
|
152
|
-
try {
|
|
153
|
-
// Insert progress update
|
|
154
|
-
const updateStmt = this.db.prepare(`
|
|
155
|
-
INSERT INTO progress_updates (
|
|
156
|
-
id, mission_id, agent_id, progress, message, timestamp
|
|
157
|
-
) VALUES (?, ?, ?, ?, ?, ?)
|
|
158
|
-
`);
|
|
159
|
-
|
|
160
|
-
updateStmt.run(
|
|
161
|
-
updateId,
|
|
162
|
-
update.missionId,
|
|
163
|
-
update.agentId,
|
|
164
|
-
update.progress,
|
|
165
|
-
update.message || null,
|
|
166
|
-
now
|
|
167
|
-
);
|
|
168
|
-
|
|
169
|
-
// Update mission progress if this is the latest
|
|
170
|
-
await this.recalculateMissionProgress(update.missionId);
|
|
171
|
-
|
|
172
|
-
console.log(`✓ Progress updated: ${update.missionId} -> ${update.progress}% by ${update.agentId}`);
|
|
173
|
-
} catch (error: any) {
|
|
174
|
-
console.error(`✗ Failed to update progress:`, error.message);
|
|
175
|
-
throw new Error(`Progress update failed: ${error.message}`);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Recalculate mission progress based on latest updates
|
|
181
|
-
*/
|
|
182
|
-
private async recalculateMissionProgress(missionId: string): Promise<void> {
|
|
183
|
-
try {
|
|
184
|
-
// Get latest progress from all agents
|
|
185
|
-
const stmt = this.db.prepare(`
|
|
186
|
-
SELECT MAX(progress) as max_progress
|
|
187
|
-
FROM progress_updates
|
|
188
|
-
WHERE mission_id = ?
|
|
189
|
-
`);
|
|
190
|
-
|
|
191
|
-
const result = stmt.get(missionId) as { max_progress: number };
|
|
192
|
-
const newProgress = result?.max_progress || 0;
|
|
193
|
-
|
|
194
|
-
// Update mission with new progress
|
|
195
|
-
const updateStmt = this.db.prepare(`
|
|
196
|
-
UPDATE missions
|
|
197
|
-
SET progress = ?, updated_at = ?
|
|
198
|
-
WHERE id = ?
|
|
199
|
-
`);
|
|
200
|
-
|
|
201
|
-
updateStmt.run(newProgress, new Date().toISOString(), missionId);
|
|
202
|
-
|
|
203
|
-
// Check if mission is complete
|
|
204
|
-
if (newProgress >= 100) {
|
|
205
|
-
await this.completeMission(missionId);
|
|
206
|
-
}
|
|
207
|
-
} catch (error: any) {
|
|
208
|
-
console.error(`✗ Failed to recalculate progress:`, error.message);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Complete a mission
|
|
214
|
-
*/
|
|
215
|
-
async completeMission(missionId: string): Promise<void> {
|
|
216
|
-
try {
|
|
217
|
-
const stmt = this.db.prepare(`
|
|
218
|
-
UPDATE missions
|
|
219
|
-
SET status = ?, progress = 100.0, completed_at = ?, updated_at = ?
|
|
220
|
-
WHERE id = ?
|
|
221
|
-
`);
|
|
222
|
-
|
|
223
|
-
stmt.run(
|
|
224
|
-
MissionStatus.COMPLETED,
|
|
225
|
-
new Date().toISOString(),
|
|
226
|
-
new Date().toISOString(),
|
|
227
|
-
missionId
|
|
228
|
-
);
|
|
229
|
-
|
|
230
|
-
console.log(`✓ Mission completed: ${missionId}`);
|
|
231
|
-
} catch (error: any) {
|
|
232
|
-
console.error(`✗ Failed to complete mission:`, error.message);
|
|
233
|
-
throw new Error(`Mission completion failed: ${error.message}`);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Get mission details
|
|
239
|
-
*/
|
|
240
|
-
async getMission(missionId: string): Promise<Mission | null> {
|
|
241
|
-
try {
|
|
242
|
-
const stmt = this.db.prepare('SELECT * FROM missions WHERE id = ?');
|
|
243
|
-
const row = stmt.get(missionId) as any;
|
|
244
|
-
|
|
245
|
-
if (!row) return null;
|
|
246
|
-
|
|
247
|
-
return {
|
|
248
|
-
id: row.id,
|
|
249
|
-
title: row.title,
|
|
250
|
-
description: row.description,
|
|
251
|
-
status: row.status as MissionStatus,
|
|
252
|
-
progress: row.progress,
|
|
253
|
-
tasks: JSON.parse(row.tasks || '[]'),
|
|
254
|
-
createdAt: row.created_at,
|
|
255
|
-
updatedAt: row.updated_at,
|
|
256
|
-
completedAt: row.completed_at,
|
|
257
|
-
metadata: JSON.parse(row.metadata || '{}')
|
|
258
|
-
};
|
|
259
|
-
} catch (error: any) {
|
|
260
|
-
console.error(`✗ Failed to get mission:`, error.message);
|
|
261
|
-
return null;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* Get all missions with optional status filter
|
|
267
|
-
*/
|
|
268
|
-
async getMissions(status?: MissionStatus): Promise<Mission[]> {
|
|
269
|
-
try {
|
|
270
|
-
let whereClause = '';
|
|
271
|
-
const params: any[] = [];
|
|
272
|
-
|
|
273
|
-
if (status) {
|
|
274
|
-
whereClause = 'WHERE status = ?';
|
|
275
|
-
params.push(status);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
const stmt = this.db.prepare(`SELECT * FROM missions ${whereClause} ORDER BY created_at DESC`);
|
|
279
|
-
const rows = stmt.all(...params) as any[];
|
|
280
|
-
|
|
281
|
-
return rows.map(row => ({
|
|
282
|
-
id: row.id,
|
|
283
|
-
title: row.title,
|
|
284
|
-
description: row.description,
|
|
285
|
-
status: row.status as MissionStatus,
|
|
286
|
-
progress: row.progress,
|
|
287
|
-
tasks: JSON.parse(row.tasks || '[]'),
|
|
288
|
-
createdAt: row.created_at,
|
|
289
|
-
updatedAt: row.updated_at,
|
|
290
|
-
completedAt: row.completed_at,
|
|
291
|
-
metadata: JSON.parse(row.metadata || '{}')
|
|
292
|
-
}));
|
|
293
|
-
} catch (error: any) {
|
|
294
|
-
console.error(`✗ Failed to get missions:`, error.message);
|
|
295
|
-
return [];
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Get progress history for a mission
|
|
301
|
-
*/
|
|
302
|
-
async getProgressHistory(missionId: string, limit = 100): Promise<ProgressUpdate[]> {
|
|
303
|
-
try {
|
|
304
|
-
const stmt = this.db.prepare(`
|
|
305
|
-
SELECT * FROM progress_updates
|
|
306
|
-
WHERE mission_id = ?
|
|
307
|
-
ORDER BY timestamp DESC
|
|
308
|
-
LIMIT ?
|
|
309
|
-
`);
|
|
310
|
-
|
|
311
|
-
const rows = stmt.all(missionId, limit) as any[];
|
|
312
|
-
|
|
313
|
-
return rows.map(row => ({
|
|
314
|
-
missionId: row.mission_id,
|
|
315
|
-
agentId: row.agent_id,
|
|
316
|
-
progress: row.progress,
|
|
317
|
-
message: row.message,
|
|
318
|
-
timestamp: row.timestamp
|
|
319
|
-
}));
|
|
320
|
-
} catch (error: any) {
|
|
321
|
-
console.error(`✗ Failed to get progress history:`, error.message);
|
|
322
|
-
return [];
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Get real-time progress metrics
|
|
328
|
-
*/
|
|
329
|
-
async getProgressMetrics(): Promise<{
|
|
330
|
-
totalMissions: number;
|
|
331
|
-
activeMissions: number;
|
|
332
|
-
completedMissions: number;
|
|
333
|
-
averageProgress: number;
|
|
334
|
-
}> {
|
|
335
|
-
try {
|
|
336
|
-
const totalStmt = this.db.prepare('SELECT COUNT(*) as count FROM missions');
|
|
337
|
-
const activeStmt = this.db.prepare('SELECT COUNT(*) as count FROM missions WHERE status IN (?, ?)');
|
|
338
|
-
const completedStmt = this.db.prepare('SELECT COUNT(*) as count FROM missions WHERE status = ?');
|
|
339
|
-
const avgProgressStmt = this.db.prepare('SELECT AVG(progress) as avg FROM missions WHERE status != ?');
|
|
340
|
-
|
|
341
|
-
const total = (totalStmt.get() as any).count;
|
|
342
|
-
const active = (activeStmt.get(MissionStatus.ACTIVE, MissionStatus.PLANNED) as any).count;
|
|
343
|
-
const completed = (completedStmt.get(MissionStatus.COMPLETED) as any).count;
|
|
344
|
-
const averageProgress = (avgProgressStmt.get(MissionStatus.COMPLETED) as any).avg || 0;
|
|
345
|
-
|
|
346
|
-
return {
|
|
347
|
-
totalMissions: total,
|
|
348
|
-
activeMissions: active,
|
|
349
|
-
completedMissions: completed,
|
|
350
|
-
averageProgress: Math.round(averageProgress * 100) / 100
|
|
351
|
-
};
|
|
352
|
-
} catch (error: any) {
|
|
353
|
-
console.error(`✗ Failed to get progress metrics:`, error.message);
|
|
354
|
-
return {
|
|
355
|
-
totalMissions: 0,
|
|
356
|
-
activeMissions: 0,
|
|
357
|
-
completedMissions: 0,
|
|
358
|
-
averageProgress: 0
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* Start periodic updates for real-time tracking
|
|
365
|
-
*/
|
|
366
|
-
private startPeriodicUpdates(): void {
|
|
367
|
-
if (this.config.updateInterval && this.config.updateInterval > 0) {
|
|
368
|
-
this.updateInterval = setInterval(() => {
|
|
369
|
-
this.performPeriodicUpdate();
|
|
370
|
-
}, this.config.updateInterval);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
/**
|
|
375
|
-
* Perform periodic maintenance tasks
|
|
376
|
-
*/
|
|
377
|
-
private async performPeriodicUpdate(): Promise<void> {
|
|
378
|
-
try {
|
|
379
|
-
// Clean up old progress updates based on retention policy
|
|
380
|
-
if (this.config.eventRetention) {
|
|
381
|
-
const cutoffDate = new Date();
|
|
382
|
-
cutoffDate.setDate(cutoffDate.getDate() - this.config.eventRetention);
|
|
383
|
-
|
|
384
|
-
const deleteStmt = this.db.prepare(`
|
|
385
|
-
DELETE FROM progress_updates
|
|
386
|
-
WHERE timestamp < ?
|
|
387
|
-
`);
|
|
388
|
-
|
|
389
|
-
const result = deleteStmt.run(cutoffDate.toISOString());
|
|
390
|
-
if (result.changes && result.changes > 0) {
|
|
391
|
-
console.log(`🧹 Cleaned up ${result.changes} old progress updates`);
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
} catch (error: any) {
|
|
395
|
-
console.error(`✗ Periodic update failed:`, error.message);
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* Close the progress tracker and cleanup resources
|
|
401
|
-
*/
|
|
402
|
-
async close(): Promise<void> {
|
|
403
|
-
if (this.updateInterval) {
|
|
404
|
-
clearInterval(this.updateInterval);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
this.db.close();
|
|
408
|
-
console.log('✓ ProgressTracker closed');
|
|
409
|
-
}
|
|
410
|
-
}
|