@askexenow/exe-os 0.9.374 → 0.9.376
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deploy/compose/.env.customer.example +16 -1
- package/deploy/compose/.env.example +16 -1
- package/deploy/compose/docker-compose.yml +80 -18
- package/deploy/compose/gateway-watchdog.sh +17 -0
- package/deploy/compose/generate-env.ts +41 -1
- package/deploy/compose/sso-edge/default.conf.template +59 -63
- package/deploy/compose/sso-edge/error-pages/404.html +129 -0
- package/deploy/compose/sso-edge/error-pages/500.html +129 -0
- package/deploy/compose/sso-edge/error-pages/503.html +118 -0
- package/deploy/compose/sso-edge/sso-redirect.conf +115 -92
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-ONPPEWQV.js → active-agent-BOBBUJ74.js} +6 -6
- package/dist/{active-agent-UJKMG7LJ.js → active-agent-GFGEGK2U.js} +6 -6
- package/dist/{agent-defs-generator-ZWI6DXOE.js → agent-defs-generator-OX6UFPRX.js} +5 -5
- package/dist/{agent-loop-OYHJKNYH.js → agent-loop-7ZRH56EX.js} +1 -1
- package/dist/{agentic-ontology-WHFJ3QFS.js → agentic-ontology-DT3VOXBT.js} +1 -1
- package/dist/{backfill-metadata-3OUSQD5V.js → backfill-metadata-VRP6PTPP.js} +9 -9
- package/dist/{backup-verify-ZKTUYLTA.js → backup-verify-LWHKGOOV.js} +1 -1
- package/dist/behavior-injection-GMZKZ3BT.js +83 -0
- package/dist/behavior-promotion-QPC4AQ24.js +62 -0
- package/dist/{behaviors-ZJ45TFBJ.js → behaviors-GPI4BLTC.js} +16 -14
- package/dist/bin/agentic-ontology-backfill.js +10 -10
- package/dist/bin/agentic-reflection-backfill.js +11 -11
- package/dist/bin/agentic-semantic-label.js +10 -10
- package/dist/bin/backfill-conversations.js +14 -12
- package/dist/bin/backfill-responses.js +14 -12
- package/dist/bin/backfill-vectors.js +16 -14
- package/dist/bin/bulk-sync-postgres.js +21 -19
- package/dist/bin/cc-doctor.js +19 -11
- package/dist/bin/cleanup-stale-review-tasks.js +27 -26
- package/dist/bin/cli.js +83 -109
- package/dist/bin/daemon-restart-handoff.js +2 -1
- package/dist/bin/deferred-daemon-restart.js +118 -110
- package/dist/bin/exe-actions.js +176 -0
- package/dist/bin/exe-agent-config.js +5 -5
- package/dist/bin/exe-agent.js +23 -23
- package/dist/bin/exe-assign.js +16 -14
- package/dist/bin/exe-boot.js +91 -71
- package/dist/bin/exe-call.js +8 -8
- package/dist/bin/exe-cicd.js +1210 -0
- package/dist/bin/exe-cloud.js +70 -37
- package/dist/bin/exe-config-dump.js +5 -5
- package/dist/bin/exe-dispatch.js +28 -27
- package/dist/bin/exe-doctor.js +12 -11
- package/dist/bin/exe-export-behaviors.js +20 -18
- package/dist/bin/exe-forget.js +11 -11
- package/dist/bin/exe-gateway.js +10 -10
- package/dist/bin/exe-healthcheck.js +22 -10
- package/dist/bin/exe-heartbeat.js +33 -32
- package/dist/bin/exe-kill.js +32 -31
- package/dist/bin/exe-launch-agent.js +76 -54
- package/dist/bin/exe-mcp.js +10 -6
- package/dist/bin/exe-memory-reads.js +9 -9
- package/dist/bin/exe-model-supervisor.js +138 -0
- package/dist/bin/exe-new-employee.js +14 -14
- package/dist/bin/exe-os-mcp-proxy.js +10 -6
- package/dist/bin/exe-pending-messages.js +28 -27
- package/dist/bin/exe-pending-notifications.js +27 -26
- package/dist/bin/exe-pending-reviews.js +28 -27
- package/dist/bin/exe-rename.js +9 -9
- package/dist/bin/exe-repo-truth.js +1 -1
- package/dist/bin/exe-review.js +31 -30
- package/dist/bin/exe-search.js +10 -10
- package/dist/bin/exe-session-cleanup.js +32 -31
- package/dist/bin/exe-settings.js +21 -19
- package/dist/bin/exe-start-codex.js +31 -25
- package/dist/bin/exe-start-opencode.js +24 -22
- package/dist/bin/exe-start.sh +11 -2
- package/dist/bin/exe-status.js +29 -28
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +7 -7
- package/dist/bin/exe-timers.js +2 -1
- package/dist/bin/exe-watchdog.js +170 -16
- package/dist/bin/generate-hook-manifest.js +8 -41
- package/dist/bin/git-sweep.js +28 -27
- package/dist/bin/graph-backfill.js +11 -11
- package/dist/bin/graph-export.js +10 -10
- package/dist/bin/hooks-cli.js +289 -0
- package/dist/bin/import-history.js +14 -14
- package/dist/bin/install.js +130 -116
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +7 -7
- package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +2 -2
- package/dist/bin/scan-tasks.js +52 -38
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +9 -9
- package/dist/bin/stack-update.js +10 -5
- package/dist/bin/verify-stack.js +3 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-JKVZ4ZAT.js → boot-generation-BN6GKASY.js} +6 -6
- package/dist/{boot-review-sections-2M6BTG73.js → boot-review-sections-OQ5JGSOD.js} +26 -25
- package/dist/{branch-hygiene-U5GFRSTP.js → branch-hygiene-QLD77IMJ.js} +1 -1
- package/dist/build-manifest.json +1186 -1106
- package/dist/{capability-cards-5IMJT6J7.js → capability-cards-EDZ62HKG.js} +5 -5
- package/dist/{capacity-monitor-SAXCQK7O.js → capacity-monitor-6GMTVILS.js} +28 -27
- package/dist/{catchup-brief-U2TXBLHD.js → catchup-brief-SGGBMDUP.js} +32 -31
- package/dist/{cc-binary-detect-6TNIY5JX.js → cc-binary-detect-ZR6WNOUU.js} +1 -3
- package/dist/{chunk-NKETJCB5.js → chunk-2ODXCCMR.js} +18 -3
- package/dist/{hook-integrity-KGAV6ZC2.js → chunk-3L72UBUH.js} +28 -15
- package/dist/chunk-3OX5S7KZ.js +273 -0
- package/dist/{chunk-W75GTHR3.js → chunk-3SRZNJKD.js} +1 -1
- package/dist/{chunk-I4DNJFDR.js → chunk-42IFYZUN.js} +4 -4
- package/dist/{chunk-JHI5WMK5.js → chunk-473JUDCT.js} +5 -5
- package/dist/{chunk-ANLFH23R.js → chunk-4F5CNI65.js} +1 -1
- package/dist/{chunk-AWWKRZMB.js → chunk-4KVSCQND.js} +87 -14
- package/dist/{chunk-ZCERWHY2.js → chunk-4M6RXJEY.js} +33 -23
- package/dist/{chunk-YTSXPJUQ.js → chunk-4YJEEOYT.js} +3 -3
- package/dist/{chunk-6RKKVPYF.js → chunk-4YUGB637.js} +1 -1
- package/dist/{chunk-XXOPG4BW.js → chunk-4ZSOKEDY.js} +3 -3
- package/dist/{chunk-55BEFF4V.js → chunk-5DF4Y6EC.js} +1 -1
- package/dist/{chunk-4QCFFW2H.js → chunk-5QCIWWFA.js} +46 -0
- package/dist/{chunk-3UUX5OY4.js → chunk-5QKLWJ4Z.js} +1 -1
- package/dist/{chunk-YSLGFPWX.js → chunk-5UBWBXLF.js} +3 -3
- package/dist/chunk-5WA4DG2A.js +117 -0
- package/dist/{chunk-4EN3IZ3Q.js → chunk-64ODONK2.js} +67 -1
- package/dist/{chunk-TAMDAOCU.js → chunk-66CGXQUA.js} +239 -39
- package/dist/{chunk-QHJR7IMX.js → chunk-6F3FQCAQ.js} +3 -3
- package/dist/{chunk-WMEYJT4R.js → chunk-6FG34V6D.js} +15 -14
- package/dist/{chunk-NMH5ZQPU.js → chunk-6KQ6WMTI.js} +1 -1
- package/dist/{chunk-IRVOXUSK.js → chunk-6WKBTZVL.js} +10 -4
- package/dist/{chunk-NOKJCF27.js → chunk-7INEFMVU.js} +9 -3
- package/dist/{chunk-GSJLB6JI.js → chunk-7THUQU44.js} +34 -8
- package/dist/{chunk-HDLAB7W3.js → chunk-7UH2JWBF.js} +1 -1
- package/dist/{chunk-KTCXJWJG.js → chunk-7UNMSF5O.js} +1 -1
- package/dist/{chunk-JTVIANUB.js → chunk-AEUGIJDO.js} +3 -1
- package/dist/{chunk-DSJI76XL.js → chunk-AHNVFBVB.js} +113 -16
- package/dist/{chunk-IBS2FAI4.js → chunk-AUKRBHHZ.js} +4 -1
- package/dist/{chunk-AKLJ4JH3.js → chunk-BBK2TSK3.js} +1 -1
- package/dist/{chunk-ZL4AGWAH.js → chunk-BNWWVYRN.js} +6 -5
- package/dist/{chunk-PY3FOMRN.js → chunk-BQEZPRUC.js} +4 -4
- package/dist/{chunk-DIXXEE3S.js → chunk-BQXYXJYC.js} +721 -309
- package/dist/{chunk-ORM7ZFKC.js → chunk-BZ546I4Q.js} +32 -0
- package/dist/{chunk-3KDCORDO.js → chunk-C2UN464N.js} +1 -1
- package/dist/{chunk-75H4R62K.js → chunk-CBPNZFSU.js} +0 -2
- package/dist/{chunk-YLXTKI6M.js → chunk-CHO5SNWR.js} +1 -1
- package/dist/{chunk-MXPNVSXI.js → chunk-CIEVY5TD.js} +11 -11
- package/dist/{chunk-UBK7HK3J.js → chunk-CKLJT2DH.js} +2 -2
- package/dist/{chunk-MOGA4Q7F.js → chunk-CKOJP7JI.js} +1 -1
- package/dist/{chunk-V3W3SATA.js → chunk-CL4J4757.js} +1 -1
- package/dist/{chunk-XNNECNDL.js → chunk-CQFWTWC6.js} +13 -13
- package/dist/{chunk-PDVXWXTL.js → chunk-CROVXJ4S.js} +3 -3
- package/dist/{chunk-WJG344NC.js → chunk-CWSLTSL6.js} +8 -8
- package/dist/{chunk-VMTZ4RUW.js → chunk-DDMGQ5Q3.js} +60 -26
- package/dist/{chunk-YKC7QDZH.js → chunk-DN24VTS5.js} +31 -6
- package/dist/{chunk-IN6CAM4F.js → chunk-EHAN752X.js} +7 -7
- package/dist/{chunk-EXTZSNWL.js → chunk-EPHSISMT.js} +2 -2
- package/dist/{chunk-6EZQUNE6.js → chunk-FCMQVEVL.js} +36 -3
- package/dist/{chunk-3L2QU5ZF.js → chunk-FS7XF7SE.js} +1 -1
- package/dist/{chunk-LGS2V2XD.js → chunk-FUKVP54K.js} +66 -19
- package/dist/{chunk-44TLJZJ5.js → chunk-FX2QRSRT.js} +1 -1
- package/dist/{chunk-PWRC5XZO.js → chunk-FXZ6VGFW.js} +16 -8
- package/dist/{chunk-NT7W4RXD.js → chunk-GKDAQL45.js} +1 -1
- package/dist/{chunk-EKE37MO4.js → chunk-GOT5ZHPX.js} +3 -3
- package/dist/{chunk-SLLLOOEI.js → chunk-GPJIBLP4.js} +1 -0
- package/dist/{chunk-EKYYMIVT.js → chunk-GPUOUUHA.js} +10 -1
- package/dist/{chunk-PB5S7YOF.js → chunk-GXNBPTPJ.js} +1 -1
- package/dist/{chunk-4SJ4LK4V.js → chunk-HE34XVD5.js} +5 -5
- package/dist/{chunk-6VHOQ3IM.js → chunk-HHAKXIKX.js} +12 -9
- package/dist/{chunk-TFKCERAK.js → chunk-HHT527PV.js} +38 -41
- package/dist/{chunk-ZSODLMFV.js → chunk-HIVOLPLD.js} +1 -40
- package/dist/{chunk-UCFC2AEI.js → chunk-I3LDTSWU.js} +1 -1
- package/dist/{chunk-Q3AXXKDF.js → chunk-IKXH4BFC.js} +5 -5
- package/dist/chunk-IMYGYIAI.js +23 -0
- package/dist/{chunk-GS7LIT34.js → chunk-IPHLUZ37.js} +1 -1
- package/dist/{chunk-M4IRPXSZ.js → chunk-IZA7XW2Q.js} +3 -3
- package/dist/{chunk-SEQIPGLU.js → chunk-IZLML47J.js} +1 -1
- package/dist/{chunk-4HKTO2SV.js → chunk-JRMHGO5B.js} +1 -1
- package/dist/{chunk-U73AC5AN.js → chunk-JSTTPYL3.js} +16 -16
- package/dist/{chunk-6SCGLHJ7.js → chunk-JVWLHBAV.js} +4 -4
- package/dist/{chunk-OVEQE6YS.js → chunk-K7UNIEB4.js} +254 -48
- package/dist/{chunk-HNWS7YHN.js → chunk-KBR5LIWD.js} +1 -1
- package/dist/{chunk-AKLQSC6W.js → chunk-KI7O64XV.js} +328 -98
- package/dist/{chunk-XXFKSJYA.js → chunk-KK3MIY5C.js} +5 -5
- package/dist/{chunk-U6SUKSZR.js → chunk-KO3OHI6V.js} +3 -3
- package/dist/{chunk-NJFJWQNN.js → chunk-L5CGXEZC.js} +27 -22
- package/dist/{chunk-NBXDXKLC.js → chunk-LK3XQDBP.js} +1 -1
- package/dist/{chunk-T3QUKNLI.js → chunk-LM443ORV.js} +1 -1
- package/dist/{chunk-BBSIEYF5.js → chunk-LNAFLXL7.js} +12 -4
- package/dist/{chunk-32YV32VA.js → chunk-LTUA5EYI.js} +122 -11
- package/dist/{chunk-23MVDXLY.js → chunk-MAXD5JQL.js} +11 -10
- package/dist/{chunk-GNUAL43X.js → chunk-MFASHRJ6.js} +5 -5
- package/dist/chunk-MFYMDGE7.js +37 -0
- package/dist/{chunk-VKJGHAZT.js → chunk-MGVILAYU.js} +57 -13
- package/dist/{chunk-DB55JZHU.js → chunk-MSLWRWTI.js} +1 -1
- package/dist/{chunk-C2L622QJ.js → chunk-NB5IRTC4.js} +52 -44
- package/dist/{chunk-2ZOEC4KC.js → chunk-ND75TGPR.js} +2 -2
- package/dist/{chunk-VRTCVZND.js → chunk-NE34MWVL.js} +142 -16
- package/dist/{chunk-S2WBS6BG.js → chunk-NMOFLWDY.js} +1 -1
- package/dist/{chunk-CRCB5S7I.js → chunk-NPXKGBVZ.js} +140 -23
- package/dist/{chunk-JSMDRKPJ.js → chunk-NRBGUIPE.js} +1 -1
- package/dist/{chunk-4LWBC7CM.js → chunk-NY6SBR4O.js} +1 -1
- package/dist/{chunk-UCUOGVDX.js → chunk-O3K2C22L.js} +13 -1
- package/dist/{chunk-R522MWAR.js → chunk-OATET4BV.js} +2 -2
- package/dist/chunk-OOZU5H3T.js +86 -0
- package/dist/{chunk-XFTEX77S.js → chunk-OQ4FNDRG.js} +28 -6
- package/dist/{chunk-VYQ7B7DI.js → chunk-OWVX52XF.js} +4 -4
- package/dist/{chunk-AETLDRZB.js → chunk-PEAAX6UA.js} +1 -1
- package/dist/{chunk-UM3N6VND.js → chunk-PFAVHC5N.js} +5 -5
- package/dist/chunk-PMVVUIHH.js +85 -0
- package/dist/chunk-PPMGQFLJ.js +2317 -0
- package/dist/{chunk-7TSBV3SD.js → chunk-PTY2N23C.js} +310 -2
- package/dist/{chunk-UKLN57Q5.js → chunk-PZ5SKYK6.js} +4 -4
- package/dist/{chunk-636LKCKE.js → chunk-Q6ZLQMP2.js} +1 -1
- package/dist/{chunk-N7VEP5B3.js → chunk-QFR5EKZG.js} +29 -7
- package/dist/{chunk-YMP2QSOP.js → chunk-QN56VQ6Z.js} +1 -1
- package/dist/{chunk-6YVUR3OU.js → chunk-QR3BUMOS.js} +2 -2
- package/dist/{chunk-XZ65ST2I.js → chunk-QV5CQLQH.js} +2 -2
- package/dist/{chunk-DJOIMFKV.js → chunk-REZIGNA6.js} +2 -2
- package/dist/{chunk-UQGSBM3U.js → chunk-RFPMXR6B.js} +11 -0
- package/dist/{chunk-DN4YVV4Z.js → chunk-RSABKW6B.js} +1 -1
- package/dist/{chunk-LP4GB656.js → chunk-RZNP35SI.js} +2 -2
- package/dist/{chunk-NUTZJZKW.js → chunk-SKTAZGFI.js} +10 -42
- package/dist/{chunk-TQAZTRQ3.js → chunk-SVXUT2DN.js} +4 -4
- package/dist/{chunk-DJ7YXOTU.js → chunk-T7EF5CQO.js} +3 -3
- package/dist/{chunk-QAEWWYHL.js → chunk-TDF2XKLK.js} +5 -1
- package/dist/{chunk-ZGYNKA3O.js → chunk-TT5BBVLX.js} +29 -31
- package/dist/{chunk-5H47VHB7.js → chunk-UWX6MMCX.js} +1 -1
- package/dist/{chunk-XL5MFGMR.js → chunk-V4YNN7PA.js} +10 -3
- package/dist/{chunk-SL6KQYDU.js → chunk-V5DDXXMP.js} +7 -7
- package/dist/{chunk-DZKPOSFD.js → chunk-VH6SPPNA.js} +1 -1
- package/dist/{chunk-LDNYSMPZ.js → chunk-VJUUI2VT.js} +1 -1
- package/dist/{chunk-CBCGDEJA.js → chunk-VN5WOOAQ.js} +42 -6
- package/dist/{chunk-EXDW3E2R.js → chunk-VPHJ2LUI.js} +165 -15
- package/dist/{chunk-GOMQ7PVQ.js → chunk-WJC6AAJN.js} +1 -1
- package/dist/{chunk-GJI77VDO.js → chunk-WVBVUVZB.js} +6 -5
- package/dist/{chunk-A6PDF4BO.js → chunk-XTQ7R2PA.js} +2 -2
- package/dist/{chunk-L6RXG36J.js → chunk-Y2HD2YB7.js} +1 -1
- package/dist/{chunk-KTU3EAWK.js → chunk-YAACLBZ7.js} +5 -5
- package/dist/{chunk-7GE2EQ23.js → chunk-YGVAKKGJ.js} +11 -6
- package/dist/chunk-YLHACCCB.js +166 -0
- package/dist/{chunk-PLZSZOZN.js → chunk-YP6UGVEY.js} +3 -3
- package/dist/{chunk-ULIBLJ6W.js → chunk-YYC553FO.js} +5 -5
- package/dist/{chunk-T35RCQFE.js → chunk-YZPEQW7H.js} +9 -8
- package/dist/{chunk-KI5PFRG6.js → chunk-ZKGWHT56.js} +60 -2
- package/dist/{chunk-NUK7EEN5.js → chunk-ZKJ5S23O.js} +33 -13
- package/dist/chunk-ZLPS3GR7.js +146 -0
- package/dist/{chunk-XH7YL7JM.js → chunk-ZMX22HSS.js} +50 -6
- package/dist/{chunk-JY5GAZYC.js → chunk-ZQEJ4IX2.js} +4 -0
- package/dist/{chunk-R4CBHKZ2.js → chunk-ZS5JO6QV.js} +7 -6
- package/dist/{cleanup-graph-garbage-DPJGO52H.js → cleanup-graph-garbage-LAPIZGFX.js} +12 -12
- package/dist/{cloud-sync-command-JPNTT4OQ.js → cloud-sync-command-QAZ2NWRA.js} +11 -2
- package/dist/{cloud-sync-db-init-V2LWIUQU.js → cloud-sync-db-init-HAGVF32Y.js} +1 -1
- package/dist/{cloud-sync-shutdown-BNALPWGX.js → cloud-sync-shutdown-DAEPCFVK.js} +5 -5
- package/dist/{co-activation-CMNSWS6B.js → co-activation-523TKQPZ.js} +5 -5
- package/dist/{co-occurrence-WRI2NAN6.js → co-occurrence-PQUCTENN.js} +36 -17
- package/dist/{code-context-index-NOJSHLPN.js → code-context-index-LIDOFKOR.js} +6 -4
- package/dist/{code-context-watcher-VZNZU3BO.js → code-context-watcher-4F7K2N3U.js} +6 -4
- package/dist/{content-extractor-NXYNEF5K.js → content-extractor-DJM5EUDA.js} +2 -2
- package/dist/{conversation-entity-extractor-74252CAO.js → conversation-entity-extractor-THGKQ5RD.js} +5 -5
- package/dist/{crdt-sync-B3JN6AIV.js → crdt-sync-32B55NOJ.js} +1 -1
- package/dist/{crm-webhook-GYWQRFET.js → crm-webhook-FHRISFYQ.js} +2 -2
- package/dist/{cto-delegation-gate-LQHVLEMW.js → cto-delegation-gate-O6XPGECP.js} +27 -26
- package/dist/{daemon-auth-QZHEO7IQ.js → daemon-auth-PNKHERLV.js} +6 -1
- package/dist/daemon-drift-N2GKUBAO.js +15 -0
- package/dist/{daemon-orchestration-5HIQALZH.js → daemon-orchestration-BWLSJG2X.js} +33 -30
- package/dist/{daemon-ready-P2BR2XP5.js → daemon-ready-BN6EZLTQ.js} +1 -1
- package/dist/{daemon-ready-signal-CKXPUMJ2.js → daemon-ready-signal-PNDMVKPJ.js} +3 -1
- package/dist/{daemon-restart-circuit-breaker-SMTWFX27.js → daemon-restart-circuit-breaker-CD4VMCU7.js} +1 -1
- package/dist/daemon-restart-report-FIO5HZTJ.js +15 -0
- package/dist/{daemon-timer-report-TNJH5SFY.js → daemon-timer-report-6UK5PSDP.js} +2 -1
- package/dist/{db-integrity-events-2DTFO37N.js → db-integrity-events-GYGANKZV.js} +1 -1
- package/dist/{destructive-data-guard-BVFWPPIS.js → destructive-data-guard-HHWUBIGS.js} +1 -1
- package/dist/{doc-graph-extractor-PQHDHQPQ.js → doc-graph-extractor-HOKOV7BE.js} +10 -10
- package/dist/{documents-C4SSPJMC.js → documents-HWEJMONR.js} +16 -14
- package/dist/{dreaming-XAO3FCBV.js → dreaming-FMNDODG2.js} +31 -30
- package/dist/{employee-boot-brief-W4OHUMRQ.js → employee-boot-brief-DBFROOQJ.js} +35 -34
- package/dist/{entity-boost-3UWGXG5O.js → entity-boost-5V4W6NFA.js} +1 -1
- package/dist/{exe-drift-AG2KMKD5.js → exe-drift-V55UAYRT.js} +6 -6
- package/dist/{exe-export-IC5BT335.js → exe-export-LHN42ZUS.js} +18 -16
- package/dist/{exe-import-A35ZLDPG.js → exe-import-M536BEZC.js} +18 -16
- package/dist/{exe-key-TCMJNYLA.js → exe-key-37XIR22X.js} +111 -107
- package/dist/{exe-org-JXCR3JYZ.js → exe-org-7TDIRNTE.js} +14 -14
- package/dist/{exe-snapshot-SV6SRIG6.js → exe-snapshot-EOUBCIQK.js} +34 -33
- package/dist/{fast-db-init-L2RGKJWH.js → fast-db-init-GWUZ746B.js} +1 -1
- package/dist/{founder-context-D4HFIESJ.js → founder-context-6LQKET4A.js} +2 -2
- package/dist/{fts-integrity-4YB34KWX.js → fts-integrity-PLAL6NMG.js} +1 -1
- package/dist/gateway/index.js +17 -17
- package/dist/{git-main-guard-VTW4N3CM.js → git-main-guard-BGICS25C.js} +1 -1
- package/dist/{git-staleness-TN7CYGFG.js → git-staleness-QNNXJK3W.js} +5 -5
- package/dist/{global-procedures-YFDEIOG7.js → global-procedures-NMQGF54V.js} +7 -7
- package/dist/{gotrue-session-ODZ2ERJX.js → gotrue-session-U4H3UGHL.js} +1 -3
- package/dist/{graph-auto-extract-3YR3TYRW.js → graph-auto-extract-7POGAKHM.js} +10 -10
- package/dist/{graph-query-AP5R6ZHO.js → graph-query-ZEDO4BDF.js} +1 -1
- package/dist/{graph-rag-Z2KCJTPK.js → graph-rag-JA7XN7NO.js} +5 -5
- package/dist/hook-integrity-6NLSNTXD.js +15 -0
- package/dist/{hook-prefetch-K5DN3TOQ.js → hook-prefetch-4KH3D4YU.js} +28 -26
- package/dist/hook-tamper-log-Z4PWC7N4.js +90 -0
- package/dist/hooks/bug-report-worker.js +31 -30
- package/dist/hooks/codex-stop-task-finalizer.js +33 -32
- package/dist/hooks/commit-complete.js +30 -29
- package/dist/hooks/error-recall.js +12 -12
- package/dist/hooks/exe-heartbeat-hook.js +7 -7
- package/dist/hooks/ingest-worker.js +17 -15
- package/dist/hooks/ingest.js +20 -20
- package/dist/hooks/instructions-loaded.js +9 -9
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +8 -8
- package/dist/hooks/post-compact.js +7 -7
- package/dist/hooks/post-tool-combined.js +14 -14
- package/dist/hooks/pre-compact.js +30 -29
- package/dist/hooks/pre-tool-use.js +303 -489
- package/dist/hooks/prompt-submit.js +61 -54
- package/dist/hooks/session-end.js +35 -34
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +36 -35
- package/dist/hooks/subagent-stop.js +32 -31
- package/dist/hooks/summary-worker.js +36 -35
- package/dist/index.js +39 -38
- package/dist/{installer-LK35OX6R.js → installer-M34Q7LAS.js} +25 -10
- package/dist/{installer-54HTN5RE.js → installer-POV6TDQ5.js} +12 -8
- package/dist/{installer-LLWKZI2S.js → installer-S624ZOMB.js} +12 -8
- package/dist/{intercom-queue-5NOT2RKI.js → intercom-queue-MKDWAEUV.js} +26 -25
- package/dist/lib/cloud-sync.js +27 -19
- package/dist/lib/consolidation.js +12 -12
- package/dist/lib/database.js +5 -5
- package/dist/lib/db-backup.js +7 -1
- package/dist/lib/db-daemon-client.js +8 -6
- package/dist/lib/db-write-worker.js +4 -4
- package/dist/lib/db.js +5 -5
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/embedder.js +6 -4
- package/dist/lib/employee-templates.js +8 -8
- package/dist/lib/employees.js +5 -5
- package/dist/lib/exe-daemon-client.js +5 -3
- package/dist/lib/exe-daemon.js +333 -262
- package/dist/lib/hybrid-search.js +10 -10
- package/dist/lib/identity-templates.js +1 -1
- package/dist/lib/identity.js +17 -7
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +27 -26
- package/dist/lib/post-tool-memory.js +9 -9
- package/dist/lib/registry-proxy.js +3 -1
- package/dist/lib/reminders.js +6 -6
- package/dist/lib/schedules.js +11 -11
- package/dist/lib/session-registry.js +11 -7
- package/dist/lib/session-wrappers.js +1 -1
- package/dist/lib/skill-learning.js +17 -15
- package/dist/lib/status-brief.js +2 -1
- package/dist/lib/store.js +9 -9
- package/dist/lib/task-router.js +6 -6
- package/dist/lib/tasks.js +28 -27
- package/dist/lib/tmux-routing.js +26 -25
- package/dist/lib/tmux-status.js +5 -1
- package/dist/lib/token-spend.js +6 -6
- package/dist/{license-gate-JVMB6OFD.js → license-gate-2QNMBAZU.js} +3 -3
- package/dist/{license-sync-5VYS2F2W.js → license-sync-FEDKH5MD.js} +2 -2
- package/dist/{mailbox-inbox-4MEUOL3J.js → mailbox-inbox-XE72D3AX.js} +2 -2
- package/dist/{mailbox-outbox-J6WIF3UY.js → mailbox-outbox-DNDDP2HW.js} +1 -1
- package/dist/mcp/register-tools.js +110 -106
- package/dist/mcp/server.js +113 -109
- package/dist/mcp/tools/complete-reminder.js +7 -7
- package/dist/mcp/tools/create-reminder.js +7 -7
- package/dist/mcp/tools/create-task.js +30 -29
- package/dist/mcp/tools/deactivate-behavior.js +18 -16
- package/dist/mcp/tools/list-reminders.js +7 -7
- package/dist/mcp/tools/list-tasks.js +30 -29
- package/dist/mcp/tools/send-message.js +33 -30
- package/dist/mcp/tools/update-task.js +29 -28
- package/dist/{mcp-child-registry-OTG4MWO7.js → mcp-child-registry-DVHYAHPW.js} +2 -2
- package/dist/{mcp-health-HNVSWKFA.js → mcp-health-B5EKRCZG.js} +2 -2
- package/dist/{mcp-http-config-DQWL7U2Z.js → mcp-http-config-ZJ7XHWT7.js} +10 -6
- package/dist/{mcp-session-identity-277GASTQ.js → mcp-session-identity-PEVM7VIP.js} +26 -25
- package/dist/{memory-cards-3S2ZQPR7.js → memory-cards-VN5DEWPD.js} +9 -9
- package/dist/{memory-graph-extractor-A6DFEFIN.js → memory-graph-extractor-TMEB6WLA.js} +11 -11
- package/dist/{memory-poisoning-defense-ZVP4H6DY.js → memory-poisoning-defense-DYHARQ2G.js} +5 -5
- package/dist/{memory-pressure-watchdog-6W5F6R7H.js → memory-pressure-watchdog-J6Q3SIBL.js} +27 -26
- package/dist/{memory-queue-client-ADSDP6OX.js → memory-queue-client-QC2OTMJB.js} +6 -4
- package/dist/{memory-reflection-BKB2YOE6.js → memory-reflection-ZYJUOSFX.js} +9 -9
- package/dist/{message-queue-client-XQN7QABL.js → message-queue-client-OEQCGSWC.js} +1 -25
- package/dist/{notification-ledger-CLGM7ODF.js → notification-ledger-TG6EFYBP.js} +29 -28
- package/dist/{notifications-MACUZPYP.js → notifications-LGYY22W5.js} +26 -25
- package/dist/{orchestration-events-N7LYMUGA.js → orchestration-events-JPHB6NPY.js} +6 -6
- package/dist/{orchestrator-4X24EWHV.js → orchestrator-IC4WGP6L.js} +28 -27
- package/dist/{org-brief-session-FZOFMO5U.js → org-brief-session-DEPHWCQR.js} +9 -9
- package/dist/{org-consent-policy-O5E6HXBL.js → org-consent-policy-T27AO5OJ.js} +2 -2
- package/dist/{org-join-POWUG25F.js → org-join-A3YXC5RB.js} +2 -2
- package/dist/{org-key-admin-E7EMDOZZ.js → org-key-admin-SQFHCVP2.js} +3 -3
- package/dist/{org-partner-runtime-FODONVTM.js → org-partner-runtime-L7L2WWGN.js} +10 -10
- package/dist/{org-row-visibility-VX4AVV5Q.js → org-row-visibility-M54Z6ZH3.js} +1 -1
- package/dist/{pipeline-router-6GGT2ZW3.js → pipeline-router-NKYAUR3Y.js} +6 -6
- package/dist/{plan-limits-FUN76LYY.js → plan-limits-ISRRGF23.js} +8 -8
- package/dist/{platform-procedures-7YSCLF4Z.js → platform-procedures-Z7ZGBJWN.js} +1 -1
- package/dist/{project-boot-3Q65LCIP.js → project-boot-BLYGVUJH.js} +4 -1
- package/dist/{project-name-LJVFMYTQ.js → project-name-WKSNNKXK.js} +6 -6
- package/dist/{projection-worker-4OANGP5K.js → projection-worker-RNYPE46G.js} +2 -2
- package/dist/{prospective-memory-KR3P4T6N.js → prospective-memory-GEO6E3UL.js} +5 -5
- package/dist/{push-notifications-NCZLH6DI.js → push-notifications-EY6BXZUY.js} +27 -26
- package/dist/{reproject-worktree-memories-PWYKPB2U.js → reproject-worktree-memories-DAA5GWMH.js} +28 -27
- package/dist/{reranker-6V3C2AO4.js → reranker-7OADQPMG.js} +1 -1
- package/dist/{retrieval-health-5D7O6VH6.js → retrieval-health-FCEDWN2P.js} +2 -2
- package/dist/{review-polling-QW3LJ4KN.js → review-polling-G52BR4MC.js} +27 -26
- package/dist/runtime/index.js +39 -38
- package/dist/{session-events-T45SSTMF.js → session-events-P6E2373E.js} +27 -26
- package/dist/{session-kill-telemetry-QSPVJGBF.js → session-kill-telemetry-OHNJMIVT.js} +27 -26
- package/dist/{session-mcp-config-SC5BLWZG.js → session-mcp-config-WFZAH6R5.js} +2 -1
- package/dist/{session-scope-KRWE54C4.js → session-scope-DKOHPQPJ.js} +26 -25
- package/dist/{setup-wizard-GP3TBTPF.js → setup-wizard-RNU3RFBE.js} +1 -1
- package/dist/{skill-refinement-C7JTMLJG.js → skill-refinement-AKJTHFXC.js} +6 -6
- package/dist/{stack-generate-manifest-MFMDWRUP.js → stack-generate-manifest-7WJZWSPK.js} +163 -15
- package/dist/{stack-promote-EKSCYY63.js → stack-promote-OP2URGFF.js} +4 -4
- package/dist/{stack-release-2GZAAFO4.js → stack-release-MY6U2QIO.js} +31 -8
- package/dist/{stack-update-J6JXSTAZ.js → stack-update-QSHSLUTZ.js} +3 -3
- package/dist/{steward-gate-BFCCMCSW.js → steward-gate-KMLS5ECC.js} +6 -6
- package/dist/{subagent-brief-injection-ED36PLYY.js → subagent-brief-injection-HCKZQZBF.js} +37 -36
- package/dist/{support-inbox-YW47SYJF.js → support-inbox-UBXU5RKV.js} +11 -11
- package/dist/{support-outbox-HFJWG52M.js → support-outbox-G2NG2U5K.js} +2 -2
- package/dist/{sweep-budget-KMPJ7O5Z.js → sweep-budget-YGLCNXZZ.js} +9 -3
- package/dist/{task-enforcement-CECTQX4U.js → task-enforcement-2GR7HU6V.js} +27 -26
- package/dist/{task-request-inbox-Q5T4N5K7.js → task-request-inbox-ANCVK2VG.js} +2 -2
- package/dist/{task-scope-ERVEUEYU.js → task-scope-QANJJXXB.js} +30 -29
- package/dist/{tasks-crud-ZRQNJXQ2.js → tasks-crud-45WOIMIM.js} +44 -25
- package/dist/{tasks-notify-MIZH4C2O.js → tasks-notify-ZJS4MA3S.js} +29 -26
- package/dist/{tasks-review-Z7J2P6DG.js → tasks-review-ZVPKY47Z.js} +26 -25
- package/dist/{telemetry-upload-LVQUQYFP.js → telemetry-upload-VY3UWAEL.js} +10 -10
- package/dist/{token-budget-BU4NOVZF.js → token-budget-XHX6XFEC.js} +6 -6
- package/dist/{tool-capability-index-7F42MOJT.js → tool-capability-index-6HLZU437.js} +1 -1
- package/dist/{tool-telemetry-O27EVMBR.js → tool-telemetry-GBDI4AXR.js} +1 -1
- package/dist/tui/App.js +36 -35
- package/dist/{tui-data-TPWWBIUQ.js → tui-data-IQFE3UW3.js} +30 -29
- package/dist/{typed-messages-RCMPEKJN.js → typed-messages-P2HLLA62.js} +1 -1
- package/dist/{update-support-F2F5537B.js → update-support-BDN5AK4R.js} +25 -22
- package/dist/{work-claims-B73X5NE7.js → work-claims-PDQNLE5K.js} +7 -7
- package/dist/{work-state-heartbeat-P4YX6E2R.js → work-state-heartbeat-CH6BLQKV.js} +1 -1
- package/dist/{worker-gate-BEEIIVWA.js → worker-gate-NUUSQMBT.js} +1 -3
- package/dist/{workflow-engine-5X46PFCW.js → workflow-engine-RZ7QEI3Z.js} +2 -2
- package/dist/{worktree-W47CIMJ6.js → worktree-Q25PZST6.js} +11 -7
- package/dist/worktree-ownership-guard-4LKMW6PW.js +421 -0
- package/dist/{worktree-sweep-BNBD4RFX.js → worktree-sweep-EV5YQ2OB.js} +8 -8
- package/package.json +15 -3
- package/release-notes.json +5 -5
- package/src/commands/exe.md +16 -16
- package/stack.release.json +9 -8
- package/dist/behavior-injection-M6UYZCMW.js +0 -63
- package/dist/chunk-BJ7AVSY6.js +0 -50
- package/dist/daemon-restart-report-EIVD6WDJ.js +0 -10
- package/dist/worktree-ownership-guard-OUWJROW2.js +0 -88
- /package/dist/{chunk-GQOEWNVM.js → chunk-4EG4DT4F.js} +0 -0
- /package/dist/{chunk-AISULNGL.js → chunk-BRAIWGMF.js} +0 -0
- /package/dist/{chunk-NRG7KZIP.js → chunk-HQEAZDAC.js} +0 -0
- /package/dist/{chunk-VZAFWPAY.js → chunk-IK4344V5.js} +0 -0
- /package/dist/{chunk-GM7TLYOK.js → chunk-K3VDF6II.js} +0 -0
- /package/dist/{chunk-2AJGV5UL.js → chunk-KM7DAG5J.js} +0 -0
- /package/dist/{chunk-YO4BO2CL.js → chunk-QIEYJ4KZ.js} +0 -0
- /package/dist/{chunk-WSQASFLP.js → chunk-VCTK5HRA.js} +0 -0
- /package/dist/{chunk-KQ6RJWRW.js → chunk-VPT6VMBG.js} +0 -0
- /package/dist/{chunk-6WIFPD2P.js → chunk-YZ4AEMR7.js} +0 -0
- /package/dist/{core-memory-7I7RE2SJ.js → core-memory-UIZKCY4L.js} +0 -0
- /package/dist/{memory-isolation-2TUZ7Z4K.js → memory-isolation-3GJ6WLYX.js} +0 -0
- /package/dist/{oauth-server-AYM37SQ4.js → oauth-server-ZRHXIRXQ.js} +0 -0
- /package/dist/{wiki-acl-IBQLLBTS.js → wiki-acl-MFOYK5F4.js} +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<!-- Build provenance: stamped by stamp.mjs at delivery-build time so a served page reveals the exact source commit. Unstamped (literal __EXE_BUILD_*__) => served straight from git without a provenance step. -->
|
|
7
|
+
<meta name="exe-build-rev" content="__EXE_BUILD_REV__">
|
|
8
|
+
<meta name="exe-build-ref" content="__EXE_BUILD_REF__">
|
|
9
|
+
<meta name="exe-build-time" content="__EXE_BUILD_TIME__">
|
|
10
|
+
<title>500 — Something Went Wrong | Exe</title>
|
|
11
|
+
<style>
|
|
12
|
+
@import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@400;700&family=Manrope:wght@400;500;600&display=swap');
|
|
13
|
+
|
|
14
|
+
*, *::before, *::after {
|
|
15
|
+
margin: 0;
|
|
16
|
+
padding: 0;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body {
|
|
21
|
+
background: #0F0E1A;
|
|
22
|
+
color: #FFFFFF;
|
|
23
|
+
font-family: 'Manrope', sans-serif;
|
|
24
|
+
min-height: 100vh;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
-webkit-font-smoothing: antialiased;
|
|
30
|
+
-moz-osx-font-smoothing: grayscale;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.container {
|
|
34
|
+
text-align: center;
|
|
35
|
+
padding: 2rem;
|
|
36
|
+
max-width: 480px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.logo {
|
|
40
|
+
font-family: 'Epilogue', sans-serif;
|
|
41
|
+
font-weight: 700;
|
|
42
|
+
font-size: 30px;
|
|
43
|
+
color: #F5D76E;
|
|
44
|
+
letter-spacing: 0.08em;
|
|
45
|
+
margin-bottom: 3rem;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.error-code {
|
|
49
|
+
font-family: 'Epilogue', sans-serif;
|
|
50
|
+
font-weight: 700;
|
|
51
|
+
font-size: 120px;
|
|
52
|
+
line-height: 1;
|
|
53
|
+
color: #FFFFFF;
|
|
54
|
+
margin-bottom: 1rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.description {
|
|
58
|
+
font-family: 'Manrope', sans-serif;
|
|
59
|
+
font-size: 16px;
|
|
60
|
+
font-weight: 400;
|
|
61
|
+
color: #A09CAF;
|
|
62
|
+
line-height: 1.6;
|
|
63
|
+
margin-bottom: 2.5rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.btn {
|
|
67
|
+
display: inline-block;
|
|
68
|
+
font-family: 'Manrope', sans-serif;
|
|
69
|
+
font-weight: 600;
|
|
70
|
+
font-size: 14px;
|
|
71
|
+
letter-spacing: 0.04em;
|
|
72
|
+
text-transform: uppercase;
|
|
73
|
+
color: #0F0E1A;
|
|
74
|
+
background: #F5D76E;
|
|
75
|
+
border: none;
|
|
76
|
+
border-radius: 8px;
|
|
77
|
+
padding: 14px 36px;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
text-decoration: none;
|
|
80
|
+
transition: background 0.2s ease, transform 0.1s ease;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.btn:hover {
|
|
84
|
+
background: #f7e08a;
|
|
85
|
+
transform: translateY(-1px);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.btn:active {
|
|
89
|
+
transform: translateY(0);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.services {
|
|
93
|
+
margin-top: 4rem;
|
|
94
|
+
font-family: 'Manrope', sans-serif;
|
|
95
|
+
font-size: 13px;
|
|
96
|
+
color: #5A5669;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.services a {
|
|
100
|
+
color: #5A5669;
|
|
101
|
+
text-decoration: none;
|
|
102
|
+
transition: color 0.2s ease;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.services a:hover {
|
|
106
|
+
color: #A09CAF;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.services .sep {
|
|
110
|
+
margin: 0 0.6em;
|
|
111
|
+
}
|
|
112
|
+
</style>
|
|
113
|
+
</head>
|
|
114
|
+
<body>
|
|
115
|
+
<div class="container">
|
|
116
|
+
<div class="logo">EXE</div>
|
|
117
|
+
<div class="error-code">500</div>
|
|
118
|
+
<p class="description">Something went wrong. We're working on it.</p>
|
|
119
|
+
<a href="javascript:location.reload()" class="btn">Try Again</a>
|
|
120
|
+
<div class="services">
|
|
121
|
+
<a href="https://crm.askexe.com">CRM</a>
|
|
122
|
+
<span class="sep">·</span>
|
|
123
|
+
<a href="https://wiki.askexe.com">Wiki</a>
|
|
124
|
+
<span class="sep">·</span>
|
|
125
|
+
<a href="https://erp.askexe.com">ERP</a>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</body>
|
|
129
|
+
</html>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<!-- Build provenance: stamped by stamp.mjs at delivery-build time so a served page reveals the exact source commit. Unstamped (literal __EXE_BUILD_*__) => served straight from git without a provenance step. -->
|
|
7
|
+
<meta name="exe-build-rev" content="__EXE_BUILD_REV__">
|
|
8
|
+
<meta name="exe-build-ref" content="__EXE_BUILD_REF__">
|
|
9
|
+
<meta name="exe-build-time" content="__EXE_BUILD_TIME__">
|
|
10
|
+
<title>Maintenance | Exe</title>
|
|
11
|
+
<style>
|
|
12
|
+
@import url('https://fonts.googleapis.com/css2?family=Epilogue:wght@400;700&family=Manrope:wght@400;500;600&display=swap');
|
|
13
|
+
|
|
14
|
+
*, *::before, *::after {
|
|
15
|
+
margin: 0;
|
|
16
|
+
padding: 0;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body {
|
|
21
|
+
background: #0F0E1A;
|
|
22
|
+
color: #FFFFFF;
|
|
23
|
+
font-family: 'Manrope', sans-serif;
|
|
24
|
+
min-height: 100vh;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
-webkit-font-smoothing: antialiased;
|
|
30
|
+
-moz-osx-font-smoothing: grayscale;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.container {
|
|
34
|
+
text-align: center;
|
|
35
|
+
padding: 2rem;
|
|
36
|
+
max-width: 480px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.logo {
|
|
40
|
+
font-family: 'Epilogue', sans-serif;
|
|
41
|
+
font-weight: 700;
|
|
42
|
+
font-size: 30px;
|
|
43
|
+
color: #F5D76E;
|
|
44
|
+
letter-spacing: 0.08em;
|
|
45
|
+
margin-bottom: 3rem;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.error-code {
|
|
49
|
+
font-family: 'Epilogue', sans-serif;
|
|
50
|
+
font-weight: 700;
|
|
51
|
+
font-size: 120px;
|
|
52
|
+
line-height: 1;
|
|
53
|
+
color: #FFFFFF;
|
|
54
|
+
margin-bottom: 1rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.description {
|
|
58
|
+
font-family: 'Manrope', sans-serif;
|
|
59
|
+
font-size: 16px;
|
|
60
|
+
font-weight: 400;
|
|
61
|
+
color: #A09CAF;
|
|
62
|
+
line-height: 1.6;
|
|
63
|
+
margin-bottom: 2.5rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.spinner {
|
|
67
|
+
display: inline-block;
|
|
68
|
+
width: 24px;
|
|
69
|
+
height: 24px;
|
|
70
|
+
border: 3px solid #2A2838;
|
|
71
|
+
border-top-color: #F5D76E;
|
|
72
|
+
border-radius: 50%;
|
|
73
|
+
animation: spin 0.8s linear infinite;
|
|
74
|
+
margin-bottom: 2rem;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@keyframes spin {
|
|
78
|
+
to { transform: rotate(360deg); }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.services {
|
|
82
|
+
margin-top: 4rem;
|
|
83
|
+
font-family: 'Manrope', sans-serif;
|
|
84
|
+
font-size: 13px;
|
|
85
|
+
color: #5A5669;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.services a {
|
|
89
|
+
color: #5A5669;
|
|
90
|
+
text-decoration: none;
|
|
91
|
+
transition: color 0.2s ease;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.services a:hover {
|
|
95
|
+
color: #A09CAF;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.services .sep {
|
|
99
|
+
margin: 0 0.6em;
|
|
100
|
+
}
|
|
101
|
+
</style>
|
|
102
|
+
</head>
|
|
103
|
+
<body>
|
|
104
|
+
<div class="container">
|
|
105
|
+
<div class="logo">EXE</div>
|
|
106
|
+
<div class="error-code">Maintenance</div>
|
|
107
|
+
<p class="description">We're upgrading. Back shortly.</p>
|
|
108
|
+
<div class="spinner"></div>
|
|
109
|
+
<div class="services">
|
|
110
|
+
<a href="https://crm.askexe.com">CRM</a>
|
|
111
|
+
<span class="sep">·</span>
|
|
112
|
+
<a href="https://wiki.askexe.com">Wiki</a>
|
|
113
|
+
<span class="sep">·</span>
|
|
114
|
+
<a href="https://erp.askexe.com">ERP</a>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</body>
|
|
118
|
+
</html>
|
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
# advertised "single front door" does not exist.
|
|
8
8
|
#
|
|
9
9
|
# ── How it works ────────────────────────────────────────────────────────────
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
# 1. Every other request runs the edge auth gate (auth_request → /_sso_gate).
|
|
10
|
+
# 1. EVERY request runs the edge auth gate (auth_request → /_sso_gate). There
|
|
11
|
+
# is deliberately NO static-asset exemption — see the note at the end of
|
|
12
|
+
# this header (bug 419e1231).
|
|
14
13
|
# 2. If the app session cookie is present the request passes (the app validates
|
|
15
14
|
# its own session server-side — the cookie name differs per app; set it via
|
|
16
15
|
# $sso_session_cookie below). Cross-app logout: the edge also checks for the
|
|
@@ -18,12 +17,14 @@
|
|
|
18
17
|
# njs handlers — a NON-CREDENTIAL presence sentinel whose value is literally
|
|
19
18
|
# "1"); if the app cookie is present but that sentinel is gone, the session
|
|
20
19
|
# was revoked on another app and the edge forces re-auth.
|
|
21
|
-
# 3.
|
|
22
|
-
#
|
|
23
|
-
#
|
|
20
|
+
# 3. Otherwise the edge looks for a bearer credential — the apex SSO session
|
|
21
|
+
# cookie `exe_sess` (normal case), or a legacy `?access_token=` callback
|
|
22
|
+
# param (compat) — and VALIDATES it against the shared GoTrue (`GET /user`
|
|
23
|
+
# with `Authorization: Bearer <token>`) before letting it through. P0 bug
|
|
24
24
|
# 462d3273: the edge previously trusted the mere PRESENCE of the query
|
|
25
25
|
# param, so `?access_token=anything` bypassed the gate. Presence is never
|
|
26
|
-
# trusted — only a token GoTrue accepts passes.
|
|
26
|
+
# trusted — only a token GoTrue accepts passes. Bug 83ba9546: requiring the
|
|
27
|
+
# URL param specifically is what caused the post-login redirect livelock.
|
|
27
28
|
# 4. Anything else 401s inside the gate and is 302-redirected to:
|
|
28
29
|
# https://auth.<domain>/?product=<App>&redirect=https://<app>.<domain><uri>
|
|
29
30
|
# A 403 from the GoTrue /user validation subrequest is mapped to the same
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
# These are templated values — replace before installing, or render with envsubst
|
|
38
39
|
# (DOMAIN, APP_NAME, APP_SUBDOMAIN, APP_SESSION_COOKIE):
|
|
39
40
|
#
|
|
40
|
-
# #
|
|
41
|
+
# # THREE http-context declarations MUST exist once per nginx config (the
|
|
41
42
|
# # compose edge ships them in sso-edge/default.conf.template; host-nginx
|
|
42
43
|
# # installs add them next to their `include`s — see sso-redirect.README.md):
|
|
43
44
|
# #
|
|
@@ -59,26 +60,6 @@
|
|
|
59
60
|
# default "";
|
|
60
61
|
# "~(?:^|;\s*)exe_access_token=([^\s;]+)" $1;
|
|
61
62
|
# }
|
|
62
|
-
# # 4. The static-asset exemption (see step 0 inside /_sso_gate). Like #2
|
|
63
|
-
# # this MUST map over $request_uri: inside the auth_request subrequest
|
|
64
|
-
# # $uri is `/_sso_gate`, so a map over $uri never matches and the
|
|
65
|
-
# # exemption is silently inert (bug 06a3daae). $request_uri includes the
|
|
66
|
-
# # query string, hence the `[?#]` anchor instead of a bare `$`.
|
|
67
|
-
# # It must ALSO be anchored to the build-output PATH PREFIXES: a bare
|
|
68
|
-
# # extension test exempts any URL shaped like an asset, and since the app
|
|
69
|
-
# # location is a catch-all proxy that hands `/uploads/customer.png` and
|
|
70
|
-
# # `/api/export.js` straight past the gate. Deny arms come first because
|
|
71
|
-
# # nginx takes the FIRST matching regex in a map:
|
|
72
|
-
# map $request_uri $sso_is_static {
|
|
73
|
-
# default "";
|
|
74
|
-
# "~*^/(?:api|uploads?|files|private|attachments|media|desk|app|method|admin)(?:[/?#]|$)" "";
|
|
75
|
-
# "~\.\." "";
|
|
76
|
-
# "~*%2e" "";
|
|
77
|
-
# "~*%2f" "";
|
|
78
|
-
# "~*%5c" "";
|
|
79
|
-
# "~*^/(?:_next/static|_nuxt|assets|static|build/assets)/[^?#]*\.(?:js|mjs|css|map|png|jpe?g|gif|svg|ico|webp|woff2?|ttf)(?:[?#]|$)" "static";
|
|
80
|
-
# "~*^/(?:favicon\.(?:ico|svg|png)|apple-touch-icon(?:-precomposed)?\.png)(?:[?#]|$)" "static";
|
|
81
|
-
# }
|
|
82
63
|
#
|
|
83
64
|
# server {
|
|
84
65
|
# server_name crm.${DOMAIN};
|
|
@@ -90,61 +71,69 @@
|
|
|
90
71
|
# location / { proxy_pass http://exe-crm:3000; }
|
|
91
72
|
# }
|
|
92
73
|
#
|
|
93
|
-
# For Wiki: set $sso_product "Wiki"; set $sso_session_cookie $cookie_exe_access_token; # bug f1bb40d8: canonical SSO cookie
|
|
94
|
-
# proxy_pass http://exe-wiki:3001;
|
|
95
74
|
# For ERP: set $sso_product "ERP"; set $sso_session_cookie $cookie_sid;
|
|
96
75
|
# proxy_pass http://exe-erp:8000;
|
|
97
76
|
#
|
|
77
|
+
# Apps with NO app-native session cookie (wiki, dashboard) MUST declare the
|
|
78
|
+
# variable empty so step 1 cannot match and every visit is authenticated by
|
|
79
|
+
# the apex `exe_sess` + GoTrue check in steps 2-3:
|
|
80
|
+
# set $sso_session_cookie ""; # bug 4a6650f5 — see below
|
|
81
|
+
# proxy_pass http://exe-wiki:3001;
|
|
82
|
+
#
|
|
83
|
+
# NEVER point $sso_session_cookie at $cookie_exe_access_token. That is the
|
|
84
|
+
# apex presence SENTINEL, not a credential: its value is the literal "1" and
|
|
85
|
+
# it is deliberately JS-readable, so any visitor can set it. Wiki and
|
|
86
|
+
# dashboard both did (bug 4a6650f5), which made a single forged header
|
|
87
|
+
# `Cookie: exe_access_token=1` satisfy step 1's app-cookie arm AND its
|
|
88
|
+
# sentinel arm at once — the gate returned 204 with zero real credential, and
|
|
89
|
+
# cross-app logout could be undone by re-setting that one cookie.
|
|
90
|
+
#
|
|
98
91
|
# NOTE: This is an EDGE-level gate (host nginx in front of the app). If you front
|
|
99
92
|
# the stack with Cloudflare Tunnel instead of host nginx, implement the same gate
|
|
100
93
|
# with Cloudflare Access (see sso-redirect.README.md) — cloudflared ingress alone
|
|
101
94
|
# cannot express a cookie-conditional redirect.
|
|
102
95
|
#
|
|
103
|
-
# NOTE: cookie PRESENCE is still trusted at the edge
|
|
104
|
-
#
|
|
105
|
-
#
|
|
106
|
-
#
|
|
96
|
+
# NOTE: cookie PRESENCE is still trusted at the edge for apps that HAVE an
|
|
97
|
+
# app-native session cookie (CRM's $cookie_tokenPair, ERP's $cookie_sid — real
|
|
98
|
+
# server-side sessions the edge cannot itself verify against GoTrue); each app
|
|
99
|
+
# fully validates its own session server-side. The edge gate's job is the login
|
|
100
|
+
# funnel plus never letting an unvalidated bearer token skip it (bug 462d3273).
|
|
101
|
+
# That presence trust is ONLY ever extended to a real app-native credential —
|
|
102
|
+
# never to the apex `exe_access_token` sentinel (bug 4a6650f5).
|
|
107
103
|
# Cross-app logout adds a sentinel-cookie check: if the app-native cookie is
|
|
108
104
|
# present but the shared apex `exe_access_token` sentinel is absent, the edge
|
|
109
105
|
# 401s — the session was revoked on another app and the app-native cookie is
|
|
110
106
|
# stale. This is ALWAYS ON; it is the mechanism that makes "log out once, out
|
|
111
|
-
# everywhere" real across crm/
|
|
112
|
-
#
|
|
113
|
-
#
|
|
114
|
-
#
|
|
115
|
-
# $request_uri (bug 06a3daae — $uri is `/_sso_gate` inside the subrequest).
|
|
107
|
+
# everywhere" real across crm/erp. Wiki and dashboard have no app-native cookie
|
|
108
|
+
# at all, so they never reach step 1 — every one of their requests is proven by
|
|
109
|
+
# the apex `exe_sess` + GoTrue validation in steps 2-3, which is strictly
|
|
110
|
+
# stronger, and their cross-app logout falls out of `exe_sess` being cleared.
|
|
116
111
|
#
|
|
117
|
-
#
|
|
118
|
-
#
|
|
119
|
-
# location is a catch-all `proxy_pass`, it would hand `/uploads/customer.png`
|
|
120
|
-
# or `/api/export.js` a 204 from the gate and proxy them to the app with no SSO
|
|
121
|
-
# at all. Only these prefixes can ever be exempt:
|
|
112
|
+
# ── NO static-asset exemption (bug 419e1231) ─────────────────────────────────
|
|
113
|
+
# This gate has no file-extension bypass, and must not grow one.
|
|
122
114
|
#
|
|
123
|
-
#
|
|
124
|
-
#
|
|
115
|
+
# A step-0 `if ($sso_is_static) { return 204; }` used to sit at the top of
|
|
116
|
+
# /_sso_gate, and this header used to document it as an accepted security
|
|
117
|
+
# tradeoff. Both are gone, because the code never actually ran: inside an
|
|
118
|
+
# nginx auth_request subrequest $uri is the SUBREQUEST's own URI — literally
|
|
119
|
+
# "/_sso_gate" — not the parent request's path, so a map built over $uri never
|
|
120
|
+
# matched an asset extension. The documented tradeoff described a bypass that
|
|
121
|
+
# did not exist, which is worse than either having it or not.
|
|
125
122
|
#
|
|
126
|
-
#
|
|
127
|
-
#
|
|
128
|
-
#
|
|
129
|
-
#
|
|
130
|
-
#
|
|
131
|
-
#
|
|
132
|
-
#
|
|
123
|
+
# It is also no longer needed. The exemption existed to stop first-page-load
|
|
124
|
+
# deadlock: an SPA sets its session cookie only after its JS runs, so gating
|
|
125
|
+
# app.js on an app-native cookie would hand the script tag auth HTML. Since bug
|
|
126
|
+
# 83ba9546 the gate authenticates off the apex `exe_sess` cookie, which the
|
|
127
|
+
# browser already carries on the very first request, so an authenticated user
|
|
128
|
+
# passes for assets and documents alike with no exemption. Verified live: an
|
|
129
|
+
# authenticated GET of a .js asset returns 200; an unauthenticated one 302s.
|
|
133
130
|
#
|
|
134
|
-
#
|
|
135
|
-
#
|
|
136
|
-
#
|
|
137
|
-
#
|
|
138
|
-
#
|
|
139
|
-
#
|
|
140
|
-
# reaches an app that will refuse to serve it to an unauthenticated user.
|
|
141
|
-
# 2. Without the exemption the stack does not work at all: the SPA only sets
|
|
142
|
-
# its session cookie after its JS runs, so gating app.js returns auth HTML
|
|
143
|
-
# in place of the script and the app never boots (blank page).
|
|
144
|
-
#
|
|
145
|
-
# The limit of that reasoning: never serve private content from one of the
|
|
146
|
-
# prefixes above, and do not rely on the edge gate for an app that does no
|
|
147
|
-
# authorization of its own.
|
|
131
|
+
# DO NOT "repair" this by rebuilding the map over $request_uri (which would
|
|
132
|
+
# make it fire). That is not a typo fix — it would newly open a real bypass for
|
|
133
|
+
# every path whose URI ends in an asset extension, including user-uploaded CRM
|
|
134
|
+
# attachments and wiki images. If a future app genuinely needs an ungated path,
|
|
135
|
+
# give it an explicit `location = /path { auth_request off; }` (as the /health
|
|
136
|
+
# and /auth/logout routes already do), never an extension-shaped wildcard.
|
|
148
137
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
149
138
|
|
|
150
139
|
# Run the gate for every request on this vhost. The gate is a zero-cost local
|
|
@@ -170,21 +159,6 @@ location = /_sso_gate {
|
|
|
170
159
|
# which auth_request rejects ("auth request unexpected status: 302").
|
|
171
160
|
error_page 401 = @sso_gate_deny;
|
|
172
161
|
|
|
173
|
-
# 0. Static assets (JS/CSS/images/fonts via the $sso_is_static http-context
|
|
174
|
-
# map) pass BEFORE any cookie check. Assets are non-sensitive — all SPA
|
|
175
|
-
# data flows only via the authenticated APIs, which stay fully gated —
|
|
176
|
-
# and gating them deadlocks first page load: the SPA sets its session
|
|
177
|
-
# cookie only AFTER it boots, so answering app.js with the auth HTML
|
|
178
|
-
# leaves a session-bearing document that can never boot (blank page).
|
|
179
|
-
# See the SCOPE note in the header: the map is path-prefix scoped, so
|
|
180
|
-
# only build-output directories can reach this 204 — /api/* and
|
|
181
|
-
# /uploads/* stay gated no matter what extension they carry.
|
|
182
|
-
# The map MUST be over $request_uri, not $uri: in here $uri is
|
|
183
|
-
# `/_sso_gate`, so a $uri-based map never matches (bug 06a3daae).
|
|
184
|
-
if ($sso_is_static) {
|
|
185
|
-
return 204;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
162
|
# 1. App session cookie present → check for cross-app logout.
|
|
189
163
|
# The shared apex cookie is `exe_access_token` (domain .${DOMAIN}), set
|
|
190
164
|
# by exe-auth's njs login handler and expired by its logout handler. It
|
|
@@ -195,6 +169,15 @@ location = /_sso_gate {
|
|
|
195
169
|
# the stale app cookie.
|
|
196
170
|
# Bug 21ae2388: this arm matched a cookie named `exe-auth` that nothing
|
|
197
171
|
# has ever minted, so it fired unconditionally and 401'd every request.
|
|
172
|
+
#
|
|
173
|
+
# Bug 4a6650f5: $sso_session_cookie MUST be a real app-native credential
|
|
174
|
+
# (CRM $cookie_tokenPair, ERP $cookie_sid) — never $cookie_exe_access_token.
|
|
175
|
+
# Pointing it at the sentinel collapses both arms of this check onto one
|
|
176
|
+
# forgeable cookie: `exe_access_token=1` then reads as "app cookie present"
|
|
177
|
+
# AND "sentinel present", so this arm returned 204 for any visitor and
|
|
178
|
+
# cross-app logout could be undone by re-setting it. A vhost with no
|
|
179
|
+
# app-native cookie sets $sso_session_cookie "" and is authenticated by
|
|
180
|
+
# steps 2-3 instead.
|
|
198
181
|
set $sso_auth_check "";
|
|
199
182
|
if ($sso_session_cookie) {
|
|
200
183
|
set $sso_auth_check "app";
|
|
@@ -209,24 +192,64 @@ location = /_sso_gate {
|
|
|
209
192
|
return 204;
|
|
210
193
|
}
|
|
211
194
|
|
|
212
|
-
# 2. No cookie
|
|
213
|
-
#
|
|
214
|
-
#
|
|
215
|
-
#
|
|
216
|
-
#
|
|
217
|
-
# so
|
|
218
|
-
|
|
195
|
+
# 2. No app session cookie yet. Pick the bearer credential to validate.
|
|
196
|
+
#
|
|
197
|
+
# Bug 83ba9546: this step used to accept ONLY $sso_uri_access_token, the
|
|
198
|
+
# `?access_token=` callback param. exe-auth deliberately stopped putting
|
|
199
|
+
# tokens in URLs (they leak via browser history, access.log and Referer),
|
|
200
|
+
# so that param is never sent any more. The gate therefore waited forever
|
|
201
|
+
# for a handoff that will never come: a user who had just authenticated
|
|
202
|
+
# held a valid apex session but no app-native cookie, so this arm 401'd,
|
|
203
|
+
# @sso_login bounced them to auth.<domain>, auth saw a live session and
|
|
204
|
+
# bounced them straight back — an infinite redirect livelock (crm and erp;
|
|
205
|
+
# wiki/dashboard escaped it only because their app cookie name happens to
|
|
206
|
+
# equal the apex sentinel name).
|
|
207
|
+
#
|
|
208
|
+
# The fix is NOT to put the token back in the URL. The apex session
|
|
209
|
+
# cookie `exe_sess` (HttpOnly Secure SameSite=Lax, scoped to .${DOMAIN}
|
|
210
|
+
# by AUTH_COOKIE_DOMAIN) is ALREADY presented by the browser on every
|
|
211
|
+
# product subdomain, and HttpOnly restricts page JavaScript only — it has
|
|
212
|
+
# never restricted the server, so nginx can read it here as
|
|
213
|
+
# $cookie_exe_sess. We validate it with the exact same GoTrue /user call
|
|
214
|
+
# step 3 already performs, so this is strictly a NEW SOURCE for the same
|
|
215
|
+
# proven check, not a new trust assumption.
|
|
216
|
+
#
|
|
217
|
+
# Note we validate the real credential, NOT the `exe_access_token=1`
|
|
218
|
+
# presence sentinel. The sentinel is trivially forgeable (any visitor can
|
|
219
|
+
# set it), so gating on its presence would let anyone walk through the
|
|
220
|
+
# edge; $sso_gotrue_cookie stays what it has always been — a cross-app
|
|
221
|
+
# logout signal only (step 1), never an authentication signal.
|
|
222
|
+
#
|
|
223
|
+
# setSessionCookies() writes the token percent-encoded, but a JWT is
|
|
224
|
+
# base64url + dots, so encodeURIComponent() is a no-op on it and the raw
|
|
225
|
+
# cookie value is already the bearer token.
|
|
226
|
+
#
|
|
227
|
+
# Precedence keeps the callback param first purely for backward
|
|
228
|
+
# compatibility with any older auth build still mid-rollout; it is still
|
|
229
|
+
# validated, never trusted on presence (bug 462d3273 stays fixed).
|
|
230
|
+
set $sso_bearer $sso_uri_access_token;
|
|
231
|
+
if ($sso_bearer = "") {
|
|
232
|
+
set $sso_bearer $cookie_exe_sess;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
# Neither source produced a credential → unauthenticated → login redirect.
|
|
236
|
+
if ($sso_bearer = "") {
|
|
219
237
|
return 401;
|
|
220
238
|
}
|
|
221
239
|
|
|
222
|
-
# 3.
|
|
240
|
+
# 3. VALIDATE the bearer against the shared GoTrue before letting it past.
|
|
223
241
|
# GET /user returns 200 only for a currently-valid access token; any
|
|
224
242
|
# 401/403 propagates and triggers the login redirect. If GoTrue is
|
|
225
243
|
# unreachable the subrequest 5xx fails the gate (fail closed).
|
|
244
|
+
#
|
|
245
|
+
# A 204 here only clears the EDGE gate. Each app still performs its own
|
|
246
|
+
# server-side exchange of the apex `exe_sess` cookie for its own session
|
|
247
|
+
# (exe-wiki / exe-erp / exe-crm, bug d0652644 and related) — the edge is
|
|
248
|
+
# the login funnel, not the authorization boundary, exactly as before.
|
|
226
249
|
proxy_pass http://sso_gotrue/user;
|
|
227
250
|
proxy_pass_request_body off;
|
|
228
251
|
proxy_set_header Content-Length "";
|
|
229
|
-
proxy_set_header Authorization "Bearer $
|
|
252
|
+
proxy_set_header Authorization "Bearer $sso_bearer";
|
|
230
253
|
proxy_set_header Cookie "";
|
|
231
254
|
proxy_connect_timeout 5s;
|
|
232
255
|
proxy_send_timeout 5s;
|
package/dist/.dist-verified.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"verified_at": "2026-
|
|
4
|
-
"manifest_sha256": "
|
|
5
|
-
"package_version": "0.9.
|
|
3
|
+
"verified_at": "2026-09-02T09:40:41.834Z",
|
|
4
|
+
"manifest_sha256": "924d73f2e3e72e239a43abb555ac8a9f7f9ae48f93dc26a8d786f82af3bd0c29",
|
|
5
|
+
"package_version": "0.9.376"
|
|
6
6
|
}
|
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
resolveAgentAttribution,
|
|
8
8
|
resolveAgentForPayload,
|
|
9
9
|
writeActiveAgent
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5DF4Y6EC.js";
|
|
11
11
|
import "./chunk-K4ESASPL.js";
|
|
12
12
|
import "./chunk-CVYC6DUW.js";
|
|
13
13
|
import "./chunk-GJV3WDWM.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-66CGXQUA.js";
|
|
15
15
|
import "./chunk-BBMTVAE3.js";
|
|
16
16
|
import "./chunk-TKDITWDN.js";
|
|
17
17
|
import "./chunk-5YEUPUV4.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-AHNVFBVB.js";
|
|
19
19
|
import "./chunk-YYB5PMTK.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-L5CGXEZC.js";
|
|
21
|
+
import "./chunk-CL4J4757.js";
|
|
22
|
+
import "./chunk-ZQEJ4IX2.js";
|
|
23
23
|
import "./chunk-FXU7JOXK.js";
|
|
24
24
|
import "./chunk-ZIG7VPJV.js";
|
|
25
25
|
import "./chunk-HSGBZSCA.js";
|
|
@@ -8,19 +8,19 @@ import {
|
|
|
8
8
|
resolveAgentAttribution,
|
|
9
9
|
resolveAgentForPayload,
|
|
10
10
|
writeActiveAgent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5DF4Y6EC.js";
|
|
12
12
|
import "./chunk-K4ESASPL.js";
|
|
13
13
|
import "./chunk-CVYC6DUW.js";
|
|
14
14
|
import "./chunk-GJV3WDWM.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-66CGXQUA.js";
|
|
16
16
|
import "./chunk-BBMTVAE3.js";
|
|
17
17
|
import "./chunk-TKDITWDN.js";
|
|
18
18
|
import "./chunk-5YEUPUV4.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-AHNVFBVB.js";
|
|
20
20
|
import "./chunk-YYB5PMTK.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-L5CGXEZC.js";
|
|
22
|
+
import "./chunk-CL4J4757.js";
|
|
23
|
+
import "./chunk-ZQEJ4IX2.js";
|
|
24
24
|
import "./chunk-FXU7JOXK.js";
|
|
25
25
|
import "./chunk-ZIG7VPJV.js";
|
|
26
26
|
import "./chunk-HSGBZSCA.js";
|
|
@@ -5,15 +5,15 @@ import "./chunk-AM7S2TY6.js";
|
|
|
5
5
|
import {
|
|
6
6
|
loadEmployeesSync,
|
|
7
7
|
validateEmployeeName
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-66CGXQUA.js";
|
|
9
9
|
import "./chunk-BBMTVAE3.js";
|
|
10
10
|
import "./chunk-TKDITWDN.js";
|
|
11
11
|
import "./chunk-5YEUPUV4.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-AHNVFBVB.js";
|
|
13
13
|
import "./chunk-YYB5PMTK.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-L5CGXEZC.js";
|
|
15
|
+
import "./chunk-CL4J4757.js";
|
|
16
|
+
import "./chunk-ZQEJ4IX2.js";
|
|
17
17
|
import "./chunk-FXU7JOXK.js";
|
|
18
18
|
import "./chunk-WNBZJSQT.js";
|
|
19
19
|
import "./chunk-ZIG7VPJV.js";
|