@askexenow/exe-os 0.9.396 → 0.9.398
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 +400 -1
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-7OKWCTDR.js → active-agent-5DC75ZP3.js} +4 -4
- package/dist/{active-agent-6CIFLMKA.js → active-agent-Q7AOGCY5.js} +4 -4
- package/dist/{agent-defs-generator-PZJGE6PL.js → agent-defs-generator-TBR4P3XR.js} +3 -3
- package/dist/{agentic-ontology-JTPDKIML.js → agentic-ontology-UFSQDLCW.js} +1 -1
- package/dist/{artifact-backup-Q7T3GQFO.js → artifact-backup-VWQ6EYNO.js} +3 -3
- package/dist/{backfill-metadata-7QLL3FSG.js → backfill-metadata-BVW4KXY3.js} +7 -7
- package/dist/{background-jobs-V3DZRFKU.js → background-jobs-DXZXRPSE.js} +5 -1
- package/dist/{backup-verify-SCFVPBZH.js → backup-verify-6UIMP3QY.js} +5 -5
- package/dist/{behavior-injection-CHSQWES4.js → behavior-injection-MVL5PXIH.js} +10 -10
- package/dist/{behavior-promotion-TCYWUNKR.js → behavior-promotion-ZQSQLBNO.js} +9 -9
- package/dist/{behaviors-5FRO36HG.js → behaviors-S6ANWJTO.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-ASJLGXK2.js} +4 -4
- package/dist/{boot-review-sections-66P5JMRV.js → boot-review-sections-B34SK4LE.js} +17 -17
- package/dist/{bug-landed-reconciler-QIOAKAPY.js → bug-landed-reconciler-P53SGWZG.js} +7 -7
- package/dist/build-manifest.json +968 -963
- package/dist/{capability-cards-6BANN36W.js → capability-cards-WMK2P2O2.js} +3 -3
- package/dist/{capacity-monitor-TIKUMNDU.js → capacity-monitor-WSRFY3UK.js} +19 -19
- package/dist/{catchup-brief-EVJS7D6C.js → catchup-brief-CE3FP6SL.js} +24 -24
- package/dist/{chunk-BKKZN3DJ.js → chunk-2CGKFJ3Q.js} +7 -7
- package/dist/{chunk-T6C6RT6R.js → chunk-2FMLMHJE.js} +3 -3
- package/dist/{chunk-GHCF7J4Q.js → chunk-2YLN5M5K.js} +3 -3
- package/dist/{chunk-M7DI6JWD.js → chunk-33D76SCE.js} +169 -169
- package/dist/{chunk-LGNDHTDP.js → chunk-342X5YQB.js} +1 -1
- package/dist/{chunk-KM7M4LKN.js → chunk-3HV3TRBB.js} +3 -3
- package/dist/{chunk-RFIAHXTF.js → chunk-3QGQG2CR.js} +1 -1
- package/dist/{chunk-A7XLR3K7.js → chunk-3R7UDPVR.js} +1 -2
- package/dist/{chunk-L2AUCHHJ.js → chunk-4VD4CIHX.js} +9 -9
- package/dist/{chunk-JSOXH5HW.js → chunk-5ID4DJ2E.js} +2 -2
- package/dist/{chunk-QQJI7JGN.js → chunk-5OG5UQKP.js} +4 -4
- package/dist/{chunk-U4GMOT4M.js → chunk-5TAJDCZY.js} +49 -12
- package/dist/{chunk-656JZVNV.js → chunk-5VZDXC7N.js} +3 -3
- package/dist/{chunk-WAPCTGGB.js → chunk-6X4TCYMU.js} +1 -1
- package/dist/{chunk-SLRKZRLC.js → chunk-6YJKBKSI.js} +1 -1
- package/dist/{chunk-LVFD2DVI.js → chunk-7ECQZXUE.js} +3 -3
- package/dist/{chunk-TQEW3RJ3.js → chunk-7PNTI56G.js} +2 -2
- package/dist/{chunk-V4RIHICU.js → chunk-7QYXNSKT.js} +26 -26
- package/dist/{chunk-5BUJW46U.js → chunk-A6GDEHRQ.js} +104 -10
- package/dist/{chunk-Q7WMOEKA.js → chunk-AIOP4BF6.js} +39 -21
- package/dist/{chunk-4NOGWIBA.js → chunk-AWERP5SW.js} +3 -3
- package/dist/{chunk-G3KSUXEA.js → chunk-B4OZKTIS.js} +1 -1
- package/dist/{chunk-V4JWFJZR.js → chunk-B7T7I5BK.js} +16 -16
- package/dist/{chunk-TQJMG65I.js → chunk-BI6SK67J.js} +2 -2
- package/dist/{chunk-B2P6OX3V.js → chunk-BTN6AEKU.js} +3 -3
- package/dist/{chunk-OGJCUMSM.js → chunk-C3CRGIS4.js} +1 -1
- package/dist/{chunk-5UUHXDX6.js → chunk-C4OMBSRB.js} +2 -2
- package/dist/{chunk-PAJ7FUTI.js → chunk-CBLI4ANF.js} +1 -1
- package/dist/{chunk-CEKNYT2D.js → chunk-CBUFW5J2.js} +12 -12
- package/dist/{chunk-JVK6JYR4.js → chunk-CIFHEPMI.js} +1 -1
- package/dist/{chunk-G7BVAQVT.js → chunk-CIRZLORZ.js} +1 -1
- package/dist/{chunk-YG6MHFUP.js → chunk-CN7IOETW.js} +2 -2
- package/dist/{chunk-DSZM7OHM.js → chunk-CTMEIRJQ.js} +1 -1
- package/dist/{chunk-PGLASTLI.js → chunk-DKD6JKIQ.js} +5 -5
- package/dist/{chunk-BJ3ZQAIL.js → chunk-DTUQGAD4.js} +1 -1
- package/dist/{chunk-HHNGQIP3.js → chunk-DUPQMNK6.js} +6 -6
- package/dist/{chunk-5RDMJ325.js → chunk-DVFVOT42.js} +5 -5
- package/dist/{chunk-UWLWYGJJ.js → chunk-E72V3JWD.js} +1 -1
- package/dist/{chunk-Y7BP2MO2.js → chunk-EI53C646.js} +1 -1
- package/dist/{chunk-5M4UNU6O.js → chunk-ENEYMKL6.js} +3 -3
- package/dist/{chunk-VV7D7KEX.js → chunk-F4C3X66B.js} +1 -1
- package/dist/{chunk-DDYKAJMS.js → chunk-FCQK3CNA.js} +1 -1
- package/dist/{chunk-K6NJ7FAZ.js → chunk-GER43BIE.js} +257 -15
- package/dist/{chunk-7C4YKCUK.js → chunk-GOQ5EE67.js} +1 -1
- package/dist/{chunk-KBCUHYHP.js → chunk-HRLCAV2S.js} +2 -2
- package/dist/{chunk-B6CBN6EF.js → chunk-HWP3WCLC.js} +51 -4
- package/dist/{chunk-OWPOJ6OG.js → chunk-HWZZNUJJ.js} +1 -1
- package/dist/{chunk-55M4DF76.js → chunk-I3OXYKU7.js} +2 -2
- package/dist/{chunk-BX336WRX.js → chunk-IACMGMGW.js} +1 -1
- package/dist/{chunk-MGPEY7I2.js → chunk-ICAGVBZ4.js} +1 -1
- package/dist/{chunk-V5KLIBUV.js → chunk-IDFOZ6YH.js} +1 -1
- package/dist/{chunk-MOQBMEMW.js → chunk-J54BOM4G.js} +4 -4
- package/dist/{chunk-SSGIMXA6.js → chunk-JDRIUUMY.js} +3 -3
- package/dist/{chunk-WUQSEZWR.js → chunk-JK5XB7Z5.js} +1 -1
- package/dist/{chunk-ZEYBEJBX.js → chunk-JWA3Y6PE.js} +11 -11
- package/dist/{chunk-7UCCSSJO.js → chunk-KUJODN4N.js} +1 -1
- package/dist/{chunk-EHDAWQ5P.js → chunk-L5TOPOTW.js} +1 -1
- package/dist/{chunk-RPOIKNJZ.js → chunk-LGP67CBT.js} +1 -1
- package/dist/{chunk-LEA7VKPU.js → chunk-LHNMKY7N.js} +10 -10
- package/dist/{chunk-Y5ZD4CTB.js → chunk-MBF7NXKP.js} +1 -1
- package/dist/{chunk-ONYDMXRV.js → chunk-MT3P3B2L.js} +1 -1
- package/dist/{chunk-EHFPSOLD.js → chunk-MYGXI2UC.js} +4 -4
- package/dist/{chunk-5YAXBLZR.js → chunk-NCKHGVDK.js} +1 -1
- package/dist/{chunk-SUZWRZE5.js → chunk-NITCVCRV.js} +1 -1
- package/dist/{chunk-DXIMITSY.js → chunk-NJG3YVZI.js} +3 -3
- package/dist/{chunk-I4DBM5ME.js → chunk-NQG5CD3V.js} +1 -1
- package/dist/{chunk-3OG5LZRK.js → chunk-NUHCZF6C.js} +1 -1
- package/dist/{chunk-4CGMGUDL.js → chunk-OLRMWNOW.js} +28 -8
- package/dist/{chunk-6FWHAROQ.js → chunk-OSLT3VAE.js} +3 -3
- package/dist/{chunk-EG4ZUF4A.js → chunk-OURGAT7A.js} +2 -2
- package/dist/{chunk-VN27TCZE.js → chunk-OZMKDFJU.js} +2 -2
- package/dist/{chunk-ZTFNKVOM.js → chunk-P47UW3N5.js} +2 -2
- package/dist/{chunk-WDLJZKJK.js → chunk-POMZGFDP.js} +3 -3
- package/dist/{chunk-SXBLRCQY.js → chunk-PSWYKWKN.js} +4 -4
- package/dist/{chunk-RPV6CHKA.js → chunk-PTAJKZBG.js} +4 -4
- package/dist/{chunk-FJPCVXQX.js → chunk-Q6X5EVH5.js} +1 -1
- package/dist/{chunk-LNCTMU7Y.js → chunk-Q7YT7RGZ.js} +2 -2
- package/dist/{chunk-2NW4LRDU.js → chunk-QIMM3CSI.js} +92 -12
- package/dist/{chunk-UALXBUDX.js → chunk-QJI5LPRJ.js} +3 -3
- package/dist/{chunk-S2Q2RXYQ.js → chunk-QX7FJJBT.js} +1 -1
- package/dist/{chunk-H4QZCG4C.js → chunk-R7F3UARN.js} +1 -1
- package/dist/{chunk-NTWCFT5X.js → chunk-R7JQKULM.js} +3 -3
- package/dist/{chunk-UW5KXM4D.js → chunk-RCMXCNMC.js} +1 -1
- package/dist/{chunk-ONMKHJJL.js → chunk-RGPEUXOE.js} +7 -4
- package/dist/{chunk-3CAKKEEY.js → chunk-RSOHC3JR.js} +2 -2
- package/dist/{chunk-XOPIR34P.js → chunk-RUAEYGEH.js} +1 -1
- package/dist/{chunk-GHIMWZN4.js → chunk-SQE2PHXK.js} +1 -1
- package/dist/{chunk-FNVZAK4C.js → chunk-SVORDFGR.js} +6 -6
- package/dist/{chunk-PE7RXZQE.js → chunk-SZHPUFK7.js} +5 -5
- package/dist/{chunk-LRAMTS6U.js → chunk-TLAW77QU.js} +7 -7
- package/dist/{chunk-VH4IRABX.js → chunk-TRH6E2HV.js} +4 -4
- package/dist/{chunk-GPB6X2OI.js → chunk-UAPWTGRP.js} +1 -1
- package/dist/{chunk-4CB4VETH.js → chunk-UI2MRWQC.js} +2 -2
- package/dist/{chunk-WFKZZSEB.js → chunk-UI5HQJK5.js} +1 -1
- package/dist/{chunk-45R4367S.js → chunk-ULBPH7SD.js} +1 -1
- package/dist/{chunk-X5FCZYWK.js → chunk-ULORKGXX.js} +2 -2
- package/dist/{chunk-D2ZII4AG.js → chunk-UMXUJTSQ.js} +6 -6
- package/dist/{chunk-7INEFMVU.js → chunk-UNFHKOTF.js} +44 -15
- package/dist/{chunk-7WDLUCHN.js → chunk-UOZBM4LO.js} +3 -3
- package/dist/{chunk-WEW4TRBL.js → chunk-UPGKO5UD.js} +1 -1
- package/dist/{chunk-JKUCAMV4.js → chunk-UQDCXE5D.js} +1 -1
- package/dist/{chunk-DXQIIZQC.js → chunk-UYU25KCR.js} +12 -12
- package/dist/{chunk-V7NXFHZM.js → chunk-UZZSM36C.js} +1 -1
- package/dist/{chunk-6Q3M7KZE.js → chunk-V5C7NLBF.js} +3 -3
- package/dist/{chunk-YQJC5ETC.js → chunk-V6EIR7QO.js} +2 -2
- package/dist/{chunk-XFF6SPWG.js → chunk-VFVF3FHG.js} +1 -1
- package/dist/{chunk-F5VP7K3C.js → chunk-VRTBRPRO.js} +59 -12
- package/dist/{chunk-6VMVQ3G7.js → chunk-VX7I5XT6.js} +55 -11
- package/dist/{chunk-K3EU7B72.js → chunk-VXYXKN6Z.js} +5 -5
- package/dist/{chunk-4UOEKQF3.js → chunk-W2SNTOQE.js} +6 -6
- package/dist/{chunk-X2X3IGZU.js → chunk-W4H2MZAS.js} +17 -5
- package/dist/{chunk-6OQ2TRZK.js → chunk-WHQADJV7.js} +8 -2
- package/dist/{chunk-INLY2LLN.js → chunk-XMQE5IBD.js} +1 -1
- package/dist/{chunk-ZSFFCRVI.js → chunk-XQH5BKEC.js} +2 -2
- package/dist/{chunk-IVGAATAY.js → chunk-YQ7V5UGG.js} +4 -4
- package/dist/{chunk-JC3LUYW6.js → chunk-YUMZXMKO.js} +1 -1
- package/dist/{chunk-BREDG6EG.js → chunk-Z25GSJ55.js} +9 -5
- package/dist/{chunk-5AGOX2XD.js → chunk-ZFJ2KQNY.js} +1 -1
- package/dist/{chunk-UVEDFARJ.js → chunk-ZGILZG4X.js} +13 -13
- package/dist/{chunk-W6W6ED2D.js → chunk-ZHENW7C3.js} +1 -1
- package/dist/{chunk-OODTK35C.js → chunk-ZK645I2O.js} +5 -5
- package/dist/{chunk-TFVMRQCZ.js → chunk-ZPMKJS7L.js} +4 -4
- package/dist/{cleanup-graph-garbage-AXNCBW5B.js → cleanup-graph-garbage-4PGUCD7L.js} +8 -8
- package/dist/{cli-shutdown-HIZRMWKR.js → cli-shutdown-TWBTAIJX.js} +1 -1
- package/dist/{cloud-sync-command-XYKKRYHG.js → cloud-sync-command-GLTTBKWO.js} +2 -2
- package/dist/{cloud-sync-db-init-GJ322ZNM.js → cloud-sync-db-init-GCR22YII.js} +1 -1
- package/dist/{cloud-sync-shutdown-K4XBDTDB.js → cloud-sync-shutdown-YMLKOH3D.js} +3 -3
- package/dist/{co-activation-AQXLWFBQ.js → co-activation-MTMCPMZ7.js} +3 -3
- package/dist/{co-occurrence-O67PD32I.js → co-occurrence-USGUH6Q4.js} +6 -6
- package/dist/{consent-passphrase-DTOZ7LIP.js → consent-passphrase-47T2T7AI.js} +2 -2
- package/dist/{conversation-entity-extractor-VRL2EEZQ.js → conversation-entity-extractor-NMXN4MFL.js} +3 -3
- package/dist/{crdt-sync-RPCGSGIE.js → crdt-sync-MKLAGQ44.js} +4 -4
- package/dist/{crm-webhook-4QADMY7C.js → crm-webhook-5XPG7KVJ.js} +2 -2
- package/dist/{cto-delegation-gate-6N2R2VA2.js → cto-delegation-gate-MPD4NXN2.js} +17 -17
- package/dist/{daemon-orchestration-ASCAZ63R.js → daemon-orchestration-3PQVCRII.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-N4ROA5Y6.js} +6 -6
- package/dist/{documents-5WNSGY3Q.js → documents-MB6ZBMFN.js} +8 -8
- package/dist/{dreaming-2TPLO3TO.js → dreaming-J44REYEX.js} +22 -22
- package/dist/{employee-boot-brief-MYXATLSU.js → employee-boot-brief-XGGQIUWH.js} +26 -26
- package/dist/{entity-boost-BW62CICZ.js → entity-boost-EF4ZVOAL.js} +1 -1
- package/dist/{exe-drift-PFFRJJTZ.js → exe-drift-BG7P4MPD.js} +4 -4
- package/dist/{exe-export-LL5SV6P2.js → exe-export-JGIBEZ6Y.js} +9 -9
- package/dist/{exe-import-LSQMDFDX.js → exe-import-WLFLUY3Y.js} +9 -9
- package/dist/{exe-key-266A5GJN.js → exe-key-VST55TOI.js} +101 -100
- package/dist/{exe-org-T5DQXHGZ.js → exe-org-FRBL3DFL.js} +36 -36
- package/dist/{exe-snapshot-LMMGFX7O.js → exe-snapshot-RYI5ECPA.js} +25 -25
- package/dist/{fast-db-init-6MQDCHEB.js → fast-db-init-SIDYVAXH.js} +1 -1
- package/dist/{founder-context-6Q6OU7Q7.js → founder-context-2NDDWGSH.js} +3 -3
- package/dist/{founder-monitor-envelope-RBSOSB6K.js → founder-monitor-envelope-KZCFNWMB.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-KABOHP62.js} +1 -1
- package/dist/{git-staleness-APYCKV4V.js → git-staleness-2CLU6VTA.js} +3 -3
- package/dist/{global-procedures-HYFE2UTQ.js → global-procedures-W3G63OIF.js} +5 -5
- package/dist/{graph-auto-extract-LFXYAEY5.js → graph-auto-extract-3UV2CVSW.js} +6 -6
- package/dist/{graph-query-4F4D4NDH.js → graph-query-6HLVU6K6.js} +1 -1
- package/dist/{graph-rag-YZNY6Z3H.js → graph-rag-5AMI2SXI.js} +3 -3
- package/dist/{hook-integrity-KNCDGZUD.js → hook-integrity-OYI2N5RC.js} +1 -1
- package/dist/{hook-prefetch-ZBUCJBJB.js → hook-prefetch-JV5HG7BJ.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-MABZRBTF.js → installer-LY3KOTTY.js} +7 -7
- package/dist/{installer-ZWGREGIY.js → installer-X3WJPT5P.js} +7 -7
- package/dist/{installer-TNTAEKCO.js → installer-Y5OURERO.js} +7 -7
- package/dist/{intercom-queue-UHL4MXLB.js → intercom-queue-5LBDKW7T.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-ZENWFXPR.js} +4 -4
- package/dist/{license-recheck-5PXGSCSR.js → license-recheck-J2I5LOY6.js} +1 -1
- package/dist/{license-sync-YCV3GMHN.js → license-sync-Y5JLOYTI.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-CQDHUBEL.js} +5 -5
- package/dist/{mcp-session-identity-FQUOB5SF.js → mcp-session-identity-5P4KAHTQ.js} +17 -17
- package/dist/{memory-cards-BH53SM42.js → memory-cards-XYZQ5J5T.js} +7 -7
- package/dist/{memory-graph-extractor-I6WXM5IC.js → memory-graph-extractor-K57UAS52.js} +7 -7
- package/dist/{memory-maintenance-CD2PUBDK.js → memory-maintenance-BF6DEY23.js} +1 -1
- package/dist/{memory-poisoning-defense-CC6RGH6M.js → memory-poisoning-defense-DRJOUPIL.js} +3 -3
- package/dist/{memory-pressure-watchdog-CDEOMXDR.js → memory-pressure-watchdog-6EVWGJ6K.js} +18 -18
- package/dist/{memory-reflection-VXFXG55L.js → memory-reflection-3TX3U2RP.js} +7 -7
- package/dist/{memory-write-repository-NLQLH4UL.js → memory-write-repository-IXUYUMAK.js} +1 -1
- package/dist/{monitor-grants-6VWM3J3S.js → monitor-grants-BTAWMLRU.js} +3 -3
- package/dist/{monitor-identity-YPFRT4AT.js → monitor-identity-VZDTHQDS.js} +2 -2
- package/dist/{notification-ledger-2GIT6AZ7.js → notification-ledger-FQ5FE6H2.js} +18 -18
- package/dist/{notifications-LHDV4WKP.js → notifications-4NV4X5US.js} +17 -17
- package/dist/{orchestration-events-ABHTWWN4.js → orchestration-events-J6MGN7BL.js} +4 -4
- package/dist/{orchestrator-N7FCY6H2.js → orchestrator-3RAP4BIW.js} +19 -19
- package/dist/{org-brief-session-O6YNFSX3.js → org-brief-session-S5TVA7ZS.js} +15 -15
- package/dist/{org-consent-policy-FJH3KTAL.js → org-consent-policy-EBTTGC7A.js} +5 -5
- package/dist/{org-join-55WN6YRL.js → org-join-WLATMHMH.js} +11 -11
- package/dist/{org-key-admin-FFMICGMY.js → org-key-admin-KJBO4TMT.js} +13 -13
- package/dist/{org-key-epoch-RKOF3H2A.js → org-key-epoch-5E7OFFY5.js} +5 -5
- package/dist/{org-key-pin-SMZS3GE3.js → org-key-pin-YHWVAB4F.js} +3 -3
- package/dist/{org-membership-7VBJJBGO.js → org-membership-PGATG3HH.js} +4 -4
- package/dist/{org-partner-config-7LOXIBW5.js → org-partner-config-I6RTWJYD.js} +8 -8
- package/dist/{org-partner-runtime-CIFSQNOI.js → org-partner-runtime-CSKMXXHT.js} +15 -15
- package/dist/{org-row-visibility-EBN7EI6C.js → org-row-visibility-ZK3OLJ67.js} +1 -1
- package/dist/{pipeline-router-VETNF3MF.js → pipeline-router-A3LVNWB6.js} +4 -4
- package/dist/{plan-limits-7NDDDRHR.js → plan-limits-3XZY7F72.js} +7 -7
- package/dist/{pre-tool-use-impl-GIVQWE6Q.js → pre-tool-use-impl-DNACKCTW.js} +33 -33
- package/dist/{project-name-5D6ZQNAY.js → project-name-2TTGTGEQ.js} +4 -4
- package/dist/{projection-worker-4BB4ZN3S.js → projection-worker-WW7T7QN2.js} +2 -2
- package/dist/{prospective-memory-WUK4ZEVR.js → prospective-memory-44J6PINA.js} +3 -3
- package/dist/{push-notifications-UZQLJGEY.js → push-notifications-XXJDSJA6.js} +18 -18
- package/dist/{reproject-worktree-memories-XFUKN3ZC.js → reproject-worktree-memories-DVAR2CSE.js} +17 -17
- package/dist/{reranker-6F6Y7QHA.js → reranker-4LFGA2X5.js} +1 -1
- package/dist/{retrieval-health-SCFZCV7Q.js → retrieval-health-OMOG6DVF.js} +2 -2
- package/dist/{review-polling-CFDLKJE4.js → review-polling-EX2WCR5V.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-Z5XJD4R3.js} +18 -18
- package/dist/{session-kill-telemetry-OBBCVT3O.js → session-kill-telemetry-UYQ5H3XQ.js} +18 -18
- package/dist/{session-scope-LDRY5PBO.js → session-scope-NUWMURJ7.js} +17 -17
- package/dist/{setup-wizard-LS6BNHYK.js → setup-wizard-BP4FM3SE.js} +2 -2
- package/dist/{shard-manager-7X42DNFE.js → shard-manager-FIMZLYAN.js} +2 -2
- package/dist/{skill-refinement-B4EGDBE2.js → skill-refinement-YRTPOCTT.js} +4 -4
- package/dist/{skill-retrieval-2ZHX6EQZ.js → skill-retrieval-WEGXROXO.js} +11 -11
- package/dist/{skill-usage-DO6M6W5E.js → skill-usage-7HHQGIMF.js} +4 -4
- package/dist/{stack-generate-manifest-H2YBCYRW.js → stack-generate-manifest-NWBAQUC6.js} +5 -5
- package/dist/{stack-promote-WOATPAGM.js → stack-promote-NV2ZQEVL.js} +5 -5
- package/dist/{stack-release-BAD4BTHF.js → stack-release-IPOLLLJH.js} +6 -11
- package/dist/{stack-update-H3YXPL7Z.js → stack-update-5LT2U7IP.js} +4 -4
- package/dist/{steward-gate-T2XM2NE4.js → steward-gate-BY7R6PJI.js} +4 -4
- package/dist/{subagent-brief-injection-5B2XWRZI.js → subagent-brief-injection-MHQEC6VS.js} +28 -28
- package/dist/{support-bug-actions-GQYF373N.js → support-bug-actions-QIJETJW5.js} +4 -4
- package/dist/{support-inbox-WYWKDLFI.js → support-inbox-YGGVORLU.js} +14 -14
- package/dist/{task-enforcement-IIWZPEHF.js → task-enforcement-IRFSPSN3.js} +18 -18
- package/dist/{task-request-inbox-GYK2XLSB.js → task-request-inbox-3JRUEHQ5.js} +5 -5
- package/dist/{task-scope-YHXKRO2Y.js → task-scope-Q4GALTXQ.js} +17 -17
- package/dist/{tasks-crud-BHG6IQ5Z.js → tasks-crud-EPCTLLQ3.js} +17 -17
- package/dist/{tasks-notify-PX22TSMC.js → tasks-notify-B6ORX32W.js} +18 -18
- package/dist/{tasks-review-6BPGUXJB.js → tasks-review-6MXUAHHW.js} +17 -17
- package/dist/{telemetry-upload-HCV4KRB6.js → telemetry-upload-HQEFD3C5.js} +9 -9
- package/dist/{token-budget-YVIX2L2Y.js → token-budget-WD3O2E67.js} +4 -4
- package/dist/{tool-telemetry-JWI2CHI3.js → tool-telemetry-WRQUOLQX.js} +1 -1
- package/dist/tui/App.js +27 -27
- package/dist/{tui-data-E5EA34WJ.js → tui-data-F4MEUKAG.js} +21 -21
- package/dist/{update-support-JCUIC5J2.js → update-support-UXAVIPYK.js} +12 -12
- package/dist/{whatsapp-XRTRUPFR.js → whatsapp-OXW4DIHE.js} +2 -2
- package/dist/{wiki-acl-PKJLSR6U.js → wiki-acl-J564J7MH.js} +1 -1
- package/dist/{work-claims-BB6S6QU5.js → work-claims-AURJKQOJ.js} +4 -4
- package/dist/{work-state-heartbeat-O2SS2VWD.js → work-state-heartbeat-KS3XNIJW.js} +1 -1
- package/dist/{workflow-engine-XWQS7VBY.js → workflow-engine-TSLIUTU2.js} +2 -2
- package/dist/{worktree-F3TKPS5Z.js → worktree-4YARVREJ.js} +5 -5
- package/dist/{worktree-sweep-OF4ST7IR.js → worktree-sweep-XMESZYDA.js} +10 -6
- package/package.json +2 -1
- package/release-notes.json +34 -7
- package/stack.release.json +3 -3
- /package/dist/{chunk-GNFWZ2MA.js → chunk-2WJDZ7ZL.js} +0 -0
- /package/dist/{chunk-W3DHPCFX.js → chunk-5RIIZINL.js} +0 -0
- /package/dist/{chunk-CULFTILF.js → chunk-7SQPOOQI.js} +0 -0
- /package/dist/{chunk-NRR6VAG2.js → chunk-A65MJS3O.js} +0 -0
- /package/dist/{chunk-4D7SDPAB.js → chunk-CZ3RYFNL.js} +0 -0
- /package/dist/{chunk-XDZWSK3F.js → chunk-DTQF6UBE.js} +0 -0
- /package/dist/{chunk-MFRU5TLH.js → chunk-IPJRMBYC.js} +0 -0
- /package/dist/{chunk-MQNHXT54.js → chunk-J6UCIUPI.js} +0 -0
- /package/dist/{chunk-I3F7MGSI.js → chunk-JCV4UPMD.js} +0 -0
- /package/dist/{chunk-W7S7AEVC.js → chunk-K2ETALNO.js} +0 -0
- /package/dist/{chunk-KY5XPFMA.js → chunk-OJG6S5OI.js} +0 -0
- /package/dist/{chunk-CEPUA7JC.js → chunk-R75Z5WXN.js} +0 -0
- /package/dist/{chunk-PKPJ62VF.js → chunk-ZXMOTEQE.js} +0 -0
- /package/dist/{core-memory-Z4FUMYA6.js → core-memory-SKTPW67X.js} +0 -0
- /package/dist/{memory-isolation-PDFRPDVY.js → memory-isolation-XXQUEA6Z.js} +0 -0
- /package/dist/{oauth-server-TM5XWRX3.js → oauth-server-XD33YOXG.js} +0 -0
- /package/dist/{project-boot-VFW3KDOY.js → project-boot-H2RD4NGX.js} +0 -0
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-IZWMWJZT.js";
|
|
5
5
|
import {
|
|
6
6
|
fastDbInit
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-A65MJS3O.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UYU25KCR.js";
|
|
11
11
|
|
|
12
12
|
// src/lib/global-procedures.ts
|
|
13
13
|
import { randomUUID } from "crypto";
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
reserveVersions,
|
|
6
6
|
vectorToBlob
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-B7T7I5BK.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UYU25KCR.js";
|
|
11
11
|
|
|
12
12
|
// src/lib/documents.ts
|
|
13
13
|
import crypto from "crypto";
|
|
@@ -85,7 +85,7 @@ async function resolveWorkspace(slug_or_id, name, ownerAgentId) {
|
|
|
85
85
|
}
|
|
86
86
|
if (owner) {
|
|
87
87
|
try {
|
|
88
|
-
const { grantWikiAccess } = await import("./wiki-acl-
|
|
88
|
+
const { grantWikiAccess } = await import("./wiki-acl-J564J7MH.js");
|
|
89
89
|
await grantWikiAccess(owner, id, "admin", owner);
|
|
90
90
|
} catch {
|
|
91
91
|
}
|
|
@@ -111,7 +111,7 @@ async function resolveDefaultWorkspaceId(cwd) {
|
|
|
111
111
|
const client = getClient();
|
|
112
112
|
let projectName;
|
|
113
113
|
try {
|
|
114
|
-
const { getProjectName } = await import("./project-name-
|
|
114
|
+
const { getProjectName } = await import("./project-name-2TTGTGEQ.js");
|
|
115
115
|
projectName = getProjectName(cwd);
|
|
116
116
|
} catch {
|
|
117
117
|
return null;
|
|
@@ -230,7 +230,7 @@ async function ingestDocument(input) {
|
|
|
230
230
|
}
|
|
231
231
|
let ingestingIdentity = null;
|
|
232
232
|
try {
|
|
233
|
-
const { getActiveAgent } = await import("./active-agent-
|
|
233
|
+
const { getActiveAgent } = await import("./active-agent-5DC75ZP3.js");
|
|
234
234
|
ingestingIdentity = getActiveAgent().agentId || null;
|
|
235
235
|
} catch {
|
|
236
236
|
}
|
|
@@ -308,7 +308,7 @@ async function ingestDocument(input) {
|
|
|
308
308
|
await client.batch([documentStmt, ...chunkStmts], "write");
|
|
309
309
|
const embedded = vectors.filter((v) => v !== null).length;
|
|
310
310
|
const originalTexts = input.chunks.map((c) => c.text);
|
|
311
|
-
import("./doc-graph-extractor-
|
|
311
|
+
import("./doc-graph-extractor-N4ROA5Y6.js").then(
|
|
312
312
|
({ extractAndStoreDocumentGraph }) => extractAndStoreDocumentGraph(documentId, originalTexts)
|
|
313
313
|
).catch((err) => {
|
|
314
314
|
process.stderr.write(
|
|
@@ -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,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getActiveAgent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LGP67CBT.js";
|
|
4
4
|
import {
|
|
5
5
|
listTasks
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7QYXNSKT.js";
|
|
7
7
|
import {
|
|
8
8
|
getAgentContext
|
|
9
9
|
} from "./chunk-GJV3WDWM.js";
|
|
10
10
|
import {
|
|
11
11
|
isCoordinatorName
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UYU25KCR.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/tools/list-tasks.ts
|
|
15
15
|
import { z } from "zod";
|
|
@@ -212,7 +212,7 @@ async function main(args) {
|
|
|
212
212
|
console.log("[health-gate] Starting rollback...");
|
|
213
213
|
restorePreDeployBackup();
|
|
214
214
|
try {
|
|
215
|
-
const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-
|
|
215
|
+
const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-5LT2U7IP.js");
|
|
216
216
|
const paths = defaultStackPaths();
|
|
217
217
|
await rollbackStackUpdate({
|
|
218
218
|
manifestRef: paths.manifestRef,
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
assertValidDbPath
|
|
6
6
|
} from "./chunk-TKDITWDN.js";
|
|
7
|
+
import {
|
|
8
|
+
listBackups,
|
|
9
|
+
preBackupCheckpoint
|
|
10
|
+
} from "./chunk-2CGKFJ3Q.js";
|
|
7
11
|
import {
|
|
8
12
|
MEMORY_PROJECTION_OUTBOX_INDEX_SQL,
|
|
9
13
|
MEMORY_PROJECTION_OUTBOX_TABLE_SQL,
|
|
10
14
|
MEMORY_PROJECTION_OUTBOX_UNIQUE_INDEX_SQL,
|
|
11
15
|
PROJECTION_CHECKPOINT_TABLE_SQL,
|
|
12
16
|
ensureMemoryWriteIndex
|
|
13
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-L5TOPOTW.js";
|
|
14
18
|
import {
|
|
15
19
|
recordDbOpen
|
|
16
20
|
} from "./chunk-5YEUPUV4.js";
|
|
17
|
-
import {
|
|
18
|
-
listBackups,
|
|
19
|
-
preBackupCheckpoint
|
|
20
|
-
} from "./chunk-BKKZN3DJ.js";
|
|
21
21
|
import {
|
|
22
22
|
isPostgresBackendEnabled
|
|
23
23
|
} from "./chunk-YYB5PMTK.js";
|
|
@@ -1515,7 +1515,7 @@ async function migrateReflectionDedup(client) {
|
|
|
1515
1515
|
"ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
|
|
1516
1516
|
"migration add memory_reflections.dedup_key"
|
|
1517
1517
|
);
|
|
1518
|
-
const { reflectionDedupKey } = await import("./memory-reflection-
|
|
1518
|
+
const { reflectionDedupKey } = await import("./memory-reflection-3TX3U2RP.js");
|
|
1519
1519
|
const keyForRow = (row) => {
|
|
1520
1520
|
let sources = [];
|
|
1521
1521
|
try {
|
|
@@ -2035,7 +2035,7 @@ async function _attemptBackupRestore(config) {
|
|
|
2035
2035
|
`
|
|
2036
2036
|
);
|
|
2037
2037
|
try {
|
|
2038
|
-
const { recordDbRestoreEvent } = await import("./db-restore-events-
|
|
2038
|
+
const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
|
|
2039
2039
|
recordDbRestoreEvent({
|
|
2040
2040
|
kind: "auto-restore",
|
|
2041
2041
|
restoredFrom: backup.name,
|
|
@@ -2078,7 +2078,7 @@ async function _attemptBackupRestore(config) {
|
|
|
2078
2078
|
`
|
|
2079
2079
|
);
|
|
2080
2080
|
try {
|
|
2081
|
-
const { recordDbRestoreEvent } = await import("./db-restore-events-
|
|
2081
|
+
const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
|
|
2082
2082
|
recordDbRestoreEvent({
|
|
2083
2083
|
kind: "restore-failed",
|
|
2084
2084
|
quarantinePath: corruptPath,
|
|
@@ -2337,7 +2337,7 @@ async function initDatabase(config) {
|
|
|
2337
2337
|
`
|
|
2338
2338
|
);
|
|
2339
2339
|
try {
|
|
2340
|
-
const { recordDbRestoreEvent } = await import("./db-restore-events-
|
|
2340
|
+
const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
|
|
2341
2341
|
recordDbRestoreEvent({
|
|
2342
2342
|
kind: "wal-recovery",
|
|
2343
2343
|
quarantinePath: backupPath,
|
|
@@ -2351,7 +2351,7 @@ async function initDatabase(config) {
|
|
|
2351
2351
|
`
|
|
2352
2352
|
);
|
|
2353
2353
|
try {
|
|
2354
|
-
const { recordDbRestoreEvent } = await import("./db-restore-events-
|
|
2354
|
+
const { recordDbRestoreEvent } = await import("./db-restore-events-R5S7XTHX.js");
|
|
2355
2355
|
recordDbRestoreEvent({
|
|
2356
2356
|
kind: "zeroed-no-wal",
|
|
2357
2357
|
detail: "DB was 0 bytes at startup with no WAL available \u2014 data may be lost"
|
|
@@ -2573,7 +2573,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
|
|
|
2573
2573
|
const purgeArchived = archDays !== void 0;
|
|
2574
2574
|
const BATCH_SIZE = 2e3;
|
|
2575
2575
|
const MAX_BATCHES = 500;
|
|
2576
|
-
const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-
|
|
2576
|
+
const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-5AMI2SXI.js");
|
|
2577
2577
|
const softCutoff = `-${softDays} days`;
|
|
2578
2578
|
const selectArgsBase = [softCutoff];
|
|
2579
2579
|
let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
|
|
@@ -2959,7 +2959,7 @@ async function ensureSchema() {
|
|
|
2959
2959
|
}
|
|
2960
2960
|
}
|
|
2961
2961
|
try {
|
|
2962
|
-
const { checkAndRepairFtsIndexOnce } = await import("./fts-integrity-
|
|
2962
|
+
const { checkAndRepairFtsIndexOnce } = await import("./fts-integrity-PL7TKYTM.js");
|
|
2963
2963
|
await checkAndRepairFtsIndexOnce(client);
|
|
2964
2964
|
} catch (ftsErr) {
|
|
2965
2965
|
process.stderr.write(
|
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
buildClaudeHttpMcpEntry,
|
|
16
16
|
buildClaudeStdioProxyMcpEntry
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-C4OMBSRB.js";
|
|
18
18
|
import {
|
|
19
19
|
ensureAllAgentSymlinks
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DTUQGAD4.js";
|
|
21
21
|
import {
|
|
22
22
|
MCP_LEGACY_KEY,
|
|
23
23
|
MCP_PRIMARY_KEY
|
|
@@ -977,7 +977,7 @@ async function runInstaller(homeDir) {
|
|
|
977
977
|
);
|
|
978
978
|
}
|
|
979
979
|
try {
|
|
980
|
-
const { generateAgentDefs, summarizeAgentDefResults } = await import("./agent-defs-generator-
|
|
980
|
+
const { generateAgentDefs, summarizeAgentDefResults } = await import("./agent-defs-generator-TBR4P3XR.js");
|
|
981
981
|
const defResults = generateAgentDefs({ homeDir: resolvedHome });
|
|
982
982
|
process.stderr.write(`Agent definitions: ${summarizeAgentDefResults(defResults)}
|
|
983
983
|
`);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registerScopedQueryChokepoint,
|
|
3
3
|
scopedQueryChokepointStatus
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DUPQMNK6.js";
|
|
5
5
|
import {
|
|
6
6
|
getClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UYU25KCR.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/org-scoped-rows.ts
|
|
10
10
|
var SCOPED_QUERY_MAX_LIMIT = 200;
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getGitRootAsync,
|
|
5
5
|
isWorktreeDirty,
|
|
6
6
|
isWorktreeDirtyAsync
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RCMXCNMC.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/worktree-sweep.ts
|
|
10
10
|
import { execFile } from "child_process";
|
|
@@ -193,17 +193,63 @@ async function detectMainBranch(repoRoot) {
|
|
|
193
193
|
}
|
|
194
194
|
return null;
|
|
195
195
|
}
|
|
196
|
-
|
|
196
|
+
var MERGED_PR_BULK_LIMIT = 500;
|
|
197
|
+
async function ghBulkPrLookup(repoRoot, mainBranch) {
|
|
197
198
|
try {
|
|
198
|
-
const { stdout
|
|
199
|
+
const { stdout } = await execFileAsync(
|
|
200
|
+
"gh",
|
|
201
|
+
[
|
|
202
|
+
"pr",
|
|
203
|
+
"list",
|
|
204
|
+
"--state",
|
|
205
|
+
"merged",
|
|
206
|
+
"--base",
|
|
207
|
+
mainBranch,
|
|
208
|
+
"--json",
|
|
209
|
+
"headRefName,headRefOid,mergedAt,baseRefName",
|
|
210
|
+
"--limit",
|
|
211
|
+
String(MERGED_PR_BULK_LIMIT)
|
|
212
|
+
],
|
|
213
|
+
{ cwd: repoRoot, encoding: "utf8", timeout: GIT_TIMEOUT_MS }
|
|
214
|
+
);
|
|
215
|
+
return JSON.parse(stdout);
|
|
216
|
+
} catch {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
async function buildMergedPrCache(repoRoot, mainBranch, lookup = ghBulkPrLookup) {
|
|
221
|
+
const records = await lookup(repoRoot, mainBranch);
|
|
222
|
+
if (records === null) return null;
|
|
223
|
+
const cache = /* @__PURE__ */ new Map();
|
|
224
|
+
for (const record of records) {
|
|
225
|
+
if (record.baseRefName !== mainBranch) continue;
|
|
226
|
+
const existing = cache.get(record.headRefName);
|
|
227
|
+
if (!existing || (record.mergedAt ?? "") >= (existing.mergedAt ?? "")) {
|
|
228
|
+
cache.set(record.headRefName, record);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return cache;
|
|
232
|
+
}
|
|
233
|
+
async function currentBranchTip(repoRoot, branch) {
|
|
234
|
+
try {
|
|
235
|
+
const { stdout } = await execFileAsync("git", ["rev-parse", "--verify", `refs/heads/${branch}^{commit}`], {
|
|
199
236
|
cwd: repoRoot,
|
|
200
237
|
encoding: "utf8",
|
|
201
238
|
timeout: GIT_TIMEOUT_MS
|
|
202
239
|
});
|
|
203
|
-
return
|
|
240
|
+
return stdout.trim() || null;
|
|
204
241
|
} catch {
|
|
205
|
-
return
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
async function getBranchLandedState(repoRoot, branch, mainBranch, prCache = null) {
|
|
246
|
+
const record = prCache?.get(branch);
|
|
247
|
+
if (!record || record.baseRefName !== mainBranch) return "unknown";
|
|
248
|
+
const tip = await currentBranchTip(repoRoot, branch);
|
|
249
|
+
if (tip && record.headRefOid === tip) {
|
|
250
|
+
return "merged";
|
|
206
251
|
}
|
|
252
|
+
return "unknown";
|
|
207
253
|
}
|
|
208
254
|
async function hasLiveTmuxSession(agentName) {
|
|
209
255
|
try {
|
|
@@ -370,6 +416,7 @@ Archived by worktree-sweep after ${DIRTY_ORPHAN_MAX_AGE_MS / 864e5}-day dirty or
|
|
|
370
416
|
async function sweepWorktrees(options = {}) {
|
|
371
417
|
const dryRun = options.dryRun ?? false;
|
|
372
418
|
const repoPaths = options.repoPaths ?? discoverRepoPaths();
|
|
419
|
+
const prLookup = options.prLookup;
|
|
373
420
|
const result = {
|
|
374
421
|
reposScanned: 0,
|
|
375
422
|
removed: [],
|
|
@@ -384,6 +431,7 @@ async function sweepWorktrees(options = {}) {
|
|
|
384
431
|
result.reposScanned++;
|
|
385
432
|
const repoName = path.basename(repoRoot);
|
|
386
433
|
const mainBranch = await detectMainBranch(repoRoot);
|
|
434
|
+
const prCache = mainBranch ? await buildMergedPrCache(repoRoot, mainBranch, prLookup) : null;
|
|
387
435
|
if (!dryRun) {
|
|
388
436
|
await pruneWorktreeRegistry(repoRoot);
|
|
389
437
|
}
|
|
@@ -460,14 +508,11 @@ async function sweepWorktrees(options = {}) {
|
|
|
460
508
|
});
|
|
461
509
|
continue;
|
|
462
510
|
}
|
|
463
|
-
const
|
|
511
|
+
const landedState = mainBranch ? await getBranchLandedState(repoRoot, wt.branch, mainBranch, prCache) : "unknown";
|
|
512
|
+
const isMerged = landedState === "merged";
|
|
464
513
|
if (dryRun) {
|
|
465
514
|
result.removed.push({ repo: repoName, worktree: wtName, branch: wt.branch });
|
|
466
|
-
|
|
467
|
-
result.branchesDeleted.push({ repo: repoName, branch: wt.branch, remote: true });
|
|
468
|
-
} else {
|
|
469
|
-
result.branchesDeleted.push({ repo: repoName, branch: wt.branch, remote: false });
|
|
470
|
-
}
|
|
515
|
+
result.branchesDeleted.push({ repo: repoName, branch: wt.branch, remote: isMerged });
|
|
471
516
|
continue;
|
|
472
517
|
}
|
|
473
518
|
const removed = await removeWorktree(repoRoot, wt.path);
|
|
@@ -480,7 +525,7 @@ async function sweepWorktrees(options = {}) {
|
|
|
480
525
|
`);
|
|
481
526
|
const localDeleted = await deleteBranch(repoRoot, wt.branch);
|
|
482
527
|
let remoteDeleted = false;
|
|
483
|
-
if (localDeleted) {
|
|
528
|
+
if (localDeleted && isMerged) {
|
|
484
529
|
remoteDeleted = await deleteRemoteBranch(repoRoot, wt.branch);
|
|
485
530
|
}
|
|
486
531
|
if (localDeleted) {
|
|
@@ -548,6 +593,8 @@ async function getWorktreeBranch(repoRoot, wtPath) {
|
|
|
548
593
|
export {
|
|
549
594
|
discoverRepoPaths,
|
|
550
595
|
discoverRepoPathsAsync,
|
|
596
|
+
buildMergedPrCache,
|
|
597
|
+
getBranchLandedState,
|
|
551
598
|
isWorktreePathOccupiedByCwd,
|
|
552
599
|
sweepWorktrees,
|
|
553
600
|
cleanupAgentWorktree
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PLAN_LIMITS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3R7UDPVR.js";
|
|
4
4
|
import {
|
|
5
5
|
getDeviceInfo
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZXMOTEQE.js";
|
|
7
7
|
import {
|
|
8
8
|
EXE_AI_DIR
|
|
9
9
|
} from "./chunk-MMS2HBRT.js";
|
|
@@ -44,6 +44,12 @@ oR8NJBuiITKaerulCXiSiJMX1HP0+h5dHBVfCWQfIVk5BMdsheAMaP806w==
|
|
|
44
44
|
-----END PUBLIC KEY-----`;
|
|
45
45
|
var LICENSE_PUBLIC_KEYS = [LICENSE_PUBLIC_KEY_PEM_2026_06_17, LICENSE_PUBLIC_KEY_PEM, LICENSE_PUBLIC_KEY_PEM_PREV];
|
|
46
46
|
var LICENSE_JWT_ALG = "ES256";
|
|
47
|
+
var MAX_OFFLINE_TRUST_DAYS = 7;
|
|
48
|
+
function withinOfflineTrustWindow(payload, maxDays) {
|
|
49
|
+
const iat = payload?.iat;
|
|
50
|
+
if (typeof iat !== "number" || !Number.isFinite(iat)) return true;
|
|
51
|
+
return Date.now() < iat * 1e3 + maxDays * 24 * 60 * 60 * 1e3;
|
|
52
|
+
}
|
|
47
53
|
function suppliedNumber(value) {
|
|
48
54
|
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
49
55
|
}
|
|
@@ -55,6 +61,15 @@ function resolveClientLimits(plan, supplied) {
|
|
|
55
61
|
memoryLimit: suppliedNumber(supplied?.memories) ?? fallback.memories
|
|
56
62
|
};
|
|
57
63
|
}
|
|
64
|
+
function subscriptionEndClaim(payload) {
|
|
65
|
+
if (!payload) return null;
|
|
66
|
+
for (const name of ["license_expires_at", "subscription_ends_at", "subscriptionEndsAt", "sub_exp", "current_period_end"]) {
|
|
67
|
+
const raw = payload[name];
|
|
68
|
+
if (typeof raw === "string" && raw.trim()) return raw;
|
|
69
|
+
if (typeof raw === "number" && Number.isFinite(raw)) return new Date(raw * 1e3).toISOString();
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
58
73
|
function limitsClaim(payload) {
|
|
59
74
|
const claim = payload?.limits;
|
|
60
75
|
if (!claim || typeof claim !== "object") return null;
|
|
@@ -247,7 +262,12 @@ async function verifyLicenseJwt(token) {
|
|
|
247
262
|
valid: true,
|
|
248
263
|
plan,
|
|
249
264
|
email,
|
|
250
|
-
|
|
265
|
+
// Bug f855bcbe: `exp` is this TOKEN's lifetime, not the customer's
|
|
266
|
+
// subscription. Only a claim that actually means "the subscription ends
|
|
267
|
+
// then" may fill `expiresAt`; the token's own TTL is reported as what it
|
|
268
|
+
// is, and nothing renders it as an expiry date.
|
|
269
|
+
expiresAt: subscriptionEndClaim(payload),
|
|
270
|
+
proofExpiresAt: payload.exp ? new Date(payload.exp * 1e3).toISOString() : null,
|
|
251
271
|
...limits
|
|
252
272
|
};
|
|
253
273
|
} catch {
|
|
@@ -262,6 +282,7 @@ async function getCachedLicense(expectedKey) {
|
|
|
262
282
|
const raw = JSON.parse(readFileSync(CACHE_PATH, "utf8"));
|
|
263
283
|
if (!raw.token || typeof raw.token !== "string") return null;
|
|
264
284
|
if (!cacheVouchesForKey(raw, expectedKey)) return null;
|
|
285
|
+
if (!withinOfflineTrustWindow(readTokenClaims(raw.token), MAX_OFFLINE_TRUST_DAYS)) return null;
|
|
265
286
|
return await verifyLicenseJwt(raw.token);
|
|
266
287
|
} catch {
|
|
267
288
|
return null;
|
|
@@ -269,15 +290,14 @@ async function getCachedLicense(expectedKey) {
|
|
|
269
290
|
}
|
|
270
291
|
async function getGraceVerifiedLicense(graceDays = 7, expectedKey) {
|
|
271
292
|
try {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
if (!rawCache || !cacheVouchesForKey(rawCache, expectedKey)) return null;
|
|
275
|
-
}
|
|
293
|
+
const rawCache = readCacheFile();
|
|
294
|
+
if (!rawCache || !cacheVouchesForKey(rawCache, expectedKey)) return null;
|
|
276
295
|
const token = readCachedLicenseToken();
|
|
277
296
|
if (!token) return null;
|
|
278
297
|
const payloadB64 = token.split(".")[1];
|
|
279
298
|
if (!payloadB64) return null;
|
|
280
299
|
const payload = JSON.parse(Buffer.from(payloadB64, "base64url").toString());
|
|
300
|
+
if (!withinOfflineTrustWindow(payload, graceDays)) return null;
|
|
281
301
|
const expMs = (payload.exp ?? 0) * 1e3;
|
|
282
302
|
if (Date.now() >= expMs + graceDays * 24 * 60 * 60 * 1e3) return null;
|
|
283
303
|
let verified = null;
|
|
@@ -305,13 +325,23 @@ async function getGraceVerifiedLicense(graceDays = 7, expectedKey) {
|
|
|
305
325
|
valid: true,
|
|
306
326
|
plan,
|
|
307
327
|
email: verified.sub ?? "",
|
|
308
|
-
expiresAt:
|
|
328
|
+
expiresAt: subscriptionEndClaim(verified),
|
|
329
|
+
proofExpiresAt: verified.exp ? new Date(verified.exp * 1e3).toISOString() : null,
|
|
309
330
|
...limits
|
|
310
331
|
};
|
|
311
332
|
} catch {
|
|
312
333
|
return null;
|
|
313
334
|
}
|
|
314
335
|
}
|
|
336
|
+
function readTokenClaims(token) {
|
|
337
|
+
try {
|
|
338
|
+
const payloadB64 = token.split(".")[1];
|
|
339
|
+
if (!payloadB64) return void 0;
|
|
340
|
+
return JSON.parse(Buffer.from(payloadB64, "base64url").toString());
|
|
341
|
+
} catch {
|
|
342
|
+
return void 0;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
315
345
|
function readCacheFile() {
|
|
316
346
|
try {
|
|
317
347
|
if (!existsSync(CACHE_PATH)) return null;
|
|
@@ -336,9 +366,23 @@ function licenseKeyFingerprint(apiKey) {
|
|
|
336
366
|
return createHash("sha256").update(apiKey.trim(), "utf8").digest("hex");
|
|
337
367
|
}
|
|
338
368
|
function cacheVouchesForKey(raw, expectedKey) {
|
|
339
|
-
|
|
369
|
+
const bound = expectedKey ?? licenseKeyOnDisk();
|
|
340
370
|
if (typeof raw.keyFp !== "string" || !raw.keyFp) return true;
|
|
341
|
-
|
|
371
|
+
if (!bound) return false;
|
|
372
|
+
return raw.keyFp === licenseKeyFingerprint(bound);
|
|
373
|
+
}
|
|
374
|
+
function licenseKeyOnDisk() {
|
|
375
|
+
const key = loadLicense();
|
|
376
|
+
if (key) return key;
|
|
377
|
+
try {
|
|
378
|
+
const configPath = path.join(EXE_AI_DIR, "config.json");
|
|
379
|
+
if (!existsSync(configPath)) return null;
|
|
380
|
+
const raw = JSON.parse(readFileSync(configPath, "utf8"));
|
|
381
|
+
const mirrored = raw.cloud?.apiKey;
|
|
382
|
+
return mirrored && mirrored.trim() ? mirrored.trim() : null;
|
|
383
|
+
} catch {
|
|
384
|
+
return null;
|
|
385
|
+
}
|
|
342
386
|
}
|
|
343
387
|
function cacheResponse(token, apiKey) {
|
|
344
388
|
try {
|
|
@@ -844,7 +888,7 @@ function isFeatureAllowed(license, feature) {
|
|
|
844
888
|
case "wiki":
|
|
845
889
|
return license.plan !== "free";
|
|
846
890
|
case "unlimited_employees":
|
|
847
|
-
return license.
|
|
891
|
+
return license.employeeLimit === -1;
|
|
848
892
|
}
|
|
849
893
|
}
|
|
850
894
|
function mirrorLicenseKey(apiKey) {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
derivePartnerSealIdentity
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BI6SK67J.js";
|
|
4
4
|
import {
|
|
5
5
|
pinMismatchReason,
|
|
6
6
|
pinnedOrgKeyEpochs,
|
|
7
7
|
readOrgKeyPin
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-F4C3X66B.js";
|
|
9
9
|
import {
|
|
10
10
|
derivePartnerSignIdentity,
|
|
11
11
|
displayFingerprint,
|
|
12
12
|
signKeyFingerprint
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-342X5YQB.js";
|
|
14
14
|
import {
|
|
15
15
|
orgMembershipPresent,
|
|
16
16
|
readActiveOrgMemberships
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XMQE5IBD.js";
|
|
18
18
|
import {
|
|
19
19
|
isValidX25519Recipient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NQG5CD3V.js";
|
|
21
21
|
|
|
22
22
|
// src/lib/org-partner-config.ts
|
|
23
23
|
function pickString(rec, ...keys) {
|