@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,415 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FleetTools Phase 4: LLM Planner
|
|
3
|
-
*
|
|
4
|
-
* Uses Claude API to generate SortieTree from task description and codebase context.
|
|
5
|
-
* Handles prompt generation, API calls, response parsing, and validation.
|
|
6
|
-
*
|
|
7
|
-
* @since 4.0.0 - Initial implementation
|
|
8
|
-
* @last-updated 2026-01-08
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* LLMPlanner - Generates SortieTree using Claude API
|
|
12
|
-
*/
|
|
13
|
-
export class LLMPlanner {
|
|
14
|
-
apiKey;
|
|
15
|
-
apiBaseUrl = 'https://api.anthropic.com/v1';
|
|
16
|
-
model = 'claude-3-5-sonnet-20241022';
|
|
17
|
-
constructor(apiKey) {
|
|
18
|
-
this.apiKey = apiKey || process.env.ANTHROPIC_API_KEY || '';
|
|
19
|
-
if (!this.apiKey) {
|
|
20
|
-
throw new Error('ANTHROPIC_API_KEY environment variable is required');
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Generate SortieTree from task description
|
|
25
|
-
*/
|
|
26
|
-
async plan(input) {
|
|
27
|
-
// Generate prompt
|
|
28
|
-
const prompt = this.generatePrompt(input);
|
|
29
|
-
// Call Claude API
|
|
30
|
-
const response = await this.callClaudeAPI(prompt);
|
|
31
|
-
// Parse response
|
|
32
|
-
const parsed = this.parseResponse(response);
|
|
33
|
-
// Convert to SortieTree
|
|
34
|
-
const sortieTree = this.convertToSortieTree(parsed, input.strategy);
|
|
35
|
-
return sortieTree;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Generate prompt for Claude
|
|
39
|
-
*/
|
|
40
|
-
generatePrompt(input) {
|
|
41
|
-
return `You are an expert task decomposition system. Your job is to break down a high-level task into parallelizable work units (Sorties) that AI specialists can execute independently.
|
|
42
|
-
|
|
43
|
-
TASK: ${input.task_description}
|
|
44
|
-
STRATEGY: ${input.strategy}
|
|
45
|
-
|
|
46
|
-
CODEBASE CONTEXT:
|
|
47
|
-
${input.codebase_analysis.context_summary}
|
|
48
|
-
|
|
49
|
-
STRUCTURE OVERVIEW:
|
|
50
|
-
${input.codebase_analysis.structure_overview}
|
|
51
|
-
|
|
52
|
-
TECH ORDERS:
|
|
53
|
-
${input.tech_orders_context}
|
|
54
|
-
|
|
55
|
-
REQUIREMENTS:
|
|
56
|
-
1. Create a SortieTree with Mission and Sorties
|
|
57
|
-
2. Ensure no file overlap between concurrent sorties
|
|
58
|
-
3. Order sorties correctly based on dependencies
|
|
59
|
-
4. Estimate effort for each sortie (in hours)
|
|
60
|
-
5. Identify parallelization opportunities
|
|
61
|
-
6. Each sortie should be independently executable
|
|
62
|
-
7. Dependencies should be explicit and justified
|
|
63
|
-
|
|
64
|
-
OUTPUT FORMAT (MUST BE VALID JSON):
|
|
65
|
-
{
|
|
66
|
-
"mission": {
|
|
67
|
-
"title": "...",
|
|
68
|
-
"description": "...",
|
|
69
|
-
"strategy": "${input.strategy}",
|
|
70
|
-
"estimated_effort_hours": <number>
|
|
71
|
-
},
|
|
72
|
-
"sorties": [
|
|
73
|
-
{
|
|
74
|
-
"title": "...",
|
|
75
|
-
"description": "...",
|
|
76
|
-
"scope": {
|
|
77
|
-
"files": ["..."],
|
|
78
|
-
"components": ["..."],
|
|
79
|
-
"functions": ["..."]
|
|
80
|
-
},
|
|
81
|
-
"complexity": "low|medium|high",
|
|
82
|
-
"estimated_effort_hours": <number>,
|
|
83
|
-
"dependencies": [<indices into sorties array>]
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
"parallelization": {
|
|
87
|
-
"parallel_groups": [[<sortie indices>], [<sortie indices>]],
|
|
88
|
-
"critical_path": [<sortie indices>],
|
|
89
|
-
"estimated_duration_ms": <number>
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
IMPORTANT:
|
|
94
|
-
- Return ONLY valid JSON, no markdown formatting
|
|
95
|
-
- Each sortie must have unique scope (no file overlap)
|
|
96
|
-
- Dependencies must reference sortie indices (0-based)
|
|
97
|
-
- Complexity must be one of: low, medium, high
|
|
98
|
-
- Effort estimates must be positive numbers
|
|
99
|
-
- Parallel groups must not have inter-group dependencies`;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Call Claude API
|
|
103
|
-
*/
|
|
104
|
-
async callClaudeAPI(prompt) {
|
|
105
|
-
const response = await fetch(`${this.apiBaseUrl}/messages`, {
|
|
106
|
-
method: 'POST',
|
|
107
|
-
headers: {
|
|
108
|
-
'Content-Type': 'application/json',
|
|
109
|
-
'x-api-key': this.apiKey,
|
|
110
|
-
'anthropic-version': '2023-06-01',
|
|
111
|
-
},
|
|
112
|
-
body: JSON.stringify({
|
|
113
|
-
model: this.model,
|
|
114
|
-
max_tokens: 4096,
|
|
115
|
-
messages: [
|
|
116
|
-
{
|
|
117
|
-
role: 'user',
|
|
118
|
-
content: prompt,
|
|
119
|
-
},
|
|
120
|
-
],
|
|
121
|
-
}),
|
|
122
|
-
});
|
|
123
|
-
if (!response.ok) {
|
|
124
|
-
const error = await response.text();
|
|
125
|
-
throw new Error(`Claude API error: ${response.status} - ${error}`);
|
|
126
|
-
}
|
|
127
|
-
const data = await response.json();
|
|
128
|
-
const content = data.content[0];
|
|
129
|
-
if (content.type !== 'text') {
|
|
130
|
-
throw new Error('Unexpected response type from Claude API');
|
|
131
|
-
}
|
|
132
|
-
return content.text;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Parse Claude response
|
|
136
|
-
*/
|
|
137
|
-
parseResponse(response) {
|
|
138
|
-
// Try to extract JSON from response
|
|
139
|
-
let jsonStr = response.trim();
|
|
140
|
-
// Remove markdown code blocks if present
|
|
141
|
-
if (jsonStr.startsWith('```json')) {
|
|
142
|
-
jsonStr = jsonStr.slice(7); // Remove ```json
|
|
143
|
-
}
|
|
144
|
-
else if (jsonStr.startsWith('```')) {
|
|
145
|
-
jsonStr = jsonStr.slice(3); // Remove ```
|
|
146
|
-
}
|
|
147
|
-
if (jsonStr.endsWith('```')) {
|
|
148
|
-
jsonStr = jsonStr.slice(0, -3); // Remove trailing ```
|
|
149
|
-
}
|
|
150
|
-
jsonStr = jsonStr.trim();
|
|
151
|
-
try {
|
|
152
|
-
const parsed = JSON.parse(jsonStr);
|
|
153
|
-
this.validateParsedOutput(parsed);
|
|
154
|
-
return parsed;
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
throw new Error(`Failed to parse Claude response: ${error instanceof Error ? error.message : String(error)}`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Validate parsed output
|
|
162
|
-
*/
|
|
163
|
-
validateParsedOutput(output) {
|
|
164
|
-
// Validate mission
|
|
165
|
-
if (!output.mission) {
|
|
166
|
-
throw new Error('Missing mission in response');
|
|
167
|
-
}
|
|
168
|
-
if (!output.mission.title || !output.mission.description) {
|
|
169
|
-
throw new Error('Mission missing title or description');
|
|
170
|
-
}
|
|
171
|
-
if (typeof output.mission.estimated_effort_hours !== 'number' || output.mission.estimated_effort_hours <= 0) {
|
|
172
|
-
throw new Error('Mission estimated_effort_hours must be a positive number');
|
|
173
|
-
}
|
|
174
|
-
// Validate sorties
|
|
175
|
-
if (!Array.isArray(output.sorties) || output.sorties.length === 0) {
|
|
176
|
-
throw new Error('Must have at least one sortie');
|
|
177
|
-
}
|
|
178
|
-
for (let i = 0; i < output.sorties.length; i++) {
|
|
179
|
-
const sortie = output.sorties[i];
|
|
180
|
-
if (!sortie.title || !sortie.description) {
|
|
181
|
-
throw new Error(`Sortie ${i} missing title or description`);
|
|
182
|
-
}
|
|
183
|
-
if (!sortie.scope || !Array.isArray(sortie.scope.files)) {
|
|
184
|
-
throw new Error(`Sortie ${i} missing scope.files`);
|
|
185
|
-
}
|
|
186
|
-
if (!['low', 'medium', 'high'].includes(sortie.complexity)) {
|
|
187
|
-
throw new Error(`Sortie ${i} has invalid complexity: ${sortie.complexity}`);
|
|
188
|
-
}
|
|
189
|
-
if (typeof sortie.estimated_effort_hours !== 'number' || sortie.estimated_effort_hours <= 0) {
|
|
190
|
-
throw new Error(`Sortie ${i} estimated_effort_hours must be a positive number`);
|
|
191
|
-
}
|
|
192
|
-
if (!Array.isArray(sortie.dependencies)) {
|
|
193
|
-
throw new Error(`Sortie ${i} dependencies must be an array`);
|
|
194
|
-
}
|
|
195
|
-
// Validate dependency indices
|
|
196
|
-
for (const depIdx of sortie.dependencies) {
|
|
197
|
-
if (typeof depIdx !== 'number' || depIdx < 0 || depIdx >= output.sorties.length) {
|
|
198
|
-
throw new Error(`Sortie ${i} has invalid dependency index: ${depIdx}`);
|
|
199
|
-
}
|
|
200
|
-
if (depIdx === i) {
|
|
201
|
-
throw new Error(`Sortie ${i} cannot depend on itself`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
// Validate parallelization if present
|
|
206
|
-
if (output.parallelization) {
|
|
207
|
-
if (!Array.isArray(output.parallelization.parallel_groups)) {
|
|
208
|
-
throw new Error('parallelization.parallel_groups must be an array');
|
|
209
|
-
}
|
|
210
|
-
if (!Array.isArray(output.parallelization.critical_path)) {
|
|
211
|
-
throw new Error('parallelization.critical_path must be an array');
|
|
212
|
-
}
|
|
213
|
-
if (typeof output.parallelization.estimated_duration_ms !== 'number' || output.parallelization.estimated_duration_ms <= 0) {
|
|
214
|
-
throw new Error('parallelization.estimated_duration_ms must be a positive number');
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Convert parsed output to SortieTree
|
|
220
|
-
*/
|
|
221
|
-
convertToSortieTree(parsed, strategy) {
|
|
222
|
-
// Generate IDs
|
|
223
|
-
const missionId = this.generateId('msn');
|
|
224
|
-
const sortieIds = parsed.sorties.map(() => this.generateId('srt'));
|
|
225
|
-
// Create mission
|
|
226
|
-
const mission = {
|
|
227
|
-
id: missionId,
|
|
228
|
-
title: parsed.mission.title,
|
|
229
|
-
description: parsed.mission.description,
|
|
230
|
-
strategy,
|
|
231
|
-
status: 'pending',
|
|
232
|
-
total_sorties: parsed.sorties.length,
|
|
233
|
-
estimated_effort_hours: parsed.mission.estimated_effort_hours,
|
|
234
|
-
created_at: new Date().toISOString(),
|
|
235
|
-
};
|
|
236
|
-
// Create sorties
|
|
237
|
-
const sorties = parsed.sorties.map((s, idx) => ({
|
|
238
|
-
id: sortieIds[idx],
|
|
239
|
-
mission_id: missionId,
|
|
240
|
-
title: s.title,
|
|
241
|
-
description: s.description,
|
|
242
|
-
scope: {
|
|
243
|
-
files: s.scope.files || [],
|
|
244
|
-
components: s.scope.components || [],
|
|
245
|
-
functions: s.scope.functions || [],
|
|
246
|
-
},
|
|
247
|
-
complexity: s.complexity,
|
|
248
|
-
estimated_effort_hours: s.estimated_effort_hours,
|
|
249
|
-
dependencies: s.dependencies.map(depIdx => sortieIds[depIdx]),
|
|
250
|
-
status: 'pending',
|
|
251
|
-
}));
|
|
252
|
-
// Create dependencies
|
|
253
|
-
const dependencies = [];
|
|
254
|
-
for (let i = 0; i < parsed.sorties.length; i++) {
|
|
255
|
-
for (const depIdx of parsed.sorties[i].dependencies) {
|
|
256
|
-
dependencies.push({
|
|
257
|
-
from_sortie: sortieIds[depIdx],
|
|
258
|
-
to_sortie: sortieIds[i],
|
|
259
|
-
reason: `Sortie ${i} depends on sortie ${depIdx}`,
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
// Create parallelization info
|
|
264
|
-
const parallelization = this.generateParallelizationInfo(parsed, sorties, sortieIds);
|
|
265
|
-
return {
|
|
266
|
-
mission,
|
|
267
|
-
sorties,
|
|
268
|
-
dependencies,
|
|
269
|
-
parallelization,
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Generate parallelization info
|
|
274
|
-
*/
|
|
275
|
-
generateParallelizationInfo(parsed, sorties, sortieIds) {
|
|
276
|
-
if (parsed.parallelization) {
|
|
277
|
-
return {
|
|
278
|
-
parallel_groups: parsed.parallelization.parallel_groups.map(group => group.map(idx => sorties[idx])),
|
|
279
|
-
critical_path: parsed.parallelization.critical_path.map(idx => sorties[idx]),
|
|
280
|
-
estimated_duration_ms: parsed.parallelization.estimated_duration_ms,
|
|
281
|
-
parallelization_potential: this.calculateParallelizationPotential(parsed.sorties),
|
|
282
|
-
estimated_speedup: this.calculateSpeedup(parsed.sorties),
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
// Generate default parallelization info
|
|
286
|
-
const parallelGroups = this.identifyParallelGroups(sorties);
|
|
287
|
-
const criticalPath = this.calculateCriticalPath(sorties);
|
|
288
|
-
const estimatedDuration = this.estimateDuration(sorties, criticalPath);
|
|
289
|
-
return {
|
|
290
|
-
parallel_groups: parallelGroups,
|
|
291
|
-
critical_path: criticalPath,
|
|
292
|
-
estimated_duration_ms: estimatedDuration,
|
|
293
|
-
parallelization_potential: this.calculateParallelizationPotential(parsed.sorties),
|
|
294
|
-
estimated_speedup: this.calculateSpeedup(parsed.sorties),
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Identify parallel groups
|
|
299
|
-
*/
|
|
300
|
-
identifyParallelGroups(sorties) {
|
|
301
|
-
const groups = [];
|
|
302
|
-
const processed = new Set();
|
|
303
|
-
for (const sortie of sorties) {
|
|
304
|
-
if (processed.has(sortie.id))
|
|
305
|
-
continue;
|
|
306
|
-
const group = [sortie];
|
|
307
|
-
processed.add(sortie.id);
|
|
308
|
-
// Find other sorties that can run in parallel
|
|
309
|
-
for (const other of sorties) {
|
|
310
|
-
if (processed.has(other.id))
|
|
311
|
-
continue;
|
|
312
|
-
if (this.canRunInParallel(sortie, other, sorties)) {
|
|
313
|
-
group.push(other);
|
|
314
|
-
processed.add(other.id);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
groups.push(group);
|
|
318
|
-
}
|
|
319
|
-
return groups;
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* Check if two sorties can run in parallel
|
|
323
|
-
*/
|
|
324
|
-
canRunInParallel(s1, s2, allSorties) {
|
|
325
|
-
// Check for file overlap
|
|
326
|
-
const files1 = new Set(s1.scope.files);
|
|
327
|
-
const files2 = new Set(s2.scope.files);
|
|
328
|
-
for (const file of files1) {
|
|
329
|
-
if (files2.has(file))
|
|
330
|
-
return false;
|
|
331
|
-
}
|
|
332
|
-
// Check for dependencies
|
|
333
|
-
if (s1.dependencies.includes(s2.id) || s2.dependencies.includes(s1.id)) {
|
|
334
|
-
return false;
|
|
335
|
-
}
|
|
336
|
-
return true;
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Calculate critical path
|
|
340
|
-
*/
|
|
341
|
-
calculateCriticalPath(sorties) {
|
|
342
|
-
// Find the longest dependency chain
|
|
343
|
-
const paths = [];
|
|
344
|
-
for (const sortie of sorties) {
|
|
345
|
-
if (sortie.dependencies.length === 0) {
|
|
346
|
-
// Start from sorties with no dependencies
|
|
347
|
-
const path = this.buildPath(sortie, sorties);
|
|
348
|
-
paths.push(path);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
return paths.reduce((longest, current) => current.length > longest.length ? current : longest, []);
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* Build dependency path
|
|
355
|
-
*/
|
|
356
|
-
buildPath(sortie, allSorties) {
|
|
357
|
-
const path = [sortie];
|
|
358
|
-
const dependents = allSorties.filter(s => s.dependencies.includes(sortie.id));
|
|
359
|
-
if (dependents.length === 0) {
|
|
360
|
-
return path;
|
|
361
|
-
}
|
|
362
|
-
// Find the dependent with the longest path
|
|
363
|
-
const longestDependent = dependents.reduce((longest, current) => {
|
|
364
|
-
const currentPath = this.buildPath(current, allSorties);
|
|
365
|
-
return currentPath.length > longest.length ? currentPath : longest;
|
|
366
|
-
}, []);
|
|
367
|
-
return [...path, ...longestDependent];
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Estimate total duration
|
|
371
|
-
*/
|
|
372
|
-
estimateDuration(sorties, criticalPath) {
|
|
373
|
-
// Duration is the sum of critical path effort
|
|
374
|
-
const criticalPathEffort = criticalPath.reduce((sum, s) => sum + s.estimated_effort_hours, 0);
|
|
375
|
-
return criticalPathEffort * 3600000; // Convert hours to milliseconds
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Calculate parallelization potential
|
|
379
|
-
*/
|
|
380
|
-
calculateParallelizationPotential(sorties) {
|
|
381
|
-
if (sorties.length <= 1)
|
|
382
|
-
return 0;
|
|
383
|
-
// Count sorties with no dependencies
|
|
384
|
-
const independent = sorties.filter(s => s.dependencies.length === 0).length;
|
|
385
|
-
return Math.min(1, independent / sorties.length);
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Calculate estimated speedup
|
|
389
|
-
*/
|
|
390
|
-
calculateSpeedup(sorties) {
|
|
391
|
-
if (sorties.length <= 1)
|
|
392
|
-
return 1;
|
|
393
|
-
// Estimate based on parallelization potential
|
|
394
|
-
const potential = this.calculateParallelizationPotential(sorties);
|
|
395
|
-
return 1 + potential * (sorties.length - 1);
|
|
396
|
-
}
|
|
397
|
-
/**
|
|
398
|
-
* Generate unique ID
|
|
399
|
-
*/
|
|
400
|
-
generateId(prefix) {
|
|
401
|
-
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
402
|
-
let id = prefix + '-';
|
|
403
|
-
for (let i = 0; i < 8; i++) {
|
|
404
|
-
id += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
405
|
-
}
|
|
406
|
-
return id;
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
/**
|
|
410
|
-
* Create a new LLM planner instance
|
|
411
|
-
*/
|
|
412
|
-
export function createLLMPlanner(apiKey) {
|
|
413
|
-
return new LLMPlanner(apiKey);
|
|
414
|
-
}
|
|
415
|
-
//# sourceMappingURL=planner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../../../src/decomposition/planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FleetTools Phase 4: Decomposition API Routes
|
|
3
|
-
*
|
|
4
|
-
* Provides REST API endpoints for task decomposition.
|
|
5
|
-
*
|
|
6
|
-
* @since 4.0.0 - Initial implementation
|
|
7
|
-
* @last-updated 2026-01-08
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Register decomposition routes
|
|
11
|
-
*/
|
|
12
|
-
export declare function registerDecompositionRoutes(router: any, headers: Record<string, string>): void;
|
|
13
|
-
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../src/decomposition/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,IAAI,CAqIN"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FleetTools Phase 4: Decomposition API Routes
|
|
3
|
-
*
|
|
4
|
-
* Provides REST API endpoints for task decomposition.
|
|
5
|
-
*
|
|
6
|
-
* @since 4.0.0 - Initial implementation
|
|
7
|
-
* @last-updated 2026-01-08
|
|
8
|
-
*/
|
|
9
|
-
import { StrategySelector, CodebaseAnalyzer, LLMPlanner, SortieTreeValidator, DecompositionDependencyResolver, ParallelizationAnalyzer, } from './index.js';
|
|
10
|
-
/**
|
|
11
|
-
* Register decomposition routes
|
|
12
|
-
*/
|
|
13
|
-
export function registerDecompositionRoutes(router, headers) {
|
|
14
|
-
// POST /api/v1/missions/decompose - Decompose a task
|
|
15
|
-
router.post('/api/v1/missions/decompose', async (req) => {
|
|
16
|
-
try {
|
|
17
|
-
const body = await req.json();
|
|
18
|
-
// Validate input
|
|
19
|
-
if (!body.task_description || typeof body.task_description !== 'string') {
|
|
20
|
-
return new Response(JSON.stringify({ error: 'task_description is required and must be a string' }), {
|
|
21
|
-
status: 400,
|
|
22
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
if (body.task_description.trim().length === 0) {
|
|
26
|
-
return new Response(JSON.stringify({ error: 'task_description cannot be empty' }), {
|
|
27
|
-
status: 400,
|
|
28
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
// Initialize decomposition components
|
|
32
|
-
const strategySelector = new StrategySelector();
|
|
33
|
-
const codebaseAnalyzer = new CodebaseAnalyzer(process.cwd());
|
|
34
|
-
const planner = new LLMPlanner();
|
|
35
|
-
const validator = new SortieTreeValidator();
|
|
36
|
-
const dependencyResolver = new DecompositionDependencyResolver();
|
|
37
|
-
const parallelizationAnalyzer = new ParallelizationAnalyzer();
|
|
38
|
-
// Step 1: Strategy Selection
|
|
39
|
-
const strategyAnalysis = strategySelector.selectStrategy(body.task_description);
|
|
40
|
-
const strategy = body.strategy || strategyAnalysis.selected_strategy;
|
|
41
|
-
// Step 2: Codebase Analysis
|
|
42
|
-
const codebaseAnalysis = await codebaseAnalyzer.analyze();
|
|
43
|
-
// Step 3: Tech Orders Context
|
|
44
|
-
const techOrdersContext = codebaseAnalysis.tech_orders
|
|
45
|
-
.map(to => `- ${to.title}: ${to.key_points.join(', ')}`)
|
|
46
|
-
.join('\n');
|
|
47
|
-
// Step 4: LLM Planning
|
|
48
|
-
const sortieTree = await planner.plan({
|
|
49
|
-
task_description: body.task_description,
|
|
50
|
-
strategy: strategy,
|
|
51
|
-
codebase_analysis: codebaseAnalysis,
|
|
52
|
-
tech_orders_context: techOrdersContext,
|
|
53
|
-
});
|
|
54
|
-
// Step 5: Validation
|
|
55
|
-
const validationResult = validator.validate(sortieTree);
|
|
56
|
-
if (!validationResult.valid) {
|
|
57
|
-
return new Response(JSON.stringify({
|
|
58
|
-
error: 'Validation failed',
|
|
59
|
-
validation_errors: validationResult.errors.map(e => e.message),
|
|
60
|
-
}), {
|
|
61
|
-
status: 400,
|
|
62
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
// Step 6: Dependency Resolution
|
|
66
|
-
const dependencyResult = dependencyResolver.resolve(sortieTree);
|
|
67
|
-
// Step 7: Parallelization Analysis
|
|
68
|
-
const parallelizationResult = parallelizationAnalyzer.analyze(sortieTree);
|
|
69
|
-
// Build response
|
|
70
|
-
const response = {
|
|
71
|
-
sortie_tree: sortieTree,
|
|
72
|
-
validation_errors: validationResult.errors.length > 0 ? validationResult.errors.map(e => e.message) : undefined,
|
|
73
|
-
warnings: validationResult.warnings.map(w => w.message),
|
|
74
|
-
metadata: {
|
|
75
|
-
strategy_selected: strategy,
|
|
76
|
-
processing_time_ms: 0, // Would be calculated in real implementation
|
|
77
|
-
codebase_files_analyzed: codebaseAnalysis.total_files,
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
return new Response(JSON.stringify(response), {
|
|
81
|
-
status: 200,
|
|
82
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
console.error('Error decomposing task:', error);
|
|
87
|
-
return new Response(JSON.stringify({
|
|
88
|
-
error: 'Failed to decompose task',
|
|
89
|
-
details: error instanceof Error ? error.message : String(error),
|
|
90
|
-
}), {
|
|
91
|
-
status: 500,
|
|
92
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
// GET /api/v1/missions/:missionId - Get mission details (placeholder)
|
|
97
|
-
router.get('/api/v1/missions/:missionId', async (req, params) => {
|
|
98
|
-
const missionId = params?.missionId;
|
|
99
|
-
if (!missionId) {
|
|
100
|
-
return new Response(JSON.stringify({ error: 'Mission ID is required' }), {
|
|
101
|
-
status: 400,
|
|
102
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
// In a real implementation, this would fetch from the database
|
|
106
|
-
return new Response(JSON.stringify({
|
|
107
|
-
error: 'Mission not found',
|
|
108
|
-
}), {
|
|
109
|
-
status: 404,
|
|
110
|
-
headers: { ...headers, 'Content-Type': 'application/json' },
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../../src/decomposition/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FleetTools Phase 4: Strategy Selection
|
|
3
|
-
*
|
|
4
|
-
* Analyzes task keywords and codebase patterns to select the optimal
|
|
5
|
-
* decomposition strategy (file-based, feature-based, risk-based, research-based).
|
|
6
|
-
*
|
|
7
|
-
* @since 4.0.0 - Initial implementation
|
|
8
|
-
* @last-updated 2026-01-08
|
|
9
|
-
*/
|
|
10
|
-
import { StrategyAnalysis } from './types.js';
|
|
11
|
-
/**
|
|
12
|
-
* StrategySelector - Selects optimal decomposition strategy
|
|
13
|
-
*
|
|
14
|
-
* Uses keyword analysis and codebase pattern detection to choose
|
|
15
|
-
* the best strategy for decomposing a task.
|
|
16
|
-
*/
|
|
17
|
-
export declare class StrategySelector {
|
|
18
|
-
/**
|
|
19
|
-
* Keywords that indicate each strategy
|
|
20
|
-
*/
|
|
21
|
-
private readonly strategyKeywords;
|
|
22
|
-
/**
|
|
23
|
-
* Analyze task and select optimal strategy
|
|
24
|
-
*/
|
|
25
|
-
selectStrategy(taskDescription: string): StrategyAnalysis;
|
|
26
|
-
/**
|
|
27
|
-
* Score a strategy based on keyword matches
|
|
28
|
-
*/
|
|
29
|
-
private scoreStrategy;
|
|
30
|
-
/**
|
|
31
|
-
* Get keywords that matched for a strategy
|
|
32
|
-
*/
|
|
33
|
-
private getMatchedKeywords;
|
|
34
|
-
/**
|
|
35
|
-
* Detect patterns in the task description
|
|
36
|
-
*/
|
|
37
|
-
private detectPatterns;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Create a new strategy selector instance
|
|
41
|
-
*/
|
|
42
|
-
export declare function createStrategySelector(): StrategySelector;
|
|
43
|
-
//# sourceMappingURL=strategies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../../../src/decomposition/strategies.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAqB/B;IAEF;;OAEG;IACI,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB;IAyChE;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,cAAc;CAuCvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
|