@askexenow/exe-os 0.9.357 → 0.9.359
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/.dist-verified.json +6 -0
- package/dist/{active-agent-PYMOMGQ7.js → active-agent-DMKNHGSG.js} +6 -4
- package/dist/{active-agent-LCRV3HVS.js → active-agent-Y3DCBD7J.js} +6 -4
- package/dist/{agentic-ontology-TNKI4FOM.js → agentic-ontology-3233PNKV.js} +1 -1
- package/dist/{backfill-metadata-SFS4ARNR.js → backfill-metadata-4DS4A5U3.js} +8 -6
- package/dist/{backup-verify-7NLKR4S6.js → backup-verify-JNYKXIU2.js} +6 -1
- package/dist/{behavior-injection-OT7VX7M6.js → behavior-injection-CGAMI552.js} +10 -8
- package/dist/{behaviors-6GW5AFG4.js → behaviors-57AMN5IP.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 +18 -14
- 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 +81 -77
- package/dist/bin/exe-agent-config.js +5 -3
- package/dist/bin/exe-agent.js +14 -12
- 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 +20 -16
- 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-grant.js +17 -4
- 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 +18 -14
- 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 +10 -8
- package/dist/bin/graph-export.js +9 -7
- package/dist/bin/import-history.js +13 -11
- package/dist/bin/install.js +83 -79
- 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-4D3CTT7X.js} +6 -4
- package/dist/{boot-review-sections-3MSXM6V7.js → boot-review-sections-NDFE5443.js} +15 -13
- package/dist/build-manifest.json +2961 -0
- package/dist/{capability-cards-4RD2SB2K.js → capability-cards-OBB7BMMX.js} +5 -3
- package/dist/{capacity-monitor-5XUR3JTN.js → capacity-monitor-QLPEL6S5.js} +17 -15
- package/dist/{catchup-brief-AYJWMQUZ.js → catchup-brief-EN7QR6MP.js} +20 -18
- package/dist/{chunk-ZMVVKOOS.js → chunk-2EAYZ3BK.js} +7 -7
- package/dist/{chunk-4KCLB4TY.js → chunk-2KLVTRY2.js} +1 -1
- package/dist/{chunk-4VU2VCEU.js → chunk-2OVTGZYH.js} +1 -1
- package/dist/{chunk-5Q2J6P4T.js → chunk-2YGAKBRG.js} +3 -3
- package/dist/{chunk-2TL5RKMC.js → chunk-3BAGFZFN.js} +1 -1
- package/dist/{chunk-PM4TIRCR.js → chunk-3ODATKWH.js} +1 -1
- package/dist/{chunk-RUBXKPOT.js → chunk-3ZEVMZ4G.js} +1 -1
- package/dist/{chunk-H4ZSOAP6.js → chunk-44WFVMZ5.js} +1 -1
- package/dist/{chunk-Y4JA5V22.js → chunk-46RPEWTH.js} +1 -1
- package/dist/{chunk-EHL4RCND.js → chunk-4DYJ6NOK.js} +6 -5
- package/dist/{chunk-ZWXSO4FN.js → chunk-4FQIWAXA.js} +9 -9
- package/dist/{chunk-YG4LS7TI.js → chunk-4WSUP4CC.js} +8 -8
- package/dist/{chunk-EWOMZLR6.js → chunk-57GRYGDU.js} +1 -1
- package/dist/{chunk-VCKIV5WG.js → chunk-5I3YC7ER.js} +2 -2
- package/dist/{chunk-UQCYG6EI.js → chunk-5UAMBMNR.js} +1 -1
- package/dist/chunk-5YEUPUV4.js +53 -0
- package/dist/{chunk-34MIJGQS.js → chunk-6EOLGE7T.js} +1 -1
- package/dist/{chunk-AWB7M62V.js → chunk-6KREY2Q7.js} +4 -4
- package/dist/{chunk-FWJFKWYA.js → chunk-6LY3QSJA.js} +2 -2
- package/dist/{chunk-7FKC2TIB.js → chunk-6SK4MM5B.js} +1 -1
- package/dist/{chunk-P7EUKYSQ.js → chunk-6WHYSLGF.js} +1 -1
- package/dist/{chunk-YSUHXDQU.js → chunk-74R44E4S.js} +21 -19
- package/dist/{chunk-DF5K4JJL.js → chunk-A5WEEND7.js} +3 -3
- package/dist/{chunk-OBWTTM7E.js → chunk-AL7JMA54.js} +2 -2
- package/dist/{chunk-JZXHLDQN.js → chunk-APR556TY.js} +1 -1
- package/dist/{chunk-G2MXTLOD.js → chunk-C5YZMYQH.js} +1 -1
- package/dist/{chunk-X7CWCQ5S.js → chunk-CAEWPEBA.js} +1 -1
- package/dist/{chunk-SFSB64NK.js → chunk-DKRSKC5R.js} +1 -1
- package/dist/{chunk-IIHFSNL4.js → chunk-DQ75MEPU.js} +1 -1
- package/dist/{chunk-H4IZKSOY.js → chunk-DWKH2H7W.js} +1 -1
- package/dist/{chunk-M5DPPJLS.js → chunk-EA5FVACM.js} +39 -7
- package/dist/{chunk-S3THSOWV.js → chunk-EUQF3JOH.js} +28 -100
- package/dist/{chunk-2LM5GO5R.js → chunk-EX2SSLNU.js} +5 -5
- package/dist/{chunk-4GGP4Q5N.js → chunk-F3QTF4T7.js} +2 -2
- package/dist/{chunk-EQQYCP6D.js → chunk-FASR2WLT.js} +1 -1
- package/dist/{chunk-NT4GET5B.js → chunk-G2KK64UB.js} +4 -4
- package/dist/{chunk-ABM3DZF3.js → chunk-G37RG543.js} +1 -1
- package/dist/{chunk-AW3WT3TJ.js → chunk-GD7VXXW6.js} +141 -140
- package/dist/{chunk-IT4TFJTK.js → chunk-GSVQBBE5.js} +3 -3
- package/dist/{chunk-LVZZ7YS3.js → chunk-HK7SQDKJ.js} +5 -5
- package/dist/chunk-HKK7LLS5.js +408 -0
- package/dist/{chunk-W3IXTUCL.js → chunk-HLEZ5O5P.js} +77 -37
- package/dist/{chunk-A5P2MMII.js → chunk-HNPHPGGF.js} +2 -2
- package/dist/{chunk-QGLAMWQJ.js → chunk-HPHF5VTT.js} +3 -3
- package/dist/{chunk-IO5FR7BZ.js → chunk-IQWAYXVF.js} +3 -3
- package/dist/{chunk-PNTRRXAN.js → chunk-JBAMYKBL.js} +1 -1
- package/dist/{chunk-2WWGTOVP.js → chunk-JE34CB5H.js} +19 -1
- package/dist/{chunk-APRVAUOR.js → chunk-JY5GAZYC.js} +1 -0
- package/dist/{chunk-PUAA3P47.js → chunk-KIXNMTGC.js} +4 -4
- package/dist/{chunk-ES4XE6AU.js → chunk-LPKTGK7L.js} +4 -4
- package/dist/{chunk-KT4RUFYO.js → chunk-LRETL4I3.js} +3 -3
- package/dist/{chunk-JO6TS75M.js → chunk-LXG37RB2.js} +1 -1
- package/dist/{chunk-CI3YVCUY.js → chunk-MCNDZU5W.js} +1 -1
- package/dist/{chunk-JLXJMDKG.js → chunk-NE57GONM.js} +1 -1
- package/dist/{chunk-72GUU6Z4.js → chunk-NKDKB2RT.js} +3 -3
- package/dist/{chunk-KP3PLOGC.js → chunk-NP2Y7P3I.js} +2 -2
- package/dist/{chunk-ES6PDSEK.js → chunk-OAYTQ4RY.js} +8 -8
- package/dist/{chunk-Z5DTZ464.js → chunk-OIS5VIAH.js} +6 -0
- package/dist/{chunk-VPMAC5VB.js → chunk-OY2PWHYR.js} +1 -1
- package/dist/{chunk-YQ7IZPVC.js → chunk-PDRIIEFV.js} +1 -1
- package/dist/{chunk-W3REQ37P.js → chunk-PLOEFBFW.js} +2 -2
- package/dist/{chunk-X4EDW3FH.js → chunk-POZGQQEZ.js} +1 -1
- package/dist/{chunk-AJGTBW3N.js → chunk-QH2XAUZ5.js} +1 -1
- package/dist/{chunk-6CZXY5BD.js → chunk-QROIFRKI.js} +5 -5
- package/dist/{chunk-P2Y6S53G.js → chunk-R6LNQAUG.js} +1 -1
- package/dist/{chunk-JKOEOHOD.js → chunk-R7F6HKTH.js} +6 -21
- package/dist/{chunk-6WAJJN5W.js → chunk-RFUTLZ2U.js} +3 -3
- package/dist/{chunk-CQPFNVWY.js → chunk-RJ67HG2P.js} +3 -3
- package/dist/{chunk-6H4ZEU7P.js → chunk-SHEWTDPC.js} +4 -4
- package/dist/{chunk-XPGUSSG7.js → chunk-SIGAQQHW.js} +1 -1
- package/dist/{chunk-PUNCHUEX.js → chunk-SNWV44E5.js} +3 -3
- package/dist/{chunk-WJIGSNJM.js → chunk-SQBNN44X.js} +12 -12
- package/dist/{chunk-6UTP7AIH.js → chunk-STFR72YH.js} +1 -1
- package/dist/chunk-TWMWHDOY.js +79 -0
- package/dist/{chunk-RZSPCNLY.js → chunk-UZ5RJYL3.js} +1 -1
- package/dist/chunk-V3W3SATA.js +135 -0
- package/dist/{chunk-WL3CT5KX.js → chunk-VCCZQDCU.js} +2 -2
- package/dist/{chunk-VU2MZ7BP.js → chunk-VNK3MNZE.js} +40 -3
- package/dist/{chunk-MVYB76QG.js → chunk-VRTCVZND.js} +16 -20
- package/dist/{chunk-UEXJYSJX.js → chunk-VXL7PJ56.js} +39 -2
- package/dist/{chunk-4OMIENRX.js → chunk-VY5VU7SX.js} +1 -1
- package/dist/{chunk-JUE37LOD.js → chunk-W3XUU36X.js} +4 -4
- package/dist/{chunk-WHQYVFE2.js → chunk-W5YV2PZE.js} +22 -15
- package/dist/{chunk-DZNXWCJN.js → chunk-WA2MJGPT.js} +1 -1
- package/dist/{chunk-LDRMNJJJ.js → chunk-WCP4OQUL.js} +2 -2
- package/dist/{chunk-25X4JD2V.js → chunk-WDA2KAV7.js} +20 -3
- package/dist/{chunk-YNYISUMW.js → chunk-WRP5AG4D.js} +1 -1
- package/dist/{chunk-HAOZB4W6.js → chunk-X2F6Q7TW.js} +1 -1
- package/dist/{chunk-TQ4O5A4S.js → chunk-XV42EAVK.js} +1 -1
- package/dist/{chunk-TAR5J7WI.js → chunk-XVTKJEI2.js} +4 -4
- package/dist/{chunk-XQAELSOQ.js → chunk-XWWNRFRF.js} +2 -2
- package/dist/{chunk-6SAQSXT2.js → chunk-YKRNH5LU.js} +1 -1
- package/dist/{chunk-QXAE6S3A.js → chunk-YMCIZCNK.js} +3 -3
- package/dist/chunk-YQGMSXT5.js +33 -0
- package/dist/{chunk-LLXYWNCH.js → chunk-Z2PAVJJ4.js} +1 -1
- package/dist/{cleanup-graph-garbage-XUNHVCRR.js → cleanup-graph-garbage-XFGY4EEE.js} +11 -9
- package/dist/{cloud-sync-shutdown-JRAERBUO.js → cloud-sync-shutdown-XCOATIJW.js} +5 -3
- package/dist/{co-activation-5AN2CF23.js → co-activation-XNBLOGK3.js} +5 -3
- package/dist/{co-occurrence-A7E774ZX.js → co-occurrence-HO4PGQC4.js} +9 -7
- package/dist/{conversation-entity-extractor-2XI2GC4N.js → conversation-entity-extractor-5G5DGRJU.js} +4 -4
- package/dist/{crdt-sync-2IUU6GZ6.js → crdt-sync-6TD7LSZW.js} +3 -2
- package/dist/{crm-webhook-BQCP77TI.js → crm-webhook-WZAV5776.js} +2 -2
- package/dist/{cto-delegation-gate-UHHNMWCL.js → cto-delegation-gate-UHMYFM4D.js} +15 -13
- package/dist/{daemon-orchestration-7WS3X5DQ.js → daemon-orchestration-DT5M2ZAR.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-FNCYPFKY.js} +9 -7
- package/dist/{documents-SW2MJUXY.js → documents-GKDZDUED.js} +9 -7
- package/dist/{dreaming-KSNJVNFH.js → dreaming-WPMQJAXW.js} +19 -17
- package/dist/{exe-drift-NBLYKQBQ.js → exe-drift-QTKD2FHT.js} +6 -4
- package/dist/{exe-export-44IWTJHL.js → exe-export-ESJ6KP6J.js} +11 -9
- package/dist/{exe-import-PPECH3KO.js → exe-import-N4X3GEQB.js} +11 -9
- package/dist/{exe-key-ZCRJQYA7.js → exe-key-KZCCHX3W.js} +84 -77
- package/dist/{exe-snapshot-OVINJ6MC.js → exe-snapshot-SCRPHCPZ.js} +20 -18
- package/dist/{fast-db-init-B5Q3SJQG.js → fast-db-init-6H67K76Q.js} +1 -1
- package/dist/{founder-context-5OFTZNDO.js → founder-context-C7X7IRDA.js} +2 -2
- package/dist/founder-monitor-envelope-DHSUMBWU.js +83 -0
- package/dist/gateway/index.js +11 -9
- package/dist/{git-staleness-XQJTOSGZ.js → git-staleness-JCKVMWPO.js} +5 -3
- package/dist/{global-procedures-YCJ3JPAP.js → global-procedures-BR7WGSE7.js} +7 -5
- package/dist/{graph-auto-extract-XJN6PQH3.js → graph-auto-extract-EOXWQRBZ.js} +9 -7
- package/dist/{graph-rag-HCQCZ2W7.js → graph-rag-5FVC5JXH.js} +4 -4
- package/dist/{hook-prefetch-FKXDTCDS.js → hook-prefetch-2CN3MK4H.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 +14 -102
- 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 -38
- package/dist/hooks/session-end.js +22 -20
- package/dist/hooks/session-start.js +13 -18
- 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-7UV3CNWZ.js} +8 -6
- package/dist/{installer-YTT5OSRL.js → installer-VPNTM3X6.js} +8 -6
- package/dist/{installer-G3DVMNC6.js → installer-YDLSXGD2.js} +8 -6
- package/dist/{intercom-queue-5D52JF3Q.js → intercom-queue-KHKJJYCQ.js} +15 -13
- package/dist/lib/cloud-sync.js +18 -14
- package/dist/lib/consolidation.js +11 -9
- package/dist/lib/crypto.js +2 -1
- 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-YXUSNA2I.js} +3 -3
- package/dist/{license-sync-JVEXPDHN.js → license-sync-XFDOXL3Z.js} +2 -2
- package/dist/mcp/register-tools.js +80 -76
- package/dist/mcp/server.js +81 -77
- 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-HIP5CEDV.js} +6 -4
- package/dist/{mcp-session-identity-S6UCHBER.js → mcp-session-identity-RTNZ2ZLW.js} +15 -13
- package/dist/{memory-cards-65RGFT5M.js → memory-cards-KG4TPNKK.js} +8 -6
- package/dist/{memory-graph-extractor-ZDZ5VQUX.js → memory-graph-extractor-6HTBLO2N.js} +10 -8
- package/dist/{memory-poisoning-defense-EQUQNXRE.js → memory-poisoning-defense-3ZT57RSJ.js} +5 -3
- package/dist/{memory-pressure-watchdog-CC344JBH.js → memory-pressure-watchdog-ZOZBIMKC.js} +16 -14
- package/dist/{memory-reflection-Q4OT4V55.js → memory-reflection-EQC4FXSW.js} +5 -3
- package/dist/{monitor-grants-NWSQ7ZCQ.js → monitor-grants-BDLVFVDR.js} +3 -1
- package/dist/{notification-ledger-GL3ZPZNR.js → notification-ledger-NZ4HO3M5.js} +16 -14
- package/dist/{notifications-FGYNO2FY.js → notifications-74YECZ4V.js} +15 -13
- package/dist/{orchestration-events-N5FQ4SKU.js → orchestration-events-KRQI4ED5.js} +6 -4
- package/dist/{orchestrator-XUJDK4EW.js → orchestrator-WV2YCHTK.js} +17 -15
- package/dist/org-membership-B32NS5NI.js +34 -0
- package/dist/{pipeline-router-YQOZ4M62.js → pipeline-router-6ZZV7JMA.js} +6 -4
- package/dist/{plan-limits-VBHKYKSK.js → plan-limits-B7AZKZ6U.js} +8 -6
- package/dist/{platform-procedures-F3XB6WWM.js → platform-procedures-2VQGBJU7.js} +1 -1
- package/dist/{projection-worker-NJUNGEXE.js → projection-worker-LRFFQ6JB.js} +2 -2
- package/dist/{prospective-memory-3MKUPDVI.js → prospective-memory-A4GDTIWG.js} +5 -3
- package/dist/{reranker-LGSIL6TX.js → reranker-YVTLJCFC.js} +1 -1
- package/dist/{retrieval-health-AEEQ5IO6.js → retrieval-health-PK2ODTXM.js} +1 -1
- package/dist/{review-polling-2RMEZ5QO.js → review-polling-JFWRNQF6.js} +16 -14
- package/dist/runtime/index.js +19 -17
- package/dist/{session-events-5XSYCV4I.js → session-events-VMQBCUH3.js} +16 -14
- package/dist/{session-kill-telemetry-QJUHG3IG.js → session-kill-telemetry-Z3W256T5.js} +16 -14
- package/dist/{session-scope-LIJ746K2.js → session-scope-2ADEVY3C.js} +15 -13
- package/dist/{setup-wizard-RLUCGGA7.js → setup-wizard-26B36FMC.js} +1 -1
- package/dist/{shard-manager-3L2NMJVJ.js → shard-manager-DFLCDZT5.js} +2 -1
- package/dist/{skill-refinement-FMN3WFSG.js → skill-refinement-APBYOSGX.js} +6 -4
- package/dist/{stack-promote-BGDGAYKG.js → stack-promote-SZYIPTFT.js} +29 -4
- package/dist/{stack-release-SOIHMI3I.js → stack-release-EYRDEGPD.js} +4 -4
- package/dist/{stack-update-AXFHJRK5.js → stack-update-YWK2YXP6.js} +3 -3
- package/dist/{steward-gate-R2XWABMV.js → steward-gate-CIOBPNX6.js} +6 -4
- package/dist/{support-inbox-IITW66TG.js → support-inbox-OAWGFRKW.js} +3 -3
- package/dist/{support-outbox-WHGPUYL2.js → support-outbox-DSWU3IXH.js} +1 -1
- package/dist/{task-enforcement-SFZGBY27.js → task-enforcement-YAU6ZGDC.js} +16 -14
- package/dist/{task-scope-74ZIFQRH.js → task-scope-44N7XP5N.js} +15 -13
- package/dist/{tasks-crud-N54JZCXU.js → tasks-crud-IWVDREXG.js} +15 -13
- package/dist/{tasks-notify-62IJZW55.js → tasks-notify-WK5HA77D.js} +16 -14
- package/dist/{tasks-review-3LHBE6ZJ.js → tasks-review-VDFWFETP.js} +15 -13
- package/dist/{telemetry-upload-HR3QIWZV.js → telemetry-upload-3X5ESEKM.js} +20 -180
- package/dist/{token-budget-DBXHLCMN.js → token-budget-WZGO22ME.js} +6 -4
- package/dist/{tool-telemetry-UFUTCNE3.js → tool-telemetry-F7RWUNVK.js} +1 -1
- package/dist/tui/App.js +24 -22
- package/dist/{tui-data-BPXEJKRQ.js → tui-data-KT7YGVQS.js} +15 -13
- package/dist/{update-support-HLZ7KMVM.js → update-support-ZVRMECNQ.js} +13 -11
- package/dist/{work-state-heartbeat-IQI3LCHN.js → work-state-heartbeat-CA4CN7DQ.js} +1 -1
- package/dist/{worker-gate-5ABYGLC2.js → worker-gate-52MVKYGZ.js} +1 -1
- package/dist/{workflow-engine-XSUWZK6I.js → workflow-engine-ZAFBPVUP.js} +2 -2
- package/dist/{worktree-EUYBBABA.js → worktree-NNVXVV6A.js} +7 -5
- package/dist/{worktree-sweep-LSKFA2PK.js → worktree-sweep-IM2ZQG6Z.js} +8 -6
- package/package.json +14 -4
- package/release-notes.json +34 -30
- package/dist/chunk-7HLWBYH7.js +0 -60
- /package/dist/{chunk-AK77MITT.js → chunk-6JTKIXLU.js} +0 -0
- /package/dist/{chunk-HABPXFHZ.js → chunk-BGYCUZYK.js} +0 -0
- /package/dist/{chunk-GVU3BW6N.js → chunk-COHHVCFA.js} +0 -0
- /package/dist/{chunk-VML2UQK7.js → chunk-FVWI2AR4.js} +0 -0
- /package/dist/{chunk-2267TRAO.js → chunk-R62ITJDQ.js} +0 -0
- /package/dist/{chunk-HMBMHZ3S.js → chunk-U7RZIY74.js} +0 -0
- /package/dist/{chunk-7GOSAV25.js → chunk-XLEYCOHX.js} +0 -0
- /package/dist/{chunk-A627QFOE.js → chunk-YBX3G5OP.js} +0 -0
- /package/dist/{chunk-IHKRHGKT.js → chunk-ZMYXQU4L.js} +0 -0
- /package/dist/{core-memory-KXE4QMOA.js → core-memory-AATZRQEY.js} +0 -0
- /package/dist/{memory-isolation-VSKUKTN4.js → memory-isolation-CF6FYSXD.js} +0 -0
- /package/dist/{oauth-server-JELOVN5D.js → oauth-server-VE5ELXTF.js} +0 -0
- /package/dist/{project-boot-LQ4CF6BI.js → project-boot-WEQSKDD7.js} +0 -0
- /package/dist/{wiki-acl-VR4AFJ3T.js → wiki-acl-GNIXYWHJ.js} +0 -0
|
@@ -1,35 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
orgMembershipsPath,
|
|
3
|
+
orgModeActive
|
|
4
|
+
} from "./chunk-HKK7LLS5.js";
|
|
1
5
|
import {
|
|
2
6
|
activeRecipientPubKeys,
|
|
7
|
+
assertGateAndGrantsColocated,
|
|
8
|
+
grantsPath,
|
|
3
9
|
isGrantsMacPrimed,
|
|
4
10
|
primeGrantsMacKey,
|
|
5
11
|
warnActiveMonitoringOnce
|
|
6
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VXL7PJ56.js";
|
|
7
13
|
import {
|
|
8
14
|
isCrdtSyncEnabled
|
|
9
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-C5YZMYQH.js";
|
|
10
16
|
import {
|
|
11
17
|
retryOnDaemonTransportError
|
|
12
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VNK3MNZE.js";
|
|
13
19
|
import {
|
|
14
20
|
GHOST_BEHAVIOR_SQL,
|
|
15
21
|
isGhostBehaviorRow
|
|
16
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6LY3QSJA.js";
|
|
17
23
|
import {
|
|
18
24
|
decryptSyncBlob,
|
|
19
25
|
encryptSyncBlob,
|
|
20
26
|
initSyncCrypto,
|
|
21
27
|
isSyncCryptoInitialized
|
|
22
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-EUQF3JOH.js";
|
|
23
29
|
import {
|
|
24
30
|
getClient,
|
|
25
31
|
isGenuineCorruptionError,
|
|
26
32
|
loadEmployees,
|
|
27
33
|
registerBinSymlinks,
|
|
28
34
|
saveEmployees
|
|
29
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-EA5FVACM.js";
|
|
30
36
|
import {
|
|
31
37
|
loadDeviceId
|
|
32
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-2OVTGZYH.js";
|
|
33
39
|
import {
|
|
34
40
|
EXE_AI_DIR
|
|
35
41
|
} from "./chunk-BCZF3AGJ.js";
|
|
@@ -43,9 +49,44 @@ import {
|
|
|
43
49
|
// src/lib/cloud-sync.ts
|
|
44
50
|
import { readFileSync, writeFileSync, existsSync, readdirSync, mkdirSync, appendFileSync, unlinkSync, openSync, closeSync, statSync } from "fs";
|
|
45
51
|
import crypto from "crypto";
|
|
46
|
-
import
|
|
52
|
+
import path2 from "path";
|
|
47
53
|
import { homedir } from "os";
|
|
48
54
|
|
|
55
|
+
// src/internal/sync-cipher.ts
|
|
56
|
+
import path from "path";
|
|
57
|
+
var _monitoredWriter = null;
|
|
58
|
+
var _resolved = null;
|
|
59
|
+
var _founderModuleLinked = false;
|
|
60
|
+
var _lastSealOrgMode = null;
|
|
61
|
+
async function getSyncCipher() {
|
|
62
|
+
if (_resolved) return _resolved;
|
|
63
|
+
if (!orgModeActive()) {
|
|
64
|
+
const mod = await import("./founder-monitor-envelope-DHSUMBWU.js");
|
|
65
|
+
_monitoredWriter = mod.encryptMonitoredSyncBlob;
|
|
66
|
+
_founderModuleLinked = true;
|
|
67
|
+
}
|
|
68
|
+
_resolved = {
|
|
69
|
+
seal: (data) => {
|
|
70
|
+
assertGateAndGrantsColocated(orgMembershipsPath(), grantsPath());
|
|
71
|
+
const orgMode = orgModeActive();
|
|
72
|
+
_lastSealOrgMode = orgMode;
|
|
73
|
+
if (orgMode) return encryptSyncBlob(data);
|
|
74
|
+
const recipients = activeRecipientPubKeys();
|
|
75
|
+
if (recipients.length === 0) return encryptSyncBlob(data);
|
|
76
|
+
if (!_monitoredWriter) {
|
|
77
|
+
process.stderr.write(
|
|
78
|
+
"[exe-os] \u26A0 monitoring grants are active but the monitor writer is not linked in this process \u2014 emitting a device-only (v=1) blob. Restart exe-os to enable monitoring.\n"
|
|
79
|
+
);
|
|
80
|
+
return encryptSyncBlob(data);
|
|
81
|
+
}
|
|
82
|
+
warnActiveMonitoringOnce(recipients);
|
|
83
|
+
return _monitoredWriter(data, recipients);
|
|
84
|
+
},
|
|
85
|
+
open: (ct) => decryptSyncBlob(ct)
|
|
86
|
+
};
|
|
87
|
+
return _resolved;
|
|
88
|
+
}
|
|
89
|
+
|
|
49
90
|
// src/lib/compress.ts
|
|
50
91
|
import { brotliCompressSync, brotliDecompressSync, constants } from "zlib";
|
|
51
92
|
function compress(input) {
|
|
@@ -165,7 +206,7 @@ async function batchWriteYielding(client, stmts, batchSize = CLOUD_PULL_WRITE_BA
|
|
|
165
206
|
}
|
|
166
207
|
function logError(msg) {
|
|
167
208
|
try {
|
|
168
|
-
const logPath =
|
|
209
|
+
const logPath = path2.join(homedir(), ".exe-os", "workers.log");
|
|
169
210
|
appendFileSync(logPath, `${(/* @__PURE__ */ new Date()).toISOString()} ${msg}
|
|
170
211
|
`);
|
|
171
212
|
} catch (e) {
|
|
@@ -226,7 +267,7 @@ var PUSH_BATCH_SIZE = 5e3;
|
|
|
226
267
|
var CLOUD_MEMORY_PUSH_BACKGROUND_BATCH_SIZE = 250;
|
|
227
268
|
var CLOUD_MEMORY_PUSH_BACKGROUND_TICK_BUDGET_MS = 250;
|
|
228
269
|
var CLOUD_MEMORY_PUSH_SCAN_CURSOR_KEY = "cloud_memory_push_scan_cursor";
|
|
229
|
-
var ROSTER_LOCK_PATH =
|
|
270
|
+
var ROSTER_LOCK_PATH = path2.join(EXE_AI_DIR, "roster-merge.lock");
|
|
230
271
|
var LOCK_STALE_MS = 3e4;
|
|
231
272
|
var SYNC_PAGE_SIZE = 5e3;
|
|
232
273
|
var SYNC_MAX_ROWS = 5e6;
|
|
@@ -281,7 +322,7 @@ function isTruthyEnv(value) {
|
|
|
281
322
|
}
|
|
282
323
|
function loadPgClient() {
|
|
283
324
|
if (_pgFailed) return null;
|
|
284
|
-
const configPath =
|
|
325
|
+
const configPath = path2.join(EXE_AI_DIR, "config.json");
|
|
285
326
|
let cloudPostgresUrl;
|
|
286
327
|
let configEnabled = false;
|
|
287
328
|
try {
|
|
@@ -314,8 +355,8 @@ function loadPgClient() {
|
|
|
314
355
|
if (!Ctor) throw new Error(`No PrismaClient at ${explicitPath}`);
|
|
315
356
|
return new Ctor();
|
|
316
357
|
}
|
|
317
|
-
const exeDbRoot = process.env.EXE_DB_ROOT ??
|
|
318
|
-
const packagePath =
|
|
358
|
+
const exeDbRoot = process.env.EXE_DB_ROOT ?? path2.join(homedir(), "exe-db");
|
|
359
|
+
const packagePath = path2.join(exeDbRoot, "package.json");
|
|
319
360
|
if (existsSync(packagePath)) {
|
|
320
361
|
const req = createRequire(packagePath);
|
|
321
362
|
const entry = req.resolve("@prisma/client");
|
|
@@ -506,9 +547,8 @@ async function cloudPush(records, maxVersion, config) {
|
|
|
506
547
|
try {
|
|
507
548
|
const json = JSON.stringify(records);
|
|
508
549
|
const compressed = compress(Buffer.from(json, "utf8"));
|
|
509
|
-
const
|
|
510
|
-
|
|
511
|
-
const blob = encryptSyncBlob(compressed, monitoringRecipients);
|
|
550
|
+
const cipher = await getSyncCipher();
|
|
551
|
+
const blob = cipher.seal(compressed);
|
|
512
552
|
const resp = await fetchWithRetry(`${config.endpoint}/sync/push`, {
|
|
513
553
|
method: "POST",
|
|
514
554
|
headers: {
|
|
@@ -947,7 +987,7 @@ async function cloudSync(config, options) {
|
|
|
947
987
|
pullResult = await cloudPull(lastPullVersion, config);
|
|
948
988
|
if (pullResult.records.length > 0) {
|
|
949
989
|
if (shouldUseCrdtMergeForCloudSync()) {
|
|
950
|
-
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-
|
|
990
|
+
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-6TD7LSZW.js");
|
|
951
991
|
initCrdtDoc();
|
|
952
992
|
importExistingMemories(
|
|
953
993
|
pullResult.records.map((rec) => ({
|
|
@@ -1411,7 +1451,7 @@ async function cloudSync(config, options) {
|
|
|
1411
1451
|
try {
|
|
1412
1452
|
const employees = await loadEmployees();
|
|
1413
1453
|
rosterResult.employees = employees.length;
|
|
1414
|
-
const idDir =
|
|
1454
|
+
const idDir = path2.join(EXE_AI_DIR, "identity");
|
|
1415
1455
|
if (existsSync(idDir)) {
|
|
1416
1456
|
rosterResult.identities = readdirSync(idDir).filter((f) => f.endsWith(".md")).length;
|
|
1417
1457
|
}
|
|
@@ -1436,7 +1476,7 @@ async function cloudSync(config, options) {
|
|
|
1436
1476
|
headers: { "Content-Type": "application/json", Authorization: `Bearer ${config.apiKey}` },
|
|
1437
1477
|
body: JSON.stringify({
|
|
1438
1478
|
device_id: deviceId,
|
|
1439
|
-
filename:
|
|
1479
|
+
filename: path2.basename(latestBackup),
|
|
1440
1480
|
blob: encrypted,
|
|
1441
1481
|
size: backupData.length
|
|
1442
1482
|
})
|
|
@@ -1509,7 +1549,7 @@ async function cloudSync(config, options) {
|
|
|
1509
1549
|
_cloudSyncInProgress = false;
|
|
1510
1550
|
}
|
|
1511
1551
|
}
|
|
1512
|
-
var ROSTER_DELETIONS_PATH =
|
|
1552
|
+
var ROSTER_DELETIONS_PATH = path2.join(EXE_AI_DIR, "roster-deletions.json");
|
|
1513
1553
|
function recordRosterDeletion(name) {
|
|
1514
1554
|
let deletions = [];
|
|
1515
1555
|
try {
|
|
@@ -1534,9 +1574,9 @@ function consumeRosterDeletions() {
|
|
|
1534
1574
|
}
|
|
1535
1575
|
}
|
|
1536
1576
|
function buildRosterBlob(paths) {
|
|
1537
|
-
const rosterPath = paths?.rosterPath ??
|
|
1538
|
-
const identityDir = paths?.identityDir ??
|
|
1539
|
-
const configPath = paths?.configPath ??
|
|
1577
|
+
const rosterPath = paths?.rosterPath ?? path2.join(EXE_AI_DIR, "exe-employees.json");
|
|
1578
|
+
const identityDir = paths?.identityDir ?? path2.join(EXE_AI_DIR, "identity");
|
|
1579
|
+
const configPath = paths?.configPath ?? path2.join(EXE_AI_DIR, "config.json");
|
|
1540
1580
|
let roster = [];
|
|
1541
1581
|
if (existsSync(rosterPath)) {
|
|
1542
1582
|
try {
|
|
@@ -1549,7 +1589,7 @@ function buildRosterBlob(paths) {
|
|
|
1549
1589
|
if (existsSync(identityDir)) {
|
|
1550
1590
|
for (const file of readdirSync(identityDir).filter((f) => f.endsWith(".md"))) {
|
|
1551
1591
|
try {
|
|
1552
|
-
identities[file] = readFileSync(
|
|
1592
|
+
identities[file] = readFileSync(path2.join(identityDir, file), "utf-8");
|
|
1553
1593
|
} catch (e) {
|
|
1554
1594
|
process.stderr.write("[cloud-sync] identity file read failed (" + file + "): " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
1555
1595
|
}
|
|
@@ -1564,7 +1604,7 @@ function buildRosterBlob(paths) {
|
|
|
1564
1604
|
}
|
|
1565
1605
|
}
|
|
1566
1606
|
let agentConfig;
|
|
1567
|
-
const agentConfigPath =
|
|
1607
|
+
const agentConfigPath = path2.join(EXE_AI_DIR, "agent-config.json");
|
|
1568
1608
|
if (existsSync(agentConfigPath)) {
|
|
1569
1609
|
try {
|
|
1570
1610
|
agentConfig = JSON.parse(readFileSync(agentConfigPath, "utf-8"));
|
|
@@ -1650,7 +1690,7 @@ async function cloudPullRoster(config) {
|
|
|
1650
1690
|
}
|
|
1651
1691
|
}
|
|
1652
1692
|
function mergeConfig(remoteConfig, configPath) {
|
|
1653
|
-
const cfgPath = configPath ??
|
|
1693
|
+
const cfgPath = configPath ?? path2.join(EXE_AI_DIR, "config.json");
|
|
1654
1694
|
let local = {};
|
|
1655
1695
|
if (existsSync(cfgPath)) {
|
|
1656
1696
|
try {
|
|
@@ -1660,7 +1700,7 @@ function mergeConfig(remoteConfig, configPath) {
|
|
|
1660
1700
|
}
|
|
1661
1701
|
}
|
|
1662
1702
|
const merged = { ...remoteConfig, ...local };
|
|
1663
|
-
const dir =
|
|
1703
|
+
const dir = path2.dirname(cfgPath);
|
|
1664
1704
|
ensurePrivateDirSync(dir);
|
|
1665
1705
|
atomicWriteSync(cfgPath, JSON.stringify(merged, null, 2) + "\n");
|
|
1666
1706
|
enforcePrivateFileSync(cfgPath);
|
|
@@ -1668,7 +1708,7 @@ function mergeConfig(remoteConfig, configPath) {
|
|
|
1668
1708
|
async function mergeRosterFromRemote(remote, paths) {
|
|
1669
1709
|
return withRosterLock(async () => {
|
|
1670
1710
|
const rosterPath = paths?.rosterPath ?? void 0;
|
|
1671
|
-
const identityDir = paths?.identityDir ??
|
|
1711
|
+
const identityDir = paths?.identityDir ?? path2.join(EXE_AI_DIR, "identity");
|
|
1672
1712
|
const localEmployees = await loadEmployees(rosterPath);
|
|
1673
1713
|
const localNames = new Set(localEmployees.map((e) => e.name));
|
|
1674
1714
|
let added = 0;
|
|
@@ -1691,7 +1731,7 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1691
1731
|
const remoteIdentity = remote.identities[matchedKey];
|
|
1692
1732
|
if (remoteIdentity) {
|
|
1693
1733
|
if (!existsSync(identityDir)) mkdirSync(identityDir, { recursive: true });
|
|
1694
|
-
const idPath =
|
|
1734
|
+
const idPath = path2.join(identityDir, `${remoteEmp.name}.md`);
|
|
1695
1735
|
if (!existsSync(idPath)) {
|
|
1696
1736
|
atomicWriteSync(idPath, remoteIdentity);
|
|
1697
1737
|
identitiesUpdated++;
|
|
@@ -1710,11 +1750,11 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1710
1750
|
);
|
|
1711
1751
|
} else if (present.length > 0 && deletionsAllowed) {
|
|
1712
1752
|
try {
|
|
1713
|
-
const backupPath =
|
|
1753
|
+
const backupPath = path2.join(
|
|
1714
1754
|
EXE_AI_DIR,
|
|
1715
1755
|
`exe-employees.backup.${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}.json`
|
|
1716
1756
|
);
|
|
1717
|
-
ensurePrivateDirSync(
|
|
1757
|
+
ensurePrivateDirSync(path2.dirname(backupPath));
|
|
1718
1758
|
atomicWriteSync(backupPath, JSON.stringify(localEmployees, null, 2) + "\n");
|
|
1719
1759
|
enforcePrivateFileSync(backupPath);
|
|
1720
1760
|
process.stderr.write(
|
|
@@ -1748,7 +1788,7 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1748
1788
|
}
|
|
1749
1789
|
if (remote.agentConfig && Object.keys(remote.agentConfig).length > 0) {
|
|
1750
1790
|
try {
|
|
1751
|
-
const agentConfigPath =
|
|
1791
|
+
const agentConfigPath = path2.join(EXE_AI_DIR, "agent-config.json");
|
|
1752
1792
|
let local = {};
|
|
1753
1793
|
if (existsSync(agentConfigPath)) {
|
|
1754
1794
|
try {
|
|
@@ -1758,7 +1798,7 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1758
1798
|
}
|
|
1759
1799
|
}
|
|
1760
1800
|
const merged = { ...remote.agentConfig, ...local };
|
|
1761
|
-
ensurePrivateDirSync(
|
|
1801
|
+
ensurePrivateDirSync(path2.dirname(agentConfigPath));
|
|
1762
1802
|
atomicWriteSync(agentConfigPath, JSON.stringify(merged, null, 2) + "\n");
|
|
1763
1803
|
enforcePrivateFileSync(agentConfigPath);
|
|
1764
1804
|
} catch (e) {
|
|
@@ -2590,7 +2630,7 @@ async function cloudPullDocuments(config) {
|
|
|
2590
2630
|
}
|
|
2591
2631
|
return { pulled };
|
|
2592
2632
|
}
|
|
2593
|
-
var CODE_CONTEXT_DIR =
|
|
2633
|
+
var CODE_CONTEXT_DIR = path2.join(EXE_AI_DIR, "code-context");
|
|
2594
2634
|
async function cloudPushCodeContext(config) {
|
|
2595
2635
|
assertSecureEndpoint(config.endpoint);
|
|
2596
2636
|
if (!existsSync(CODE_CONTEXT_DIR)) return 0;
|
|
@@ -2598,7 +2638,7 @@ async function cloudPushCodeContext(config) {
|
|
|
2598
2638
|
(f) => f.endsWith(".json") && !f.endsWith(".vectors.json") && !f.startsWith(".")
|
|
2599
2639
|
);
|
|
2600
2640
|
if (files.length === 0) return 0;
|
|
2601
|
-
const metaPath =
|
|
2641
|
+
const metaPath = path2.join(CODE_CONTEXT_DIR, ".sync-meta.json");
|
|
2602
2642
|
let syncMeta = {};
|
|
2603
2643
|
if (existsSync(metaPath)) {
|
|
2604
2644
|
try {
|
|
@@ -2609,7 +2649,7 @@ async function cloudPushCodeContext(config) {
|
|
|
2609
2649
|
}
|
|
2610
2650
|
let pushed = 0;
|
|
2611
2651
|
for (const file of files) {
|
|
2612
|
-
const filePath =
|
|
2652
|
+
const filePath = path2.join(CODE_CONTEXT_DIR, file);
|
|
2613
2653
|
try {
|
|
2614
2654
|
const stat = statSync(filePath);
|
|
2615
2655
|
const lastPushed = syncMeta[file] ?? 0;
|
|
@@ -2663,7 +2703,7 @@ async function cloudPullCodeContext(config) {
|
|
|
2663
2703
|
for (const { key, blob } of data.indexes) {
|
|
2664
2704
|
try {
|
|
2665
2705
|
if (key.endsWith(".vectors.json")) continue;
|
|
2666
|
-
const localPath =
|
|
2706
|
+
const localPath = path2.join(CODE_CONTEXT_DIR, key);
|
|
2667
2707
|
const compressed = decryptSyncBlob(blob);
|
|
2668
2708
|
const content = decompress(compressed).toString("utf8");
|
|
2669
2709
|
if (!existsSync(localPath)) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getActiveAgent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WRP5AG4D.js";
|
|
4
4
|
import {
|
|
5
5
|
listTasks
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-74R44E4S.js";
|
|
7
7
|
import {
|
|
8
8
|
getAgentContext
|
|
9
9
|
} from "./chunk-GJV3WDWM.js";
|
|
10
10
|
import {
|
|
11
11
|
isCoordinatorName
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EA5FVACM.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/tools/list-tasks.ts
|
|
15
15
|
import { z } from "zod";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
cleanupCardsForMemories,
|
|
3
3
|
cleanupGraphLinksForMemories
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HK7SQDKJ.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveAnthropicAuth
|
|
7
7
|
} from "./chunk-VGMACSEV.js";
|
|
8
8
|
import {
|
|
9
9
|
buildSystemStateExclusionFilter,
|
|
10
10
|
vectorToBlob
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-W5YV2PZE.js";
|
|
12
12
|
import {
|
|
13
13
|
extractKeywords,
|
|
14
14
|
keywordsToString
|
|
15
15
|
} from "./chunk-CHCA3ZM2.js";
|
|
16
16
|
import {
|
|
17
17
|
isCoordinatorName
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EA5FVACM.js";
|
|
19
19
|
|
|
20
20
|
// src/lib/consolidation.ts
|
|
21
21
|
import { randomUUID } from "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EA5FVACM.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfigSync
|
|
6
6
|
} from "./chunk-BCZF3AGJ.js";
|
|
@@ -112,6 +112,23 @@ function evaluateGlobalSpendCap(totalCostUSD, period, config = getConfiguredGlob
|
|
|
112
112
|
source: config.source
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
+
var SPEND_CAP_LEVEL_RANK = {
|
|
116
|
+
ok: 0,
|
|
117
|
+
near_cap: 1,
|
|
118
|
+
over_cap: 2
|
|
119
|
+
};
|
|
120
|
+
function evaluateSpendCapAlert(previousLevel, status) {
|
|
121
|
+
if (status.status === "unconfigured" || status.status === "ok") {
|
|
122
|
+
return { shouldAlert: false, level: "ok", summary: null };
|
|
123
|
+
}
|
|
124
|
+
const currentLevel = status.status;
|
|
125
|
+
const prevRank = previousLevel ? SPEND_CAP_LEVEL_RANK[previousLevel] : 0;
|
|
126
|
+
const currentRank = SPEND_CAP_LEVEL_RANK[currentLevel];
|
|
127
|
+
if (currentRank > prevRank) {
|
|
128
|
+
return { shouldAlert: true, level: currentLevel, summary: status.message };
|
|
129
|
+
}
|
|
130
|
+
return { shouldAlert: false, level: currentLevel, summary: null };
|
|
131
|
+
}
|
|
115
132
|
var MODEL_PRICING = {
|
|
116
133
|
// Opus 4.5+ ($5/$25 — Anthropic price drop from original Opus 4)
|
|
117
134
|
"claude-opus-4-7": { input: 5 / 1e6, output: 25 / 1e6, cacheRead: 0.5 / 1e6, cacheWrite: 6.25 / 1e6 },
|
|
@@ -330,6 +347,7 @@ export {
|
|
|
330
347
|
resolveGlobalSpendCapConfig,
|
|
331
348
|
getConfiguredGlobalSpendCap,
|
|
332
349
|
evaluateGlobalSpendCap,
|
|
350
|
+
evaluateSpendCapAlert,
|
|
333
351
|
getPricing,
|
|
334
352
|
getAgentSpend
|
|
335
353
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildSystemStateMemoryTypeExclusion
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W5YV2PZE.js";
|
|
4
4
|
import {
|
|
5
5
|
sessionScopeFilter
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-74R44E4S.js";
|
|
7
7
|
import {
|
|
8
8
|
getClient,
|
|
9
9
|
getIdentity
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EA5FVACM.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-A4GDTIWG.js");
|
|
650
650
|
const overdue = await getOverdueProspective(agentId);
|
|
651
651
|
overdueProspective = overdue.map((o) => ({
|
|
652
652
|
id: o.id,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
updateTask
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2EAYZ3BK.js";
|
|
4
4
|
import {
|
|
5
5
|
TASK_ALREADY_CLAIMED_PREFIX,
|
|
6
6
|
TASK_CLAIM_NOT_HELD_PREFIX,
|
|
7
7
|
TASK_SIDECHAIN_WRITE_BLOCKED_PREFIX
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-74R44E4S.js";
|
|
9
9
|
import {
|
|
10
10
|
getAgentContext
|
|
11
11
|
} from "./chunk-GJV3WDWM.js";
|
|
12
12
|
import {
|
|
13
13
|
isCoordinatorName
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EA5FVACM.js";
|
|
15
15
|
|
|
16
16
|
// src/mcp/tools/update-task.ts
|
|
17
17
|
import { z } from "zod";
|
|
@@ -72,7 +72,7 @@ function registerUpdateTask(server) {
|
|
|
72
72
|
let callerSession;
|
|
73
73
|
let callerIsSidechain = false;
|
|
74
74
|
try {
|
|
75
|
-
const { getActiveAgent: getAgent } = await import("./active-agent-
|
|
75
|
+
const { getActiveAgent: getAgent } = await import("./active-agent-Y3DCBD7J.js");
|
|
76
76
|
const active = getAgent();
|
|
77
77
|
callerAgentId = active.agentId;
|
|
78
78
|
callerSession = resolveCallerSessionForUpdate();
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extractMemoryGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2YGAKBRG.js";
|
|
4
4
|
import {
|
|
5
5
|
flushBatch,
|
|
6
6
|
writeMemory
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-W5YV2PZE.js";
|
|
8
8
|
import {
|
|
9
9
|
extractKeywords
|
|
10
10
|
} from "./chunk-CHCA3ZM2.js";
|
|
11
11
|
import {
|
|
12
12
|
getActiveAgent
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WRP5AG4D.js";
|
|
14
14
|
|
|
15
15
|
// src/mcp/tools/import-conversations.ts
|
|
16
16
|
import { z } from "zod";
|
|
@@ -212,7 +212,7 @@ async function main(args) {
|
|
|
212
212
|
console.log("[health-gate] Starting rollback...");
|
|
213
213
|
restorePreDeployBackup();
|
|
214
214
|
try {
|
|
215
|
-
const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-
|
|
215
|
+
const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-YWK2YXP6.js");
|
|
216
216
|
const paths = defaultStackPaths();
|
|
217
217
|
await rollbackStackUpdate({
|
|
218
218
|
manifestRef: paths.manifestRef,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EA5FVACM.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-5G5DGRJU.js");
|
|
144
|
+
const { storeExtraction } = await import("./graph-rag-5FVC5JXH.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,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PLATFORM_PROCEDURES,
|
|
3
3
|
PLATFORM_PROCEDURE_TITLES
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3BAGFZFN.js";
|
|
5
5
|
import {
|
|
6
6
|
getClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EA5FVACM.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/global-procedures.ts
|
|
10
10
|
import { randomUUID } from "crypto";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTask
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2EAYZ3BK.js";
|
|
4
4
|
import {
|
|
5
5
|
getActiveAgent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WRP5AG4D.js";
|
|
7
7
|
import {
|
|
8
8
|
ensureEmployeeAsync,
|
|
9
9
|
isValidSessionScope,
|
|
10
10
|
logTaskDispatch,
|
|
11
11
|
resolveExeSession
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-74R44E4S.js";
|
|
13
13
|
import {
|
|
14
14
|
recordOrchestrationEventBestEffort
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-POZGQQEZ.js";
|
|
16
16
|
import {
|
|
17
17
|
releaseDispatchClaim,
|
|
18
18
|
tryAcquireDispatchClaim,
|
|
@@ -25,13 +25,13 @@ import {
|
|
|
25
25
|
} from "./chunk-VAY6IXWY.js";
|
|
26
26
|
import {
|
|
27
27
|
getLicenseSync
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-F3QTF4T7.js";
|
|
29
29
|
import {
|
|
30
30
|
getAgentContext
|
|
31
31
|
} from "./chunk-GJV3WDWM.js";
|
|
32
32
|
import {
|
|
33
33
|
isCoordinatorName
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-EA5FVACM.js";
|
|
35
35
|
|
|
36
36
|
// src/mcp/tools/create-task.ts
|
|
37
37
|
import { z } from "zod";
|
|
@@ -718,7 +718,7 @@ function registerCreateTask(server) {
|
|
|
718
718
|
session_scope: sessionScope,
|
|
719
719
|
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
720
720
|
}), "utf-8");
|
|
721
|
-
const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-
|
|
721
|
+
const { recordOrchestrationEventBestEffort: recordOE } = await import("./orchestration-events-KRQI4ED5.js");
|
|
722
722
|
recordOE({
|
|
723
723
|
eventType: "signal.created",
|
|
724
724
|
source: "create-task.mcp",
|
|
@@ -750,7 +750,7 @@ function registerCreateTask(server) {
|
|
|
750
750
|
let projectConflictOpts = {};
|
|
751
751
|
try {
|
|
752
752
|
const { getClient } = await import("./lib/database.js");
|
|
753
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
753
|
+
const { sessionScopeFilter } = await import("./task-scope-44N7XP5N.js");
|
|
754
754
|
const client = getClient();
|
|
755
755
|
const scope = sessionScopeFilter(task.sessionScope || callerRoot || exeSession || null);
|
|
756
756
|
const existing = await client.execute({
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assertValidDbPath
|
|
3
3
|
} from "./chunk-2I23RPSI.js";
|
|
4
|
+
import {
|
|
5
|
+
recordDbOpen
|
|
6
|
+
} from "./chunk-5YEUPUV4.js";
|
|
4
7
|
import {
|
|
5
8
|
EXE_AI_DIR
|
|
6
9
|
} from "./chunk-BCZF3AGJ.js";
|
|
@@ -56,6 +59,7 @@ async function validateEncryptionKey() {
|
|
|
56
59
|
const dbPath = path.join(SHARDS_DIR, shardFile);
|
|
57
60
|
assertValidDbPath(dbPath, "shard-manager validateEncryptionKey");
|
|
58
61
|
const testClient = createClient({ url: `file:${dbPath}`, encryptionKey: _encryptionKey });
|
|
62
|
+
recordDbOpen({ dbPath, source: "shard-manager-validate-key", writeCapable: true, checkpointTimer: false });
|
|
59
63
|
try {
|
|
60
64
|
await testClient.execute("SELECT COUNT(*) FROM sqlite_schema");
|
|
61
65
|
testClient.close();
|
|
@@ -111,6 +115,7 @@ function getShardClient(projectName) {
|
|
|
111
115
|
url: `file:${dbPath}`,
|
|
112
116
|
encryptionKey: _encryptionKey
|
|
113
117
|
});
|
|
118
|
+
recordDbOpen({ dbPath, source: "shard-manager-get-shard", writeCapable: true, checkpointTimer: false });
|
|
114
119
|
_shards.set(safeName, client);
|
|
115
120
|
_shardLastAccess.set(safeName, Date.now());
|
|
116
121
|
return client;
|
|
@@ -152,6 +157,7 @@ async function auditShardHealth(options = {}) {
|
|
|
152
157
|
url: `file:${dbPath}`,
|
|
153
158
|
encryptionKey: _encryptionKey
|
|
154
159
|
});
|
|
160
|
+
recordDbOpen({ dbPath, source: "shard-manager-health", writeCapable: true, checkpointTimer: false });
|
|
155
161
|
try {
|
|
156
162
|
await client.execute("SELECT COUNT(*) as cnt FROM sqlite_schema");
|
|
157
163
|
const hasMemories = await client.execute(
|