@askexenow/exe-os 0.9.384 → 0.9.389
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/compose/.env.askexe-control-plane.example +6 -0
- package/deploy/compose/.env.customer.example +1 -1
- package/deploy/compose/.env.example +1 -1
- package/deploy/compose/docker-compose.yml +16 -0
- package/deploy/compose/generate-env.ts +1 -1
- package/deploy/compose/sso-edge/sso-redirect.conf +18 -3
- package/deploy/stack-manifests/v0.9.json +1160 -1
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-F5V4E4UL.js → active-agent-RZ24KSJN.js} +8 -6
- package/dist/{active-agent-YTBB4ZQM.js → active-agent-YWSWPIEA.js} +8 -6
- package/dist/{agent-defs-generator-7TFISIJQ.js → agent-defs-generator-GY3UBREJ.js} +8 -6
- package/dist/{agent-heartbeat-CQPGJIFF.js → agent-heartbeat-GUVUUQVM.js} +1 -1
- package/dist/{agent-loop-EZ7LDAGD.js → agent-loop-HPNCH3HK.js} +1 -1
- package/dist/{agentic-ontology-XVTUVV7W.js → agentic-ontology-RHYNXEKE.js} +1 -1
- package/dist/{artifact-backup-TF6YWQT2.js → artifact-backup-HGUFSIJH.js} +19 -6
- package/dist/{backfill-metadata-J6MXIDCW.js → backfill-metadata-XLFASEOD.js} +11 -9
- package/dist/{backup-verify-6DVBQMDP.js → backup-verify-TUQEICWA.js} +1 -1
- package/dist/{behavior-injection-XDA7ZCYN.js → behavior-injection-GXO7ERGN.js} +14 -12
- package/dist/{behavior-promotion-4VLQ7LXK.js → behavior-promotion-V63WIZ4N.js} +13 -11
- package/dist/{behaviors-SCCZP7RZ.js → behaviors-RMLDPLOF.js} +18 -11
- package/dist/bin/agentic-ontology-backfill.js +12 -10
- package/dist/bin/agentic-reflection-backfill.js +13 -11
- package/dist/bin/agentic-semantic-label.js +12 -10
- package/dist/bin/backfill-conversations.js +11 -9
- package/dist/bin/backfill-responses.js +11 -9
- package/dist/bin/backfill-vectors.js +13 -11
- package/dist/bin/bulk-sync-postgres.js +20 -18
- package/dist/bin/cc-doctor.js +15 -13
- package/dist/bin/cleanup-stale-review-tasks.js +44 -32
- package/dist/bin/cli.js +109 -30
- package/dist/bin/customer-readiness.js +55 -25
- package/dist/bin/deferred-daemon-restart.js +111 -108
- package/dist/bin/exe-actions.js +7 -1
- package/dist/bin/exe-agent-config.js +8 -6
- package/dist/bin/exe-agent.js +18 -16
- package/dist/bin/exe-assign.js +13 -11
- package/dist/bin/exe-boot.js +49 -47
- package/dist/bin/exe-call.js +9 -7
- package/dist/bin/exe-cicd.js +19 -8
- package/dist/bin/exe-cloud.js +59 -25
- package/dist/bin/exe-config-dump.js +8 -6
- package/dist/bin/exe-dispatch.js +23 -21
- package/dist/bin/exe-doctor.js +11 -8
- package/dist/bin/exe-export-behaviors.js +16 -14
- package/dist/bin/exe-forget.js +14 -12
- package/dist/bin/exe-gateway.js +12 -10
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +15 -13
- package/dist/bin/exe-heartbeat.js +28 -26
- package/dist/bin/exe-kill.js +28 -26
- package/dist/bin/exe-launch-agent.js +35 -33
- package/dist/bin/exe-mcp.js +9 -7
- package/dist/bin/exe-memory-reads.js +11 -9
- package/dist/bin/exe-new-employee.js +13 -11
- package/dist/bin/exe-os-mcp-proxy.js +9 -7
- package/dist/bin/exe-pending-messages.js +23 -21
- package/dist/bin/exe-pending-notifications.js +22 -20
- package/dist/bin/exe-pending-reviews.js +23 -21
- package/dist/bin/exe-preflight.js +1 -1
- package/dist/bin/exe-rename.js +9 -7
- package/dist/bin/exe-review.js +59 -55
- package/dist/bin/exe-search-quality.js +16 -3
- package/dist/bin/exe-search.js +13 -11
- package/dist/bin/exe-session-cleanup.js +29 -27
- package/dist/bin/exe-settings.js +22 -20
- package/dist/bin/exe-start-codex.js +23 -21
- package/dist/bin/exe-start-opencode.js +21 -19
- package/dist/bin/exe-status.js +24 -22
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +8 -6
- package/dist/bin/exe-verify-running-images.js +644 -17
- package/dist/bin/git-sweep.js +24 -22
- package/dist/bin/graph-backfill.js +12 -10
- package/dist/bin/graph-export.js +12 -10
- package/dist/bin/hooks-cli.js +4 -4
- package/dist/bin/import-history.js +16 -14
- package/dist/bin/install.js +113 -110
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +8 -6
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-build-guard.js +55 -16
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/prune-orphan-chunks.js +154 -28
- package/dist/bin/reconcile-backlog.js +5 -3
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +11 -9
- package/dist/bin/scan-tasks.js +23 -21
- package/dist/bin/setup.js +3 -3
- package/dist/bin/shard-migrate.js +12 -10
- package/dist/bin/stack-update.js +622 -43
- package/dist/bin/verify-stack.js +2 -2
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-Q7LGQ3AO.js → boot-generation-VCQXVYGT.js} +7 -5
- package/dist/{boot-review-sections-G5774FR5.js → boot-review-sections-3QO6Q7MP.js} +21 -19
- package/dist/{branch-hygiene-44WLSOZR.js → branch-hygiene-DDXXI6ZA.js} +59 -21
- package/dist/bug-landed-reconciler-TQVNOUCU.js +353 -0
- package/dist/build-manifest.json +1269 -1194
- package/dist/{capability-cards-I3RHCF4F.js → capability-cards-XPDLT6LU.js} +6 -4
- package/dist/{capacity-monitor-7I7GDONU.js → capacity-monitor-N3AW242L.js} +23 -21
- package/dist/{catchup-brief-3T5PARIR.js → catchup-brief-3PKX7FUP.js} +29 -27
- package/dist/{chunk-C5ISP5FO.js → chunk-2BKJAOO4.js} +11 -1
- package/dist/{chunk-JJTPPAZY.js → chunk-2CUQHG6H.js} +1609 -1356
- package/dist/{chunk-HU3VD4MQ.js → chunk-2Q2GGYBX.js} +1 -1
- package/dist/{chunk-CHIUS5QB.js → chunk-36LMIOVU.js} +9 -9
- package/dist/{chunk-46VSBDUW.js → chunk-3DCBDG4T.js} +2 -2
- package/dist/{chunk-W3KPQE7H.js → chunk-3GL3E4TD.js} +3 -3
- package/dist/{chunk-GL47M7NY.js → chunk-3UD3OF3X.js} +202 -117
- package/dist/{chunk-WNBZJSQT.js → chunk-3VW5ZP2F.js} +1 -1
- package/dist/{chunk-JDDM6C57.js → chunk-3X74IQBU.js} +1 -1
- package/dist/{chunk-NVFNADTX.js → chunk-3ZL4MDQ6.js} +18 -4
- package/dist/{chunk-R5E7WNAC.js → chunk-4ESNDGMB.js} +3 -3
- package/dist/{chunk-CYCIX7AW.js → chunk-4FLLIQRQ.js} +2 -2
- package/dist/{chunk-3RGTLZNO.js → chunk-4GAKF7KR.js} +99 -74
- package/dist/{chunk-RVO5O5SR.js → chunk-4S3A52AV.js} +38 -10
- package/dist/{chunk-7J2ZQ4XN.js → chunk-4VQ3QR6B.js} +29 -28
- package/dist/{chunk-MROSARM5.js → chunk-5BJBTFFQ.js} +7 -1
- package/dist/chunk-5LQZABW5.js +6 -0
- package/dist/chunk-5ONMHTNI.js +236 -0
- package/dist/{chunk-APL7HUE3.js → chunk-5QQJUO3F.js} +200 -31
- package/dist/{chunk-UOPCVFVR.js → chunk-5RK75SWH.js} +205 -278
- package/dist/{chunk-T5FEAQES.js → chunk-5TYJYGS5.js} +1 -1
- package/dist/{chunk-P3QQ52QK.js → chunk-5U6EOTZV.js} +3 -3
- package/dist/{chunk-ALRHGEAJ.js → chunk-637FL62O.js} +1 -1
- package/dist/{chunk-PUBA5B4M.js → chunk-6L4VIYLZ.js} +33 -19
- package/dist/{chunk-VF2KRROX.js → chunk-754P2UXM.js} +1 -1
- package/dist/{chunk-CM7N5MBY.js → chunk-7FZG7WP4.js} +5 -5
- package/dist/{chunk-NYLJQ2M2.js → chunk-7NEBFB3L.js} +4 -4
- package/dist/{chunk-E7C2WNR5.js → chunk-AEIOFFFX.js} +5 -5
- package/dist/{chunk-VOVFUKEB.js → chunk-AIB2EWO2.js} +5 -5
- package/dist/{chunk-EGOEB42T.js → chunk-AP2C4OGS.js} +3 -3
- package/dist/{chunk-MPZ2AVNS.js → chunk-ATNV3BVZ.js} +1 -1
- package/dist/{chunk-F4BBMIPG.js → chunk-B4XJQBQB.js} +2 -2
- package/dist/{chunk-BPVFZ6Q4.js → chunk-B5EGDNG6.js} +2 -2
- package/dist/{chunk-AGC2V7JS.js → chunk-B6CBN6EF.js} +1 -1
- package/dist/{chunk-KTKIFXIP.js → chunk-B7FDRN7G.js} +1 -1
- package/dist/{chunk-C5HUMAA7.js → chunk-B7WVYLAQ.js} +67 -15
- package/dist/chunk-BGVP5RMT.js +185 -0
- package/dist/{chunk-FVLNNNH6.js → chunk-BNI4LIU5.js} +35 -4
- package/dist/{chunk-P4XLIPB7.js → chunk-BU5JRLZT.js} +1 -1
- package/dist/{chunk-PHUHIVD5.js → chunk-C6U7XWOC.js} +34 -5
- package/dist/chunk-C7GHNJPW.js +8 -0
- package/dist/{chunk-4AR5XKCH.js → chunk-CL2MU3OX.js} +1 -1
- package/dist/{chunk-ZPP63JSQ.js → chunk-CL3AB7Z2.js} +1 -1
- package/dist/{chunk-FHIFTSPL.js → chunk-CP7XUSOF.js} +8 -3
- package/dist/{chunk-3OX34OC3.js → chunk-CUDNRHHT.js} +30 -10
- package/dist/chunk-CYUUNIEL.js +21 -0
- package/dist/{chunk-P2UY34XE.js → chunk-D4C57S2H.js} +5 -5
- package/dist/{chunk-XSUALA32.js → chunk-DDYFNBYV.js} +3 -3
- package/dist/{chunk-LSNBTGW4.js → chunk-DPYZW42H.js} +1 -1
- package/dist/{chunk-FMIYFHLE.js → chunk-E2PRXEZK.js} +9 -3
- package/dist/{chunk-L63V25HS.js → chunk-E54SPUYJ.js} +3 -3
- package/dist/{chunk-DMUOTCDN.js → chunk-E5CKRHIZ.js} +1 -1
- package/dist/{chunk-BV2IET6B.js → chunk-EVMOKRBC.js} +15 -2
- package/dist/{chunk-YLFCH3VA.js → chunk-FDWI3T6I.js} +133 -31
- package/dist/{chunk-PWC3C5ME.js → chunk-FNJTCJGY.js} +4 -4
- package/dist/{chunk-TNS63ATU.js → chunk-FWRPDSO3.js} +350 -50
- package/dist/{chunk-JA3Y5TV6.js → chunk-GDLB6BPM.js} +141 -74
- package/dist/{chunk-IGJMS7C5.js → chunk-GOVGG7HU.js} +2 -2
- package/dist/{chunk-MB47DRF5.js → chunk-GP7CTIUK.js} +2 -2
- package/dist/{chunk-L5EPGGDP.js → chunk-GWAN2BDB.js} +4 -4
- package/dist/{chunk-YRQ26MNP.js → chunk-H3YF7X4J.js} +12 -5
- package/dist/{chunk-VLBHZ6TF.js → chunk-H6PLIFUE.js} +2 -2
- package/dist/{chunk-GSLFH4AI.js → chunk-HRNM3N4Y.js} +6 -15
- package/dist/chunk-IG2ISRTF.js +48 -0
- package/dist/{chunk-MWEIBVBS.js → chunk-IJCWBYA5.js} +14 -1
- package/dist/{chunk-NKEFYE4R.js → chunk-IPTUKX3N.js} +1 -1
- package/dist/{chunk-RB3J2WYQ.js → chunk-IVE7H6KA.js} +1 -1
- package/dist/{chunk-HA63SH5W.js → chunk-IWY2OGQG.js} +1 -1
- package/dist/{chunk-BQEZPRUC.js → chunk-IZWMWJZT.js} +64 -46
- package/dist/{chunk-AHESD3KW.js → chunk-J4UVI652.js} +1 -1
- package/dist/{chunk-PLII76NJ.js → chunk-JBUCA4OX.js} +33 -6
- package/dist/{chunk-2PZTMSMG.js → chunk-JOF4HQDF.js} +5 -5
- package/dist/{chunk-OBBO6EJR.js → chunk-JQN3QGSF.js} +1 -1
- package/dist/{chunk-P4PIZOL2.js → chunk-JWYIH5DR.js} +3 -3
- package/dist/{chunk-3XY57PKT.js → chunk-KZLKE7I3.js} +210 -48
- package/dist/{chunk-DYVLEMKS.js → chunk-L3GXMYBK.js} +1 -1
- package/dist/{chunk-72V3S44T.js → chunk-LUA4SLJY.js} +46 -19
- package/dist/{chunk-ZT4LFTUJ.js → chunk-LW3JCBXP.js} +20 -3
- package/dist/{chunk-YLB365YX.js → chunk-M5XHN4OM.js} +3 -3
- package/dist/{chunk-VHHX4UCP.js → chunk-MDTWARSF.js} +22 -93
- package/dist/{chunk-JFJP6ATJ.js → chunk-MWKXQSF6.js} +3 -2
- package/dist/{chunk-VJEJ7JNB.js → chunk-N32DVIKY.js} +1 -1
- package/dist/{chunk-MUCNYSJP.js → chunk-NRLJOV7M.js} +32 -4
- package/dist/{chunk-PL4CFSQ7.js → chunk-NSXJOSH7.js} +1 -1
- package/dist/{chunk-NF5FOSLD.js → chunk-NVTG66CK.js} +1 -1
- package/dist/chunk-O45GBJEH.js +1500 -0
- package/dist/{chunk-4AAMFWJT.js → chunk-OHZSTZXN.js} +4 -2
- package/dist/chunk-OSIS7ZQW.js +344 -0
- package/dist/{chunk-E3ZM32LF.js → chunk-P22VFGFK.js} +14 -5
- package/dist/{chunk-KILR4FBR.js → chunk-PAFLR7WD.js} +3 -3
- package/dist/{chunk-R3CZWFFC.js → chunk-PEYQ6MWO.js} +15 -3
- package/dist/{chunk-RDWIKDMY.js → chunk-PZR54BEI.js} +8 -20
- package/dist/{chunk-2FKU4ZEO.js → chunk-QDBKMEYY.js} +9 -9
- package/dist/{chunk-7UHZBVP3.js → chunk-QDVLVLXP.js} +97 -31
- package/dist/{chunk-PRDDPQLC.js → chunk-QLXEQRHD.js} +5 -5
- package/dist/{chunk-MUAWCFW6.js → chunk-QNPDXV5V.js} +5 -2
- package/dist/{chunk-LR5O2XWZ.js → chunk-QUZYLDNJ.js} +5 -5
- package/dist/chunk-RBQUXHYK.js +48 -0
- package/dist/{chunk-3SUPEE6H.js → chunk-RDMBSHGG.js} +3 -3
- package/dist/{chunk-I5XIW2BP.js → chunk-RGUM474V.js} +7 -7
- package/dist/{chunk-OAFENIHN.js → chunk-RJ67XAJU.js} +76 -28
- package/dist/{chunk-LFUBEHFW.js → chunk-RT57D7C4.js} +39 -1
- package/dist/{chunk-MKM6D7JM.js → chunk-RWG7DLOG.js} +42 -5
- package/dist/{chunk-P3UX5EH4.js → chunk-RWKAHHIX.js} +3 -3
- package/dist/{chunk-XEBKIWI7.js → chunk-RYNT3HB7.js} +12 -12
- package/dist/{chunk-EUGEFBGV.js → chunk-S2V272KJ.js} +3 -3
- package/dist/{chunk-W6BZ4UGA.js → chunk-SGYEM2PD.js} +1 -1
- package/dist/{chunk-VROK4X2L.js → chunk-SJP57MQM.js} +1 -1
- package/dist/{chunk-5MVKTNZP.js → chunk-SL4JWAMQ.js} +54 -4
- package/dist/{chunk-MOANZQXF.js → chunk-SLMKLEU6.js} +1 -1
- package/dist/{chunk-RZN2LEAK.js → chunk-SQA7XCYI.js} +3 -3
- package/dist/{chunk-4YNA3CM6.js → chunk-SSFS4NCH.js} +262 -56
- package/dist/{chunk-6FIC57PH.js → chunk-T4P2G3PO.js} +1 -1
- package/dist/{chunk-5U2IJBFV.js → chunk-TA3B4N24.js} +1 -1
- package/dist/{chunk-ZOTTYCP5.js → chunk-TEWWBVQP.js} +40 -4
- package/dist/{chunk-SDYWZRPN.js → chunk-TLSFGXXE.js} +1 -1
- package/dist/{chunk-L3VUW5M4.js → chunk-TQS2YHLB.js} +1 -1
- package/dist/{chunk-KXYKSLW4.js → chunk-TU4M757W.js} +399 -116
- package/dist/{chunk-MC4IM2CC.js → chunk-TYD4F4XU.js} +6 -6
- package/dist/{chunk-TKS5GMYA.js → chunk-U44Y7RC7.js} +2 -0
- package/dist/{chunk-B7AMNZTC.js → chunk-UKBPEEEQ.js} +2 -2
- package/dist/{chunk-ZBPZDADW.js → chunk-UWVXQEQQ.js} +467 -78
- package/dist/{chunk-P2VVMGMI.js → chunk-V4WH3FV7.js} +35 -16
- package/dist/{worktree-ownership-guard-O6JQF2CL.js → chunk-V6F4I2XY.js} +13 -14
- package/dist/{chunk-JFTUAV4J.js → chunk-VBKUESIW.js} +1 -1
- package/dist/{chunk-AZSTIAVL.js → chunk-VBPYYJPC.js} +1 -1
- package/dist/{chunk-LKTN22L6.js → chunk-VIP4LKLO.js} +57 -24
- package/dist/{chunk-L5CGXEZC.js → chunk-WAAGVFFN.js} +63 -71
- package/dist/{chunk-D3LXVAIQ.js → chunk-WC7AE3PT.js} +244 -103
- package/dist/{chunk-EOTZSAQL.js → chunk-WUCUDHKR.js} +1 -1
- package/dist/{chunk-VF3BZOZK.js → chunk-X7HZHKY4.js} +50 -3
- package/dist/{chunk-LFBLQE2P.js → chunk-XCAKYVKI.js} +1 -1
- package/dist/{chunk-UXN4BICC.js → chunk-XMX5J52Z.js} +1 -1
- package/dist/{chunk-6YDY6ZTD.js → chunk-XTCXGWTV.js} +9 -4
- package/dist/{chunk-XUZK23V7.js → chunk-XW2FW6LS.js} +2 -2
- package/dist/{chunk-CH7BUBP3.js → chunk-XWVHUDEK.js} +5 -4
- package/dist/{chunk-S26CV7BE.js → chunk-YA5LK6KB.js} +45 -8
- package/dist/{chunk-ELCRJGCH.js → chunk-YMRQIENV.js} +2 -2
- package/dist/{chunk-QNZ4562V.js → chunk-Z3LXWCB7.js} +1 -1
- package/dist/{chunk-EYMFVITZ.js → chunk-Z7I6NQMA.js} +2 -2
- package/dist/{chunk-6BJCDWSM.js → chunk-ZB4FS2EG.js} +1 -1
- package/dist/{chunk-ZAEUEDTN.js → chunk-ZD6FZ3WL.js} +1 -1
- package/dist/{chunk-FEU6QEEL.js → chunk-ZM6EZAVY.js} +1 -0
- package/dist/{chunk-2KY7WZZF.js → chunk-ZPA4R2UI.js} +1 -1
- package/dist/chunk-ZPPPHVSU.js +285 -0
- package/dist/{chunk-ELEGH4DX.js → chunk-ZUGQPYUY.js} +51 -4
- package/dist/{chunk-UX2EO653.js → chunk-ZZWFZ46U.js} +66 -8
- package/dist/{cleanup-graph-garbage-VQAJ2RBT.js → cleanup-graph-garbage-HFUD5ZQT.js} +12 -10
- package/dist/{cloud-sync-command-J7NEFUY7.js → cloud-sync-command-3JHJJKPN.js} +25 -3
- package/dist/{cloud-sync-db-init-KWEMNMGA.js → cloud-sync-db-init-2LHIQOSF.js} +1 -1
- package/dist/{cloud-sync-shutdown-P63AUTUI.js → cloud-sync-shutdown-ZXAXA3Z7.js} +6 -4
- package/dist/{cloud-sync-state-QF3TMMJ4.js → cloud-sync-state-VSQFGPP6.js} +1 -1
- package/dist/{co-activation-7IHRPBZN.js → co-activation-NX4EH4AP.js} +6 -4
- package/dist/{co-occurrence-R5AG4OAU.js → co-occurrence-5LBYCW3U.js} +10 -8
- package/dist/{consent-passphrase-5ZBDJ5G7.js → consent-passphrase-65W3DJIJ.js} +2 -2
- package/dist/{content-extractor-ZLXC6GNR.js → content-extractor-OGXETBOX.js} +2 -2
- package/dist/{conversation-entity-extractor-7FRKLLBD.js → conversation-entity-extractor-FQCOAH4F.js} +5 -4
- package/dist/conversations-retention-XTBFJBUM.js +166 -0
- package/dist/{crdt-sync-IFRZOEIS.js → crdt-sync-7TDUBTLH.js} +4 -4
- package/dist/{crm-webhook-L2S63ASV.js → crm-webhook-776JTY55.js} +2 -2
- package/dist/{cto-delegation-gate-3WU7OHX7.js → cto-delegation-gate-ZNUWVYCN.js} +25 -23
- package/dist/{daemon-orchestration-3VQYKLOR.js → daemon-orchestration-76BOFDEP.js} +30 -24
- package/dist/{doc-graph-extractor-YIR5E7OF.js → doc-graph-extractor-F724KZJX.js} +10 -8
- package/dist/{documents-QEHPTYIY.js → documents-Q24V4GRD.js} +13 -11
- package/dist/{dreaming-LNFE7DTN.js → dreaming-IY6NQTSP.js} +27 -25
- package/dist/{employee-boot-brief-ZTXDYNWM.js → employee-boot-brief-CCTXO5DQ.js} +35 -29
- package/dist/{entity-boost-R5N6JWXD.js → entity-boost-XGOB7HDM.js} +1 -1
- package/dist/{exe-drift-WYSJVZFO.js → exe-drift-NEPXLNGP.js} +7 -5
- package/dist/{exe-export-GOLNAEAV.js → exe-export-ZHJQFKR2.js} +14 -12
- package/dist/{exe-import-U4BSI6OH.js → exe-import-7SVNI4FW.js} +14 -12
- package/dist/{exe-key-V42G3NGO.js → exe-key-QJKU56WZ.js} +119 -108
- package/dist/{exe-org-U4GLQ6OP.js → exe-org-SJXHLV6K.js} +76 -51
- package/dist/{exe-snapshot-U7ONBYNY.js → exe-snapshot-EFWPXTXE.js} +45 -36
- package/dist/{fast-db-init-W3NGKAEU.js → fast-db-init-BQZOQNT3.js} +1 -1
- package/dist/{founder-context-ZSIBRVDM.js → founder-context-KG2ZAOXY.js} +2 -2
- package/dist/{founder-monitor-envelope-L3IWZLFY.js → founder-monitor-envelope-NYB5LLU4.js} +4 -4
- package/dist/gateway/index.js +20 -18
- package/dist/{gateway-client-DJFCVIPT.js → gateway-client-ODMUXUL3.js} +1 -1
- package/dist/{git-staleness-OF24QXFZ.js → git-staleness-OPGEAJA7.js} +6 -4
- package/dist/{global-procedures-WSIOWO43.js → global-procedures-3KXY4LL6.js} +8 -6
- package/dist/{graph-auto-extract-IEVVN3L3.js → graph-auto-extract-I7H2F5NJ.js} +10 -8
- package/dist/{graph-query-JDZWAVCU.js → graph-query-E7JBSNY5.js} +1 -1
- package/dist/{graph-rag-BKAD2XQA.js → graph-rag-H24CMFP2.js} +5 -4
- package/dist/{hook-integrity-TPWDGX2M.js → hook-integrity-PGQ3OX4S.js} +1 -1
- package/dist/{hook-prefetch-FD6VGJJA.js → hook-prefetch-7AZJER6Z.js} +23 -21
- package/dist/hook-registration-liveness-NGQRFKAA.js +11 -0
- package/dist/hooks/bug-report-worker.js +26 -24
- package/dist/hooks/codex-stop-task-finalizer.js +28 -26
- package/dist/hooks/commit-complete.js +26 -24
- package/dist/hooks/error-recall.js +16 -14
- package/dist/hooks/exe-heartbeat-hook.js +9 -7
- package/dist/hooks/ingest-worker.js +12 -10
- package/dist/hooks/ingest.js +22 -17
- package/dist/hooks/instructions-loaded.js +11 -9
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +10 -8
- package/dist/hooks/post-compact.js +9 -7
- package/dist/hooks/post-tool-combined.js +14 -14
- package/dist/hooks/pre-compact.js +26 -24
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +47 -41
- package/dist/hooks/session-end.js +38 -42
- package/dist/hooks/session-start.js +26 -18
- package/dist/hooks/stop.js +29 -27
- package/dist/hooks/subagent-stop.js +29 -27
- package/dist/hooks/summary-worker.js +32 -30
- package/dist/index.js +37 -35
- package/dist/{installer-OTI5SA43.js → installer-2ZS3LHCU.js} +12 -9
- package/dist/{installer-NMOBSEZ2.js → installer-NH3A3HWC.js} +14 -9
- package/dist/{installer-SRJGE4GU.js → installer-UJ73PGRD.js} +21 -9
- package/dist/{intercom-queue-4FFXCBHO.js → intercom-queue-OE25GJF2.js} +21 -19
- package/dist/lib/agent-config.js +2 -2
- package/dist/lib/cloud-sync.js +24 -18
- package/dist/lib/consolidation.js +13 -11
- package/dist/lib/crypto.js +3 -3
- package/dist/lib/database.js +6 -4
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-write-worker-client.js +3 -1
- package/dist/lib/db-write-worker.js +65 -89
- package/dist/lib/db.js +6 -4
- package/dist/lib/delivery-truth.js +5 -1
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/embedder.js +2 -2
- package/dist/lib/employee-templates.js +9 -7
- package/dist/lib/employees.js +6 -4
- package/dist/lib/exe-daemon.js +425 -314
- package/dist/lib/file-grep.js +15 -21
- package/dist/lib/hybrid-search.js +19 -13
- package/dist/lib/identity-templates.js +1 -1
- package/dist/lib/identity.js +6 -4
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +22 -6
- package/dist/lib/messaging.js +22 -20
- package/dist/lib/post-tool-memory.js +10 -8
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +7 -5
- package/dist/lib/runtime-table.js +1 -1
- package/dist/lib/schedules.js +12 -10
- package/dist/lib/session-registry.js +8 -6
- package/dist/lib/skill-learning.js +13 -11
- package/dist/lib/status-brief.js +2 -2
- package/dist/lib/store.js +17 -9
- package/dist/lib/task-router.js +7 -5
- package/dist/lib/tasks.js +23 -21
- package/dist/lib/tmux-routing.js +21 -19
- package/dist/lib/tmux-status.js +4 -1
- package/dist/lib/token-spend.js +7 -5
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-R4JWTWM4.js → license-gate-XQ2KN5I5.js} +3 -3
- package/dist/{license-recheck-3MBJ4IJX.js → license-recheck-IIBKR2V5.js} +1 -1
- package/dist/{license-sync-BVSG3WMW.js → license-sync-76JVI2M5.js} +151 -8
- package/dist/{local-secret-inventory-JWNBHZZ4.js → local-secret-inventory-MJT7NJLY.js} +2 -2
- package/dist/{mailbox-inbox-MTAT4MXX.js → mailbox-inbox-BPZP4GIZ.js} +1 -1
- package/dist/maintenance-worker-54VZTFIK.js +371 -0
- package/dist/mcp/register-tools.js +110 -107
- package/dist/mcp/server.js +113 -110
- package/dist/mcp/tools/complete-reminder.js +8 -6
- package/dist/mcp/tools/create-reminder.js +8 -6
- package/dist/mcp/tools/create-task.js +26 -24
- package/dist/mcp/tools/deactivate-behavior.js +15 -13
- package/dist/mcp/tools/list-reminders.js +8 -6
- package/dist/mcp/tools/list-tasks.js +26 -24
- package/dist/mcp/tools/send-message.js +25 -23
- package/dist/mcp/tools/update-task.js +24 -22
- package/dist/{mcp-child-registry-TIZERM7O.js → mcp-child-registry-5VUG5ATZ.js} +1 -1
- package/dist/{mcp-http-config-VUMSFWFH.js → mcp-http-config-SKXESWHA.js} +9 -7
- package/dist/{mcp-session-identity-DZHWEJRV.js → mcp-session-identity-HYMLJXXA.js} +21 -19
- package/dist/{memory-cards-JVXTMSAT.js → memory-cards-PAZDUQ3B.js} +16 -32
- package/dist/{memory-graph-extractor-PPBJMYFJ.js → memory-graph-extractor-BC6QKBY6.js} +11 -9
- package/dist/{memory-poisoning-defense-K5Q74XQ4.js → memory-poisoning-defense-BRGIHF6J.js} +9 -7
- package/dist/{memory-pressure-watchdog-YMJH5CSA.js → memory-pressure-watchdog-HR6TPOMT.js} +22 -20
- package/dist/{memory-reflection-7BZWIHRE.js → memory-reflection-LO7VFBL3.js} +38 -59
- package/dist/memory-write-repository-J25USX63.js +16 -0
- package/dist/{monitor-grants-Q7X3MYQP.js → monitor-grants-YQTO6NWR.js} +3 -3
- package/dist/{monitor-identity-ZQB4IXEE.js → monitor-identity-POVTG76Y.js} +2 -2
- package/dist/{notification-ledger-XRAXL5OI.js → notification-ledger-KLD6GZTG.js} +22 -20
- package/dist/{notifications-JE3PX55X.js → notifications-3R6HNHDR.js} +21 -19
- package/dist/{orchestration-events-JCQ5F5IJ.js → orchestration-events-CHY3GOJD.js} +7 -5
- package/dist/{orchestrator-X65INDTR.js → orchestrator-GAL3HOAD.js} +23 -21
- package/dist/{org-brief-session-3PQ22UIX.js → org-brief-session-LQ2DBYVF.js} +17 -15
- package/dist/{org-consent-policy-VGELJ7K7.js → org-consent-policy-KFUP7QPG.js} +5 -5
- package/dist/{org-join-6TO5ZYUZ.js → org-join-MXZCIQWX.js} +8 -8
- package/dist/{org-key-admin-XHYVRRAZ.js → org-key-admin-4UK6QUT7.js} +9 -9
- package/dist/{org-key-pin-TTTYGTQL.js → org-key-pin-ZOX4OM3O.js} +3 -3
- package/dist/{org-membership-Y7T2BS57.js → org-membership-D5TPN45F.js} +4 -4
- package/dist/{org-partner-config-OP4NEUNF.js → org-partner-config-3FXSYPQA.js} +7 -7
- package/dist/{org-partner-runtime-YNVUNT2R.js → org-partner-runtime-TH3LMPII.js} +20 -16
- package/dist/{org-row-visibility-JBBXNYXD.js → org-row-visibility-Y5R33C5U.js} +1 -1
- package/dist/{pipeline-router-EIBB7QNG.js → pipeline-router-E2JZLDK6.js} +7 -5
- package/dist/{plan-limits-MEWXYLEN.js → plan-limits-NYI6R4IK.js} +9 -7
- package/dist/{platform-procedures-Z7ZGBJWN.js → platform-procedures-RTD5E3BD.js} +5 -3
- package/dist/{pre-tool-use-impl-C6KJY22W.js → pre-tool-use-impl-LT4FRXBP.js} +127 -83
- package/dist/{project-boot-VEYFCCSL.js → project-boot-LIMXQKAF.js} +25 -17
- package/dist/{project-name-UYORSNGE.js → project-name-V62GWALX.js} +7 -5
- package/dist/{projection-worker-WYFDWS57.js → projection-worker-KLE3IZQ2.js} +5 -2
- package/dist/{prospective-memory-E6XBQFJA.js → prospective-memory-HRN7JFT2.js} +6 -4
- package/dist/{push-notifications-M7YU63FY.js → push-notifications-XC6EQEXF.js} +22 -20
- package/dist/{reproject-worktree-memories-B5XMGJSD.js → reproject-worktree-memories-4CAVZSFE.js} +21 -19
- package/dist/{reranker-SRA4BR7N.js → reranker-2RU6IIX2.js} +1 -1
- package/dist/{retrieval-health-P2JPZUPV.js → retrieval-health-4Q5TOV2S.js} +1 -1
- package/dist/{review-polling-KQPN7IQE.js → review-polling-WOWIMBCL.js} +22 -20
- package/dist/runtime/index.js +30 -28
- package/dist/{session-events-6LDDKKY3.js → session-events-OPMS2C5F.js} +22 -20
- package/dist/{session-kill-telemetry-5DSRGWCL.js → session-kill-telemetry-3GWATSIX.js} +22 -20
- package/dist/{session-scope-XG5R3P3D.js → session-scope-TIRGR4MH.js} +21 -19
- package/dist/{setup-wizard-7QFLZIKT.js → setup-wizard-B2JBVGNH.js} +3 -3
- package/dist/{shard-manager-HHHHV2KZ.js → shard-manager-C7LYX6E4.js} +5 -1
- package/dist/{skill-refinement-I5RMAHSC.js → skill-refinement-FWQFYNBI.js} +7 -5
- package/dist/skill-retrieval-PPLFC5RY.js +166 -0
- package/dist/skill-usage-NDB67PU2.js +25 -0
- package/dist/{stack-generate-manifest-AKMZ3AUX.js → stack-generate-manifest-AXI55MEQ.js} +6 -6
- package/dist/{stack-promote-34CE2HHF.js → stack-promote-6N23OGZY.js} +6 -6
- package/dist/stack-release-2CXFYVWM.js +2770 -0
- package/dist/{stack-update-ZQQ5YYPJ.js → stack-update-U53FBVCQ.js} +13 -5
- package/dist/{steward-gate-AQJ6KT2C.js → steward-gate-TUA3QCN7.js} +7 -5
- package/dist/{subagent-brief-injection-3GU7YAWY.js → subagent-brief-injection-N52RWYFZ.js} +34 -32
- package/dist/{subagent-spawn-ledger-52I66CLW.js → subagent-spawn-ledger-OI23OT4I.js} +1 -1
- package/dist/support-bug-actions-XWCJI6S5.js +30 -0
- package/dist/support-inbox-MMVTCXRX.js +77 -0
- package/dist/{support-outbox-KNI3FR3G.js → support-outbox-2TG2UV6J.js} +2 -2
- package/dist/{task-enforcement-CAA6D2MH.js → task-enforcement-JDMBAAOY.js} +22 -20
- package/dist/{task-request-inbox-QBZVU66E.js → task-request-inbox-PKJCYKJV.js} +9 -5
- package/dist/{task-scope-NHXB4ZRN.js → task-scope-32HQEV6W.js} +27 -19
- package/dist/{tasks-crud-JHSWL5NM.js → tasks-crud-CYKUKS3F.js} +21 -19
- package/dist/{tasks-notify-7PBE4U7T.js → tasks-notify-YND5MKWJ.js} +22 -20
- package/dist/{tasks-review-PPPVEE62.js → tasks-review-CG2A5GM3.js} +23 -19
- package/dist/{telemetry-upload-YU2VRNHX.js → telemetry-upload-WLUMEFAB.js} +11 -9
- package/dist/{token-budget-QCMWKG3K.js → token-budget-3YHAY5LL.js} +7 -5
- package/dist/{tool-capability-index-7AWQAJRP.js → tool-capability-index-2ADOWH43.js} +2 -2
- package/dist/{tool-gates-5Q3RSQEG.js → tool-gates-7ENOOYMR.js} +5 -3
- package/dist/{tool-gates-QD26D2NE.js → tool-gates-EKJTLVGN.js} +1 -1
- package/dist/{tool-telemetry-LTOIC64I.js → tool-telemetry-VUP7S6HC.js} +1 -1
- package/dist/tui/App.js +59 -35
- package/dist/{tui-data-NDBXD6U7.js → tui-data-BOQTOW2G.js} +25 -23
- package/dist/{update-support-BMJM4NG7.js → update-support-WT3S3AQ4.js} +21 -21
- package/dist/{whatsapp-QQLDAHUX.js → whatsapp-OZGIF2EM.js} +2 -2
- package/dist/{wiki-acl-W6WDCVCP.js → wiki-acl-LTEQJVDA.js} +1 -1
- package/dist/{work-claims-6DM32MGO.js → work-claims-CMV2GWIW.js} +8 -6
- package/dist/{work-state-heartbeat-HG7D4AWJ.js → work-state-heartbeat-S45TXK4M.js} +1 -1
- package/dist/{worker-gate-FTMW7GBB.js → worker-gate-7Z6NMM3G.js} +1 -1
- package/dist/{workflow-engine-ZWC6CCXE.js → workflow-engine-ZSQDXZQ7.js} +2 -2
- package/dist/{worktree-EMQCPGFE.js → worktree-NMWDVT6N.js} +8 -6
- package/dist/worktree-ownership-guard-ZVIWJAOP.js +35 -0
- package/dist/{worktree-sweep-XVUJZBXV.js → worktree-sweep-Q62ZIT3U.js} +9 -7
- package/package.json +14 -8
- package/release-notes.json +7 -41
- package/src/commands/exe/afk.md +6 -0
- package/src/commands/exe/call.md +6 -0
- package/src/commands/exe/employee-heartbeat.md +6 -0
- package/src/commands/exe/intercom.md +6 -0
- package/src/commands/exe/kill.md +6 -0
- package/src/commands/exe/launch.md +6 -0
- package/src/commands/exe/logs.md +1 -1
- package/src/commands/exe/sessions.md +6 -0
- package/src/commands/exe/setup.md +7 -3
- package/src/commands/exe/status.md +6 -0
- package/src/commands/exe-reference.md +25 -36
- package/src/commands/exe.md +19 -28
- package/stack.release.json +11 -11
- package/dist/chunk-3B6FLNLV.js +0 -30
- package/dist/chunk-FXU7JOXK.js +0 -6
- package/dist/chunk-QFAFKEB5.js +0 -820
- package/dist/conversations-retention-C4BLKFEL.js +0 -54
- package/dist/stack-release-5PGWV5D4.js +0 -1607
- package/dist/support-inbox-NY5TB3FN.js +0 -51
- /package/dist/{chunk-U2D6PJ5T.js → chunk-65G7ZTGE.js} +0 -0
- /package/dist/{chunk-DN3ZR3UE.js → chunk-CP7Z35MJ.js} +0 -0
- /package/dist/{chunk-XDVOGDBC.js → chunk-KBBWALJV.js} +0 -0
- /package/dist/{chunk-JRIH6I7D.js → chunk-LZXYPTY4.js} +0 -0
- /package/dist/{chunk-GIRD7O5X.js → chunk-MCWEW2SG.js} +0 -0
- /package/dist/{chunk-TKAU7IJ2.js → chunk-MQHUJLCA.js} +0 -0
- /package/dist/{chunk-M4XY4JRK.js → chunk-O53LTOXK.js} +0 -0
- /package/dist/{chunk-DZN7SDY2.js → chunk-OSVTH3SG.js} +0 -0
- /package/dist/{chunk-AJK2PVQW.js → chunk-QXXEXGX3.js} +0 -0
- /package/dist/{chunk-AWWDKF22.js → chunk-SFWNTO2F.js} +0 -0
- /package/dist/{chunk-2Q2CD6CD.js → chunk-WC5HF2FN.js} +0 -0
- /package/dist/{core-memory-O6D5UC3T.js → core-memory-MMMW3TF3.js} +0 -0
- /package/dist/{memory-isolation-EBFFC6HF.js → memory-isolation-67ACKQ2M.js} +0 -0
- /package/dist/{oauth-server-ZKBUHDFI.js → oauth-server-OILIKR7D.js} +0 -0
|
@@ -1,148 +1,149 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
computeMcpSurfaceHash
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WUCUDHKR.js";
|
|
5
5
|
import "./chunk-WCGNCH3Q.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-2CUQHG6H.js";
|
|
7
|
+
import "./chunk-DDYFNBYV.js";
|
|
8
|
+
import "./chunk-NSXJOSH7.js";
|
|
9
|
+
import "./chunk-OSIS7ZQW.js";
|
|
9
10
|
import "./chunk-557C2IGL.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-2KY7WZZF.js";
|
|
27
|
-
import "./chunk-5MVKTNZP.js";
|
|
11
|
+
import "./chunk-O45GBJEH.js";
|
|
12
|
+
import "./chunk-BNI4LIU5.js";
|
|
13
|
+
import "./chunk-X7HZHKY4.js";
|
|
14
|
+
import "./chunk-5U6EOTZV.js";
|
|
15
|
+
import "./chunk-LW3JCBXP.js";
|
|
16
|
+
import "./chunk-XW2FW6LS.js";
|
|
17
|
+
import "./chunk-RGUM474V.js";
|
|
18
|
+
import "./chunk-AEIOFFFX.js";
|
|
19
|
+
import "./chunk-CP7Z35MJ.js";
|
|
20
|
+
import "./chunk-GP7CTIUK.js";
|
|
21
|
+
import "./chunk-5QQJUO3F.js";
|
|
22
|
+
import "./chunk-RWG7DLOG.js";
|
|
23
|
+
import "./chunk-65G7ZTGE.js";
|
|
24
|
+
import "./chunk-ZPA4R2UI.js";
|
|
25
|
+
import "./chunk-SL4JWAMQ.js";
|
|
26
|
+
import "./chunk-C6U7XWOC.js";
|
|
28
27
|
import "./chunk-QPTSA4PP.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-5TYJYGS5.js";
|
|
29
|
+
import "./chunk-3ZL4MDQ6.js";
|
|
30
|
+
import "./chunk-EVMOKRBC.js";
|
|
31
|
+
import "./chunk-PAFLR7WD.js";
|
|
32
|
+
import "./chunk-GOVGG7HU.js";
|
|
33
|
+
import "./chunk-XWVHUDEK.js";
|
|
34
|
+
import "./chunk-P22VFGFK.js";
|
|
31
35
|
import "./chunk-X2X3IGZU.js";
|
|
32
36
|
import "./chunk-XHU3KOKJ.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-LR5O2XWZ.js";
|
|
41
|
-
import "./chunk-YLFCH3VA.js";
|
|
42
|
-
import "./chunk-DMUOTCDN.js";
|
|
43
|
-
import "./chunk-6FIC57PH.js";
|
|
37
|
+
import "./chunk-AIB2EWO2.js";
|
|
38
|
+
import "./chunk-ZD6FZ3WL.js";
|
|
39
|
+
import "./chunk-QXXEXGX3.js";
|
|
40
|
+
import "./chunk-QUZYLDNJ.js";
|
|
41
|
+
import "./chunk-FDWI3T6I.js";
|
|
42
|
+
import "./chunk-E5CKRHIZ.js";
|
|
43
|
+
import "./chunk-T4P2G3PO.js";
|
|
44
44
|
import "./chunk-3FGBBJYM.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-JQN3QGSF.js";
|
|
46
|
+
import "./chunk-754P2UXM.js";
|
|
47
|
+
import "./chunk-B7FDRN7G.js";
|
|
48
|
+
import "./chunk-7NEBFB3L.js";
|
|
49
|
+
import "./chunk-XMX5J52Z.js";
|
|
50
|
+
import "./chunk-QLXEQRHD.js";
|
|
51
|
+
import "./chunk-VIP4LKLO.js";
|
|
52
52
|
import "./chunk-S2YTU74T.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-AP2C4OGS.js";
|
|
54
|
+
import "./chunk-FNJTCJGY.js";
|
|
55
|
+
import "./chunk-4ESNDGMB.js";
|
|
56
|
+
import "./chunk-JWYIH5DR.js";
|
|
57
|
+
import "./chunk-RWKAHHIX.js";
|
|
58
|
+
import "./chunk-UKBPEEEQ.js";
|
|
59
|
+
import "./chunk-7FZG7WP4.js";
|
|
60
|
+
import "./chunk-5BJBTFFQ.js";
|
|
61
61
|
import "./chunk-3OEVDGIY.js";
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-SSFS4NCH.js";
|
|
63
|
+
import "./chunk-M5XHN4OM.js";
|
|
64
|
+
import "./chunk-CUDNRHHT.js";
|
|
65
65
|
import "./chunk-VPHJ2LUI.js";
|
|
66
66
|
import "./chunk-SNHYZYGZ.js";
|
|
67
67
|
import "./chunk-KM6XSFHP.js";
|
|
68
|
+
import "./chunk-ZPPPHVSU.js";
|
|
68
69
|
import "./chunk-YQGMSXT5.js";
|
|
69
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-TYD4F4XU.js";
|
|
70
71
|
import "./chunk-SSC7EKY2.js";
|
|
71
|
-
import "./chunk-
|
|
72
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-ATNV3BVZ.js";
|
|
73
|
+
import "./chunk-VBPYYJPC.js";
|
|
73
74
|
import "./chunk-U4GMOT4M.js";
|
|
74
75
|
import "./chunk-CBPNZFSU.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-XTCXGWTV.js";
|
|
76
77
|
import "./chunk-MMRUBN3I.js";
|
|
77
78
|
import "./chunk-2XZ6X3PJ.js";
|
|
78
79
|
import "./chunk-PMVVUIHH.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-
|
|
82
|
-
import "./chunk-
|
|
83
|
-
import "./chunk-
|
|
84
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-4VQ3QR6B.js";
|
|
81
|
+
import "./chunk-Z7I6NQMA.js";
|
|
82
|
+
import "./chunk-IZWMWJZT.js";
|
|
83
|
+
import "./chunk-MCWEW2SG.js";
|
|
84
|
+
import "./chunk-TU4M757W.js";
|
|
85
|
+
import "./chunk-SJP57MQM.js";
|
|
85
86
|
import "./chunk-NEHOQ3P2.js";
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-
|
|
87
|
+
import "./chunk-GDLB6BPM.js";
|
|
88
|
+
import "./chunk-2Q2GGYBX.js";
|
|
88
89
|
import "./chunk-NPXIS2RY.js";
|
|
89
90
|
import "./chunk-SKTAZGFI.js";
|
|
90
91
|
import "./chunk-X2Z5GT3V.js";
|
|
91
|
-
import "./chunk-
|
|
92
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-E2PRXEZK.js";
|
|
93
|
+
import "./chunk-YA5LK6KB.js";
|
|
93
94
|
import "./chunk-EIOGV75A.js";
|
|
94
|
-
import "./chunk-
|
|
95
|
-
import "./chunk-
|
|
95
|
+
import "./chunk-RDMBSHGG.js";
|
|
96
|
+
import "./chunk-3DCBDG4T.js";
|
|
96
97
|
import "./chunk-Z6BZQHP5.js";
|
|
97
98
|
import "./chunk-GUMRIUI5.js";
|
|
98
99
|
import "./chunk-VGMACSEV.js";
|
|
99
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-IPTUKX3N.js";
|
|
100
101
|
import "./chunk-3OX5S7KZ.js";
|
|
101
|
-
import "./chunk-
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-ZM6EZAVY.js";
|
|
103
|
+
import "./chunk-IJCWBYA5.js";
|
|
103
104
|
import "./chunk-QGGH7LOU.js";
|
|
104
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-CL3AB7Z2.js";
|
|
105
106
|
import "./chunk-TWMWHDOY.js";
|
|
106
|
-
import "./chunk-
|
|
107
|
-
import "./chunk-
|
|
108
|
-
import "./chunk-M4XY4JRK.js";
|
|
107
|
+
import "./chunk-CL2MU3OX.js";
|
|
108
|
+
import "./chunk-4GAKF7KR.js";
|
|
109
109
|
import "./chunk-VMHZSZQJ.js";
|
|
110
|
-
import "./chunk-
|
|
111
|
-
import "./chunk-
|
|
110
|
+
import "./chunk-O53LTOXK.js";
|
|
111
|
+
import "./chunk-5RK75SWH.js";
|
|
112
|
+
import "./chunk-SFWNTO2F.js";
|
|
112
113
|
import "./chunk-CHCA3ZM2.js";
|
|
113
114
|
import "./chunk-OTVEIJUQ.js";
|
|
114
|
-
import "./chunk-
|
|
115
|
-
import "./chunk-
|
|
116
|
-
import "./chunk-
|
|
117
|
-
import "./chunk-
|
|
118
|
-
import "./chunk-
|
|
119
|
-
import "./chunk-
|
|
120
|
-
import "./chunk-
|
|
121
|
-
import "./chunk-
|
|
115
|
+
import "./chunk-MDTWARSF.js";
|
|
116
|
+
import "./chunk-QDBKMEYY.js";
|
|
117
|
+
import "./chunk-D4C57S2H.js";
|
|
118
|
+
import "./chunk-KBBWALJV.js";
|
|
119
|
+
import "./chunk-4FLLIQRQ.js";
|
|
120
|
+
import "./chunk-RJ67XAJU.js";
|
|
121
|
+
import "./chunk-B4XJQBQB.js";
|
|
122
|
+
import "./chunk-NRLJOV7M.js";
|
|
122
123
|
import "./chunk-5MOYSU5A.js";
|
|
123
|
-
import "./chunk-
|
|
124
|
+
import "./chunk-ZUGQPYUY.js";
|
|
124
125
|
import "./chunk-76CJBM36.js";
|
|
125
126
|
import "./chunk-QLZ46RCK.js";
|
|
126
|
-
import "./chunk-
|
|
127
|
-
import "./chunk-
|
|
128
|
-
import "./chunk-
|
|
127
|
+
import "./chunk-QDVLVLXP.js";
|
|
128
|
+
import "./chunk-ZB4FS2EG.js";
|
|
129
|
+
import "./chunk-Z3LXWCB7.js";
|
|
130
|
+
import "./chunk-3X74IQBU.js";
|
|
129
131
|
import "./chunk-ZKGWHT56.js";
|
|
130
|
-
import "./chunk-QNZ4562V.js";
|
|
131
132
|
import "./chunk-WT4RI36X.js";
|
|
133
|
+
import "./chunk-EIKATSE4.js";
|
|
132
134
|
import "./chunk-E23LNUWJ.js";
|
|
133
135
|
import "./chunk-TDF2XKLK.js";
|
|
134
|
-
import "./chunk-EIKATSE4.js";
|
|
135
136
|
import "./chunk-MJCSEIFI.js";
|
|
136
|
-
import "./chunk-
|
|
137
|
-
import "./chunk-
|
|
137
|
+
import "./chunk-637FL62O.js";
|
|
138
|
+
import "./chunk-6L4VIYLZ.js";
|
|
138
139
|
import "./chunk-VI4ATC6I.js";
|
|
139
140
|
import "./chunk-A27Q27CT.js";
|
|
140
|
-
import "./chunk-
|
|
141
|
+
import "./chunk-DPYZW42H.js";
|
|
141
142
|
import "./chunk-T5SM4RXY.js";
|
|
142
|
-
import "./chunk-
|
|
143
|
-
import "./chunk-
|
|
143
|
+
import "./chunk-N32DVIKY.js";
|
|
144
|
+
import "./chunk-GWAN2BDB.js";
|
|
144
145
|
import "./chunk-AM7S2TY6.js";
|
|
145
|
-
import "./chunk-
|
|
146
|
+
import "./chunk-B5EGDNG6.js";
|
|
146
147
|
import "./chunk-CVYC6DUW.js";
|
|
147
148
|
import "./chunk-ANVHWV2X.js";
|
|
148
149
|
import "./chunk-HME6ITKV.js";
|
|
@@ -156,11 +157,11 @@ import "./chunk-NLEW62VC.js";
|
|
|
156
157
|
import "./chunk-IMYGYIAI.js";
|
|
157
158
|
import "./chunk-3DAEZILW.js";
|
|
158
159
|
import "./chunk-DRTJCG6B.js";
|
|
159
|
-
import "./chunk-
|
|
160
|
+
import "./chunk-ZZWFZ46U.js";
|
|
160
161
|
import "./chunk-HYZV25LY.js";
|
|
161
162
|
import "./chunk-GJV3WDWM.js";
|
|
162
163
|
import "./chunk-GL57PO3K.js";
|
|
163
|
-
import "./chunk-
|
|
164
|
+
import "./chunk-V4WH3FV7.js";
|
|
164
165
|
import "./chunk-ML4S5SHZ.js";
|
|
165
166
|
import "./chunk-MP2AFCGL.js";
|
|
166
167
|
import "./chunk-YRUZK2QA.js";
|
|
@@ -169,7 +170,7 @@ import {
|
|
|
169
170
|
ensureSchema,
|
|
170
171
|
getClient,
|
|
171
172
|
initDatabase
|
|
172
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-3UD3OF3X.js";
|
|
173
174
|
import "./chunk-BBMTVAE3.js";
|
|
174
175
|
import {
|
|
175
176
|
assertValidDbPath
|
|
@@ -177,14 +178,16 @@ import {
|
|
|
177
178
|
import {
|
|
178
179
|
recordDbOpen
|
|
179
180
|
} from "./chunk-5YEUPUV4.js";
|
|
180
|
-
import "./chunk-
|
|
181
|
+
import "./chunk-LUA4SLJY.js";
|
|
182
|
+
import "./chunk-5ONMHTNI.js";
|
|
183
|
+
import "./chunk-RBQUXHYK.js";
|
|
181
184
|
import "./chunk-YYB5PMTK.js";
|
|
182
|
-
import "./chunk-
|
|
185
|
+
import "./chunk-WAAGVFFN.js";
|
|
183
186
|
import "./chunk-QH5ZQ5SJ.js";
|
|
184
187
|
import "./chunk-ZQEJ4IX2.js";
|
|
185
|
-
import "./chunk-
|
|
188
|
+
import "./chunk-C7GHNJPW.js";
|
|
186
189
|
import "./chunk-SO7KTH3Q.js";
|
|
187
|
-
import "./chunk-
|
|
190
|
+
import "./chunk-3VW5ZP2F.js";
|
|
188
191
|
import {
|
|
189
192
|
exportMnemonic,
|
|
190
193
|
getKeyStorageInfo,
|
|
@@ -192,13 +195,13 @@ import {
|
|
|
192
195
|
importMnemonic,
|
|
193
196
|
retireMasterKey,
|
|
194
197
|
setMasterKey
|
|
195
|
-
} from "./chunk-
|
|
198
|
+
} from "./chunk-TA3B4N24.js";
|
|
196
199
|
import "./chunk-F55P3H4S.js";
|
|
197
200
|
import "./chunk-B6TI3TZT.js";
|
|
198
201
|
import "./chunk-FTZET5YX.js";
|
|
199
|
-
import "./chunk-
|
|
202
|
+
import "./chunk-FWRPDSO3.js";
|
|
200
203
|
import "./chunk-A7XLR3K7.js";
|
|
201
|
-
import "./chunk-
|
|
204
|
+
import "./chunk-OSVTH3SG.js";
|
|
202
205
|
import "./chunk-A7JYF4RG.js";
|
|
203
206
|
import "./chunk-ARX6TAGN.js";
|
|
204
207
|
import {
|
|
@@ -769,6 +772,14 @@ async function acceptRotationWizard(argv) {
|
|
|
769
772
|
await initStore({ lightweight: true });
|
|
770
773
|
const result = await cloudSync({ apiKey: config.cloud.apiKey, endpoint: config.cloud.endpoint });
|
|
771
774
|
await disposeStore();
|
|
775
|
+
if (result.pullIncomplete) {
|
|
776
|
+
console.error(`Cloud verification PARTIAL: remote memory history was not read to the end (${result.pullPartialReason ?? "unknown"}).`);
|
|
777
|
+
console.error("Refusing to accept the rotation on an unverified partial restore.");
|
|
778
|
+
console.error("Rolling back to the old key/local DB backup...");
|
|
779
|
+
await restoreOldState();
|
|
780
|
+
console.error("Rollback complete. The old key remains active on this machine. Re-run `exe-os key accept-rotation` once cloud sync can complete a full pull.");
|
|
781
|
+
return 1;
|
|
782
|
+
}
|
|
772
783
|
console.log(`\u2713 Cloud verification succeeded: ${result.totalMemories.toLocaleString()} memories visible after sync`);
|
|
773
784
|
} catch (err) {
|
|
774
785
|
console.error(`Cloud verification failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -31,8 +31,10 @@ Orchestration phase:
|
|
|
31
31
|
|
|
32
32
|
AI Partner \u2014 joining an org (the member side):
|
|
33
33
|
exe-os org join <invite-code> Show the Org Key this install would pin
|
|
34
|
-
exe-os org join <invite-code> --confirm "<phrase>"
|
|
35
|
-
Redeem the invite and pin that exact Org Key
|
|
34
|
+
exe-os org join <invite-code> --confirm "<phrase>" --claim-passphrase "<passphrase>"
|
|
35
|
+
Redeem the invite and pin that exact Org Key. Both the phrase
|
|
36
|
+
and the claim passphrase are required \u2014 the invite code alone
|
|
37
|
+
does not claim a seat. Omit --claim-passphrase to be prompted.
|
|
36
38
|
exe-os org unpin <org-id> --confirm "<phrase>"
|
|
37
39
|
Discard a pinned Org Key (a key rotation is a security event)
|
|
38
40
|
|
|
@@ -84,9 +86,7 @@ function flag(argv, name) {
|
|
|
84
86
|
function has(argv, name) {
|
|
85
87
|
return argv.includes(`--${name}`);
|
|
86
88
|
}
|
|
87
|
-
async function
|
|
88
|
-
const fromEnv = process.env.EXE_CONSENT_PASSPHRASE;
|
|
89
|
-
if (fromEnv !== void 0 && fromEnv !== "") return fromEnv;
|
|
89
|
+
async function readSecretLine(prompt) {
|
|
90
90
|
const stdin = process.stdin;
|
|
91
91
|
process.stderr.write(prompt);
|
|
92
92
|
return await new Promise((resolve) => {
|
|
@@ -124,19 +124,27 @@ async function promptSecret(prompt) {
|
|
|
124
124
|
stdin.on("data", onData);
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
|
+
async function promptSecret(prompt) {
|
|
128
|
+
const fromEnv = process.env.EXE_CONSENT_PASSPHRASE;
|
|
129
|
+
if (fromEnv !== void 0 && fromEnv !== "") return fromEnv;
|
|
130
|
+
return await readSecretLine(prompt);
|
|
131
|
+
}
|
|
132
|
+
async function promptClaimSecret(prompt) {
|
|
133
|
+
return await readSecretLine(prompt);
|
|
134
|
+
}
|
|
127
135
|
async function printOrgSection() {
|
|
128
|
-
const { resolveOrgPartnerBindings, resolvePartnerIdentities } = await import("./org-partner-config-
|
|
136
|
+
const { resolveOrgPartnerBindings, resolvePartnerIdentities } = await import("./org-partner-config-3FXSYPQA.js");
|
|
129
137
|
const bindings = resolveOrgPartnerBindings();
|
|
130
138
|
if (!bindings.orgMode) {
|
|
131
139
|
console.log("Org membership: none \u2014 this is a personal install. The AI Partner org surface is inactive.");
|
|
132
140
|
console.log("");
|
|
133
141
|
return;
|
|
134
142
|
}
|
|
135
|
-
const { orgPartnerRuntimeStatus } = await import("./org-partner-runtime-
|
|
136
|
-
const { getStandingPolicies } = await import("./org-consent-policy-
|
|
137
|
-
const { listTaskRequests } = await import("./task-request-inbox-
|
|
143
|
+
const { orgPartnerRuntimeStatus } = await import("./org-partner-runtime-TH3LMPII.js");
|
|
144
|
+
const { getStandingPolicies } = await import("./org-consent-policy-KFUP7QPG.js");
|
|
145
|
+
const { listTaskRequests } = await import("./task-request-inbox-PKJCYKJV.js");
|
|
138
146
|
const { getMailboxOutboxStatus, listFailureNotices } = await import("./mailbox-outbox-OY4IU6S4.js");
|
|
139
|
-
const { getMailboxInboxState } = await import("./mailbox-inbox-
|
|
147
|
+
const { getMailboxInboxState } = await import("./mailbox-inbox-BPZP4GIZ.js");
|
|
140
148
|
const runtime = orgPartnerRuntimeStatus();
|
|
141
149
|
console.log("Org membership: ACTIVE (org mode is latched on this machine)");
|
|
142
150
|
if (bindings.readError) {
|
|
@@ -186,9 +194,9 @@ async function printOrgSection() {
|
|
|
186
194
|
if (runtime.defects.length > 0) console.log("");
|
|
187
195
|
}
|
|
188
196
|
async function runReport(argv) {
|
|
189
|
-
const { assertOrgPartnerRuntimeReady } = await import("./org-partner-runtime-
|
|
190
|
-
const { draftOrgUpBrief, sendOpenDraft } = await import("./org-brief-session-
|
|
191
|
-
const { resolveOrgPartnerBindings } = await import("./org-partner-config-
|
|
197
|
+
const { assertOrgPartnerRuntimeReady } = await import("./org-partner-runtime-TH3LMPII.js");
|
|
198
|
+
const { draftOrgUpBrief, sendOpenDraft } = await import("./org-brief-session-LQ2DBYVF.js");
|
|
199
|
+
const { resolveOrgPartnerBindings } = await import("./org-partner-config-3FXSYPQA.js");
|
|
192
200
|
assertOrgPartnerRuntimeReady();
|
|
193
201
|
let orgId = flag(argv, "org");
|
|
194
202
|
if (!orgId) {
|
|
@@ -263,10 +271,10 @@ async function runReport(argv) {
|
|
|
263
271
|
return 0;
|
|
264
272
|
}
|
|
265
273
|
async function runRequests(argv) {
|
|
266
|
-
const { assertOrgPartnerRuntimeReady } = await import("./org-partner-runtime-
|
|
267
|
-
const { requireOrgPartnerBinding, resolveOrgPartnerBindings, resolvePartnerIdentities } = await import("./org-partner-config-
|
|
268
|
-
const { listTaskRequests, getTaskRequest, acceptTaskRequest, declineTaskRequest } = await import("./task-request-inbox-
|
|
269
|
-
const { decideRequestManually } = await import("./org-consent-policy-
|
|
274
|
+
const { assertOrgPartnerRuntimeReady } = await import("./org-partner-runtime-TH3LMPII.js");
|
|
275
|
+
const { requireOrgPartnerBinding, resolveOrgPartnerBindings, resolvePartnerIdentities } = await import("./org-partner-config-3FXSYPQA.js");
|
|
276
|
+
const { listTaskRequests, getTaskRequest, acceptTaskRequest, declineTaskRequest } = await import("./task-request-inbox-PKJCYKJV.js");
|
|
277
|
+
const { decideRequestManually } = await import("./org-consent-policy-KFUP7QPG.js");
|
|
270
278
|
assertOrgPartnerRuntimeReady();
|
|
271
279
|
let orgId = flag(argv, "org");
|
|
272
280
|
if (!orgId) {
|
|
@@ -345,8 +353,8 @@ async function runRequests(argv) {
|
|
|
345
353
|
return 0;
|
|
346
354
|
}
|
|
347
355
|
async function runConsent(argv) {
|
|
348
|
-
const { resolveOrgPartnerBindings } = await import("./org-partner-config-
|
|
349
|
-
const { setConsentPassphrase, clearConsentPassphrase, consentPassphraseIsSet, MIN_CONSENT_PASSPHRASE_LENGTH } = await import("./consent-passphrase-
|
|
356
|
+
const { resolveOrgPartnerBindings } = await import("./org-partner-config-3FXSYPQA.js");
|
|
357
|
+
const { setConsentPassphrase, clearConsentPassphrase, consentPassphraseIsSet, MIN_CONSENT_PASSPHRASE_LENGTH } = await import("./consent-passphrase-65W3DJIJ.js");
|
|
350
358
|
const sub = argv[0];
|
|
351
359
|
let orgId = flag(argv, "org");
|
|
352
360
|
if (!orgId) {
|
|
@@ -401,12 +409,10 @@ async function runJoin(argv) {
|
|
|
401
409
|
console.error('exe-os org join <invite-code> [--confirm "<phrase>"]');
|
|
402
410
|
return 1;
|
|
403
411
|
}
|
|
404
|
-
const { fetchInviteOffer, completeOrgJoin, orgKeyPinConfirmation } = await import("./org-join-
|
|
405
|
-
const { readOrgKeyPin, orgKeyUnpinConfirmation } = await import("./org-key-pin-
|
|
406
|
-
const { resolvePartnerIdentities } = await import("./org-partner-config-
|
|
407
|
-
const offer = await fetchInviteOffer(code, {
|
|
408
|
-
...flag(argv, "endpoint") ? { endpoint: flag(argv, "endpoint") } : {}
|
|
409
|
-
});
|
|
412
|
+
const { fetchInviteOffer, completeOrgJoin, orgKeyPinConfirmation } = await import("./org-join-MXZCIQWX.js");
|
|
413
|
+
const { readOrgKeyPin, orgKeyUnpinConfirmation } = await import("./org-key-pin-ZOX4OM3O.js");
|
|
414
|
+
const { resolvePartnerIdentities } = await import("./org-partner-config-3FXSYPQA.js");
|
|
415
|
+
const offer = await fetchInviteOffer(code, {});
|
|
410
416
|
console.log(`Invite for org ${offer.orgId}${offer.orgName ? ` (${offer.orgName})` : ""}`);
|
|
411
417
|
console.log("");
|
|
412
418
|
console.log("You are about to PIN this organization's Org Key on this machine.");
|
|
@@ -446,17 +452,26 @@ async function runJoin(argv) {
|
|
|
446
452
|
if (supplied !== phrase) {
|
|
447
453
|
console.log("Compare that fingerprint with your org over a channel the relay does not control.");
|
|
448
454
|
console.log("");
|
|
449
|
-
console.log("
|
|
450
|
-
console.log(
|
|
455
|
+
console.log("You will also need the claim passphrase your org gave you alongside the invite code");
|
|
456
|
+
console.log("(a SEPARATE value from this fingerprint) \u2014 the invite code alone does not claim a");
|
|
457
|
+
console.log("seat, for a member seat or an admin seat.");
|
|
458
|
+
console.log("");
|
|
459
|
+
console.log("Then re-run with the exact phrase and --claim-passphrase:");
|
|
460
|
+
console.log(` exe-os org join ${code} --confirm "${phrase}" --claim-passphrase "<passphrase>"`);
|
|
451
461
|
console.log("");
|
|
452
462
|
console.log("Nothing was pinned and nothing was joined.");
|
|
453
463
|
return 1;
|
|
454
464
|
}
|
|
465
|
+
const claimPassphrase = flag(argv, "claim-passphrase") ?? await promptClaimSecret("Claim passphrase: ");
|
|
466
|
+
if (!claimPassphrase) {
|
|
467
|
+
console.error("A claim passphrase is required. The invite code alone does not claim a seat.");
|
|
468
|
+
return 1;
|
|
469
|
+
}
|
|
455
470
|
const result = await completeOrgJoin({
|
|
456
471
|
code,
|
|
457
472
|
offer,
|
|
458
473
|
confirmation: supplied,
|
|
459
|
-
|
|
474
|
+
claimPassphrase
|
|
460
475
|
});
|
|
461
476
|
console.log(
|
|
462
477
|
result.pinCreated ? `Pinned ${result.pin.org_key_sign_fp.slice(0, 16)} as the Org Key for ${result.offer.orgId}.` : `That identity was already pinned for ${result.offer.orgId} \u2014 re-joined, nothing re-pinned.`
|
|
@@ -484,10 +499,9 @@ async function runCreate(argv) {
|
|
|
484
499
|
console.error("before it is sent and refused by the database if it ever arrives uncanonical.");
|
|
485
500
|
return 1;
|
|
486
501
|
}
|
|
487
|
-
const { createOrg } = await import("./org-key-admin-
|
|
502
|
+
const { createOrg } = await import("./org-key-admin-4UK6QUT7.js");
|
|
488
503
|
const created = await createOrg({
|
|
489
|
-
orgId
|
|
490
|
-
...flag(argv, "endpoint") ? { endpoint: flag(argv, "endpoint") } : {}
|
|
504
|
+
orgId
|
|
491
505
|
});
|
|
492
506
|
console.log(`Created ${created.orgId}. You are its first admin.`);
|
|
493
507
|
console.log("");
|
|
@@ -520,10 +534,9 @@ async function runPublishKey(argv) {
|
|
|
520
534
|
console.error("without publishing again.");
|
|
521
535
|
return 1;
|
|
522
536
|
}
|
|
523
|
-
const { publishOrgKey, readMyPinnedOrgKey, describeRotation } = await import("./org-key-admin-
|
|
524
|
-
const
|
|
525
|
-
const
|
|
526
|
-
const { resolvePartnerIdentities } = await import("./org-partner-config-OP4NEUNF.js");
|
|
537
|
+
const { publishOrgKey, readMyPinnedOrgKey, describeRotation } = await import("./org-key-admin-4UK6QUT7.js");
|
|
538
|
+
const existing = await readMyPinnedOrgKey({ orgId });
|
|
539
|
+
const { resolvePartnerIdentities } = await import("./org-partner-config-3FXSYPQA.js");
|
|
527
540
|
const mine = await resolvePartnerIdentities(orgId);
|
|
528
541
|
const myFp = mine.sign.fingerprint.toString("hex").slice(0, 16);
|
|
529
542
|
if (existing && existing.fingerprint !== myFp && !has(argv, "rotate")) {
|
|
@@ -533,7 +546,7 @@ async function runPublishKey(argv) {
|
|
|
533
546
|
console.error(` exe-os org publish-key --org ${orgId} --mailbox ${mailboxId} --rotate`);
|
|
534
547
|
return 1;
|
|
535
548
|
}
|
|
536
|
-
const published = await publishOrgKey({ orgId, mailboxId
|
|
549
|
+
const published = await publishOrgKey({ orgId, mailboxId });
|
|
537
550
|
if (published.rotated && published.previousFingerprint) {
|
|
538
551
|
console.log(describeRotation(orgId, published.previousFingerprint, published.fingerprint));
|
|
539
552
|
console.log("");
|
|
@@ -576,12 +589,11 @@ async function runInvite(argv) {
|
|
|
576
589
|
console.error("directory entry. Try `engineer.03` or `support.lead`.");
|
|
577
590
|
return 1;
|
|
578
591
|
}
|
|
579
|
-
const { issueSeatInvite } = await import("./org-key-admin-
|
|
592
|
+
const { issueSeatInvite } = await import("./org-key-admin-4UK6QUT7.js");
|
|
580
593
|
const invite = await issueSeatInvite({
|
|
581
594
|
orgId,
|
|
582
595
|
seatRef,
|
|
583
|
-
...has(argv, "admin") ? { isAdmin: true } : {}
|
|
584
|
-
...flag(argv, "endpoint") ? { endpoint: flag(argv, "endpoint") } : {}
|
|
596
|
+
...has(argv, "admin") ? { isAdmin: true } : {}
|
|
585
597
|
});
|
|
586
598
|
const { adminInviteDisclosureText } = await import("./seat-benefit-VDQJYJOB.js");
|
|
587
599
|
console.log(adminInviteDisclosureText({
|
|
@@ -594,26 +606,39 @@ async function runInvite(argv) {
|
|
|
594
606
|
console.log("");
|
|
595
607
|
console.log(`Invite for seat "${invite.seatRef}" in ${invite.orgId}${invite.isAdmin ? " (ORG ADMIN)" : ""}.`);
|
|
596
608
|
console.log("");
|
|
597
|
-
console.log(" \u2500\u2500 SHOWN ONCE. Only
|
|
609
|
+
console.log(" \u2500\u2500 SHOWN ONCE. Only their hashes are stored; this is the only copy. \u2500\u2500");
|
|
598
610
|
console.log("");
|
|
599
611
|
console.log(` invite code ${invite.inviteToken}`);
|
|
612
|
+
console.log(` claim passphrase ${invite.claimPassphrase}`);
|
|
600
613
|
console.log(` Org Key fingerprint ${invite.fingerprint}`);
|
|
601
614
|
console.log(` expires ${invite.expiresAt}`);
|
|
602
615
|
console.log("");
|
|
603
|
-
console.log("
|
|
604
|
-
console.log("
|
|
605
|
-
console.log("
|
|
606
|
-
console.log("
|
|
616
|
+
console.log("THREE VALUES, AND THE FIRST TWO ARE NOT INTERCHANGEABLE WITH THE THIRD. The invite");
|
|
617
|
+
console.log("code and the claim passphrase are BOTH required to claim this seat \u2014 an invite code");
|
|
618
|
+
console.log("by itself claims nothing, for this seat or any seat, admin included.");
|
|
619
|
+
console.log("");
|
|
620
|
+
console.log("That was not always true, and it is worth being precise about why: the Org Key");
|
|
621
|
+
console.log("fingerprint looks like a second factor, but it is SHA-256(org_key_sign_pub), and the");
|
|
622
|
+
console.log("join server hands org_key_sign_pub back to anyone who merely presents the invite code");
|
|
623
|
+
console.log("(the non-consuming preview). Holding only the code was always enough to compute the");
|
|
624
|
+
console.log("fingerprint. The claim passphrase is the thing that actually gates redemption: it is");
|
|
625
|
+
console.log("checked entirely server-side, it is never returned by the preview, and there is");
|
|
626
|
+
console.log("nothing a joiner's Partner can compute to produce it.");
|
|
607
627
|
console.log("");
|
|
608
|
-
console.log("
|
|
609
|
-
console.log("
|
|
610
|
-
console.log("
|
|
628
|
+
console.log("SEND THE CODE AND THE PASSPHRASE OVER DIFFERENT CHANNELS FROM EACH OTHER. The same");
|
|
629
|
+
console.log("message carrying both is one secret wearing two labels. Send the Org Key fingerprint");
|
|
630
|
+
console.log("out of band too, for its own, separate reason: it protects the JOINER from being");
|
|
631
|
+
console.log("pointed at a substituted Org Key, and a substituted key is a hard refusal at redeem");
|
|
632
|
+
console.log("rather than a silent re-point \u2014 but that protection has nothing to do with keeping");
|
|
633
|
+
console.log("this invite from being claimed by whoever it leaks to. Keep invite code and claim");
|
|
634
|
+
console.log("passphrase as secret as the seat they jointly grant.");
|
|
611
635
|
console.log("");
|
|
612
636
|
console.log("What they run \u2014 or say to their Partner:");
|
|
613
637
|
console.log(` exe-os org join ${invite.inviteToken}`);
|
|
614
|
-
console.log(" \u2026then re-run with the --confirm phrase it prints.");
|
|
638
|
+
console.log(" \u2026then re-run with the --confirm phrase it prints AND --claim-passphrase.");
|
|
615
639
|
console.log("");
|
|
616
|
-
console.log("Single use.
|
|
640
|
+
console.log("Single use. Both expire in 24 hours. If they are not redeemed, issue another invite \u2014");
|
|
641
|
+
console.log("a fresh code always comes with a fresh passphrase.");
|
|
617
642
|
return 0;
|
|
618
643
|
}
|
|
619
644
|
async function runUnpin(argv) {
|
|
@@ -622,7 +647,7 @@ async function runUnpin(argv) {
|
|
|
622
647
|
console.error('exe-os org unpin <org-id> --confirm "<phrase>"');
|
|
623
648
|
return 1;
|
|
624
649
|
}
|
|
625
|
-
const { readOrgKeyPin, unpinOrgKey, orgKeyUnpinConfirmation } = await import("./org-key-pin-
|
|
650
|
+
const { readOrgKeyPin, unpinOrgKey, orgKeyUnpinConfirmation } = await import("./org-key-pin-ZOX4OM3O.js");
|
|
626
651
|
const pin = readOrgKeyPin(orgId);
|
|
627
652
|
if (!pin) {
|
|
628
653
|
console.error(`No pinned Org Key for org "${orgId}".`);
|
|
@@ -646,7 +671,7 @@ async function runUnpin(argv) {
|
|
|
646
671
|
return 0;
|
|
647
672
|
}
|
|
648
673
|
async function runLeave(argv) {
|
|
649
|
-
const { clearOrgModeSticky, ORG_MODE_CLEAR_CONFIRMATION, orgMembershipPresent } = await import("./org-membership-
|
|
674
|
+
const { clearOrgModeSticky, ORG_MODE_CLEAR_CONFIRMATION, orgMembershipPresent } = await import("./org-membership-D5TPN45F.js");
|
|
650
675
|
if (!orgMembershipPresent()) {
|
|
651
676
|
console.log("This install is not an org member \u2014 nothing to leave.");
|
|
652
677
|
return 0;
|