@askexenow/exe-os 0.9.142 → 0.9.144
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-OTOFSYIV.js → active-agent-NVYSMA2V.js} +5 -5
- package/dist/{active-agent-PNV6PKJK.js → active-agent-Q3IKFOF6.js} +5 -5
- package/dist/{agentic-ontology-GYJZMRNB.js → agentic-ontology-Q3OVWKAK.js} +1 -1
- package/dist/{backfill-metadata-EDLDTB2G.js → backfill-metadata-GZIPWZAJ.js} +7 -9
- package/dist/{background-jobs-TBUOKMJR.js → background-jobs-LS6PTJKF.js} +3 -3
- package/dist/{behaviors-GE4RY2HA.js → behaviors-A4W3CBE5.js} +5 -5
- package/dist/bin/age-ontology-load.js +3 -3
- package/dist/bin/agentic-ontology-backfill.js +9 -9
- package/dist/bin/agentic-reflection-backfill.js +10 -10
- package/dist/bin/agentic-semantic-label.js +9 -9
- package/dist/bin/backfill-conversations.js +9 -9
- package/dist/bin/backfill-responses.js +9 -9
- package/dist/bin/backfill-vectors.js +11 -11
- package/dist/bin/bulk-sync-postgres.js +10 -10
- package/dist/bin/cc-doctor.js +4 -4
- package/dist/bin/cleanup-stale-review-tasks.js +11 -11
- package/dist/bin/cli.js +18 -18
- package/dist/bin/exe-agent-config.js +5 -5
- package/dist/bin/exe-agent.js +6 -6
- package/dist/bin/exe-assign.js +11 -11
- package/dist/bin/exe-boot.js +19 -19
- package/dist/bin/exe-call.js +6 -6
- package/dist/bin/exe-cloud.js +9 -9
- package/dist/bin/exe-dispatch.js +11 -11
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +10 -10
- package/dist/bin/exe-forget.js +9 -9
- package/dist/bin/exe-gateway.js +8 -8
- package/dist/bin/exe-healthcheck.js +4 -4
- package/dist/bin/exe-heartbeat.js +11 -11
- package/dist/bin/exe-kill.js +9 -9
- package/dist/bin/exe-launch-agent.js +29 -24
- package/dist/bin/exe-new-employee.js +9 -9
- package/dist/bin/exe-pending-messages.js +12 -12
- package/dist/bin/exe-pending-notifications.js +11 -11
- package/dist/bin/exe-pending-reviews.js +11 -11
- package/dist/bin/exe-rename.js +6 -6
- package/dist/bin/exe-review.js +14 -14
- package/dist/bin/exe-search.js +8 -8
- package/dist/bin/exe-session-cleanup.js +17 -17
- package/dist/bin/exe-settings.js +8 -8
- package/dist/bin/exe-start-codex.js +15 -15
- package/dist/bin/exe-start-opencode.js +11 -11
- package/dist/bin/exe-status.js +12 -12
- package/dist/bin/exe-support.js +4 -4
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +11 -11
- package/dist/bin/graph-backfill.js +9 -9
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/install.js +9 -9
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
- package/dist/bin/scan-tasks.js +11 -11
- package/dist/bin/setup.js +4 -4
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +3 -3
- package/dist/{branding-EKI27T6K.js → branding-ZOKU45NY.js} +2 -2
- package/dist/{capacity-monitor-D3RGDLMN.js → capacity-monitor-7VX6NW5J.js} +12 -12
- package/dist/{catchup-brief-LD2QLE2D.js → catchup-brief-HLGROPH6.js} +14 -14
- package/dist/{chunk-RZK7BZHP.js → chunk-2RCYI7O4.js} +1 -1
- package/dist/{chunk-UYNFWD54.js → chunk-37RJAKHZ.js} +3 -3
- package/dist/{chunk-SFURTBMT.js → chunk-3RT5V3M4.js} +1 -1
- package/dist/{chunk-CQX2WDI5.js → chunk-3XUWTXNC.js} +1 -1
- package/dist/{chunk-JSVRX6IW.js → chunk-47MZMRQZ.js} +7 -7
- package/dist/{chunk-OI3REUP5.js → chunk-4C3NEI64.js} +1 -1
- package/dist/{chunk-GOCW7Z6D.js → chunk-52LCN4JK.js} +1 -1
- package/dist/{chunk-5UCBVXKO.js → chunk-53JBNNU3.js} +1 -1
- package/dist/{chunk-6V6UTSOP.js → chunk-5JIVAJJU.js} +1 -1
- package/dist/{chunk-NMG76472.js → chunk-67WOKLTZ.js} +3 -3
- package/dist/{chunk-XRPIVNFS.js → chunk-76HPWZJC.js} +1 -1
- package/dist/{chunk-32Z4GK25.js → chunk-76R35J76.js} +6 -6
- package/dist/{chunk-DU4ZN7VF.js → chunk-7PJP3TZV.js} +1 -1
- package/dist/{chunk-LFVL3R6H.js → chunk-7YZJUTQ4.js} +2 -2
- package/dist/{chunk-GIGLGGYL.js → chunk-A46SAHYB.js} +1 -1
- package/dist/{chunk-GLVF7ENO.js → chunk-AFEXRICE.js} +1 -1
- package/dist/{chunk-25QUV6FU.js → chunk-AV4RLRM2.js} +64 -14
- package/dist/{chunk-4CBBN2XD.js → chunk-AV77PUPD.js} +122 -68
- package/dist/{chunk-EZUWMBWA.js → chunk-AYUYBWGD.js} +1 -1
- package/dist/{chunk-NFX6MDEO.js → chunk-BNH4LWKE.js} +1 -1
- package/dist/{chunk-CK5ZAMWX.js → chunk-C54PGWHV.js} +3 -3
- package/dist/{chunk-N5MH3CN2.js → chunk-CNNT4QSN.js} +3 -3
- package/dist/{chunk-4AZYVT6A.js → chunk-DSVN3QRR.js} +1 -1
- package/dist/{chunk-Q53ZYTIU.js → chunk-DUXNECD3.js} +2 -2
- package/dist/{chunk-MRX42FAS.js → chunk-EHF676BW.js} +3 -3
- package/dist/{chunk-TJI7DMBT.js → chunk-EOWQ6DMH.js} +7 -7
- package/dist/{chunk-7M3DNYMR.js → chunk-EVP2WD5S.js} +1 -1
- package/dist/{chunk-U3Q3WNGY.js → chunk-EYRQWVPQ.js} +2 -2
- package/dist/{chunk-2NWMGMNH.js → chunk-EZY3BNIW.js} +9 -9
- package/dist/{chunk-JAFHOB5P.js → chunk-FCNKI3SH.js} +1 -1
- package/dist/{chunk-EENNKZMN.js → chunk-GPCQRSAR.js} +2 -2
- package/dist/{chunk-NMT6QFEE.js → chunk-HHKKLWAI.js} +1 -1
- package/dist/{chunk-CBSUVFZ7.js → chunk-HLYXFVVT.js} +2 -2
- package/dist/{chunk-EAVACBVO.js → chunk-IUQL3KZV.js} +2 -2
- package/dist/{chunk-SDYBAMPW.js → chunk-KKYDUT2Z.js} +2 -2
- package/dist/{chunk-4GA5XZWY.js → chunk-KVM3XRPC.js} +2 -2
- package/dist/{chunk-KCLL5ECT.js → chunk-KX3KLDG7.js} +1 -1
- package/dist/{chunk-BSSSCUQJ.js → chunk-LT55GKEK.js} +3 -3
- package/dist/{chunk-DH6N5G4T.js → chunk-LXX2UDWL.js} +1 -1
- package/dist/{chunk-BI3GMMTP.js → chunk-MAA3266Q.js} +1 -1
- package/dist/{chunk-LR3QFARI.js → chunk-MI4RRRX5.js} +24 -15
- package/dist/{chunk-LCZRXRB7.js → chunk-NCVFW4JS.js} +2 -2
- package/dist/{chunk-UYFPFO6Q.js → chunk-OCYP6VU6.js} +6 -6
- package/dist/{chunk-DKWTDULH.js → chunk-PNLYLN6K.js} +2 -2
- package/dist/{chunk-VA42PIIY.js → chunk-QASVYG2B.js} +1 -1
- package/dist/{chunk-MQB2BE3I.js → chunk-QC34Z6ZI.js} +1 -1
- package/dist/{chunk-NWUWTV7B.js → chunk-QLQCSJC4.js} +1 -1
- package/dist/{chunk-F4OU2ETP.js → chunk-QUPRWJKI.js} +91 -39
- package/dist/{chunk-5PZ3HSGP.js → chunk-ROTT6N5K.js} +19 -40
- package/dist/{chunk-4YSDLTCT.js → chunk-SCP545OR.js} +4 -4
- package/dist/{chunk-U7M7ZURS.js → chunk-SI5TLMB6.js} +2 -2
- package/dist/{chunk-S3FDCJNF.js → chunk-SRQXDGUO.js} +6 -6
- package/dist/{chunk-4OHIVMHS.js → chunk-T2WBLUN7.js} +1 -1
- package/dist/{chunk-AJOZXJLJ.js → chunk-TBO4RYRU.js} +1 -1
- package/dist/{chunk-DUDPJVAC.js → chunk-TGR3H3DM.js} +3 -3
- package/dist/{chunk-UB7E2FEB.js → chunk-TLXIKKEG.js} +3 -3
- package/dist/{chunk-UKCSMGNM.js → chunk-UAAOJHVR.js} +2 -2
- package/dist/{chunk-AOJHEMHE.js → chunk-V3YNF3JK.js} +49 -62
- package/dist/{chunk-2OG5NAO2.js → chunk-V6O4GN5M.js} +1 -13
- package/dist/{chunk-FZ23OZL3.js → chunk-VAOAI6DS.js} +6 -0
- package/dist/{chunk-TSPBIMZV.js → chunk-VH2CK32C.js} +1 -1
- package/dist/{chunk-BKEJSHDE.js → chunk-VISRYICE.js} +1 -1
- package/dist/{chunk-SOHGHGWU.js → chunk-VTQRACP7.js} +2 -2
- package/dist/{chunk-E2KEN3PG.js → chunk-WDN5IY66.js} +1 -1
- package/dist/{chunk-55LEDLDE.js → chunk-WLW7QV2C.js} +3 -3
- package/dist/{chunk-P2YTTKPR.js → chunk-XCTQO7TN.js} +1 -1
- package/dist/{chunk-LGPTAJZC.js → chunk-XMAP37LE.js} +1 -1
- package/dist/{chunk-CHXX73NX.js → chunk-XSF6G7O2.js} +3 -3
- package/dist/{chunk-ITJMONDK.js → chunk-YEXCXJRS.js} +1 -1
- package/dist/{chunk-4JZNDVZH.js → chunk-YGHMRSH5.js} +4 -5
- package/dist/{chunk-7BPUBHGW.js → chunk-YPQMQWA2.js} +2 -2
- package/dist/{chunk-JMMY24KD.js → chunk-YRLMCI3J.js} +4 -4
- package/dist/{chunk-LD6WE7DK.js → chunk-YSRJHKHL.js} +2 -2
- package/dist/{chunk-6EZRMPDA.js → chunk-ZCYQZQTA.js} +1 -1
- package/dist/{chunk-LNX37VPO.js → chunk-ZK3WQY7Q.js} +2 -2
- package/dist/{code-context-index-XCX6HB3T.js → code-context-index-WCJ6RWCY.js} +5 -5
- package/dist/{conversation-entity-extractor-FJNOZ4DO.js → conversation-entity-extractor-7S4JFUOM.js} +1 -1
- package/dist/{conversation-wiki-populator-HAW3EQD5.js → conversation-wiki-populator-H6WM5SFU.js} +1 -1
- package/dist/{crdt-sync-WXVYQ5ZO.js → crdt-sync-WYAIMNUX.js} +1 -1
- package/dist/{crm-webhook-HGUHXI6W.js → crm-webhook-PIFEQH7A.js} +2 -2
- package/dist/{cto-delegation-gate-RJ5EVOY3.js → cto-delegation-gate-MKIVEDB4.js} +10 -10
- package/dist/{daemon-auth-VXM7MOF4.js → daemon-auth-5WZWXJWL.js} +3 -3
- package/dist/{daemon-orchestration-3E3BIK7E.js → daemon-orchestration-RZLIILS6.js} +14 -14
- package/dist/{db-backup-YHDR4SXR.js → db-backup-K2M7HENN.js} +3 -3
- package/dist/{exe-drift-DBY7PC3H.js → exe-drift-2LL7OCRF.js} +5 -5
- package/dist/{exe-export-FQPQCBDA.js → exe-export-TQZ6FVKC.js} +8 -8
- package/dist/{exe-import-7CML2REU.js → exe-import-PB3VIFF7.js} +8 -8
- package/dist/{exe-key-KNR4LT2L.js → exe-key-BZTGYI2O.js} +5 -5
- package/dist/{exe-org-QKK7M6FR.js → exe-org-7ZJNIBL2.js} +3 -3
- package/dist/{fast-db-init-ADRYLHUA.js → fast-db-init-TLDOE64G.js} +1 -1
- package/dist/gateway/index.js +9 -9
- package/dist/{gateway-client-CJNSI4GG.js → gateway-client-E4UWC45R.js} +1 -1
- package/dist/{git-staleness-OL7J5CXL.js → git-staleness-QXWQPH74.js} +4 -4
- package/dist/{git-task-sweep-O4OIPQB3.js → git-task-sweep-HELKXKNQ.js} +11 -11
- package/dist/{global-procedures-L7AN2A5W.js → global-procedures-4BN6BD4N.js} +5 -5
- package/dist/{graph-rag-V3JU7GYG.js → graph-rag-73U3RTBB.js} +1 -1
- package/dist/{hook-integrity-HESSTSAK.js → hook-integrity-LAWB6YQH.js} +1 -1
- package/dist/hooks/bug-report-worker.js +13 -13
- package/dist/hooks/codex-stop-task-finalizer.js +13 -13
- package/dist/hooks/commit-complete.js +13 -13
- package/dist/hooks/error-recall.js +9 -9
- package/dist/hooks/exe-heartbeat-hook.js +5 -5
- package/dist/hooks/ingest-worker.js +6 -6
- package/dist/hooks/ingest.js +13 -13
- package/dist/hooks/instructions-loaded.js +6 -6
- package/dist/hooks/notification.js +6 -6
- package/dist/hooks/post-compact.js +12 -12
- package/dist/hooks/post-tool-combined.js +5 -5
- package/dist/hooks/pre-compact.js +17 -17
- package/dist/hooks/pre-tool-use.js +16 -16
- package/dist/hooks/prompt-submit.js +48 -31
- package/dist/hooks/session-end.js +21 -21
- package/dist/hooks/session-start.js +8 -8
- package/dist/hooks/stop.js +39 -18
- package/dist/hooks/subagent-stop.js +12 -12
- package/dist/hooks/summary-worker.js +21 -21
- package/dist/index.js +18 -18
- package/dist/{installer-JF7ARD2O.js → installer-2O362XY7.js} +8 -8
- package/dist/{installer-4YA7JGL4.js → installer-BIDJSBAP.js} +8 -8
- package/dist/{installer-ZF7VAXAE.js → installer-OYGB6GAI.js} +8 -8
- package/dist/{key-backup-status-M4W77D3P.js → key-backup-status-2CMNBKEM.js} +2 -2
- package/dist/lib/agent-config.js +3 -3
- package/dist/lib/cloud-sync.js +7 -7
- package/dist/lib/config.js +2 -2
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/database.js +4 -4
- package/dist/lib/db-daemon-client.js +4 -4
- package/dist/lib/db.js +4 -4
- package/dist/lib/device-registry.js +2 -2
- package/dist/lib/embedder.js +5 -5
- package/dist/lib/employee-templates.js +6 -6
- package/dist/lib/employees.js +4 -4
- package/dist/lib/exe-daemon-client.js +4 -4
- package/dist/lib/exe-daemon.js +157 -84
- package/dist/lib/hybrid-search.js +8 -8
- package/dist/lib/identity.js +4 -4
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +3 -3
- package/dist/lib/messaging.js +11 -11
- package/dist/lib/reminders.js +5 -5
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/skill-learning.js +6 -6
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +5 -5
- package/dist/lib/tasks.js +12 -12
- package/dist/lib/tmux-routing.js +10 -10
- package/dist/lib/token-spend.js +5 -5
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-P6NDW4Z3.js → license-gate-PAW5WWP6.js} +4 -4
- package/dist/mcp/register-tools.js +61 -61
- package/dist/mcp/server.js +64 -64
- package/dist/mcp/tools/complete-reminder.js +6 -6
- package/dist/mcp/tools/create-reminder.js +6 -6
- package/dist/mcp/tools/create-task.js +14 -14
- package/dist/mcp/tools/deactivate-behavior.js +7 -7
- package/dist/mcp/tools/list-reminders.js +6 -6
- package/dist/mcp/tools/list-tasks.js +14 -14
- package/dist/mcp/tools/send-message.js +13 -13
- package/dist/mcp/tools/update-task.js +13 -13
- package/dist/{mcp-http-config-TIY7CLWB.js → mcp-http-config-GLSLF2OL.js} +5 -5
- package/dist/{memory-cards-MQBULX5V.js → memory-cards-PCZ2KWMN.js} +4 -4
- package/dist/{memory-poisoning-defense-EHSL5PZW.js → memory-poisoning-defense-JY4NU3AY.js} +4 -4
- package/dist/{memory-queue-6YCGHJLQ.js → memory-queue-7N7ZEY2K.js} +3 -3
- package/dist/memory-queue-client-W63JO34U.js +14 -0
- package/dist/{memory-reflection-OTJBCQWK.js → memory-reflection-IVHZRUQQ.js} +4 -4
- package/dist/{notifications-APKWB63A.js → notifications-FCTKUQAU.js} +10 -10
- package/dist/oauth-server-S45RTRRF.js +437 -0
- package/dist/{orchestration-phase-365P32CD.js → orchestration-phase-NTQZNPAZ.js} +3 -3
- package/dist/{orchestrator-W62CLQLP.js → orchestrator-VQL47YQP.js} +12 -12
- package/dist/{plan-limits-BO2HMJ6S.js → plan-limits-TK4424RV.js} +6 -6
- package/dist/{preferences-M7KQYRR2.js → preferences-5YRRHGXS.js} +2 -2
- package/dist/{projection-worker-6TGUPMLY.js → projection-worker-YIJ7Q66A.js} +3 -3
- package/dist/{push-notifications-2SBCAIA2.js → push-notifications-66EQCPHZ.js} +3 -3
- package/dist/{reranker-LV5BQIF4.js → reranker-2BSQ2V5M.js} +3 -3
- package/dist/runtime/index.js +13 -13
- package/dist/{session-events-SR2WX2X4.js → session-events-JZPK3UUM.js} +11 -11
- package/dist/{session-kill-telemetry-N2IKZK33.js → session-kill-telemetry-2IB6IQSS.js} +5 -5
- package/dist/{session-scope-S5DODJU4.js → session-scope-QPBPO5XV.js} +11 -11
- package/dist/setup-wizard-UFLDL2QP.js +12 -0
- package/dist/{shard-manager-3MDFLDOZ.js → shard-manager-IIII7AAS.js} +3 -3
- package/dist/{task-enforcement-L7EGD6LJ.js → task-enforcement-VDCQ5H3H.js} +10 -10
- package/dist/{task-scope-QNRAYD7S.js → task-scope-YIPIPEVK.js} +10 -10
- package/dist/{tasks-crud-JHHIROCS.js → tasks-crud-E4B3ORQX.js} +10 -10
- package/dist/{tasks-review-TXMVOOFN.js → tasks-review-6Y7IB572.js} +10 -10
- package/dist/token-budget-VX5ZTLAG.js +85 -0
- package/dist/{tool-capability-index-7OF3LF4X.js → tool-capability-index-JBS2FDIG.js} +1 -1
- package/dist/{tool-telemetry-QPGPBV5R.js → tool-telemetry-ASYRVRIY.js} +1 -1
- package/dist/tui/App.js +36 -29
- package/dist/{tui-data-65WM7L5Q.js → tui-data-UHFRO64P.js} +10 -10
- package/dist/{worker-gate-WM2RGEZE.js → worker-gate-CVWHVSX3.js} +3 -3
- package/dist/{workflow-engine-PK2TC7UE.js → workflow-engine-2XZK77ZX.js} +2 -2
- package/dist/{worktree-XQM3YNKR.js → worktree-O2DKCB33.js} +1 -1
- package/package.json +1 -1
- package/release-notes.json +158 -154
- package/dist/memory-queue-client-SZZDOZXE.js +0 -14
- package/dist/setup-wizard-H4TZHU36.js +0 -12
- /package/dist/{chunk-JZB67O4M.js → chunk-5OANXJSV.js} +0 -0
- /package/dist/{chunk-267IKUT5.js → chunk-CO7XAJJ2.js} +0 -0
- /package/dist/{chunk-NGAZPQQY.js → chunk-E3ZIGQH4.js} +0 -0
- /package/dist/{chunk-HBV3HSER.js → chunk-GGFH5MTN.js} +0 -0
- /package/dist/{chunk-72O7CSKA.js → chunk-QBLI377G.js} +0 -0
- /package/dist/{chunk-7A2YCQNM.js → chunk-TDIUACZ6.js} +0 -0
- /package/dist/{chunk-NSA2JWNP.js → chunk-V2UBYCSC.js} +0 -0
- /package/dist/{chunk-XIIVMIS4.js → chunk-VKFBVBAN.js} +0 -0
- /package/dist/{core-memory-N74JWH4M.js → core-memory-N2SN7CF5.js} +0 -0
- /package/dist/{entity-boost-27ENEPYC.js → entity-boost-62SBVNCD.js} +0 -0
- /package/dist/{message-queue-client-2YTGEB5H.js → message-queue-client-3RWYNZIR.js} +0 -0
- /package/dist/{webhook-pipe-VOUF2Y43.js → webhook-pipe-B6Z2QMRY.js} +0 -0
- /package/dist/{wiki-acl-BIEVKTJC.js → wiki-acl-OSBQJD2E.js} +0 -0
- /package/dist/{wiki-client-NGWOSMCV.js → wiki-client-TDZ74RHN.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isCrdtSyncEnabled
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5OANXJSV.js";
|
|
4
4
|
import {
|
|
5
5
|
decryptSyncBlob,
|
|
6
6
|
encryptSyncBlob,
|
|
@@ -15,20 +15,22 @@ import {
|
|
|
15
15
|
loadEmployees,
|
|
16
16
|
registerBinSymlinks,
|
|
17
17
|
saveEmployees
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WLW7QV2C.js";
|
|
19
19
|
import {
|
|
20
20
|
init_license,
|
|
21
21
|
loadDeviceId
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AFEXRICE.js";
|
|
23
23
|
import {
|
|
24
24
|
EXE_AI_DIR,
|
|
25
25
|
init_config
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QASVYG2B.js";
|
|
27
27
|
import {
|
|
28
|
+
atomicWriteJsonSync,
|
|
29
|
+
atomicWriteSync,
|
|
28
30
|
enforcePrivateFileSync,
|
|
29
31
|
ensurePrivateDirSync,
|
|
30
32
|
init_secure_files
|
|
31
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VAOAI6DS.js";
|
|
32
34
|
|
|
33
35
|
// src/lib/cloud-sync.ts
|
|
34
36
|
init_database();
|
|
@@ -484,7 +486,7 @@ async function cloudSync(config) {
|
|
|
484
486
|
let pulled = 0;
|
|
485
487
|
if (pullResult.records.length > 0) {
|
|
486
488
|
if (isCrdtSyncEnabled()) {
|
|
487
|
-
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-
|
|
489
|
+
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-WYAIMNUX.js");
|
|
488
490
|
initCrdtDoc();
|
|
489
491
|
importExistingMemories(
|
|
490
492
|
pullResult.records.map((rec) => ({
|
|
@@ -853,7 +855,7 @@ async function cloudSync(config) {
|
|
|
853
855
|
}
|
|
854
856
|
const totalMemories = await countRows("SELECT COUNT(*) as cnt FROM memories WHERE status = 'active' OR status IS NULL");
|
|
855
857
|
try {
|
|
856
|
-
const { getLatestBackup } = await import("./db-backup-
|
|
858
|
+
const { getLatestBackup } = await import("./db-backup-K2M7HENN.js");
|
|
857
859
|
const latestBackup = getLatestBackup();
|
|
858
860
|
if (latestBackup) {
|
|
859
861
|
const backupSize = statSync(latestBackup).size;
|
|
@@ -915,13 +917,13 @@ function recordRosterDeletion(name) {
|
|
|
915
917
|
process.stderr.write("[cloud-sync] roster-deletions.json read failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
916
918
|
}
|
|
917
919
|
if (!deletions.includes(name)) deletions.push(name);
|
|
918
|
-
|
|
920
|
+
atomicWriteJsonSync(ROSTER_DELETIONS_PATH, deletions);
|
|
919
921
|
}
|
|
920
922
|
function consumeRosterDeletions() {
|
|
921
923
|
try {
|
|
922
924
|
if (!existsSync(ROSTER_DELETIONS_PATH)) return [];
|
|
923
925
|
const deletions = JSON.parse(readFileSync(ROSTER_DELETIONS_PATH, "utf-8"));
|
|
924
|
-
|
|
926
|
+
atomicWriteJsonSync(ROSTER_DELETIONS_PATH, []);
|
|
925
927
|
return deletions;
|
|
926
928
|
} catch (e) {
|
|
927
929
|
process.stderr.write("[cloud-sync] consumeRosterDeletions failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
@@ -1053,7 +1055,7 @@ function mergeConfig(remoteConfig, configPath) {
|
|
|
1053
1055
|
const merged = { ...remoteConfig, ...local };
|
|
1054
1056
|
const dir = path.dirname(cfgPath);
|
|
1055
1057
|
ensurePrivateDirSync(dir);
|
|
1056
|
-
|
|
1058
|
+
atomicWriteSync(cfgPath, JSON.stringify(merged, null, 2) + "\n");
|
|
1057
1059
|
enforcePrivateFileSync(cfgPath);
|
|
1058
1060
|
}
|
|
1059
1061
|
async function mergeRosterFromRemote(remote, paths) {
|
|
@@ -1090,7 +1092,7 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1090
1092
|
process.stderr.write("[cloud-sync] local identity file read failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
1091
1093
|
}
|
|
1092
1094
|
if (localIdentity !== remoteIdentity) {
|
|
1093
|
-
|
|
1095
|
+
atomicWriteSync(idPath, remoteIdentity);
|
|
1094
1096
|
identitiesUpdated++;
|
|
1095
1097
|
}
|
|
1096
1098
|
}
|
|
@@ -1128,7 +1130,7 @@ async function mergeRosterFromRemote(remote, paths) {
|
|
|
1128
1130
|
}
|
|
1129
1131
|
const merged = { ...remote.agentConfig, ...local };
|
|
1130
1132
|
ensurePrivateDirSync(path.dirname(agentConfigPath));
|
|
1131
|
-
|
|
1133
|
+
atomicWriteSync(agentConfigPath, JSON.stringify(merged, null, 2) + "\n");
|
|
1132
1134
|
enforcePrivateFileSync(agentConfigPath);
|
|
1133
1135
|
} catch (e) {
|
|
1134
1136
|
process.stderr.write("[cloud-sync] agent-config merge failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
@@ -1422,34 +1424,11 @@ async function cloudPullTasks(config) {
|
|
|
1422
1424
|
if (!remoteTasks || remoteTasks.length === 0) return { pulled: 0 };
|
|
1423
1425
|
const client = getClient();
|
|
1424
1426
|
const stmts = remoteTasks.map((t) => ({
|
|
1425
|
-
sql: `INSERT INTO tasks
|
|
1427
|
+
sql: `INSERT OR IGNORE INTO tasks
|
|
1426
1428
|
(id, title, assigned_to, assigned_by, project_name, priority, status, task_file, created_at, updated_at,
|
|
1427
1429
|
blocked_by, parent_task_id, budget_tokens, budget_fallback_model, tokens_used, tokens_warned_at,
|
|
1428
1430
|
reviewer, context, complexity, session_scope, spawn_runtime, spawn_model, result)
|
|
1429
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1430
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
1431
|
-
title = excluded.title,
|
|
1432
|
-
assigned_to = excluded.assigned_to,
|
|
1433
|
-
assigned_by = excluded.assigned_by,
|
|
1434
|
-
project_name = excluded.project_name,
|
|
1435
|
-
priority = excluded.priority,
|
|
1436
|
-
status = excluded.status,
|
|
1437
|
-
task_file = excluded.task_file,
|
|
1438
|
-
updated_at = excluded.updated_at,
|
|
1439
|
-
blocked_by = excluded.blocked_by,
|
|
1440
|
-
parent_task_id = excluded.parent_task_id,
|
|
1441
|
-
budget_tokens = excluded.budget_tokens,
|
|
1442
|
-
budget_fallback_model = excluded.budget_fallback_model,
|
|
1443
|
-
tokens_used = excluded.tokens_used,
|
|
1444
|
-
tokens_warned_at = excluded.tokens_warned_at,
|
|
1445
|
-
reviewer = COALESCE(excluded.reviewer, tasks.reviewer),
|
|
1446
|
-
context = COALESCE(excluded.context, tasks.context),
|
|
1447
|
-
complexity = COALESCE(excluded.complexity, tasks.complexity),
|
|
1448
|
-
session_scope = COALESCE(excluded.session_scope, tasks.session_scope),
|
|
1449
|
-
spawn_runtime = COALESCE(excluded.spawn_runtime, tasks.spawn_runtime),
|
|
1450
|
-
spawn_model = COALESCE(excluded.spawn_model, tasks.spawn_model),
|
|
1451
|
-
result = COALESCE(excluded.result, tasks.result)
|
|
1452
|
-
WHERE excluded.updated_at > tasks.updated_at`,
|
|
1431
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
1453
1432
|
args: [
|
|
1454
1433
|
sqlSafe(t.id),
|
|
1455
1434
|
sqlSafe(t.title),
|
|
@@ -1633,7 +1612,7 @@ async function cloudPushCodeContext(config) {
|
|
|
1633
1612
|
}
|
|
1634
1613
|
if (pushed > 0) {
|
|
1635
1614
|
try {
|
|
1636
|
-
|
|
1615
|
+
atomicWriteJsonSync(metaPath, syncMeta);
|
|
1637
1616
|
} catch (e) {
|
|
1638
1617
|
process.stderr.write("[cloud-sync] code-context sync-meta write failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
1639
1618
|
}
|
|
@@ -1662,12 +1641,12 @@ async function cloudPullCodeContext(config) {
|
|
|
1662
1641
|
const compressed = decryptSyncBlob(blob);
|
|
1663
1642
|
const content = decompress(compressed).toString("utf8");
|
|
1664
1643
|
if (!existsSync(localPath)) {
|
|
1665
|
-
|
|
1644
|
+
atomicWriteSync(localPath, content);
|
|
1666
1645
|
pulled++;
|
|
1667
1646
|
} else {
|
|
1668
1647
|
const localContent = readFileSync(localPath, "utf-8");
|
|
1669
1648
|
if (localContent.length !== content.length) {
|
|
1670
|
-
|
|
1649
|
+
atomicWriteSync(localPath, content);
|
|
1671
1650
|
pulled++;
|
|
1672
1651
|
}
|
|
1673
1652
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MultiAgentOrchestrator
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-37RJAKHZ.js";
|
|
4
4
|
import {
|
|
5
5
|
createQuietRenderer,
|
|
6
6
|
createTerminalRenderer,
|
|
@@ -211,7 +211,7 @@ function createExeOSHooks(config) {
|
|
|
211
211
|
);
|
|
212
212
|
}
|
|
213
213
|
try {
|
|
214
|
-
const { listBehaviors } = await import("./behaviors-
|
|
214
|
+
const { listBehaviors } = await import("./behaviors-A4W3CBE5.js");
|
|
215
215
|
const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
|
|
216
216
|
if (behaviors.length > 0) {
|
|
217
217
|
process.stderr.write(
|
|
@@ -332,7 +332,7 @@ function createExeOSHooks(config) {
|
|
|
332
332
|
async onSubagentStop(_reason) {
|
|
333
333
|
try {
|
|
334
334
|
const { getClient } = await import("./lib/database.js");
|
|
335
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
335
|
+
const { sessionScopeFilter } = await import("./task-scope-YIPIPEVK.js");
|
|
336
336
|
const client = getClient();
|
|
337
337
|
const ehScope = sessionScopeFilter();
|
|
338
338
|
const tasks = await client.execute({
|
|
@@ -424,7 +424,7 @@ function createExeOSHooks(config) {
|
|
|
424
424
|
try {
|
|
425
425
|
const { writeMemory, flushBatch } = await import("./lib/store.js");
|
|
426
426
|
const { getClient } = await import("./lib/database.js");
|
|
427
|
-
const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-
|
|
427
|
+
const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-YIPIPEVK.js");
|
|
428
428
|
const client = getClient();
|
|
429
429
|
const cpScope = cpScopeFilter();
|
|
430
430
|
const tasks = await client.execute({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
vectorToBlob
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MI4RRRX5.js";
|
|
4
4
|
import {
|
|
5
5
|
init_employees,
|
|
6
6
|
isCoordinatorName
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WLW7QV2C.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/consolidation.ts
|
|
10
10
|
import { randomUUID } from "crypto";
|
|
@@ -589,7 +589,7 @@ function auditHookOwnership() {
|
|
|
589
589
|
}
|
|
590
590
|
async function auditShards() {
|
|
591
591
|
try {
|
|
592
|
-
const { auditShardHealth } = await import("./shard-manager-
|
|
592
|
+
const { auditShardHealth } = await import("./shard-manager-IIII7AAS.js");
|
|
593
593
|
const report = await auditShardHealth();
|
|
594
594
|
return {
|
|
595
595
|
total: report.total,
|
|
@@ -605,7 +605,7 @@ async function auditShards() {
|
|
|
605
605
|
async function auditKeyHealth() {
|
|
606
606
|
try {
|
|
607
607
|
const { getMasterKey } = await import("./lib/keychain.js");
|
|
608
|
-
const { getKeyBackupStatus } = await import("./key-backup-status-
|
|
608
|
+
const { getKeyBackupStatus } = await import("./key-backup-status-2CMNBKEM.js");
|
|
609
609
|
const key = await getMasterKey();
|
|
610
610
|
const backup = getKeyBackupStatus();
|
|
611
611
|
return {
|
|
@@ -830,7 +830,7 @@ function formatReport(report, flags) {
|
|
|
830
830
|
return lines.join("\n");
|
|
831
831
|
}
|
|
832
832
|
async function fixNullVectors() {
|
|
833
|
-
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-
|
|
833
|
+
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-CVWHVSX3.js");
|
|
834
834
|
if (!tryAcquireWorkerSlot()) {
|
|
835
835
|
process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
|
|
836
836
|
await new Promise((r) => setTimeout(r, 5e3));
|
|
@@ -914,7 +914,7 @@ async function fixBloated(client, bloated, dryRun) {
|
|
|
914
914
|
return chunksCreated;
|
|
915
915
|
}
|
|
916
916
|
async function fixShards(dryRun) {
|
|
917
|
-
const { auditShardHealth } = await import("./shard-manager-
|
|
917
|
+
const { auditShardHealth } = await import("./shard-manager-IIII7AAS.js");
|
|
918
918
|
const report = await auditShardHealth({ repair: true, dryRun });
|
|
919
919
|
return {
|
|
920
920
|
total: report.total,
|
|
@@ -951,7 +951,7 @@ function splitAtSentences(text, maxChunkSize) {
|
|
|
951
951
|
}
|
|
952
952
|
async function main(argv = process.argv.slice(2)) {
|
|
953
953
|
const flags = parseFlags(argv);
|
|
954
|
-
const { fastDbInit } = await import("./fast-db-init-
|
|
954
|
+
const { fastDbInit } = await import("./fast-db-init-TLDOE64G.js");
|
|
955
955
|
const client = await fastDbInit();
|
|
956
956
|
const report = await runAudit(client, flags);
|
|
957
957
|
console.log(formatReport(report, flags));
|
|
@@ -962,7 +962,7 @@ ${mode} Applying repairs...
|
|
|
962
962
|
`);
|
|
963
963
|
if (!flags.dryRun) {
|
|
964
964
|
try {
|
|
965
|
-
const { createBackup } = await import("./db-backup-
|
|
965
|
+
const { createBackup } = await import("./db-backup-K2M7HENN.js");
|
|
966
966
|
const backupPath = createBackup("pre-fix");
|
|
967
967
|
if (backupPath) {
|
|
968
968
|
console.log(` Backup created: ${backupPath.split("/").pop()}`);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deactivateBehavior,
|
|
3
3
|
init_behaviors
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BNH4LWKE.js";
|
|
5
5
|
import {
|
|
6
6
|
getActiveAgent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HLYXFVVT.js";
|
|
8
8
|
import {
|
|
9
9
|
canCoordinate,
|
|
10
10
|
getClient,
|
|
11
11
|
init_database,
|
|
12
12
|
init_employees
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WLW7QV2C.js";
|
|
14
14
|
|
|
15
15
|
// src/mcp/tools/deactivate-behavior.ts
|
|
16
16
|
init_behaviors();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_session_kill_telemetry,
|
|
3
3
|
recordSessionKill
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AYUYBWGD.js";
|
|
5
5
|
import {
|
|
6
6
|
init_notifications,
|
|
7
7
|
init_task_scope,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
sessionScopeFilter,
|
|
10
10
|
verifyPaneAtCapacity,
|
|
11
11
|
writeNotification
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-V3YNF3JK.js";
|
|
13
13
|
import {
|
|
14
14
|
init_session_registry,
|
|
15
15
|
listSessions
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
init_database,
|
|
24
24
|
init_employees,
|
|
25
25
|
isCoordinatorName
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-WLW7QV2C.js";
|
|
27
27
|
import {
|
|
28
28
|
__esm
|
|
29
29
|
} from "./chunk-KFQGP6VL.js";
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
ensureDaemonToken,
|
|
3
3
|
init_daemon_auth,
|
|
4
4
|
readDaemonToken
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KKYDUT2Z.js";
|
|
6
6
|
import {
|
|
7
7
|
EXE_AI_DIR,
|
|
8
8
|
init_config
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-QASVYG2B.js";
|
|
10
10
|
import {
|
|
11
11
|
__esm
|
|
12
12
|
} from "./chunk-KFQGP6VL.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
2
|
+
ensureWorktree,
|
|
3
|
+
init_worktree
|
|
4
|
+
} from "./chunk-V6O4GN5M.js";
|
|
5
5
|
import {
|
|
6
6
|
init_intercom_queue,
|
|
7
7
|
queueIntercom
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-57HCNSFO.js";
|
|
17
17
|
import {
|
|
18
18
|
init_tmux_status,
|
|
19
|
-
|
|
19
|
+
listTmuxSessions
|
|
20
20
|
} from "./chunk-DC4ZD76Y.js";
|
|
21
21
|
import {
|
|
22
22
|
DEFAULT_PROVIDER,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
getAgentRuntime,
|
|
32
32
|
init_agent_config,
|
|
33
33
|
normalizeCcModelName
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-VTQRACP7.js";
|
|
35
35
|
import {
|
|
36
36
|
RUNTIME_TABLE,
|
|
37
37
|
init_runtime_table
|
|
@@ -40,13 +40,13 @@ import {
|
|
|
40
40
|
PlanLimitError,
|
|
41
41
|
assertEmployeeLimitSync,
|
|
42
42
|
init_plan_limits
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-67WOKLTZ.js";
|
|
44
44
|
import {
|
|
45
45
|
getSessionKey,
|
|
46
46
|
init_session_key
|
|
47
47
|
} from "./chunk-HP43GLZ6.js";
|
|
48
48
|
import {
|
|
49
|
-
|
|
49
|
+
getAgentContext,
|
|
50
50
|
init_agent_context
|
|
51
51
|
} from "./chunk-ELE2C7L4.js";
|
|
52
52
|
import {
|
|
@@ -56,14 +56,13 @@ import {
|
|
|
56
56
|
import {
|
|
57
57
|
ensureAgentSymlink,
|
|
58
58
|
init_agent_symlinks
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-7PJP3TZV.js";
|
|
60
60
|
import {
|
|
61
61
|
expandDualPrefixTools,
|
|
62
62
|
init_mcp_prefix
|
|
63
63
|
} from "./chunk-6BFIFI5F.js";
|
|
64
64
|
import {
|
|
65
65
|
baseAgentName,
|
|
66
|
-
employees_exports,
|
|
67
66
|
getClient,
|
|
68
67
|
getCoordinatorName,
|
|
69
68
|
getEmployee,
|
|
@@ -72,20 +71,23 @@ import {
|
|
|
72
71
|
isCoordinatorName,
|
|
73
72
|
loadEmployees,
|
|
74
73
|
loadEmployeesSync
|
|
75
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-WLW7QV2C.js";
|
|
76
75
|
import {
|
|
77
76
|
init_license,
|
|
78
77
|
loadDeviceId
|
|
79
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-AFEXRICE.js";
|
|
80
79
|
import {
|
|
81
80
|
EXE_AI_DIR,
|
|
82
81
|
init_config
|
|
83
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-QASVYG2B.js";
|
|
83
|
+
import {
|
|
84
|
+
atomicWriteJsonSync,
|
|
85
|
+
atomicWriteSync,
|
|
86
|
+
init_secure_files
|
|
87
|
+
} from "./chunk-VAOAI6DS.js";
|
|
84
88
|
import {
|
|
85
89
|
__esm,
|
|
86
|
-
__export
|
|
87
|
-
__require,
|
|
88
|
-
__toCommonJS
|
|
90
|
+
__export
|
|
89
91
|
} from "./chunk-KFQGP6VL.js";
|
|
90
92
|
|
|
91
93
|
// src/lib/routing-log.ts
|
|
@@ -319,8 +321,8 @@ async function createTaskCore(input) {
|
|
|
319
321
|
const { resolveExeSession: resolveExeSession2 } = await import("./lib/tmux-routing.js");
|
|
320
322
|
const resolved = resolveExeSession2();
|
|
321
323
|
try {
|
|
322
|
-
const { getAgentContext } = await import("./agent-context-CDWUZEXY.js");
|
|
323
|
-
callerSession =
|
|
324
|
+
const { getAgentContext: getAgentContext2 } = await import("./agent-context-CDWUZEXY.js");
|
|
325
|
+
callerSession = getAgentContext2()?.sessionHint ?? "";
|
|
324
326
|
} catch {
|
|
325
327
|
}
|
|
326
328
|
if (!callerSession) {
|
|
@@ -345,7 +347,7 @@ async function createTaskCore(input) {
|
|
|
345
347
|
if (isCoordinatorSession) {
|
|
346
348
|
earlySessionScope = resolved;
|
|
347
349
|
} else {
|
|
348
|
-
const { getSessionProject } = await import("./session-scope-
|
|
350
|
+
const { getSessionProject } = await import("./session-scope-QPBPO5XV.js");
|
|
349
351
|
const sessionProject = getSessionProject(resolved);
|
|
350
352
|
if (sessionProject && sessionProject !== input.projectName) {
|
|
351
353
|
scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
|
|
@@ -1111,18 +1113,6 @@ var init_notifications = __esm({
|
|
|
1111
1113
|
});
|
|
1112
1114
|
|
|
1113
1115
|
// src/lib/tasks-review.ts
|
|
1114
|
-
var tasks_review_exports = {};
|
|
1115
|
-
__export(tasks_review_exports, {
|
|
1116
|
-
cleanupOrphanedReviews: () => cleanupOrphanedReviews,
|
|
1117
|
-
cleanupReviewFile: () => cleanupReviewFile,
|
|
1118
|
-
countNewPendingReviewsSince: () => countNewPendingReviewsSince,
|
|
1119
|
-
countPendingReviews: () => countPendingReviews,
|
|
1120
|
-
createReviewForCompletedTask: () => createReviewForCompletedTask,
|
|
1121
|
-
formatAge: () => formatAge,
|
|
1122
|
-
getReviewChecklist: () => getReviewChecklist,
|
|
1123
|
-
isStale: () => isStale,
|
|
1124
|
-
listPendingReviews: () => listPendingReviews
|
|
1125
|
-
});
|
|
1126
1116
|
import path4 from "path";
|
|
1127
1117
|
import { existsSync as existsSync4, readdirSync as readdirSync2, unlinkSync as unlinkSync2 } from "fs";
|
|
1128
1118
|
function formatAge(isoTimestamp) {
|
|
@@ -1461,7 +1451,7 @@ __export(tmux_routing_exports, {
|
|
|
1461
1451
|
verifyPaneAtCapacity: () => verifyPaneAtCapacity
|
|
1462
1452
|
});
|
|
1463
1453
|
import { execFileSync, execSync as execSync2 } from "child_process";
|
|
1464
|
-
import { readFileSync as readFileSync3, writeFileSync, mkdirSync as mkdirSync2, existsSync as existsSync5, appendFileSync as appendFileSync2, readdirSync as readdirSync3 } from "fs";
|
|
1454
|
+
import { readFileSync as readFileSync3, writeFileSync, mkdirSync as mkdirSync2, existsSync as existsSync5, appendFileSync as appendFileSync2, readdirSync as readdirSync3, openSync, closeSync, writeSync, renameSync, constants } from "fs";
|
|
1465
1455
|
import path5 from "path";
|
|
1466
1456
|
import os4 from "os";
|
|
1467
1457
|
import { fileURLToPath } from "url";
|
|
@@ -1483,8 +1473,6 @@ function acquireSpawnLock(sessionName) {
|
|
|
1483
1473
|
}
|
|
1484
1474
|
const lockFile = spawnLockPath(sessionName);
|
|
1485
1475
|
const lockData = JSON.stringify({ pid: process.pid, timestamp: Date.now() });
|
|
1486
|
-
const { openSync, closeSync, writeSync } = __require("fs");
|
|
1487
|
-
const { constants } = __require("fs");
|
|
1488
1476
|
try {
|
|
1489
1477
|
const fd = openSync(lockFile, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 420);
|
|
1490
1478
|
writeSync(fd, lockData);
|
|
@@ -1501,7 +1489,6 @@ function acquireSpawnLock(sessionName) {
|
|
|
1501
1489
|
if (isProcessAlive(lock.pid) && age < 6e4) {
|
|
1502
1490
|
return false;
|
|
1503
1491
|
}
|
|
1504
|
-
const { renameSync } = __require("fs");
|
|
1505
1492
|
const tmpName = `${lockFile}.stale-${process.pid}-${Date.now()}`;
|
|
1506
1493
|
try {
|
|
1507
1494
|
renameSync(lockFile, tmpName);
|
|
@@ -1515,7 +1502,6 @@ function acquireSpawnLock(sessionName) {
|
|
|
1515
1502
|
return false;
|
|
1516
1503
|
}
|
|
1517
1504
|
} catch {
|
|
1518
|
-
const { renameSync } = __require("fs");
|
|
1519
1505
|
const tmpName = `${lockFile}.stale-${process.pid}-${Date.now()}`;
|
|
1520
1506
|
try {
|
|
1521
1507
|
renameSync(lockFile, tmpName);
|
|
@@ -1608,7 +1594,7 @@ function extractRootExe(name) {
|
|
|
1608
1594
|
if (!name) return null;
|
|
1609
1595
|
if (!name.includes("-")) return name;
|
|
1610
1596
|
try {
|
|
1611
|
-
const roster =
|
|
1597
|
+
const roster = loadEmployeesSync();
|
|
1612
1598
|
if (roster.length > 0) {
|
|
1613
1599
|
const sortedNames = roster.map((e) => e.name).sort((a, b) => b.length - a.length);
|
|
1614
1600
|
for (const agentName of sortedNames) {
|
|
@@ -1633,11 +1619,11 @@ function registerParentExe(sessionKey, parentExe, dispatchedBy) {
|
|
|
1633
1619
|
}
|
|
1634
1620
|
const rootExe = extractRootExe(parentExe) ?? parentExe;
|
|
1635
1621
|
const filePath = path5.join(SESSION_CACHE, `parent-exe-${sessionKey}.json`);
|
|
1636
|
-
|
|
1622
|
+
atomicWriteJsonSync(filePath, {
|
|
1637
1623
|
parentExe: rootExe,
|
|
1638
1624
|
dispatchedBy: dispatchedBy || rootExe,
|
|
1639
1625
|
registeredAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
1640
|
-
})
|
|
1626
|
+
});
|
|
1641
1627
|
}
|
|
1642
1628
|
function getParentExe(sessionKey) {
|
|
1643
1629
|
try {
|
|
@@ -1667,7 +1653,6 @@ function resolveExeSession() {
|
|
|
1667
1653
|
const fromSessionName = mySession ? extractRootExe(mySession) ?? null : null;
|
|
1668
1654
|
const alsHint = (() => {
|
|
1669
1655
|
try {
|
|
1670
|
-
const { getAgentContext } = (init_agent_context(), __toCommonJS(agent_context_exports));
|
|
1671
1656
|
return getAgentContext()?.sessionHint ?? "";
|
|
1672
1657
|
} catch {
|
|
1673
1658
|
return "";
|
|
@@ -1861,7 +1846,7 @@ async function verifyPaneAtCapacity(sessionName) {
|
|
|
1861
1846
|
reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
|
|
1862
1847
|
};
|
|
1863
1848
|
}
|
|
1864
|
-
const { isAtCapacity } = await import("./capacity-monitor-
|
|
1849
|
+
const { isAtCapacity } = await import("./capacity-monitor-7VX6NW5J.js");
|
|
1865
1850
|
if (!isAtCapacity(pane)) {
|
|
1866
1851
|
return {
|
|
1867
1852
|
atCapacity: false,
|
|
@@ -1893,7 +1878,7 @@ function readDebounceState() {
|
|
|
1893
1878
|
function writeDebounceState(state) {
|
|
1894
1879
|
try {
|
|
1895
1880
|
if (!existsSync5(SESSION_CACHE)) mkdirSync2(SESSION_CACHE, { recursive: true });
|
|
1896
|
-
|
|
1881
|
+
atomicWriteJsonSync(DEBOUNCE_FILE, state);
|
|
1897
1882
|
} catch {
|
|
1898
1883
|
}
|
|
1899
1884
|
}
|
|
@@ -2087,8 +2072,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
|
|
|
2087
2072
|
const sessions = transport.listSessions();
|
|
2088
2073
|
if (!sessions.includes(coordinatorSession)) return false;
|
|
2089
2074
|
try {
|
|
2090
|
-
const
|
|
2091
|
-
const pending = countPendingReviews2(coordinatorSession);
|
|
2075
|
+
const pending = countPendingReviews(coordinatorSession);
|
|
2092
2076
|
if (pending instanceof Promise) {
|
|
2093
2077
|
pending.then((count) => {
|
|
2094
2078
|
if (count > 0) {
|
|
@@ -2120,7 +2104,6 @@ function ensureEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2120
2104
|
}
|
|
2121
2105
|
try {
|
|
2122
2106
|
const MAX_CONCURRENT = Number(process.env.EXE_MAX_SESSIONS) || 50;
|
|
2123
|
-
const { listTmuxSessions } = (init_tmux_status(), __toCommonJS(tmux_status_exports));
|
|
2124
2107
|
const liveSessions = listTmuxSessions().filter((s) => !isExeSession(s));
|
|
2125
2108
|
if (liveSessions.length >= MAX_CONCURRENT) {
|
|
2126
2109
|
return {
|
|
@@ -2184,12 +2167,11 @@ function ensureEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2184
2167
|
}
|
|
2185
2168
|
const spawnOpts = { ...opts, instance: effectiveInstance };
|
|
2186
2169
|
if (!spawnOpts.cwd) {
|
|
2187
|
-
const
|
|
2170
|
+
const COORDINATOR_ROLES = /* @__PURE__ */ new Set(["COO", "CTO", "CMO"]);
|
|
2188
2171
|
try {
|
|
2189
2172
|
const roster = loadEmployeesSync();
|
|
2190
2173
|
const emp = roster.find((e) => baseAgentName(e.name) === baseAgentName(employeeName));
|
|
2191
|
-
if (emp &&
|
|
2192
|
-
const { ensureWorktree } = (init_worktree(), __toCommonJS(worktree_exports));
|
|
2174
|
+
if (emp && !COORDINATOR_ROLES.has(emp.role)) {
|
|
2193
2175
|
const wtPath = ensureWorktree(projectDir, employeeName, effectiveInstance);
|
|
2194
2176
|
if (wtPath) {
|
|
2195
2177
|
spawnOpts.cwd = wtPath;
|
|
@@ -2239,7 +2221,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2239
2221
|
const trustDir = opts?.cwd ?? projectDir;
|
|
2240
2222
|
if (!projects[trustDir]) projects[trustDir] = {};
|
|
2241
2223
|
projects[trustDir].hasTrustDialogAccepted = true;
|
|
2242
|
-
|
|
2224
|
+
atomicWriteSync(claudeJsonPath, JSON.stringify(claudeJson, null, 2) + "\n");
|
|
2243
2225
|
} catch {
|
|
2244
2226
|
}
|
|
2245
2227
|
try {
|
|
@@ -2278,7 +2260,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2278
2260
|
perms.allow = allow;
|
|
2279
2261
|
settings.permissions = perms;
|
|
2280
2262
|
mkdirSync2(projSettingsDir, { recursive: true });
|
|
2281
|
-
|
|
2263
|
+
atomicWriteSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
|
|
2282
2264
|
}
|
|
2283
2265
|
} catch {
|
|
2284
2266
|
}
|
|
@@ -2338,7 +2320,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2338
2320
|
`Your parent coordinator session is ${exeSession}.`,
|
|
2339
2321
|
`Your employees (if any) use the -${exeSession} suffix.`
|
|
2340
2322
|
].join("\n");
|
|
2341
|
-
|
|
2323
|
+
atomicWriteSync(ctxFile, ctxContent);
|
|
2342
2324
|
void ctxFile;
|
|
2343
2325
|
} catch {
|
|
2344
2326
|
}
|
|
@@ -2419,14 +2401,14 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2419
2401
|
try {
|
|
2420
2402
|
const mySession = getMySession();
|
|
2421
2403
|
const dispatchInfo = path5.join(SESSION_CACHE, `dispatch-info-${sessionName}.json`);
|
|
2422
|
-
|
|
2404
|
+
atomicWriteJsonSync(dispatchInfo, {
|
|
2423
2405
|
dispatchedBy: mySession,
|
|
2424
2406
|
rootExe: exeSession,
|
|
2425
2407
|
provider: useBinSymlink ? ccProvider : useExeAgent ? opts.provider : useCodex ? "openai" : useOpencode ? "opencode" : "anthropic",
|
|
2426
2408
|
runtime: useCodex ? "codex" : useOpencode ? "opencode" : useExeAgent ? "exe-agent" : "claude",
|
|
2427
2409
|
model: useCodex ? agentRtConfig.model : useOpencode ? agentRtConfig.model : void 0,
|
|
2428
2410
|
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
2429
|
-
})
|
|
2411
|
+
});
|
|
2430
2412
|
} catch {
|
|
2431
2413
|
}
|
|
2432
2414
|
let booted = false;
|
|
@@ -2533,6 +2515,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
|
|
|
2533
2515
|
var SPAWN_LOCK_DIR, SESSION_CACHE, BEHAVIORS_EXPORT_TIMEOUT_MS, VALID_SESSION_NAME, PARENT_EXE_CACHE_TTL_MS, VERIFY_PANE_LINES, INTERCOM_DEBOUNCE_MS, CODEX_DEBOUNCE_MS, INTERCOM_LOG, DEBOUNCE_FILE, DEBOUNCE_CLEANUP_AGE_MS, BUSY_PATTERN;
|
|
2534
2516
|
var init_tmux_routing = __esm({
|
|
2535
2517
|
"src/lib/tmux-routing.ts"() {
|
|
2518
|
+
init_secure_files();
|
|
2536
2519
|
init_session_registry();
|
|
2537
2520
|
init_session_key();
|
|
2538
2521
|
init_transport();
|
|
@@ -2546,6 +2529,10 @@ var init_tmux_routing = __esm({
|
|
|
2546
2529
|
init_plan_limits();
|
|
2547
2530
|
init_employees();
|
|
2548
2531
|
init_agent_symlinks();
|
|
2532
|
+
init_agent_context();
|
|
2533
|
+
init_tasks_review();
|
|
2534
|
+
init_tmux_status();
|
|
2535
|
+
init_worktree();
|
|
2549
2536
|
SPAWN_LOCK_DIR = path5.join(os4.homedir(), ".exe-os", "spawn-locks");
|
|
2550
2537
|
SESSION_CACHE = path5.join(os4.homedir(), ".exe-os", "session-cache");
|
|
2551
2538
|
BEHAVIORS_EXPORT_TIMEOUT_MS = 1e4;
|
|
@@ -2600,16 +2587,6 @@ export {
|
|
|
2600
2587
|
sessionScopeFilter,
|
|
2601
2588
|
strictSessionScopeFilter,
|
|
2602
2589
|
init_task_scope,
|
|
2603
|
-
writeNotification,
|
|
2604
|
-
readUnreadNotifications,
|
|
2605
|
-
markAsRead,
|
|
2606
|
-
markAsReadByTaskFile,
|
|
2607
|
-
cleanupOldNotifications,
|
|
2608
|
-
markDoneTaskNotificationsAsRead,
|
|
2609
|
-
formatNotifications,
|
|
2610
|
-
migrateJsonNotifications,
|
|
2611
|
-
notifications_exports,
|
|
2612
|
-
init_notifications,
|
|
2613
2590
|
writeCheckpoint,
|
|
2614
2591
|
extractParentFromContext,
|
|
2615
2592
|
slugify,
|
|
@@ -2624,6 +2601,16 @@ export {
|
|
|
2624
2601
|
ensureArchitectureDoc,
|
|
2625
2602
|
ensureGitignoreExe,
|
|
2626
2603
|
init_tasks_crud,
|
|
2604
|
+
writeNotification,
|
|
2605
|
+
readUnreadNotifications,
|
|
2606
|
+
markAsRead,
|
|
2607
|
+
markAsReadByTaskFile,
|
|
2608
|
+
cleanupOldNotifications,
|
|
2609
|
+
markDoneTaskNotificationsAsRead,
|
|
2610
|
+
formatNotifications,
|
|
2611
|
+
migrateJsonNotifications,
|
|
2612
|
+
notifications_exports,
|
|
2613
|
+
init_notifications,
|
|
2627
2614
|
formatAge,
|
|
2628
2615
|
isStale,
|
|
2629
2616
|
countPendingReviews,
|