@askexenow/exe-os 0.9.322 → 0.9.324
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/deploy/compose/.env.customer.example +1 -1
- package/deploy/compose/.env.example +18 -1
- package/deploy/compose/PROTECTED_FILES.md +4 -1
- package/deploy/compose/add-routes.sh +22 -0
- package/deploy/compose/cloudflared/config.yml.example +6 -3
- package/deploy/compose/docker-compose.yml +36 -1
- package/deploy/compose/generate-env.ts +40 -2
- package/deploy/compose/sso-edge/default.conf.template +11 -0
- package/deploy/compose/sso-edge/sso-redirect.conf +90 -21
- package/deploy/stack-manifests/v0.9.json +110 -2
- package/dist/{active-agent-M5NJFEBM.js → active-agent-CVSB2EER.js} +3 -3
- package/dist/{active-agent-SHM4QSRJ.js → active-agent-IUVRZOSF.js} +3 -3
- package/dist/{agentic-ontology-HQKCU7LG.js → agentic-ontology-2QFPBIQP.js} +1 -1
- package/dist/backfill-gate-J7UXFNXU.js +19 -0
- package/dist/{backfill-metadata-CXWFCTBO.js → backfill-metadata-W3PRQPVV.js} +4 -4
- package/dist/{behaviors-J47D342W.js → behaviors-MQCADHAD.js} +5 -5
- package/dist/bin/agentic-ontology-backfill.js +5 -5
- package/dist/bin/agentic-reflection-backfill.js +6 -6
- package/dist/bin/agentic-semantic-label.js +5 -5
- package/dist/bin/backfill-conversations.js +11 -11
- package/dist/bin/backfill-responses.js +11 -11
- package/dist/bin/backfill-vectors.js +102 -22
- package/dist/bin/bulk-sync-postgres.js +14 -14
- package/dist/bin/cc-doctor.js +5 -5
- package/dist/bin/cleanup-stale-review-tasks.js +20 -13
- package/dist/bin/cli.js +28 -31
- package/dist/bin/customer-readiness.js +1 -0
- package/dist/bin/deferred-daemon-restart.js +80 -77
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +5 -5
- package/dist/bin/exe-assign.js +10 -10
- package/dist/bin/exe-boot.js +32 -23
- package/dist/bin/exe-call.js +5 -5
- package/dist/bin/exe-cloud.js +120 -47
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +48 -14
- package/dist/bin/exe-doctor.js +4 -4
- package/dist/bin/exe-export-behaviors.js +7 -7
- package/dist/bin/exe-forget.js +6 -6
- package/dist/bin/exe-gateway.js +8 -8
- package/dist/bin/exe-healthcheck.js +17 -8
- package/dist/bin/exe-heartbeat.js +20 -13
- package/dist/bin/exe-kill.js +23 -16
- package/dist/bin/exe-launch-agent.js +30 -27
- package/dist/bin/exe-new-employee.js +9 -9
- package/dist/bin/exe-pending-messages.js +21 -14
- package/dist/bin/exe-pending-notifications.js +20 -13
- package/dist/bin/exe-pending-reviews.js +20 -13
- package/dist/bin/exe-rename.js +5 -5
- package/dist/bin/exe-review.js +22 -15
- package/dist/bin/exe-search.js +8 -13
- package/dist/bin/exe-session-cleanup.js +39 -22
- package/dist/bin/exe-settings.js +15 -15
- package/dist/bin/exe-start-codex.js +51 -34
- package/dist/bin/exe-start-opencode.js +8 -8
- package/dist/bin/exe-status.js +21 -14
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +3 -3
- package/dist/bin/exe-watchdog.js +278 -39
- package/dist/bin/git-sweep.js +21 -14
- package/dist/bin/graph-backfill.js +4 -4
- package/dist/bin/graph-export.js +5 -5
- package/dist/bin/import-history.js +7 -7
- package/dist/bin/install-launchd.js +2 -2
- package/dist/bin/install.js +121 -88
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +20 -13
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +4 -4
- package/dist/bin/stack-update.js +4 -4
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{capability-cards-H7H3MU74.js → capability-cards-STD3NMCR.js} +2 -2
- package/dist/{capacity-monitor-WAEHVBL7.js → capacity-monitor-6O3PWYNM.js} +21 -14
- package/dist/{catchup-brief-L42STIDR.js → catchup-brief-EDQ3VZCF.js} +23 -16
- package/dist/{chunk-HKSJSW2V.js → chunk-2E2NKFXK.js} +1 -1
- package/dist/{chunk-NYFPFOYM.js → chunk-2NY7LZT7.js} +1 -1
- package/dist/{chunk-DGFIXJ4S.js → chunk-2QD5M47V.js} +3 -3
- package/dist/{chunk-3M73L663.js → chunk-2YWUZPHE.js} +2 -2
- package/dist/{chunk-LB77CSLO.js → chunk-2ZW4AQ24.js} +3 -3
- package/dist/{chunk-E32KARET.js → chunk-376J36IW.js} +4 -4
- package/dist/{chunk-CWQAXO3O.js → chunk-5RACW3LX.js} +28 -3
- package/dist/{chunk-VSXGFHJY.js → chunk-5VT45EV6.js} +1 -1
- package/dist/{chunk-X62GD6QW.js → chunk-5YCOEPEX.js} +2 -2
- package/dist/{chunk-TKBWBHFV.js → chunk-6FWMLTF2.js} +1 -1
- package/dist/chunk-6IWLAQ7O.js +40 -0
- package/dist/{chunk-WFHYAKEU.js → chunk-6XAAJ5OV.js} +1 -1
- package/dist/{chunk-4Z47UMMM.js → chunk-7M6TXYRQ.js} +23 -23
- package/dist/{chunk-HWC5W34K.js → chunk-7PLMYXPG.js} +1 -1
- package/dist/{chunk-DDKDN4HV.js → chunk-A47MXY2I.js} +7 -0
- package/dist/{chunk-SQ5JWDJ2.js → chunk-AEFZEJKW.js} +1 -1
- package/dist/{chunk-657AQEPY.js → chunk-AVKZIG4A.js} +1 -1
- package/dist/{chunk-EPBB2OD3.js → chunk-BB5IKY7B.js} +2 -2
- package/dist/{chunk-3JW3ZXCP.js → chunk-BC7IIR3A.js} +65 -39
- package/dist/{chunk-WSYKLS2Y.js → chunk-BDJQWBWF.js} +3 -3
- package/dist/{chunk-VY7345RO.js → chunk-BMSAJ2IH.js} +1 -1
- package/dist/{chunk-OI63OVCR.js → chunk-C7B44DJI.js} +1 -1
- package/dist/{chunk-GA76RGSP.js → chunk-CS6MYGNB.js} +5 -5
- package/dist/{chunk-6N4LYEDI.js → chunk-CSPHV5DJ.js} +1 -1
- package/dist/{chunk-HGM6NZQH.js → chunk-DYUISOIT.js} +1 -1
- package/dist/{signal-paths-4GOIRLGH.js → chunk-EIKATSE4.js} +3 -4
- package/dist/{chunk-G5TP2D2U.js → chunk-EWDTTTZP.js} +3 -3
- package/dist/{chunk-TI6YX3L5.js → chunk-F2RK5YWB.js} +36 -27
- package/dist/{chunk-HV5CUDOE.js → chunk-F6TJIWN5.js} +1 -1
- package/dist/{chunk-WCCR5IFR.js → chunk-FPTBCPI3.js} +2 -2
- package/dist/{chunk-QVFJCFNM.js → chunk-FROUDYRT.js} +33 -2
- package/dist/{chunk-T6AUMO5X.js → chunk-GIFDGNIL.js} +1 -1
- package/dist/{chunk-OFR7KQ37.js → chunk-HAYDXMW6.js} +3 -3
- package/dist/{chunk-V2ESQU3S.js → chunk-HBKYKN3S.js} +3 -3
- package/dist/{chunk-LCZ55G5G.js → chunk-HZ5J2GFE.js} +136 -66
- package/dist/{chunk-EOPSIIEH.js → chunk-ID3V4BWS.js} +1 -1
- package/dist/{chunk-ABGDTMKC.js → chunk-JRD7ARQ6.js} +60 -2
- package/dist/{chunk-7FBPLVHM.js → chunk-KADUJ7PE.js} +3 -3
- package/dist/{chunk-KLG53B63.js → chunk-KJOQLNX2.js} +1 -1
- package/dist/{chunk-AZL3EUR3.js → chunk-KK67DSCO.js} +229 -29
- package/dist/{chunk-H2SD2EA7.js → chunk-KLDQFOFY.js} +23 -9
- package/dist/chunk-KPIN44GZ.js +67 -0
- package/dist/{chunk-PLBDXCYZ.js → chunk-KUJGADX6.js} +1491 -606
- package/dist/{chunk-GN3IWZDH.js → chunk-KWWHRJGG.js} +660 -539
- package/dist/{chunk-ERSFOJGC.js → chunk-LUOQCGBO.js} +20 -11
- package/dist/{chunk-CXXERHNC.js → chunk-LWAGAC3H.js} +1 -1
- package/dist/{chunk-7BZ6TOZN.js → chunk-MB2YT5VQ.js} +3 -3
- package/dist/{chunk-KXP3CUTL.js → chunk-MCEXBLLK.js} +3 -3
- package/dist/{chunk-A3KUGBDP.js → chunk-MIWPKWXQ.js} +1 -1
- package/dist/{chunk-7CUF27OT.js → chunk-MKIFYIXC.js} +1 -1
- package/dist/{chunk-ONKIWA3R.js → chunk-ML4S5SHZ.js} +3 -1
- package/dist/{chunk-BFHBHQFA.js → chunk-MWIX3YKA.js} +5 -5
- package/dist/{chunk-6UQRJCKK.js → chunk-NBDTQVWU.js} +2 -2
- package/dist/{chunk-KK4ZOYXJ.js → chunk-NGACCR2M.js} +80 -40
- package/dist/{chunk-CMDC5D7S.js → chunk-NLEW62VC.js} +6 -0
- package/dist/{chunk-QYLDCPNG.js → chunk-PGFYWVOB.js} +1 -1
- package/dist/{chunk-XEBN5CPD.js → chunk-PGUISLOT.js} +3 -3
- package/dist/{chunk-MYMA23KC.js → chunk-PJTEZLAM.js} +1 -1
- package/dist/{chunk-QNUHDEPI.js → chunk-POOMY3CS.js} +4 -4
- package/dist/{chunk-2GBGIXKH.js → chunk-PV7IG4V6.js} +1 -1
- package/dist/{chunk-SENJA7BZ.js → chunk-QDI77B3E.js} +54 -7
- package/dist/{chunk-XLNF3CIO.js → chunk-QGOMYIVT.js} +119 -24
- package/dist/{chunk-HIOO7DZ2.js → chunk-QQFZ32WS.js} +5 -5
- package/dist/{chunk-KL5WYWS3.js → chunk-SOXUF34Y.js} +2 -2
- package/dist/{chunk-6XM6PZXQ.js → chunk-SPO2RLOB.js} +1 -1
- package/dist/{chunk-ROMB2HH4.js → chunk-T3XHH5FE.js} +6 -6
- package/dist/{chunk-6SXJZHRJ.js → chunk-TA3A4UQL.js} +1 -1
- package/dist/{chunk-XP53WEXP.js → chunk-TGVKQ3QB.js} +3 -3
- package/dist/{chunk-XC7C3GQ2.js → chunk-TNS6U2K7.js} +30 -19
- package/dist/{chunk-JXEMAB4M.js → chunk-UAIMI7CK.js} +1 -1
- package/dist/{chunk-YIFZZYQD.js → chunk-UBYAKNRF.js} +2 -2
- package/dist/{chunk-6IBUQBMY.js → chunk-UXYQLOFW.js} +198 -39
- package/dist/{chunk-C4BIZXKB.js → chunk-UYOW7U24.js} +1 -1
- package/dist/{chunk-NFM6VHL7.js → chunk-V4VYIHSL.js} +1 -1
- package/dist/{chunk-QQOH3I4A.js → chunk-VDUHWQFA.js} +1 -1
- package/dist/{chunk-EVUXF2G4.js → chunk-W5GBB23I.js} +1 -1
- package/dist/{chunk-FANIBYUO.js → chunk-WF3J6GJZ.js} +2 -2
- package/dist/{chunk-NAHAOFTY.js → chunk-WGHTISNK.js} +3 -3
- package/dist/{chunk-F5FAD2YR.js → chunk-WGOAILWE.js} +2 -2
- package/dist/{chunk-LOE2N23P.js → chunk-WJICX53Z.js} +1 -1
- package/dist/{skill-refinement-YLIAY7V4.js → chunk-Y2KBHLEO.js} +3 -11
- package/dist/{chunk-PISGLNV7.js → chunk-Y34FDPOY.js} +5 -5
- package/dist/{chunk-ORC5AO7E.js → chunk-YBHOWK3L.js} +2 -2
- package/dist/{chunk-7SDS5VCL.js → chunk-ZDNJ3TSB.js} +7 -7
- package/dist/{chunk-CHSRSESS.js → chunk-ZRZ2Z6RZ.js} +1 -1
- package/dist/{cleanup-graph-garbage-MX5JDTJA.js → cleanup-graph-garbage-2YH52ADR.js} +4 -4
- package/dist/{co-activation-K44LGZ7A.js → co-activation-7F3J2GC7.js} +2 -2
- package/dist/{co-occurrence-N62HJTRP.js → co-occurrence-B36Q5GY3.js} +2 -2
- package/dist/{code-context-index-6YQ3DGCN.js → code-context-index-2PUBBQOE.js} +3 -3
- package/dist/{crdt-sync-BO76VVRX.js → crdt-sync-MXHPR6V6.js} +1 -1
- package/dist/{crm-bridge-BVTB6LZK.js → crm-bridge-CZLEW2LW.js} +1 -1
- package/dist/{crm-webhook-UZLTHXAS.js → crm-webhook-56MWGMRY.js} +2 -2
- package/dist/{cto-delegation-gate-NVMRONA2.js → cto-delegation-gate-26BD7NEE.js} +19 -12
- package/dist/{daemon-orchestration-JI3RD5EZ.js → daemon-orchestration-IBP6PWEG.js} +31 -16
- package/dist/{db-backup-ITRADB2J.js → db-backup-XLID57KW.js} +1 -1
- package/dist/{doc-graph-extractor-L7YESUSI.js → doc-graph-extractor-VBZ6XTTE.js} +2 -2
- package/dist/{documents-7BFXA6V3.js → documents-C5LYSJT3.js} +10 -10
- package/dist/{dreaming-NRTMPNPZ.js → dreaming-LMVDIC5C.js} +20 -13
- package/dist/{exe-drift-GLJIM7EI.js → exe-drift-T3K6WA47.js} +3 -3
- package/dist/{exe-export-THIAYHXK.js → exe-export-QCTASWXI.js} +7 -7
- package/dist/{exe-import-3Y4VOUYL.js → exe-import-WNP5A7VA.js} +7 -7
- package/dist/{exe-key-IPGY4RMU.js → exe-key-JM3JXE2E.js} +78 -75
- package/dist/{exe-snapshot-2ZEWCDYK.js → exe-snapshot-ODDJUEM5.js} +23 -16
- package/dist/{fast-db-init-TLYUWCDE.js → fast-db-init-O6A3TK3F.js} +1 -1
- package/dist/{founder-context-J362DNU4.js → founder-context-FYTF4IMD.js} +2 -2
- package/dist/gateway/index.js +9 -9
- package/dist/{git-staleness-BRDHTHNS.js → git-staleness-YA5J6VYJ.js} +2 -2
- package/dist/{global-procedures-FNUKY2LF.js → global-procedures-76NDWTYN.js} +4 -4
- package/dist/{graph-auto-extract-AJZUV3PO.js → graph-auto-extract-I7QL2TY5.js} +2 -2
- package/dist/hooks/bug-report-worker.js +22 -15
- package/dist/hooks/codex-stop-task-finalizer.js +22 -15
- package/dist/hooks/commit-complete.js +22 -15
- package/dist/hooks/error-recall.js +6 -6
- package/dist/hooks/exe-heartbeat-hook.js +3 -3
- package/dist/hooks/ingest-worker.js +6 -6
- package/dist/hooks/ingest.js +6 -6
- package/dist/hooks/instructions-loaded.js +4 -4
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +4 -4
- package/dist/hooks/post-compact.js +21 -14
- package/dist/hooks/post-tool-combined.js +8 -8
- package/dist/hooks/pre-compact.js +22 -21
- package/dist/hooks/pre-tool-use.js +29 -19
- package/dist/hooks/prompt-submit.js +89 -72
- package/dist/hooks/session-end.js +27 -26
- package/dist/hooks/session-start.js +13 -13
- package/dist/hooks/stop.js +28 -21
- package/dist/hooks/subagent-stop.js +24 -41
- package/dist/hooks/summary-worker.js +27 -25
- package/dist/index.js +30 -23
- package/dist/{installer-SC7CQBYY.js → installer-3EYHBKWB.js} +5 -5
- package/dist/{installer-UEF44TWQ.js → installer-3VZMDDMJ.js} +5 -5
- package/dist/{installer-2EKTDQZB.js → installer-GYABVCB7.js} +5 -5
- package/dist/intercom-queue-ZCNT4LYU.js +53 -0
- package/dist/lib/agent-config.js +7 -1
- package/dist/lib/cloud-sync.js +16 -14
- package/dist/lib/consolidation.js +5 -5
- package/dist/lib/database.js +10 -2
- package/dist/lib/db-daemon-client.js +3 -3
- package/dist/lib/db.js +10 -2
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/embed-worker.js +28 -0
- package/dist/lib/embedder.js +3 -3
- package/dist/lib/employee-templates.js +5 -5
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon-client.js +2 -2
- package/dist/lib/exe-daemon.js +393 -140
- package/dist/lib/hybrid-search.js +5 -5
- package/dist/lib/identity.js +2 -2
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +20 -13
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +5 -5
- package/dist/lib/session-registry.js +6 -4
- package/dist/lib/skill-learning.js +6 -6
- package/dist/lib/store.js +4 -4
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +21 -14
- package/dist/lib/tmux-routing.js +29 -12
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-YUUSIPJ7.js → license-gate-73XGUIVP.js} +3 -3
- package/dist/{license-sync-LX73IEBH.js → license-sync-CG5YRUVH.js} +2 -2
- package/dist/mcp/register-tools.js +75 -72
- package/dist/mcp/server.js +96 -130
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- package/dist/mcp/tools/create-task.js +37 -18
- package/dist/mcp/tools/deactivate-behavior.js +7 -7
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +23 -16
- package/dist/mcp/tools/send-message.js +22 -15
- package/dist/mcp/tools/update-task.js +22 -15
- package/dist/{mcp-http-config-MBG5AQNH.js → mcp-http-config-TT7PXZLX.js} +3 -3
- package/dist/{memory-cards-MGZ4P3AA.js → memory-cards-6NGUDUDN.js} +4 -4
- package/dist/{memory-graph-extractor-44P2ATID.js → memory-graph-extractor-FIMS3VQR.js} +3 -3
- package/dist/{memory-poisoning-defense-3CYFKNLA.js → memory-poisoning-defense-M3LOQ3XU.js} +2 -2
- package/dist/{memory-pressure-watchdog-6PFLEOUO.js → memory-pressure-watchdog-45GABDWH.js} +20 -13
- package/dist/{memory-queue-client-BZD6MXA5.js → memory-queue-client-BDYKFNB4.js} +3 -3
- package/dist/{memory-reflection-AYPJRPU7.js → memory-reflection-LANCFYK2.js} +7 -9
- package/dist/{notifications-BBQ23ORD.js → notifications-N5NKUYAU.js} +19 -12
- package/dist/{orchestration-events-O5P5NEKS.js → orchestration-events-KVNRNIPR.js} +3 -3
- package/dist/{orchestrator-SERM6FDY.js → orchestrator-VTF5BR26.js} +21 -14
- package/dist/{pipeline-router-T673WGL3.js → pipeline-router-KQAYWDPH.js} +3 -3
- package/dist/{plan-limits-QWBN2EKH.js → plan-limits-EUZI4X5W.js} +5 -5
- package/dist/{projection-worker-K6TILAZH.js → projection-worker-FG6G226D.js} +12 -2
- package/dist/{prospective-memory-XRNRMEDL.js → prospective-memory-FVDNUSIL.js} +2 -2
- package/dist/{reranker-3XC5UM4F.js → reranker-54Q3L32E.js} +1 -1
- package/dist/{retrieval-health-ULVVOIPL.js → retrieval-health-YJ7CXYVD.js} +1 -1
- package/dist/{review-polling-5YGDPJUX.js → review-polling-TKXYSXH6.js} +20 -13
- package/dist/runtime/index.js +23 -16
- package/dist/{session-events-D52HNUJK.js → session-events-WQHTP65R.js} +20 -13
- package/dist/{session-kill-telemetry-IBNCJSI7.js → session-kill-telemetry-2HSE7IGH.js} +20 -13
- package/dist/{session-scope-5FWZ4AYR.js → session-scope-RBKAC75W.js} +19 -12
- package/dist/{setup-wizard-KVTLSSRD.js → setup-wizard-AA6ZV57H.js} +1 -1
- package/dist/signal-paths-4G53QTII.js +11 -0
- package/dist/skill-refinement-QI35LMTZ.js +20 -0
- package/dist/{stack-update-OWWGTYRB.js → stack-update-BE6PX4AG.js} +9 -3
- package/dist/{steward-gate-3ZITRYVH.js → steward-gate-2XD5BXH6.js} +3 -3
- package/dist/{support-outbox-QPQQK7F7.js → support-outbox-MGUVVGHT.js} +96 -44
- package/dist/sweep-budget-WB2FKPYN.js +64 -0
- package/dist/{task-enforcement-L4YTDOOX.js → task-enforcement-DMOCBRLB.js} +191 -17
- package/dist/{task-scope-OIHLMQOQ.js → task-scope-ULBNFBFH.js} +25 -12
- package/dist/{tasks-crud-QUIIRWE3.js → tasks-crud-6SJOKES5.js} +25 -12
- package/dist/{tasks-notify-ANYLB5GU.js → tasks-notify-TESRABUM.js} +20 -13
- package/dist/{tasks-review-BWSCXFMB.js → tasks-review-INDAGLWJ.js} +27 -14
- package/dist/{telemetry-upload-XLDBCD7B.js → telemetry-upload-6XB3Q3IH.js} +7 -7
- package/dist/{token-budget-OQCLPV3A.js → token-budget-NOF27AZC.js} +3 -3
- package/dist/{tool-capability-index-3UWKZZED.js → tool-capability-index-EFBBPTBI.js} +1 -1
- package/dist/{tool-telemetry-AQTFWOWG.js → tool-telemetry-OEK6KQFF.js} +1 -1
- package/dist/tui/App.js +28 -21
- package/dist/{tui-data-3Y5L5LJB.js → tui-data-EG6LEZFF.js} +19 -12
- package/dist/{worker-gate-WJS2MFNA.js → worker-gate-YA35VMAN.js} +1 -1
- package/dist/{workflow-engine-EPPZ226V.js → workflow-engine-3AVKRE5I.js} +2 -2
- package/dist/{worktree-OYGDGJP7.js → worktree-72QYYL5L.js} +4 -4
- package/dist/{worktree-sweep-KV4H4766.js → worktree-sweep-GDISKGQ2.js} +5 -5
- package/package.json +1 -1
- package/release-notes.json +45 -45
- package/dist/chunk-4FVVJ7ME.js +0 -193
- package/dist/completion-nudge-dedup-DBZF24MM.js +0 -74
- package/dist/git-task-sweep-7GVUKDBW.js +0 -47
- package/dist/intercom-queue-6M5IRX3Y.js +0 -17
- /package/dist/{chunk-QTEHH4LG.js → chunk-24WPWCD6.js} +0 -0
- /package/dist/{chunk-IZY6V4FI.js → chunk-4O3N7I5Z.js} +0 -0
- /package/dist/{chunk-WXRVHXVP.js → chunk-7577GDDG.js} +0 -0
- /package/dist/{chunk-Q5YKWFVO.js → chunk-EWKZKO7F.js} +0 -0
- /package/dist/{chunk-DY3J6GQO.js → chunk-H43BPGIV.js} +0 -0
- /package/dist/{chunk-DQJ3WZRK.js → chunk-IHRXCNSC.js} +0 -0
- /package/dist/{chunk-RRQI5PSJ.js → chunk-NIB2N6L2.js} +0 -0
- /package/dist/{chunk-ZU6767WK.js → chunk-QMUSJESS.js} +0 -0
- /package/dist/{chunk-72LWCZTJ.js → chunk-RXS2LBKE.js} +0 -0
- /package/dist/{chunk-SJZT66LM.js → chunk-SNFYZFXY.js} +0 -0
- /package/dist/{chunk-SIJSFULW.js → chunk-TSYMWC53.js} +0 -0
- /package/dist/{core-memory-DARTILJG.js → core-memory-NKKP2XUB.js} +0 -0
- /package/dist/{entity-boost-VR5YOQCT.js → entity-boost-DRIUFTYB.js} +0 -0
- /package/dist/{message-queue-client-HVFR67QH.js → message-queue-client-4ERC7HLX.js} +0 -0
- /package/dist/{oauth-server-UQHCFVHT.js → oauth-server-PECJREY2.js} +0 -0
- /package/dist/{project-boot-22ZZL2GE.js → project-boot-SFKP2MFW.js} +0 -0
- /package/dist/{wiki-acl-EZMGL6KW.js → wiki-acl-QIBDNXSM.js} +0 -0
|
@@ -4,45 +4,55 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
sendIntercom,
|
|
6
6
|
updateTaskStatus
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-KUJGADX6.js";
|
|
8
|
+
import "./chunk-7PLMYXPG.js";
|
|
9
|
+
import "./chunk-KJOQLNX2.js";
|
|
10
|
+
import "./chunk-Y2KBHLEO.js";
|
|
11
|
+
import "./chunk-EIKATSE4.js";
|
|
11
12
|
import "./chunk-E23LNUWJ.js";
|
|
12
13
|
import "./chunk-4JERP7NT.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JRD7ARQ6.js";
|
|
14
15
|
import "./chunk-SSTLTIF3.js";
|
|
15
16
|
import "./chunk-RMOBQ6A5.js";
|
|
16
17
|
import "./chunk-54QCG45Y.js";
|
|
17
18
|
import {
|
|
18
19
|
recordOrchestrationEventBestEffort
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-F6TJIWN5.js";
|
|
21
|
+
import "./chunk-FROUDYRT.js";
|
|
21
22
|
import "./chunk-NGP6LSV2.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-BB5IKY7B.js";
|
|
23
24
|
import "./chunk-CVYC6DUW.js";
|
|
25
|
+
import "./chunk-GIFDGNIL.js";
|
|
26
|
+
import "./chunk-HCJCW7X4.js";
|
|
24
27
|
import "./chunk-OPU3NYOO.js";
|
|
28
|
+
import "./chunk-BC7IIR3A.js";
|
|
29
|
+
import "./chunk-AFNRE2RV.js";
|
|
30
|
+
import "./chunk-3NGZ4PL7.js";
|
|
31
|
+
import "./chunk-NLEW62VC.js";
|
|
25
32
|
import "./chunk-HYZV25LY.js";
|
|
26
33
|
import "./chunk-GJV3WDWM.js";
|
|
27
34
|
import "./chunk-MP2AFCGL.js";
|
|
28
35
|
import {
|
|
36
|
+
getCoordinatorName,
|
|
29
37
|
isCoordinatorName
|
|
30
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-QGOMYIVT.js";
|
|
31
39
|
import "./chunk-2I23RPSI.js";
|
|
32
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-7577GDDG.js";
|
|
33
41
|
import "./chunk-PNQDP3OA.js";
|
|
34
42
|
import "./chunk-H73TUI4Y.js";
|
|
35
43
|
import "./chunk-7HLWBYH7.js";
|
|
36
44
|
import "./chunk-FXU7JOXK.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-BMSAJ2IH.js";
|
|
46
|
+
import "./chunk-IHRXCNSC.js";
|
|
39
47
|
import "./chunk-7Y5UDEVM.js";
|
|
40
48
|
import "./chunk-SHIICYJW.js";
|
|
41
49
|
import "./chunk-MLKGABMK.js";
|
|
42
50
|
|
|
43
51
|
// src/lib/task-enforcement.ts
|
|
44
|
-
import { appendFile } from "fs/promises";
|
|
52
|
+
import { appendFile, readdir, readFile, writeFile } from "fs/promises";
|
|
53
|
+
import { existsSync } from "fs";
|
|
45
54
|
import path from "path";
|
|
55
|
+
import os from "os";
|
|
46
56
|
var TASK_ENFORCEMENT_INTERVAL_MS = 6e4;
|
|
47
57
|
var TASK_ENFORCEMENT_DEBOUNCE_MS = 18e4;
|
|
48
58
|
var MANAGER_GRACE_PERIOD_MS = 6e5;
|
|
@@ -102,6 +112,14 @@ function decideWorkerAction(taskCount, isIdle, nudgeEcho) {
|
|
|
102
112
|
function isIdlePane(paneText) {
|
|
103
113
|
return IDLE_PATTERNS.some((p) => paneText.includes(p));
|
|
104
114
|
}
|
|
115
|
+
var WORKER_BUSY_PATTERN = /[✻✽✶✳·].*…|Running…|• Working|• Ran |• Explored|• Called|esc to interrupt/;
|
|
116
|
+
function isPaneBusy(paneText) {
|
|
117
|
+
const tail = paneText.split("\n").map((line) => line.trim()).filter(Boolean).slice(-6).join("\n");
|
|
118
|
+
return WORKER_BUSY_PATTERN.test(tail);
|
|
119
|
+
}
|
|
120
|
+
function isWorkerPaneIdle(paneText) {
|
|
121
|
+
return !isPaneBusy(paneText);
|
|
122
|
+
}
|
|
105
123
|
function isCurrentlyIdle(paneText) {
|
|
106
124
|
const nonEmptyLines = paneText.split("\n").map((line) => line.trim()).filter(Boolean);
|
|
107
125
|
const lastLine = nonEmptyLines.at(-1) ?? "";
|
|
@@ -166,6 +184,137 @@ async function countOrphanedTasksForAgent(client, agentName, statuses) {
|
|
|
166
184
|
});
|
|
167
185
|
return Number(result.rows[0]?.cnt ?? 0);
|
|
168
186
|
}
|
|
187
|
+
var STALE_DISPATCH_PENDING_THRESHOLD_MS = (() => {
|
|
188
|
+
const raw = process.env.EXE_STALE_DISPATCH_PENDING_THRESHOLD_MS;
|
|
189
|
+
const parsed = raw ? Number(raw) : NaN;
|
|
190
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : 5 * 60 * 1e3;
|
|
191
|
+
})();
|
|
192
|
+
function dispatchAckDir() {
|
|
193
|
+
return path.join(os.homedir(), ".exe-os", "dispatch-acks");
|
|
194
|
+
}
|
|
195
|
+
function scopeFromEmployeeSession(sessionName) {
|
|
196
|
+
if (!sessionName) return null;
|
|
197
|
+
const dashIdx = sessionName.indexOf("-");
|
|
198
|
+
if (dashIdx < 0) return null;
|
|
199
|
+
const scope = sessionName.slice(dashIdx + 1).trim();
|
|
200
|
+
return scope.length > 0 ? scope : null;
|
|
201
|
+
}
|
|
202
|
+
async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs = STALE_DISPATCH_PENDING_THRESHOLD_MS) {
|
|
203
|
+
const dir = dispatchAckDir();
|
|
204
|
+
if (!existsSync(dir)) return 0;
|
|
205
|
+
const allowedScopes = new Set(scopeList);
|
|
206
|
+
let surfaced = 0;
|
|
207
|
+
let files = [];
|
|
208
|
+
try {
|
|
209
|
+
files = await readdir(dir);
|
|
210
|
+
} catch {
|
|
211
|
+
return 0;
|
|
212
|
+
}
|
|
213
|
+
for (const file of files) {
|
|
214
|
+
if (!file.endsWith(".pending")) continue;
|
|
215
|
+
const taskId = file.slice(0, -".pending".length);
|
|
216
|
+
const pendingPath = path.join(dir, file);
|
|
217
|
+
const staleMarkerPath = path.join(dir, `${taskId}.stale`);
|
|
218
|
+
const ackPath = path.join(dir, `${taskId}.ack`);
|
|
219
|
+
const failedPath = path.join(dir, `${taskId}.failed`);
|
|
220
|
+
if (existsSync(staleMarkerPath) || existsSync(ackPath) || existsSync(failedPath)) continue;
|
|
221
|
+
let signal;
|
|
222
|
+
try {
|
|
223
|
+
signal = JSON.parse(await readFile(pendingPath, "utf8"));
|
|
224
|
+
} catch {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const dispatchedAt = signal.dispatchedAt ? new Date(signal.dispatchedAt).getTime() : NaN;
|
|
228
|
+
if (!Number.isFinite(dispatchedAt) || now - dispatchedAt <= thresholdMs) continue;
|
|
229
|
+
const signalScope = scopeFromEmployeeSession(signal.sessionName);
|
|
230
|
+
const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
|
|
231
|
+
if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
|
|
232
|
+
try {
|
|
233
|
+
const { writeNotification } = await import("./notifications-N5NKUYAU.js");
|
|
234
|
+
await writeNotification({
|
|
235
|
+
agentId: getCoordinatorName(),
|
|
236
|
+
agentRole: "COO",
|
|
237
|
+
event: "error_spike",
|
|
238
|
+
project: "",
|
|
239
|
+
summary: `Dispatch verification stale for task ${signal.taskId ?? taskId} assigned to ${signal.assignedTo ?? "unknown"}; pending > ${Math.round(thresholdMs / 1e3)}s with no ack/fail signal. Check ${signal.sessionName ?? "target session"} and re-dispatch or recover the worker.`,
|
|
240
|
+
sessionScope: sessionScope ?? void 0
|
|
241
|
+
});
|
|
242
|
+
await writeFile(staleMarkerPath, JSON.stringify({
|
|
243
|
+
taskId: signal.taskId ?? taskId,
|
|
244
|
+
assignedTo: signal.assignedTo ?? null,
|
|
245
|
+
sessionName: signal.sessionName ?? null,
|
|
246
|
+
surfacedAt: new Date(now).toISOString()
|
|
247
|
+
}), "utf8");
|
|
248
|
+
surfaced++;
|
|
249
|
+
process.stderr.write(
|
|
250
|
+
`[exed] STALE DISPATCH VERIFY: task ${signal.taskId ?? taskId} assigned to ${signal.assignedTo ?? "unknown"} pending > ${Math.round(thresholdMs / 1e3)}s \u2014 coordinator notification written.
|
|
251
|
+
`
|
|
252
|
+
);
|
|
253
|
+
recordOrchestrationEventBestEffort({
|
|
254
|
+
eventType: "dispatch.verify.stale",
|
|
255
|
+
source: "task-enforcement.surfaceStaleDispatchPendingSignals",
|
|
256
|
+
severity: "warn",
|
|
257
|
+
agentId: signal.assignedTo ?? null,
|
|
258
|
+
sessionScope: sessionScope ?? null,
|
|
259
|
+
tmuxSession: signal.sessionName ?? null,
|
|
260
|
+
taskId: signal.taskId ?? taskId,
|
|
261
|
+
payload: { thresholdMs }
|
|
262
|
+
});
|
|
263
|
+
} catch (err) {
|
|
264
|
+
process.stderr.write(
|
|
265
|
+
`[exed] stale dispatch notification failed for ${taskId}: ${err instanceof Error ? err.message : String(err)}
|
|
266
|
+
`
|
|
267
|
+
);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return surfaced;
|
|
271
|
+
}
|
|
272
|
+
async function transitionCompletedDelegatedParents(client, scopeList, now) {
|
|
273
|
+
if (scopeList.length === 0) return 0;
|
|
274
|
+
const rows = await client.execute({
|
|
275
|
+
sql: `SELECT DISTINCT p.id, p.title
|
|
276
|
+
FROM tasks p
|
|
277
|
+
WHERE p.status IN ('open', 'in_progress')
|
|
278
|
+
AND p.session_scope IN (${scopeList.map(() => "?").join(",")})
|
|
279
|
+
AND EXISTS (SELECT 1 FROM tasks c WHERE c.parent_task_id = p.id)
|
|
280
|
+
AND NOT EXISTS (
|
|
281
|
+
SELECT 1 FROM tasks c
|
|
282
|
+
WHERE c.parent_task_id = p.id
|
|
283
|
+
AND c.status NOT IN ('done', 'needs_review', 'cancelled', 'closed')
|
|
284
|
+
)`,
|
|
285
|
+
args: scopeList
|
|
286
|
+
});
|
|
287
|
+
let transitioned = 0;
|
|
288
|
+
const nowIso = new Date(now).toISOString();
|
|
289
|
+
for (const row of rows.rows) {
|
|
290
|
+
if (row.id === void 0 || row.id === null) continue;
|
|
291
|
+
const parentId = String(row.id);
|
|
292
|
+
try {
|
|
293
|
+
await updateTaskStatus({
|
|
294
|
+
taskId: parentId,
|
|
295
|
+
status: "needs_review",
|
|
296
|
+
result: "All delegated child tasks are complete; parent rolled up for review by task enforcement."
|
|
297
|
+
});
|
|
298
|
+
} catch {
|
|
299
|
+
await client.execute({
|
|
300
|
+
sql: `UPDATE tasks SET status = 'needs_review', updated_at = ? WHERE id = ? AND status IN ('open', 'in_progress')`,
|
|
301
|
+
args: [nowIso, parentId]
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
transitioned++;
|
|
305
|
+
process.stderr.write(
|
|
306
|
+
`[exed] Delegated parent task rolled up to needs_review: ${parentId} (${String(row.title ?? "")})
|
|
307
|
+
`
|
|
308
|
+
);
|
|
309
|
+
recordOrchestrationEventBestEffort({
|
|
310
|
+
eventType: "task.parent.rollup_completed",
|
|
311
|
+
source: "task-enforcement.transitionCompletedDelegatedParents",
|
|
312
|
+
taskId: parentId,
|
|
313
|
+
result: "needs_review"
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
return transitioned;
|
|
317
|
+
}
|
|
169
318
|
async function findStuckTasks(client, scopeList, now, thresholdMs = STUCK_TASK_THRESHOLD_MS) {
|
|
170
319
|
if (scopeList.length === 0) return [];
|
|
171
320
|
const result = await client.execute({
|
|
@@ -340,7 +489,7 @@ async function runTaskEnforcementTick(deps) {
|
|
|
340
489
|
}
|
|
341
490
|
if (taskCount > 0) {
|
|
342
491
|
const pane = deps.paneCache?.get(session) ?? (deps.capturePaneAsync ? await deps.capturePaneAsync(session, 20) : transport.capturePane(session, 20));
|
|
343
|
-
paneIdle =
|
|
492
|
+
paneIdle = isWorkerPaneIdle(pane);
|
|
344
493
|
const workerNudgeEcho = isNudgeEcho(pane);
|
|
345
494
|
const paneCurrentlyIdle = isCurrentlyIdle(pane);
|
|
346
495
|
if (isMcpZombiePane(pane, paneCurrentlyIdle) && deps.zombieWorkerRecover) {
|
|
@@ -361,7 +510,7 @@ async function runTaskEnforcementTick(deps) {
|
|
|
361
510
|
action = decideWorkerAction(taskCount, paneIdle, workerNudgeEcho);
|
|
362
511
|
}
|
|
363
512
|
if (action === "skip") reason = "no tasks";
|
|
364
|
-
else if (action === "idle") reason = `${taskCount} tasks but pane
|
|
513
|
+
else if (action === "idle") reason = `${taskCount} tasks but pane not idle`;
|
|
365
514
|
else if (action === "nudge") reason = `${taskCount} tasks, pane idle`;
|
|
366
515
|
writeAuditEntry({
|
|
367
516
|
timestamp: new Date(now).toISOString(),
|
|
@@ -374,7 +523,7 @@ async function runTaskEnforcementTick(deps) {
|
|
|
374
523
|
paneIdle
|
|
375
524
|
});
|
|
376
525
|
process.stderr.write(
|
|
377
|
-
`[exed] Task enforcement: ${agentName} (worker) ${taskCount} tasks, pane=${paneIdle
|
|
526
|
+
`[exed] Task enforcement: ${agentName} (worker) ${taskCount} tasks, pane=${paneIdle === void 0 ? "n/a" : paneIdle ? "idle" : "not_idle"}. Action: ${action} (${reason})
|
|
378
527
|
`
|
|
379
528
|
);
|
|
380
529
|
}
|
|
@@ -418,6 +567,17 @@ async function runTaskEnforcementTick(deps) {
|
|
|
418
567
|
} catch {
|
|
419
568
|
}
|
|
420
569
|
}
|
|
570
|
+
if (processedAnyEmployee) {
|
|
571
|
+
try {
|
|
572
|
+
const scopeList = allowedScope ? [...processedScopes].filter((scope) => scope === allowedScope) : [...processedScopes];
|
|
573
|
+
await transitionCompletedDelegatedParents(client, scopeList, now);
|
|
574
|
+
} catch (err) {
|
|
575
|
+
process.stderr.write(
|
|
576
|
+
`[exed] delegated parent rollup failed: ${err instanceof Error ? err.message : String(err)}
|
|
577
|
+
`
|
|
578
|
+
);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
421
581
|
if (processedAnyEmployee && deps.reviewerSpawn) {
|
|
422
582
|
try {
|
|
423
583
|
const scopeList = allowedScope ? [...processedScopes].filter((s) => s === allowedScope) : [...processedScopes];
|
|
@@ -497,6 +657,15 @@ async function runTaskEnforcementTick(deps) {
|
|
|
497
657
|
} catch {
|
|
498
658
|
}
|
|
499
659
|
}
|
|
660
|
+
try {
|
|
661
|
+
const scopeList = allowedScope ? [allowedScope] : [...processedScopes];
|
|
662
|
+
await surfaceStaleDispatchPendingSignals(scopeList, now);
|
|
663
|
+
} catch (err) {
|
|
664
|
+
process.stderr.write(
|
|
665
|
+
`[exed] stale dispatch verify scan failed: ${err instanceof Error ? err.message : String(err)}
|
|
666
|
+
`
|
|
667
|
+
);
|
|
668
|
+
}
|
|
500
669
|
recordOrchestrationEventBestEffort({
|
|
501
670
|
eventType: "daemon.tick.completed",
|
|
502
671
|
source: "task-enforcement.runTaskEnforcementTick",
|
|
@@ -511,6 +680,7 @@ export {
|
|
|
511
680
|
MANAGER_ROLES,
|
|
512
681
|
MCP_ZOMBIE_PATTERNS,
|
|
513
682
|
NUDGE_ECHO_PATTERNS,
|
|
683
|
+
STALE_DISPATCH_PENDING_THRESHOLD_MS,
|
|
514
684
|
STUCK_TASK_THRESHOLD_MS,
|
|
515
685
|
TASK_ENFORCEMENT_DEBOUNCE_MS,
|
|
516
686
|
TASK_ENFORCEMENT_INTERVAL_MS,
|
|
@@ -522,6 +692,10 @@ export {
|
|
|
522
692
|
isIdlePane,
|
|
523
693
|
isMcpZombiePane,
|
|
524
694
|
isNudgeEcho,
|
|
695
|
+
isPaneBusy,
|
|
696
|
+
isWorkerPaneIdle,
|
|
525
697
|
runTaskEnforcementTick,
|
|
526
|
-
sendNudge
|
|
698
|
+
sendNudge,
|
|
699
|
+
surfaceStaleDispatchPendingSignals,
|
|
700
|
+
transitionCompletedDelegatedParents
|
|
527
701
|
};
|
|
@@ -1,44 +1,57 @@
|
|
|
1
1
|
import {
|
|
2
|
+
allowDeadScopeRescue,
|
|
2
3
|
getCurrentSessionScope,
|
|
3
4
|
isAmbiguousMultiCoordinatorContext,
|
|
5
|
+
isMultiCoordinatorSharedProject,
|
|
6
|
+
isScopeCoordinatorDead,
|
|
4
7
|
isValidSessionScope,
|
|
5
8
|
sanitizeSessionScope,
|
|
6
9
|
sessionScopeFilter,
|
|
7
10
|
strictSessionScopeFilter
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-KUJGADX6.js";
|
|
12
|
+
import "./chunk-7PLMYXPG.js";
|
|
13
|
+
import "./chunk-KJOQLNX2.js";
|
|
14
|
+
import "./chunk-Y2KBHLEO.js";
|
|
15
|
+
import "./chunk-EIKATSE4.js";
|
|
12
16
|
import "./chunk-E23LNUWJ.js";
|
|
13
17
|
import "./chunk-4JERP7NT.js";
|
|
14
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-JRD7ARQ6.js";
|
|
15
19
|
import "./chunk-SSTLTIF3.js";
|
|
16
20
|
import "./chunk-RMOBQ6A5.js";
|
|
17
21
|
import "./chunk-54QCG45Y.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-F6TJIWN5.js";
|
|
23
|
+
import "./chunk-FROUDYRT.js";
|
|
20
24
|
import "./chunk-NGP6LSV2.js";
|
|
21
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-BB5IKY7B.js";
|
|
22
26
|
import "./chunk-CVYC6DUW.js";
|
|
27
|
+
import "./chunk-GIFDGNIL.js";
|
|
28
|
+
import "./chunk-HCJCW7X4.js";
|
|
23
29
|
import "./chunk-OPU3NYOO.js";
|
|
30
|
+
import "./chunk-BC7IIR3A.js";
|
|
31
|
+
import "./chunk-AFNRE2RV.js";
|
|
32
|
+
import "./chunk-3NGZ4PL7.js";
|
|
33
|
+
import "./chunk-NLEW62VC.js";
|
|
24
34
|
import "./chunk-HYZV25LY.js";
|
|
25
35
|
import "./chunk-GJV3WDWM.js";
|
|
26
36
|
import "./chunk-MP2AFCGL.js";
|
|
27
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-QGOMYIVT.js";
|
|
28
38
|
import "./chunk-2I23RPSI.js";
|
|
29
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-7577GDDG.js";
|
|
30
40
|
import "./chunk-PNQDP3OA.js";
|
|
31
41
|
import "./chunk-H73TUI4Y.js";
|
|
32
42
|
import "./chunk-7HLWBYH7.js";
|
|
33
43
|
import "./chunk-FXU7JOXK.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-BMSAJ2IH.js";
|
|
45
|
+
import "./chunk-IHRXCNSC.js";
|
|
36
46
|
import "./chunk-7Y5UDEVM.js";
|
|
37
47
|
import "./chunk-SHIICYJW.js";
|
|
38
48
|
import "./chunk-MLKGABMK.js";
|
|
39
49
|
export {
|
|
50
|
+
allowDeadScopeRescue,
|
|
40
51
|
getCurrentSessionScope,
|
|
41
52
|
isAmbiguousMultiCoordinatorContext,
|
|
53
|
+
isMultiCoordinatorSharedProject,
|
|
54
|
+
isScopeCoordinatorDead,
|
|
42
55
|
isValidSessionScope,
|
|
43
56
|
sanitizeSessionScope,
|
|
44
57
|
sessionScopeFilter,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_TASK_PRIORITY,
|
|
3
3
|
TASK_ALREADY_CLAIMED_PREFIX,
|
|
4
|
+
VALID_TASK_STATUSES,
|
|
4
5
|
buildTaskCompletionReport,
|
|
5
6
|
checkAndFireBarriers,
|
|
7
|
+
checkLaneAffinity,
|
|
6
8
|
checkStaleCompletion,
|
|
7
9
|
checkTaskFileConsistency,
|
|
8
10
|
cleanOrphanedTaskFiles,
|
|
@@ -21,46 +23,56 @@ import {
|
|
|
21
23
|
normalizeTaskPriority,
|
|
22
24
|
queryTaskRows,
|
|
23
25
|
readLatestCheckpoint,
|
|
26
|
+
reopenTask,
|
|
24
27
|
resolveTask,
|
|
25
28
|
slugify,
|
|
26
29
|
updateTaskStatus,
|
|
27
30
|
writeCheckpoint
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
31
|
+
} from "./chunk-KUJGADX6.js";
|
|
32
|
+
import "./chunk-7PLMYXPG.js";
|
|
33
|
+
import "./chunk-KJOQLNX2.js";
|
|
34
|
+
import "./chunk-Y2KBHLEO.js";
|
|
35
|
+
import "./chunk-EIKATSE4.js";
|
|
32
36
|
import "./chunk-E23LNUWJ.js";
|
|
33
37
|
import "./chunk-4JERP7NT.js";
|
|
34
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-JRD7ARQ6.js";
|
|
35
39
|
import "./chunk-SSTLTIF3.js";
|
|
36
40
|
import "./chunk-RMOBQ6A5.js";
|
|
37
41
|
import "./chunk-54QCG45Y.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-F6TJIWN5.js";
|
|
43
|
+
import "./chunk-FROUDYRT.js";
|
|
40
44
|
import "./chunk-NGP6LSV2.js";
|
|
41
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-BB5IKY7B.js";
|
|
42
46
|
import "./chunk-CVYC6DUW.js";
|
|
47
|
+
import "./chunk-GIFDGNIL.js";
|
|
48
|
+
import "./chunk-HCJCW7X4.js";
|
|
43
49
|
import "./chunk-OPU3NYOO.js";
|
|
50
|
+
import "./chunk-BC7IIR3A.js";
|
|
51
|
+
import "./chunk-AFNRE2RV.js";
|
|
52
|
+
import "./chunk-3NGZ4PL7.js";
|
|
53
|
+
import "./chunk-NLEW62VC.js";
|
|
44
54
|
import "./chunk-HYZV25LY.js";
|
|
45
55
|
import "./chunk-GJV3WDWM.js";
|
|
46
56
|
import "./chunk-MP2AFCGL.js";
|
|
47
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-QGOMYIVT.js";
|
|
48
58
|
import "./chunk-2I23RPSI.js";
|
|
49
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-7577GDDG.js";
|
|
50
60
|
import "./chunk-PNQDP3OA.js";
|
|
51
61
|
import "./chunk-H73TUI4Y.js";
|
|
52
62
|
import "./chunk-7HLWBYH7.js";
|
|
53
63
|
import "./chunk-FXU7JOXK.js";
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-BMSAJ2IH.js";
|
|
65
|
+
import "./chunk-IHRXCNSC.js";
|
|
56
66
|
import "./chunk-7Y5UDEVM.js";
|
|
57
67
|
import "./chunk-SHIICYJW.js";
|
|
58
68
|
import "./chunk-MLKGABMK.js";
|
|
59
69
|
export {
|
|
60
70
|
DEFAULT_TASK_PRIORITY,
|
|
61
71
|
TASK_ALREADY_CLAIMED_PREFIX,
|
|
72
|
+
VALID_TASK_STATUSES,
|
|
62
73
|
buildTaskCompletionReport,
|
|
63
74
|
checkAndFireBarriers,
|
|
75
|
+
checkLaneAffinity,
|
|
64
76
|
checkStaleCompletion,
|
|
65
77
|
checkTaskFileConsistency,
|
|
66
78
|
cleanOrphanedTaskFiles,
|
|
@@ -79,6 +91,7 @@ export {
|
|
|
79
91
|
normalizeTaskPriority,
|
|
80
92
|
queryTaskRows,
|
|
81
93
|
readLatestCheckpoint,
|
|
94
|
+
reopenTask,
|
|
82
95
|
resolveTask,
|
|
83
96
|
slugify,
|
|
84
97
|
updateTaskStatus,
|
|
@@ -3,35 +3,42 @@ import {
|
|
|
3
3
|
markTaskNotificationsRead,
|
|
4
4
|
notifyTaskDone,
|
|
5
5
|
verifyDispatch
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-MWIX3YKA.js";
|
|
7
|
+
import "./chunk-KUJGADX6.js";
|
|
8
|
+
import "./chunk-7PLMYXPG.js";
|
|
9
|
+
import "./chunk-KJOQLNX2.js";
|
|
10
|
+
import "./chunk-Y2KBHLEO.js";
|
|
11
|
+
import "./chunk-EIKATSE4.js";
|
|
11
12
|
import "./chunk-E23LNUWJ.js";
|
|
12
13
|
import "./chunk-4JERP7NT.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JRD7ARQ6.js";
|
|
14
15
|
import "./chunk-SSTLTIF3.js";
|
|
15
16
|
import "./chunk-RMOBQ6A5.js";
|
|
16
17
|
import "./chunk-54QCG45Y.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-F6TJIWN5.js";
|
|
19
|
+
import "./chunk-FROUDYRT.js";
|
|
19
20
|
import "./chunk-NGP6LSV2.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-BB5IKY7B.js";
|
|
21
22
|
import "./chunk-CVYC6DUW.js";
|
|
23
|
+
import "./chunk-GIFDGNIL.js";
|
|
24
|
+
import "./chunk-HCJCW7X4.js";
|
|
22
25
|
import "./chunk-OPU3NYOO.js";
|
|
26
|
+
import "./chunk-BC7IIR3A.js";
|
|
27
|
+
import "./chunk-AFNRE2RV.js";
|
|
28
|
+
import "./chunk-3NGZ4PL7.js";
|
|
29
|
+
import "./chunk-NLEW62VC.js";
|
|
23
30
|
import "./chunk-HYZV25LY.js";
|
|
24
31
|
import "./chunk-GJV3WDWM.js";
|
|
25
32
|
import "./chunk-MP2AFCGL.js";
|
|
26
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-QGOMYIVT.js";
|
|
27
34
|
import "./chunk-2I23RPSI.js";
|
|
28
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-7577GDDG.js";
|
|
29
36
|
import "./chunk-PNQDP3OA.js";
|
|
30
37
|
import "./chunk-H73TUI4Y.js";
|
|
31
38
|
import "./chunk-7HLWBYH7.js";
|
|
32
39
|
import "./chunk-FXU7JOXK.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-BMSAJ2IH.js";
|
|
41
|
+
import "./chunk-IHRXCNSC.js";
|
|
35
42
|
import "./chunk-7Y5UDEVM.js";
|
|
36
43
|
import "./chunk-SHIICYJW.js";
|
|
37
44
|
import "./chunk-MLKGABMK.js";
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
|
+
SIGNAL_FILE_TTL_MS,
|
|
3
|
+
STALE_REVIEW_AGE_MS,
|
|
2
4
|
cleanupOrphanedReviews,
|
|
3
5
|
cleanupReviewFile,
|
|
4
6
|
countNewPendingReviewsSince,
|
|
@@ -7,39 +9,49 @@ import {
|
|
|
7
9
|
formatAge,
|
|
8
10
|
getReviewChecklist,
|
|
9
11
|
isStale,
|
|
10
|
-
listPendingReviews
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
listPendingReviews,
|
|
13
|
+
sweepExpiredSignalFiles
|
|
14
|
+
} from "./chunk-KUJGADX6.js";
|
|
15
|
+
import "./chunk-7PLMYXPG.js";
|
|
16
|
+
import "./chunk-KJOQLNX2.js";
|
|
17
|
+
import "./chunk-Y2KBHLEO.js";
|
|
18
|
+
import "./chunk-EIKATSE4.js";
|
|
15
19
|
import "./chunk-E23LNUWJ.js";
|
|
16
20
|
import "./chunk-4JERP7NT.js";
|
|
17
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-JRD7ARQ6.js";
|
|
18
22
|
import "./chunk-SSTLTIF3.js";
|
|
19
23
|
import "./chunk-RMOBQ6A5.js";
|
|
20
24
|
import "./chunk-54QCG45Y.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-F6TJIWN5.js";
|
|
26
|
+
import "./chunk-FROUDYRT.js";
|
|
23
27
|
import "./chunk-NGP6LSV2.js";
|
|
24
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-BB5IKY7B.js";
|
|
25
29
|
import "./chunk-CVYC6DUW.js";
|
|
30
|
+
import "./chunk-GIFDGNIL.js";
|
|
31
|
+
import "./chunk-HCJCW7X4.js";
|
|
26
32
|
import "./chunk-OPU3NYOO.js";
|
|
33
|
+
import "./chunk-BC7IIR3A.js";
|
|
34
|
+
import "./chunk-AFNRE2RV.js";
|
|
35
|
+
import "./chunk-3NGZ4PL7.js";
|
|
36
|
+
import "./chunk-NLEW62VC.js";
|
|
27
37
|
import "./chunk-HYZV25LY.js";
|
|
28
38
|
import "./chunk-GJV3WDWM.js";
|
|
29
39
|
import "./chunk-MP2AFCGL.js";
|
|
30
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-QGOMYIVT.js";
|
|
31
41
|
import "./chunk-2I23RPSI.js";
|
|
32
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-7577GDDG.js";
|
|
33
43
|
import "./chunk-PNQDP3OA.js";
|
|
34
44
|
import "./chunk-H73TUI4Y.js";
|
|
35
45
|
import "./chunk-7HLWBYH7.js";
|
|
36
46
|
import "./chunk-FXU7JOXK.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-BMSAJ2IH.js";
|
|
48
|
+
import "./chunk-IHRXCNSC.js";
|
|
39
49
|
import "./chunk-7Y5UDEVM.js";
|
|
40
50
|
import "./chunk-SHIICYJW.js";
|
|
41
51
|
import "./chunk-MLKGABMK.js";
|
|
42
52
|
export {
|
|
53
|
+
SIGNAL_FILE_TTL_MS,
|
|
54
|
+
STALE_REVIEW_AGE_MS,
|
|
43
55
|
cleanupOrphanedReviews,
|
|
44
56
|
cleanupReviewFile,
|
|
45
57
|
countNewPendingReviewsSince,
|
|
@@ -48,5 +60,6 @@ export {
|
|
|
48
60
|
formatAge,
|
|
49
61
|
getReviewChecklist,
|
|
50
62
|
isStale,
|
|
51
|
-
listPendingReviews
|
|
63
|
+
listPendingReviews,
|
|
64
|
+
sweepExpiredSignalFiles
|
|
52
65
|
};
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-2XZ6X3PJ.js";
|
|
4
4
|
import {
|
|
5
5
|
getOrchestrationMetrics
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-F6TJIWN5.js";
|
|
7
|
+
import "./chunk-QGOMYIVT.js";
|
|
8
8
|
import "./chunk-2I23RPSI.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-7577GDDG.js";
|
|
10
10
|
import "./chunk-PNQDP3OA.js";
|
|
11
11
|
import "./chunk-H73TUI4Y.js";
|
|
12
12
|
import "./chunk-7HLWBYH7.js";
|
|
@@ -14,8 +14,8 @@ import "./chunk-FXU7JOXK.js";
|
|
|
14
14
|
import {
|
|
15
15
|
loadLicense,
|
|
16
16
|
readCachedLicenseToken
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-BMSAJ2IH.js";
|
|
18
|
+
import "./chunk-IHRXCNSC.js";
|
|
19
19
|
import {
|
|
20
20
|
loadConfig
|
|
21
21
|
} from "./chunk-7Y5UDEVM.js";
|
|
@@ -398,14 +398,14 @@ async function buildTelemetryPayload(sinceHours = 24) {
|
|
|
398
398
|
}
|
|
399
399
|
let toolUsage;
|
|
400
400
|
try {
|
|
401
|
-
const { getToolUsageSummary } = await import("./tool-telemetry-
|
|
401
|
+
const { getToolUsageSummary } = await import("./tool-telemetry-OEK6KQFF.js");
|
|
402
402
|
const summary = getToolUsageSummary();
|
|
403
403
|
if (Object.keys(summary).length > 0) toolUsage = summary;
|
|
404
404
|
} catch {
|
|
405
405
|
}
|
|
406
406
|
let calibration;
|
|
407
407
|
try {
|
|
408
|
-
const { DreamingEngine } = await import("./dreaming-
|
|
408
|
+
const { DreamingEngine } = await import("./dreaming-LMVDIC5C.js");
|
|
409
409
|
const engine = new DreamingEngine();
|
|
410
410
|
const cal = await engine.computeCalibration("*", sinceHours);
|
|
411
411
|
if (cal.assertions.total > 0 || cal.estimation.total > 0) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTokenBudgetMiddleware
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-LUOQCGBO.js";
|
|
4
|
+
import "./chunk-QGOMYIVT.js";
|
|
5
5
|
import "./chunk-2I23RPSI.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-7577GDDG.js";
|
|
7
7
|
import "./chunk-PNQDP3OA.js";
|
|
8
8
|
import "./chunk-H73TUI4Y.js";
|
|
9
9
|
import "./chunk-7HLWBYH7.js";
|