@askexenow/exe-os 0.9.349 → 0.9.351
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/dist/{active-agent-PX6KAEEQ.js → active-agent-PMCD3LFW.js} +3 -3
- package/dist/{active-agent-QVLZKWR2.js → active-agent-WQYB3JQY.js} +3 -3
- package/dist/{agentic-ontology-6MEXY5L7.js → agentic-ontology-HTU5EMEQ.js} +1 -1
- package/dist/{backfill-metadata-TUUT3QII.js → backfill-metadata-QUUXE2TL.js} +5 -5
- package/dist/{backup-verify-RGB3KKD4.js → backup-verify-YJGUNZWJ.js} +1 -1
- package/dist/{behaviors-3DQM4PSA.js → behaviors-P5FORAYU.js} +6 -6
- package/dist/bin/agentic-ontology-backfill.js +6 -6
- package/dist/bin/agentic-reflection-backfill.js +7 -7
- package/dist/bin/agentic-semantic-label.js +6 -6
- package/dist/bin/backfill-conversations.js +5 -5
- package/dist/bin/backfill-responses.js +5 -5
- package/dist/bin/backfill-vectors.js +6 -6
- package/dist/bin/bulk-sync-postgres.js +11 -11
- package/dist/bin/cc-doctor.js +4 -4
- package/dist/bin/cleanup-stale-review-tasks.js +12 -12
- package/dist/bin/cli.js +18 -18
- package/dist/bin/deferred-daemon-restart.js +67 -67
- package/dist/bin/exe-agent-config.js +2 -2
- package/dist/bin/exe-agent.js +4 -4
- package/dist/bin/exe-assign.js +6 -6
- package/dist/bin/exe-boot.js +24 -24
- package/dist/bin/exe-call.js +4 -4
- package/dist/bin/exe-cloud.js +11 -11
- package/dist/bin/exe-config-dump.js +2 -2
- package/dist/bin/exe-dispatch.js +12 -12
- package/dist/bin/exe-doctor.js +4 -4
- package/dist/bin/exe-export-behaviors.js +8 -8
- package/dist/bin/exe-forget.js +7 -7
- package/dist/bin/exe-gateway.js +7 -7
- package/dist/bin/exe-healthcheck.js +4 -4
- package/dist/bin/exe-heartbeat.js +14 -14
- package/dist/bin/exe-kill.js +16 -16
- package/dist/bin/exe-launch-agent.js +22 -22
- package/dist/bin/exe-memory-reads.js +5 -5
- package/dist/bin/exe-new-employee.js +8 -8
- package/dist/bin/exe-os-mcp-proxy.js +3 -3
- package/dist/bin/exe-pending-messages.js +13 -13
- package/dist/bin/exe-pending-notifications.js +12 -12
- package/dist/bin/exe-pending-reviews.js +12 -12
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +15 -15
- package/dist/bin/exe-search.js +6 -6
- package/dist/bin/exe-session-cleanup.js +16 -16
- package/dist/bin/exe-settings.js +11 -11
- package/dist/bin/exe-start-codex.js +13 -13
- package/dist/bin/exe-start-opencode.js +9 -9
- package/dist/bin/exe-status.js +13 -13
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +3 -3
- package/dist/bin/git-sweep.js +13 -13
- package/dist/bin/graph-backfill.js +6 -6
- package/dist/bin/graph-export.js +6 -6
- package/dist/bin/import-history.js +9 -9
- package/dist/bin/install.js +69 -69
- 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/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +12 -12
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +5 -5
- package/dist/bin/stack-update.js +4 -4
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-FB2J53IG.js → boot-generation-XNR2CBMX.js} +3 -3
- package/dist/{boot-review-sections-UTOPAQQJ.js → boot-review-sections-ZWXRZ6YX.js} +11 -11
- package/dist/{capability-cards-YADEM2KN.js → capability-cards-IOGHQJ6Y.js} +2 -2
- package/dist/{capacity-monitor-IO6JHLXV.js → capacity-monitor-3YN75QXX.js} +13 -13
- package/dist/{catchup-brief-QCKB32YC.js → catchup-brief-7WCQGC2Z.js} +16 -16
- package/dist/{chunk-3QLWBLS3.js → chunk-4EEML23J.js} +5 -5
- package/dist/{chunk-7OPIIYF2.js → chunk-4Z74A4A6.js} +5 -5
- package/dist/{chunk-27REQ7KR.js → chunk-53HZ23T5.js} +1 -1
- package/dist/{chunk-IKYQ2HSH.js → chunk-55OFK4ZY.js} +1 -1
- package/dist/{chunk-4HMZQRQD.js → chunk-5J4GLPTU.js} +7 -7
- package/dist/{chunk-WUMWXU6B.js → chunk-5SJXJSAI.js} +1 -1
- package/dist/{chunk-MH5HWMVH.js → chunk-6ON3JHGE.js} +1 -1
- package/dist/{chunk-ZFR4A5W4.js → chunk-6QHQCY3N.js} +1 -1
- package/dist/{chunk-YTPCJLEL.js → chunk-AAVVHD4C.js} +1 -1
- package/dist/{chunk-SRK5AWVS.js → chunk-ABIZWPSK.js} +2 -2
- package/dist/{chunk-UUJZAOF3.js → chunk-AGCGXXIB.js} +1 -1
- package/dist/{chunk-NBTSUPTB.js → chunk-AUEMXOJT.js} +1 -1
- package/dist/{chunk-FENYNW52.js → chunk-BAWZEI77.js} +1 -1
- package/dist/{chunk-M7PBRIRH.js → chunk-CYBDUQDO.js} +1 -1
- package/dist/{chunk-ADRZXHUB.js → chunk-D2UZ35PQ.js} +2 -2
- package/dist/{chunk-KIMAQNSM.js → chunk-DKOWIBBM.js} +3 -3
- package/dist/{chunk-JORPYG4O.js → chunk-DXYHU5D6.js} +1 -1
- package/dist/{chunk-UXPMDQHP.js → chunk-ENIFHOMF.js} +3 -3
- package/dist/{chunk-EFHGK6JP.js → chunk-FGII4IO7.js} +1 -1
- package/dist/{chunk-RBRGSOK5.js → chunk-FHOLN7BD.js} +1 -1
- package/dist/{chunk-X6VEQ7MC.js → chunk-GIEIWDC2.js} +1 -1
- package/dist/{chunk-WUNXNNJL.js → chunk-GINAJJQR.js} +3 -3
- package/dist/{chunk-D3DCRA3H.js → chunk-GIZLVGOM.js} +2 -2
- package/dist/{chunk-VC2OE37S.js → chunk-GWO54VKD.js} +4 -4
- package/dist/{chunk-FE6WBI2M.js → chunk-GXMY5ERQ.js} +1 -1
- package/dist/{chunk-6NRY3CFI.js → chunk-H2BE7ZPC.js} +9 -9
- package/dist/{chunk-YFLHS7GV.js → chunk-HCRUMO4B.js} +1 -1
- package/dist/{chunk-5YDNNUZ6.js → chunk-HKXNF72F.js} +141 -129
- package/dist/{chunk-HYZE3MNS.js → chunk-HUCMSRIF.js} +1 -1
- package/dist/{chunk-23O6LHII.js → chunk-I6UOIBCG.js} +1 -1
- package/dist/{chunk-RFRUDXOI.js → chunk-IC4O376V.js} +2 -2
- package/dist/{chunk-O5RXPXDD.js → chunk-IXDSQ2VO.js} +3 -3
- package/dist/{chunk-GTZKETSS.js → chunk-IXJGEZBS.js} +4 -4
- package/dist/{chunk-SQ4WACH4.js → chunk-JFGX7LHH.js} +1 -1
- package/dist/{chunk-MMOONM6D.js → chunk-JO6RMHMW.js} +1 -1
- package/dist/{chunk-DAODOSH4.js → chunk-KBFHODXV.js} +1 -1
- package/dist/{chunk-OYEBUJ5W.js → chunk-KES3SNOH.js} +1 -1
- package/dist/{chunk-YF3B3NQF.js → chunk-KMWRDB5U.js} +2 -2
- package/dist/{chunk-6JQTSKDR.js → chunk-KZ7BANUM.js} +1 -1
- package/dist/{chunk-453QJHGW.js → chunk-L3DKZC4R.js} +2 -2
- package/dist/{chunk-NY6DU5RB.js → chunk-L4SGSV4M.js} +1 -1
- package/dist/{chunk-CIKFGNES.js → chunk-LFDW43MP.js} +2 -2
- package/dist/{chunk-IFSKL5QW.js → chunk-LOYK2BRY.js} +15 -15
- package/dist/{chunk-P3JQDXY6.js → chunk-LVG5ATTU.js} +10 -10
- package/dist/{chunk-FXE56MAI.js → chunk-LVYIM3V4.js} +4 -4
- package/dist/{chunk-5YXC7GF5.js → chunk-LYMEWCFD.js} +24 -8
- package/dist/{chunk-OBWIVRD6.js → chunk-MFRJRJ6U.js} +1 -1
- package/dist/{chunk-Y6IP4R5M.js → chunk-MFX2RWJZ.js} +3 -3
- package/dist/{chunk-AMC2OPYP.js → chunk-MGFG7V3M.js} +1 -1
- package/dist/{chunk-E76MXORZ.js → chunk-NXC3Z7VI.js} +3 -3
- package/dist/{chunk-SUJFXYMQ.js → chunk-OPDZ62TW.js} +3 -3
- package/dist/{chunk-TRIK7MXS.js → chunk-P5C7JCIZ.js} +139 -9
- package/dist/{chunk-5C46Y4AK.js → chunk-PBLFSNIA.js} +1 -1
- package/dist/{chunk-W3T76WFH.js → chunk-PELEK2IT.js} +1 -1
- package/dist/{chunk-TF5E6O5Q.js → chunk-QABQ7C4C.js} +1 -1
- package/dist/{chunk-UPZQLFRJ.js → chunk-QIALP626.js} +2 -2
- package/dist/{chunk-MVZLF27P.js → chunk-SDNIBE22.js} +2 -2
- package/dist/{chunk-VRQTOLRH.js → chunk-SLROFI6M.js} +1 -1
- package/dist/{chunk-2AD2GAPC.js → chunk-SUZOENOA.js} +1 -1
- package/dist/{chunk-O522M4YZ.js → chunk-T346KHGF.js} +1 -1
- package/dist/{chunk-NAHDJLLB.js → chunk-T4VUDUZF.js} +3 -3
- package/dist/{chunk-UG2R4LHI.js → chunk-TGGOWOLG.js} +1 -1
- package/dist/{chunk-E3BNUQHW.js → chunk-TGU2IB6P.js} +2 -2
- package/dist/{chunk-TIWFOWL6.js → chunk-THDM6HMQ.js} +3 -3
- package/dist/{chunk-RFKWETK3.js → chunk-TXGOFNXD.js} +4 -4
- package/dist/{chunk-UAKGNQWE.js → chunk-U7HUQPVS.js} +1 -1
- package/dist/{chunk-7HO5VMDR.js → chunk-UCO3XIL5.js} +2 -2
- package/dist/{chunk-NUWAB2ZB.js → chunk-UXOCABN4.js} +4 -4
- package/dist/{chunk-2T6NZLMO.js → chunk-UZ6AA52H.js} +6 -6
- package/dist/{chunk-4DZDXS5N.js → chunk-VDEBUOPB.js} +1 -1
- package/dist/{chunk-GKNWKQFY.js → chunk-VDKI6PIZ.js} +1 -1
- package/dist/{chunk-5TBGZK55.js → chunk-VF6HK2ID.js} +1 -1
- package/dist/{chunk-Z4UKLRML.js → chunk-VU2MZ7BP.js} +18 -6
- package/dist/{chunk-4FHBXWSA.js → chunk-WAVZDYXS.js} +4 -4
- package/dist/{chunk-QNKR7WEL.js → chunk-WOGK3FIE.js} +3 -3
- package/dist/{chunk-R6POL63K.js → chunk-XKA343SE.js} +1 -1
- package/dist/{chunk-2N5MLJLM.js → chunk-YJBBW6OT.js} +4 -4
- package/dist/{chunk-MOZY4IQO.js → chunk-Z4F6ZHDV.js} +1 -1
- package/dist/{chunk-XF2G47JS.js → chunk-ZMDTRDTD.js} +3 -3
- package/dist/{cleanup-graph-garbage-ON45J7RR.js → cleanup-graph-garbage-DQDJK6L7.js} +7 -7
- package/dist/{cloud-sync-shutdown-A2QB74YM.js → cloud-sync-shutdown-UHICWZ2B.js} +2 -2
- package/dist/{co-activation-S2FVGMQP.js → co-activation-PIRKOOPD.js} +2 -2
- package/dist/{co-occurrence-VQB6U5ME.js → co-occurrence-PO4EPN5C.js} +5 -5
- package/dist/{conversation-entity-extractor-YF3ZLTEJ.js → conversation-entity-extractor-3UUAYXS6.js} +3 -3
- package/dist/{crdt-sync-2SGCDWC3.js → crdt-sync-ZL3GKAQW.js} +1 -1
- package/dist/{crm-webhook-OJFVII6G.js → crm-webhook-BAF3VM34.js} +2 -2
- package/dist/{cto-delegation-gate-KNH5TRUS.js → cto-delegation-gate-AQE2M4HU.js} +11 -11
- package/dist/{daemon-orchestration-VFM2FKGY.js → daemon-orchestration-X7UPV6VU.js} +20 -16
- package/dist/{doc-graph-extractor-DCJMATVZ.js → doc-graph-extractor-IFLEVHUJ.js} +5 -5
- package/dist/{documents-253FGKPI.js → documents-2BXH6YE4.js} +6 -6
- package/dist/{dreaming-EFRFVQDZ.js → dreaming-AQI4F7J4.js} +15 -15
- package/dist/{exe-drift-ED7FBS2C.js → exe-drift-OBXBE3BJ.js} +3 -3
- package/dist/{exe-export-AVGUGDMJ.js → exe-export-VKRI6DK4.js} +7 -7
- package/dist/{exe-import-ALYVE4XT.js → exe-import-EH74J6HM.js} +7 -7
- package/dist/{exe-key-5MDOPRDS.js → exe-key-5R6XAPHS.js} +67 -67
- package/dist/{exe-snapshot-ZN523QP6.js → exe-snapshot-CWQBLHZN.js} +16 -16
- package/dist/{fast-db-init-GJGO22F5.js → fast-db-init-5HF3TLAF.js} +1 -1
- package/dist/{founder-context-JHHFM4GF.js → founder-context-PWEQQF43.js} +2 -2
- package/dist/gateway/index.js +8 -8
- package/dist/{git-staleness-YPHGWE3B.js → git-staleness-ZQEAOK6X.js} +2 -2
- package/dist/{global-procedures-HZFQ3WJB.js → global-procedures-LBAA7VLL.js} +3 -3
- package/dist/{graph-auto-extract-7OJYYV4G.js → graph-auto-extract-XOJSREN4.js} +5 -5
- package/dist/{graph-rag-YFITUAVO.js → graph-rag-P3PSYW7P.js} +3 -3
- package/dist/{hook-prefetch-ITWBE3XZ.js → hook-prefetch-HGHMON76.js} +12 -12
- package/dist/hooks/bug-report-worker.js +14 -14
- package/dist/hooks/codex-stop-task-finalizer.js +15 -15
- package/dist/hooks/commit-complete.js +14 -14
- package/dist/hooks/error-recall.js +7 -7
- package/dist/hooks/exe-heartbeat-hook.js +3 -3
- package/dist/hooks/ingest.js +6 -6
- package/dist/hooks/instructions-loaded.js +4 -4
- package/dist/hooks/manifest.json +19 -19
- package/dist/hooks/notification.js +4 -4
- package/dist/hooks/post-compact.js +13 -13
- package/dist/hooks/post-tool-combined.js +9 -9
- package/dist/hooks/pre-compact.js +14 -14
- package/dist/hooks/pre-tool-use.js +19 -19
- package/dist/hooks/prompt-submit.js +26 -26
- package/dist/hooks/session-end.js +18 -18
- package/dist/hooks/session-start.js +13 -13
- package/dist/hooks/stop.js +17 -17
- package/dist/hooks/subagent-stop.js +15 -15
- package/dist/hooks/summary-worker.js +18 -18
- package/dist/index.js +21 -21
- package/dist/{installer-CY5PN7TN.js → installer-DWOXEACJ.js} +5 -5
- package/dist/{installer-N4QXGINR.js → installer-LDICNL4N.js} +5 -5
- package/dist/{installer-3ONNP5JV.js → installer-WZLGX2W6.js} +5 -5
- package/dist/{intercom-queue-RLWMSZHB.js → intercom-queue-S3XGJ632.js} +11 -11
- package/dist/lib/cloud-sync.js +11 -11
- package/dist/lib/consolidation.js +7 -7
- package/dist/lib/database.js +2 -2
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-daemon-client.js +5 -1
- package/dist/lib/db-write-worker.js +2 -2
- package/dist/lib/db.js +2 -2
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +4 -4
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon.js +227 -62
- package/dist/lib/hybrid-search.js +6 -6
- package/dist/lib/identity.js +2 -2
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +12 -12
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +6 -6
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +7 -7
- package/dist/lib/store.js +5 -5
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +13 -13
- package/dist/lib/tmux-routing.js +11 -11
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-ZRORTAQ2.js → license-gate-H3AEDCEX.js} +3 -3
- package/dist/{license-sync-CQHBDUQE.js → license-sync-FBYT75E3.js} +2 -2
- package/dist/mcp/register-tools.js +66 -66
- package/dist/mcp/server.js +67 -67
- 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 +15 -15
- package/dist/mcp/tools/deactivate-behavior.js +8 -8
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +15 -15
- package/dist/mcp/tools/send-message.js +14 -14
- package/dist/mcp/tools/update-task.js +14 -14
- package/dist/{mcp-http-config-2A6HKQP5.js → mcp-http-config-XE5KEKOR.js} +3 -3
- package/dist/{mcp-session-identity-YTXFSOWN.js → mcp-session-identity-QA4ZXYCY.js} +11 -11
- package/dist/{memory-cards-CJJJ2EP6.js → memory-cards-GHAU5A4O.js} +5 -5
- package/dist/{memory-graph-extractor-2Z72HN5P.js → memory-graph-extractor-P7B2V6CN.js} +6 -6
- package/dist/{memory-poisoning-defense-WZJ52KXT.js → memory-poisoning-defense-OY4EJES5.js} +2 -2
- package/dist/{memory-pressure-watchdog-VNKYRODT.js → memory-pressure-watchdog-ZGA5GAUE.js} +12 -12
- package/dist/{memory-reflection-LTRHDGUL.js → memory-reflection-5NAOS2OJ.js} +2 -2
- package/dist/{notification-ledger-OE4XNOAY.js → notification-ledger-LCG3TRSE.js} +12 -12
- package/dist/{notifications-DU4WVNET.js → notifications-YX43A36Z.js} +11 -11
- package/dist/{orchestration-events-HAFDPTLV.js → orchestration-events-EXQRGVEJ.js} +3 -3
- package/dist/{orchestrator-JRSVEKLB.js → orchestrator-3OO5FV6O.js} +13 -13
- package/dist/{pipeline-router-4RRX65W7.js → pipeline-router-U6U3M5DB.js} +3 -3
- package/dist/{plan-limits-5QYYPIPT.js → plan-limits-FNYZOE7J.js} +5 -5
- package/dist/{projection-worker-PXJZEKFK.js → projection-worker-HIXCZRPD.js} +2 -2
- package/dist/{prospective-memory-V7LFCPU4.js → prospective-memory-WQJJB2PS.js} +2 -2
- package/dist/{reranker-DWNE7KUB.js → reranker-N4QIAVEZ.js} +1 -1
- package/dist/{retrieval-health-4NCBHUUS.js → retrieval-health-IP74ZJ3D.js} +1 -1
- package/dist/{review-polling-K2V34KEA.js → review-polling-AXQWGH4M.js} +12 -12
- package/dist/runtime/index.js +15 -15
- package/dist/{session-events-R3WL7J7D.js → session-events-POBJERCM.js} +12 -12
- package/dist/{session-kill-telemetry-BQSJZ2A7.js → session-kill-telemetry-WRT5UFGM.js} +12 -12
- package/dist/{session-scope-SMYECIDA.js → session-scope-J4JJHTOC.js} +11 -11
- package/dist/{setup-wizard-BUFVAFWP.js → setup-wizard-TEBZRHIB.js} +1 -1
- package/dist/{skill-refinement-VG3UU7MU.js → skill-refinement-E2X3FHGX.js} +3 -3
- package/dist/{stack-promote-RARBN276.js → stack-promote-OQWEY3RN.js} +4 -4
- package/dist/{stack-release-OTVTLA6B.js → stack-release-NUITUMB4.js} +4 -4
- package/dist/{stack-update-WBDTJJEF.js → stack-update-5XFOBX3A.js} +3 -3
- package/dist/{steward-gate-CWPD4HEK.js → steward-gate-ODMUO6TD.js} +3 -3
- package/dist/{support-inbox-HRIHHKPU.js → support-inbox-HRU4TVLN.js} +3 -3
- package/dist/{task-enforcement-RNSASE3R.js → task-enforcement-DTQ5QMDD.js} +12 -12
- package/dist/{task-scope-TW3BWFVJ.js → task-scope-3F3MSGSX.js} +11 -11
- package/dist/{tasks-crud-VXCTTSB5.js → tasks-crud-DBQFOYOX.js} +11 -11
- package/dist/{tasks-notify-ETPCCUXG.js → tasks-notify-X7AJMSX6.js} +12 -12
- package/dist/{tasks-review-TY7OZBAT.js → tasks-review-QQXKYQ52.js} +11 -11
- package/dist/{telemetry-upload-ABCUA2WS.js → telemetry-upload-3KLDXO4Z.js} +7 -7
- package/dist/{token-budget-SK32GKFZ.js → token-budget-T3L6OHAN.js} +3 -3
- package/dist/{tool-telemetry-QJGJAHOC.js → tool-telemetry-TKENX37V.js} +1 -1
- package/dist/tui/App.js +19 -19
- package/dist/{tui-data-XZX7VSG4.js → tui-data-4ITCYY3G.js} +11 -11
- package/dist/{update-support-Q5HFD4IN.js → update-support-TT2ESH4G.js} +9 -9
- package/dist/{work-state-heartbeat-MQQOCU54.js → work-state-heartbeat-UAVYBQOK.js} +1 -1
- package/dist/{worker-gate-RKHQLE4F.js → worker-gate-GK46QYHU.js} +1 -1
- package/dist/{workflow-engine-CXUJIH3R.js → workflow-engine-YYRUTNCM.js} +2 -2
- package/dist/{worktree-FJZXHDCJ.js → worktree-5LHP677X.js} +4 -4
- package/dist/{worktree-sweep-SW4AG6JR.js → worktree-sweep-TVQVQTVD.js} +5 -5
- package/package.json +1 -1
- package/release-notes.json +34 -52
- /package/dist/{chunk-GFIWADEH.js → chunk-2BJYY4SK.js} +0 -0
- /package/dist/{chunk-GPZQZTJB.js → chunk-2XQZZAFI.js} +0 -0
- /package/dist/{chunk-E77V5MTE.js → chunk-AD42TL2C.js} +0 -0
- /package/dist/{chunk-4N3NTBGJ.js → chunk-AGV4GKNY.js} +0 -0
- /package/dist/{chunk-XF2D4CDA.js → chunk-IMGD6PW3.js} +0 -0
- /package/dist/{chunk-ELJSXKYA.js → chunk-JAF64HJT.js} +0 -0
- /package/dist/{chunk-QUOMJKVF.js → chunk-JGTJAA6B.js} +0 -0
- /package/dist/{chunk-H4JKOLXU.js → chunk-PENPH5AG.js} +0 -0
- /package/dist/{chunk-GI3O5MGF.js → chunk-PIBEPI5W.js} +0 -0
- /package/dist/{chunk-FXZRJT3H.js → chunk-S6APJBIZ.js} +0 -0
- /package/dist/{chunk-E42D2E5F.js → chunk-TEJOHJZQ.js} +0 -0
- /package/dist/{chunk-A4X7SCDG.js → chunk-TZMXGMSV.js} +0 -0
- /package/dist/{core-memory-PCKGCUZU.js → core-memory-F2TJ2VVZ.js} +0 -0
- /package/dist/{oauth-server-FSKABATB.js → oauth-server-DCZN5VOK.js} +0 -0
- /package/dist/{project-boot-FVSC4VQC.js → project-boot-GVT2NKGJ.js} +0 -0
- /package/dist/{wiki-acl-CW2UALTJ.js → wiki-acl-NCAPBNOZ.js} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isPaneBusy
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WAVZDYXS.js";
|
|
4
4
|
import {
|
|
5
5
|
recordSessionKill
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MFX2RWJZ.js";
|
|
7
7
|
import {
|
|
8
8
|
eventLoopBlockedMarkerPath
|
|
9
9
|
} from "./chunk-APRVAUOR.js";
|
|
10
10
|
import {
|
|
11
11
|
updateTask
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5J4GLPTU.js";
|
|
13
13
|
import {
|
|
14
14
|
countPendingReviews,
|
|
15
15
|
ensureEmployeeAsync,
|
|
@@ -25,14 +25,14 @@ import {
|
|
|
25
25
|
sessionScopeFilter,
|
|
26
26
|
strictSessionScopeFilter,
|
|
27
27
|
writeNotification
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-LOYK2BRY.js";
|
|
29
29
|
import {
|
|
30
30
|
LEASE_MINUTES,
|
|
31
31
|
isLeaseExpired
|
|
32
32
|
} from "./chunk-E23LNUWJ.js";
|
|
33
33
|
import {
|
|
34
34
|
listSessions
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-HUCMSRIF.js";
|
|
36
36
|
import {
|
|
37
37
|
getTransport
|
|
38
38
|
} from "./chunk-AD2VCHSS.js";
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
} from "./chunk-SKGMF2SO.js";
|
|
45
45
|
import {
|
|
46
46
|
recordOrchestrationEventBestEffort
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-MGFG7V3M.js";
|
|
48
48
|
import {
|
|
49
49
|
checkDispatchStatus,
|
|
50
50
|
readTerminalLauncherFailure,
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
getCoordinatorName,
|
|
63
63
|
isCoordinatorName,
|
|
64
64
|
shouldAutoInstance
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-WOGK3FIE.js";
|
|
66
66
|
import {
|
|
67
67
|
loadConfigSync
|
|
68
68
|
} from "./chunk-BCZF3AGJ.js";
|
|
@@ -1982,6 +1982,134 @@ function createStuckTaskRealDeps(getClient) {
|
|
|
1982
1982
|
}
|
|
1983
1983
|
};
|
|
1984
1984
|
}
|
|
1985
|
+
async function releaseStaleClaims(deps, nowMs = Date.now()) {
|
|
1986
|
+
let liveSessions;
|
|
1987
|
+
try {
|
|
1988
|
+
liveSessions = deps.listTmuxSessionsAsync ? await deps.listTmuxSessionsAsync() : deps.listTmuxSessions();
|
|
1989
|
+
} catch (e) {
|
|
1990
|
+
process.stderr.write("[stale-claim] list tmux sessions: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
1991
|
+
return [];
|
|
1992
|
+
}
|
|
1993
|
+
if (liveSessions.length === 0 && deps.tmuxSessionsVerified?.() === false) {
|
|
1994
|
+
process.stderr.write("[stale-claim] Skipping claim release: tmux session list was not verified (probe failed/timeout). Preserving claims.\n");
|
|
1995
|
+
return [];
|
|
1996
|
+
}
|
|
1997
|
+
const liveSessionSet = new Set(liveSessions);
|
|
1998
|
+
let tasks;
|
|
1999
|
+
try {
|
|
2000
|
+
tasks = await deps.queryClaimedOpenBlockedTasks();
|
|
2001
|
+
} catch (e) {
|
|
2002
|
+
process.stderr.write("[stale-claim] query claimed tasks: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
2003
|
+
return [];
|
|
2004
|
+
}
|
|
2005
|
+
const released = [];
|
|
2006
|
+
for (const t of tasks) {
|
|
2007
|
+
if (!t.claimedSession || t.claimedSession === "unknown") continue;
|
|
2008
|
+
if (liveSessionSet.has(t.claimedSession)) continue;
|
|
2009
|
+
const updatedMs = new Date(t.updatedAt).getTime();
|
|
2010
|
+
if (!Number.isNaN(updatedMs) && nowMs - updatedMs < STUCK_TASK_GRACE_MS) continue;
|
|
2011
|
+
try {
|
|
2012
|
+
await deps.releaseClaim(t.taskId, t.claimedSession);
|
|
2013
|
+
released.push(t.taskId);
|
|
2014
|
+
process.stderr.write(
|
|
2015
|
+
`[stale-claim] Task ${t.taskId.slice(0, 8)} (${t.agentId}) \u2014 claim holder session ${t.claimedSession}` + (t.claimInstanceId ? ` (${t.claimInstanceId})` : "") + ` is gone; released claim so the owner can re-claim.
|
|
2016
|
+
`
|
|
2017
|
+
);
|
|
2018
|
+
} catch (err) {
|
|
2019
|
+
process.stderr.write(`[stale-claim] Failed to release claim on ${t.taskId}: ${err instanceof Error ? err.message : String(err)}
|
|
2020
|
+
`);
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
return released;
|
|
2024
|
+
}
|
|
2025
|
+
function createStaleClaimRealDeps(getClient) {
|
|
2026
|
+
let lastTmuxListVerified = false;
|
|
2027
|
+
const listSync = () => {
|
|
2028
|
+
try {
|
|
2029
|
+
const socket = process.env.EXE_TMUX_SOCKET;
|
|
2030
|
+
const socketArgs = socket ? ["-L", socket] : [];
|
|
2031
|
+
const out = execFileSync("tmux", [...socketArgs, "list-sessions", "-F", "#{session_name}"], {
|
|
2032
|
+
encoding: "utf8",
|
|
2033
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
2034
|
+
timeout: 3e3
|
|
2035
|
+
});
|
|
2036
|
+
lastTmuxListVerified = true;
|
|
2037
|
+
return out.trim().split("\n").filter(Boolean);
|
|
2038
|
+
} catch {
|
|
2039
|
+
lastTmuxListVerified = false;
|
|
2040
|
+
return [];
|
|
2041
|
+
}
|
|
2042
|
+
};
|
|
2043
|
+
return {
|
|
2044
|
+
listTmuxSessions: listSync,
|
|
2045
|
+
listTmuxSessionsAsync: async () => {
|
|
2046
|
+
try {
|
|
2047
|
+
const socket = process.env.EXE_TMUX_SOCKET;
|
|
2048
|
+
const socketArgs = socket ? ["-L", socket] : [];
|
|
2049
|
+
const { stdout } = await execFileAsync("tmux", [...socketArgs, "list-sessions", "-F", "#{session_name}"], {
|
|
2050
|
+
encoding: "utf8",
|
|
2051
|
+
timeout: 3e3
|
|
2052
|
+
});
|
|
2053
|
+
lastTmuxListVerified = true;
|
|
2054
|
+
return (stdout ?? "").trim().split("\n").filter(Boolean);
|
|
2055
|
+
} catch {
|
|
2056
|
+
lastTmuxListVerified = false;
|
|
2057
|
+
return [];
|
|
2058
|
+
}
|
|
2059
|
+
},
|
|
2060
|
+
tmuxSessionsVerified: () => lastTmuxListVerified,
|
|
2061
|
+
queryClaimedOpenBlockedTasks: async () => {
|
|
2062
|
+
const { loadDeviceId } = await import("./lib/license.js");
|
|
2063
|
+
const deviceId = loadDeviceId();
|
|
2064
|
+
const client = getClient();
|
|
2065
|
+
const rows = await client.execute({
|
|
2066
|
+
sql: `SELECT id, assigned_to, assigned_tmux, claim_session_instance_id, updated_at
|
|
2067
|
+
FROM tasks
|
|
2068
|
+
WHERE status IN ('open', 'blocked')
|
|
2069
|
+
AND assigned_tmux IS NOT NULL
|
|
2070
|
+
AND assigned_tmux != 'unknown'
|
|
2071
|
+
AND (device_id = ? OR device_id IS NULL)
|
|
2072
|
+
ORDER BY updated_at ASC
|
|
2073
|
+
LIMIT 1000`,
|
|
2074
|
+
args: [deviceId]
|
|
2075
|
+
});
|
|
2076
|
+
return rows.rows.map((r) => ({
|
|
2077
|
+
taskId: String(r.id),
|
|
2078
|
+
agentId: String(r.assigned_to ?? "unknown"),
|
|
2079
|
+
claimedSession: r.assigned_tmux ? String(r.assigned_tmux) : "",
|
|
2080
|
+
claimInstanceId: r.claim_session_instance_id ? String(r.claim_session_instance_id) : null,
|
|
2081
|
+
updatedAt: String(r.updated_at)
|
|
2082
|
+
}));
|
|
2083
|
+
},
|
|
2084
|
+
releaseClaim: async (taskId, holderSession) => {
|
|
2085
|
+
const client = getClient();
|
|
2086
|
+
const nowIso = (/* @__PURE__ */ new Date()).toISOString();
|
|
2087
|
+
await client.execute({
|
|
2088
|
+
sql: `UPDATE tasks
|
|
2089
|
+
SET assigned_tmux = NULL,
|
|
2090
|
+
instance_id = NULL,
|
|
2091
|
+
claimed_by = NULL,
|
|
2092
|
+
claimed_at = NULL,
|
|
2093
|
+
last_heartbeat_at = NULL,
|
|
2094
|
+
claim_session_instance_id = NULL,
|
|
2095
|
+
lease_expires_at = NULL,
|
|
2096
|
+
updated_at = ?
|
|
2097
|
+
WHERE id = ?
|
|
2098
|
+
AND status IN ('open', 'blocked')
|
|
2099
|
+
AND assigned_tmux = ?`,
|
|
2100
|
+
args: [nowIso, taskId, holderSession]
|
|
2101
|
+
});
|
|
2102
|
+
recordOrchestrationEventBestEffort({
|
|
2103
|
+
eventType: "task.claim_released",
|
|
2104
|
+
source: "daemon-orchestration.releaseStaleClaims",
|
|
2105
|
+
severity: "warn",
|
|
2106
|
+
taskId,
|
|
2107
|
+
result: "dead_holder_session",
|
|
2108
|
+
payload: { holderSession }
|
|
2109
|
+
});
|
|
2110
|
+
}
|
|
2111
|
+
};
|
|
2112
|
+
}
|
|
1985
2113
|
var DEFAULT_STALE_REVIEW_DAYS = 7;
|
|
1986
2114
|
async function cleanupStaleReviews(deps) {
|
|
1987
2115
|
const thresholdDays = deps.getStaleReviewThreshold();
|
|
@@ -3066,7 +3194,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
|
|
|
3066
3194
|
}
|
|
3067
3195
|
async function createWorktreeReaperRealDeps() {
|
|
3068
3196
|
const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
|
|
3069
|
-
const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-
|
|
3197
|
+
const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-5LHP677X.js");
|
|
3070
3198
|
const { statSync: statSync3 } = await import("fs");
|
|
3071
3199
|
const { basename: basename2 } = await import("path");
|
|
3072
3200
|
const { promisify: promisify2 } = await import("util");
|
|
@@ -3297,7 +3425,7 @@ async function gcStaleCheckpoints() {
|
|
|
3297
3425
|
}
|
|
3298
3426
|
async function pollTaskGroupBarriers() {
|
|
3299
3427
|
try {
|
|
3300
|
-
const { checkAndFireBarriers } = await import("./tasks-crud-
|
|
3428
|
+
const { checkAndFireBarriers } = await import("./tasks-crud-DBQFOYOX.js");
|
|
3301
3429
|
const firedGroupIds = await checkAndFireBarriers();
|
|
3302
3430
|
if (firedGroupIds.length === 0) return 0;
|
|
3303
3431
|
const { getClient } = await import("./lib/database.js");
|
|
@@ -3411,6 +3539,8 @@ export {
|
|
|
3411
3539
|
releaseStuckTasks,
|
|
3412
3540
|
paneShowsBackgroundSubagentWait,
|
|
3413
3541
|
createStuckTaskRealDeps,
|
|
3542
|
+
releaseStaleClaims,
|
|
3543
|
+
createStaleClaimRealDeps,
|
|
3414
3544
|
cleanupStaleReviews,
|
|
3415
3545
|
createStaleReviewRealDeps,
|
|
3416
3546
|
ESCALATE_AFTER_MS,
|
|
@@ -263,7 +263,7 @@ async function runRegistryProxy(options = registryProxyOptionsFromEnv()) {
|
|
|
263
263
|
await new Promise((resolve) => server.listen(options.port, options.host, resolve));
|
|
264
264
|
console.log(`exe-registry-proxy listening on ${options.host ?? "0.0.0.0"}:${options.port}`);
|
|
265
265
|
console.log(`proxying /v2/${options.allowedNamespace ?? "askexe"}/* -> ${options.upstream ?? "https://ghcr.io"}`);
|
|
266
|
-
const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-
|
|
266
|
+
const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-FBYT75E3.js");
|
|
267
267
|
const syncConfig = licenseSyncConfigFromEnv();
|
|
268
268
|
if (syncConfig) {
|
|
269
269
|
startLicenseSyncScheduler(syncConfig);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
vectorToSqlLiteral
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LVG5ATTU.js";
|
|
4
4
|
import {
|
|
5
5
|
blobToVector
|
|
6
6
|
} from "./chunk-OTVEIJUQ.js";
|
|
7
7
|
import {
|
|
8
8
|
getClient
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WOGK3FIE.js";
|
|
10
10
|
|
|
11
11
|
// src/lib/behaviors.ts
|
|
12
12
|
import crypto from "crypto";
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
} from "./chunk-GUMRIUI5.js";
|
|
8
8
|
import {
|
|
9
9
|
WORK_STATE_HEARTBEAT_TOOL
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PENPH5AG.js";
|
|
11
11
|
import {
|
|
12
12
|
hashMemoryContent
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2XQZZAFI.js";
|
|
14
14
|
|
|
15
15
|
// src/lib/graph-rag.ts
|
|
16
16
|
import crypto from "crypto";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fastDbInit
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TZMXGMSV.js";
|
|
4
4
|
import {
|
|
5
5
|
sessionScopeFilter
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LOYK2BRY.js";
|
|
7
7
|
import {
|
|
8
8
|
formatStatusAll,
|
|
9
9
|
formatStatusDeep,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
getClient,
|
|
15
15
|
isCoordinatorRole,
|
|
16
16
|
loadEmployees
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WOGK3FIE.js";
|
|
18
18
|
import {
|
|
19
19
|
isMainModule
|
|
20
20
|
} from "./chunk-6Y4B3QF6.js";
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
buildClaudeHttpMcpEntry,
|
|
11
11
|
buildClaudeStdioProxyMcpEntry
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6ON3JHGE.js";
|
|
13
13
|
import {
|
|
14
14
|
ensureAllAgentSymlinks
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FHOLN7BD.js";
|
|
16
16
|
import {
|
|
17
17
|
MCP_LEGACY_KEY,
|
|
18
18
|
MCP_PRIMARY_KEY
|
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
resolveExeSession,
|
|
5
5
|
sendIntercom,
|
|
6
6
|
strictSessionScopeFilter
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LOYK2BRY.js";
|
|
8
8
|
import {
|
|
9
9
|
parseMessage,
|
|
10
10
|
serializeMessage
|
|
11
11
|
} from "./chunk-4JERP7NT.js";
|
|
12
12
|
import {
|
|
13
13
|
recordOrchestrationEventBestEffort
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MGFG7V3M.js";
|
|
15
15
|
import {
|
|
16
16
|
getClient
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WOGK3FIE.js";
|
|
18
18
|
|
|
19
19
|
// src/lib/messaging.ts
|
|
20
20
|
import crypto from "crypto";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deactivateBehavior
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QIALP626.js";
|
|
4
4
|
import {
|
|
5
5
|
getActiveAgent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QABQ7C4C.js";
|
|
7
7
|
import {
|
|
8
8
|
canCoordinate,
|
|
9
9
|
getClient
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WOGK3FIE.js";
|
|
11
11
|
|
|
12
12
|
// src/mcp/tools/deactivate-behavior.ts
|
|
13
13
|
import { z } from "zod";
|
|
@@ -24,7 +24,7 @@ function registerDeactivateBehavior(server) {
|
|
|
24
24
|
async ({ behavior_id }) => {
|
|
25
25
|
const caller = getActiveAgent();
|
|
26
26
|
try {
|
|
27
|
-
const { StewardGate } = await import("./steward-gate-
|
|
27
|
+
const { StewardGate } = await import("./steward-gate-ODMUO6TD.js");
|
|
28
28
|
const steward = new StewardGate();
|
|
29
29
|
const gateDecision = await steward.checkAuthority(caller.agentId || "unknown", "deactivate_behavior", behavior_id);
|
|
30
30
|
if (!gateDecision.allowed) {
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
createCRMWebhookHandler,
|
|
12
12
|
parseTwentyWebhook
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SLROFI6M.js";
|
|
14
14
|
import {
|
|
15
15
|
WhatsAppAdapter
|
|
16
16
|
} from "./chunk-WSOA3WMC.js";
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
retryWithBackoff,
|
|
43
43
|
routeMessage,
|
|
44
44
|
validateGatewayConfig
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-KMWRDB5U.js";
|
|
46
46
|
import {
|
|
47
47
|
OllamaProvider
|
|
48
48
|
} from "./chunk-FWFFZGSC.js";
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
queryTaskRows,
|
|
7
7
|
resolveExeSession,
|
|
8
8
|
sendIntercom
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LOYK2BRY.js";
|
|
10
10
|
import {
|
|
11
11
|
getTransport
|
|
12
12
|
} from "./chunk-AD2VCHSS.js";
|
|
13
13
|
import {
|
|
14
14
|
recordOrchestrationEventBestEffort
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MGFG7V3M.js";
|
|
16
16
|
import {
|
|
17
17
|
releaseDispatchClaim,
|
|
18
18
|
tryAcquireDispatchClaim
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
isCoordinatorName,
|
|
28
28
|
isMultiInstance,
|
|
29
29
|
shouldAutoInstance
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-WOGK3FIE.js";
|
|
31
31
|
|
|
32
32
|
// src/lib/tasks-notify.ts
|
|
33
33
|
var VERIFY_DELAY_MS = 1e4;
|
|
@@ -89,7 +89,7 @@ async function dispatchTaskToEmployee(input) {
|
|
|
89
89
|
let crossProject = false;
|
|
90
90
|
if (input.projectName) {
|
|
91
91
|
try {
|
|
92
|
-
const { assertSessionScope } = await import("./session-scope-
|
|
92
|
+
const { assertSessionScope } = await import("./session-scope-J4JJHTOC.js");
|
|
93
93
|
const check = assertSessionScope("dispatch_task", input.projectName);
|
|
94
94
|
if (check.reason === "cross_session_denied") {
|
|
95
95
|
crossProject = true;
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
} from "./chunk-UEXJYSJX.js";
|
|
7
7
|
import {
|
|
8
8
|
isCrdtSyncEnabled
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2BJYY4SK.js";
|
|
10
10
|
import {
|
|
11
11
|
retryOnDaemonTransportError
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VU2MZ7BP.js";
|
|
13
13
|
import {
|
|
14
14
|
GHOST_BEHAVIOR_SQL,
|
|
15
15
|
isGhostBehaviorRow
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QIALP626.js";
|
|
17
17
|
import {
|
|
18
18
|
decryptSyncBlob,
|
|
19
19
|
encryptSyncBlob,
|
|
@@ -26,10 +26,10 @@ import {
|
|
|
26
26
|
loadEmployees,
|
|
27
27
|
registerBinSymlinks,
|
|
28
28
|
saveEmployees
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WOGK3FIE.js";
|
|
30
30
|
import {
|
|
31
31
|
loadDeviceId
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-JO6RMHMW.js";
|
|
33
33
|
import {
|
|
34
34
|
EXE_AI_DIR
|
|
35
35
|
} from "./chunk-BCZF3AGJ.js";
|
|
@@ -947,7 +947,7 @@ async function cloudSync(config, options) {
|
|
|
947
947
|
pullResult = await cloudPull(lastPullVersion, config);
|
|
948
948
|
if (pullResult.records.length > 0) {
|
|
949
949
|
if (shouldUseCrdtMergeForCloudSync()) {
|
|
950
|
-
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-
|
|
950
|
+
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-ZL3GKAQW.js");
|
|
951
951
|
initCrdtDoc();
|
|
952
952
|
importExistingMemories(
|
|
953
953
|
pullResult.records.map((rec) => ({
|
|
@@ -119,7 +119,7 @@ function releaseBackfillLock() {
|
|
|
119
119
|
}
|
|
120
120
|
async function getTaskAwareCapacity() {
|
|
121
121
|
const { getClient } = await import("./lib/database.js");
|
|
122
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
122
|
+
const { sessionScopeFilter } = await import("./task-scope-3F3MSGSX.js");
|
|
123
123
|
const client = getClient();
|
|
124
124
|
const scope = sessionScopeFilter();
|
|
125
125
|
const result = await client.execute({
|
|
@@ -59,6 +59,21 @@ async function retryOnDaemonTransportError(fn, opts = {}) {
|
|
|
59
59
|
}
|
|
60
60
|
throw lastErr;
|
|
61
61
|
}
|
|
62
|
+
function isDaemonRequestTimeout(err) {
|
|
63
|
+
const msg = err instanceof Error ? err.message : String(err ?? "");
|
|
64
|
+
return msg.includes("Request timeout");
|
|
65
|
+
}
|
|
66
|
+
function daemonMcpOpError(errMsg) {
|
|
67
|
+
if (errMsg && isDaemonRequestTimeout(errMsg)) {
|
|
68
|
+
return new Error(
|
|
69
|
+
"Daemon operation timed out (Request timeout) \u2014 the daemon is reachable but the operation exceeded the transport timeout. This is NOT a daemon outage (small writes in the same session still succeed); it usually means a long consolidation/dreaming read on a large or busy DB. Retry, or allow more time for the long step to complete."
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
const suffix = errMsg ? ` Last transport error: ${errMsg}.` : "";
|
|
73
|
+
return new Error(
|
|
74
|
+
"Daemon unavailable for MCP DB operation. Refusing direct SQLite fallback from MCP process to preserve the single-writer gate and prevent FTS5 corruption." + suffix
|
|
75
|
+
);
|
|
76
|
+
}
|
|
62
77
|
function createDaemonDbClient(fallbackClient) {
|
|
63
78
|
let _useDaemon = false;
|
|
64
79
|
const isMcpProcess = () => process.env.EXE_MCP_MODE === "1";
|
|
@@ -76,12 +91,7 @@ function createDaemonDbClient(fallbackClient) {
|
|
|
76
91
|
}
|
|
77
92
|
return false;
|
|
78
93
|
}
|
|
79
|
-
|
|
80
|
-
const suffix = errMsg ? ` Last transport error: ${errMsg}.` : "";
|
|
81
|
-
return new Error(
|
|
82
|
-
"Daemon unavailable for MCP DB operation. Refusing direct SQLite fallback from MCP process to preserve the single-writer gate and prevent FTS5 corruption." + suffix
|
|
83
|
-
);
|
|
84
|
-
}
|
|
94
|
+
const unavailableForMcp = (errMsg) => daemonMcpOpError(errMsg);
|
|
85
95
|
const client = {
|
|
86
96
|
// Daemon-routed clients cannot span a transaction across requests —
|
|
87
97
|
// BEGIN/COMMIT via execute() is rejected by the daemon SQL guard.
|
|
@@ -236,6 +246,8 @@ async function initDaemonDbClient(fallbackClient) {
|
|
|
236
246
|
export {
|
|
237
247
|
isTransientDaemonTransportError,
|
|
238
248
|
retryOnDaemonTransportError,
|
|
249
|
+
isDaemonRequestTimeout,
|
|
250
|
+
daemonMcpOpError,
|
|
239
251
|
createDaemonDbClient,
|
|
240
252
|
initDaemonDbClient
|
|
241
253
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sendIntercom,
|
|
3
3
|
updateTaskStatus
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LOYK2BRY.js";
|
|
5
5
|
import {
|
|
6
6
|
recordOrchestrationEventBestEffort
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MGFG7V3M.js";
|
|
8
8
|
import {
|
|
9
9
|
BUSY_PATTERN
|
|
10
10
|
} from "./chunk-OSKWCKUC.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
baseAgentName,
|
|
13
13
|
getCoordinatorName,
|
|
14
14
|
isCoordinatorName
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-WOGK3FIE.js";
|
|
16
16
|
|
|
17
17
|
// src/lib/play-mode.ts
|
|
18
18
|
import { readFileSync, writeFileSync, mkdirSync, existsSync } from "fs";
|
|
@@ -305,7 +305,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
|
|
|
305
305
|
const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
|
|
306
306
|
if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
|
|
307
307
|
try {
|
|
308
|
-
const { writeNotification } = await import("./notifications-
|
|
308
|
+
const { writeNotification } = await import("./notifications-YX43A36Z.js");
|
|
309
309
|
await writeNotification({
|
|
310
310
|
agentId: getCoordinatorName(),
|
|
311
311
|
agentRole: "COO",
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-2I23RPSI.js";
|
|
4
4
|
import {
|
|
5
5
|
listBackups
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GXMY5ERQ.js";
|
|
7
7
|
import {
|
|
8
8
|
getEmotionalBaseline,
|
|
9
9
|
renderEmotionalBaselineSection
|
|
@@ -1329,7 +1329,7 @@ async function migrateReflectionDedup(client) {
|
|
|
1329
1329
|
"ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
|
|
1330
1330
|
"migration add memory_reflections.dedup_key"
|
|
1331
1331
|
);
|
|
1332
|
-
const { reflectionDedupKey } = await import("./memory-reflection-
|
|
1332
|
+
const { reflectionDedupKey } = await import("./memory-reflection-5NAOS2OJ.js");
|
|
1333
1333
|
const keyForRow = (row) => {
|
|
1334
1334
|
let sources = [];
|
|
1335
1335
|
try {
|
|
@@ -2109,7 +2109,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
|
|
|
2109
2109
|
const purgeArchived = archDays !== void 0;
|
|
2110
2110
|
const BATCH_SIZE = 2e3;
|
|
2111
2111
|
const MAX_BATCHES = 500;
|
|
2112
|
-
const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-
|
|
2112
|
+
const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-P3PSYW7P.js");
|
|
2113
2113
|
const softCutoff = `-${softDays} days`;
|
|
2114
2114
|
const selectArgsBase = [softCutoff];
|
|
2115
2115
|
let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildSystemStateMemoryTypeExclusion
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LVG5ATTU.js";
|
|
4
4
|
import {
|
|
5
5
|
sessionScopeFilter
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LOYK2BRY.js";
|
|
7
7
|
import {
|
|
8
8
|
getClient,
|
|
9
9
|
getIdentity
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WOGK3FIE.js";
|
|
11
11
|
import {
|
|
12
12
|
getEmotionalBaseline
|
|
13
13
|
} from "./chunk-OMXJMOBD.js";
|
|
@@ -646,7 +646,7 @@ var DreamingEngine = class {
|
|
|
646
646
|
}
|
|
647
647
|
let overdueProspective = [];
|
|
648
648
|
try {
|
|
649
|
-
const { getOverdueProspective, completeProspective } = await import("./prospective-memory-
|
|
649
|
+
const { getOverdueProspective, completeProspective } = await import("./prospective-memory-WQJJB2PS.js");
|
|
650
650
|
const overdue = await getOverdueProspective(agentId);
|
|
651
651
|
overdueProspective = overdue.map((o) => ({
|
|
652
652
|
id: o.id,
|