@askexenow/exe-os 0.9.405 → 0.9.407
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-KZFLZ4B6.js → active-agent-2OMOWJXI.js} +4 -4
- package/dist/{active-agent-IU3D6Y5Z.js → active-agent-U6JYIXZD.js} +4 -4
- package/dist/{agent-defs-generator-23FGUXVO.js → agent-defs-generator-TZC3QFTT.js} +3 -3
- package/dist/{agentic-ontology-7G44A5LE.js → agentic-ontology-GJI54CFX.js} +1 -1
- package/dist/{artifact-backup-GYNBR2I6.js → artifact-backup-4GCKVN3V.js} +3 -3
- package/dist/{backfill-metadata-QZND2XBD.js → backfill-metadata-EVJEKCY3.js} +7 -7
- package/dist/{backup-verify-E5UQJ4E6.js → backup-verify-PIH5GXLV.js} +1 -1
- package/dist/{behavior-injection-FJFD735A.js → behavior-injection-TKQETCCW.js} +10 -10
- package/dist/{behavior-promotion-XNO53I4M.js → behavior-promotion-TB53MVMQ.js} +9 -9
- package/dist/{behaviors-F6KA2XNB.js → behaviors-2XKHIDUD.js} +8 -8
- package/dist/bin/agentic-ontology-backfill.js +8 -8
- package/dist/bin/agentic-reflection-backfill.js +9 -9
- package/dist/bin/agentic-semantic-label.js +8 -8
- package/dist/bin/backfill-conversations.js +7 -7
- package/dist/bin/backfill-responses.js +7 -7
- package/dist/bin/backfill-vectors.js +7 -7
- package/dist/bin/bulk-sync-postgres.js +16 -16
- package/dist/bin/cc-doctor.js +8 -8
- package/dist/bin/cleanup-stale-review-tasks.js +16 -16
- package/dist/bin/cli.js +24 -24
- package/dist/bin/deferred-daemon-restart.js +95 -94
- package/dist/bin/exe-actions.js +2 -2
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +14 -14
- package/dist/bin/exe-assign.js +8 -8
- package/dist/bin/exe-boot.js +36 -36
- package/dist/bin/exe-call.js +8 -8
- package/dist/bin/exe-cloud.js +17 -17
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +17 -17
- package/dist/bin/exe-doctor.js +12 -5
- package/dist/bin/exe-export-behaviors.js +12 -12
- package/dist/bin/exe-forget.js +10 -10
- package/dist/bin/exe-gateway.js +9 -9
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +8 -8
- package/dist/bin/exe-heartbeat.js +22 -22
- package/dist/bin/exe-kill.js +21 -21
- package/dist/bin/exe-launch-agent.js +29 -29
- package/dist/bin/exe-mcp.js +5 -5
- package/dist/bin/exe-memory-reads.js +7 -7
- package/dist/bin/exe-new-employee.js +10 -10
- package/dist/bin/exe-os-mcp-proxy.js +5 -5
- package/dist/bin/exe-pending-messages.js +17 -17
- package/dist/bin/exe-pending-notifications.js +16 -16
- package/dist/bin/exe-pending-reviews.js +17 -17
- package/dist/bin/exe-rename.js +6 -6
- package/dist/bin/exe-review.js +20 -20
- package/dist/bin/exe-search.js +9 -9
- package/dist/bin/exe-session-cleanup.js +21 -21
- package/dist/bin/exe-settings.js +16 -16
- package/dist/bin/exe-start-codex.js +18 -18
- package/dist/bin/exe-start-opencode.js +16 -16
- package/dist/bin/exe-status.js +18 -18
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +17 -17
- package/dist/bin/graph-backfill.js +8 -8
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +11 -11
- package/dist/bin/install.js +175 -96
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -5
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/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 +17 -17
- package/dist/bin/setup.js +2 -2
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +48 -4
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-2LMBR7S7.js → boot-generation-34GD265Q.js} +4 -4
- package/dist/{boot-review-sections-P4J6LGFF.js → boot-review-sections-JYDDUJH5.js} +15 -15
- package/dist/{bug-landed-reconciler-PWRXOBOE.js → bug-landed-reconciler-ORYLGRQI.js} +6 -6
- package/dist/build-info.json +3 -3
- package/dist/build-manifest.json +931 -921
- package/dist/{capability-cards-VKEXD3BA.js → capability-cards-IOFJOGID.js} +3 -3
- package/dist/{capacity-monitor-DIX6TOWZ.js → capacity-monitor-CJSDRDLR.js} +17 -17
- package/dist/{catchup-brief-JQIWOJEN.js → catchup-brief-ELSYIYVL.js} +22 -22
- package/dist/{chunk-Z4FVCXQN.js → chunk-232YVOFB.js} +2 -2
- package/dist/{chunk-3L5B655Z.js → chunk-323DU3UM.js} +3 -3
- package/dist/{chunk-ID3KTUXS.js → chunk-342ZBEDI.js} +2 -2
- package/dist/{chunk-KRNF2TTT.js → chunk-35PGCSNN.js} +4 -4
- package/dist/{chunk-MMQH7AM7.js → chunk-36QUBTID.js} +1 -1
- package/dist/{chunk-4BSOTASL.js → chunk-3AC6WJNP.js} +2 -2
- package/dist/{chunk-DQUGV7TQ.js → chunk-3AOPBH5S.js} +1 -1
- package/dist/{chunk-35XHS5ZL.js → chunk-3DIP37BT.js} +2 -2
- package/dist/{chunk-QGTP2A7P.js → chunk-3X733RHO.js} +1 -1
- package/dist/{chunk-OV5RG5UT.js → chunk-4MQDDFRN.js} +1 -1
- package/dist/{chunk-B4LS4IPJ.js → chunk-4SLKFUA7.js} +1 -1
- package/dist/{chunk-KPCUD5A3.js → chunk-4U2TAOW7.js} +1 -1
- package/dist/{chunk-QEGSRMGV.js → chunk-52JOFQOK.js} +1 -1
- package/dist/{chunk-TFUWNX5F.js → chunk-5F74HGSQ.js} +1 -1
- package/dist/{chunk-Y2OSYQCG.js → chunk-5FOJ6N3V.js} +1 -1
- package/dist/{chunk-JP6GZTZA.js → chunk-5GYA4ERO.js} +1 -1
- package/dist/{chunk-YWMAGQ6C.js → chunk-5QJEJA5H.js} +3 -3
- package/dist/{chunk-FBGQXSBL.js → chunk-6ENEX5UH.js} +6 -6
- package/dist/{chunk-HC7GQZLN.js → chunk-6GBGKSNQ.js} +5 -5
- package/dist/{chunk-A5YNPQBD.js → chunk-6RWTLW75.js} +7 -7
- package/dist/{chunk-R2X6IQAD.js → chunk-6SJ4SKWZ.js} +1 -1
- package/dist/{chunk-UXSLCTCQ.js → chunk-6XJYUC7K.js} +1 -1
- package/dist/{chunk-XIMUZQJT.js → chunk-6Y7TK4EA.js} +2 -2
- package/dist/{chunk-UAKAKWWJ.js → chunk-7DG3WBGN.js} +1 -1
- package/dist/{chunk-W76IFXGP.js → chunk-7E4KZIX7.js} +1 -1
- package/dist/{chunk-YPMI6DNO.js → chunk-7NR6LMGH.js} +2 -2
- package/dist/{chunk-HMOB3FPD.js → chunk-7OX2AACL.js} +2 -2
- package/dist/{chunk-56XINHPT.js → chunk-7VSPHUIB.js} +24 -24
- package/dist/{chunk-3RQHJYRK.js → chunk-AIDYWH4D.js} +2 -2
- package/dist/{chunk-3HDUO5XG.js → chunk-AO2HCOE6.js} +2 -2
- package/dist/{chunk-3AWX2CAI.js → chunk-AWNX33WP.js} +1 -1
- package/dist/{chunk-NXBLILKG.js → chunk-BER2YLZT.js} +1 -1
- package/dist/{chunk-LRRPSQ25.js → chunk-BG52IECQ.js} +27 -4
- package/dist/{chunk-Z3JFXAIN.js → chunk-BHKCSRJG.js} +3 -3
- package/dist/{chunk-SHGAH24B.js → chunk-BIBBNDM3.js} +1 -1
- package/dist/{chunk-LZGYRZAP.js → chunk-C7SKFVXQ.js} +4 -4
- package/dist/{chunk-BCOGIX5I.js → chunk-CCY37D3C.js} +1 -1
- package/dist/{chunk-QILKDHJ7.js → chunk-CP6XE35Z.js} +2 -2
- package/dist/{chunk-NG22OOND.js → chunk-D6PNMFPF.js} +4 -4
- package/dist/{chunk-6XH6ETY6.js → chunk-DDAOY3DL.js} +1 -1
- package/dist/{chunk-LGTGY32U.js → chunk-DEBKL7WW.js} +4 -4
- package/dist/{chunk-Z7DIOYLS.js → chunk-DG3DWHYJ.js} +3 -3
- package/dist/{chunk-FNWXPIP4.js → chunk-DOO6M2XM.js} +5 -5
- package/dist/{chunk-FKMNMSZE.js → chunk-DXZRXNIC.js} +1 -1
- package/dist/{chunk-EOIHESMU.js → chunk-EEY77PKF.js} +1 -1
- package/dist/{chunk-B42HMZSQ.js → chunk-ERIXGUSV.js} +1 -1
- package/dist/{chunk-PQVIARTA.js → chunk-FBB2YMKB.js} +1 -1
- package/dist/{chunk-LCC7SS6F.js → chunk-FEJK36FV.js} +1 -1
- package/dist/{chunk-UO766M5I.js → chunk-FKANX6A7.js} +1 -1
- package/dist/{chunk-AZIJQ6IM.js → chunk-G3ABALZ7.js} +77 -12
- package/dist/{chunk-AAAJKHJM.js → chunk-G4MVORCE.js} +5 -5
- package/dist/{chunk-Y3CXCRCP.js → chunk-G66AOAYN.js} +1 -1
- package/dist/{chunk-YGE6OCHC.js → chunk-G6D6U2EY.js} +4 -4
- package/dist/{chunk-QADGKJAC.js → chunk-GRIGIKC4.js} +3 -3
- package/dist/{chunk-3OFIIUGD.js → chunk-GVVWEBTD.js} +3 -3
- package/dist/{chunk-N4JBGOHA.js → chunk-HBOSSJWS.js} +3 -3
- package/dist/{chunk-YNBQSYY5.js → chunk-HJ2DJJIK.js} +120 -7
- package/dist/{chunk-YWH7XWOX.js → chunk-HPDR3EL7.js} +4 -4
- package/dist/{chunk-VHKJIGNR.js → chunk-IMI5ZAOA.js} +1 -1
- package/dist/{chunk-BPNPJVYP.js → chunk-IQI5LAEK.js} +1 -1
- package/dist/{chunk-A5TICGUL.js → chunk-IVX4CW6I.js} +2 -2
- package/dist/{chunk-2NNTKVDN.js → chunk-KAKURNNS.js} +1 -1
- package/dist/{chunk-APOS4EIO.js → chunk-KP3J52RW.js} +3 -3
- package/dist/{chunk-X44QG7ES.js → chunk-KVPCFVAH.js} +1 -1
- package/dist/{chunk-DPS33ERV.js → chunk-KZSBPAEJ.js} +2 -2
- package/dist/{chunk-GLMR5PRH.js → chunk-L23CONP7.js} +2 -2
- package/dist/{chunk-WH2TTW4G.js → chunk-LDYQPD5H.js} +3 -3
- package/dist/{chunk-YROE2BJ6.js → chunk-MAY4VWEG.js} +2 -2
- package/dist/{chunk-4XFVEIPV.js → chunk-MLIRYXZ2.js} +63 -10
- package/dist/{chunk-DLATN3UV.js → chunk-MNEVSKUY.js} +1 -1
- package/dist/{chunk-ZHHGFNTZ.js → chunk-NF7JS7XW.js} +1 -1
- package/dist/{chunk-ZB3ZSZSY.js → chunk-OAP66FCX.js} +2 -2
- package/dist/{chunk-DDWLI43S.js → chunk-PCLIU4BP.js} +156 -156
- package/dist/{chunk-XRPN4YJ3.js → chunk-Q2RTUZXB.js} +4 -4
- package/dist/{chunk-OAYFVKNM.js → chunk-QHQW3VHV.js} +1 -1
- package/dist/{chunk-DLJSC6YA.js → chunk-QJTG3DN7.js} +1 -1
- package/dist/{chunk-MRQIIVHK.js → chunk-QWXBLCVK.js} +1 -1
- package/dist/{chunk-S4SSKW2Q.js → chunk-QZJY4RMF.js} +3 -3
- package/dist/{chunk-MXEEMTCV.js → chunk-R5YD5DIP.js} +16 -16
- package/dist/{chunk-MKO45WBR.js → chunk-RHEIOXVL.js} +1 -1
- package/dist/{chunk-VWSJP5PY.js → chunk-RZTSXHWF.js} +9 -9
- package/dist/{chunk-JUJIKD6I.js → chunk-S5OI42DL.js} +3 -3
- package/dist/{chunk-ZXMNWYAU.js → chunk-SDJ3TONY.js} +3 -3
- package/dist/{chunk-76HWKZMH.js → chunk-SJTFU3YJ.js} +6 -6
- package/dist/{chunk-LZX43KPR.js → chunk-SLJDYBLE.js} +1 -1
- package/dist/{chunk-L3L4KCBJ.js → chunk-SPHPROWZ.js} +2 -2
- package/dist/{chunk-2M5IU5MA.js → chunk-SS3FTK77.js} +1 -1
- package/dist/{chunk-AQPS7W6G.js → chunk-TEHJ5TOU.js} +11 -11
- package/dist/{chunk-F546SXKC.js → chunk-THMMMWIT.js} +66 -18
- package/dist/{chunk-SI7JLNKV.js → chunk-TLELTVAN.js} +1 -1
- package/dist/{chunk-6JZPYITB.js → chunk-TRZXFWRO.js} +54 -23
- package/dist/{chunk-ZG3ZXYKX.js → chunk-U7A2EACP.js} +3 -3
- package/dist/{chunk-TCGYYUDX.js → chunk-UMLDPQ24.js} +2 -2
- package/dist/{chunk-DEQJVVAU.js → chunk-UNNOYMQI.js} +1 -1
- package/dist/{chunk-DFV4KVU7.js → chunk-VDSAXP3N.js} +1 -1
- package/dist/{chunk-3ACGTDYH.js → chunk-VFUMCL6H.js} +1 -1
- package/dist/{chunk-GS2I4OUQ.js → chunk-VGP4T2L6.js} +4 -4
- package/dist/{chunk-BU4NQU5R.js → chunk-VSJ3Y26C.js} +1 -1
- package/dist/{chunk-CKG3O7XJ.js → chunk-WQ7YIU4M.js} +3 -3
- package/dist/{chunk-GER43BIE.js → chunk-X4V5ZLNX.js} +1 -1
- package/dist/{chunk-FVEAYEMK.js → chunk-X6HOIDIR.js} +3 -3
- package/dist/{chunk-T56CQURA.js → chunk-XA5FPMYR.js} +1 -1
- package/dist/{chunk-HVT6NOTO.js → chunk-XC6EXJBA.js} +4 -4
- package/dist/{chunk-DTNA2PBW.js → chunk-XIJIFRPA.js} +10 -10
- package/dist/chunk-XMUG7XDN.js +546 -0
- package/dist/{chunk-RKEREP4O.js → chunk-XT7ZZJVD.js} +1 -1
- package/dist/{chunk-NSJUD5BW.js → chunk-Y73MI7UH.js} +12 -12
- package/dist/{chunk-H6ET4UWS.js → chunk-YB5IW32Y.js} +4 -4
- package/dist/{chunk-KOAWUIG6.js → chunk-YTP6L76N.js} +5 -5
- package/dist/{chunk-XB5G7WB3.js → chunk-YV5JIEYI.js} +2 -2
- package/dist/{chunk-SD5PWIUP.js → chunk-Z5ERWCOL.js} +1 -1
- package/dist/{chunk-7UXI2DMI.js → chunk-ZB34E2OV.js} +10 -10
- package/dist/{chunk-GAUPRBOT.js → chunk-ZGNMI2WJ.js} +1 -1
- package/dist/{chunk-A2TRWGTX.js → chunk-ZGRLIQLE.js} +3 -3
- package/dist/{chunk-QEFKJLEY.js → chunk-ZL3D7XTR.js} +1 -1
- package/dist/{chunk-KPJYEYGL.js → chunk-ZLMVXK4O.js} +10 -10
- package/dist/{chunk-OJPN3XEN.js → chunk-ZSZVJ2FR.js} +1 -1
- package/dist/{cleanup-graph-garbage-3LT5R5VO.js → cleanup-graph-garbage-M5OYEPRR.js} +8 -8
- package/dist/{cli-shutdown-M7SEMYVZ.js → cli-shutdown-AY2FMXD6.js} +1 -1
- package/dist/{cloud-sync-command-YZYG22F7.js → cloud-sync-command-PRC4GV62.js} +2 -2
- package/dist/{cloud-sync-db-init-3VYFHYEG.js → cloud-sync-db-init-IYXPCNSJ.js} +1 -1
- package/dist/{cloud-sync-shutdown-A4EIAFXO.js → cloud-sync-shutdown-3F6XASFF.js} +3 -3
- package/dist/{co-activation-DGPZOQNM.js → co-activation-LB56BYW2.js} +3 -3
- package/dist/{co-occurrence-XQZZCRWV.js → co-occurrence-TKPZB3IR.js} +6 -6
- package/dist/{consent-passphrase-XTAQJIKQ.js → consent-passphrase-YQLAAPPC.js} +2 -2
- package/dist/{conversation-entity-extractor-4PIYOIG5.js → conversation-entity-extractor-J2UZGFG3.js} +3 -3
- package/dist/{crdt-sync-ZLD5EI2T.js → crdt-sync-GE6DVV2F.js} +4 -4
- package/dist/{crm-webhook-7FG7XJIG.js → crm-webhook-6HXNLEQV.js} +2 -2
- package/dist/{cto-delegation-gate-QCFAZHKI.js → cto-delegation-gate-QSWDPH67.js} +15 -15
- package/dist/{daemon-orchestration-K5RWVZA6.js → daemon-orchestration-YJ4GMHVM.js} +21 -21
- package/dist/{doc-graph-extractor-IJHGWTTK.js → doc-graph-extractor-XLAUARWE.js} +6 -6
- package/dist/{documents-CND4LHQK.js → documents-SZ76YQ3Q.js} +8 -8
- package/dist/{dreaming-CM26M46X.js → dreaming-ZQGMOZ2E.js} +20 -20
- package/dist/{employee-boot-brief-FUKC7RGM.js → employee-boot-brief-SV5JHCJL.js} +24 -24
- package/dist/{entity-boost-EIE76PER.js → entity-boost-KTADWOGJ.js} +1 -1
- package/dist/{exe-drift-HZXHPQRX.js → exe-drift-CT36U5DX.js} +4 -4
- package/dist/{exe-export-KZRXDR6W.js → exe-export-EJ4B74OU.js} +9 -9
- package/dist/{exe-import-QRELY26K.js → exe-import-UA6OIZ4C.js} +9 -9
- package/dist/{exe-key-53GDRW6F.js → exe-key-SKOOVJCT.js} +95 -94
- package/dist/{exe-org-I3H5H5VL.js → exe-org-WQARAD3U.js} +32 -32
- package/dist/{exe-snapshot-VUXHUEAC.js → exe-snapshot-2OXDANU3.js} +23 -23
- package/dist/{fast-db-init-NGVQV5J2.js → fast-db-init-YFUMI4NH.js} +1 -1
- package/dist/{founder-context-3QW7IIRX.js → founder-context-DMWIIDJ2.js} +2 -2
- package/dist/{founder-monitor-envelope-56PUEATO.js → founder-monitor-envelope-JYFWXZQ4.js} +4 -4
- package/dist/gateway/index.js +14 -14
- package/dist/{gateway-client-KFW7FKSO.js → gateway-client-ELHI2DWX.js} +1 -1
- package/dist/{git-staleness-QZM6S6ZB.js → git-staleness-K7HHMBWI.js} +3 -3
- package/dist/{global-procedures-NJ7UXIBT.js → global-procedures-ERZJFJUA.js} +5 -5
- package/dist/{graph-auto-extract-YKCCVXN2.js → graph-auto-extract-LUQ6QZ4P.js} +6 -6
- package/dist/{graph-query-A7JYKBHM.js → graph-query-KRNMWF77.js} +1 -1
- package/dist/{graph-rag-4HCOSELM.js → graph-rag-2W26GEGZ.js} +3 -3
- package/dist/{hook-integrity-PE3ZR6PD.js → hook-integrity-QFBZE5FK.js} +1 -1
- package/dist/{hook-prefetch-MEABRYQ3.js → hook-prefetch-WP3PEE4H.js} +16 -16
- package/dist/hooks/bug-report-worker.js +20 -20
- package/dist/hooks/codex-stop-task-finalizer.js +22 -22
- package/dist/hooks/commit-complete.js +19 -19
- 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 +19 -19
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +37 -37
- package/dist/hooks/session-end.js +24 -24
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +22 -22
- package/dist/hooks/subagent-stop.js +21 -21
- package/dist/hooks/summary-worker.js +23 -23
- package/dist/index.js +29 -29
- package/dist/{installer-CHKYUF4F.js → installer-ADGJLDVY.js} +7 -7
- package/dist/{installer-EB5YC2DW.js → installer-HCFVVQ6F.js} +7 -7
- package/dist/{installer-UMC6ZHE4.js → installer-ZNP4S32U.js} +7 -7
- package/dist/{intercom-queue-Y2XUK4NR.js → intercom-queue-NRECOZFL.js} +15 -15
- package/dist/lib/cloud-sync.js +16 -16
- 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 +91 -91
- package/dist/lib/exe-shims.js +47 -0
- package/dist/lib/hybrid-search.js +9 -9
- package/dist/lib/identity.js +3 -3
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +16 -16
- 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 +17 -17
- package/dist/lib/tmux-routing.js +15 -15
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-OZ7QAPSR.js → license-gate-CB2OCT2G.js} +3 -3
- package/dist/{license-recheck-KM7YKZQA.js → license-recheck-ZAEPWMY7.js} +1 -1
- package/dist/{license-sync-ZBDH7W22.js → license-sync-UW4UH7F5.js} +31 -18
- package/dist/{maintenance-worker-HGOCITGW.js → maintenance-worker-OY2E4BM5.js} +3 -1
- package/dist/mcp/register-tools.js +94 -93
- package/dist/mcp/server.js +97 -96
- 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 +19 -19
- 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 +19 -19
- package/dist/mcp/tools/send-message.js +18 -18
- package/dist/mcp/tools/update-task.js +18 -18
- package/dist/{mcp-http-config-EZVN4MTJ.js → mcp-http-config-IPXCT6Y5.js} +5 -5
- package/dist/{mcp-session-identity-JFVK5KWI.js → mcp-session-identity-GRKQ6X6M.js} +15 -15
- package/dist/{memory-cards-DR6VSUXF.js → memory-cards-JN32U2KA.js} +7 -7
- package/dist/{memory-graph-extractor-T4IT4I65.js → memory-graph-extractor-3LN2GSMZ.js} +7 -7
- package/dist/{memory-maintenance-ROT5N576.js → memory-maintenance-YTNSNHD5.js} +1 -1
- package/dist/{memory-poisoning-defense-WL4GVB6K.js → memory-poisoning-defense-ISKHR76K.js} +3 -3
- package/dist/{memory-pressure-watchdog-IHLTVILV.js → memory-pressure-watchdog-P4QHXE3Z.js} +16 -16
- package/dist/{memory-reflection-SR657DTL.js → memory-reflection-R6TAIUOR.js} +7 -7
- package/dist/{memory-write-repository-RWFVCHEL.js → memory-write-repository-JTJE3AG4.js} +1 -1
- package/dist/{monitor-grants-F7WGLWA6.js → monitor-grants-KX5J6AQ7.js} +3 -3
- package/dist/{monitor-identity-7PRT4U2X.js → monitor-identity-WXIGBLYH.js} +2 -2
- package/dist/{notification-ledger-QMQ5OU65.js → notification-ledger-DKHZKGZX.js} +16 -16
- package/dist/{notifications-WJY5SFDV.js → notifications-ZQVBRXG5.js} +15 -15
- package/dist/{orchestration-events-CV72DYKD.js → orchestration-events-B3OHNBR4.js} +4 -4
- package/dist/{orchestrator-HVNMWEKQ.js → orchestrator-OG6BEUHS.js} +17 -17
- package/dist/{org-brief-session-XABQAU5S.js → org-brief-session-MHDLBUO4.js} +15 -15
- package/dist/{org-consent-policy-QQYN2HFH.js → org-consent-policy-OP5L627O.js} +5 -5
- package/dist/{org-join-VQMMOCQF.js → org-join-H3PBH7US.js} +9 -9
- package/dist/{org-key-admin-WNSGDXLU.js → org-key-admin-UEDWV3F4.js} +11 -11
- package/dist/{org-key-epoch-VVF3BSM3.js → org-key-epoch-BW72L7RI.js} +5 -5
- package/dist/{org-key-pin-HMB7WW73.js → org-key-pin-XBLJOF4A.js} +3 -3
- package/dist/{org-membership-4U6YMOWQ.js → org-membership-UHVIK3UH.js} +4 -4
- package/dist/{org-partner-config-L63KMLYM.js → org-partner-config-G3BGVBQT.js} +8 -8
- package/dist/{org-partner-runtime-MBP7JUAM.js → org-partner-runtime-H6MROHM7.js} +15 -15
- package/dist/{org-row-visibility-BYV2V764.js → org-row-visibility-JK5REXVH.js} +1 -1
- package/dist/{pipeline-router-5U5QC4KJ.js → pipeline-router-7L7AV55A.js} +4 -4
- package/dist/{plan-limits-XB5F7LLD.js → plan-limits-RKGJXYKE.js} +6 -6
- package/dist/{pre-tool-use-impl-ALN4BK7X.js → pre-tool-use-impl-Q3JG5RNT.js} +34 -34
- package/dist/{project-name-FUSV5KYR.js → project-name-KQUBSY5O.js} +4 -4
- package/dist/{projection-worker-WP35CX6N.js → projection-worker-LGELT4E6.js} +2 -2
- package/dist/{prospective-memory-KDW7MLF6.js → prospective-memory-ZESC2I6H.js} +3 -3
- package/dist/{push-notifications-OMJABEMF.js → push-notifications-YL2DRTGQ.js} +16 -16
- package/dist/{reproject-worktree-memories-NJ235TUP.js → reproject-worktree-memories-VPZRYPQM.js} +15 -15
- package/dist/{reranker-YBVXW2ZZ.js → reranker-XC2LXYD3.js} +1 -1
- package/dist/{retrieval-health-DDJQFV4A.js → retrieval-health-H4QJN3UZ.js} +1 -1
- package/dist/{review-polling-5XYUDU77.js → review-polling-67WTTJHH.js} +16 -16
- package/dist/runtime/index.js +23 -23
- package/dist/{session-events-54MSRNRE.js → session-events-7XFO27M5.js} +16 -16
- package/dist/{session-kill-telemetry-WXINI7UW.js → session-kill-telemetry-2F5INRA6.js} +16 -16
- package/dist/{session-scope-Z6UWY4NL.js → session-scope-GEXQAEYT.js} +15 -15
- package/dist/{setup-wizard-DND3EEIN.js → setup-wizard-NQI6GC2N.js} +2 -2
- package/dist/{shard-manager-TKAQSRYN.js → shard-manager-TJ323N7P.js} +2 -2
- package/dist/{skill-refinement-NKMYHUPK.js → skill-refinement-EQ3YVAGM.js} +4 -4
- package/dist/{skill-retrieval-5DU6G5AT.js → skill-retrieval-LABSBPVT.js} +11 -11
- package/dist/{skill-usage-YDCLNH63.js → skill-usage-WNCOURZY.js} +4 -4
- package/dist/{stack-generate-manifest-WGOICIAB.js → stack-generate-manifest-RKQBTLEY.js} +4 -4
- package/dist/{stack-promote-F42CIN3Z.js → stack-promote-ZVOIMFRF.js} +4 -4
- package/dist/{stack-release-35E3D6R7.js → stack-release-ZCHLWJXF.js} +5 -5
- package/dist/{stack-update-V64H2645.js → stack-update-AP6OC7LU.js} +3 -3
- package/dist/{steward-gate-AICO7WO2.js → steward-gate-BNI4K3GP.js} +4 -4
- package/dist/{subagent-brief-injection-NMIRQ742.js → subagent-brief-injection-ZXKMB5TZ.js} +26 -26
- package/dist/{support-bug-actions-ASWOZHR5.js → support-bug-actions-OYM3K4RU.js} +3 -3
- package/dist/{support-inbox-K7T6WVJW.js → support-inbox-2JOCSJUT.js} +12 -12
- package/dist/{task-enforcement-ZYN67NIM.js → task-enforcement-LUXQXSE6.js} +16 -16
- package/dist/{task-request-inbox-CJF4XNSY.js → task-request-inbox-4TOOJ6IR.js} +5 -5
- package/dist/{task-scope-M3GVO3IK.js → task-scope-OEA6KUTX.js} +15 -15
- package/dist/{tasks-crud-K55N5YNO.js → tasks-crud-GBNROE5E.js} +15 -15
- package/dist/{tasks-notify-FM5PGZQ2.js → tasks-notify-FMSTX6Q5.js} +16 -16
- package/dist/{tasks-review-KUF6HEPS.js → tasks-review-EAOT3SKK.js} +15 -15
- package/dist/{telemetry-upload-DYE34SI5.js → telemetry-upload-OFNKPITF.js} +8 -8
- package/dist/{token-budget-AHFSPXIA.js → token-budget-7K5PMPP2.js} +4 -4
- package/dist/{tool-telemetry-2SAG4DCP.js → tool-telemetry-HC7NHNWD.js} +1 -1
- package/dist/tui/App.js +25 -25
- package/dist/{tui-data-BZ2RM634.js → tui-data-C6STFM4Z.js} +19 -19
- package/dist/{update-support-U44WRJEG.js → update-support-KOJIIKHY.js} +11 -11
- package/dist/{whatsapp-5OYLYPOW.js → whatsapp-JDAZGYPN.js} +2 -2
- package/dist/{wiki-acl-B5CI5FVD.js → wiki-acl-7JCCDS7U.js} +1 -1
- package/dist/{work-claims-GY7TTKUA.js → work-claims-MDJ3JEUD.js} +4 -4
- package/dist/{work-state-heartbeat-6ZG7YVYR.js → work-state-heartbeat-GFPR5OVW.js} +1 -1
- package/dist/{workflow-engine-AABOUOVF.js → workflow-engine-YYR2DNFP.js} +2 -2
- package/dist/{worktree-UFOTUXOL.js → worktree-XJITSSNN.js} +5 -5
- package/dist/{worktree-ownership-guard-XEYU6M2R.js → worktree-ownership-guard-WEJF2C5E.js} +1 -1
- package/dist/{worktree-sweep-DUZQ7T5H.js → worktree-sweep-3FJSAGNK.js} +6 -6
- package/package.json +1 -1
- package/release-notes.json +7 -7
- package/stack.release.json +3 -3
- /package/dist/{chunk-NEKVGGPF.js → chunk-3NHFXUWK.js} +0 -0
- /package/dist/{chunk-Z4MWS4PP.js → chunk-7GCPTNHK.js} +0 -0
- /package/dist/{chunk-2MRQBGTY.js → chunk-7QIEF6OZ.js} +0 -0
- /package/dist/{chunk-SBOUSFLP.js → chunk-DHRIW7RJ.js} +0 -0
- /package/dist/{chunk-FNEUZBKI.js → chunk-E5RCYOLD.js} +0 -0
- /package/dist/{chunk-NOJUQ7YQ.js → chunk-FLC2S4BD.js} +0 -0
- /package/dist/{chunk-BILTDY5P.js → chunk-GVTIDG37.js} +0 -0
- /package/dist/{chunk-2KH6MZL5.js → chunk-HEEKYE6D.js} +0 -0
- /package/dist/{chunk-KVZB65B5.js → chunk-MY6P4E5J.js} +0 -0
- /package/dist/{chunk-4RFLBGOW.js → chunk-OMMQNLFE.js} +0 -0
- /package/dist/{chunk-NV7C4XKQ.js → chunk-QYCRJ76J.js} +0 -0
- /package/dist/{chunk-7WYV32ZH.js → chunk-USDMXIPZ.js} +0 -0
- /package/dist/{chunk-DJKUA73M.js → chunk-ZWQWLUZA.js} +0 -0
- /package/dist/{core-memory-GUEI64AZ.js → core-memory-DQ5A24DD.js} +0 -0
- /package/dist/{memory-isolation-6DALQPS2.js → memory-isolation-2M3GFNWG.js} +0 -0
- /package/dist/{oauth-server-7VWBWDO5.js → oauth-server-NWVJ26NL.js} +0 -0
- /package/dist/{project-boot-RSVYDIZF.js → project-boot-JAGN65MZ.js} +0 -0
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
// src/lib/exe-shims.ts
|
|
2
|
+
import {
|
|
3
|
+
closeSync,
|
|
4
|
+
constants as fsConstants,
|
|
5
|
+
existsSync,
|
|
6
|
+
linkSync,
|
|
7
|
+
openSync,
|
|
8
|
+
readSync,
|
|
9
|
+
lstatSync,
|
|
10
|
+
mkdirSync,
|
|
11
|
+
readdirSync,
|
|
12
|
+
readFileSync,
|
|
13
|
+
realpathSync,
|
|
14
|
+
renameSync,
|
|
15
|
+
rmSync,
|
|
16
|
+
statSync,
|
|
17
|
+
writeFileSync
|
|
18
|
+
} from "fs";
|
|
19
|
+
import { randomBytes } from "crypto";
|
|
20
|
+
import { spawn, spawnSync } from "child_process";
|
|
21
|
+
import path from "path";
|
|
22
|
+
import os from "os";
|
|
23
|
+
var SHIM_MARKER = "# managed-by: exe-os postinstall";
|
|
24
|
+
function readBinEntries(packageRoot) {
|
|
25
|
+
const pkgPath = path.join(packageRoot, "package.json");
|
|
26
|
+
let pkg;
|
|
27
|
+
try {
|
|
28
|
+
pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
29
|
+
} catch {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
const bin = pkg.bin;
|
|
33
|
+
if (!bin || typeof bin !== "object") return [];
|
|
34
|
+
return Object.entries(bin).filter((entry) => typeof entry[1] === "string").map(([name, distRelative]) => ({ name, distRelative }));
|
|
35
|
+
}
|
|
36
|
+
function isRealGlobalInstall(env = process.env) {
|
|
37
|
+
return env.npm_config_global === "true";
|
|
38
|
+
}
|
|
39
|
+
var MAX_CAPTURE_BYTES = 64 * 1024;
|
|
40
|
+
function spawnLoginShellCapture(shell, script, env, timeoutMs) {
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
let settled = false;
|
|
43
|
+
let out = "";
|
|
44
|
+
let child;
|
|
45
|
+
try {
|
|
46
|
+
child = spawn(shell, ["-lic", script], {
|
|
47
|
+
env: { ...env },
|
|
48
|
+
detached: true,
|
|
49
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
50
|
+
});
|
|
51
|
+
} catch {
|
|
52
|
+
resolve(null);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const timer = setTimeout(() => finish(null), timeoutMs);
|
|
56
|
+
function finish(result) {
|
|
57
|
+
if (settled) return;
|
|
58
|
+
settled = true;
|
|
59
|
+
try {
|
|
60
|
+
clearTimeout(timer);
|
|
61
|
+
} catch {
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
child.stdout?.removeAllListeners();
|
|
65
|
+
child.stderr?.removeAllListeners();
|
|
66
|
+
child.removeAllListeners();
|
|
67
|
+
} catch {
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
child.stdout?.destroy();
|
|
71
|
+
} catch {
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
child.stderr?.destroy();
|
|
75
|
+
} catch {
|
|
76
|
+
}
|
|
77
|
+
if (child.pid) {
|
|
78
|
+
try {
|
|
79
|
+
process.kill(-child.pid, "SIGKILL");
|
|
80
|
+
} catch {
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
resolve(result);
|
|
85
|
+
} catch {
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
child.stdout?.on("data", (chunk) => {
|
|
90
|
+
try {
|
|
91
|
+
out += chunk.toString("utf8");
|
|
92
|
+
if (out.length > MAX_CAPTURE_BYTES) {
|
|
93
|
+
finish(null);
|
|
94
|
+
}
|
|
95
|
+
} catch {
|
|
96
|
+
finish(null);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
} catch {
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
child.stderr?.on("data", () => {
|
|
103
|
+
});
|
|
104
|
+
} catch {
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
child.on("error", () => {
|
|
108
|
+
try {
|
|
109
|
+
finish(null);
|
|
110
|
+
} catch {
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch {
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
child.on("exit", () => {
|
|
117
|
+
try {
|
|
118
|
+
finish(out);
|
|
119
|
+
} catch {
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
} catch {
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function extractMarked(haystack, begin, end) {
|
|
127
|
+
const startIdx = haystack.indexOf(begin);
|
|
128
|
+
if (startIdx === -1) return null;
|
|
129
|
+
const from = startIdx + begin.length;
|
|
130
|
+
const endIdx = haystack.indexOf(end, from);
|
|
131
|
+
if (endIdx === -1) return null;
|
|
132
|
+
return haystack.slice(from, endIdx);
|
|
133
|
+
}
|
|
134
|
+
var PATH_BEGIN = "__EXE_PATH_BEGIN__";
|
|
135
|
+
var PATH_END = "__EXE_PATH_END__";
|
|
136
|
+
async function resolveLoginPath(env = process.env, timeoutMs = 3e3) {
|
|
137
|
+
const shell = env.SHELL;
|
|
138
|
+
if (!shell) return { path: null, unknown: true };
|
|
139
|
+
const script = `printf '%s' "${PATH_BEGIN}\${PATH}${PATH_END}"`;
|
|
140
|
+
const stdout = await spawnLoginShellCapture(shell, script, env, timeoutMs);
|
|
141
|
+
if (stdout === null) return { path: null, unknown: true };
|
|
142
|
+
const extracted = extractMarked(stdout, PATH_BEGIN, PATH_END);
|
|
143
|
+
if (extracted === null) return { path: null, unknown: true };
|
|
144
|
+
return { path: extracted, unknown: false };
|
|
145
|
+
}
|
|
146
|
+
function splitPath(pathStr) {
|
|
147
|
+
return pathStr.split(path.delimiter).map((entry) => entry.trim()).filter(Boolean);
|
|
148
|
+
}
|
|
149
|
+
function parseProcessPath(pathStr) {
|
|
150
|
+
const entries = pathStr.split(":");
|
|
151
|
+
if (entries.some((entry) => entry === "")) return null;
|
|
152
|
+
return entries;
|
|
153
|
+
}
|
|
154
|
+
function indexOfDirOnPath(dir, entries) {
|
|
155
|
+
const target = path.resolve(dir);
|
|
156
|
+
return entries.findIndex((entry) => path.resolve(entry) === target);
|
|
157
|
+
}
|
|
158
|
+
function isDirOnPath(dir, pathStr) {
|
|
159
|
+
return indexOfDirOnPath(dir, splitPath(pathStr)) !== -1;
|
|
160
|
+
}
|
|
161
|
+
function shQuote(value) {
|
|
162
|
+
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
163
|
+
}
|
|
164
|
+
function shimScript(nodePath, entryPath, version) {
|
|
165
|
+
return [
|
|
166
|
+
"#!/bin/sh",
|
|
167
|
+
SHIM_MARKER,
|
|
168
|
+
`# version: ${version}`,
|
|
169
|
+
"# Generated by exe-os postinstall. Do not edit by hand \u2014 it is overwritten on",
|
|
170
|
+
"# every install/update. Delete it and reinstall if it is wrong.",
|
|
171
|
+
`NODE_BIN=${shQuote(nodePath)}`,
|
|
172
|
+
`ENTRY=${shQuote(entryPath)}`,
|
|
173
|
+
'if [ ! -x "$NODE_BIN" ]; then',
|
|
174
|
+
' echo "exe-os: $NODE_BIN not found \u2014 reinstall with: npm i -g @askexenow/exe-os" >&2',
|
|
175
|
+
" exit 127",
|
|
176
|
+
"fi",
|
|
177
|
+
'if [ ! -f "$ENTRY" ]; then',
|
|
178
|
+
' echo "exe-os: $ENTRY not found \u2014 reinstall with: npm i -g @askexenow/exe-os" >&2',
|
|
179
|
+
" exit 127",
|
|
180
|
+
"fi",
|
|
181
|
+
'exec "$NODE_BIN" "$ENTRY" "$@"',
|
|
182
|
+
""
|
|
183
|
+
].join("\n");
|
|
184
|
+
}
|
|
185
|
+
function parseShimPaths(content) {
|
|
186
|
+
const nodeMatch = /^NODE_BIN=(.*)$/m.exec(content);
|
|
187
|
+
const entryMatch = /^ENTRY=(.*)$/m.exec(content);
|
|
188
|
+
const unquote = (raw) => {
|
|
189
|
+
if (!raw) return null;
|
|
190
|
+
const trimmed = raw.trim();
|
|
191
|
+
if (!trimmed.startsWith("'") || !trimmed.endsWith("'") || trimmed.length < 2) return null;
|
|
192
|
+
return trimmed.slice(1, -1).split("'\\''").join("'");
|
|
193
|
+
};
|
|
194
|
+
return { nodeBin: unquote(nodeMatch?.[1]), entry: unquote(entryMatch?.[1]) };
|
|
195
|
+
}
|
|
196
|
+
function safeReadHead(file, maxBytes = 1024) {
|
|
197
|
+
let fd = null;
|
|
198
|
+
try {
|
|
199
|
+
fd = openSync(file, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);
|
|
200
|
+
const buf = Buffer.alloc(maxBytes);
|
|
201
|
+
const n = readSync(fd, buf, 0, maxBytes, 0);
|
|
202
|
+
return buf.subarray(0, n).toString("utf8");
|
|
203
|
+
} catch {
|
|
204
|
+
return "";
|
|
205
|
+
} finally {
|
|
206
|
+
if (fd !== null) {
|
|
207
|
+
try {
|
|
208
|
+
closeSync(fd);
|
|
209
|
+
} catch {
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function safeLstat(file) {
|
|
215
|
+
try {
|
|
216
|
+
return lstatSync(file);
|
|
217
|
+
} catch {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function createTempFile(dir, name, content, opts) {
|
|
222
|
+
const attempts = opts?.attempts ?? 5;
|
|
223
|
+
const randomFn = opts?.randomFn ?? (() => randomBytes(6).toString("hex"));
|
|
224
|
+
let lastErr = new Error(`createTempFile: exhausted ${attempts} attempt(s) for ${name}`);
|
|
225
|
+
for (let i = 0; i < attempts; i++) {
|
|
226
|
+
const tmp = path.join(dir, `.${name}.exe-shim-tmp-${randomFn()}`);
|
|
227
|
+
try {
|
|
228
|
+
writeFileSync(tmp, content, { mode: 493, flag: "wx" });
|
|
229
|
+
return tmp;
|
|
230
|
+
} catch (err) {
|
|
231
|
+
if (err.code === "EEXIST") {
|
|
232
|
+
lastErr = err;
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
throw err;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
throw lastErr;
|
|
239
|
+
}
|
|
240
|
+
function writeShimFile(dir, name, content, opts) {
|
|
241
|
+
const target = path.join(dir, name);
|
|
242
|
+
let tmp = null;
|
|
243
|
+
try {
|
|
244
|
+
const existing = safeLstat(target);
|
|
245
|
+
const isUpdate = existing !== null;
|
|
246
|
+
if (existing) {
|
|
247
|
+
if (existing.isSymbolicLink()) return { status: "skipped_symlink", path: target };
|
|
248
|
+
if (!existing.isFile()) return { status: "skipped_special", path: target };
|
|
249
|
+
if (!safeReadHead(target).includes(SHIM_MARKER)) return { status: "skipped_unmanaged", path: target };
|
|
250
|
+
}
|
|
251
|
+
tmp = createTempFile(dir, name, content);
|
|
252
|
+
opts?.beforePublish?.();
|
|
253
|
+
if (!isUpdate) {
|
|
254
|
+
try {
|
|
255
|
+
linkSync(tmp, target);
|
|
256
|
+
} catch (err) {
|
|
257
|
+
if (err.code === "EEXIST") {
|
|
258
|
+
return { status: "skipped_race", path: target };
|
|
259
|
+
}
|
|
260
|
+
throw err;
|
|
261
|
+
}
|
|
262
|
+
} else {
|
|
263
|
+
const recheck = safeLstat(target);
|
|
264
|
+
if (!recheck || recheck.isSymbolicLink() || !recheck.isFile() || !safeReadHead(target).includes(SHIM_MARKER)) {
|
|
265
|
+
return { status: "skipped_race", path: target };
|
|
266
|
+
}
|
|
267
|
+
renameSync(tmp, target);
|
|
268
|
+
}
|
|
269
|
+
return { status: "written", path: target };
|
|
270
|
+
} catch (err) {
|
|
271
|
+
return { status: "error", path: target, detail: err instanceof Error ? err.message : String(err) };
|
|
272
|
+
} finally {
|
|
273
|
+
if (tmp) {
|
|
274
|
+
try {
|
|
275
|
+
rmSync(tmp, { force: true });
|
|
276
|
+
} catch {
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function isTempShimName(name) {
|
|
282
|
+
return name.includes(".exe-shim-tmp-");
|
|
283
|
+
}
|
|
284
|
+
function removeStaleManagedShims(dir, keepNames) {
|
|
285
|
+
const removed = [];
|
|
286
|
+
let entries;
|
|
287
|
+
try {
|
|
288
|
+
entries = readdirSync(dir);
|
|
289
|
+
} catch {
|
|
290
|
+
return removed;
|
|
291
|
+
}
|
|
292
|
+
const isStillAManagedRegularFile = (full) => {
|
|
293
|
+
const st = safeLstat(full);
|
|
294
|
+
if (!st || st.isSymbolicLink() || !st.isFile()) return false;
|
|
295
|
+
return safeReadHead(full).includes(SHIM_MARKER);
|
|
296
|
+
};
|
|
297
|
+
for (const entry of entries) {
|
|
298
|
+
if (keepNames.has(entry)) continue;
|
|
299
|
+
if (isTempShimName(entry)) continue;
|
|
300
|
+
const full = path.join(dir, entry);
|
|
301
|
+
if (!isStillAManagedRegularFile(full)) continue;
|
|
302
|
+
if (isTempShimName(entry) || !isStillAManagedRegularFile(full)) continue;
|
|
303
|
+
try {
|
|
304
|
+
rmSync(full, { force: true });
|
|
305
|
+
removed.push(full);
|
|
306
|
+
} catch {
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return removed;
|
|
310
|
+
}
|
|
311
|
+
function isExecutableFile(p) {
|
|
312
|
+
try {
|
|
313
|
+
const st = statSync(p);
|
|
314
|
+
return st.isFile() && (st.mode & 73) !== 0;
|
|
315
|
+
} catch {
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
function isOwnExeOsPath(p) {
|
|
320
|
+
let real;
|
|
321
|
+
try {
|
|
322
|
+
real = realpathSync(p);
|
|
323
|
+
} catch {
|
|
324
|
+
real = p;
|
|
325
|
+
}
|
|
326
|
+
return /[\\/](@askexenow[\\/]exe-os|exe-os)(?:[\\/]|$)/.test(real);
|
|
327
|
+
}
|
|
328
|
+
function findShadowingExecutable(name, pathEntries, fromIndexExclusive) {
|
|
329
|
+
for (let i = fromIndexExclusive + 1; i < pathEntries.length; i++) {
|
|
330
|
+
const dir = pathEntries[i];
|
|
331
|
+
if (!dir) continue;
|
|
332
|
+
const candidate = path.join(dir, name);
|
|
333
|
+
if (!isExecutableFile(candidate)) continue;
|
|
334
|
+
if (isOwnExeOsPath(candidate)) continue;
|
|
335
|
+
return candidate;
|
|
336
|
+
}
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
function resolveNpmBinDir(opts) {
|
|
340
|
+
const env = opts.env ?? process.env;
|
|
341
|
+
if (env.npm_config_prefix) {
|
|
342
|
+
return path.join(env.npm_config_prefix, "bin");
|
|
343
|
+
}
|
|
344
|
+
const marker = `${path.sep}lib${path.sep}node_modules${path.sep}`;
|
|
345
|
+
const idx = opts.packageRoot.indexOf(marker);
|
|
346
|
+
if (idx !== -1) {
|
|
347
|
+
return path.join(opts.packageRoot.slice(0, idx), "bin");
|
|
348
|
+
}
|
|
349
|
+
const execDir = path.dirname(opts.execPath);
|
|
350
|
+
return execDir || null;
|
|
351
|
+
}
|
|
352
|
+
function verifyBinLink(binDir, name, expectedDistEntry) {
|
|
353
|
+
const binLinkPath = path.join(binDir, name);
|
|
354
|
+
let real;
|
|
355
|
+
try {
|
|
356
|
+
real = realpathSync(binLinkPath);
|
|
357
|
+
} catch {
|
|
358
|
+
return { binLinkPath, valid: false };
|
|
359
|
+
}
|
|
360
|
+
let expectedReal;
|
|
361
|
+
try {
|
|
362
|
+
expectedReal = realpathSync(expectedDistEntry);
|
|
363
|
+
} catch {
|
|
364
|
+
expectedReal = path.resolve(expectedDistEntry);
|
|
365
|
+
}
|
|
366
|
+
return { binLinkPath, valid: path.resolve(real) === path.resolve(expectedReal) };
|
|
367
|
+
}
|
|
368
|
+
function installStableShims(opts) {
|
|
369
|
+
const result = {
|
|
370
|
+
skipped: false,
|
|
371
|
+
written: [],
|
|
372
|
+
skippedUnmanaged: [],
|
|
373
|
+
skippedSymlinks: [],
|
|
374
|
+
skippedSpecial: [],
|
|
375
|
+
skippedRace: [],
|
|
376
|
+
skippedShadowed: [],
|
|
377
|
+
skippedNoBinLink: [],
|
|
378
|
+
removedStale: [],
|
|
379
|
+
errors: []
|
|
380
|
+
};
|
|
381
|
+
if (!opts.eligible) {
|
|
382
|
+
result.skipped = true;
|
|
383
|
+
result.reason = "not-eligible";
|
|
384
|
+
return result;
|
|
385
|
+
}
|
|
386
|
+
const homeDir = opts.homeDir ?? os.homedir();
|
|
387
|
+
const rawPath = opts.pathEnv ?? process.env.PATH ?? "";
|
|
388
|
+
const binDir = path.join(homeDir, ".local", "bin");
|
|
389
|
+
result.binDir = binDir;
|
|
390
|
+
const pathEntries = parseProcessPath(rawPath);
|
|
391
|
+
if (pathEntries === null) {
|
|
392
|
+
result.skipped = true;
|
|
393
|
+
result.reason = "path-unknown";
|
|
394
|
+
result.hint = `exe-os: your PATH could not be parsed cleanly (it contains an empty entry, which a shell reads as "current directory") \u2014 stable exe-* command shims were not installed, to avoid guessing. Fix your PATH and re-run \`npm i -g @askexenow/exe-os\` if you want them.`;
|
|
395
|
+
return result;
|
|
396
|
+
}
|
|
397
|
+
const binDirIndex = indexOfDirOnPath(binDir, pathEntries);
|
|
398
|
+
if (binDirIndex === -1) {
|
|
399
|
+
result.skipped = true;
|
|
400
|
+
result.reason = "not-on-path";
|
|
401
|
+
result.hint = `exe-os: ~/.local/bin is not on your PATH, so stable exe-* command shims were not installed. Add 'export PATH="$HOME/.local/bin:$PATH"' to your shell profile (e.g. ~/.zshrc or ~/.bashrc) to use them.`;
|
|
402
|
+
return result;
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
mkdirSync(binDir, { recursive: true });
|
|
406
|
+
} catch (err) {
|
|
407
|
+
result.skipped = true;
|
|
408
|
+
result.reason = "mkdir-failed";
|
|
409
|
+
result.errors.push({ name: "mkdir", detail: err instanceof Error ? err.message : String(err) });
|
|
410
|
+
return result;
|
|
411
|
+
}
|
|
412
|
+
const binEntries = readBinEntries(opts.packageRoot);
|
|
413
|
+
const execPath = opts.execPath ?? process.execPath;
|
|
414
|
+
const npmBinDir = opts.npmBinDir ?? resolveNpmBinDir({ packageRoot: opts.packageRoot, execPath, env: opts.env });
|
|
415
|
+
const keep = /* @__PURE__ */ new Set();
|
|
416
|
+
for (const entry of binEntries) {
|
|
417
|
+
keep.add(entry.name);
|
|
418
|
+
const shadow = findShadowingExecutable(entry.name, pathEntries, binDirIndex);
|
|
419
|
+
if (shadow) {
|
|
420
|
+
result.skippedShadowed.push({ name: entry.name, shadowedBy: shadow });
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
try {
|
|
424
|
+
const entryPath = path.join(opts.packageRoot, entry.distRelative);
|
|
425
|
+
if (!npmBinDir) {
|
|
426
|
+
result.skippedNoBinLink.push({ name: entry.name, binLinkPath: "" });
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
const linkCheck = verifyBinLink(npmBinDir, entry.name, entryPath);
|
|
430
|
+
if (!linkCheck.valid) {
|
|
431
|
+
result.skippedNoBinLink.push({ name: entry.name, binLinkPath: linkCheck.binLinkPath });
|
|
432
|
+
continue;
|
|
433
|
+
}
|
|
434
|
+
const content = shimScript(execPath, linkCheck.binLinkPath, opts.version);
|
|
435
|
+
const writeResult = writeShimFile(binDir, entry.name, content);
|
|
436
|
+
switch (writeResult.status) {
|
|
437
|
+
case "written":
|
|
438
|
+
result.written.push(writeResult.path);
|
|
439
|
+
break;
|
|
440
|
+
case "skipped_symlink":
|
|
441
|
+
result.skippedSymlinks.push(writeResult.path);
|
|
442
|
+
break;
|
|
443
|
+
case "skipped_unmanaged":
|
|
444
|
+
result.skippedUnmanaged.push(writeResult.path);
|
|
445
|
+
break;
|
|
446
|
+
case "skipped_special":
|
|
447
|
+
result.skippedSpecial.push(writeResult.path);
|
|
448
|
+
break;
|
|
449
|
+
case "skipped_race":
|
|
450
|
+
result.skippedRace.push(writeResult.path);
|
|
451
|
+
break;
|
|
452
|
+
case "error":
|
|
453
|
+
result.errors.push({ name: entry.name, detail: writeResult.detail });
|
|
454
|
+
break;
|
|
455
|
+
}
|
|
456
|
+
} catch (err) {
|
|
457
|
+
result.errors.push({ name: entry.name, detail: err instanceof Error ? err.message : String(err) });
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
try {
|
|
461
|
+
result.removedStale = removeStaleManagedShims(binDir, keep);
|
|
462
|
+
} catch (err) {
|
|
463
|
+
result.errors.push({ name: "stale-cleanup", detail: err instanceof Error ? err.message : String(err) });
|
|
464
|
+
}
|
|
465
|
+
return result;
|
|
466
|
+
}
|
|
467
|
+
function uninstallStableShims(opts) {
|
|
468
|
+
const homeDir = opts.homeDir ?? os.homedir();
|
|
469
|
+
const binDir = path.join(homeDir, ".local", "bin");
|
|
470
|
+
return removeStaleManagedShims(binDir, /* @__PURE__ */ new Set());
|
|
471
|
+
}
|
|
472
|
+
var NODE_BEGIN = "__EXE_NODE_BEGIN__";
|
|
473
|
+
var NODE_END = "__EXE_NODE_END__";
|
|
474
|
+
var EXE_BEGIN = "__EXE_EXE_BEGIN__";
|
|
475
|
+
var EXE_END = "__EXE_EXE_END__";
|
|
476
|
+
async function probeLoginShellNode(env = process.env, timeoutMs = 5e3) {
|
|
477
|
+
const shell = env.SHELL;
|
|
478
|
+
if (!shell) return { unknown: true, loginNodePath: null, loginExePath: null };
|
|
479
|
+
const script = `printf '%s' "${NODE_BEGIN}$(command -v node)${NODE_END}"; printf '%s' "${EXE_BEGIN}$(command -v exe-launch-agent)${EXE_END}"`;
|
|
480
|
+
const stdout = await spawnLoginShellCapture(shell, script, env, timeoutMs);
|
|
481
|
+
if (stdout === null) return { unknown: true, loginNodePath: null, loginExePath: null };
|
|
482
|
+
const node = extractMarked(stdout, NODE_BEGIN, NODE_END);
|
|
483
|
+
const exe = extractMarked(stdout, EXE_BEGIN, EXE_END);
|
|
484
|
+
if (node === null || exe === null) return { unknown: true, loginNodePath: null, loginExePath: null };
|
|
485
|
+
return {
|
|
486
|
+
unknown: false,
|
|
487
|
+
loginNodePath: node.trim() || null,
|
|
488
|
+
loginExePath: exe.trim() || null
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
function nodeVersionAt(nodePath, timeoutMs = 3e3) {
|
|
492
|
+
try {
|
|
493
|
+
const result = spawnSync(nodePath, ["--version"], { encoding: "utf8", timeout: timeoutMs });
|
|
494
|
+
if (result.error || result.status !== 0 || typeof result.stdout !== "string") return null;
|
|
495
|
+
return result.stdout.trim() || null;
|
|
496
|
+
} catch {
|
|
497
|
+
return null;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
function inspectManagedShim(binDir, name, exists = existsSync) {
|
|
501
|
+
const target = path.join(binDir, name);
|
|
502
|
+
const st = safeLstat(target);
|
|
503
|
+
if (!st) {
|
|
504
|
+
return { name, present: false, managed: false, nodeBin: null, entry: null, nodeExists: false, entryExists: false };
|
|
505
|
+
}
|
|
506
|
+
if (st.isSymbolicLink() || !st.isFile()) {
|
|
507
|
+
return { name, present: true, managed: false, nodeBin: null, entry: null, nodeExists: false, entryExists: false };
|
|
508
|
+
}
|
|
509
|
+
const content = safeReadHead(target, SHIM_INSPECT_MAX_BYTES);
|
|
510
|
+
const managed = content.includes(SHIM_MARKER);
|
|
511
|
+
const { nodeBin, entry } = parseShimPaths(content);
|
|
512
|
+
return {
|
|
513
|
+
name,
|
|
514
|
+
present: true,
|
|
515
|
+
managed,
|
|
516
|
+
nodeBin,
|
|
517
|
+
entry,
|
|
518
|
+
nodeExists: nodeBin ? exists(nodeBin) : false,
|
|
519
|
+
entryExists: entry ? exists(entry) : false
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
var SHIM_INSPECT_MAX_BYTES = 4096;
|
|
523
|
+
|
|
524
|
+
export {
|
|
525
|
+
SHIM_MARKER,
|
|
526
|
+
readBinEntries,
|
|
527
|
+
isRealGlobalInstall,
|
|
528
|
+
resolveLoginPath,
|
|
529
|
+
splitPath,
|
|
530
|
+
parseProcessPath,
|
|
531
|
+
indexOfDirOnPath,
|
|
532
|
+
isDirOnPath,
|
|
533
|
+
shimScript,
|
|
534
|
+
parseShimPaths,
|
|
535
|
+
createTempFile,
|
|
536
|
+
writeShimFile,
|
|
537
|
+
removeStaleManagedShims,
|
|
538
|
+
findShadowingExecutable,
|
|
539
|
+
resolveNpmBinDir,
|
|
540
|
+
verifyBinLink,
|
|
541
|
+
installStableShims,
|
|
542
|
+
uninstallStableShims,
|
|
543
|
+
probeLoginShellNode,
|
|
544
|
+
nodeVersionAt,
|
|
545
|
+
inspectManagedShim
|
|
546
|
+
};
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-VMHZSZQJ.js";
|
|
7
7
|
import {
|
|
8
8
|
filterWikiRecallResults
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZWQWLUZA.js";
|
|
10
10
|
import {
|
|
11
11
|
attachDocumentMetadata,
|
|
12
12
|
buildRawVisibilityFilter,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
buildVisibilityTierFilter,
|
|
17
17
|
buildWikiScopeFilter,
|
|
18
18
|
searchMemories
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-R5YD5DIP.js";
|
|
20
20
|
import {
|
|
21
21
|
blobToVector
|
|
22
22
|
} from "./chunk-OTVEIJUQ.js";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
getClient,
|
|
36
36
|
isFtsShadowCorruptionMessage,
|
|
37
37
|
repairFtsTable
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-HPDR3EL7.js";
|
|
39
39
|
|
|
40
40
|
// src/lib/memory-reads.ts
|
|
41
41
|
import crypto from "crypto";
|
|
@@ -597,7 +597,7 @@ async function hybridSearch(queryText, agentId, options) {
|
|
|
597
597
|
let rerankerAvailable = false;
|
|
598
598
|
if (process.env.EXE_IS_DAEMON === "1") {
|
|
599
599
|
try {
|
|
600
|
-
const { isRerankerAvailable } = await import("./reranker-
|
|
600
|
+
const { isRerankerAvailable } = await import("./reranker-XC2LXYD3.js");
|
|
601
601
|
rerankerAvailable = isRerankerAvailable();
|
|
602
602
|
} catch {
|
|
603
603
|
}
|
|
@@ -637,7 +637,7 @@ ${hydeDoc}`;
|
|
|
637
637
|
if (config.fileGrepEnabled === true && !process.env.VITEST && !onFailOpenHotPath) {
|
|
638
638
|
try {
|
|
639
639
|
if (process.env.EXE_IS_DAEMON !== "1") {
|
|
640
|
-
const { getProjectName } = await import("./project-name-
|
|
640
|
+
const { getProjectName } = await import("./project-name-KQUBSY5O.js");
|
|
641
641
|
const projectRoot = process.cwd();
|
|
642
642
|
const projectName = getProjectName(projectRoot);
|
|
643
643
|
if (projectName && projectName !== "tmp") {
|
|
@@ -680,7 +680,7 @@ ${hydeDoc}`;
|
|
|
680
680
|
runGraphArm(graphSearch(effectiveQuery, agentId, fetchOptions, Math.min(fetchLimit, 20))),
|
|
681
681
|
includeStructuredCards ? (async () => {
|
|
682
682
|
try {
|
|
683
|
-
const { searchMemoryCards } = await import("./memory-cards-
|
|
683
|
+
const { searchMemoryCards } = await import("./memory-cards-JN32U2KA.js");
|
|
684
684
|
return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
|
|
685
685
|
} catch {
|
|
686
686
|
return [];
|
|
@@ -689,7 +689,7 @@ ${hydeDoc}`;
|
|
|
689
689
|
// Reflection insights: patterns, contradictions, summaries across sessions
|
|
690
690
|
includeStructuredCards ? (async () => {
|
|
691
691
|
try {
|
|
692
|
-
const { searchReflections } = await import("./memory-reflection-
|
|
692
|
+
const { searchReflections } = await import("./memory-reflection-R6TAIUOR.js");
|
|
693
693
|
const insights = await searchReflections(effectiveQuery, agentId, 5, fetchOptions);
|
|
694
694
|
return insights.map((ins) => ({
|
|
695
695
|
id: ins.id,
|
|
@@ -801,7 +801,7 @@ ${hydeDoc}`;
|
|
|
801
801
|
let entityBoostRan = false;
|
|
802
802
|
if (merged.length > 0) {
|
|
803
803
|
try {
|
|
804
|
-
const { applyEntityBoost } = await import("./entity-boost-
|
|
804
|
+
const { applyEntityBoost } = await import("./entity-boost-KTADWOGJ.js");
|
|
805
805
|
const boosted = await applyEntityBoost(merged, effectiveQuery, getClient());
|
|
806
806
|
merged = boosted.results;
|
|
807
807
|
graphContextMap = boosted.graphContext;
|
|
@@ -828,7 +828,7 @@ ${hydeDoc}`;
|
|
|
828
828
|
try {
|
|
829
829
|
let rerankedRecords;
|
|
830
830
|
if (graphContextMap.size > 0) {
|
|
831
|
-
const { rerankWithContext } = await import("./reranker-
|
|
831
|
+
const { rerankWithContext } = await import("./reranker-XC2LXYD3.js");
|
|
832
832
|
const candidates = merged.map((m) => ({
|
|
833
833
|
text: m.raw_text,
|
|
834
834
|
context: graphContextMap.get(m.id)
|
|
@@ -836,7 +836,7 @@ ${hydeDoc}`;
|
|
|
836
836
|
const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
|
|
837
837
|
rerankedRecords = scored.map((s) => merged[s.index]);
|
|
838
838
|
} else {
|
|
839
|
-
const { rerank } = await import("./reranker-
|
|
839
|
+
const { rerank } = await import("./reranker-XC2LXYD3.js");
|
|
840
840
|
rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
|
|
841
841
|
}
|
|
842
842
|
if (rerankedRecords.length > 0) {
|
|
@@ -1293,7 +1293,7 @@ async function lightweightSearch(queryText, agentId, options) {
|
|
|
1293
1293
|
}
|
|
1294
1294
|
if (results.length >= 2) {
|
|
1295
1295
|
try {
|
|
1296
|
-
const { recordCoActivations } = await import("./co-activation-
|
|
1296
|
+
const { recordCoActivations } = await import("./co-activation-LB56BYW2.js");
|
|
1297
1297
|
const ids = results.slice(0, 10).map((r) => r.id);
|
|
1298
1298
|
void recordCoActivations(ids).catch((e) => {
|
|
1299
1299
|
try {
|
|
@@ -1309,7 +1309,7 @@ async function lightweightSearch(queryText, agentId, options) {
|
|
|
1309
1309
|
}
|
|
1310
1310
|
if (options?.includeStructuredCards !== true) return results;
|
|
1311
1311
|
try {
|
|
1312
|
-
const { searchMemoryCards } = await import("./memory-cards-
|
|
1312
|
+
const { searchMemoryCards } = await import("./memory-cards-JN32U2KA.js");
|
|
1313
1313
|
const cardResults = await searchMemoryCards(queryText, agentId, options);
|
|
1314
1314
|
if (cardResults.length > 0) {
|
|
1315
1315
|
return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
|
|
@@ -4,21 +4,21 @@ import {
|
|
|
4
4
|
assertUsableEpoch,
|
|
5
5
|
deriveOrgKeyIdentities,
|
|
6
6
|
describeEpochRemedy
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZGRLIQLE.js";
|
|
8
8
|
import {
|
|
9
9
|
InviteError,
|
|
10
10
|
resolveAuth,
|
|
11
11
|
resolveEndpoint
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-G4MVORCE.js";
|
|
13
13
|
import {
|
|
14
14
|
asOrgBillablePlan
|
|
15
15
|
} from "./chunk-W4H2MZAS.js";
|
|
16
16
|
import {
|
|
17
17
|
orgKeyFingerprintDisplay
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-52JOFQOK.js";
|
|
19
19
|
import {
|
|
20
20
|
ed25519PrivateKeyFromSeed
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ERIXGUSV.js";
|
|
22
22
|
|
|
23
23
|
// src/lib/org-key-admin.ts
|
|
24
24
|
import { sign } from "crypto";
|