@askexenow/exe-os 0.9.396 → 0.9.397
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deploy/stack-manifests/v0.9.json +134 -1
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-6CIFLMKA.js → active-agent-GHNUSBYO.js} +4 -4
- package/dist/{active-agent-7OKWCTDR.js → active-agent-GOCTWSHD.js} +4 -4
- package/dist/{agent-defs-generator-PZJGE6PL.js → agent-defs-generator-KKXWCDQR.js} +3 -3
- package/dist/{agentic-ontology-JTPDKIML.js → agentic-ontology-5JFHYHEN.js} +1 -1
- package/dist/{artifact-backup-Q7T3GQFO.js → artifact-backup-FDU7UQ5Z.js} +3 -3
- package/dist/{backfill-metadata-7QLL3FSG.js → backfill-metadata-OIVQN3GF.js} +7 -7
- package/dist/{background-jobs-V3DZRFKU.js → background-jobs-DXZXRPSE.js} +5 -1
- package/dist/{backup-verify-SCFVPBZH.js → backup-verify-ZKTVXYOK.js} +5 -5
- package/dist/{behavior-injection-CHSQWES4.js → behavior-injection-S2NBCHRK.js} +10 -10
- package/dist/{behavior-promotion-TCYWUNKR.js → behavior-promotion-WZIKTD3C.js} +9 -9
- package/dist/{behaviors-5FRO36HG.js → behaviors-T2N3VJS3.js} +8 -8
- package/dist/bin/age-ontology-load.js +1 -1
- 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 +7 -7
- package/dist/bin/backfill-responses.js +7 -7
- package/dist/bin/backfill-vectors.js +8 -8
- package/dist/bin/bulk-sync-postgres.js +17 -17
- package/dist/bin/cc-doctor.js +9 -9
- package/dist/bin/cleanup-stale-review-tasks.js +18 -18
- package/dist/bin/cli.js +28 -28
- package/dist/bin/deferred-daemon-restart.js +101 -100
- package/dist/bin/exe-actions.js +1 -1
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +11 -11
- package/dist/bin/exe-assign.js +8 -8
- package/dist/bin/exe-boot.js +38 -38
- package/dist/bin/exe-call.js +8 -8
- package/dist/bin/exe-cloud.js +18 -18
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +19 -19
- package/dist/bin/exe-doctor.js +6 -6
- 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 +9 -9
- package/dist/bin/exe-heartbeat.js +24 -24
- package/dist/bin/exe-kill.js +23 -23
- package/dist/bin/exe-launch-agent.js +31 -31
- 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 +19 -19
- package/dist/bin/exe-pending-notifications.js +18 -18
- package/dist/bin/exe-pending-reviews.js +19 -19
- package/dist/bin/exe-rename.js +6 -6
- package/dist/bin/exe-review.js +22 -22
- package/dist/bin/exe-search.js +9 -9
- package/dist/bin/exe-session-cleanup.js +24 -24
- package/dist/bin/exe-settings.js +17 -17
- package/dist/bin/exe-start-codex.js +18 -18
- package/dist/bin/exe-start-opencode.js +16 -16
- package/dist/bin/exe-status.js +20 -20
- package/dist/bin/exe-support.js +4 -4
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +22 -22
- package/dist/bin/graph-backfill.js +9 -9
- 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 +105 -104
- 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 +3 -3
- package/dist/bin/postgres-agentic-semantic-backfill.js +2 -2
- 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 +19 -19
- package/dist/bin/setup.js +2 -2
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +8 -8
- package/dist/bin/verify-stack.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-HBXSYBPC.js → boot-generation-SJQ7JNY7.js} +4 -4
- package/dist/{boot-review-sections-66P5JMRV.js → boot-review-sections-G33ATPSN.js} +17 -17
- package/dist/{bug-landed-reconciler-QIOAKAPY.js → bug-landed-reconciler-C4UHLQKA.js} +7 -7
- package/dist/build-manifest.json +943 -938
- package/dist/{capability-cards-6BANN36W.js → capability-cards-KD4UW5DR.js} +3 -3
- package/dist/{capacity-monitor-TIKUMNDU.js → capacity-monitor-RKLRCGOG.js} +19 -19
- package/dist/{catchup-brief-EVJS7D6C.js → catchup-brief-UHPPUIRL.js} +24 -24
- package/dist/{chunk-UALXBUDX.js → chunk-2DDXCN4A.js} +3 -3
- package/dist/{chunk-LVFD2DVI.js → chunk-2QF657OK.js} +3 -3
- package/dist/{chunk-H4QZCG4C.js → chunk-2SDTYPJ5.js} +1 -1
- package/dist/{chunk-SXBLRCQY.js → chunk-2WMPGRZV.js} +4 -4
- package/dist/{chunk-OGJCUMSM.js → chunk-2YESHX5N.js} +1 -1
- package/dist/{chunk-XOPIR34P.js → chunk-36WZEH4Z.js} +1 -1
- package/dist/{chunk-G7BVAQVT.js → chunk-3MK5RGIP.js} +1 -1
- package/dist/{chunk-ZTFNKVOM.js → chunk-3ODUTQG5.js} +2 -2
- package/dist/{chunk-WFKZZSEB.js → chunk-3QYMH77Q.js} +1 -1
- package/dist/{chunk-A7XLR3K7.js → chunk-3R7UDPVR.js} +1 -2
- package/dist/{chunk-Y7BP2MO2.js → chunk-44FX5OK6.js} +1 -1
- package/dist/{chunk-T6C6RT6R.js → chunk-4BC5DUD7.js} +3 -3
- package/dist/{chunk-7UCCSSJO.js → chunk-4MFPPHG4.js} +1 -1
- package/dist/{chunk-K3EU7B72.js → chunk-4Y5EKT3D.js} +5 -5
- package/dist/{chunk-IVGAATAY.js → chunk-5523XPQ5.js} +4 -4
- package/dist/{chunk-PGLASTLI.js → chunk-5BCJKGB3.js} +5 -5
- package/dist/{chunk-5RDMJ325.js → chunk-5DFDHMOD.js} +5 -5
- package/dist/{chunk-U4GMOT4M.js → chunk-5TAJDCZY.js} +49 -12
- package/dist/{chunk-55M4DF76.js → chunk-5UC27XF6.js} +2 -2
- package/dist/{chunk-3OG5LZRK.js → chunk-62MT4SAM.js} +1 -1
- package/dist/{chunk-EHFPSOLD.js → chunk-6G7CTQBF.js} +4 -4
- package/dist/{chunk-L2AUCHHJ.js → chunk-7KMFHVKB.js} +9 -9
- package/dist/{chunk-K6NJ7FAZ.js → chunk-ABDYYZSP.js} +33 -8
- package/dist/{chunk-JKUCAMV4.js → chunk-AFDVI6KB.js} +1 -1
- package/dist/{chunk-MOQBMEMW.js → chunk-AFYSK7BX.js} +4 -4
- package/dist/{chunk-BX336WRX.js → chunk-AMSNTFS4.js} +1 -1
- package/dist/{chunk-YQJC5ETC.js → chunk-AQZ3WYPU.js} +2 -2
- package/dist/{chunk-WUQSEZWR.js → chunk-AUZ4VPKO.js} +1 -1
- package/dist/{chunk-XFF6SPWG.js → chunk-AXGHNNOO.js} +1 -1
- package/dist/{chunk-TFVMRQCZ.js → chunk-AZRKNXMB.js} +4 -4
- package/dist/{chunk-BREDG6EG.js → chunk-BIHUXE5T.js} +9 -5
- package/dist/{chunk-GHCF7J4Q.js → chunk-BLZ2LEZF.js} +3 -3
- package/dist/{chunk-4CGMGUDL.js → chunk-BMGX4GUS.js} +28 -8
- package/dist/{chunk-Q7WMOEKA.js → chunk-BNLXWJLD.js} +39 -21
- package/dist/{chunk-RPOIKNJZ.js → chunk-C44UWID5.js} +1 -1
- package/dist/{chunk-HHNGQIP3.js → chunk-D73NQPRC.js} +6 -6
- package/dist/{chunk-FJPCVXQX.js → chunk-DFIH6ZZF.js} +1 -1
- package/dist/{chunk-VN27TCZE.js → chunk-DFNCYH7G.js} +2 -2
- package/dist/{chunk-RFIAHXTF.js → chunk-DNCEIP3G.js} +1 -1
- package/dist/{chunk-V5KLIBUV.js → chunk-DOMITJOC.js} +1 -1
- package/dist/{chunk-BKKZN3DJ.js → chunk-DQQTUIQJ.js} +7 -7
- package/dist/{chunk-CEKNYT2D.js → chunk-E7IALVOP.js} +12 -12
- package/dist/{chunk-656JZVNV.js → chunk-EK5EYX37.js} +3 -3
- package/dist/{chunk-WEW4TRBL.js → chunk-EPKJANA5.js} +1 -1
- package/dist/{chunk-M7DI6JWD.js → chunk-EZ2JLFDT.js} +169 -169
- package/dist/{chunk-G3KSUXEA.js → chunk-F63FRP7L.js} +1 -1
- package/dist/{chunk-I4DBM5ME.js → chunk-F6OV7JP2.js} +1 -1
- package/dist/{chunk-7WDLUCHN.js → chunk-FQMLNMUZ.js} +3 -3
- package/dist/{chunk-QQJI7JGN.js → chunk-FZPJBU3F.js} +4 -4
- package/dist/{chunk-DXQIIZQC.js → chunk-GAUMGWSQ.js} +12 -12
- package/dist/{chunk-LEA7VKPU.js → chunk-GGSXOKK6.js} +10 -10
- package/dist/{chunk-6VMVQ3G7.js → chunk-GTW56AUB.js} +57 -12
- package/dist/{chunk-X5FCZYWK.js → chunk-GUZOREJ4.js} +2 -2
- package/dist/{chunk-D2ZII4AG.js → chunk-GW67QP3K.js} +6 -6
- package/dist/{chunk-LNCTMU7Y.js → chunk-HNVYH2WE.js} +2 -2
- package/dist/{chunk-4NOGWIBA.js → chunk-HSEBRWE2.js} +3 -3
- package/dist/{chunk-B6CBN6EF.js → chunk-HWP3WCLC.js} +51 -4
- package/dist/{chunk-KBCUHYHP.js → chunk-I3MPYHFM.js} +2 -2
- package/dist/{chunk-Y5ZD4CTB.js → chunk-ITV2CEFW.js} +1 -1
- package/dist/{chunk-BJ3ZQAIL.js → chunk-IV63ZWK6.js} +1 -1
- package/dist/{chunk-6FWHAROQ.js → chunk-JI7TFGJY.js} +3 -3
- package/dist/{chunk-EHDAWQ5P.js → chunk-JO7ZJTFL.js} +1 -1
- package/dist/{chunk-5BUJW46U.js → chunk-K5FSX6H6.js} +104 -10
- package/dist/{chunk-LRAMTS6U.js → chunk-KAY2CDFK.js} +7 -7
- package/dist/{chunk-ZEYBEJBX.js → chunk-KDRYMX6M.js} +11 -11
- package/dist/{chunk-DXIMITSY.js → chunk-KOOURQVV.js} +3 -3
- package/dist/{chunk-5UUHXDX6.js → chunk-KPDKZEVT.js} +2 -2
- package/dist/{chunk-DSZM7OHM.js → chunk-M65DE5CO.js} +1 -1
- package/dist/{chunk-WDLJZKJK.js → chunk-M7P6GCXS.js} +3 -3
- package/dist/{chunk-LGNDHTDP.js → chunk-MB3XK7YW.js} +1 -1
- package/dist/{chunk-MGPEY7I2.js → chunk-MKHUI5UB.js} +1 -1
- package/dist/{chunk-JSOXH5HW.js → chunk-NW6XAQLN.js} +2 -2
- package/dist/{chunk-5AGOX2XD.js → chunk-O22YLZXQ.js} +1 -1
- package/dist/{chunk-WAPCTGGB.js → chunk-O2INE7WD.js} +1 -1
- package/dist/{chunk-6Q3M7KZE.js → chunk-OJ2OGGK2.js} +3 -3
- package/dist/{chunk-UWLWYGJJ.js → chunk-P25NNTN3.js} +1 -1
- package/dist/{chunk-V4JWFJZR.js → chunk-P4C3BX2L.js} +16 -16
- package/dist/{chunk-EG4ZUF4A.js → chunk-PAYDZ6J3.js} +2 -2
- package/dist/{chunk-ONYDMXRV.js → chunk-PSB3QGYL.js} +1 -1
- package/dist/{chunk-4CB4VETH.js → chunk-PTI2NYAM.js} +2 -2
- package/dist/{chunk-2NW4LRDU.js → chunk-QIMM3CSI.js} +92 -12
- package/dist/{chunk-OODTK35C.js → chunk-QKH64COS.js} +5 -5
- package/dist/{chunk-JVK6JYR4.js → chunk-QR7VJ5WB.js} +1 -1
- package/dist/{chunk-KM7M4LKN.js → chunk-QRWGGJAA.js} +3 -3
- package/dist/{chunk-F5VP7K3C.js → chunk-QTVEBBQT.js} +59 -12
- package/dist/{chunk-SUZWRZE5.js → chunk-RAPFF7J7.js} +1 -1
- package/dist/{chunk-TQJMG65I.js → chunk-RC6Q5KSW.js} +2 -2
- package/dist/{chunk-ONMKHJJL.js → chunk-RGPEUXOE.js} +7 -4
- package/dist/{chunk-45R4367S.js → chunk-ROOST7ZU.js} +1 -1
- package/dist/{chunk-GHIMWZN4.js → chunk-ROQ6R3FV.js} +1 -1
- package/dist/{chunk-YG6MHFUP.js → chunk-RWDU3OKM.js} +2 -2
- package/dist/{chunk-TQEW3RJ3.js → chunk-SC3QNY3H.js} +2 -2
- package/dist/{chunk-INLY2LLN.js → chunk-SDYIUXW7.js} +1 -1
- package/dist/{chunk-PAJ7FUTI.js → chunk-SH5IEP2Q.js} +1 -1
- package/dist/{chunk-RPV6CHKA.js → chunk-SKWDDWHT.js} +4 -4
- package/dist/{chunk-W6W6ED2D.js → chunk-T4LKMZKF.js} +1 -1
- package/dist/{chunk-PE7RXZQE.js → chunk-TFKVXWVG.js} +5 -5
- package/dist/{chunk-NTWCFT5X.js → chunk-TM2BQ6PS.js} +3 -3
- package/dist/{chunk-V7NXFHZM.js → chunk-TQDEHRVD.js} +1 -1
- package/dist/{chunk-S2Q2RXYQ.js → chunk-TRBSWP2V.js} +1 -1
- package/dist/{chunk-UW5KXM4D.js → chunk-TTHUPNBU.js} +1 -1
- package/dist/{chunk-VH4IRABX.js → chunk-TWHPVYBU.js} +4 -4
- package/dist/{chunk-JC3LUYW6.js → chunk-U67KLIPZ.js} +1 -1
- package/dist/{chunk-UVEDFARJ.js → chunk-UBFKX2AN.js} +13 -13
- package/dist/{chunk-7INEFMVU.js → chunk-UNFHKOTF.js} +44 -15
- package/dist/{chunk-B2P6OX3V.js → chunk-VESYCD2K.js} +3 -3
- package/dist/{chunk-VV7D7KEX.js → chunk-VRPXCQV6.js} +1 -1
- package/dist/{chunk-X2X3IGZU.js → chunk-W4H2MZAS.js} +17 -5
- package/dist/{chunk-FNVZAK4C.js → chunk-WO6KY2SP.js} +6 -6
- package/dist/{chunk-SLRKZRLC.js → chunk-WOG5XT2P.js} +1 -1
- package/dist/{chunk-4UOEKQF3.js → chunk-XG7OHNPA.js} +6 -6
- package/dist/{chunk-5YAXBLZR.js → chunk-XHSCV3BM.js} +1 -1
- package/dist/{chunk-DDYKAJMS.js → chunk-XJRF26L5.js} +1 -1
- package/dist/{chunk-3CAKKEEY.js → chunk-XWOEPR2Q.js} +2 -2
- package/dist/{chunk-7C4YKCUK.js → chunk-XYB7GHGV.js} +1 -1
- package/dist/{chunk-V4RIHICU.js → chunk-Y2DTTZCV.js} +26 -26
- package/dist/{chunk-GPB6X2OI.js → chunk-YBUSK4GH.js} +1 -1
- package/dist/{chunk-5M4UNU6O.js → chunk-YLY66VLU.js} +3 -3
- package/dist/{chunk-ZSFFCRVI.js → chunk-YPSS2SHD.js} +2 -2
- package/dist/{chunk-SSGIMXA6.js → chunk-YYPHTYOV.js} +3 -3
- package/dist/{chunk-OWPOJ6OG.js → chunk-ZBUUFS5G.js} +1 -1
- package/dist/{chunk-6OQ2TRZK.js → chunk-ZFDQJVKH.js} +8 -2
- package/dist/{cleanup-graph-garbage-AXNCBW5B.js → cleanup-graph-garbage-EPZIDN7L.js} +8 -8
- package/dist/{cli-shutdown-HIZRMWKR.js → cli-shutdown-DM5YVHIP.js} +1 -1
- package/dist/{cloud-sync-command-XYKKRYHG.js → cloud-sync-command-FNOSXKNT.js} +2 -2
- package/dist/{cloud-sync-db-init-GJ322ZNM.js → cloud-sync-db-init-5DIULXS2.js} +1 -1
- package/dist/{cloud-sync-shutdown-K4XBDTDB.js → cloud-sync-shutdown-RTTZ3C53.js} +3 -3
- package/dist/{co-activation-AQXLWFBQ.js → co-activation-7D34HSWC.js} +3 -3
- package/dist/{co-occurrence-O67PD32I.js → co-occurrence-7JJMQ3GI.js} +6 -6
- package/dist/{consent-passphrase-DTOZ7LIP.js → consent-passphrase-ZNB3GYWB.js} +2 -2
- package/dist/{conversation-entity-extractor-VRL2EEZQ.js → conversation-entity-extractor-YSNOVYBN.js} +3 -3
- package/dist/{crdt-sync-RPCGSGIE.js → crdt-sync-MHQ6XSMO.js} +4 -4
- package/dist/{crm-webhook-4QADMY7C.js → crm-webhook-WLFDORDH.js} +2 -2
- package/dist/{cto-delegation-gate-6N2R2VA2.js → cto-delegation-gate-KD5POZYX.js} +17 -17
- package/dist/{daemon-orchestration-ASCAZ63R.js → daemon-orchestration-3LRZCT6E.js} +25 -22
- package/dist/{daemon-restart-circuit-breaker-CD4VMCU7.js → daemon-restart-circuit-breaker-PY2MZL7Z.js} +1 -1
- package/dist/{db-integrity-events-7NKWS5MT.js → db-integrity-events-6363LLDT.js} +1 -1
- package/dist/{db-restore-events-XYL6CGPC.js → db-restore-events-R5S7XTHX.js} +47 -11
- package/dist/{doc-graph-extractor-VVSMYOR3.js → doc-graph-extractor-KNX2SMZH.js} +6 -6
- package/dist/{documents-5WNSGY3Q.js → documents-2QWQETQJ.js} +8 -8
- package/dist/{dreaming-2TPLO3TO.js → dreaming-AQHABHGO.js} +22 -22
- package/dist/{employee-boot-brief-MYXATLSU.js → employee-boot-brief-XJDE3JSJ.js} +26 -26
- package/dist/{entity-boost-BW62CICZ.js → entity-boost-T6WZN7UG.js} +1 -1
- package/dist/{exe-drift-PFFRJJTZ.js → exe-drift-NRQ36UMA.js} +4 -4
- package/dist/{exe-export-LL5SV6P2.js → exe-export-ET4SWQ3K.js} +9 -9
- package/dist/{exe-import-LSQMDFDX.js → exe-import-DSMF6Z6O.js} +9 -9
- package/dist/{exe-key-266A5GJN.js → exe-key-UUMREJEU.js} +101 -100
- package/dist/{exe-org-T5DQXHGZ.js → exe-org-GV72LHO5.js} +36 -36
- package/dist/{exe-snapshot-LMMGFX7O.js → exe-snapshot-EQG3R45R.js} +25 -25
- package/dist/{fast-db-init-6MQDCHEB.js → fast-db-init-YRCNKGFD.js} +1 -1
- package/dist/{founder-context-6Q6OU7Q7.js → founder-context-3X5JFEQQ.js} +3 -3
- package/dist/{founder-monitor-envelope-RBSOSB6K.js → founder-monitor-envelope-OYRYJZBS.js} +4 -4
- package/dist/{fts-integrity-PHCKKOBC.js → fts-integrity-PL7TKYTM.js} +1 -1
- package/dist/gateway/index.js +21 -21
- package/dist/{gateway-client-4GHRSWHK.js → gateway-client-R3XZHUNA.js} +1 -1
- package/dist/{git-staleness-APYCKV4V.js → git-staleness-JWTUU3B7.js} +3 -3
- package/dist/{global-procedures-HYFE2UTQ.js → global-procedures-GUCIJGTG.js} +5 -5
- package/dist/{graph-auto-extract-LFXYAEY5.js → graph-auto-extract-SGRQ37NU.js} +6 -6
- package/dist/{graph-query-4F4D4NDH.js → graph-query-ABAIG6YK.js} +1 -1
- package/dist/{graph-rag-YZNY6Z3H.js → graph-rag-DB5SXSJ6.js} +3 -3
- package/dist/{hook-integrity-KNCDGZUD.js → hook-integrity-AGQSJJGP.js} +1 -1
- package/dist/{hook-prefetch-ZBUCJBJB.js → hook-prefetch-GUBRFD5N.js} +18 -18
- package/dist/hooks/bug-report-worker.js +22 -22
- package/dist/hooks/codex-stop-task-finalizer.js +24 -24
- package/dist/hooks/commit-complete.js +22 -22
- package/dist/hooks/error-recall.js +11 -11
- package/dist/hooks/exe-heartbeat-hook.js +5 -5
- package/dist/hooks/ingest-worker.js +7 -7
- 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 +21 -21
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +39 -39
- package/dist/hooks/session-end.js +26 -26
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +24 -24
- package/dist/hooks/subagent-stop.js +23 -23
- package/dist/hooks/summary-worker.js +25 -25
- package/dist/index.js +29 -29
- package/dist/{installer-TNTAEKCO.js → installer-IRALYZ4O.js} +7 -7
- package/dist/{installer-MABZRBTF.js → installer-KC5BRKQD.js} +7 -7
- package/dist/{installer-ZWGREGIY.js → installer-W2REG4OT.js} +7 -7
- package/dist/{intercom-queue-UHL4MXLB.js → intercom-queue-WJ52Y7ZM.js} +17 -17
- package/dist/lib/cloud-sync.js +17 -17
- 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 +1 -1
- 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 +6 -6
- package/dist/lib/employees.js +3 -3
- package/dist/lib/exe-daemon.js +90 -90
- 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 +3 -3
- package/dist/lib/messaging.js +18 -18
- package/dist/lib/post-tool-memory.js +5 -5
- 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 +19 -19
- package/dist/lib/tmux-routing.js +17 -17
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/workflow-drift.js +270 -0
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-PJVMRJFR.js → license-gate-YAA3BFTG.js} +4 -4
- package/dist/{license-recheck-5PXGSCSR.js → license-recheck-WOVNBY54.js} +1 -1
- package/dist/{license-sync-YCV3GMHN.js → license-sync-4GBRQ3NQ.js} +3 -3
- package/dist/mcp/register-tools.js +100 -99
- package/dist/mcp/server.js +100 -99
- 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 +21 -21
- 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 +21 -21
- package/dist/mcp/tools/send-message.js +20 -20
- package/dist/mcp/tools/update-task.js +20 -20
- package/dist/{mcp-http-config-TZLMIQDV.js → mcp-http-config-JJFHT7EU.js} +5 -5
- package/dist/{mcp-session-identity-FQUOB5SF.js → mcp-session-identity-AA24Y7M7.js} +17 -17
- package/dist/{memory-cards-BH53SM42.js → memory-cards-FE7CH766.js} +7 -7
- package/dist/{memory-graph-extractor-I6WXM5IC.js → memory-graph-extractor-XALPE33I.js} +7 -7
- package/dist/{memory-maintenance-CD2PUBDK.js → memory-maintenance-42VRD746.js} +1 -1
- package/dist/{memory-poisoning-defense-CC6RGH6M.js → memory-poisoning-defense-R7T4ZQBO.js} +3 -3
- package/dist/{memory-pressure-watchdog-CDEOMXDR.js → memory-pressure-watchdog-YR7OOVNY.js} +18 -18
- package/dist/{memory-reflection-VXFXG55L.js → memory-reflection-SU57VEBT.js} +7 -7
- package/dist/{memory-write-repository-NLQLH4UL.js → memory-write-repository-AZFMYNFE.js} +1 -1
- package/dist/{monitor-grants-6VWM3J3S.js → monitor-grants-EQOXKY44.js} +3 -3
- package/dist/{monitor-identity-YPFRT4AT.js → monitor-identity-QO7YCJ45.js} +2 -2
- package/dist/{notification-ledger-2GIT6AZ7.js → notification-ledger-BYBU427R.js} +18 -18
- package/dist/{notifications-LHDV4WKP.js → notifications-7EBPEORY.js} +17 -17
- package/dist/{orchestration-events-ABHTWWN4.js → orchestration-events-UWSAFL25.js} +4 -4
- package/dist/{orchestrator-N7FCY6H2.js → orchestrator-T3LSQK7S.js} +19 -19
- package/dist/{org-brief-session-O6YNFSX3.js → org-brief-session-4VXN7UFY.js} +15 -15
- package/dist/{org-consent-policy-FJH3KTAL.js → org-consent-policy-X4ZEAHIR.js} +5 -5
- package/dist/{org-join-55WN6YRL.js → org-join-2GRVJWCW.js} +11 -11
- package/dist/{org-key-admin-FFMICGMY.js → org-key-admin-Q54ZASNY.js} +13 -13
- package/dist/{org-key-epoch-RKOF3H2A.js → org-key-epoch-F3XYALXK.js} +5 -5
- package/dist/{org-key-pin-SMZS3GE3.js → org-key-pin-3ZKOEYQS.js} +3 -3
- package/dist/{org-membership-7VBJJBGO.js → org-membership-3EHM5TDB.js} +4 -4
- package/dist/{org-partner-config-7LOXIBW5.js → org-partner-config-N32CQSIW.js} +8 -8
- package/dist/{org-partner-runtime-CIFSQNOI.js → org-partner-runtime-S7Q4W5I5.js} +15 -15
- package/dist/{org-row-visibility-EBN7EI6C.js → org-row-visibility-IUOZSB56.js} +1 -1
- package/dist/{pipeline-router-VETNF3MF.js → pipeline-router-GCAJZN4H.js} +4 -4
- package/dist/{plan-limits-7NDDDRHR.js → plan-limits-N5TAWTKK.js} +7 -7
- package/dist/{pre-tool-use-impl-GIVQWE6Q.js → pre-tool-use-impl-VCHU3RAP.js} +33 -33
- package/dist/{project-name-5D6ZQNAY.js → project-name-2GN2XXVD.js} +4 -4
- package/dist/{projection-worker-4BB4ZN3S.js → projection-worker-3GKE4WEE.js} +2 -2
- package/dist/{prospective-memory-WUK4ZEVR.js → prospective-memory-TYA3TWQD.js} +3 -3
- package/dist/{push-notifications-UZQLJGEY.js → push-notifications-NKOXRWUY.js} +18 -18
- package/dist/{reproject-worktree-memories-XFUKN3ZC.js → reproject-worktree-memories-OPUWR2K2.js} +17 -17
- package/dist/{reranker-6F6Y7QHA.js → reranker-IYVEMKHW.js} +1 -1
- package/dist/{retrieval-health-SCFZCV7Q.js → retrieval-health-BIGTBGIP.js} +2 -2
- package/dist/{review-polling-CFDLKJE4.js → review-polling-ZLIBMKW4.js} +18 -18
- package/dist/runtime/index.js +21 -21
- package/dist/{seat-benefit-VDQJYJOB.js → seat-benefit-YEUQBNCS.js} +2 -2
- package/dist/{session-events-4SCVQUMA.js → session-events-H5T2UBTK.js} +18 -18
- package/dist/{session-kill-telemetry-OBBCVT3O.js → session-kill-telemetry-AHUOYQEM.js} +18 -18
- package/dist/{session-scope-LDRY5PBO.js → session-scope-KVIRKTX7.js} +17 -17
- package/dist/{setup-wizard-LS6BNHYK.js → setup-wizard-5VRFHYUR.js} +2 -2
- package/dist/{shard-manager-7X42DNFE.js → shard-manager-TPRWCONR.js} +2 -2
- package/dist/{skill-refinement-B4EGDBE2.js → skill-refinement-2IOY2TOP.js} +4 -4
- package/dist/{skill-retrieval-2ZHX6EQZ.js → skill-retrieval-55KMSROF.js} +11 -11
- package/dist/{skill-usage-DO6M6W5E.js → skill-usage-JCSBXOM6.js} +4 -4
- package/dist/{stack-generate-manifest-H2YBCYRW.js → stack-generate-manifest-HDZZ5ZRU.js} +5 -5
- package/dist/{stack-promote-WOATPAGM.js → stack-promote-OLIJI4GI.js} +5 -5
- package/dist/{stack-release-BAD4BTHF.js → stack-release-QBLVY2ZF.js} +6 -11
- package/dist/{stack-update-H3YXPL7Z.js → stack-update-JHPGK6AM.js} +4 -4
- package/dist/{steward-gate-T2XM2NE4.js → steward-gate-2YQ6DOO3.js} +4 -4
- package/dist/{subagent-brief-injection-5B2XWRZI.js → subagent-brief-injection-BKSHRUTQ.js} +28 -28
- package/dist/{support-bug-actions-GQYF373N.js → support-bug-actions-G2I77EPX.js} +4 -4
- package/dist/{support-inbox-WYWKDLFI.js → support-inbox-FP44VIA4.js} +14 -14
- package/dist/{task-enforcement-IIWZPEHF.js → task-enforcement-MJSY7ZZF.js} +18 -18
- package/dist/{task-request-inbox-GYK2XLSB.js → task-request-inbox-AZUGPSW6.js} +5 -5
- package/dist/{task-scope-YHXKRO2Y.js → task-scope-NF7JKUD7.js} +17 -17
- package/dist/{tasks-crud-BHG6IQ5Z.js → tasks-crud-SRP4GIL2.js} +17 -17
- package/dist/{tasks-notify-PX22TSMC.js → tasks-notify-VP3ZRTKA.js} +18 -18
- package/dist/{tasks-review-6BPGUXJB.js → tasks-review-ASOST3JT.js} +17 -17
- package/dist/{telemetry-upload-HCV4KRB6.js → telemetry-upload-KIMFENPR.js} +9 -9
- package/dist/{token-budget-YVIX2L2Y.js → token-budget-47HHAV2D.js} +4 -4
- package/dist/{tool-telemetry-JWI2CHI3.js → tool-telemetry-D6DUOQHB.js} +1 -1
- package/dist/tui/App.js +27 -27
- package/dist/{tui-data-E5EA34WJ.js → tui-data-3Y2DUC57.js} +21 -21
- package/dist/{update-support-JCUIC5J2.js → update-support-5G5P4ZGV.js} +12 -12
- package/dist/{whatsapp-XRTRUPFR.js → whatsapp-KGOFKMVE.js} +2 -2
- package/dist/{wiki-acl-PKJLSR6U.js → wiki-acl-CXFMQHKZ.js} +1 -1
- package/dist/{work-claims-BB6S6QU5.js → work-claims-O2WSV3EK.js} +4 -4
- package/dist/{work-state-heartbeat-O2SS2VWD.js → work-state-heartbeat-EPJZICCW.js} +1 -1
- package/dist/{workflow-engine-XWQS7VBY.js → workflow-engine-MVMZIOEQ.js} +2 -2
- package/dist/{worktree-F3TKPS5Z.js → worktree-DIXUIFXS.js} +5 -5
- package/dist/{worktree-sweep-OF4ST7IR.js → worktree-sweep-ZKPAO5EG.js} +10 -6
- package/package.json +2 -1
- package/release-notes.json +27 -7
- package/stack.release.json +3 -3
- /package/dist/{chunk-PKPJ62VF.js → chunk-3JRVKBF2.js} +0 -0
- /package/dist/{chunk-CEPUA7JC.js → chunk-BTIXHM2F.js} +0 -0
- /package/dist/{chunk-W3DHPCFX.js → chunk-FMCLWB6A.js} +0 -0
- /package/dist/{chunk-XDZWSK3F.js → chunk-GASLH556.js} +0 -0
- /package/dist/{chunk-MQNHXT54.js → chunk-GZL3DOGB.js} +0 -0
- /package/dist/{chunk-4D7SDPAB.js → chunk-MBZXKIG3.js} +0 -0
- /package/dist/{chunk-KY5XPFMA.js → chunk-OJ7SLC5P.js} +0 -0
- /package/dist/{chunk-CULFTILF.js → chunk-ONXR3HDH.js} +0 -0
- /package/dist/{chunk-MFRU5TLH.js → chunk-RICCASG5.js} +0 -0
- /package/dist/{chunk-I3F7MGSI.js → chunk-RYXW24OR.js} +0 -0
- /package/dist/{chunk-GNFWZ2MA.js → chunk-TXMGX6U2.js} +0 -0
- /package/dist/{chunk-NRR6VAG2.js → chunk-X7VWZ4ZI.js} +0 -0
- /package/dist/{chunk-W7S7AEVC.js → chunk-ZZBQO44I.js} +0 -0
- /package/dist/{core-memory-Z4FUMYA6.js → core-memory-LDOO2QBB.js} +0 -0
- /package/dist/{memory-isolation-PDFRPDVY.js → memory-isolation-JVIFSPYK.js} +0 -0
- /package/dist/{oauth-server-TM5XWRX3.js → oauth-server-N22SJWOH.js} +0 -0
- /package/dist/{project-boot-VFW3KDOY.js → project-boot-46E2KI2Y.js} +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createCRMWebhookHandler,
|
|
3
|
+
parseTwentyWebhook
|
|
4
|
+
} from "./chunk-T4LKMZKF.js";
|
|
1
5
|
import {
|
|
2
6
|
WhatsAppAdapter
|
|
3
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-O2INE7WD.js";
|
|
4
8
|
import {
|
|
5
9
|
SignalAdapter
|
|
6
10
|
} from "./chunk-RJT7H2KR.js";
|
|
@@ -16,17 +20,6 @@ import {
|
|
|
16
20
|
import {
|
|
17
21
|
IMessageAdapter
|
|
18
22
|
} from "./chunk-2SRG3B3D.js";
|
|
19
|
-
import {
|
|
20
|
-
createCRMWebhookHandler,
|
|
21
|
-
parseTwentyWebhook
|
|
22
|
-
} from "./chunk-W6W6ED2D.js";
|
|
23
|
-
import {
|
|
24
|
-
OllamaProvider
|
|
25
|
-
} from "./chunk-FWFFZGSC.js";
|
|
26
|
-
import {
|
|
27
|
-
AnthropicProvider,
|
|
28
|
-
OpenAICompatProvider
|
|
29
|
-
} from "./chunk-ECGTESAP.js";
|
|
30
23
|
import {
|
|
31
24
|
BotRegistry,
|
|
32
25
|
BotRuntime,
|
|
@@ -49,7 +42,14 @@ import {
|
|
|
49
42
|
retryWithBackoff,
|
|
50
43
|
routeMessage,
|
|
51
44
|
validateGatewayConfig
|
|
52
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-PAYDZ6J3.js";
|
|
46
|
+
import {
|
|
47
|
+
OllamaProvider
|
|
48
|
+
} from "./chunk-FWFFZGSC.js";
|
|
49
|
+
import {
|
|
50
|
+
AnthropicProvider,
|
|
51
|
+
OpenAICompatProvider
|
|
52
|
+
} from "./chunk-ECGTESAP.js";
|
|
53
53
|
import {
|
|
54
54
|
getAccountByName,
|
|
55
55
|
getAccountByPhoneNumberId,
|
|
@@ -175,25 +175,47 @@ function evaluateRestartBreaker(prev, now, bootClass, windowMs = RESTART_BREAKER
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
function loadStateEntries(deps) {
|
|
178
|
+
let raw;
|
|
178
179
|
try {
|
|
179
|
-
if (!deps.exists(deps.statePath)) return [];
|
|
180
|
-
|
|
180
|
+
if (!deps.exists(deps.statePath)) return { entries: [], readable: true };
|
|
181
|
+
raw = deps.read(deps.statePath);
|
|
182
|
+
} catch (err) {
|
|
183
|
+
process.stderr.write(
|
|
184
|
+
`[exed] Restart-breaker state file unreadable \u2014 FAILING OPEN for this boot (treating as empty, will not trip) but PRESERVING the file on disk so the crash window is not erased: ${err instanceof Error ? err.message : String(err)}
|
|
185
|
+
`
|
|
186
|
+
);
|
|
187
|
+
return { entries: [], readable: false };
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
const parsed = JSON.parse(raw);
|
|
181
191
|
if (!Array.isArray(parsed.restarts)) throw new Error("restarts is not an array");
|
|
182
|
-
|
|
192
|
+
const entries = parsed.restarts.map((e) => {
|
|
183
193
|
if (typeof e === "number" && Number.isFinite(e)) return { t: e, c: "x" };
|
|
184
194
|
if (e && typeof e.t === "number") {
|
|
185
|
-
const
|
|
186
|
-
const c =
|
|
195
|
+
const raw2 = e.c;
|
|
196
|
+
const c = raw2 === "s" ? "s" : raw2 === "r" ? "r" : "x";
|
|
187
197
|
return { t: e.t, c };
|
|
188
198
|
}
|
|
189
199
|
return null;
|
|
190
200
|
}).filter((e) => e !== null);
|
|
201
|
+
return { entries, readable: true };
|
|
191
202
|
} catch (err) {
|
|
192
|
-
|
|
193
|
-
|
|
203
|
+
const quarantinePath = `${deps.statePath}.corrupt-${deps.now()}`;
|
|
204
|
+
try {
|
|
205
|
+
deps.write(quarantinePath, raw);
|
|
206
|
+
deps.remove(deps.statePath);
|
|
207
|
+
process.stderr.write(
|
|
208
|
+
`[exed] Restart-breaker state file was malformed JSON \u2014 quarantined corrupt bytes to ${quarantinePath} and reset restart tracking to a fresh empty state so crash tracking resumes: ${err instanceof Error ? err.message : String(err)}
|
|
194
209
|
`
|
|
195
|
-
|
|
196
|
-
|
|
210
|
+
);
|
|
211
|
+
return { entries: [], readable: true };
|
|
212
|
+
} catch (quarantineErr) {
|
|
213
|
+
process.stderr.write(
|
|
214
|
+
`[exed] Restart-breaker state file malformed AND could not be quarantined \u2014 FAILING OPEN for this boot (treating as empty, will not trip), original file left in place: ${quarantineErr instanceof Error ? quarantineErr.message : String(quarantineErr)}
|
|
215
|
+
`
|
|
216
|
+
);
|
|
217
|
+
return { entries: [], readable: false };
|
|
218
|
+
}
|
|
197
219
|
}
|
|
198
220
|
}
|
|
199
221
|
function readLastExit(deps) {
|
|
@@ -220,7 +242,8 @@ function readLastExit(deps) {
|
|
|
220
242
|
function recordDaemonRestart(deps = REAL_DEPS, gap, priorRestartIntent) {
|
|
221
243
|
const lastExit = readLastExit(deps);
|
|
222
244
|
const now = deps.now();
|
|
223
|
-
const
|
|
245
|
+
const prevState = loadStateEntries(deps);
|
|
246
|
+
const prevEntries = prevState.entries;
|
|
224
247
|
const priorCrashesInWindow = prevEntries.filter(
|
|
225
248
|
(e) => e.c === "x" && now - e.t < RESTART_BREAKER_WINDOW_MS
|
|
226
249
|
).length;
|
|
@@ -239,9 +262,15 @@ function recordDaemonRestart(deps = REAL_DEPS, gap, priorRestartIntent) {
|
|
|
239
262
|
RESTART_BREAKER_THRESHOLD,
|
|
240
263
|
recoverable
|
|
241
264
|
);
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
265
|
+
if (prevState.readable) {
|
|
266
|
+
try {
|
|
267
|
+
deps.write(deps.statePath, JSON.stringify({ restarts: ev.entries }));
|
|
268
|
+
} catch {
|
|
269
|
+
}
|
|
270
|
+
} else {
|
|
271
|
+
process.stderr.write(
|
|
272
|
+
"[exed] Restart-breaker state NOT persisted this boot \u2014 the existing file could not be read and overwriting it would erase the crash window the breaker trips on.\n"
|
|
273
|
+
);
|
|
245
274
|
}
|
|
246
275
|
const decision = {
|
|
247
276
|
trip: ev.trip,
|
|
@@ -320,11 +349,11 @@ function selfHealStormAlertPath() {
|
|
|
320
349
|
}
|
|
321
350
|
function crashBootsInWindow(deps = REAL_DEPS, windowMs = RESTART_BREAKER_WINDOW_MS) {
|
|
322
351
|
const now = deps.now();
|
|
323
|
-
return loadStateEntries(deps).filter((e) => e.c === "x" && now - e.t < windowMs).length;
|
|
352
|
+
return loadStateEntries(deps).entries.filter((e) => e.c === "x" && now - e.t < windowMs).length;
|
|
324
353
|
}
|
|
325
354
|
function restartBootsInWindow(deps = REAL_DEPS, windowMs = RESTART_BREAKER_WINDOW_MS) {
|
|
326
355
|
const now = deps.now();
|
|
327
|
-
return loadStateEntries(deps).filter((e) => now - e.t < windowMs).length;
|
|
356
|
+
return loadStateEntries(deps).entries.filter((e) => now - e.t < windowMs).length;
|
|
328
357
|
}
|
|
329
358
|
function writeBreakerAlert(decision, lastExit, deps = REAL_DEPS) {
|
|
330
359
|
const windowMin = Math.round(RESTART_BREAKER_WINDOW_MS / 6e4);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveAuth,
|
|
3
3
|
resolveEndpoint
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XG7OHNPA.js";
|
|
5
5
|
import {
|
|
6
6
|
resolvePartnerIdentities
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4Y5EKT3D.js";
|
|
8
8
|
import {
|
|
9
9
|
displayFingerprint,
|
|
10
10
|
ed25519PrivateKeyFromSeed
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MB3XK7YW.js";
|
|
12
12
|
|
|
13
13
|
// src/lib/org-member-key.ts
|
|
14
14
|
import { createHash, sign } from "crypto";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
composeSeatLimits,
|
|
7
7
|
limitsForPlan
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3R7UDPVR.js";
|
|
9
9
|
|
|
10
10
|
// src/shared/seat-benefit.ts
|
|
11
11
|
var ORG_BILLABLE_PLANS = ["team", "agency", "enterprise"];
|
|
@@ -45,6 +45,13 @@ function seatBenefit(personalPlan, orgPlan) {
|
|
|
45
45
|
before: renderCount(before.devices),
|
|
46
46
|
after: renderCount(after.devices),
|
|
47
47
|
changed: before.devices !== after.devices
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
axis: "employees",
|
|
51
|
+
label: "AI employees",
|
|
52
|
+
before: renderCount(before.employees),
|
|
53
|
+
after: renderCount(after.employees),
|
|
54
|
+
changed: before.employees !== after.employees
|
|
48
55
|
}
|
|
49
56
|
];
|
|
50
57
|
return { gained: axes.some((a) => a.changed), orgPlan, axes };
|
|
@@ -127,8 +134,8 @@ function adminInviteDisclosureText(input) {
|
|
|
127
134
|
const granting = input.orgPlan === null ? [
|
|
128
135
|
"WHAT YOU ARE GRANTING",
|
|
129
136
|
" Nothing beyond membership itself. With no plan attached, the seat does",
|
|
130
|
-
" not raise their cloud backup, memories
|
|
131
|
-
" whatever their own plan gives them.",
|
|
137
|
+
" not raise their cloud backup, memories, device or AI employee",
|
|
138
|
+
" allowances - they keep whatever their own plan gives them.",
|
|
132
139
|
" Membership is still real: the mailbox, the roster and any shared",
|
|
133
140
|
" knowledge you grant all work."
|
|
134
141
|
] : [
|
|
@@ -137,8 +144,13 @@ function adminInviteDisclosureText(input) {
|
|
|
137
144
|
"",
|
|
138
145
|
...axisTable(benefit.axes).map((line) => ` ${line}`),
|
|
139
146
|
"",
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
// Founder decision 2026-09-24 (supersedes 2026-08-09): a seat confers
|
|
148
|
+
// the org's full plan on every axis, including AI employees — see
|
|
149
|
+
// `SEAT_EXCLUDED_AXES` in src/shared/plan-limits.ts. This used to say
|
|
150
|
+
// "NOT raised"; that was true under the superseded rule and is false
|
|
151
|
+
// now, so it must not come back.
|
|
152
|
+
" Their AI employee allowance is raised too, on the same terms as",
|
|
153
|
+
" everything else above."
|
|
142
154
|
];
|
|
143
155
|
return [
|
|
144
156
|
`Issuing a seat invite for "${input.seatRef}" in ${input.orgId}.`,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createTokenBudgetMiddleware
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YBUSK4GH.js";
|
|
4
4
|
import {
|
|
5
5
|
MultiAgentOrchestrator
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BLZ2LEZF.js";
|
|
7
7
|
import {
|
|
8
8
|
createQuietRenderer,
|
|
9
9
|
createTerminalRenderer,
|
|
@@ -212,7 +212,7 @@ function createExeOSHooks(config) {
|
|
|
212
212
|
);
|
|
213
213
|
}
|
|
214
214
|
try {
|
|
215
|
-
const { listBehaviors } = await import("./behaviors-
|
|
215
|
+
const { listBehaviors } = await import("./behaviors-T2N3VJS3.js");
|
|
216
216
|
const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
|
|
217
217
|
if (behaviors.length > 0) {
|
|
218
218
|
process.stderr.write(
|
|
@@ -333,7 +333,7 @@ function createExeOSHooks(config) {
|
|
|
333
333
|
async onSubagentStop(_reason) {
|
|
334
334
|
try {
|
|
335
335
|
const { getClient } = await import("./lib/database.js");
|
|
336
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
336
|
+
const { sessionScopeFilter } = await import("./task-scope-NF7JKUD7.js");
|
|
337
337
|
const client = getClient();
|
|
338
338
|
const ehScope = sessionScopeFilter();
|
|
339
339
|
const tasks = await client.execute({
|
|
@@ -373,7 +373,7 @@ function createExeOSHooks(config) {
|
|
|
373
373
|
setAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
374
374
|
});
|
|
375
375
|
try {
|
|
376
|
-
const { writeNotification } = await import("./notifications-
|
|
376
|
+
const { writeNotification } = await import("./notifications-7EBPEORY.js");
|
|
377
377
|
await writeNotification({
|
|
378
378
|
agentId: config.agentId,
|
|
379
379
|
agentRole: "employee",
|
|
@@ -444,7 +444,7 @@ function createExeOSHooks(config) {
|
|
|
444
444
|
try {
|
|
445
445
|
const { writeMemory, flushBatch } = await import("./lib/store.js");
|
|
446
446
|
const { getClient } = await import("./lib/database.js");
|
|
447
|
-
const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-
|
|
447
|
+
const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-NF7JKUD7.js");
|
|
448
448
|
const client = getClient();
|
|
449
449
|
const cpScope = cpScopeFilter();
|
|
450
450
|
const tasks = await client.execute({
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
asOrgBillablePlan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W4H2MZAS.js";
|
|
4
4
|
import {
|
|
5
5
|
resolvePartnerIdentities
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4Y5EKT3D.js";
|
|
7
7
|
import {
|
|
8
8
|
OrgKeyPinConflictError,
|
|
9
9
|
orgKeyPinConfirmation,
|
|
10
10
|
pinOrgKey,
|
|
11
11
|
readOrgKeyPin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VRPXCQV6.js";
|
|
13
13
|
import {
|
|
14
14
|
displayFingerprint,
|
|
15
15
|
ed25519PrivateKeyFromSeed,
|
|
16
16
|
signKeyFingerprint
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MB3XK7YW.js";
|
|
18
18
|
import {
|
|
19
19
|
establishOrgMode,
|
|
20
20
|
upsertOrgMembership
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SDYIUXW7.js";
|
|
22
22
|
import {
|
|
23
23
|
isValidX25519Recipient
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-F6OV7JP2.js";
|
|
25
25
|
|
|
26
26
|
// src/lib/org-join.ts
|
|
27
27
|
import { createHash, sign } from "crypto";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCurrentSessionScope,
|
|
3
3
|
strictSessionScopeFilter
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Y2DTTZCV.js";
|
|
5
5
|
import {
|
|
6
6
|
getProjectName
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ROQ6R3FV.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/session-events.ts
|
|
10
10
|
import { randomUUID } from "crypto";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureAgentSymlink
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IV63ZWK6.js";
|
|
4
4
|
import {
|
|
5
5
|
ensureWorktree,
|
|
6
6
|
ensureWorktreeAsync,
|
|
@@ -8,10 +8,15 @@ import {
|
|
|
8
8
|
getMainRepoRoot,
|
|
9
9
|
isInsideGitRepo,
|
|
10
10
|
isWorktreeDirty
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TTHUPNBU.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveRowVisibility
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3QYMH77Q.js";
|
|
15
|
+
import {
|
|
16
|
+
LEASE_MINUTES,
|
|
17
|
+
isLeaseExpired,
|
|
18
|
+
leaseExpiryIso
|
|
19
|
+
} from "./chunk-E23LNUWJ.js";
|
|
15
20
|
import {
|
|
16
21
|
buildTaskResult,
|
|
17
22
|
serializeMessage
|
|
@@ -26,15 +31,10 @@ import {
|
|
|
26
31
|
import {
|
|
27
32
|
hasIntercomAckAfter
|
|
28
33
|
} from "./chunk-MJCSEIFI.js";
|
|
29
|
-
import {
|
|
30
|
-
LEASE_MINUTES,
|
|
31
|
-
isLeaseExpired,
|
|
32
|
-
leaseExpiryIso
|
|
33
|
-
} from "./chunk-E23LNUWJ.js";
|
|
34
34
|
import {
|
|
35
35
|
listSessions,
|
|
36
36
|
registerSession
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-DFIH6ZZF.js";
|
|
38
38
|
import {
|
|
39
39
|
getTransport
|
|
40
40
|
} from "./chunk-VI4ATC6I.js";
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
} from "./chunk-6L4VIYLZ.js";
|
|
44
44
|
import {
|
|
45
45
|
recordOrchestrationEventBestEffort
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-2YESHX5N.js";
|
|
47
47
|
import {
|
|
48
48
|
appendDispatchJournalEvent,
|
|
49
49
|
releaseDispatchClaim,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
} from "./chunk-T5SM4RXY.js";
|
|
53
53
|
import {
|
|
54
54
|
incrementSkillSuccess
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-AFDVI6KB.js";
|
|
56
56
|
import {
|
|
57
57
|
assertRuntimeModelCompatible,
|
|
58
58
|
getAgentRuntime,
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
import {
|
|
63
63
|
PlanLimitError,
|
|
64
64
|
assertEmployeeLimitSync
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-QRWGGJAA.js";
|
|
66
66
|
import {
|
|
67
67
|
getSessionKey
|
|
68
68
|
} from "./chunk-CVYC6DUW.js";
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
} from "./chunk-BTSWFMEH.js";
|
|
79
79
|
import {
|
|
80
80
|
getProjectName
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-ROQ6R3FV.js";
|
|
82
82
|
import {
|
|
83
83
|
expandDualPrefixTools
|
|
84
84
|
} from "./chunk-HYZV25LY.js";
|
|
@@ -103,13 +103,13 @@ import {
|
|
|
103
103
|
loadEmployeesSync,
|
|
104
104
|
offloadReadIfMain,
|
|
105
105
|
offloadReadQuery
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-GAUMGWSQ.js";
|
|
107
107
|
import {
|
|
108
108
|
RUNTIME_TABLE
|
|
109
109
|
} from "./chunk-3VW5ZP2F.js";
|
|
110
110
|
import {
|
|
111
111
|
loadDeviceId
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-GTW56AUB.js";
|
|
113
113
|
import {
|
|
114
114
|
EXE_AI_DIR
|
|
115
115
|
} from "./chunk-MMS2HBRT.js";
|
|
@@ -1610,7 +1610,7 @@ async function createTaskCore(input, deps = {}) {
|
|
|
1610
1610
|
if (isCoordinatorSession) {
|
|
1611
1611
|
earlySessionScope = resolved;
|
|
1612
1612
|
} else {
|
|
1613
|
-
const { getSessionProject } = await import("./session-scope-
|
|
1613
|
+
const { getSessionProject } = await import("./session-scope-KVIRKTX7.js");
|
|
1614
1614
|
const sessionProject = getSessionProject(resolved);
|
|
1615
1615
|
if (sessionProject && sessionProject !== input.projectName) {
|
|
1616
1616
|
scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
|
|
@@ -1880,7 +1880,7 @@ ${scopeMismatchWarning}` : scopeMismatchWarning;
|
|
|
1880
1880
|
});
|
|
1881
1881
|
await writeTaskMarkdownAtomic(mdPath, mdContent);
|
|
1882
1882
|
try {
|
|
1883
|
-
const { injectBehaviors } = await import("./behavior-injection-
|
|
1883
|
+
const { injectBehaviors } = await import("./behavior-injection-S2NBCHRK.js");
|
|
1884
1884
|
await injectBehaviors({
|
|
1885
1885
|
taskFile: mdPath,
|
|
1886
1886
|
title: input.title,
|
|
@@ -1975,7 +1975,7 @@ async function buildTaskRowsStatement(opts) {
|
|
|
1975
1975
|
}
|
|
1976
1976
|
if (opts.founderId !== null) {
|
|
1977
1977
|
try {
|
|
1978
|
-
const { founderScopeFilter } = await import("./founder-context-
|
|
1978
|
+
const { founderScopeFilter } = await import("./founder-context-3X5JFEQQ.js");
|
|
1979
1979
|
const founderFilter = founderScopeFilter(opts.founderId);
|
|
1980
1980
|
const cleaned = founderFilter.sql.replace(/^\s*AND\s+/, "");
|
|
1981
1981
|
conditions.push(cleaned);
|
|
@@ -5442,7 +5442,7 @@ async function verifyPaneAtCapacity(sessionName) {
|
|
|
5442
5442
|
reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
|
|
5443
5443
|
};
|
|
5444
5444
|
}
|
|
5445
|
-
const { isAtCapacity } = await import("./capacity-monitor-
|
|
5445
|
+
const { isAtCapacity } = await import("./capacity-monitor-RKLRCGOG.js");
|
|
5446
5446
|
if (!isAtCapacity(pane)) {
|
|
5447
5447
|
return {
|
|
5448
5448
|
atCapacity: false,
|
|
@@ -5749,7 +5749,7 @@ async function countScopedPendingReviews(targetSession, reviewer) {
|
|
|
5749
5749
|
}
|
|
5750
5750
|
async function countScopedOpenTasks(targetSession, agentId) {
|
|
5751
5751
|
try {
|
|
5752
|
-
const { fastDbInit } = await import("./fast-db-init-
|
|
5752
|
+
const { fastDbInit } = await import("./fast-db-init-YRCNKGFD.js");
|
|
5753
5753
|
const client = await fastDbInit();
|
|
5754
5754
|
const scope = extractRootExe(targetSession);
|
|
5755
5755
|
if (!scope) return 0;
|
|
@@ -5806,7 +5806,7 @@ function buildScopedInProgressTaskQuery(targetSession) {
|
|
|
5806
5806
|
async function findScopedInProgressTaskId(targetSession) {
|
|
5807
5807
|
const q = buildScopedInProgressTaskQuery(targetSession);
|
|
5808
5808
|
if (!q) return null;
|
|
5809
|
-
const { fastDbInit } = await import("./fast-db-init-
|
|
5809
|
+
const { fastDbInit } = await import("./fast-db-init-YRCNKGFD.js");
|
|
5810
5810
|
const client = await fastDbInit();
|
|
5811
5811
|
const result = await client.execute(q);
|
|
5812
5812
|
const id = result.rows[0]?.id;
|
|
@@ -5927,7 +5927,7 @@ function sendIntercom(targetSession, opts) {
|
|
|
5927
5927
|
const ledgerEnv = (process.env.EXE_NOTIFICATION_LEDGER ?? "").trim().toLowerCase();
|
|
5928
5928
|
if (ledgerEnv === "shadow") {
|
|
5929
5929
|
const ledgerScope = opts && "callerSessionScope" in opts ? opts.callerSessionScope : void 0;
|
|
5930
|
-
void import("./notification-ledger-
|
|
5930
|
+
void import("./notification-ledger-BYBU427R.js").then((m) => m.recordShadowNudge(targetSession, reason, ledgerScope, { force: opts?.force })).catch(() => {
|
|
5931
5931
|
});
|
|
5932
5932
|
}
|
|
5933
5933
|
if (!opts?.force && isDebounced(targetSession)) {
|
|
@@ -6081,7 +6081,7 @@ function scheduleDeferredSpawnNudge(input) {
|
|
|
6081
6081
|
return;
|
|
6082
6082
|
}
|
|
6083
6083
|
queueIntercom(input.sessionName, `spawn nudge failed after ${attempt} attempts: ${msg}`, "signal");
|
|
6084
|
-
void import("./notifications-
|
|
6084
|
+
void import("./notifications-7EBPEORY.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
|
|
6085
6085
|
agentId: getCoordinatorName(),
|
|
6086
6086
|
agentRole: "COO",
|
|
6087
6087
|
event: "error_spike",
|
|
@@ -6176,7 +6176,7 @@ async function sendIntercomAsync(targetSession, opts) {
|
|
|
6176
6176
|
let ledgerClaim = null;
|
|
6177
6177
|
if (authoritativeLedger) {
|
|
6178
6178
|
try {
|
|
6179
|
-
const { claimAuthoritativeNudge } = await import("./notification-ledger-
|
|
6179
|
+
const { claimAuthoritativeNudge } = await import("./notification-ledger-BYBU427R.js");
|
|
6180
6180
|
const claim2 = await claimAuthoritativeNudge(
|
|
6181
6181
|
targetSession,
|
|
6182
6182
|
reason,
|
|
@@ -6199,7 +6199,7 @@ async function sendIntercomAsync(targetSession, opts) {
|
|
|
6199
6199
|
const markLedgerDelivered = async () => {
|
|
6200
6200
|
if (!ledgerClaim) return;
|
|
6201
6201
|
try {
|
|
6202
|
-
const { markNudgeDelivered } = await import("./notification-ledger-
|
|
6202
|
+
const { markNudgeDelivered } = await import("./notification-ledger-BYBU427R.js");
|
|
6203
6203
|
await markNudgeDelivered(ledgerClaim.id, ledgerClaim.sessionScope);
|
|
6204
6204
|
} catch {
|
|
6205
6205
|
}
|
|
@@ -6207,7 +6207,7 @@ async function sendIntercomAsync(targetSession, opts) {
|
|
|
6207
6207
|
const markLedgerFailed = async (error) => {
|
|
6208
6208
|
if (!ledgerClaim) return;
|
|
6209
6209
|
try {
|
|
6210
|
-
const { markNudgeDeliveryFailed } = await import("./notification-ledger-
|
|
6210
|
+
const { markNudgeDeliveryFailed } = await import("./notification-ledger-BYBU427R.js");
|
|
6211
6211
|
await markNudgeDeliveryFailed(ledgerClaim.id, error, ledgerClaim.sessionScope);
|
|
6212
6212
|
} catch {
|
|
6213
6213
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isExeSession
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Y2DTTZCV.js";
|
|
4
4
|
import {
|
|
5
5
|
recordOrchestrationEventBestEffort
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2YESHX5N.js";
|
|
7
7
|
import {
|
|
8
8
|
getClient,
|
|
9
9
|
isCoordinatorName
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GAUMGWSQ.js";
|
|
11
11
|
import {
|
|
12
12
|
isDaemonAlive
|
|
13
13
|
} from "./chunk-QH5ZQ5SJ.js";
|
|
@@ -140,7 +140,7 @@ async function assertManifestSignature(manifest, publicKeyPem) {
|
|
|
140
140
|
"manifest carries no `signature`. Fleets that enforce EXE_STACK_PUBLIC_KEY reject unsigned manifests, so publishing one would ship a release no host can install. Re-sign with the custodied key: node scripts/sign-stack-manifest.mjs deploy/stack-manifests/v0.9.json"
|
|
141
141
|
);
|
|
142
142
|
}
|
|
143
|
-
const { verifyStackManifestSignature } = await import("./stack-update-
|
|
143
|
+
const { verifyStackManifestSignature } = await import("./stack-update-JHPGK6AM.js");
|
|
144
144
|
try {
|
|
145
145
|
verifyStackManifestSignature(manifest, publicKeyPem);
|
|
146
146
|
} catch (err) {
|
|
@@ -1008,7 +1008,7 @@ async function runRegistryProxy(options = registryProxyOptionsFromEnv()) {
|
|
|
1008
1008
|
await new Promise((resolve) => server.listen(options.port, options.host, resolve));
|
|
1009
1009
|
console.log(`exe-registry-proxy listening on ${options.host ?? "0.0.0.0"}:${options.port}`);
|
|
1010
1010
|
console.log(`proxying /v2/${options.allowedNamespace ?? "askexe"}/* -> ${options.upstream ?? "https://ghcr.io"}`);
|
|
1011
|
-
const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-
|
|
1011
|
+
const { licenseSyncConfigFromEnv, startLicenseSyncScheduler } = await import("./license-sync-4GBRQ3NQ.js");
|
|
1012
1012
|
const syncConfig = licenseSyncConfigFromEnv();
|
|
1013
1013
|
if (syncConfig) {
|
|
1014
1014
|
startLicenseSyncScheduler(syncConfig);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extractMemoryGraph
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2DDXCN4A.js";
|
|
4
4
|
import {
|
|
5
5
|
flushBatch,
|
|
6
6
|
writeMemory
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-P4C3BX2L.js";
|
|
8
8
|
import {
|
|
9
9
|
extractKeywords
|
|
10
10
|
} from "./chunk-CHCA3ZM2.js";
|
|
11
11
|
import {
|
|
12
12
|
getActiveAgent
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-C44UWID5.js";
|
|
14
14
|
|
|
15
15
|
// src/mcp/tools/import-conversations.ts
|
|
16
16
|
import { z } from "zod";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "./chunk-RT57D7C4.js";
|
|
20
20
|
import {
|
|
21
21
|
loadLicense
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-GTW56AUB.js";
|
|
23
23
|
|
|
24
24
|
// src/lib/stack-update.ts
|
|
25
25
|
import { execFileSync, spawnSync as spawnSync2 } from "child_process";
|
|
@@ -4749,7 +4749,13 @@ Push the missing image(s) to the registry, or re-run with --break-glass <reason>
|
|
|
4749
4749
|
composeFile: options.composeFile,
|
|
4750
4750
|
envFile: options.envFile,
|
|
4751
4751
|
stackVersion: plan.targetVersion,
|
|
4752
|
-
expectedArtifacts
|
|
4752
|
+
expectedArtifacts,
|
|
4753
|
+
// A signed retain-compose update deliberately changes only its selected
|
|
4754
|
+
// container(s). The full-project artifact check would classify a
|
|
4755
|
+
// pre-existing companion on an older digest as this service's failed
|
|
4756
|
+
// delivery. Retained health and image witnesses still cover the selected
|
|
4757
|
+
// service and its required dependencies before and after the update.
|
|
4758
|
+
artifactComposeServices: options.retainCompose ? Object.entries(plan.release.services).flatMap(([name, service]) => expandComposeServicesWithSidecars([service.composeService ?? name])) : void 0
|
|
4753
4759
|
});
|
|
4754
4760
|
const securityFailures = [];
|
|
4755
4761
|
for (const r of verifyReport.results) {
|