@askexenow/exe-os 0.9.410 → 0.9.412
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/delivery/catalog.json +29 -38
- package/deploy/compose/.env.customer.example +5 -5
- package/deploy/compose/.env.default +4 -4
- package/deploy/compose/.env.example +5 -5
- package/deploy/compose/docker-compose.yml +1 -1
- package/deploy/stack-manifests/v0.9.json +263 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-2ELFTYNT.js → active-agent-3YCLS7GB.js} +4 -4
- package/dist/{active-agent-SS4SRXYZ.js → active-agent-MHWQDMML.js} +4 -4
- package/dist/{agent-defs-generator-6S2BSYCP.js → agent-defs-generator-DNXMO34I.js} +4 -4
- package/dist/{agentic-ontology-TJOAUAPD.js → agentic-ontology-RA6CMND6.js} +1 -1
- package/dist/{artifact-backup-STQQZDZ5.js → artifact-backup-EETHNFFP.js} +3 -3
- package/dist/{backfill-metadata-I2FVENKJ.js → backfill-metadata-WYT257VG.js} +7 -7
- package/dist/backup-verify-AG54CYGR.js +62 -0
- package/dist/{behavior-injection-CTSIKHTH.js → behavior-injection-G7GAUHGO.js} +10 -10
- package/dist/{behavior-promotion-NZMTTFHK.js → behavior-promotion-I2DIUFUR.js} +9 -9
- package/dist/{behaviors-RUNSC5WI.js → behaviors-SKVKPCRW.js} +8 -8
- package/dist/bin/agentic-ontology-backfill.js +8 -8
- package/dist/bin/agentic-reflection-backfill.js +9 -9
- package/dist/bin/agentic-semantic-label.js +8 -8
- package/dist/bin/backfill-conversations.js +7 -7
- package/dist/bin/backfill-responses.js +7 -7
- package/dist/bin/backfill-vectors.js +7 -7
- package/dist/bin/bulk-sync-postgres.js +16 -16
- package/dist/bin/cc-doctor.js +8 -8
- package/dist/bin/cleanup-stale-review-tasks.js +13 -13
- package/dist/bin/cli.js +24 -24
- package/dist/bin/deferred-daemon-restart.js +95 -95
- package/dist/bin/exe-actions.js +1 -1
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +15 -15
- package/dist/bin/exe-assign.js +8 -8
- package/dist/bin/exe-boot.js +35 -35
- package/dist/bin/exe-call.js +9 -9
- package/dist/bin/exe-cloud.js +17 -17
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +14 -14
- package/dist/bin/exe-doctor.js +5 -5
- package/dist/bin/exe-export-behaviors.js +12 -12
- package/dist/bin/exe-forget.js +10 -10
- package/dist/bin/exe-gateway.js +9 -9
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +8 -8
- package/dist/bin/exe-heartbeat.js +19 -19
- package/dist/bin/exe-kill.js +18 -18
- package/dist/bin/exe-launch-agent.js +75 -36
- package/dist/bin/exe-mcp.js +5 -5
- package/dist/bin/exe-memory-reads.js +7 -7
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +5 -5
- package/dist/bin/exe-pending-messages.js +14 -14
- package/dist/bin/exe-pending-notifications.js +13 -13
- package/dist/bin/exe-pending-reviews.js +14 -14
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +17 -17
- package/dist/bin/exe-search.js +9 -9
- package/dist/bin/exe-session-cleanup.js +18 -18
- package/dist/bin/exe-settings.js +16 -16
- package/dist/bin/exe-start-codex.js +37 -19
- package/dist/bin/exe-start-opencode.js +35 -17
- package/dist/bin/exe-status.js +15 -15
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +15 -15
- package/dist/bin/graph-backfill.js +8 -8
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +11 -11
- package/dist/bin/install.js +97 -97
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -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/repair-document-chunks.js +7 -7
- package/dist/bin/scan-tasks.js +14 -14
- package/dist/bin/setup.js +2 -2
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +41 -16
- package/dist/bin/verify-stack.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-4W4CDJSX.js → boot-generation-RPJVFAQJ.js} +4 -4
- package/dist/{boot-review-sections-HJN25GMU.js → boot-review-sections-FOPPZTJI.js} +12 -12
- package/dist/{bug-landed-reconciler-GGQU6G2L.js → bug-landed-reconciler-FN5KPBRK.js} +6 -6
- package/dist/build-info.json +3 -3
- package/dist/build-manifest.json +936 -926
- package/dist/{capability-cards-EV7VHL3W.js → capability-cards-YQWBEG7A.js} +3 -3
- package/dist/{capacity-monitor-YO3WRSRY.js → capacity-monitor-7SMEJHYG.js} +14 -14
- package/dist/{catchup-brief-4XFFW3H2.js → catchup-brief-IBQ26LEB.js} +19 -19
- package/dist/{chunk-YJ7MCZSY.js → chunk-27NG2NTG.js} +2 -2
- package/dist/{chunk-2AXJRXA6.js → chunk-2BOLFLAU.js} +4 -2
- package/dist/{chunk-AGXV5HLA.js → chunk-2EYVXUGA.js} +4 -4
- package/dist/{chunk-2YZZR2BW.js → chunk-2YFMBXUU.js} +4 -4
- package/dist/{chunk-ZBXZFOIF.js → chunk-2YGBJHC2.js} +3 -3
- package/dist/{chunk-I35OMCL3.js → chunk-353XF4LU.js} +2 -2
- package/dist/{chunk-UF5BDAF6.js → chunk-3DXAJVXE.js} +6 -6
- package/dist/{chunk-AEOB4JCJ.js → chunk-3GGMHSY2.js} +3 -3
- package/dist/{chunk-K6XWIJN7.js → chunk-3N24FV22.js} +1 -1
- package/dist/{chunk-7WCYJXOF.js → chunk-47YGEM4N.js} +1 -1
- package/dist/{chunk-NVM3SKJ4.js → chunk-4CN3EE6U.js} +27 -21
- package/dist/{chunk-IQCC6WFI.js → chunk-4J77TCTX.js} +1 -1
- package/dist/{chunk-H5H2LGVE.js → chunk-5BWDUUMH.js} +3 -3
- package/dist/{chunk-O5RKAXCG.js → chunk-5DLZJ3MY.js} +1 -1
- package/dist/{chunk-E3ZO4EL3.js → chunk-5ZMNFSHV.js} +1 -1
- package/dist/{chunk-7QFRZT4H.js → chunk-657I6PUF.js} +3 -3
- package/dist/{chunk-IXRYS5X3.js → chunk-6777GNWI.js} +1 -1
- package/dist/{chunk-4THJIDJE.js → chunk-6BD6JYR2.js} +1 -1
- package/dist/{chunk-JTXXLNYD.js → chunk-6DMURUBY.js} +4 -4
- package/dist/{chunk-47UBJKS3.js → chunk-6HJF7IA3.js} +168 -205
- package/dist/{chunk-PONGX3YG.js → chunk-6J2J3VJS.js} +10 -10
- package/dist/{chunk-XBCIRNNU.js → chunk-6PXFF6IV.js} +1 -1
- package/dist/{chunk-DWK5HEKY.js → chunk-7HLAYQRG.js} +4 -4
- package/dist/{chunk-RWM6TZH6.js → chunk-7KPZQ65I.js} +3 -3
- package/dist/{chunk-BPXWWD7P.js → chunk-7PDZBPGW.js} +1 -1
- package/dist/{chunk-2K7IKLBL.js → chunk-7SHU5MOD.js} +1 -1
- package/dist/{chunk-APKEGWFB.js → chunk-A5I2GYVQ.js} +3 -3
- package/dist/{chunk-X4V5ZLNX.js → chunk-A75TAU2I.js} +628 -4
- package/dist/{chunk-T7W75LII.js → chunk-BE3UETW6.js} +3 -3
- package/dist/{chunk-575FWHQJ.js → chunk-BG6RAOCJ.js} +63 -9
- package/dist/{chunk-YSDSQRE2.js → chunk-BIPTWAEO.js} +1 -1
- package/dist/{chunk-FYKEL2L6.js → chunk-BLTXAUP6.js} +2 -2
- package/dist/{chunk-ASA2UJDH.js → chunk-CFFSHBQF.js} +1 -1
- package/dist/{chunk-XCKTCOK3.js → chunk-CJ6CS2IH.js} +5 -5
- package/dist/{chunk-V7AID6MC.js → chunk-CRW63CDI.js} +1 -1
- package/dist/{chunk-B34RSIUP.js → chunk-CWHTUNJX.js} +2 -2
- package/dist/{chunk-HKAWEIB2.js → chunk-D6NZNUVH.js} +1 -1
- package/dist/{chunk-CEHGXPMO.js → chunk-DHLJZDWI.js} +4 -4
- package/dist/{chunk-FCX2XHIC.js → chunk-DWRULKB3.js} +2 -2
- package/dist/{chunk-KNEEOZWN.js → chunk-EOWJXCYC.js} +25 -7
- package/dist/{chunk-5BWN6A5E.js → chunk-EWDBWOCX.js} +1 -1
- package/dist/{chunk-IUAW7FVX.js → chunk-FPF2PJFK.js} +3 -3
- package/dist/{chunk-B55U5BKF.js → chunk-FSXMKIDO.js} +1 -1
- package/dist/{chunk-2A556FNI.js → chunk-FUDXITKX.js} +1 -1
- package/dist/{chunk-FZT7CBXB.js → chunk-FYV2CTKP.js} +1 -1
- package/dist/{chunk-R2ZHPVF2.js → chunk-GATAYYAF.js} +3 -3
- package/dist/{chunk-CKRZBQ2K.js → chunk-GHYHNHDL.js} +1 -1
- package/dist/{chunk-IHBYJG7N.js → chunk-GL5ZG72X.js} +1 -1
- package/dist/{chunk-WSYIQKZ6.js → chunk-GM4UEZDE.js} +20 -20
- package/dist/{chunk-QKHQTHE6.js → chunk-GZVFHFO3.js} +10 -135
- package/dist/{chunk-XC2KAJK4.js → chunk-HA6BIZ6L.js} +5 -5
- package/dist/chunk-HDQAVAV6.js +248 -0
- package/dist/{chunk-5Q64Q5ZD.js → chunk-HDV2V25K.js} +1 -1
- package/dist/{chunk-26CY4EAR.js → chunk-HTFM7ZDD.js} +2 -2
- package/dist/{chunk-NUEDA2US.js → chunk-HUHR5CKJ.js} +4 -4
- package/dist/{chunk-BIHPY7JW.js → chunk-IC2AONBH.js} +9 -9
- package/dist/{chunk-2YK5HP2B.js → chunk-IHAXXDBH.js} +3 -3
- package/dist/{chunk-5JHIAGZY.js → chunk-IPUDXR67.js} +1 -1
- package/dist/{chunk-BBTNF72N.js → chunk-J6U4ZR77.js} +2 -2
- package/dist/{chunk-2OIVIPU7.js → chunk-JAIZCE6W.js} +3 -3
- package/dist/{chunk-WLV27PAO.js → chunk-JGBYZTWH.js} +1 -1
- package/dist/{chunk-4XY33GRO.js → chunk-JJZZXEAN.js} +3 -3
- package/dist/{chunk-3UEDFBDE.js → chunk-JNULO6I5.js} +3 -3
- package/dist/{chunk-JZ23D5YF.js → chunk-JTJP4JK7.js} +3 -3
- package/dist/{chunk-JDZNGC4O.js → chunk-JW5NUXPN.js} +11 -11
- package/dist/{chunk-GGT6Y5AN.js → chunk-K2HIXAIF.js} +12 -12
- package/dist/{chunk-NYV4A5IG.js → chunk-KEDZRQI3.js} +2 -2
- package/dist/{chunk-S2DTXCV6.js → chunk-KN5GAVCG.js} +2 -2
- package/dist/{chunk-LBEBSXZA.js → chunk-L5JFVK5T.js} +4 -4
- package/dist/{chunk-HNJLAMD3.js → chunk-LBSCOP25.js} +1 -1
- package/dist/{chunk-FOZSHNET.js → chunk-LLZUL7M2.js} +1 -1
- package/dist/{chunk-53GNYXNR.js → chunk-LQGLGSBY.js} +2 -2
- package/dist/{chunk-X2EBM5BQ.js → chunk-LSHUX7P4.js} +16 -16
- package/dist/{chunk-AWTLUJZL.js → chunk-M6AX64J2.js} +2 -2
- package/dist/{chunk-7RVTQXST.js → chunk-M6SUJLNP.js} +2 -2
- package/dist/{chunk-OUUNFTS4.js → chunk-MZNLQC6W.js} +1 -1
- package/dist/{chunk-PCF4QMJS.js → chunk-N7POJZJT.js} +10 -10
- package/dist/{chunk-2CG3LHI6.js → chunk-NCNT2C2P.js} +2 -2
- package/dist/{chunk-R3N5BCMM.js → chunk-O3BLL6MY.js} +1 -1
- package/dist/{chunk-SLG3T26A.js → chunk-O6KQAJCC.js} +3 -3
- package/dist/{chunk-2WOHFX4Z.js → chunk-OHHZNNUD.js} +1 -1
- package/dist/{chunk-HWP3WCLC.js → chunk-OPG237ZQ.js} +154 -50
- package/dist/{chunk-2LJ2GZEE.js → chunk-PDQGR5LZ.js} +1 -1
- package/dist/{chunk-UBTKHJCB.js → chunk-PTF5TB6O.js} +6 -6
- package/dist/{chunk-5F3E57TQ.js → chunk-PYXXL7N7.js} +1 -1
- package/dist/{chunk-HLNRLXUS.js → chunk-Q6KUBP6R.js} +5 -5
- package/dist/{chunk-AGY2KUQ6.js → chunk-QJWLQXR7.js} +1 -1
- package/dist/{chunk-ZEDLED43.js → chunk-QOFQY7BJ.js} +1 -1
- package/dist/{chunk-6T5RC3L4.js → chunk-QSW5DHMZ.js} +1 -1
- package/dist/{chunk-54Q7M2AG.js → chunk-QV26G2BF.js} +1 -1
- package/dist/{chunk-5WNZGNQL.js → chunk-RHHEYC6H.js} +3 -3
- package/dist/{chunk-K464YYT5.js → chunk-RHJOTGEU.js} +1 -1
- package/dist/{chunk-LZS2B2JT.js → chunk-RIKFXHLE.js} +247 -31
- package/dist/{chunk-6TOV7UVU.js → chunk-RJIH7JXM.js} +4 -4
- package/dist/{chunk-2Q2U3NB2.js → chunk-RMC2A6EE.js} +1 -1
- package/dist/{chunk-FUEKSCTN.js → chunk-RYMXD2NT.js} +1 -1
- package/dist/{chunk-MNWN3SQ3.js → chunk-RYYFFCJG.js} +1 -1
- package/dist/{chunk-E2346GKI.js → chunk-SINIRUYZ.js} +101 -9
- package/dist/{chunk-22XJWSWN.js → chunk-SXUABANK.js} +3 -3
- package/dist/{backup-verify-AOTKX5DA.js → chunk-T3AM52YT.js} +345 -89
- package/dist/{chunk-LCXWQVOD.js → chunk-TCBWHLKH.js} +4 -4
- package/dist/{chunk-YWZGDFAL.js → chunk-TS4LSNRI.js} +2 -2
- package/dist/{chunk-J6RTX7XT.js → chunk-TVWYMOZ4.js} +1 -1
- package/dist/{chunk-3WNDI5KT.js → chunk-VAHQOIQY.js} +1 -1
- package/dist/{chunk-QH2V67NX.js → chunk-VBYSAQJD.js} +1 -1
- package/dist/{chunk-MQD3JJCO.js → chunk-VQQPYI4X.js} +1 -1
- package/dist/{chunk-XJQGS4IM.js → chunk-VS7V5HNO.js} +1 -1
- package/dist/{chunk-CPC75PXE.js → chunk-W3ABSZ6G.js} +2 -2
- package/dist/{chunk-SUGAHHVR.js → chunk-W7VKGB42.js} +1 -1
- package/dist/{chunk-UG3YOQAC.js → chunk-X2ZHCNNB.js} +5 -5
- package/dist/{chunk-YC6SZFVD.js → chunk-X4FHT6ST.js} +5 -5
- package/dist/{chunk-RXICR3D7.js → chunk-XC5OASHV.js} +1 -1
- package/dist/{chunk-TU5Y5ZNC.js → chunk-XDOCXKHW.js} +58 -1
- package/dist/{chunk-DLHE4PCM.js → chunk-XEAZJXMZ.js} +4 -4
- package/dist/{chunk-XMMWBLQK.js → chunk-XQ7BIVLI.js} +6 -6
- package/dist/{chunk-FRJICRED.js → chunk-Z3LGAFMG.js} +1 -1
- package/dist/{chunk-HCBISGUU.js → chunk-ZJ6AMC4Y.js} +7 -7
- package/dist/{chunk-AEEAQZ3E.js → chunk-ZZR2WRNW.js} +4 -4
- package/dist/{cleanup-graph-garbage-N7FTWU6C.js → cleanup-graph-garbage-SYGPMPUM.js} +8 -8
- package/dist/{cli-shutdown-NCBQTN7G.js → cli-shutdown-JI7CASE4.js} +1 -1
- package/dist/{cloud-sync-command-UL7GNN3J.js → cloud-sync-command-ZV3P5FP6.js} +2 -2
- package/dist/{cloud-sync-db-init-ASM7ZXBH.js → cloud-sync-db-init-RQIHWKV4.js} +1 -1
- package/dist/{cloud-sync-shutdown-HER4ISBU.js → cloud-sync-shutdown-V2N7VLD3.js} +3 -3
- package/dist/{co-activation-V5XXR327.js → co-activation-SRE6DIRX.js} +3 -3
- package/dist/{co-occurrence-MKZ6YWSQ.js → co-occurrence-F5TMSEQZ.js} +6 -6
- package/dist/{consent-passphrase-YI3J4UEL.js → consent-passphrase-MWZRHJRC.js} +2 -2
- package/dist/{conversation-entity-extractor-66G7ROQ3.js → conversation-entity-extractor-XMOUHGMT.js} +3 -3
- package/dist/{crdt-sync-Z62SWOKD.js → crdt-sync-FXEKABM7.js} +4 -4
- package/dist/{crm-webhook-6GBACWJX.js → crm-webhook-D6IJOPRQ.js} +2 -2
- package/dist/{cto-delegation-gate-FUKPBFCM.js → cto-delegation-gate-BU3JRCYN.js} +12 -12
- package/dist/{daemon-orchestration-O3QPSJEP.js → daemon-orchestration-K4NKFYXO.js} +19 -19
- package/dist/{destructive-data-guard-JDUJ2ULM.js → destructive-data-guard-3TGAAE7K.js} +77 -23
- package/dist/{doc-graph-extractor-BBPKLIVM.js → doc-graph-extractor-TVK2NGAR.js} +6 -6
- package/dist/{documents-NILTWYSQ.js → documents-MDZ4VB5X.js} +8 -8
- package/dist/{dreaming-KMDGPIFY.js → dreaming-L24PSS35.js} +17 -17
- package/dist/{employee-boot-brief-KSH3MWIF.js → employee-boot-brief-GQVL3FQC.js} +21 -21
- package/dist/{entity-boost-XETN7C2S.js → entity-boost-OMFA5QCG.js} +1 -1
- package/dist/{exe-drift-SFD7SHXC.js → exe-drift-JDDG3OPT.js} +4 -4
- package/dist/{exe-export-NHWKEZL4.js → exe-export-EEGIE3JP.js} +10 -10
- package/dist/{exe-import-SPI5HJBU.js → exe-import-UJNC5Q2L.js} +10 -10
- package/dist/{exe-key-TY5LFUEM.js → exe-key-TYEY4W4E.js} +95 -95
- package/dist/{exe-org-LVQLXA7C.js → exe-org-B3ICTTEV.js} +32 -32
- package/dist/{exe-snapshot-WH2DSRZW.js → exe-snapshot-VBFBONYN.js} +20 -20
- package/dist/{fast-db-init-UN225WS7.js → fast-db-init-TFRTK6EH.js} +1 -1
- package/dist/{founder-context-DVHSVBM5.js → founder-context-3X4QUWKD.js} +2 -2
- package/dist/{founder-monitor-envelope-HMPPUBUT.js → founder-monitor-envelope-54UNZNY4.js} +4 -4
- package/dist/gateway/index.js +14 -14
- package/dist/{gateway-client-TXHCHOVM.js → gateway-client-OUDO5GGV.js} +1 -1
- package/dist/{git-staleness-CUVLXQOJ.js → git-staleness-73YZ5PGU.js} +3 -3
- package/dist/{global-procedures-T5W3S6OU.js → global-procedures-PYNE2BQG.js} +20 -6
- package/dist/{graph-auto-extract-S7OIZXYP.js → graph-auto-extract-PGUMEEQB.js} +6 -6
- package/dist/{graph-query-CRIH4DXF.js → graph-query-7YA3YNKL.js} +1 -1
- package/dist/{graph-rag-LH34CEGC.js → graph-rag-UWOTK4AQ.js} +3 -3
- package/dist/{hook-integrity-TSJYZFZ6.js → hook-integrity-6MNEPT6W.js} +1 -1
- package/dist/{hook-prefetch-SNW5DFCZ.js → hook-prefetch-JOF6YZSR.js} +13 -13
- package/dist/hooks/bug-report-worker.js +17 -17
- package/dist/hooks/codex-stop-task-finalizer.js +19 -19
- package/dist/hooks/commit-complete.js +16 -16
- package/dist/hooks/error-recall.js +11 -11
- package/dist/hooks/exe-heartbeat-hook.js +5 -5
- package/dist/hooks/ingest-worker.js +15 -15
- package/dist/hooks/ingest.js +13 -13
- package/dist/hooks/instructions-loaded.js +7 -7
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +6 -6
- package/dist/hooks/post-compact.js +5 -5
- package/dist/hooks/post-tool-combined.js +13 -13
- package/dist/hooks/pre-compact.js +16 -16
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +34 -34
- package/dist/hooks/session-end.js +21 -21
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +19 -19
- package/dist/hooks/subagent-stop.js +18 -18
- package/dist/hooks/summary-worker.js +20 -20
- package/dist/index.js +26 -26
- package/dist/{installer-4IVP2PTX.js → installer-34XZ7JMW.js} +6 -6
- package/dist/{installer-UFRZHMX5.js → installer-356RMQ2K.js} +6 -6
- package/dist/{installer-CJWNUASI.js → installer-7TN36Z7T.js} +112 -28
- package/dist/{intercom-queue-II6RRK3J.js → intercom-queue-ZJ3MNULM.js} +12 -12
- package/dist/lib/backup-verify-worker.js +157 -0
- package/dist/lib/cloud-sync.js +16 -20
- package/dist/lib/consolidation.js +9 -9
- package/dist/lib/crypto.js +3 -3
- package/dist/lib/database.js +3 -3
- package/dist/lib/db-backup.js +7 -3
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +3 -3
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +3 -3
- package/dist/lib/exe-daemon.js +89 -84
- package/dist/lib/hybrid-search.js +9 -9
- package/dist/lib/identity.js +3 -3
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +13 -13
- package/dist/lib/post-tool-memory.js +13 -13
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +4 -4
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/session-registry.js +5 -5
- package/dist/lib/skill-learning.js +9 -9
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +4 -4
- package/dist/lib/tasks.js +14 -14
- package/dist/lib/tmux-routing.js +12 -12
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-M7EDJLAA.js → license-gate-4BXUTHLB.js} +3 -3
- package/dist/{license-recheck-DLTOHAH2.js → license-recheck-QFPUKISQ.js} +1 -1
- package/dist/{license-sync-YTDCUN3S.js → license-sync-FDEDT4AC.js} +2 -2
- package/dist/mcp/register-tools.js +94 -94
- package/dist/mcp/server.js +97 -97
- package/dist/mcp/tools/complete-reminder.js +5 -5
- package/dist/mcp/tools/create-reminder.js +5 -5
- package/dist/mcp/tools/create-task.js +16 -16
- package/dist/mcp/tools/deactivate-behavior.js +10 -10
- package/dist/mcp/tools/list-reminders.js +5 -5
- package/dist/mcp/tools/list-tasks.js +16 -16
- package/dist/mcp/tools/send-message.js +15 -15
- package/dist/mcp/tools/update-task.js +15 -15
- package/dist/{mcp-http-config-652YK3CI.js → mcp-http-config-GKP5QGAO.js} +5 -5
- package/dist/{mcp-session-identity-6QGXD52Y.js → mcp-session-identity-JHAGRB7B.js} +12 -12
- package/dist/{memory-cards-FOPSLULE.js → memory-cards-O377ETAM.js} +7 -7
- package/dist/{memory-graph-extractor-7G3CIGN7.js → memory-graph-extractor-4KJCCUOP.js} +7 -7
- package/dist/{memory-maintenance-5XIGUPYL.js → memory-maintenance-RR5UPRW3.js} +1 -1
- package/dist/{memory-poisoning-defense-MI7Y5XBP.js → memory-poisoning-defense-Y5TTKGOP.js} +3 -3
- package/dist/{memory-pressure-watchdog-SPIDPGU2.js → memory-pressure-watchdog-NGXTI4HR.js} +13 -13
- package/dist/{memory-reflection-DVAT4QKS.js → memory-reflection-EXNHRZL7.js} +7 -7
- package/dist/{memory-write-repository-YC7HJTV5.js → memory-write-repository-S4TX7WQB.js} +1 -1
- package/dist/{monitor-grants-3A77O6XK.js → monitor-grants-57Q4NL25.js} +3 -3
- package/dist/{monitor-identity-BTFFMFEX.js → monitor-identity-3FQ52SYU.js} +2 -2
- package/dist/{notification-ledger-AV5242RM.js → notification-ledger-O6KQYYGK.js} +13 -13
- package/dist/{notifications-75FVPJLY.js → notifications-6FCQCJ4P.js} +12 -12
- package/dist/{orchestration-events-ARGZU6KS.js → orchestration-events-2Z2BMMA5.js} +4 -4
- package/dist/{orchestrator-TCXZMLSB.js → orchestrator-AGOSKPHD.js} +14 -14
- package/dist/{org-brief-session-B455POUI.js → org-brief-session-WJHZVXXJ.js} +15 -15
- package/dist/{org-consent-policy-7K5H6FOB.js → org-consent-policy-X43UGTHI.js} +5 -5
- package/dist/{org-join-ETR5KO27.js → org-join-M3UTBMHC.js} +9 -9
- package/dist/{org-key-admin-IRC6H3TL.js → org-key-admin-AA2DRHB2.js} +11 -11
- package/dist/{org-key-epoch-EG4YQ47A.js → org-key-epoch-Z5UIVUHT.js} +5 -5
- package/dist/{org-key-pin-GLQEU3P3.js → org-key-pin-FE6YHEZ3.js} +3 -3
- package/dist/{org-membership-JC5YVU6N.js → org-membership-3J2MIGE4.js} +4 -4
- package/dist/{org-partner-config-QFSVGHEA.js → org-partner-config-5HATZYG4.js} +8 -8
- package/dist/{org-partner-runtime-7AD7WY3Y.js → org-partner-runtime-UI35IHUC.js} +15 -15
- package/dist/{org-row-visibility-AXZKVOA6.js → org-row-visibility-TRJERVYP.js} +1 -1
- package/dist/{pipeline-router-2KY4X6PO.js → pipeline-router-EKQ6D7ZA.js} +4 -4
- package/dist/{plan-limits-PG6HG2DT.js → plan-limits-3BGHIHX6.js} +6 -6
- package/dist/{platform-procedures-QP3W2NLH.js → platform-procedures-RXW46WNY.js} +1 -1
- package/dist/{pre-tool-use-impl-45B4NFIF.js → pre-tool-use-impl-7BT5TJVM.js} +28 -28
- package/dist/{project-name-LHYHR4VN.js → project-name-PGJGUEJY.js} +4 -4
- package/dist/{projection-worker-POT2AOR5.js → projection-worker-3GEVFPAI.js} +2 -2
- package/dist/{prospective-memory-ECXSAEAW.js → prospective-memory-GEN7CN7H.js} +3 -3
- package/dist/{push-notifications-W3UNHDC5.js → push-notifications-QW4BWRC7.js} +13 -13
- package/dist/{reproject-worktree-memories-PIXMJBHG.js → reproject-worktree-memories-DIULBEBD.js} +12 -12
- package/dist/{reranker-ZBPYIRBB.js → reranker-LQ6OPJOI.js} +1 -1
- package/dist/{retrieval-health-42MFLOEP.js → retrieval-health-XDFYFEOP.js} +1 -1
- package/dist/{review-polling-V4CSK4TZ.js → review-polling-ED33YLFT.js} +13 -13
- package/dist/runtime/index.js +20 -20
- package/dist/{session-events-C3NUY6MR.js → session-events-7IJGTBVH.js} +13 -13
- package/dist/{session-kill-telemetry-ZOSAIYU2.js → session-kill-telemetry-RUTEARJ3.js} +13 -13
- package/dist/{session-scope-BZALGKYZ.js → session-scope-SSYA64L3.js} +12 -12
- package/dist/{setup-wizard-DNA2UT4J.js → setup-wizard-XD7FZVLJ.js} +2 -2
- package/dist/{shard-manager-NG4SXV7L.js → shard-manager-FH5JZRSE.js} +2 -2
- package/dist/{skill-refinement-Y3M7XBRE.js → skill-refinement-UHD4E6GV.js} +4 -4
- package/dist/{skill-retrieval-XDY352AS.js → skill-retrieval-F6PAJ3I5.js} +11 -11
- package/dist/{skill-usage-QOLIJQJC.js → skill-usage-2MBTF7Y4.js} +4 -4
- package/dist/{stack-generate-manifest-VFHCOLAD.js → stack-generate-manifest-MVJDTU4F.js} +13 -37
- package/dist/{stack-promote-24BY6AXF.js → stack-promote-BMGEY6SQ.js} +4 -4
- package/dist/{stack-release-AXH7ZIOR.js → stack-release-64UJ6Y4W.js} +17 -34
- package/dist/{stack-update-7ET7S3ED.js → stack-update-EBATTQPP.js} +5 -3
- package/dist/{steward-gate-2MUESY3V.js → steward-gate-EWG2BHYQ.js} +4 -4
- package/dist/{subagent-brief-injection-6PM3WMMR.js → subagent-brief-injection-YZGSWUEY.js} +23 -23
- package/dist/{support-bug-actions-WWKDXT74.js → support-bug-actions-RU6WZ3UV.js} +3 -3
- package/dist/{support-inbox-AN44HIOG.js → support-inbox-A3S52SPS.js} +12 -12
- package/dist/{task-enforcement-QO7RXYK2.js → task-enforcement-LVAS55AR.js} +13 -13
- package/dist/{task-request-inbox-RXAT2QJF.js → task-request-inbox-2TN4ZUH2.js} +5 -5
- package/dist/{task-scope-4EKZBTTM.js → task-scope-NLKUVCP5.js} +12 -12
- package/dist/{tasks-crud-MB7WXGPW.js → tasks-crud-NQDPLHNZ.js} +12 -12
- package/dist/{tasks-notify-BCWO7AP6.js → tasks-notify-BDM2NEHP.js} +13 -13
- package/dist/{tasks-review-HXHYA76X.js → tasks-review-3G7CAW2O.js} +12 -12
- package/dist/{telemetry-upload-Q7DLE5I3.js → telemetry-upload-6DR6AL3V.js} +8 -8
- package/dist/{token-budget-EL6BEBDP.js → token-budget-KNC2WGR7.js} +4 -4
- package/dist/{tool-telemetry-SNWF4WDH.js → tool-telemetry-I3SEU5M5.js} +1 -1
- package/dist/tui/App.js +23 -23
- package/dist/{tui-data-ZMSBEPJT.js → tui-data-KJDWP4CB.js} +16 -16
- package/dist/{update-support-QY7WALUZ.js → update-support-UYDYMHVR.js} +11 -11
- package/dist/{whatsapp-NCZ43BB3.js → whatsapp-5EMPZHF5.js} +2 -2
- package/dist/{wiki-acl-3L7BRJUV.js → wiki-acl-M7BTQJBZ.js} +1 -1
- package/dist/{work-claims-XQXT2VWJ.js → work-claims-5CFMZTML.js} +4 -4
- package/dist/{work-state-heartbeat-GAIQ7M73.js → work-state-heartbeat-7IA2DZ2E.js} +1 -1
- package/dist/{workflow-engine-FCOOI5M6.js → workflow-engine-S5JOE2YR.js} +2 -2
- package/dist/{worktree-GS4ODQ4C.js → worktree-7V4ZMF3D.js} +5 -5
- package/dist/{worktree-sweep-6LMC7H5Y.js → worktree-sweep-34MXJ7S6.js} +6 -6
- package/package.json +2 -1
- package/release-notes.json +21 -25
- package/stack.release.json +5 -5
- package/dist/chunk-WZPD4QSE.js +0 -113
- /package/dist/{chunk-IKJUZ3VO.js → chunk-542FBM5U.js} +0 -0
- /package/dist/{chunk-XJDSTA2C.js → chunk-6D2O5SAH.js} +0 -0
- /package/dist/{chunk-FDQXQBBC.js → chunk-6NRZLVK3.js} +0 -0
- /package/dist/{chunk-XDWIJBTY.js → chunk-CFO47VW4.js} +0 -0
- /package/dist/{chunk-R6H2IRCF.js → chunk-EULAP6L6.js} +0 -0
- /package/dist/{chunk-LK6OG47X.js → chunk-FYSKQPTE.js} +0 -0
- /package/dist/{chunk-LAWI42NC.js → chunk-J4B4M5PH.js} +0 -0
- /package/dist/{chunk-AC36VWNB.js → chunk-J635FA7T.js} +0 -0
- /package/dist/{chunk-UQKGV6SX.js → chunk-MOBZTIJQ.js} +0 -0
- /package/dist/{chunk-7ZP2PAW3.js → chunk-N45FAI6D.js} +0 -0
- /package/dist/{chunk-ZQS4S4AX.js → chunk-QDSNEGJE.js} +0 -0
- /package/dist/{chunk-CS4SHHLY.js → chunk-SKSXROKP.js} +0 -0
- /package/dist/{chunk-JXGOO53U.js → chunk-YVWXI2HM.js} +0 -0
- /package/dist/{core-memory-3TZV3ZDW.js → core-memory-PZEO3OWH.js} +0 -0
- /package/dist/{memory-isolation-TE4AOMQX.js → memory-isolation-MFNT2ITE.js} +0 -0
- /package/dist/{oauth-server-CWQ6EBGQ.js → oauth-server-CBGEWD6H.js} +0 -0
- /package/dist/{project-boot-MX2FNKTJ.js → project-boot-VESAYDIH.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isCrdtSyncEnabled
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FSXMKIDO.js";
|
|
4
4
|
import {
|
|
5
5
|
compress,
|
|
6
6
|
decompress
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
orgMembershipsPath,
|
|
10
10
|
orgModeActive
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LLZUL7M2.js";
|
|
12
12
|
import {
|
|
13
13
|
activeRecipientPubKeys,
|
|
14
14
|
grantsPath,
|
|
15
15
|
isGrantsMacPrimed,
|
|
16
16
|
primeGrantsMacKey,
|
|
17
17
|
warnActiveMonitoringOnce
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VAHQOIQY.js";
|
|
19
19
|
import {
|
|
20
20
|
assertGateAndGrantsColocated
|
|
21
21
|
} from "./chunk-NPXIS2RY.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
GHOST_BEHAVIOR_SQL,
|
|
27
27
|
isGhostBehaviorRow
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-KEDZRQI3.js";
|
|
29
29
|
import {
|
|
30
30
|
isTransientDaemonTransportError,
|
|
31
31
|
retryOnDaemonTransportError
|
|
@@ -36,17 +36,17 @@ import {
|
|
|
36
36
|
encryptSyncBlob,
|
|
37
37
|
initSyncCrypto,
|
|
38
38
|
isSyncCryptoInitialized
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-QV26G2BF.js";
|
|
40
40
|
import {
|
|
41
41
|
getClient,
|
|
42
42
|
isGenuineCorruptionError,
|
|
43
43
|
loadEmployees,
|
|
44
44
|
registerBinSymlinks,
|
|
45
45
|
saveEmployees
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-L5JFVK5T.js";
|
|
47
47
|
import {
|
|
48
48
|
loadDeviceId
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-EOWJXCYC.js";
|
|
50
50
|
import {
|
|
51
51
|
EXE_AI_DIR
|
|
52
52
|
} from "./chunk-MMS2HBRT.js";
|
|
@@ -73,7 +73,7 @@ var _writerLink = null;
|
|
|
73
73
|
function linkMonitoredWriter() {
|
|
74
74
|
if (_monitoredWriter) return Promise.resolve();
|
|
75
75
|
if (!_writerLink) {
|
|
76
|
-
_writerLink = import("./founder-monitor-envelope-
|
|
76
|
+
_writerLink = import("./founder-monitor-envelope-54UNZNY4.js").then((mod) => {
|
|
77
77
|
_monitoredWriter = mod.encryptMonitoredSyncBlob;
|
|
78
78
|
_founderModuleLinked = true;
|
|
79
79
|
}).catch((err) => {
|
|
@@ -467,23 +467,6 @@ function openSyncBlob(blob, context) {
|
|
|
467
467
|
function routeContext(route) {
|
|
468
468
|
return route.replace(/^\/sync\/(push|pull)-/, "");
|
|
469
469
|
}
|
|
470
|
-
function resolveServerKeyWithin(baseDir, key) {
|
|
471
|
-
if (typeof key !== "string" || key.length === 0) {
|
|
472
|
-
throw new Error("Server-supplied key rejected: not a non-empty string");
|
|
473
|
-
}
|
|
474
|
-
if (key.includes("\0")) {
|
|
475
|
-
throw new Error("Server-supplied key rejected: contains a NUL byte");
|
|
476
|
-
}
|
|
477
|
-
if (path2.isAbsolute(key) || key !== path2.basename(key)) {
|
|
478
|
-
throw new Error(`Server-supplied key rejected: not a plain filename (${JSON.stringify(key)})`);
|
|
479
|
-
}
|
|
480
|
-
const base = path2.resolve(baseDir);
|
|
481
|
-
const full = path2.resolve(base, key);
|
|
482
|
-
if (!full.startsWith(base + path2.sep)) {
|
|
483
|
-
throw new Error(`Server-supplied key rejected: escapes ${base} (${JSON.stringify(key)})`);
|
|
484
|
-
}
|
|
485
|
-
return full;
|
|
486
|
-
}
|
|
487
470
|
var SYNC_PAGE_SIZE = 5e3;
|
|
488
471
|
var SYNC_MAX_ROWS = 5e6;
|
|
489
472
|
async function fetchAllRows(client, table, where) {
|
|
@@ -1295,7 +1278,7 @@ async function cloudSync(config, options) {
|
|
|
1295
1278
|
})
|
|
1296
1279
|
};
|
|
1297
1280
|
if (shouldUseCrdtMergeForCloudSync()) {
|
|
1298
|
-
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-
|
|
1281
|
+
const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-FXEKABM7.js");
|
|
1299
1282
|
initCrdtDoc();
|
|
1300
1283
|
importExistingMemories(
|
|
1301
1284
|
pullResult.records.map((rec) => ({
|
|
@@ -1839,24 +1822,12 @@ async function cloudSync(config, options) {
|
|
|
1839
1822
|
}
|
|
1840
1823
|
const codeContextResult = { pushed: 0, pulled: 0 };
|
|
1841
1824
|
if (!shouldSkip("code_context")) {
|
|
1842
|
-
try {
|
|
1843
|
-
codeContextResult.pushed = await cloudPushCodeContext(config);
|
|
1844
|
-
} catch (err) {
|
|
1845
|
-
rethrowIfCorruption(err);
|
|
1846
|
-
logError(`[cloud-sync] Code context push: ${err instanceof Error ? err.message : String(err)}`);
|
|
1847
|
-
}
|
|
1848
|
-
try {
|
|
1849
|
-
codeContextResult.pulled = await cloudPullCodeContext(config);
|
|
1850
|
-
} catch (err) {
|
|
1851
|
-
rethrowIfCorruption(err);
|
|
1852
|
-
logError(`[cloud-sync] Code context pull: ${err instanceof Error ? err.message : String(err)}`);
|
|
1853
|
-
}
|
|
1854
1825
|
await stageDone("code_context");
|
|
1855
1826
|
}
|
|
1856
1827
|
const artifactResult = { pushed: 0, frozen: false, remaining: 0 };
|
|
1857
1828
|
if (!shouldSkip("artifacts")) {
|
|
1858
1829
|
try {
|
|
1859
|
-
const { flushArtifactBackups } = await import("./artifact-backup-
|
|
1830
|
+
const { flushArtifactBackups } = await import("./artifact-backup-EETHNFFP.js");
|
|
1860
1831
|
const flushed = await flushArtifactBackups(cloudArtifactTransport(config));
|
|
1861
1832
|
artifactResult.pushed = flushed.pushed;
|
|
1862
1833
|
artifactResult.frozen = flushed.frozen;
|
|
@@ -3236,100 +3207,6 @@ async function cloudPullDocuments(config) {
|
|
|
3236
3207
|
}
|
|
3237
3208
|
return { pulled };
|
|
3238
3209
|
}
|
|
3239
|
-
var CODE_CONTEXT_DIR = path2.join(EXE_AI_DIR, "code-context");
|
|
3240
|
-
function codeContextIdentity(file) {
|
|
3241
|
-
return `code-context/${file}`;
|
|
3242
|
-
}
|
|
3243
|
-
async function cloudPushCodeContext(config) {
|
|
3244
|
-
assertSecureEndpoint(config.endpoint);
|
|
3245
|
-
if (!existsSync(CODE_CONTEXT_DIR)) return 0;
|
|
3246
|
-
const files = readdirSync(CODE_CONTEXT_DIR).filter(
|
|
3247
|
-
(f) => f.endsWith(".json") && !f.startsWith(".")
|
|
3248
|
-
);
|
|
3249
|
-
if (files.length === 0) return 0;
|
|
3250
|
-
const metaPath = path2.join(CODE_CONTEXT_DIR, ".sync-meta.json");
|
|
3251
|
-
let syncMeta = {};
|
|
3252
|
-
if (existsSync(metaPath)) {
|
|
3253
|
-
try {
|
|
3254
|
-
syncMeta = JSON.parse(readFileSync(metaPath, "utf-8"));
|
|
3255
|
-
} catch (e) {
|
|
3256
|
-
process.stderr.write("[cloud-sync] code-context sync-meta parse failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
3257
|
-
}
|
|
3258
|
-
}
|
|
3259
|
-
let pushed = 0;
|
|
3260
|
-
for (const file of files) {
|
|
3261
|
-
const filePath = path2.join(CODE_CONTEXT_DIR, file);
|
|
3262
|
-
try {
|
|
3263
|
-
const stat = statSync(filePath);
|
|
3264
|
-
const lastPushed = syncMeta[file] ?? 0;
|
|
3265
|
-
if (stat.mtimeMs <= lastPushed) continue;
|
|
3266
|
-
const content = readFileSync(filePath, "utf-8");
|
|
3267
|
-
const header = content.substring(0, 300);
|
|
3268
|
-
if (header.includes("/tmp") || header.includes("/var/folders") || header.includes(".worktrees/")) continue;
|
|
3269
|
-
const compressed = compress(Buffer.from(content, "utf8"));
|
|
3270
|
-
const encrypted = sealSyncBlob(compressed, codeContextIdentity(file));
|
|
3271
|
-
const resp = await fetchWithRetry(`${config.endpoint}/sync/push-code-context`, {
|
|
3272
|
-
method: "POST",
|
|
3273
|
-
headers: await cloudAuthHeaders(config),
|
|
3274
|
-
body: JSON.stringify({ key: file, blob: encrypted })
|
|
3275
|
-
});
|
|
3276
|
-
if (resp.ok) {
|
|
3277
|
-
if (EMIT_BOUND_SYNC_BLOBS) markContextBound(codeContextIdentity(file));
|
|
3278
|
-
syncMeta[file] = stat.mtimeMs;
|
|
3279
|
-
pushed++;
|
|
3280
|
-
}
|
|
3281
|
-
} catch (e) {
|
|
3282
|
-
process.stderr.write("[cloud-sync] code-context push failed (" + file + "): " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
3283
|
-
}
|
|
3284
|
-
}
|
|
3285
|
-
if (pushed > 0) {
|
|
3286
|
-
try {
|
|
3287
|
-
atomicWriteJsonSync(metaPath, syncMeta);
|
|
3288
|
-
} catch (e) {
|
|
3289
|
-
process.stderr.write("[cloud-sync] code-context sync-meta write failed: " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
3290
|
-
}
|
|
3291
|
-
}
|
|
3292
|
-
return pushed;
|
|
3293
|
-
}
|
|
3294
|
-
async function cloudPullCodeContext(config) {
|
|
3295
|
-
assertSecureEndpoint(config.endpoint);
|
|
3296
|
-
try {
|
|
3297
|
-
const resp = await fetchWithRetry(`${config.endpoint}/sync/pull-code-context`, {
|
|
3298
|
-
method: "GET",
|
|
3299
|
-
headers: await cloudAuthHeaders(config, false)
|
|
3300
|
-
});
|
|
3301
|
-
if (!resp.ok) return 0;
|
|
3302
|
-
const data = await resp.json();
|
|
3303
|
-
if (!data.indexes || data.indexes.length === 0) return 0;
|
|
3304
|
-
mkdirSync(CODE_CONTEXT_DIR, { recursive: true });
|
|
3305
|
-
let pulled = 0;
|
|
3306
|
-
for (const { key, blob } of data.indexes) {
|
|
3307
|
-
try {
|
|
3308
|
-
const localPath = resolveServerKeyWithin(CODE_CONTEXT_DIR, key);
|
|
3309
|
-
const compressed = openSyncBlob(blob, codeContextIdentity(path2.basename(localPath)));
|
|
3310
|
-
const content = decompress(compressed).toString("utf8");
|
|
3311
|
-
if (!existsSync(localPath)) {
|
|
3312
|
-
atomicWriteSync(localPath, content);
|
|
3313
|
-
pulled++;
|
|
3314
|
-
} else {
|
|
3315
|
-
const remoteHash = crypto.createHash("sha256").update(content).digest("hex");
|
|
3316
|
-
const localHash = crypto.createHash("sha256").update(readFileSync(localPath, "utf-8")).digest("hex");
|
|
3317
|
-
if (localHash !== remoteHash) {
|
|
3318
|
-
atomicWriteSync(localPath, content);
|
|
3319
|
-
pulled++;
|
|
3320
|
-
}
|
|
3321
|
-
}
|
|
3322
|
-
} catch (e) {
|
|
3323
|
-
process.stderr.write("[cloud-sync] code-context pull failed (" + key + "): " + (e instanceof Error ? e.message : String(e)) + "\n");
|
|
3324
|
-
}
|
|
3325
|
-
}
|
|
3326
|
-
return pulled;
|
|
3327
|
-
} catch (err) {
|
|
3328
|
-
process.stderr.write(`[cloud-sync] Code context pull failed: ${err instanceof Error ? err.message : String(err)}
|
|
3329
|
-
`);
|
|
3330
|
-
return 0;
|
|
3331
|
-
}
|
|
3332
|
-
}
|
|
3333
3210
|
async function cloudPushSchedules(config) {
|
|
3334
3211
|
const { ok } = await cloudPushVersionedBlob(
|
|
3335
3212
|
"schedules",
|
|
@@ -3588,8 +3465,6 @@ export {
|
|
|
3588
3465
|
deriveWorkspaceSlug,
|
|
3589
3466
|
cloudPushDocuments,
|
|
3590
3467
|
cloudPullDocuments,
|
|
3591
|
-
cloudPushCodeContext,
|
|
3592
|
-
cloudPullCodeContext,
|
|
3593
3468
|
cloudPushSchedules,
|
|
3594
3469
|
cloudPullSchedules,
|
|
3595
3470
|
cloudPushTrajectories,
|
|
@@ -3,25 +3,25 @@ import {
|
|
|
3
3
|
} from "./chunk-W4H2MZAS.js";
|
|
4
4
|
import {
|
|
5
5
|
resolvePartnerIdentities
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CJ6CS2IH.js";
|
|
7
7
|
import {
|
|
8
8
|
OrgKeyPinConflictError,
|
|
9
9
|
orgKeyPinConfirmation,
|
|
10
10
|
pinOrgKey,
|
|
11
11
|
readOrgKeyPin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6PXFF6IV.js";
|
|
13
13
|
import {
|
|
14
14
|
displayFingerprint,
|
|
15
15
|
ed25519PrivateKeyFromSeed,
|
|
16
16
|
signKeyFingerprint
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MZNLQC6W.js";
|
|
18
18
|
import {
|
|
19
19
|
establishOrgMode,
|
|
20
20
|
upsertOrgMembership
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-LLZUL7M2.js";
|
|
22
22
|
import {
|
|
23
23
|
isValidX25519Recipient
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-7SHU5MOD.js";
|
|
25
25
|
|
|
26
26
|
// src/lib/org-join.ts
|
|
27
27
|
import { createHash, sign } from "crypto";
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PLATFORM_PROCEDURES,
|
|
3
|
+
PLATFORM_PROCEDURE_TITLES
|
|
4
|
+
} from "./chunk-4CN3EE6U.js";
|
|
5
|
+
import {
|
|
6
|
+
fastDbInit
|
|
7
|
+
} from "./chunk-N45FAI6D.js";
|
|
8
|
+
import {
|
|
9
|
+
getClient
|
|
10
|
+
} from "./chunk-L5JFVK5T.js";
|
|
11
|
+
import {
|
|
12
|
+
EXE_AI_DIR
|
|
13
|
+
} from "./chunk-MMS2HBRT.js";
|
|
14
|
+
import {
|
|
15
|
+
atomicWriteSync,
|
|
16
|
+
ensurePrivateDirSync
|
|
17
|
+
} from "./chunk-HSGBZSCA.js";
|
|
18
|
+
|
|
19
|
+
// src/lib/global-procedures.ts
|
|
20
|
+
import { randomUUID } from "crypto";
|
|
21
|
+
import { readFileSync } from "fs";
|
|
22
|
+
import path from "path";
|
|
23
|
+
var _customerCache = "";
|
|
24
|
+
var _cacheLoaded = false;
|
|
25
|
+
var _loadPromise = null;
|
|
26
|
+
var _snapshotCache = "";
|
|
27
|
+
var _snapshotLoadedAt = null;
|
|
28
|
+
var _platformCache = PLATFORM_PROCEDURES.map((p) => `### ${p.title}
|
|
29
|
+
${p.content}`).join("\n\n");
|
|
30
|
+
async function loadGlobalProcedures() {
|
|
31
|
+
const client = getClient();
|
|
32
|
+
const result = await client.execute({
|
|
33
|
+
sql: "SELECT * FROM company_procedures WHERE active = 1 ORDER BY priority ASC, created_at ASC",
|
|
34
|
+
args: []
|
|
35
|
+
});
|
|
36
|
+
const allRows = result.rows;
|
|
37
|
+
const customerOnly = filterCustomerProcedures(allRows);
|
|
38
|
+
_customerCache = renderCustomerProcedures(customerOnly);
|
|
39
|
+
_cacheLoaded = true;
|
|
40
|
+
writeCompanyProceduresSnapshot(customerOnly);
|
|
41
|
+
return customerOnly;
|
|
42
|
+
}
|
|
43
|
+
function filterCustomerProcedures(rows) {
|
|
44
|
+
return rows.filter((p) => {
|
|
45
|
+
if (PLATFORM_PROCEDURE_TITLES.has(p.title)) return false;
|
|
46
|
+
const title = (p.title ?? "").trim();
|
|
47
|
+
const content = (p.content ?? "").trim();
|
|
48
|
+
if (!title || title === "(untitled)") return false;
|
|
49
|
+
if (!content) return false;
|
|
50
|
+
return true;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function renderCustomerProcedures(rows) {
|
|
54
|
+
const values = rows.filter((p) => p.kind === "value");
|
|
55
|
+
const procedures = rows.filter((p) => p.kind !== "value");
|
|
56
|
+
const parts = [];
|
|
57
|
+
if (values.length > 0) {
|
|
58
|
+
parts.push("### Company Values\n" + values.map((v) => `- **${v.title}:** ${v.content}`).join("\n"));
|
|
59
|
+
}
|
|
60
|
+
if (procedures.length > 0) {
|
|
61
|
+
parts.push(procedures.map((p) => `### ${p.title}
|
|
62
|
+
${p.content}`).join("\n\n"));
|
|
63
|
+
}
|
|
64
|
+
return parts.join("\n\n");
|
|
65
|
+
}
|
|
66
|
+
function companyProceduresSnapshotPath() {
|
|
67
|
+
return path.join(EXE_AI_DIR, "procedures-cache", "company-procedures.json");
|
|
68
|
+
}
|
|
69
|
+
function existingSnapshotHasProcedures() {
|
|
70
|
+
let raw;
|
|
71
|
+
try {
|
|
72
|
+
raw = readFileSync(companyProceduresSnapshotPath(), "utf8");
|
|
73
|
+
} catch {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const parsed = JSON.parse(raw);
|
|
78
|
+
return Array.isArray(parsed.procedures) && parsed.procedures.length > 0;
|
|
79
|
+
} catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function writeCompanyProceduresSnapshot(rows) {
|
|
84
|
+
try {
|
|
85
|
+
if (rows.length === 0 && existingSnapshotHasProcedures()) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const target = companyProceduresSnapshotPath();
|
|
89
|
+
ensurePrivateDirSync(path.dirname(target));
|
|
90
|
+
const snapshot = {
|
|
91
|
+
version: 1,
|
|
92
|
+
loadedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
93
|
+
procedures: rows.map((p) => ({
|
|
94
|
+
id: String(p.id),
|
|
95
|
+
title: String(p.title),
|
|
96
|
+
content: String(p.content),
|
|
97
|
+
priority: String(p.priority ?? "p0"),
|
|
98
|
+
domain: p.domain ?? null,
|
|
99
|
+
kind: p.kind === "value" ? "value" : "procedure"
|
|
100
|
+
}))
|
|
101
|
+
};
|
|
102
|
+
atomicWriteSync(target, JSON.stringify(snapshot) + "\n");
|
|
103
|
+
} catch (err) {
|
|
104
|
+
process.stderr.write(
|
|
105
|
+
`[global-procedures] could not write company-procedures snapshot: ${describeError(err)}
|
|
106
|
+
`
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function loadCompanyProceduresSnapshot() {
|
|
111
|
+
let raw;
|
|
112
|
+
try {
|
|
113
|
+
raw = readFileSync(companyProceduresSnapshotPath(), "utf8");
|
|
114
|
+
} catch {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const parsed = JSON.parse(raw);
|
|
119
|
+
if (parsed?.version !== 1 || typeof parsed.loadedAt !== "string" || !Array.isArray(parsed.procedures)) {
|
|
120
|
+
throw new Error("unrecognised snapshot shape");
|
|
121
|
+
}
|
|
122
|
+
const rows = filterCustomerProcedures(
|
|
123
|
+
parsed.procedures.filter(
|
|
124
|
+
(p) => !!p && typeof p.title === "string" && typeof p.content === "string"
|
|
125
|
+
)
|
|
126
|
+
);
|
|
127
|
+
_snapshotCache = renderCustomerProcedures(rows);
|
|
128
|
+
_snapshotLoadedAt = parsed.loadedAt;
|
|
129
|
+
return { loadedAt: parsed.loadedAt, count: rows.length };
|
|
130
|
+
} catch (err) {
|
|
131
|
+
process.stderr.write(
|
|
132
|
+
`[global-procedures] ignoring unreadable company-procedures snapshot: ${describeError(err)}
|
|
133
|
+
`
|
|
134
|
+
);
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function companyProceduresSnapshotNote(loadedAt) {
|
|
139
|
+
return `\u26A0 Company procedures below come from a last-known-good snapshot taken at ${loadedAt} (live load failed at launch; stale but present, run config company_procedure list to refresh)`;
|
|
140
|
+
}
|
|
141
|
+
function getCompanyProceduresSource() {
|
|
142
|
+
if (_cacheLoaded) return "live";
|
|
143
|
+
if (_snapshotLoadedAt !== null) return "snapshot";
|
|
144
|
+
return "none";
|
|
145
|
+
}
|
|
146
|
+
function describeError(err) {
|
|
147
|
+
if (err instanceof Error) return `${err.name}: ${err.message}`;
|
|
148
|
+
return String(err);
|
|
149
|
+
}
|
|
150
|
+
function classifyProceduresLoadError(err) {
|
|
151
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
152
|
+
if (/timeout|timed out/i.test(msg)) return "timeout";
|
|
153
|
+
if (/not initialized|not connected|write failed|connection closed/i.test(msg)) return "no-client";
|
|
154
|
+
return "query-error";
|
|
155
|
+
}
|
|
156
|
+
async function loadGlobalProceduresOrSnapshot() {
|
|
157
|
+
try {
|
|
158
|
+
await loadGlobalProcedures();
|
|
159
|
+
return { source: "live" };
|
|
160
|
+
} catch (err) {
|
|
161
|
+
const error = `${classifyProceduresLoadError(err)}: ${describeError(err)}`;
|
|
162
|
+
const snap = loadCompanyProceduresSnapshot();
|
|
163
|
+
return { source: snap ? "snapshot" : "none", error };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
var COMPANY_PROCEDURES_NOT_LOADED_LINE = "\u26A0 Company procedures NOT loaded; run config company_procedure list";
|
|
167
|
+
async function ensureGlobalProceduresLoaded() {
|
|
168
|
+
if (_cacheLoaded) return;
|
|
169
|
+
if (!_loadPromise) {
|
|
170
|
+
_loadPromise = (async () => {
|
|
171
|
+
const client = await fastDbInit({ daemonOnly: true });
|
|
172
|
+
if (client?.__exeNoopClient === true) {
|
|
173
|
+
throw new Error("daemon unavailable: fastDbInit degraded to its no-op client (no direct DB open)");
|
|
174
|
+
}
|
|
175
|
+
return loadGlobalProcedures();
|
|
176
|
+
})().catch((err) => {
|
|
177
|
+
const snap = loadCompanyProceduresSnapshot();
|
|
178
|
+
process.stderr.write(
|
|
179
|
+
`[global-procedures] company procedures load failed: ${String(err)}` + (snap ? ` (using last-known-good snapshot from ${snap.loadedAt}, ${snap.count} procedures)
|
|
180
|
+
` : " (no snapshot available)\n")
|
|
181
|
+
);
|
|
182
|
+
return [];
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
await _loadPromise;
|
|
187
|
+
} finally {
|
|
188
|
+
if (!_cacheLoaded) _loadPromise = null;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function getGlobalProceduresBlock() {
|
|
192
|
+
const sections = [];
|
|
193
|
+
if (_platformCache) sections.push(_platformCache);
|
|
194
|
+
if (_cacheLoaded) {
|
|
195
|
+
if (_customerCache) sections.push(_customerCache);
|
|
196
|
+
} else if (_snapshotLoadedAt !== null) {
|
|
197
|
+
sections.push(companyProceduresSnapshotNote(_snapshotLoadedAt));
|
|
198
|
+
if (_snapshotCache) sections.push(_snapshotCache);
|
|
199
|
+
} else {
|
|
200
|
+
sections.push(COMPANY_PROCEDURES_NOT_LOADED_LINE);
|
|
201
|
+
}
|
|
202
|
+
if (sections.length === 0) return "";
|
|
203
|
+
return `## Organization-Wide Procedures (MANDATORY \u2014 supersedes all other rules)
|
|
204
|
+
|
|
205
|
+
${sections.join("\n\n")}
|
|
206
|
+
`;
|
|
207
|
+
}
|
|
208
|
+
async function storeGlobalProcedure(input) {
|
|
209
|
+
if (!input.title?.trim() || !input.content?.trim()) {
|
|
210
|
+
throw new Error("storeGlobalProcedure requires a non-empty title and content");
|
|
211
|
+
}
|
|
212
|
+
const id = randomUUID();
|
|
213
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
214
|
+
const client = getClient();
|
|
215
|
+
await client.execute({
|
|
216
|
+
sql: `INSERT INTO company_procedures (id, title, content, priority, domain, kind, active, created_at, updated_at)
|
|
217
|
+
VALUES (?, ?, ?, ?, ?, ?, 1, ?, ?)`,
|
|
218
|
+
args: [id, input.title, input.content, input.priority ?? "p0", input.domain ?? null, input.kind ?? "procedure", now, now]
|
|
219
|
+
});
|
|
220
|
+
await loadGlobalProcedures();
|
|
221
|
+
return id;
|
|
222
|
+
}
|
|
223
|
+
async function deactivateGlobalProcedure(id) {
|
|
224
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
225
|
+
const client = getClient();
|
|
226
|
+
const result = await client.execute({
|
|
227
|
+
sql: "UPDATE company_procedures SET active = 0, updated_at = ? WHERE id = ?",
|
|
228
|
+
args: [now, id]
|
|
229
|
+
});
|
|
230
|
+
await loadGlobalProcedures();
|
|
231
|
+
return result.rowsAffected > 0;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export {
|
|
235
|
+
loadGlobalProcedures,
|
|
236
|
+
companyProceduresSnapshotPath,
|
|
237
|
+
loadCompanyProceduresSnapshot,
|
|
238
|
+
companyProceduresSnapshotNote,
|
|
239
|
+
getCompanyProceduresSource,
|
|
240
|
+
describeError,
|
|
241
|
+
classifyProceduresLoadError,
|
|
242
|
+
loadGlobalProceduresOrSnapshot,
|
|
243
|
+
COMPANY_PROCEDURES_NOT_LOADED_LINE,
|
|
244
|
+
ensureGlobalProceduresLoaded,
|
|
245
|
+
getGlobalProceduresBlock,
|
|
246
|
+
storeGlobalProcedure,
|
|
247
|
+
deactivateGlobalProcedure
|
|
248
|
+
};
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
} from "./chunk-VGMACSEV.js";
|
|
11
11
|
import {
|
|
12
12
|
WORK_STATE_HEARTBEAT_TOOL
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MOBZTIJQ.js";
|
|
14
14
|
import {
|
|
15
15
|
hashMemoryContent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FYSKQPTE.js";
|
|
17
17
|
|
|
18
18
|
// src/lib/graph-rag.ts
|
|
19
19
|
import crypto from "crypto";
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
BUSY_PATTERN,
|
|
3
3
|
sendIntercom,
|
|
4
4
|
updateTaskStatus
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GM4UEZDE.js";
|
|
6
6
|
import {
|
|
7
7
|
recordOrchestrationEventBestEffort
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JGBYZTWH.js";
|
|
9
9
|
import {
|
|
10
10
|
hasPassed
|
|
11
11
|
} from "./chunk-YRUZK2QA.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
baseAgentName,
|
|
14
14
|
getCoordinatorName,
|
|
15
15
|
isCoordinatorName
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-L5JFVK5T.js";
|
|
17
17
|
import {
|
|
18
18
|
isAutonomousTmuxSpawnEnabled
|
|
19
19
|
} from "./chunk-MMS2HBRT.js";
|
|
@@ -338,7 +338,7 @@ async function surfaceStaleDispatchPendingSignals(scopeList, now, thresholdMs =
|
|
|
338
338
|
const sessionScope = signalScope ?? (scopeList.length === 1 ? scopeList[0] : null);
|
|
339
339
|
if (allowedScopes.size > 0 && sessionScope && !allowedScopes.has(sessionScope)) continue;
|
|
340
340
|
try {
|
|
341
|
-
const { writeNotification } = await import("./notifications-
|
|
341
|
+
const { writeNotification } = await import("./notifications-6FCQCJ4P.js");
|
|
342
342
|
await writeNotification({
|
|
343
343
|
agentId: getCoordinatorName(),
|
|
344
344
|
agentRole: "COO",
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
dispatchTaskToEmployee,
|
|
3
3
|
markTaskNotificationsRead,
|
|
4
4
|
notifyTaskDone
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DHLJZDWI.js";
|
|
6
6
|
import {
|
|
7
7
|
clearCurrentTask,
|
|
8
8
|
writeCurrentTask
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
strictSessionScopeFilter,
|
|
20
20
|
updateTaskStatus,
|
|
21
21
|
writeNotification
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-GM4UEZDE.js";
|
|
23
23
|
import {
|
|
24
24
|
getAgentContext
|
|
25
25
|
} from "./chunk-GJV3WDWM.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
getClient,
|
|
31
31
|
getCoordinatorName,
|
|
32
32
|
isCoordinatorName
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-L5JFVK5T.js";
|
|
34
34
|
import {
|
|
35
35
|
isAutonomousTmuxSpawnEnabled
|
|
36
36
|
} from "./chunk-MMS2HBRT.js";
|
|
@@ -85,7 +85,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
|
|
|
85
85
|
if (unblockedRows.rows.length > 0 && !process.env.VITEST) {
|
|
86
86
|
const autonomousSpawnAllowed = isAutonomousTmuxSpawnEnabled();
|
|
87
87
|
try {
|
|
88
|
-
const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-
|
|
88
|
+
const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-BDM2NEHP.js");
|
|
89
89
|
const dispatched = /* @__PURE__ */ new Set();
|
|
90
90
|
for (const ur of unblockedRows.rows) {
|
|
91
91
|
if (!unblockedRowMayAutoDispatch(ur, autonomousSpawnAllowed)) continue;
|
|
@@ -97,7 +97,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
|
|
|
97
97
|
}
|
|
98
98
|
} catch {
|
|
99
99
|
try {
|
|
100
|
-
const { queueIntercom } = await import("./intercom-queue-
|
|
100
|
+
const { queueIntercom } = await import("./intercom-queue-ZJ3MNULM.js");
|
|
101
101
|
const dispatched = /* @__PURE__ */ new Set();
|
|
102
102
|
for (const ur of unblockedRows.rows) {
|
|
103
103
|
if (!unblockedRowIsDurableTmux(ur)) continue;
|
|
@@ -313,7 +313,7 @@ async function updateTask(input, deps = {}) {
|
|
|
313
313
|
try {
|
|
314
314
|
process.stderr.write(`[tasks] EVENT: tmux delivery failed for reviewer="${reviewer}". Queueing for daemon delivery.
|
|
315
315
|
`);
|
|
316
|
-
const { queueIntercom } = await import("./intercom-queue-
|
|
316
|
+
const { queueIntercom } = await import("./intercom-queue-ZJ3MNULM.js");
|
|
317
317
|
const { resolveExeSession } = await import("./lib/tmux-routing.js");
|
|
318
318
|
const exeSession = row.session_scope ? String(row.session_scope) : resolveExeSession();
|
|
319
319
|
if (exeSession) {
|
|
@@ -330,7 +330,7 @@ async function updateTask(input, deps = {}) {
|
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
332
|
try {
|
|
333
|
-
const { pushNotifyAsync } = await import("./push-notifications-
|
|
333
|
+
const { pushNotifyAsync } = await import("./push-notifications-QW4BWRC7.js");
|
|
334
334
|
pushNotifyAsync({
|
|
335
335
|
event: "review_ready",
|
|
336
336
|
title: `Review ready: ${taskTitle.slice(0, 50)}`,
|
|
@@ -342,7 +342,7 @@ async function updateTask(input, deps = {}) {
|
|
|
342
342
|
}
|
|
343
343
|
if (isLegacyExecution && !isCoordinator && isCompletionReviewTransition) {
|
|
344
344
|
try {
|
|
345
|
-
const { pushNotifyAsync } = await import("./push-notifications-
|
|
345
|
+
const { pushNotifyAsync } = await import("./push-notifications-QW4BWRC7.js");
|
|
346
346
|
const event = input.status === "needs_review" ? "review_ready" : "task_complete";
|
|
347
347
|
pushNotifyAsync({
|
|
348
348
|
event,
|
|
@@ -357,7 +357,7 @@ async function updateTask(input, deps = {}) {
|
|
|
357
357
|
await markTaskNotificationsRead(taskFile);
|
|
358
358
|
if (isLegacyExecution && isCompletionReviewTransition && !isCoordinator && row.reviewer) {
|
|
359
359
|
try {
|
|
360
|
-
const { writeNotification: writeNotification2 } = await import("./notifications-
|
|
360
|
+
const { writeNotification: writeNotification2 } = await import("./notifications-6FCQCJ4P.js");
|
|
361
361
|
const reviewer = String(row.reviewer);
|
|
362
362
|
await writeNotification2({
|
|
363
363
|
agentId: reviewer,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-SSC7EKY2.js";
|
|
11
11
|
import {
|
|
12
12
|
computeDegradations
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-QOFQY7BJ.js";
|
|
14
14
|
import {
|
|
15
15
|
inventoryLocalSecretResidue,
|
|
16
16
|
redactResiduePathForDisplay
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "./chunk-BYP3DOUU.js";
|
|
42
42
|
import {
|
|
43
43
|
mcpHttpPort
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-27NG2NTG.js";
|
|
45
45
|
import {
|
|
46
46
|
isWithin
|
|
47
47
|
} from "./chunk-YRUZK2QA.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
} from "./chunk-ZQEJ4IX2.js";
|
|
52
52
|
import {
|
|
53
53
|
inspectKeyCustodySync
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-4J77TCTX.js";
|
|
55
55
|
import {
|
|
56
56
|
checkSingleGotrueInstance
|
|
57
57
|
} from "./chunk-FTZET5YX.js";
|