@askexenow/exe-os 0.9.384 → 0.9.387
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-F5V4E4UL.js → active-agent-B2RK62MI.js} +4 -4
- package/dist/{active-agent-YTBB4ZQM.js → active-agent-I3JL4NRS.js} +4 -4
- package/dist/{agent-defs-generator-7TFISIJQ.js → agent-defs-generator-JZF6ZPCY.js} +2 -2
- package/dist/{agentic-ontology-XVTUVV7W.js → agentic-ontology-Y23IUPRF.js} +1 -1
- package/dist/{backfill-metadata-J6MXIDCW.js → backfill-metadata-5YPOOBT6.js} +6 -6
- package/dist/{backup-verify-6DVBQMDP.js → backup-verify-7M5WDE64.js} +1 -1
- package/dist/{behavior-injection-XDA7ZCYN.js → behavior-injection-4AOTSXRV.js} +9 -9
- package/dist/{behavior-promotion-4VLQ7LXK.js → behavior-promotion-YXJNIY4N.js} +8 -8
- package/dist/{behaviors-SCCZP7RZ.js → behaviors-7RRWAZE2.js} +7 -7
- package/dist/bin/agentic-ontology-backfill.js +7 -7
- package/dist/bin/agentic-reflection-backfill.js +8 -8
- package/dist/bin/agentic-semantic-label.js +7 -7
- package/dist/bin/backfill-conversations.js +6 -6
- package/dist/bin/backfill-responses.js +6 -6
- package/dist/bin/backfill-vectors.js +6 -6
- package/dist/bin/bulk-sync-postgres.js +12 -12
- package/dist/bin/cc-doctor.js +9 -9
- package/dist/bin/cleanup-stale-review-tasks.js +37 -27
- package/dist/bin/cli.js +21 -21
- package/dist/bin/customer-readiness.js +55 -25
- package/dist/bin/deferred-daemon-restart.js +87 -87
- package/dist/bin/exe-agent-config.js +2 -2
- package/dist/bin/exe-agent.js +5 -5
- package/dist/bin/exe-assign.js +7 -7
- package/dist/bin/exe-boot.js +36 -36
- package/dist/bin/exe-call.js +4 -4
- package/dist/bin/exe-cicd.js +19 -8
- package/dist/bin/exe-cloud.js +13 -13
- package/dist/bin/exe-config-dump.js +2 -2
- package/dist/bin/exe-dispatch.js +16 -16
- package/dist/bin/exe-doctor.js +6 -6
- package/dist/bin/exe-export-behaviors.js +11 -11
- package/dist/bin/exe-forget.js +9 -9
- package/dist/bin/exe-gateway.js +8 -8
- package/dist/bin/exe-grant.js +1 -1
- package/dist/bin/exe-healthcheck.js +9 -9
- package/dist/bin/exe-heartbeat.js +21 -21
- package/dist/bin/exe-kill.js +20 -20
- package/dist/bin/exe-launch-agent.js +26 -26
- package/dist/bin/exe-mcp.js +5 -5
- package/dist/bin/exe-memory-reads.js +6 -6
- package/dist/bin/exe-new-employee.js +8 -8
- package/dist/bin/exe-os-mcp-proxy.js +5 -5
- package/dist/bin/exe-pending-messages.js +16 -16
- package/dist/bin/exe-pending-notifications.js +15 -15
- package/dist/bin/exe-pending-reviews.js +16 -16
- package/dist/bin/exe-preflight.js +1 -1
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +51 -49
- package/dist/bin/exe-search.js +8 -8
- package/dist/bin/exe-session-cleanup.js +21 -21
- package/dist/bin/exe-settings.js +12 -12
- package/dist/bin/exe-start-codex.js +17 -17
- package/dist/bin/exe-start-opencode.js +15 -15
- package/dist/bin/exe-status.js +17 -17
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +4 -4
- package/dist/bin/exe-verify-running-images.js +1 -1
- package/dist/bin/git-sweep.js +17 -17
- package/dist/bin/graph-backfill.js +7 -7
- package/dist/bin/graph-export.js +7 -7
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +11 -11
- package/dist/bin/install.js +89 -89
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- 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/prune-orphan-chunks.js +41 -7
- package/dist/bin/reconcile-backlog.js +5 -3
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +6 -6
- package/dist/bin/scan-tasks.js +16 -16
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +6 -6
- package/dist/bin/stack-update.js +203 -34
- 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-VOFY43WG.js} +3 -3
- package/dist/{boot-review-sections-G5774FR5.js → boot-review-sections-WLYE6NUR.js} +14 -14
- package/dist/build-manifest.json +910 -910
- package/dist/{capability-cards-I3RHCF4F.js → capability-cards-2OBIKKX4.js} +2 -2
- package/dist/{capacity-monitor-7I7GDONU.js → capacity-monitor-IBFXHWPY.js} +16 -16
- package/dist/{catchup-brief-3T5PARIR.js → catchup-brief-GO6WLIT5.js} +21 -21
- package/dist/{chunk-OBBO6EJR.js → chunk-2ARLSZG4.js} +1 -1
- package/dist/{chunk-C5ISP5FO.js → chunk-2BKJAOO4.js} +11 -1
- package/dist/{chunk-MOANZQXF.js → chunk-2BWLCCHH.js} +1 -1
- package/dist/{chunk-GL47M7NY.js → chunk-2GUT5CWI.js} +74 -10
- package/dist/{chunk-VHHX4UCP.js → chunk-2XCUUS4V.js} +1 -1
- package/dist/{chunk-EOTZSAQL.js → chunk-37TRRK2Y.js} +1 -1
- package/dist/{chunk-RDWIKDMY.js → chunk-3EBK6P4M.js} +8 -20
- package/dist/{chunk-VF2KRROX.js → chunk-3MF6WQ4C.js} +1 -1
- package/dist/{chunk-EUGEFBGV.js → chunk-3UY535CJ.js} +3 -3
- package/dist/{chunk-JA3Y5TV6.js → chunk-4K6GSRSY.js} +36 -8
- package/dist/{chunk-I5XIW2BP.js → chunk-4LGKDHPX.js} +6 -6
- package/dist/{chunk-4AAMFWJT.js → chunk-4LYN5YNO.js} +2 -2
- package/dist/{chunk-R3CZWFFC.js → chunk-54FUOVUF.js} +9 -3
- package/dist/{chunk-XUZK23V7.js → chunk-5R23LRUP.js} +2 -2
- package/dist/{chunk-TNS63ATU.js → chunk-5SPQBSKC.js} +81 -13
- package/dist/{chunk-YRQ26MNP.js → chunk-64KFPFTH.js} +2 -2
- package/dist/{chunk-JFTUAV4J.js → chunk-6EUXAOZQ.js} +1 -1
- package/dist/{chunk-SDYWZRPN.js → chunk-6LU7ZXES.js} +1 -1
- package/dist/{chunk-VLBHZ6TF.js → chunk-6N6RGS7J.js} +2 -2
- package/dist/{chunk-2FKU4ZEO.js → chunk-6NS3DX36.js} +9 -9
- package/dist/{chunk-P2UY34XE.js → chunk-7MYX6M72.js} +4 -4
- package/dist/{chunk-E7C2WNR5.js → chunk-7NBSOBWJ.js} +4 -4
- package/dist/{chunk-AHESD3KW.js → chunk-AEEW4PCH.js} +1 -1
- package/dist/{chunk-MPZ2AVNS.js → chunk-AHVXVA46.js} +1 -1
- package/dist/{chunk-KXYKSLW4.js → chunk-AOQDY7HP.js} +186 -29
- package/dist/{chunk-AGC2V7JS.js → chunk-B6CBN6EF.js} +1 -1
- package/dist/{chunk-C5HUMAA7.js → chunk-B7WVYLAQ.js} +67 -15
- package/dist/{chunk-QFAFKEB5.js → chunk-BFOLGB4D.js} +184 -45
- package/dist/{chunk-T5FEAQES.js → chunk-BKYIWS2X.js} +1 -1
- package/dist/{chunk-E3ZM32LF.js → chunk-CDBII52V.js} +11 -2
- package/dist/{chunk-ALRHGEAJ.js → chunk-CI5R7QV7.js} +1 -1
- package/dist/{chunk-P3QQ52QK.js → chunk-CWWJEMJ5.js} +2 -2
- package/dist/{chunk-PL4CFSQ7.js → chunk-DI4DONAA.js} +1 -1
- package/dist/{chunk-ZOTTYCP5.js → chunk-ETUNXGX7.js} +3 -3
- package/dist/{chunk-3B6FLNLV.js → chunk-EZH2LGJX.js} +1 -1
- package/dist/{chunk-LKTN22L6.js → chunk-FH7WKTVF.js} +21 -17
- package/dist/{chunk-LR5O2XWZ.js → chunk-FHSMIHLQ.js} +5 -5
- package/dist/{chunk-D3LXVAIQ.js → chunk-GD4OC5TP.js} +237 -74
- package/dist/{chunk-R5E7WNAC.js → chunk-GFBEIPLT.js} +3 -3
- package/dist/{chunk-NF5FOSLD.js → chunk-GGPYYM2R.js} +1 -1
- package/dist/{chunk-MROSARM5.js → chunk-GIO43XOP.js} +1 -1
- package/dist/{chunk-VOVFUKEB.js → chunk-GMKDUWTJ.js} +1 -1
- package/dist/{chunk-46VSBDUW.js → chunk-GN23NAD6.js} +2 -2
- package/dist/{chunk-P4PIZOL2.js → chunk-GXSDFCON.js} +3 -3
- package/dist/{chunk-MKM6D7JM.js → chunk-H274T3MD.js} +42 -5
- package/dist/{chunk-P2VVMGMI.js → chunk-H2N47OFR.js} +17 -9
- package/dist/{chunk-RB3J2WYQ.js → chunk-HIYGHRLV.js} +1 -1
- package/dist/{chunk-MC4IM2CC.js → chunk-HQFATN5L.js} +4 -4
- package/dist/{chunk-S26CV7BE.js → chunk-HTGSVQJP.js} +2 -2
- package/dist/{chunk-FVLNNNH6.js → chunk-I4HK2DHC.js} +2 -2
- package/dist/{chunk-APL7HUE3.js → chunk-I6FI4VPQ.js} +182 -28
- package/dist/{chunk-XEBKIWI7.js → chunk-IE4IHF5U.js} +7 -7
- package/dist/{chunk-BPVFZ6Q4.js → chunk-IOIBJY5D.js} +2 -2
- package/dist/{chunk-6YDY6ZTD.js → chunk-IWRCPC65.js} +3 -3
- package/dist/{chunk-HA63SH5W.js → chunk-IWY2OGQG.js} +1 -1
- package/dist/{chunk-DYVLEMKS.js → chunk-JAUIIIWQ.js} +1 -1
- package/dist/{chunk-PLII76NJ.js → chunk-JBUCA4OX.js} +33 -6
- package/dist/{chunk-EGOEB42T.js → chunk-JIIWN637.js} +3 -3
- package/dist/{chunk-JFJP6ATJ.js → chunk-JKVITSQE.js} +1 -1
- package/dist/{chunk-W6BZ4UGA.js → chunk-JORQ5EUU.js} +1 -1
- package/dist/{chunk-PWC3C5ME.js → chunk-JW4K6FJA.js} +4 -4
- package/dist/{chunk-VF3BZOZK.js → chunk-JY6IU2XF.js} +1 -1
- package/dist/{chunk-RVO5O5SR.js → chunk-KVH7IVG6.js} +6 -6
- package/dist/{chunk-3OX34OC3.js → chunk-LPMIQZDB.js} +6 -6
- package/dist/{chunk-W3KPQE7H.js → chunk-LSPNZX4H.js} +3 -3
- package/dist/{chunk-EYMFVITZ.js → chunk-MCEUIG26.js} +1 -1
- package/dist/{chunk-4YNA3CM6.js → chunk-MEVMJZST.js} +230 -56
- package/dist/{chunk-7J2ZQ4XN.js → chunk-MGWAAKNL.js} +1 -1
- package/dist/{chunk-3RGTLZNO.js → chunk-MMHKSDG3.js} +12 -12
- package/dist/{chunk-LSNBTGW4.js → chunk-N5STNP44.js} +1 -1
- package/dist/{chunk-IGJMS7C5.js → chunk-NBRYSWMU.js} +2 -2
- package/dist/{chunk-ZBPZDADW.js → chunk-NHUI52BC.js} +3 -3
- package/dist/{chunk-NYLJQ2M2.js → chunk-NPJDYPEW.js} +4 -4
- package/dist/{chunk-JJTPPAZY.js → chunk-NR3NACEK.js} +397 -225
- package/dist/{chunk-MUCNYSJP.js → chunk-NRLJOV7M.js} +32 -4
- package/dist/{chunk-L63V25HS.js → chunk-O6H2WG4X.js} +3 -3
- package/dist/{chunk-VJEJ7JNB.js → chunk-OFCTRALK.js} +1 -1
- package/dist/{chunk-ZT4LFTUJ.js → chunk-OH5D7YAO.js} +1 -1
- package/dist/{chunk-6BJCDWSM.js → chunk-OH6B7ICF.js} +1 -1
- package/dist/{chunk-PUBA5B4M.js → chunk-OKQCTYLW.js} +13 -9
- package/dist/{chunk-B7AMNZTC.js → chunk-OKVEJAZM.js} +2 -2
- package/dist/{chunk-CH7BUBP3.js → chunk-OONTCDVO.js} +3 -2
- package/dist/{chunk-NVFNADTX.js → chunk-OP376ITX.js} +3 -3
- package/dist/{chunk-JDDM6C57.js → chunk-ORHX5E7L.js} +1 -1
- package/dist/{chunk-FMIYFHLE.js → chunk-OT5XROGM.js} +2 -2
- package/dist/{chunk-KTKIFXIP.js → chunk-OYDTMTRC.js} +1 -1
- package/dist/{chunk-XSUALA32.js → chunk-PHH6LI6T.js} +2 -2
- package/dist/{chunk-KILR4FBR.js → chunk-PIDFJGTO.js} +3 -3
- package/dist/{chunk-YLFCH3VA.js → chunk-Q7QD323J.js} +97 -26
- package/dist/{chunk-P4XLIPB7.js → chunk-QCMOD4Y4.js} +1 -1
- package/dist/{chunk-72V3S44T.js → chunk-QSYY4R6R.js} +24 -9
- package/dist/{chunk-F4BBMIPG.js → chunk-RBFPPNXS.js} +2 -2
- package/dist/{chunk-GSLFH4AI.js → chunk-RO5V6HOB.js} +3 -3
- package/dist/{chunk-L3VUW5M4.js → chunk-RSDDZSEG.js} +1 -1
- package/dist/{chunk-CYCIX7AW.js → chunk-RSONCRBT.js} +2 -2
- package/dist/{chunk-LFUBEHFW.js → chunk-RT57D7C4.js} +39 -1
- package/dist/{chunk-UXN4BICC.js → chunk-RVRM6KW5.js} +1 -1
- package/dist/{chunk-PRDDPQLC.js → chunk-RWN2YDZ4.js} +4 -4
- package/dist/{chunk-3SUPEE6H.js → chunk-S4YBVRQW.js} +3 -3
- package/dist/{chunk-MB47DRF5.js → chunk-S6X2K77B.js} +2 -2
- package/dist/{chunk-7UHZBVP3.js → chunk-TU63ZMMS.js} +60 -24
- package/dist/{chunk-ELCRJGCH.js → chunk-TXCK3FV2.js} +2 -2
- package/dist/{chunk-RZN2LEAK.js → chunk-UQUFBENW.js} +3 -3
- package/dist/{chunk-2PZTMSMG.js → chunk-UTCTAAI5.js} +5 -5
- package/dist/{chunk-YLB365YX.js → chunk-UTJN3XEG.js} +3 -3
- package/dist/{chunk-QNZ4562V.js → chunk-VA47XBUX.js} +1 -1
- package/dist/{chunk-AZSTIAVL.js → chunk-VBPYYJPC.js} +1 -1
- package/dist/{chunk-CHIUS5QB.js → chunk-WN4RLIQA.js} +3 -3
- package/dist/{chunk-CM7N5MBY.js → chunk-XDU6WLTZ.js} +5 -5
- package/dist/{chunk-LFBLQE2P.js → chunk-Y42HGHXW.js} +1 -1
- package/dist/{chunk-P3UX5EH4.js → chunk-YGSWRRFH.js} +3 -3
- package/dist/{chunk-FHIFTSPL.js → chunk-YZ3I3PYP.js} +7 -2
- package/dist/{chunk-UX2EO653.js → chunk-Z2RU4QH5.js} +1 -1
- package/dist/{chunk-UOPCVFVR.js → chunk-ZAUHCQYK.js} +11 -11
- package/dist/{chunk-ELEGH4DX.js → chunk-ZUGQPYUY.js} +51 -4
- package/dist/{cleanup-graph-garbage-VQAJ2RBT.js → cleanup-graph-garbage-2XC5QBRR.js} +8 -8
- package/dist/{cloud-sync-command-J7NEFUY7.js → cloud-sync-command-VFH5JQWR.js} +2 -2
- package/dist/{cloud-sync-db-init-KWEMNMGA.js → cloud-sync-db-init-BZPNGF57.js} +1 -1
- package/dist/{cloud-sync-shutdown-P63AUTUI.js → cloud-sync-shutdown-6NSOC423.js} +2 -2
- package/dist/{co-activation-7IHRPBZN.js → co-activation-FJRUJYTD.js} +2 -2
- package/dist/{co-occurrence-R5AG4OAU.js → co-occurrence-BT3MOXL7.js} +6 -6
- package/dist/{content-extractor-ZLXC6GNR.js → content-extractor-OGXETBOX.js} +2 -2
- package/dist/{conversation-entity-extractor-7FRKLLBD.js → conversation-entity-extractor-QNSSPQWA.js} +4 -4
- package/dist/conversations-retention-XTBFJBUM.js +166 -0
- package/dist/{crdt-sync-IFRZOEIS.js → crdt-sync-CGMV77SA.js} +1 -1
- package/dist/{crm-webhook-L2S63ASV.js → crm-webhook-P75KIKIW.js} +2 -2
- package/dist/{cto-delegation-gate-3WU7OHX7.js → cto-delegation-gate-MZFADWVI.js} +15 -15
- package/dist/{daemon-orchestration-3VQYKLOR.js → daemon-orchestration-JSG2HFW2.js} +23 -19
- package/dist/{doc-graph-extractor-YIR5E7OF.js → doc-graph-extractor-GT37KT2Q.js} +6 -6
- package/dist/{documents-QEHPTYIY.js → documents-HA2MACFK.js} +7 -7
- package/dist/{dreaming-LNFE7DTN.js → dreaming-B6IMGYKE.js} +19 -19
- package/dist/{employee-boot-brief-ZTXDYNWM.js → employee-boot-brief-WULO5JFD.js} +23 -23
- package/dist/{entity-boost-R5N6JWXD.js → entity-boost-DLWE2J6N.js} +1 -1
- package/dist/{exe-drift-WYSJVZFO.js → exe-drift-ORK26KWM.js} +3 -3
- package/dist/{exe-export-GOLNAEAV.js → exe-export-EESPIBX6.js} +8 -8
- package/dist/{exe-import-U4BSI6OH.js → exe-import-SJZRARKE.js} +8 -8
- package/dist/{exe-key-V42G3NGO.js → exe-key-ZRJ7J4KH.js} +87 -87
- package/dist/{exe-org-U4GLQ6OP.js → exe-org-BIPZMGIH.js} +67 -36
- package/dist/{exe-snapshot-U7ONBYNY.js → exe-snapshot-RC33YE4G.js} +21 -21
- package/dist/{fast-db-init-W3NGKAEU.js → fast-db-init-LSDW3AP3.js} +1 -1
- package/dist/{founder-context-ZSIBRVDM.js → founder-context-TVJUSBFS.js} +2 -2
- package/dist/{founder-monitor-envelope-L3IWZLFY.js → founder-monitor-envelope-VMQPVKCN.js} +1 -1
- package/dist/gateway/index.js +9 -9
- package/dist/{git-staleness-OF24QXFZ.js → git-staleness-ZU45ORBY.js} +2 -2
- package/dist/{global-procedures-WSIOWO43.js → global-procedures-TSKWM4YS.js} +3 -3
- package/dist/{graph-auto-extract-IEVVN3L3.js → graph-auto-extract-6TKT5DXT.js} +6 -6
- package/dist/{graph-query-JDZWAVCU.js → graph-query-WGVVDQIA.js} +1 -1
- package/dist/{graph-rag-BKAD2XQA.js → graph-rag-E75K54QT.js} +4 -4
- package/dist/{hook-integrity-TPWDGX2M.js → hook-integrity-33F4OTV6.js} +1 -1
- package/dist/{hook-prefetch-FD6VGJJA.js → hook-prefetch-ZSB2IAIW.js} +16 -16
- package/dist/hooks/bug-report-worker.js +19 -19
- package/dist/hooks/codex-stop-task-finalizer.js +21 -21
- 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 +8 -8
- package/dist/hooks/ingest.js +14 -14
- 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 +12 -12
- package/dist/hooks/pre-compact.js +19 -19
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +35 -35
- package/dist/hooks/session-end.js +23 -23
- package/dist/hooks/session-start.js +26 -18
- package/dist/hooks/stop.js +22 -22
- package/dist/hooks/subagent-stop.js +22 -22
- package/dist/hooks/summary-worker.js +22 -22
- package/dist/index.js +25 -25
- package/dist/{installer-OTI5SA43.js → installer-PS2GWVJU.js} +7 -7
- package/dist/{installer-SRJGE4GU.js → installer-VE4Y7EYQ.js} +7 -7
- package/dist/{installer-NMOBSEZ2.js → installer-VTNQNGSP.js} +7 -7
- package/dist/{intercom-queue-4FFXCBHO.js → intercom-queue-GIE6URPU.js} +14 -14
- package/dist/lib/cloud-sync.js +14 -12
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/database.js +2 -2
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-write-worker-client.js +1 -1
- package/dist/lib/db-write-worker.js +11 -7
- package/dist/lib/db.js +2 -2
- package/dist/lib/delivery-truth.js +5 -1
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +4 -4
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon.js +90 -88
- package/dist/lib/hybrid-search.js +8 -8
- package/dist/lib/identity.js +2 -2
- package/dist/lib/license.js +8 -4
- package/dist/lib/messaging.js +15 -15
- package/dist/lib/post-tool-memory.js +6 -6
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +7 -7
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +8 -8
- package/dist/lib/status-brief.js +2 -2
- package/dist/lib/store.js +6 -6
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +16 -16
- package/dist/lib/tmux-routing.js +14 -14
- package/dist/lib/tmux-status.js +3 -1
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-R4JWTWM4.js → license-gate-JOBLFMWY.js} +3 -3
- package/dist/{license-recheck-3MBJ4IJX.js → license-recheck-BZ32WRVP.js} +1 -1
- package/dist/{license-sync-BVSG3WMW.js → license-sync-AXGGCZSG.js} +119 -8
- package/dist/{local-secret-inventory-JWNBHZZ4.js → local-secret-inventory-MJT7NJLY.js} +2 -2
- package/dist/mcp/register-tools.js +86 -86
- package/dist/mcp/server.js +86 -86
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- 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 +4 -4
- 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 +17 -17
- package/dist/{mcp-child-registry-TIZERM7O.js → mcp-child-registry-5VUG5ATZ.js} +1 -1
- package/dist/{mcp-http-config-VUMSFWFH.js → mcp-http-config-KC732KUS.js} +5 -5
- package/dist/{mcp-session-identity-DZHWEJRV.js → mcp-session-identity-BL4MEFRI.js} +14 -14
- package/dist/{memory-cards-JVXTMSAT.js → memory-cards-VY5SUEOT.js} +6 -6
- package/dist/{memory-graph-extractor-PPBJMYFJ.js → memory-graph-extractor-KUAYIBYB.js} +7 -7
- package/dist/{memory-poisoning-defense-K5Q74XQ4.js → memory-poisoning-defense-VLLYEI7P.js} +2 -2
- package/dist/{memory-pressure-watchdog-YMJH5CSA.js → memory-pressure-watchdog-Y2WUPNXY.js} +15 -15
- package/dist/{memory-reflection-7BZWIHRE.js → memory-reflection-DZRRYMWH.js} +6 -6
- package/dist/{notification-ledger-XRAXL5OI.js → notification-ledger-VQKLAZMN.js} +15 -15
- package/dist/{notifications-JE3PX55X.js → notifications-NBCKXUKB.js} +14 -14
- package/dist/{orchestration-events-JCQ5F5IJ.js → orchestration-events-UE4RLVWY.js} +3 -3
- package/dist/{orchestrator-X65INDTR.js → orchestrator-YCS6W4OS.js} +16 -16
- package/dist/{org-brief-session-3PQ22UIX.js → org-brief-session-JQHHCCGX.js} +7 -7
- package/dist/{org-consent-policy-VGELJ7K7.js → org-consent-policy-DWGDWXMB.js} +1 -1
- package/dist/{org-join-6TO5ZYUZ.js → org-join-OFD63DUX.js} +3 -3
- package/dist/{org-key-admin-XHYVRRAZ.js → org-key-admin-DFLTIXHU.js} +4 -4
- package/dist/{org-membership-Y7T2BS57.js → org-membership-CLP2LDI5.js} +1 -1
- package/dist/{org-partner-config-OP4NEUNF.js → org-partner-config-3SEWKDDO.js} +2 -2
- package/dist/{org-partner-runtime-YNVUNT2R.js → org-partner-runtime-RC3MYK6L.js} +7 -7
- package/dist/{org-row-visibility-JBBXNYXD.js → org-row-visibility-H4CNVBW3.js} +1 -1
- package/dist/{pipeline-router-EIBB7QNG.js → pipeline-router-7GDTJB5E.js} +3 -3
- package/dist/{plan-limits-MEWXYLEN.js → plan-limits-GCSBJJRA.js} +5 -5
- package/dist/{pre-tool-use-impl-C6KJY22W.js → pre-tool-use-impl-DYGSDG3M.js} +91 -57
- package/dist/{project-name-UYORSNGE.js → project-name-RHWUY3AE.js} +3 -3
- package/dist/{projection-worker-WYFDWS57.js → projection-worker-6CDL4N2W.js} +2 -2
- package/dist/{prospective-memory-E6XBQFJA.js → prospective-memory-JDURSUXI.js} +2 -2
- package/dist/{push-notifications-M7YU63FY.js → push-notifications-MP3T4GH4.js} +15 -15
- package/dist/{reproject-worktree-memories-B5XMGJSD.js → reproject-worktree-memories-WTXQLSLM.js} +14 -14
- package/dist/{reranker-SRA4BR7N.js → reranker-FRNSY3NG.js} +1 -1
- package/dist/{retrieval-health-P2JPZUPV.js → retrieval-health-EXFGOVKR.js} +1 -1
- package/dist/{review-polling-KQPN7IQE.js → review-polling-BFXFQOMG.js} +15 -15
- package/dist/runtime/index.js +18 -18
- package/dist/{session-events-6LDDKKY3.js → session-events-SKRFRHCQ.js} +15 -15
- package/dist/{session-kill-telemetry-5DSRGWCL.js → session-kill-telemetry-HP3FHU55.js} +15 -15
- package/dist/{session-scope-XG5R3P3D.js → session-scope-4U36PKCC.js} +14 -14
- package/dist/{setup-wizard-7QFLZIKT.js → setup-wizard-KHU7Y623.js} +1 -1
- package/dist/{skill-refinement-I5RMAHSC.js → skill-refinement-YWHALWL4.js} +3 -3
- package/dist/{stack-generate-manifest-AKMZ3AUX.js → stack-generate-manifest-L44KUZ62.js} +6 -6
- package/dist/{stack-promote-34CE2HHF.js → stack-promote-RW7WAQHA.js} +6 -6
- package/dist/{stack-release-5PGWV5D4.js → stack-release-7RU2SH65.js} +131 -25
- package/dist/{stack-update-ZQQ5YYPJ.js → stack-update-AJD3FZ4U.js} +5 -5
- package/dist/{steward-gate-AQJ6KT2C.js → steward-gate-Y4QFNWED.js} +3 -3
- package/dist/{subagent-brief-injection-3GU7YAWY.js → subagent-brief-injection-ADDSO74U.js} +26 -26
- package/dist/{subagent-spawn-ledger-52I66CLW.js → subagent-spawn-ledger-OI23OT4I.js} +1 -1
- package/dist/{support-inbox-NY5TB3FN.js → support-inbox-LSCNMSCF.js} +10 -10
- package/dist/{support-outbox-KNI3FR3G.js → support-outbox-MOZSZTI6.js} +2 -2
- package/dist/{task-enforcement-CAA6D2MH.js → task-enforcement-W2WDBAIR.js} +15 -15
- package/dist/{task-request-inbox-QBZVU66E.js → task-request-inbox-4F3VB2B4.js} +1 -1
- package/dist/{task-scope-NHXB4ZRN.js → task-scope-VRVAHE23.js} +20 -14
- package/dist/{tasks-crud-JHSWL5NM.js → tasks-crud-JHADSQ4R.js} +14 -14
- package/dist/{tasks-notify-7PBE4U7T.js → tasks-notify-KSJORZOP.js} +15 -15
- package/dist/{tasks-review-PPPVEE62.js → tasks-review-CBHI5OT7.js} +16 -14
- package/dist/{telemetry-upload-YU2VRNHX.js → telemetry-upload-LRM4CG5G.js} +7 -7
- package/dist/{token-budget-QCMWKG3K.js → token-budget-IIZGO4PI.js} +3 -3
- package/dist/{tool-telemetry-LTOIC64I.js → tool-telemetry-4U4CP4O6.js} +1 -1
- package/dist/tui/App.js +47 -25
- package/dist/{tui-data-NDBXD6U7.js → tui-data-QGL5G67O.js} +18 -18
- package/dist/{update-support-BMJM4NG7.js → update-support-NSJLA64L.js} +13 -13
- package/dist/{whatsapp-QQLDAHUX.js → whatsapp-LLGB5RMQ.js} +1 -1
- package/dist/{wiki-acl-W6WDCVCP.js → wiki-acl-PIYYQZZX.js} +1 -1
- package/dist/{work-claims-6DM32MGO.js → work-claims-3YIDXG3Q.js} +3 -3
- package/dist/{work-state-heartbeat-HG7D4AWJ.js → work-state-heartbeat-PFULN6VV.js} +1 -1
- package/dist/{workflow-engine-ZWC6CCXE.js → workflow-engine-XMMWRP4D.js} +2 -2
- package/dist/{worktree-EMQCPGFE.js → worktree-WILU76HY.js} +4 -4
- package/dist/{worktree-sweep-XVUJZBXV.js → worktree-sweep-6ZGHXF3A.js} +5 -5
- package/package.json +7 -5
- package/release-notes.json +15 -37
- package/stack.release.json +11 -11
- package/dist/conversations-retention-C4BLKFEL.js +0 -54
- /package/dist/{chunk-GIRD7O5X.js → chunk-B7ACMQ2K.js} +0 -0
- /package/dist/{chunk-U2D6PJ5T.js → chunk-DOKN63TW.js} +0 -0
- /package/dist/{chunk-AJK2PVQW.js → chunk-F47NNIP3.js} +0 -0
- /package/dist/{chunk-VROK4X2L.js → chunk-GXQPJA76.js} +0 -0
- /package/dist/{chunk-TKAU7IJ2.js → chunk-GY2KEOVK.js} +0 -0
- /package/dist/{chunk-DN3ZR3UE.js → chunk-IVQGBWJI.js} +0 -0
- /package/dist/{chunk-JRIH6I7D.js → chunk-NQ3ZAYJL.js} +0 -0
- /package/dist/{chunk-XDVOGDBC.js → chunk-P2XGESMD.js} +0 -0
- /package/dist/{chunk-AWWDKF22.js → chunk-XK7JO45D.js} +0 -0
- /package/dist/{chunk-DZN7SDY2.js → chunk-YBD3O77S.js} +0 -0
- /package/dist/{chunk-M4XY4JRK.js → chunk-YKTJBFWH.js} +0 -0
- /package/dist/{core-memory-O6D5UC3T.js → core-memory-EWFVZB2X.js} +0 -0
- /package/dist/{memory-isolation-EBFFC6HF.js → memory-isolation-N3QQAF27.js} +0 -0
- /package/dist/{oauth-server-ZKBUHDFI.js → oauth-server-GTRPZOXH.js} +0 -0
- /package/dist/{project-boot-VEYFCCSL.js → project-boot-BDMMGYZG.js} +0 -0
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-P2XGESMD.js";
|
|
5
5
|
import {
|
|
6
|
+
closeReviewRows,
|
|
6
7
|
sessionScopeFilter
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-TU63ZMMS.js";
|
|
9
|
+
import "../chunk-OH6B7ICF.js";
|
|
10
|
+
import "../chunk-ORHX5E7L.js";
|
|
10
11
|
import "../chunk-ZKGWHT56.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-VA47XBUX.js";
|
|
12
13
|
import "../chunk-WT4RI36X.js";
|
|
13
14
|
import "../chunk-E23LNUWJ.js";
|
|
14
15
|
import "../chunk-TDF2XKLK.js";
|
|
15
16
|
import "../chunk-EIKATSE4.js";
|
|
16
17
|
import "../chunk-MJCSEIFI.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-CI5R7QV7.js";
|
|
19
|
+
import "../chunk-OKQCTYLW.js";
|
|
19
20
|
import "../chunk-VI4ATC6I.js";
|
|
20
21
|
import "../chunk-A27Q27CT.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-N5STNP44.js";
|
|
22
23
|
import "../chunk-T5SM4RXY.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-OFCTRALK.js";
|
|
24
25
|
import "../chunk-L5EPGGDP.js";
|
|
25
26
|
import "../chunk-AM7S2TY6.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-IOIBJY5D.js";
|
|
27
28
|
import "../chunk-CVYC6DUW.js";
|
|
28
29
|
import "../chunk-ANVHWV2X.js";
|
|
29
30
|
import "../chunk-HME6ITKV.js";
|
|
@@ -35,27 +36,27 @@ import "../chunk-NLEW62VC.js";
|
|
|
35
36
|
import "../chunk-IMYGYIAI.js";
|
|
36
37
|
import "../chunk-3DAEZILW.js";
|
|
37
38
|
import "../chunk-DRTJCG6B.js";
|
|
38
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-Z2RU4QH5.js";
|
|
39
40
|
import "../chunk-HYZV25LY.js";
|
|
40
41
|
import "../chunk-GJV3WDWM.js";
|
|
41
42
|
import "../chunk-MP2AFCGL.js";
|
|
42
43
|
import "../chunk-YRUZK2QA.js";
|
|
43
44
|
import {
|
|
44
45
|
getClient
|
|
45
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-2GUT5CWI.js";
|
|
46
47
|
import "../chunk-BBMTVAE3.js";
|
|
47
48
|
import "../chunk-TKDITWDN.js";
|
|
48
49
|
import "../chunk-5YEUPUV4.js";
|
|
49
|
-
import "../chunk-
|
|
50
|
+
import "../chunk-QSYY4R6R.js";
|
|
50
51
|
import "../chunk-YYB5PMTK.js";
|
|
51
52
|
import "../chunk-L5CGXEZC.js";
|
|
52
53
|
import "../chunk-QH5ZQ5SJ.js";
|
|
53
54
|
import "../chunk-ZQEJ4IX2.js";
|
|
54
55
|
import "../chunk-FXU7JOXK.js";
|
|
55
56
|
import "../chunk-WNBZJSQT.js";
|
|
56
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-5SPQBSKC.js";
|
|
57
58
|
import "../chunk-A7XLR3K7.js";
|
|
58
|
-
import "../chunk-
|
|
59
|
+
import "../chunk-YBD3O77S.js";
|
|
59
60
|
import "../chunk-A7JYF4RG.js";
|
|
60
61
|
import "../chunk-ARX6TAGN.js";
|
|
61
62
|
import "../chunk-MMS2HBRT.js";
|
|
@@ -68,6 +69,7 @@ import "../chunk-JKKZGDLP.js";
|
|
|
68
69
|
import "../chunk-MLKGABMK.js";
|
|
69
70
|
|
|
70
71
|
// src/bin/cleanup-stale-review-tasks.ts
|
|
72
|
+
var ZOMBIE_FILTER = "((status IN ('open', 'in_progress') AND title LIKE 'Review:%') OR (status = 'needs_review' AND title LIKE 'RESUME:%'))";
|
|
71
73
|
async function findZombies(beforeIso, assignedTo) {
|
|
72
74
|
const client = getClient();
|
|
73
75
|
const args = [];
|
|
@@ -83,10 +85,9 @@ async function findZombies(beforeIso, assignedTo) {
|
|
|
83
85
|
}
|
|
84
86
|
const csScope = sessionScopeFilter();
|
|
85
87
|
const result = await client.execute({
|
|
86
|
-
sql: `SELECT id, assigned_to, title, created_at
|
|
88
|
+
sql: `SELECT id, assigned_to, title, created_at, task_file, session_scope, reviewer, assigned_by, project_name
|
|
87
89
|
FROM tasks
|
|
88
|
-
WHERE
|
|
89
|
-
AND title LIKE 'Review:%'
|
|
90
|
+
WHERE ${ZOMBIE_FILTER}
|
|
90
91
|
${beforeClause}
|
|
91
92
|
${assigneeClause}${csScope.sql}
|
|
92
93
|
ORDER BY created_at ASC`,
|
|
@@ -96,7 +97,12 @@ async function findZombies(beforeIso, assignedTo) {
|
|
|
96
97
|
id: String(r.id),
|
|
97
98
|
assigned_to: String(r.assigned_to),
|
|
98
99
|
title: String(r.title),
|
|
99
|
-
created_at: String(r.created_at)
|
|
100
|
+
created_at: String(r.created_at),
|
|
101
|
+
task_file: r.task_file == null ? null : String(r.task_file),
|
|
102
|
+
session_scope: r.session_scope == null ? null : String(r.session_scope),
|
|
103
|
+
reviewer: r.reviewer == null ? null : String(r.reviewer),
|
|
104
|
+
assigned_by: r.assigned_by == null ? null : String(r.assigned_by),
|
|
105
|
+
project_name: r.project_name == null ? null : String(r.project_name)
|
|
100
106
|
}));
|
|
101
107
|
}
|
|
102
108
|
async function statsByAssignee() {
|
|
@@ -105,7 +111,7 @@ async function statsByAssignee() {
|
|
|
105
111
|
const r = await client.execute({
|
|
106
112
|
sql: `SELECT assigned_to, COUNT(*) as n, MIN(created_at) as oldest, MAX(created_at) as newest
|
|
107
113
|
FROM tasks
|
|
108
|
-
WHERE
|
|
114
|
+
WHERE ${ZOMBIE_FILTER}${sbScope.sql}
|
|
109
115
|
GROUP BY assigned_to ORDER BY n DESC`,
|
|
110
116
|
args: [...sbScope.args]
|
|
111
117
|
});
|
|
@@ -128,8 +134,7 @@ async function cancelZombies(ids) {
|
|
|
128
134
|
});
|
|
129
135
|
return Number(result.rowsAffected ?? 0);
|
|
130
136
|
}
|
|
131
|
-
async function main() {
|
|
132
|
-
const args = process.argv.slice(2);
|
|
137
|
+
async function main(args = process.argv.slice(2)) {
|
|
133
138
|
const apply = args.includes("--apply");
|
|
134
139
|
const stats = args.includes("--stats");
|
|
135
140
|
const beforeIdx = args.indexOf("--before");
|
|
@@ -139,12 +144,12 @@ async function main() {
|
|
|
139
144
|
await fastDbInit();
|
|
140
145
|
if (stats) {
|
|
141
146
|
await statsByAssignee();
|
|
142
|
-
|
|
147
|
+
return;
|
|
143
148
|
}
|
|
144
149
|
const zombies = await findZombies(beforeIso, assignee);
|
|
145
150
|
console.log(`Found ${zombies.length} zombie review task(s)${beforeIso ? ` created before ${beforeIso}` : ""}`);
|
|
146
151
|
if (zombies.length === 0) {
|
|
147
|
-
|
|
152
|
+
return;
|
|
148
153
|
}
|
|
149
154
|
const sample = zombies.slice(0, 10);
|
|
150
155
|
console.log("Sample (oldest 10):");
|
|
@@ -156,16 +161,21 @@ async function main() {
|
|
|
156
161
|
}
|
|
157
162
|
if (!apply) {
|
|
158
163
|
console.log("\nDRY RUN \u2014 pass --apply to cancel these tasks.");
|
|
159
|
-
|
|
164
|
+
return;
|
|
160
165
|
}
|
|
161
|
-
const
|
|
166
|
+
const resumeRows = zombies.filter((z) => z.title.toUpperCase().startsWith("RESUME:"));
|
|
167
|
+
const reviewRows = zombies.filter((z) => !resumeRows.includes(z));
|
|
168
|
+
const updated = await cancelZombies(reviewRows.map((z) => z.id)) + await closeReviewRows(getClient(), resumeRows, "cancelled", (/* @__PURE__ */ new Date()).toISOString());
|
|
162
169
|
console.log(`
|
|
163
170
|
Cancelled ${updated} zombie review task(s).`);
|
|
164
171
|
}
|
|
165
172
|
if (isMainModule(import.meta.url)) {
|
|
166
|
-
main().catch((err) => {
|
|
173
|
+
main().then(() => process.exit(0)).catch((err) => {
|
|
167
174
|
process.stderr.write(`[cleanup-stale-review-tasks] FATAL: ${err instanceof Error ? err.message : String(err)}
|
|
168
175
|
`);
|
|
169
176
|
process.exit(1);
|
|
170
177
|
});
|
|
171
178
|
}
|
|
179
|
+
export {
|
|
180
|
+
main
|
|
181
|
+
};
|
package/dist/bin/cli.js
CHANGED
|
@@ -127,7 +127,7 @@ if (args.includes("--global")) {
|
|
|
127
127
|
);
|
|
128
128
|
await runClaudeInstall();
|
|
129
129
|
} else if (args.includes("--commands-only")) {
|
|
130
|
-
const { copySlashCommands, resolvePackageRoot } = await import("../installer-
|
|
130
|
+
const { copySlashCommands, resolvePackageRoot } = await import("../installer-VTNQNGSP.js");
|
|
131
131
|
try {
|
|
132
132
|
const packageRoot = resolvePackageRoot();
|
|
133
133
|
const result = await copySlashCommands(packageRoot);
|
|
@@ -193,7 +193,7 @@ if (args.includes("--global")) {
|
|
|
193
193
|
const { runHooksCli } = await import("./hooks-cli.js");
|
|
194
194
|
process.exitCode = await runHooksCli(args.slice(1));
|
|
195
195
|
} else if (args[0] === "org") {
|
|
196
|
-
const { main: runOrg } = await import("../exe-org-
|
|
196
|
+
const { main: runOrg } = await import("../exe-org-BIPZMGIH.js");
|
|
197
197
|
await runOrg(args.slice(1));
|
|
198
198
|
} else if (args[0] === "mcp") {
|
|
199
199
|
const { main: runMcp } = await import("./exe-mcp.js");
|
|
@@ -222,7 +222,7 @@ if (args.includes("--global")) {
|
|
|
222
222
|
process.exit(1);
|
|
223
223
|
}
|
|
224
224
|
} else if (args[0] === "key") {
|
|
225
|
-
const { main: runKey } = await import("../exe-key-
|
|
225
|
+
const { main: runKey } = await import("../exe-key-ZRJ7J4KH.js");
|
|
226
226
|
await runKey(args.slice(1));
|
|
227
227
|
} else if (args[0] === "grant") {
|
|
228
228
|
const { main: runGrant } = await import("./exe-grant.js");
|
|
@@ -283,7 +283,7 @@ if (args.includes("--global")) {
|
|
|
283
283
|
process.exit(1);
|
|
284
284
|
}
|
|
285
285
|
} else if (args[0] === "backfill-metadata") {
|
|
286
|
-
const { backfillMetadata } = await import("../backfill-metadata-
|
|
286
|
+
const { backfillMetadata } = await import("../backfill-metadata-5YPOOBT6.js");
|
|
287
287
|
let batchSize = 50;
|
|
288
288
|
let limit = 0;
|
|
289
289
|
let dryRun = false;
|
|
@@ -314,10 +314,10 @@ if (args.includes("--global")) {
|
|
|
314
314
|
process.exit(1);
|
|
315
315
|
}
|
|
316
316
|
} else if (args[0] === "export") {
|
|
317
|
-
const { runExeExport } = await import("../exe-export-
|
|
317
|
+
const { runExeExport } = await import("../exe-export-EESPIBX6.js");
|
|
318
318
|
await runExeExport(args.slice(1));
|
|
319
319
|
} else if (args[0] === "import") {
|
|
320
|
-
const { runExeImport } = await import("../exe-import-
|
|
320
|
+
const { runExeImport } = await import("../exe-import-SJZRARKE.js");
|
|
321
321
|
await runExeImport(args.slice(1));
|
|
322
322
|
} else if (args[0] === "import-history") {
|
|
323
323
|
const { runImportHistory } = await import("./import-history.js");
|
|
@@ -342,7 +342,7 @@ if (args.includes("--global")) {
|
|
|
342
342
|
const { initStore } = await import("../lib/store.js");
|
|
343
343
|
await initStore();
|
|
344
344
|
const { sendMessage } = await import("../lib/messaging.js");
|
|
345
|
-
const { getActiveAgent } = await import("../active-agent-
|
|
345
|
+
const { getActiveAgent } = await import("../active-agent-I3JL4NRS.js");
|
|
346
346
|
const { agentId } = getActiveAgent();
|
|
347
347
|
const result = await sendMessage({
|
|
348
348
|
fromAgent: agentId,
|
|
@@ -366,7 +366,7 @@ ID: ${result.id}`);
|
|
|
366
366
|
process.exit(code);
|
|
367
367
|
} else if (args[0] === "doctor") {
|
|
368
368
|
if (args.includes("--drift")) {
|
|
369
|
-
const { runDrift } = await import("../exe-drift-
|
|
369
|
+
const { runDrift } = await import("../exe-drift-ORK26KWM.js");
|
|
370
370
|
await runDrift(args.slice(1));
|
|
371
371
|
} else {
|
|
372
372
|
const { runCcDoctor } = await import("./cc-doctor.js");
|
|
@@ -565,7 +565,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
|
|
|
565
565
|
const reason = args[2] || "manual";
|
|
566
566
|
let encryptionKey;
|
|
567
567
|
try {
|
|
568
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
568
|
+
const { fastDbInit } = await import("../fast-db-init-LSDW3AP3.js");
|
|
569
569
|
await fastDbInit({ caller: "cli" });
|
|
570
570
|
} catch {
|
|
571
571
|
}
|
|
@@ -613,7 +613,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
|
|
|
613
613
|
process.exit(1);
|
|
614
614
|
}
|
|
615
615
|
} else if (sub === "verify") {
|
|
616
|
-
const { verifyBackup } = await import("../backup-verify-
|
|
616
|
+
const { verifyBackup } = await import("../backup-verify-7M5WDE64.js");
|
|
617
617
|
let target;
|
|
618
618
|
const pathIdx = args.indexOf("--path");
|
|
619
619
|
if (pathIdx >= 0 && args[pathIdx + 1]) {
|
|
@@ -695,7 +695,7 @@ ${JSON.stringify(stormAlert, null, 2)}`);
|
|
|
695
695
|
process.exit(1);
|
|
696
696
|
}
|
|
697
697
|
} else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
|
|
698
|
-
const { runSetupWizard } = await import("../setup-wizard-
|
|
698
|
+
const { runSetupWizard } = await import("../setup-wizard-KHU7Y623.js");
|
|
699
699
|
await runSetupWizard({
|
|
700
700
|
skipModel: args.includes("--skip-model"),
|
|
701
701
|
nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
|
|
@@ -718,14 +718,14 @@ ${JSON.stringify(stormAlert, null, 2)}`);
|
|
|
718
718
|
const { runStackUpdateCli } = await import("./stack-update.js");
|
|
719
719
|
await runStackUpdateCli(args.slice(1));
|
|
720
720
|
} else if (args[0] === "release") {
|
|
721
|
-
const { parseReleaseArgs, runStackRelease } = await import("../stack-release-
|
|
721
|
+
const { parseReleaseArgs, runStackRelease } = await import("../stack-release-7RU2SH65.js");
|
|
722
722
|
const releaseFlags = parseReleaseArgs(args.slice(1));
|
|
723
723
|
await runStackRelease(releaseFlags);
|
|
724
724
|
} else if (args[0] === "stack-promote") {
|
|
725
|
-
const { runStackPromoteCli } = await import("../stack-promote-
|
|
725
|
+
const { runStackPromoteCli } = await import("../stack-promote-RW7WAQHA.js");
|
|
726
726
|
await runStackPromoteCli(args.slice(1));
|
|
727
727
|
} else if (args[0] === "stack-generate-manifest") {
|
|
728
|
-
const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-
|
|
728
|
+
const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-L44KUZ62.js");
|
|
729
729
|
process.exit(await runStackGenerateManifestCli(args.slice(1)));
|
|
730
730
|
} else if (args[0] === "repo-truth") {
|
|
731
731
|
const { runRepoTruthCli } = await import("./exe-repo-truth.js");
|
|
@@ -760,10 +760,10 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
|
|
|
760
760
|
`);
|
|
761
761
|
process.exit(report.failed > 0 ? 1 : 0);
|
|
762
762
|
} else if (args[0] === "snapshot") {
|
|
763
|
-
const { main: runSnapshot } = await import("../exe-snapshot-
|
|
763
|
+
const { main: runSnapshot } = await import("../exe-snapshot-RC33YE4G.js");
|
|
764
764
|
await runSnapshot(args.slice(1));
|
|
765
765
|
} else if (args[0] === "boot") {
|
|
766
|
-
const { projectBoot, parseBootArgs } = await import("../project-boot-
|
|
766
|
+
const { projectBoot, parseBootArgs } = await import("../project-boot-BDMMGYZG.js");
|
|
767
767
|
const bootOpts = parseBootArgs(args.slice(1));
|
|
768
768
|
console.log(await projectBoot(bootOpts));
|
|
769
769
|
} else if (args[0] === "brand") {
|
|
@@ -960,7 +960,7 @@ function numberAfter(args2, flag) {
|
|
|
960
960
|
return Number.isFinite(parsed) ? parsed : void 0;
|
|
961
961
|
}
|
|
962
962
|
async function runClaudeInstall() {
|
|
963
|
-
const { runInstaller } = await import("../installer-
|
|
963
|
+
const { runInstaller } = await import("../installer-VTNQNGSP.js");
|
|
964
964
|
try {
|
|
965
965
|
await runInstaller();
|
|
966
966
|
} catch (err) {
|
|
@@ -972,7 +972,7 @@ async function runClaudeInstall() {
|
|
|
972
972
|
}
|
|
973
973
|
}
|
|
974
974
|
async function runOpenCodeInstall() {
|
|
975
|
-
const { runOpenCodeInstaller } = await import("../installer-
|
|
975
|
+
const { runOpenCodeInstaller } = await import("../installer-PS2GWVJU.js");
|
|
976
976
|
try {
|
|
977
977
|
await runOpenCodeInstaller();
|
|
978
978
|
} catch (err) {
|
|
@@ -984,7 +984,7 @@ async function runOpenCodeInstall() {
|
|
|
984
984
|
}
|
|
985
985
|
}
|
|
986
986
|
async function runCodexInstall() {
|
|
987
|
-
const { runCodexInstaller } = await import("../installer-
|
|
987
|
+
const { runCodexInstaller } = await import("../installer-VE4Y7EYQ.js");
|
|
988
988
|
try {
|
|
989
989
|
await runCodexInstaller();
|
|
990
990
|
} catch (err) {
|
|
@@ -996,7 +996,7 @@ async function runCodexInstall() {
|
|
|
996
996
|
}
|
|
997
997
|
}
|
|
998
998
|
async function runClaudeCheck() {
|
|
999
|
-
const { detectMcpNameCollisions } = await import("../installer-
|
|
999
|
+
const { detectMcpNameCollisions } = await import("../installer-VTNQNGSP.js");
|
|
1000
1000
|
const claudeDir = path.join(os.homedir(), ".claude");
|
|
1001
1001
|
const settingsPath = path.join(claudeDir, "settings.json");
|
|
1002
1002
|
const claudeJsonPath = path.join(os.homedir(), ".claude.json");
|
|
@@ -1491,7 +1491,7 @@ async function runLicense(subArgs) {
|
|
|
1491
1491
|
process.exit(1);
|
|
1492
1492
|
}
|
|
1493
1493
|
async function runCloudSync() {
|
|
1494
|
-
const { runCloudSyncCli } = await import("../cloud-sync-command-
|
|
1494
|
+
const { runCloudSyncCli } = await import("../cloud-sync-command-VFH5JQWR.js");
|
|
1495
1495
|
await runCloudSyncCli();
|
|
1496
1496
|
}
|
|
1497
1497
|
async function runLogin(loginArgs) {
|
|
@@ -3,7 +3,7 @@ import "../chunk-MLKGABMK.js";
|
|
|
3
3
|
|
|
4
4
|
// src/bin/customer-readiness.ts
|
|
5
5
|
import { readFileSync, existsSync, readdirSync, statSync } from "fs";
|
|
6
|
-
import { execSync } from "child_process";
|
|
6
|
+
import { execSync, spawnSync } from "child_process";
|
|
7
7
|
import path from "path";
|
|
8
8
|
import { fileURLToPath } from "url";
|
|
9
9
|
|
|
@@ -33,6 +33,31 @@ function test(name, fn) {
|
|
|
33
33
|
fail++;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
+
function scan(program, args, opts = {}) {
|
|
37
|
+
const res = spawnSync(program, args, {
|
|
38
|
+
encoding: "utf8",
|
|
39
|
+
cwd: ROOT,
|
|
40
|
+
maxBuffer: 64 * 1024 * 1024
|
|
41
|
+
});
|
|
42
|
+
if (res.error) {
|
|
43
|
+
throw new Error(`${program} could not run (${res.error.message}) \u2014 the scan did not happen`);
|
|
44
|
+
}
|
|
45
|
+
if (res.signal) {
|
|
46
|
+
throw new Error(`${program} was killed by ${res.signal} \u2014 the scan did not happen`);
|
|
47
|
+
}
|
|
48
|
+
const emptyStatus = opts.emptyStatus ?? 1;
|
|
49
|
+
if (res.status === emptyStatus) return "";
|
|
50
|
+
if (res.status !== 0) {
|
|
51
|
+
const detail = (res.stderr ?? "").trim().split("\n")[0] ?? "";
|
|
52
|
+
throw new Error(
|
|
53
|
+
`${program} exited ${res.status} \u2014 the scan did not happen${detail ? `: ${detail}` : ""}`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
return res.stdout;
|
|
57
|
+
}
|
|
58
|
+
function scanLines(program, args, opts = {}) {
|
|
59
|
+
return scan(program, args, opts).split("\n").map((l) => l.trim()).filter(Boolean);
|
|
60
|
+
}
|
|
36
61
|
function readSrc(relPath) {
|
|
37
62
|
return readFileSync(path.join(ROOT, relPath), "utf8");
|
|
38
63
|
}
|
|
@@ -92,15 +117,15 @@ test("Session scoping \u2014 all task query files import scope helper", () => {
|
|
|
92
117
|
return true;
|
|
93
118
|
});
|
|
94
119
|
test("No unscoped task queries \u2014 all task queries have session scope or PK guard", () => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
120
|
+
const excluded = ["tasks-crud.ts", "__tests__", ".test.", "customer-readiness", "task-scope.ts"];
|
|
121
|
+
const rawOutput = scan("grep", [
|
|
122
|
+
"-rn",
|
|
123
|
+
"-B5",
|
|
124
|
+
"-A5",
|
|
125
|
+
"FROM.*tasks\\|UPDATE.*tasks",
|
|
126
|
+
"src/",
|
|
127
|
+
"--include=*.ts"
|
|
128
|
+
]).split("\n").filter((line) => !excluded.some((e) => line.includes(e))).join("\n").trim();
|
|
104
129
|
if (!rawOutput) return true;
|
|
105
130
|
const blocks = rawOutput.split(/^--$/m);
|
|
106
131
|
const unscoped = [];
|
|
@@ -231,10 +256,12 @@ test("No hardcoded 'exe' coordinator in SQL WHERE clauses", () => {
|
|
|
231
256
|
test("Build output \u2014 referenced standalone dist/bin scripts are explicit tsup entries", () => {
|
|
232
257
|
const pkg = JSON.parse(readSrc("package.json"));
|
|
233
258
|
const tsup = readSrc("tsup.config.ts");
|
|
234
|
-
const commandDocs =
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
259
|
+
const commandDocs = scanLines("grep", [
|
|
260
|
+
"-Rho",
|
|
261
|
+
"dist/bin/[A-Za-z0-9._-]*\\.js",
|
|
262
|
+
"src/commands",
|
|
263
|
+
"package.json"
|
|
264
|
+
]);
|
|
238
265
|
const refs = /* @__PURE__ */ new Set();
|
|
239
266
|
for (const value of Object.values(pkg.bin ?? {})) {
|
|
240
267
|
const match = value.match(/dist\/bin\/([^\/]+)\.js$/);
|
|
@@ -254,10 +281,14 @@ test("Build output \u2014 referenced standalone dist/bin scripts are explicit ts
|
|
|
254
281
|
return true;
|
|
255
282
|
});
|
|
256
283
|
test("Providers \u2014 active code imports lib/providers, not gateway/providers", () => {
|
|
257
|
-
const hits =
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
284
|
+
const hits = scanLines("grep", [
|
|
285
|
+
"-R",
|
|
286
|
+
"gateway/providers",
|
|
287
|
+
"-n",
|
|
288
|
+
"src",
|
|
289
|
+
"--include=*.ts",
|
|
290
|
+
"--include=*.tsx"
|
|
291
|
+
]).filter((line) => !line.includes("src/gateway/providers/") && !line.includes("src/bin/customer-readiness.ts"));
|
|
261
292
|
if (hits.length > 0) return `Deprecated provider imports: ${hits.slice(0, 3).join("; ")}`;
|
|
262
293
|
return true;
|
|
263
294
|
});
|
|
@@ -274,16 +305,18 @@ test("Support intake \u2014 customer CLI smoke test is routed", () => {
|
|
|
274
305
|
if (!registry.includes("registerSupportTools")) return "support MCP tools not registered";
|
|
275
306
|
return true;
|
|
276
307
|
});
|
|
277
|
-
test("Support intake \u2014 API health route and
|
|
308
|
+
test("Support intake \u2014 API health route and GoTrue license authority exist", () => {
|
|
278
309
|
const api = readSrc("api-router/src/index.ts");
|
|
279
310
|
const supportRoutes = readSrc("api-router/src/support-routes.ts");
|
|
280
311
|
const auth = readSrc("api-router/src/auth.ts");
|
|
312
|
+
const entitlement = readSrc("api-router/src/entitlement.ts");
|
|
281
313
|
const wrangler = readSrc("api-router/wrangler.toml");
|
|
282
314
|
if (!api.includes("/v1/support/health")) return "support health route missing";
|
|
283
315
|
if (!supportRoutes.includes("handleSupportHealth")) return "handleSupportHealth missing";
|
|
284
316
|
if (!supportRoutes.includes("validateSupportLicenseCredentials")) return "support intake not wired to shared license validation";
|
|
285
|
-
if (!auth.includes("env
|
|
286
|
-
if (!
|
|
317
|
+
if (!auth.includes("await resolveEffectiveEntitlement(env,")) return "support license entitlement resolution missing";
|
|
318
|
+
if (!entitlement.includes("await readGoTrueLicense(env,")) return "GoTrue license authority read missing";
|
|
319
|
+
if (!wrangler.includes('GOTRUE_LICENSE_URL = "https://auth.askexe.com/authority"')) return "GoTrue license authority URL missing";
|
|
287
320
|
return true;
|
|
288
321
|
});
|
|
289
322
|
test("CLI/MCP parity \u2014 customer ops wrappers are registered", () => {
|
|
@@ -372,10 +405,7 @@ test("Platform procedures \u2014 all MCP tool actions documented", () => {
|
|
|
372
405
|
});
|
|
373
406
|
test("Build output \u2014 all URL-based dynamic imports have matching tsup entry points", () => {
|
|
374
407
|
const tsup = readSrc("tsup.config.ts");
|
|
375
|
-
const srcFiles =
|
|
376
|
-
`find src -name "*.ts" -not -path "*/node_modules/*" 2>/dev/null || true`,
|
|
377
|
-
{ encoding: "utf8", cwd: ROOT }
|
|
378
|
-
).trim().split("\n").filter(Boolean);
|
|
408
|
+
const srcFiles = scanLines("find", ["src", "-name", "*.ts", "-not", "-path", "*/node_modules/*"], { emptyStatus: -1 });
|
|
379
409
|
const missing = [];
|
|
380
410
|
for (const file of srcFiles) {
|
|
381
411
|
if (file.includes("customer-readiness")) continue;
|