@askexenow/exe-os 0.9.356 → 0.9.358
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/stack-manifests/v0.9.json +3 -3
- package/dist/{active-agent-LCRV3HVS.js → active-agent-OYZRH6D2.js} +6 -4
- package/dist/{active-agent-PYMOMGQ7.js → active-agent-QQJCFJG4.js} +6 -4
- package/dist/{agentic-ontology-TNKI4FOM.js → agentic-ontology-U5JHQDMG.js} +1 -1
- package/dist/{backfill-metadata-SFS4ARNR.js → backfill-metadata-D25I5HN2.js} +8 -6
- package/dist/{backup-verify-7NLKR4S6.js → backup-verify-ZLU3DBPH.js} +6 -1
- package/dist/{behavior-injection-OT7VX7M6.js → behavior-injection-GVCRBUYW.js} +10 -8
- package/dist/{behaviors-6GW5AFG4.js → behaviors-6B2FZ4KP.js} +9 -7
- package/dist/bin/agentic-ontology-backfill.js +9 -7
- package/dist/bin/agentic-reflection-backfill.js +10 -8
- package/dist/bin/agentic-semantic-label.js +9 -7
- package/dist/bin/backfill-conversations.js +8 -6
- package/dist/bin/backfill-responses.js +8 -6
- package/dist/bin/backfill-vectors.js +9 -7
- package/dist/bin/bulk-sync-postgres.js +14 -12
- package/dist/bin/cc-doctor.js +7 -5
- package/dist/bin/cleanup-stale-review-tasks.js +16 -14
- package/dist/bin/cli.js +19 -19
- package/dist/bin/deferred-daemon-restart.js +74 -72
- package/dist/bin/exe-agent-config.js +5 -3
- package/dist/bin/exe-agent.js +8 -6
- package/dist/bin/exe-assign.js +9 -7
- package/dist/bin/exe-boot.js +62 -28
- package/dist/bin/exe-call.js +8 -6
- package/dist/bin/exe-cloud.js +16 -14
- package/dist/bin/exe-config-dump.js +5 -3
- package/dist/bin/exe-dispatch.js +16 -14
- package/dist/bin/exe-doctor.js +9 -6
- package/dist/bin/exe-export-behaviors.js +11 -9
- package/dist/bin/exe-forget.js +10 -8
- package/dist/bin/exe-gateway.js +10 -8
- package/dist/bin/exe-healthcheck.js +7 -5
- package/dist/bin/exe-heartbeat.js +18 -16
- package/dist/bin/exe-kill.js +20 -18
- package/dist/bin/exe-launch-agent.js +27 -25
- package/dist/bin/exe-memory-reads.js +8 -6
- package/dist/bin/exe-new-employee.js +12 -10
- package/dist/bin/exe-os-mcp-proxy.js +6 -4
- package/dist/bin/exe-pending-messages.js +17 -15
- package/dist/bin/exe-pending-notifications.js +16 -14
- package/dist/bin/exe-pending-reviews.js +16 -14
- package/dist/bin/exe-rename.js +8 -6
- package/dist/bin/exe-review.js +19 -17
- package/dist/bin/exe-search.js +9 -7
- package/dist/bin/exe-session-cleanup.js +20 -18
- package/dist/bin/exe-settings.js +14 -12
- package/dist/bin/exe-start-codex.js +16 -14
- package/dist/bin/exe-start-opencode.js +12 -10
- package/dist/bin/exe-status.js +17 -15
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +6 -4
- package/dist/bin/exe-timers.js +2 -1
- package/dist/bin/git-sweep.js +17 -15
- package/dist/bin/graph-backfill.js +9 -7
- package/dist/bin/graph-export.js +9 -7
- package/dist/bin/import-history.js +12 -10
- package/dist/bin/install.js +76 -74
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +7 -5
- 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/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +16 -14
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +9 -7
- package/dist/bin/stack-update.js +4 -4
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-7ZI7JYGR.js → boot-generation-EA4UCCZN.js} +6 -4
- package/dist/{boot-review-sections-3MSXM6V7.js → boot-review-sections-BBOHRDM3.js} +15 -13
- package/dist/{capability-cards-4RD2SB2K.js → capability-cards-XELC77DF.js} +5 -3
- package/dist/{capacity-monitor-5XUR3JTN.js → capacity-monitor-6FD2LIDV.js} +17 -15
- package/dist/{catchup-brief-AYJWMQUZ.js → catchup-brief-I3YBJXL4.js} +20 -18
- package/dist/{chunk-QXAE6S3A.js → chunk-2NPK6FIV.js} +3 -3
- package/dist/{chunk-YNYISUMW.js → chunk-2X76NMT7.js} +1 -1
- package/dist/{chunk-AWB7M62V.js → chunk-2XYL3ZBJ.js} +4 -4
- package/dist/{chunk-VCKIV5WG.js → chunk-36PGDNMS.js} +2 -2
- package/dist/{chunk-2TL5RKMC.js → chunk-3BAGFZFN.js} +1 -1
- package/dist/{chunk-EWOMZLR6.js → chunk-3I7SENGU.js} +1 -1
- package/dist/{chunk-FWJFKWYA.js → chunk-3M6TUMXM.js} +2 -2
- package/dist/{chunk-IIHFSNL4.js → chunk-5A43OWIJ.js} +1 -1
- package/dist/{chunk-6H4ZEU7P.js → chunk-5SWYRYRO.js} +4 -4
- package/dist/{chunk-TAR5J7WI.js → chunk-5T3VZ2TX.js} +4 -4
- package/dist/{chunk-WJIGSNJM.js → chunk-5TMFK3NT.js} +12 -12
- package/dist/chunk-5YEUPUV4.js +53 -0
- package/dist/{chunk-4VU2VCEU.js → chunk-6VUMFHWB.js} +1 -1
- package/dist/{chunk-X4EDW3FH.js → chunk-6ZUHNYAB.js} +1 -1
- package/dist/{chunk-H4ZSOAP6.js → chunk-72HSYKEQ.js} +1 -1
- package/dist/{chunk-DF5K4JJL.js → chunk-76IW4LIS.js} +3 -3
- package/dist/{chunk-P2Y6S53G.js → chunk-7AWKMYWF.js} +1 -1
- package/dist/{chunk-LDRMNJJJ.js → chunk-7G35SOMT.js} +2 -2
- package/dist/{chunk-A5P2MMII.js → chunk-7GUHIYZ6.js} +2 -2
- package/dist/{chunk-2WWGTOVP.js → chunk-7HFUCBQO.js} +19 -1
- package/dist/{chunk-JZXHLDQN.js → chunk-7KPY52EO.js} +1 -1
- package/dist/{chunk-LLXYWNCH.js → chunk-AXAHRTST.js} +1 -1
- package/dist/{chunk-ZMVVKOOS.js → chunk-AXXGZSW5.js} +7 -7
- package/dist/{chunk-6SAQSXT2.js → chunk-BP5H6ZJA.js} +1 -1
- package/dist/{chunk-EHL4RCND.js → chunk-CYAFF5EP.js} +1 -1
- package/dist/{chunk-H4IZKSOY.js → chunk-E47WQHCT.js} +1 -1
- package/dist/{chunk-QGLAMWQJ.js → chunk-EBOKPLWI.js} +3 -3
- package/dist/{chunk-NT4GET5B.js → chunk-ELGZDMXM.js} +4 -4
- package/dist/{chunk-KT4RUFYO.js → chunk-F25FABZ6.js} +3 -3
- package/dist/{chunk-W3IXTUCL.js → chunk-GXMS5PZR.js} +6 -6
- package/dist/{chunk-4OMIENRX.js → chunk-H3C2LVUB.js} +1 -1
- package/dist/{chunk-JUE37LOD.js → chunk-IEHGR7XU.js} +4 -4
- package/dist/{chunk-UQCYG6EI.js → chunk-INY36ISH.js} +1 -1
- package/dist/{chunk-4GGP4Q5N.js → chunk-IOSM2N3Z.js} +2 -2
- package/dist/{chunk-YSUHXDQU.js → chunk-IR6CEBWC.js} +21 -19
- package/dist/{chunk-XPGUSSG7.js → chunk-J3I5OG4P.js} +1 -1
- package/dist/{chunk-P7EUKYSQ.js → chunk-J4DLB36O.js} +1 -1
- package/dist/{chunk-VPMAC5VB.js → chunk-JXQB7HHZ.js} +1 -1
- package/dist/{chunk-APRVAUOR.js → chunk-JY5GAZYC.js} +1 -0
- package/dist/{chunk-2LM5GO5R.js → chunk-KTM4TODC.js} +5 -5
- package/dist/{chunk-YG4LS7TI.js → chunk-L576MK4B.js} +7 -7
- package/dist/{chunk-XQAELSOQ.js → chunk-L73MPNIB.js} +2 -2
- package/dist/{chunk-RUBXKPOT.js → chunk-LFJPHWHH.js} +1 -1
- package/dist/{chunk-PM4TIRCR.js → chunk-MODZZ52R.js} +1 -1
- package/dist/{chunk-JO6TS75M.js → chunk-MYJJSKE6.js} +1 -1
- package/dist/{chunk-ES6PDSEK.js → chunk-MZ6ZB6SP.js} +8 -8
- package/dist/{chunk-PNTRRXAN.js → chunk-N6XPSEIA.js} +1 -1
- package/dist/{chunk-6CZXY5BD.js → chunk-N7YI2ZRJ.js} +5 -5
- package/dist/{chunk-IO5FR7BZ.js → chunk-NIXTDUOC.js} +3 -3
- package/dist/{chunk-6UTP7AIH.js → chunk-NLDKJJDM.js} +1 -1
- package/dist/{chunk-PUAA3P47.js → chunk-NXZ2RSEO.js} +4 -4
- package/dist/{chunk-W3REQ37P.js → chunk-OFXQO43S.js} +2 -2
- package/dist/{chunk-Z5DTZ464.js → chunk-OIS5VIAH.js} +6 -0
- package/dist/{chunk-Y4JA5V22.js → chunk-OP7M5N5R.js} +1 -1
- package/dist/{chunk-CI3YVCUY.js → chunk-ORPELDVP.js} +1 -1
- package/dist/{chunk-PUNCHUEX.js → chunk-PTOJPD26.js} +3 -3
- package/dist/{chunk-TQ4O5A4S.js → chunk-Q5AFCR57.js} +1 -1
- package/dist/{chunk-6WAJJN5W.js → chunk-QJCFUUSB.js} +3 -3
- package/dist/{chunk-YQ7IZPVC.js → chunk-QQQ4I5IZ.js} +1 -1
- package/dist/{chunk-JKOEOHOD.js → chunk-R7F6HKTH.js} +6 -21
- package/dist/{chunk-CQPFNVWY.js → chunk-RGKB272D.js} +3 -3
- package/dist/{chunk-HAOZB4W6.js → chunk-SCR5Q5PI.js} +1 -1
- package/dist/{chunk-ES4XE6AU.js → chunk-SKTGLMUJ.js} +4 -4
- package/dist/{chunk-AJGTBW3N.js → chunk-SU3GMJT5.js} +1 -1
- package/dist/{chunk-JLXJMDKG.js → chunk-T6V4XURD.js} +1 -1
- package/dist/{chunk-KP3PLOGC.js → chunk-U5KZQP7R.js} +2 -2
- package/dist/{chunk-M5DPPJLS.js → chunk-U7I4YINB.js} +39 -7
- package/dist/{chunk-RZSPCNLY.js → chunk-UBVYDXTU.js} +1 -1
- package/dist/chunk-V3W3SATA.js +135 -0
- package/dist/{chunk-IT4TFJTK.js → chunk-V6QMFX46.js} +3 -3
- package/dist/{chunk-EQQYCP6D.js → chunk-VI4LQLD2.js} +1 -1
- package/dist/{chunk-WHQYVFE2.js → chunk-VIIOEVAF.js} +22 -15
- package/dist/{chunk-WL3CT5KX.js → chunk-VJACZJD2.js} +2 -2
- package/dist/{chunk-X7CWCQ5S.js → chunk-VJRLBE2R.js} +1 -1
- package/dist/{chunk-VU2MZ7BP.js → chunk-VNK3MNZE.js} +40 -3
- package/dist/{chunk-MVYB76QG.js → chunk-VRTCVZND.js} +16 -20
- package/dist/{chunk-LVZZ7YS3.js → chunk-W64WE36F.js} +2 -2
- package/dist/{chunk-7FKC2TIB.js → chunk-WA3ZB6TK.js} +1 -1
- package/dist/{chunk-ZWXSO4FN.js → chunk-WIKYYOHP.js} +9 -9
- package/dist/{chunk-DZNXWCJN.js → chunk-WKHC54KH.js} +1 -1
- package/dist/{chunk-SFSB64NK.js → chunk-WTTCNZ6J.js} +1 -1
- package/dist/{chunk-72GUU6Z4.js → chunk-WXUTAQX2.js} +3 -3
- package/dist/{chunk-OBWTTM7E.js → chunk-YPZTTTFH.js} +2 -2
- package/dist/chunk-YQGMSXT5.js +33 -0
- package/dist/{chunk-5Q2J6P4T.js → chunk-YVCKSEF6.js} +3 -3
- package/dist/{chunk-34MIJGQS.js → chunk-YXWAPO6F.js} +1 -1
- package/dist/{chunk-4KCLB4TY.js → chunk-YXY5AEPG.js} +1 -1
- package/dist/{chunk-ABM3DZF3.js → chunk-ZANQKOBC.js} +1 -1
- package/dist/{chunk-AW3WT3TJ.js → chunk-ZJB26D36.js} +119 -119
- package/dist/{cleanup-graph-garbage-XUNHVCRR.js → cleanup-graph-garbage-5DFMJQTV.js} +10 -8
- package/dist/{cloud-sync-shutdown-JRAERBUO.js → cloud-sync-shutdown-H36HDBZQ.js} +5 -3
- package/dist/{co-activation-5AN2CF23.js → co-activation-GWRPFKYT.js} +5 -3
- package/dist/{co-occurrence-A7E774ZX.js → co-occurrence-TBDCT3EB.js} +8 -6
- package/dist/{conversation-entity-extractor-2XI2GC4N.js → conversation-entity-extractor-CAFZFIDB.js} +3 -3
- package/dist/{crdt-sync-2IUU6GZ6.js → crdt-sync-DE6P7FHB.js} +1 -1
- package/dist/{crm-webhook-BQCP77TI.js → crm-webhook-GXUJOMHX.js} +2 -2
- package/dist/{cto-delegation-gate-UHHNMWCL.js → cto-delegation-gate-EKA7LOY7.js} +15 -13
- package/dist/{daemon-orchestration-7WS3X5DQ.js → daemon-orchestration-WEHBZJW4.js} +20 -19
- package/dist/{daemon-ready-signal-TVCPSG7J.js → daemon-ready-signal-CKXPUMJ2.js} +3 -1
- package/dist/{daemon-restart-report-QDRGKLL6.js → daemon-restart-report-HZU5LWXN.js} +2 -1
- package/dist/{daemon-timer-report-NM44WQRH.js → daemon-timer-report-TNJH5SFY.js} +2 -1
- package/dist/{doc-graph-extractor-NFERAJNP.js → doc-graph-extractor-QCT4CCBN.js} +8 -6
- package/dist/{documents-SW2MJUXY.js → documents-NJRAJKAS.js} +9 -7
- package/dist/{dreaming-KSNJVNFH.js → dreaming-MRNOUJKA.js} +19 -17
- package/dist/{exe-drift-NBLYKQBQ.js → exe-drift-CSOXQU4J.js} +6 -4
- package/dist/{exe-export-44IWTJHL.js → exe-export-ER75RRLD.js} +11 -9
- package/dist/{exe-import-PPECH3KO.js → exe-import-TYTAQ6AY.js} +11 -9
- package/dist/{exe-key-ZCRJQYA7.js → exe-key-HM4FZRL2.js} +77 -72
- package/dist/{exe-snapshot-OVINJ6MC.js → exe-snapshot-NS6PVGJL.js} +20 -18
- package/dist/{fast-db-init-B5Q3SJQG.js → fast-db-init-LRC6RZ6U.js} +1 -1
- package/dist/{founder-context-5OFTZNDO.js → founder-context-K5NWGKX7.js} +2 -2
- package/dist/gateway/index.js +11 -9
- package/dist/{git-staleness-XQJTOSGZ.js → git-staleness-VLVOG2SH.js} +5 -3
- package/dist/{global-procedures-YCJ3JPAP.js → global-procedures-EMTNFAMU.js} +7 -5
- package/dist/{graph-auto-extract-XJN6PQH3.js → graph-auto-extract-56OOJLRB.js} +8 -6
- package/dist/{graph-rag-HCQCZ2W7.js → graph-rag-WUM5JUB7.js} +3 -3
- package/dist/{hook-prefetch-FKXDTCDS.js → hook-prefetch-WQBVWWSD.js} +16 -14
- package/dist/hooks/bug-report-worker.js +18 -16
- package/dist/hooks/codex-stop-task-finalizer.js +19 -17
- package/dist/hooks/commit-complete.js +18 -16
- package/dist/hooks/error-recall.js +10 -8
- package/dist/hooks/exe-heartbeat-hook.js +6 -4
- package/dist/hooks/ingest.js +11 -9
- package/dist/hooks/instructions-loaded.js +7 -5
- package/dist/hooks/manifest.json +19 -19
- package/dist/hooks/notification.js +7 -5
- package/dist/hooks/post-compact.js +17 -15
- package/dist/hooks/post-tool-combined.js +10 -10
- package/dist/hooks/pre-compact.js +18 -16
- package/dist/hooks/pre-tool-use.js +23 -21
- package/dist/hooks/prompt-submit.js +34 -33
- package/dist/hooks/session-end.js +22 -20
- package/dist/hooks/session-start.js +13 -13
- package/dist/hooks/stop.js +21 -19
- package/dist/hooks/subagent-stop.js +19 -17
- package/dist/hooks/summary-worker.js +22 -25
- package/dist/index.js +25 -23
- package/dist/{installer-YSCUE6MT.js → installer-KBOFELYW.js} +8 -6
- package/dist/{installer-YTT5OSRL.js → installer-UDRUKMVA.js} +8 -6
- package/dist/{installer-G3DVMNC6.js → installer-VZYXKVLO.js} +8 -6
- package/dist/{intercom-queue-5D52JF3Q.js → intercom-queue-QWUEMESK.js} +15 -13
- package/dist/lib/cloud-sync.js +14 -12
- package/dist/lib/consolidation.js +10 -8
- package/dist/lib/database.js +9 -3
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-checkpoint-worker.js +4 -0
- package/dist/lib/db-daemon-client.js +3 -1
- package/dist/lib/db-read-worker.js +4 -0
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +9 -3
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +8 -6
- package/dist/lib/employees.js +5 -3
- package/dist/lib/exe-daemon.js +202 -93
- package/dist/lib/hybrid-search.js +9 -7
- package/dist/lib/identity.js +5 -3
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +16 -14
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +6 -4
- package/dist/lib/schedules.js +9 -7
- package/dist/lib/session-registry.js +7 -5
- package/dist/lib/skill-learning.js +10 -8
- package/dist/lib/store.js +8 -6
- package/dist/lib/task-router.js +6 -4
- package/dist/lib/tasks.js +17 -15
- package/dist/lib/tmux-routing.js +15 -13
- package/dist/lib/token-spend.js +8 -4
- package/dist/{license-gate-DKYHCAMN.js → license-gate-4FBFBGOS.js} +3 -3
- package/dist/{license-sync-JVEXPDHN.js → license-sync-PES4GIXL.js} +2 -2
- package/dist/mcp/register-tools.js +73 -71
- package/dist/mcp/server.js +74 -72
- package/dist/mcp/tools/complete-reminder.js +7 -5
- package/dist/mcp/tools/create-reminder.js +7 -5
- package/dist/mcp/tools/create-task.js +19 -17
- package/dist/mcp/tools/deactivate-behavior.js +11 -9
- package/dist/mcp/tools/list-reminders.js +7 -5
- package/dist/mcp/tools/list-tasks.js +19 -17
- package/dist/mcp/tools/send-message.js +18 -16
- package/dist/mcp/tools/update-task.js +18 -16
- package/dist/{mcp-health-WDOB6XUB.js → mcp-health-HNVSWKFA.js} +6 -1
- package/dist/{mcp-http-config-L5RDDU6P.js → mcp-http-config-SL43BGFQ.js} +6 -4
- package/dist/{mcp-session-identity-S6UCHBER.js → mcp-session-identity-G2NSIUWR.js} +15 -13
- package/dist/{memory-cards-65RGFT5M.js → memory-cards-GOSSB6QK.js} +8 -6
- package/dist/{memory-graph-extractor-ZDZ5VQUX.js → memory-graph-extractor-5S6AVC5L.js} +9 -7
- package/dist/{memory-poisoning-defense-EQUQNXRE.js → memory-poisoning-defense-6KFJEDCT.js} +5 -3
- package/dist/{memory-pressure-watchdog-CC344JBH.js → memory-pressure-watchdog-7BOUNASS.js} +16 -14
- package/dist/{memory-reflection-Q4OT4V55.js → memory-reflection-LIILYJAS.js} +5 -3
- package/dist/{notification-ledger-GL3ZPZNR.js → notification-ledger-54CAO4AS.js} +16 -14
- package/dist/{notifications-FGYNO2FY.js → notifications-MCJFLBAO.js} +15 -13
- package/dist/{orchestration-events-N5FQ4SKU.js → orchestration-events-SHRMUOV7.js} +6 -4
- package/dist/{orchestrator-XUJDK4EW.js → orchestrator-RVUAGQV6.js} +17 -15
- package/dist/{pipeline-router-YQOZ4M62.js → pipeline-router-CWB6QZ5E.js} +6 -4
- package/dist/{plan-limits-VBHKYKSK.js → plan-limits-APRN2I6H.js} +8 -6
- package/dist/{platform-procedures-F3XB6WWM.js → platform-procedures-2VQGBJU7.js} +1 -1
- package/dist/{projection-worker-NJUNGEXE.js → projection-worker-ECMC4XKX.js} +2 -2
- package/dist/{prospective-memory-3MKUPDVI.js → prospective-memory-ZLMPXBGE.js} +5 -3
- package/dist/{reranker-LGSIL6TX.js → reranker-TLECHHQH.js} +1 -1
- package/dist/{retrieval-health-AEEQ5IO6.js → retrieval-health-K4EPRPJU.js} +1 -1
- package/dist/{review-polling-2RMEZ5QO.js → review-polling-6NYH7IO2.js} +16 -14
- package/dist/runtime/index.js +19 -17
- package/dist/{session-events-5XSYCV4I.js → session-events-RL7JNGJK.js} +16 -14
- package/dist/{session-kill-telemetry-QJUHG3IG.js → session-kill-telemetry-IV4BFLSS.js} +16 -14
- package/dist/{session-scope-LIJ746K2.js → session-scope-ISVYSAC2.js} +15 -13
- package/dist/{setup-wizard-RLUCGGA7.js → setup-wizard-OQB6FMJM.js} +1 -1
- package/dist/{shard-manager-3L2NMJVJ.js → shard-manager-DFLCDZT5.js} +2 -1
- package/dist/{skill-refinement-FMN3WFSG.js → skill-refinement-7SANCL3P.js} +6 -4
- package/dist/{stack-promote-BGDGAYKG.js → stack-promote-I7H727IS.js} +29 -4
- package/dist/{stack-release-SOIHMI3I.js → stack-release-6I7GGSC7.js} +4 -4
- package/dist/{stack-update-AXFHJRK5.js → stack-update-2ZV6MBXF.js} +3 -3
- package/dist/{steward-gate-R2XWABMV.js → steward-gate-SW4UYGIH.js} +6 -4
- package/dist/{support-inbox-IITW66TG.js → support-inbox-OX3VJ2OF.js} +3 -3
- package/dist/{task-enforcement-SFZGBY27.js → task-enforcement-VLGRGIKW.js} +16 -14
- package/dist/{task-scope-74ZIFQRH.js → task-scope-NTANJZPS.js} +15 -13
- package/dist/{tasks-crud-N54JZCXU.js → tasks-crud-FDCGFA72.js} +15 -13
- package/dist/{tasks-notify-62IJZW55.js → tasks-notify-GGN2HRFW.js} +16 -14
- package/dist/{tasks-review-3LHBE6ZJ.js → tasks-review-KFUKHWMF.js} +15 -13
- package/dist/{telemetry-upload-HR3QIWZV.js → telemetry-upload-GFEOMNUY.js} +10 -8
- package/dist/{token-budget-DBXHLCMN.js → token-budget-TJJV6ZCC.js} +6 -4
- package/dist/{tool-telemetry-UFUTCNE3.js → tool-telemetry-EH6SIQHX.js} +1 -1
- package/dist/tui/App.js +24 -22
- package/dist/{tui-data-BPXEJKRQ.js → tui-data-W4M3MMLG.js} +15 -13
- package/dist/{update-support-HLZ7KMVM.js → update-support-67ADNRYC.js} +12 -10
- package/dist/{work-state-heartbeat-IQI3LCHN.js → work-state-heartbeat-34V6UFHR.js} +1 -1
- package/dist/{worker-gate-5ABYGLC2.js → worker-gate-7EXQ46BV.js} +1 -1
- package/dist/{workflow-engine-XSUWZK6I.js → workflow-engine-IK6SIMT5.js} +2 -2
- package/dist/{worktree-EUYBBABA.js → worktree-HRX5BSXT.js} +7 -5
- package/dist/{worktree-sweep-LSKFA2PK.js → worktree-sweep-W24XZKQO.js} +8 -6
- package/package.json +2 -1
- package/release-notes.json +29 -30
- package/dist/chunk-7HLWBYH7.js +0 -60
- /package/dist/{chunk-AK77MITT.js → chunk-4QDO2KT4.js} +0 -0
- /package/dist/{chunk-HABPXFHZ.js → chunk-B2F5BZJA.js} +0 -0
- /package/dist/{chunk-A627QFOE.js → chunk-BH2X3N6S.js} +0 -0
- /package/dist/{chunk-2267TRAO.js → chunk-CCQ3VCK2.js} +0 -0
- /package/dist/{chunk-IHKRHGKT.js → chunk-F766HECM.js} +0 -0
- /package/dist/{chunk-7GOSAV25.js → chunk-L6GEKT6M.js} +0 -0
- /package/dist/{chunk-GVU3BW6N.js → chunk-MZXYP2YA.js} +0 -0
- /package/dist/{chunk-HMBMHZ3S.js → chunk-UURVJW2K.js} +0 -0
- /package/dist/{chunk-VML2UQK7.js → chunk-ZOFI53LD.js} +0 -0
- /package/dist/{chunk-G2MXTLOD.js → chunk-ZP3224K3.js} +0 -0
- /package/dist/{core-memory-KXE4QMOA.js → core-memory-P7YBDZGM.js} +0 -0
- /package/dist/{memory-isolation-VSKUKTN4.js → memory-isolation-A4CRGWRS.js} +0 -0
- /package/dist/{oauth-server-JELOVN5D.js → oauth-server-MM4VE2YN.js} +0 -0
- /package/dist/{project-boot-LQ4CF6BI.js → project-boot-PT5HJT7E.js} +0 -0
- /package/dist/{wiki-acl-VR4AFJ3T.js → wiki-acl-SD3DF4IP.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WORK_STATE_HEARTBEAT_TOOL
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-F766HECM.js";
|
|
4
4
|
import {
|
|
5
5
|
extractKeywords,
|
|
6
6
|
keywordsToString
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
findScopedDuplicate,
|
|
13
13
|
governMemoryRecord,
|
|
14
14
|
schedulePostWriteMemoryHygiene
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ZOFI53LD.js";
|
|
16
16
|
import {
|
|
17
17
|
orgBus
|
|
18
18
|
} from "./chunk-MP2AFCGL.js";
|
|
@@ -21,11 +21,15 @@ import {
|
|
|
21
21
|
ensureSchema,
|
|
22
22
|
getClient,
|
|
23
23
|
initPostgresOnlyDatabase,
|
|
24
|
-
initTurso
|
|
25
|
-
|
|
24
|
+
initTurso,
|
|
25
|
+
isDaemonRoutingActive
|
|
26
|
+
} from "./chunk-U7I4YINB.js";
|
|
26
27
|
import {
|
|
27
28
|
isPostgresBackendEnabled
|
|
28
29
|
} from "./chunk-YMUZWC33.js";
|
|
30
|
+
import {
|
|
31
|
+
directWriterAllowed
|
|
32
|
+
} from "./chunk-V3W3SATA.js";
|
|
29
33
|
import {
|
|
30
34
|
EMBEDDING_DIM
|
|
31
35
|
} from "./chunk-FXU7JOXK.js";
|
|
@@ -78,7 +82,7 @@ function recordShardFailure(project, error) {
|
|
|
78
82
|
`[store] Shard circuit OPEN for "${project}" after ${state.failures} consecutive failures. Will retry in ${SHARD_CB_COOLDOWN_MS / 6e4}min. Last error: ${error}
|
|
79
83
|
`
|
|
80
84
|
);
|
|
81
|
-
void import("./orchestration-events-
|
|
85
|
+
void import("./orchestration-events-SHRMUOV7.js").then(({ recordOrchestrationEventBestEffort }) => {
|
|
82
86
|
recordOrchestrationEventBestEffort({
|
|
83
87
|
eventType: "shard.circuit_open",
|
|
84
88
|
source: "store.recordShardFailure",
|
|
@@ -156,17 +160,20 @@ async function initStore(options) {
|
|
|
156
160
|
dbPath,
|
|
157
161
|
encryptionKey: hexKey
|
|
158
162
|
});
|
|
159
|
-
await retryOnBusy(() => ensureSchema(), "ensureSchema");
|
|
160
163
|
try {
|
|
161
164
|
const { initDaemonClient } = await import("./lib/database.js");
|
|
162
165
|
await initDaemonClient();
|
|
163
166
|
} catch (e) {
|
|
164
167
|
logStoreWarn("catch", e);
|
|
165
168
|
}
|
|
169
|
+
const mayWriteSchemaDirectly = !isDaemonRoutingActive() && process.env.EXE_MCP_MODE !== "1" && await directWriterAllowed();
|
|
170
|
+
if (mayWriteSchemaDirectly) {
|
|
171
|
+
await retryOnBusy(() => ensureSchema(), "ensureSchema");
|
|
172
|
+
}
|
|
166
173
|
if (!options?.lightweight) {
|
|
167
174
|
try {
|
|
168
175
|
if (process.env.EXE_DISABLE_SHARDING !== "1") {
|
|
169
|
-
const { initShardManager } = await import("./shard-manager-
|
|
176
|
+
const { initShardManager } = await import("./shard-manager-DFLCDZT5.js");
|
|
170
177
|
initShardManager(hexKey);
|
|
171
178
|
}
|
|
172
179
|
} catch (e) {
|
|
@@ -179,7 +186,7 @@ async function initStore(options) {
|
|
|
179
186
|
);
|
|
180
187
|
_nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
|
|
181
188
|
try {
|
|
182
|
-
const { loadGlobalProcedures } = await import("./global-procedures-
|
|
189
|
+
const { loadGlobalProcedures } = await import("./global-procedures-EMTNFAMU.js");
|
|
183
190
|
await loadGlobalProcedures();
|
|
184
191
|
} catch (e) {
|
|
185
192
|
logStoreWarn("catch", e);
|
|
@@ -307,7 +314,7 @@ async function writeMemory(record) {
|
|
|
307
314
|
founder_id: record.founder_id ?? null
|
|
308
315
|
};
|
|
309
316
|
try {
|
|
310
|
-
const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-
|
|
317
|
+
const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-6KFJEDCT.js");
|
|
311
318
|
const poisonResult = await checkMemoryPoisoning({
|
|
312
319
|
memoryId: dbRow.id,
|
|
313
320
|
vector: Array.isArray(dbRow.vector) ? dbRow.vector : void 0,
|
|
@@ -506,19 +513,19 @@ async function flushBatch() {
|
|
|
506
513
|
_nextVersion = baseVersion;
|
|
507
514
|
if (insertedBatch.length > 0) {
|
|
508
515
|
try {
|
|
509
|
-
const { insertMemoryCardsForBatch } = await import("./memory-cards-
|
|
516
|
+
const { insertMemoryCardsForBatch } = await import("./memory-cards-GOSSB6QK.js");
|
|
510
517
|
await insertMemoryCardsForBatch(insertedBatch);
|
|
511
518
|
} catch (e) {
|
|
512
519
|
logStoreWarn("catch", e);
|
|
513
520
|
}
|
|
514
521
|
try {
|
|
515
|
-
const { insertOntologyForBatch } = await import("./agentic-ontology-
|
|
522
|
+
const { insertOntologyForBatch } = await import("./agentic-ontology-U5JHQDMG.js");
|
|
516
523
|
await insertOntologyForBatch(insertedBatch);
|
|
517
524
|
} catch (e) {
|
|
518
525
|
logStoreWarn("catch", e);
|
|
519
526
|
}
|
|
520
527
|
try {
|
|
521
|
-
const { extractGraphForBatch } = await import("./memory-graph-extractor-
|
|
528
|
+
const { extractGraphForBatch } = await import("./memory-graph-extractor-5S6AVC5L.js");
|
|
522
529
|
await extractGraphForBatch(insertedBatch);
|
|
523
530
|
} catch (e) {
|
|
524
531
|
logStoreWarn("catch", e);
|
|
@@ -527,7 +534,7 @@ async function flushBatch() {
|
|
|
527
534
|
schedulePostWriteMemoryHygiene(insertedBatch.map((row) => row.id));
|
|
528
535
|
_pendingRecords.splice(0, batch.length);
|
|
529
536
|
try {
|
|
530
|
-
const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-
|
|
537
|
+
const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-DFLCDZT5.js");
|
|
531
538
|
if (process.env.EXE_DISABLE_SHARDING !== "1" && isShardingEnabled()) {
|
|
532
539
|
const byProject = /* @__PURE__ */ new Map();
|
|
533
540
|
let skippedUnknown = 0;
|
|
@@ -619,7 +626,7 @@ async function searchMemories(queryVector, agentId, options) {
|
|
|
619
626
|
let client;
|
|
620
627
|
let isMainDb = true;
|
|
621
628
|
try {
|
|
622
|
-
const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-
|
|
629
|
+
const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-DFLCDZT5.js");
|
|
623
630
|
if (isShardingEnabled() && options?.projectName && shardExists(options.projectName)) {
|
|
624
631
|
client = await getReadyShardClient(options.projectName);
|
|
625
632
|
isMainDb = false;
|
|
@@ -658,7 +665,7 @@ async function searchMemories(queryVector, agentId, options) {
|
|
|
658
665
|
args.push(activeEmbeddingModel);
|
|
659
666
|
}
|
|
660
667
|
try {
|
|
661
|
-
const { founderScopeFilter } = await import("./founder-context-
|
|
668
|
+
const { founderScopeFilter } = await import("./founder-context-K5NWGKX7.js");
|
|
662
669
|
const founderFilter = founderScopeFilter(options?.founderId);
|
|
663
670
|
sql += founderFilter.sql;
|
|
664
671
|
args.push(...founderFilter.args.filter((a) => a !== null));
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
buildClaudeHttpMcpEntry,
|
|
11
11
|
buildClaudeStdioProxyMcpEntry
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YXWAPO6F.js";
|
|
13
13
|
import {
|
|
14
14
|
ensureAllAgentSymlinks
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VJRLBE2R.js";
|
|
16
16
|
import {
|
|
17
17
|
MCP_LEGACY_KEY,
|
|
18
18
|
MCP_PRIMARY_KEY
|
|
@@ -7,6 +7,9 @@ import {
|
|
|
7
7
|
isClientConnected,
|
|
8
8
|
sendDaemonRequest
|
|
9
9
|
} from "./chunk-W6UB2AWP.js";
|
|
10
|
+
import {
|
|
11
|
+
directWriterAllowed
|
|
12
|
+
} from "./chunk-V3W3SATA.js";
|
|
10
13
|
|
|
11
14
|
// src/lib/db-daemon-client.ts
|
|
12
15
|
function normalizeStatement(stmt) {
|
|
@@ -92,6 +95,9 @@ function createDaemonDbClient(fallbackClient) {
|
|
|
92
95
|
return false;
|
|
93
96
|
}
|
|
94
97
|
const unavailableForMcp = (errMsg) => daemonMcpOpError(errMsg);
|
|
98
|
+
const daemonAliveNoWriterError = (context) => new Error(
|
|
99
|
+
`Daemon is alive but its socket was unavailable for a ${context}; refusing a direct SQLite WRITER fallback to preserve the single-writer gate (bug 4a6f8aaf). Retry \u2014 the daemon socket typically re-handshakes within a moment.`
|
|
100
|
+
);
|
|
95
101
|
const client = {
|
|
96
102
|
// Daemon-routed clients cannot span a transaction across requests —
|
|
97
103
|
// BEGIN/COMMIT via execute() is rejected by the daemon SQL guard.
|
|
@@ -103,6 +109,10 @@ function createDaemonDbClient(fallbackClient) {
|
|
|
103
109
|
const daemonReady = await ensureDaemonRoute();
|
|
104
110
|
if (!daemonReady) {
|
|
105
111
|
if (isMcpProcess()) throw unavailableForMcp();
|
|
112
|
+
const stmtSql = typeof stmt === "string" ? stmt : stmt.sql;
|
|
113
|
+
if (!isReadOnlySql(stmtSql) && !await directWriterAllowed()) {
|
|
114
|
+
throw daemonAliveNoWriterError("direct DB write");
|
|
115
|
+
}
|
|
106
116
|
return fallbackClient.execute(stmt);
|
|
107
117
|
}
|
|
108
118
|
const { sql, args } = normalizeStatement(stmt);
|
|
@@ -146,6 +156,12 @@ function createDaemonDbClient(fallbackClient) {
|
|
|
146
156
|
const daemonReady = await ensureDaemonRoute();
|
|
147
157
|
if (!daemonReady) {
|
|
148
158
|
if (isMcpProcess()) throw unavailableForMcp();
|
|
159
|
+
const readOnlyBatch = stmts.every(
|
|
160
|
+
(s) => isReadOnlySql(typeof s === "string" ? s : s.sql)
|
|
161
|
+
);
|
|
162
|
+
if (!readOnlyBatch && !await directWriterAllowed()) {
|
|
163
|
+
throw daemonAliveNoWriterError("direct DB batch write");
|
|
164
|
+
}
|
|
149
165
|
return fallbackClient.batch(stmts, mode);
|
|
150
166
|
}
|
|
151
167
|
const statements = stmts.map(normalizeStatement);
|
|
@@ -192,16 +208,37 @@ function createDaemonDbClient(fallbackClient) {
|
|
|
192
208
|
process.stderr.write("[db-daemon] Unexpected batch response shape, falling back to direct\n");
|
|
193
209
|
return fallbackClient.batch(stmts, mode);
|
|
194
210
|
},
|
|
195
|
-
// Transaction support —
|
|
211
|
+
// Transaction support — needs a direct connection. Single-writer gate (bug
|
|
212
|
+
// 4a6f8aaf / df26c896, ADR-016): these escape hatches must NOT open a direct
|
|
213
|
+
// WRITER while the daemon holds writer authority (including the boot window —
|
|
214
|
+
// an alive-but-slow daemon), or an external CLI holding this client could
|
|
215
|
+
// corrupt FTS5 under the live daemon. Authority is the STRONG async
|
|
216
|
+
// directWriterAllowed() (isDaemonWriterAuthority), not a stale sync flag. Fail
|
|
217
|
+
// closed exactly like execute()/batch(); daemonless / EXE_DB_DIRECT keep direct
|
|
218
|
+
// access. Multi-statement writes should use batch() (atomic, daemon-side).
|
|
219
|
+
// S1 (df26c896): an MCP process is refused UNCONDITIONALLY — even during a
|
|
220
|
+
// daemon outage (directWriterAllowed() === true) — mirroring execute()/batch().
|
|
221
|
+
// Otherwise N MCP agents in an outage could each open a direct writer and race
|
|
222
|
+
// FTS5. MCP work always funnels through the daemon; it never writes directly.
|
|
196
223
|
async transaction(mode) {
|
|
224
|
+
if (isMcpProcess()) throw unavailableForMcp("direct DB transaction");
|
|
225
|
+
if (!await directWriterAllowed()) throw daemonAliveNoWriterError("direct DB transaction");
|
|
197
226
|
return fallbackClient.transaction(mode);
|
|
198
227
|
},
|
|
199
|
-
// executeMultiple — delegate to fallback (used only for schema migrations)
|
|
228
|
+
// executeMultiple — delegate to fallback (used only for schema migrations).
|
|
229
|
+
// Same single-writer gate: DDL via a second direct writer is refused while
|
|
230
|
+
// the daemon holds writer authority. Schema is the daemon's responsibility
|
|
231
|
+
// (its own boot ensureSchema). S1: MCP refused unconditionally (see above).
|
|
200
232
|
async executeMultiple(sql) {
|
|
233
|
+
if (isMcpProcess()) throw unavailableForMcp("direct DB executeMultiple");
|
|
234
|
+
if (!await directWriterAllowed()) throw daemonAliveNoWriterError("direct DB executeMultiple");
|
|
201
235
|
return fallbackClient.executeMultiple(sql);
|
|
202
236
|
},
|
|
203
|
-
// migrate — delegate to fallback
|
|
237
|
+
// migrate — delegate to fallback. Same single-writer gate. S1: MCP refused
|
|
238
|
+
// unconditionally (see transaction()).
|
|
204
239
|
async migrate(stmts) {
|
|
240
|
+
if (isMcpProcess()) throw unavailableForMcp("direct DB migrate");
|
|
241
|
+
if (!await directWriterAllowed()) throw daemonAliveNoWriterError("direct DB migrate");
|
|
205
242
|
return fallbackClient.migrate(stmts);
|
|
206
243
|
},
|
|
207
244
|
// Sync mode — delegate to fallback
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SUSPEND_CLUSTER_MIN_MS,
|
|
3
|
+
SUSPEND_CLUSTER_MIN_TIMERS,
|
|
4
|
+
SUSPEND_CLUSTER_WINDOW_MS,
|
|
5
|
+
findTimerWakeClusterArtifacts
|
|
6
|
+
} from "./chunk-YQGMSXT5.js";
|
|
7
|
+
|
|
1
8
|
// src/lib/daemon-timer-report.ts
|
|
2
9
|
import { existsSync, readFileSync, statSync, openSync, readSync, closeSync } from "fs";
|
|
3
10
|
import path from "path";
|
|
@@ -5,9 +12,9 @@ import os from "os";
|
|
|
5
12
|
var TIMER_SLOW_THRESHOLD_MS = 500;
|
|
6
13
|
var TIMER_BLOCK_THRESHOLD_MS = 1e4;
|
|
7
14
|
var TIMER_SEVERE_MS = 5e3;
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
15
|
+
var SUSPEND_CLUSTER_MIN_MS2 = SUSPEND_CLUSTER_MIN_MS;
|
|
16
|
+
var SUSPEND_CLUSTER_WINDOW_MS2 = SUSPEND_CLUSTER_WINDOW_MS;
|
|
17
|
+
var SUSPEND_CLUSTER_MIN_TIMERS2 = SUSPEND_CLUSTER_MIN_TIMERS;
|
|
11
18
|
function logDir() {
|
|
12
19
|
return path.join(os.homedir(), ".exe-os", "logs");
|
|
13
20
|
}
|
|
@@ -122,22 +129,11 @@ function buildTimerReport(opts = {}) {
|
|
|
122
129
|
const candidates = [];
|
|
123
130
|
for (const [timer, samples] of samplesByTimer) {
|
|
124
131
|
for (const s of samples) {
|
|
125
|
-
|
|
126
|
-
candidates.push({ timer, sample: s });
|
|
127
|
-
}
|
|
132
|
+
candidates.push({ timer, durationMs: s.durationMs, atMs: s.atMs, sample: s });
|
|
128
133
|
}
|
|
129
134
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
for (let end = 0; end < candidates.length; end++) {
|
|
133
|
-
while (candidates[end].sample.atMs - candidates[start].sample.atMs > SUSPEND_CLUSTER_WINDOW_MS) {
|
|
134
|
-
start++;
|
|
135
|
-
}
|
|
136
|
-
const window = candidates.slice(start, end + 1);
|
|
137
|
-
const distinct = new Set(window.map((c) => c.timer));
|
|
138
|
-
if (distinct.size >= SUSPEND_CLUSTER_MIN_TIMERS) {
|
|
139
|
-
for (const c of window) suspendArtifacts.add(c.sample);
|
|
140
|
-
}
|
|
135
|
+
for (const c of findTimerWakeClusterArtifacts(candidates)) {
|
|
136
|
+
suspendArtifacts.add(c.sample);
|
|
141
137
|
}
|
|
142
138
|
for (const [timer, samples] of samplesByTimer) {
|
|
143
139
|
const clean = samples.filter((s) => !suspendArtifacts.has(s));
|
|
@@ -331,9 +327,9 @@ export {
|
|
|
331
327
|
TIMER_SLOW_THRESHOLD_MS,
|
|
332
328
|
TIMER_BLOCK_THRESHOLD_MS,
|
|
333
329
|
TIMER_SEVERE_MS,
|
|
334
|
-
SUSPEND_CLUSTER_MIN_MS,
|
|
335
|
-
SUSPEND_CLUSTER_WINDOW_MS,
|
|
336
|
-
SUSPEND_CLUSTER_MIN_TIMERS,
|
|
330
|
+
SUSPEND_CLUSTER_MIN_MS2 as SUSPEND_CLUSTER_MIN_MS,
|
|
331
|
+
SUSPEND_CLUSTER_WINDOW_MS2 as SUSPEND_CLUSTER_WINDOW_MS,
|
|
332
|
+
SUSPEND_CLUSTER_MIN_TIMERS2 as SUSPEND_CLUSTER_MIN_TIMERS,
|
|
337
333
|
buildTimerReport,
|
|
338
334
|
fetchInFlightTimers,
|
|
339
335
|
buildLiveTimerReport,
|
|
@@ -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-F766HECM.js";
|
|
11
11
|
import {
|
|
12
12
|
hashMemoryContent
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZOFI53LD.js";
|
|
14
14
|
|
|
15
15
|
// src/lib/graph-rag.ts
|
|
16
16
|
import crypto from "crypto";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
buildSystemStateExclusionFilter,
|
|
12
12
|
buildWikiScopeFilter,
|
|
13
13
|
searchMemories
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VIIOEVAF.js";
|
|
15
15
|
import {
|
|
16
16
|
blobToVector
|
|
17
17
|
} from "./chunk-OTVEIJUQ.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
} from "./chunk-GJV3WDWM.js";
|
|
25
25
|
import {
|
|
26
26
|
getClient
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-U7I4YINB.js";
|
|
28
28
|
|
|
29
29
|
// src/lib/memory-reads.ts
|
|
30
30
|
import crypto from "crypto";
|
|
@@ -566,7 +566,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
566
566
|
let rerankerAvailable = false;
|
|
567
567
|
if (process.env.EXE_IS_DAEMON === "1") {
|
|
568
568
|
try {
|
|
569
|
-
const { isRerankerAvailable } = await import("./reranker-
|
|
569
|
+
const { isRerankerAvailable } = await import("./reranker-TLECHHQH.js");
|
|
570
570
|
rerankerAvailable = isRerankerAvailable();
|
|
571
571
|
} catch {
|
|
572
572
|
}
|
|
@@ -635,7 +635,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
635
635
|
]).catch(() => []),
|
|
636
636
|
includeStructuredCards ? (async () => {
|
|
637
637
|
try {
|
|
638
|
-
const { searchMemoryCards } = await import("./memory-cards-
|
|
638
|
+
const { searchMemoryCards } = await import("./memory-cards-GOSSB6QK.js");
|
|
639
639
|
return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
|
|
640
640
|
} catch {
|
|
641
641
|
return [];
|
|
@@ -644,7 +644,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
644
644
|
// Reflection insights: patterns, contradictions, summaries across sessions
|
|
645
645
|
includeStructuredCards ? (async () => {
|
|
646
646
|
try {
|
|
647
|
-
const { searchReflections } = await import("./memory-reflection-
|
|
647
|
+
const { searchReflections } = await import("./memory-reflection-LIILYJAS.js");
|
|
648
648
|
const insights = await searchReflections(effectiveQuery, agentId, 5, {
|
|
649
649
|
includeArchived: options?.includeArchived
|
|
650
650
|
});
|
|
@@ -769,7 +769,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
769
769
|
try {
|
|
770
770
|
let rerankedRecords;
|
|
771
771
|
if (graphContextMap.size > 0) {
|
|
772
|
-
const { rerankWithContext } = await import("./reranker-
|
|
772
|
+
const { rerankWithContext } = await import("./reranker-TLECHHQH.js");
|
|
773
773
|
const candidates = merged.map((m) => ({
|
|
774
774
|
text: m.raw_text,
|
|
775
775
|
context: graphContextMap.get(m.id)
|
|
@@ -777,7 +777,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
777
777
|
const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
|
|
778
778
|
rerankedRecords = scored.map((s) => merged[s.index]);
|
|
779
779
|
} else {
|
|
780
|
-
const { rerank } = await import("./reranker-
|
|
780
|
+
const { rerank } = await import("./reranker-TLECHHQH.js");
|
|
781
781
|
rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
|
|
782
782
|
}
|
|
783
783
|
if (rerankedRecords.length > 0) {
|
|
@@ -1191,7 +1191,7 @@ async function lightweightSearch(queryText, agentId, options) {
|
|
|
1191
1191
|
}
|
|
1192
1192
|
if (results.length >= 2) {
|
|
1193
1193
|
try {
|
|
1194
|
-
const { recordCoActivations } = await import("./co-activation-
|
|
1194
|
+
const { recordCoActivations } = await import("./co-activation-GWRPFKYT.js");
|
|
1195
1195
|
const ids = results.slice(0, 10).map((r) => r.id);
|
|
1196
1196
|
void recordCoActivations(ids).catch((e) => {
|
|
1197
1197
|
try {
|
|
@@ -1207,7 +1207,7 @@ async function lightweightSearch(queryText, agentId, options) {
|
|
|
1207
1207
|
}
|
|
1208
1208
|
if (options?.includeStructuredCards !== true) return results;
|
|
1209
1209
|
try {
|
|
1210
|
-
const { searchMemoryCards } = await import("./memory-cards-
|
|
1210
|
+
const { searchMemoryCards } = await import("./memory-cards-GOSSB6QK.js");
|
|
1211
1211
|
const cardResults = await searchMemoryCards(queryText, agentId, options);
|
|
1212
1212
|
if (cardResults.length > 0) {
|
|
1213
1213
|
return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U7I4YINB.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/pipeline-router.ts
|
|
6
6
|
import crypto from "crypto";
|
|
@@ -140,8 +140,8 @@ Agent response: ${agentResponse}` : ""
|
|
|
140
140
|
}
|
|
141
141
|
async function sinkEntityExtraction(msg, agentResponse, agentName) {
|
|
142
142
|
try {
|
|
143
|
-
const { extractFromConversation } = await import("./conversation-entity-extractor-
|
|
144
|
-
const { storeExtraction } = await import("./graph-rag-
|
|
143
|
+
const { extractFromConversation } = await import("./conversation-entity-extractor-CAFZFIDB.js");
|
|
144
|
+
const { storeExtraction } = await import("./graph-rag-WUM5JUB7.js");
|
|
145
145
|
if ((msg.text?.length ?? 0) < 20) return false;
|
|
146
146
|
if (msg.isHistorical) return false;
|
|
147
147
|
const extraction = await extractFromConversation(msg, agentResponse, agentName);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ingest
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WXUTAQX2.js";
|
|
4
4
|
import {
|
|
5
5
|
listWorkflowDefinitions,
|
|
6
6
|
runWorkflow,
|
|
7
7
|
startWorkflow
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-72HSYKEQ.js";
|
|
9
9
|
import {
|
|
10
10
|
initCRMBridge
|
|
11
11
|
} from "./chunk-ML4S5SHZ.js";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/lib/daemon-sleep-filter.ts
|
|
2
|
+
var SUSPEND_CLUSTER_MIN_MS = 6e4;
|
|
3
|
+
var SUSPEND_CLUSTER_WINDOW_MS = 2e3;
|
|
4
|
+
var SUSPEND_CLUSTER_MIN_TIMERS = 2;
|
|
5
|
+
function findTimerWakeClusterArtifacts(samples) {
|
|
6
|
+
const candidates = [...samples].filter((sample) => sample.atMs !== null && sample.durationMs >= SUSPEND_CLUSTER_MIN_MS).sort((a, b) => a.atMs - b.atMs);
|
|
7
|
+
const suspendArtifacts = /* @__PURE__ */ new Set();
|
|
8
|
+
let start = 0;
|
|
9
|
+
for (let end = 0; end < candidates.length; end++) {
|
|
10
|
+
while (candidates[end].atMs - candidates[start].atMs > SUSPEND_CLUSTER_WINDOW_MS) {
|
|
11
|
+
start++;
|
|
12
|
+
}
|
|
13
|
+
const window = candidates.slice(start, end + 1);
|
|
14
|
+
const distinctTimers = new Set(window.map((sample) => sample.timer));
|
|
15
|
+
if (distinctTimers.size >= SUSPEND_CLUSTER_MIN_TIMERS) {
|
|
16
|
+
for (const sample of window) suspendArtifacts.add(sample);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return suspendArtifacts;
|
|
20
|
+
}
|
|
21
|
+
function filterTimerWakeClusterArtifacts(samples) {
|
|
22
|
+
const allSamples = [...samples];
|
|
23
|
+
const suspendArtifacts = findTimerWakeClusterArtifacts(allSamples);
|
|
24
|
+
return allSamples.filter((sample) => !suspendArtifacts.has(sample));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
SUSPEND_CLUSTER_MIN_MS,
|
|
29
|
+
SUSPEND_CLUSTER_WINDOW_MS,
|
|
30
|
+
SUSPEND_CLUSTER_MIN_TIMERS,
|
|
31
|
+
findTimerWakeClusterArtifacts,
|
|
32
|
+
filterTimerWakeClusterArtifacts
|
|
33
|
+
};
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
extractIdentifiers,
|
|
5
5
|
isGarbageEntity,
|
|
6
6
|
normalizeEntityName
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-W64WE36F.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-U7I4YINB.js";
|
|
11
11
|
|
|
12
12
|
// src/lib/memory-graph-extractor.ts
|
|
13
13
|
function relationshipId(sourceId, targetId, relType) {
|
|
@@ -404,7 +404,7 @@ async function upsertMemoryGraph(result, memoryId) {
|
|
|
404
404
|
});
|
|
405
405
|
}
|
|
406
406
|
try {
|
|
407
|
-
const { createCoOccurrenceEdges } = await import("./co-occurrence-
|
|
407
|
+
const { createCoOccurrenceEdges } = await import("./co-occurrence-TBDCT3EB.js");
|
|
408
408
|
await createCoOccurrenceEdges(result.entities, memoryId);
|
|
409
409
|
} catch {
|
|
410
410
|
}
|