@askexenow/exe-os 0.9.407 → 0.9.409
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/erp-nginx/nginx.conf +8 -2
- package/deploy/compose/sso-edge/default.conf.template +55 -0
- package/deploy/hosted/public-demo-compose.yml +52 -0
- package/deploy/stack-manifests/v0.9.json +1339 -1
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-U6JYIXZD.js → active-agent-2AMJC3SC.js} +6 -5
- package/dist/{active-agent-2OMOWJXI.js → active-agent-5AKPW2N7.js} +6 -5
- package/dist/{agent-defs-generator-TZC3QFTT.js → agent-defs-generator-QN3J6FVJ.js} +5 -5
- package/dist/{agent-loop-OQUZUGQU.js → agent-loop-FMOA2MG2.js} +1 -1
- package/dist/{agentic-ontology-GJI54CFX.js → agentic-ontology-6RS7A7KP.js} +1 -1
- package/dist/{artifact-backup-4GCKVN3V.js → artifact-backup-6O4FNYPS.js} +3 -3
- package/dist/{backfill-metadata-EVJEKCY3.js → backfill-metadata-6YX6LGPJ.js} +8 -8
- package/dist/{backup-verify-PIH5GXLV.js → backup-verify-QIAQ63VC.js} +1 -1
- package/dist/{behavior-injection-TKQETCCW.js → behavior-injection-NRXTNROW.js} +11 -11
- package/dist/{behavior-promotion-TB53MVMQ.js → behavior-promotion-MW7OQ72V.js} +10 -10
- package/dist/{behaviors-2XKHIDUD.js → behaviors-7AOK44QK.js} +9 -9
- package/dist/bin/agentic-ontology-backfill.js +9 -9
- package/dist/bin/agentic-reflection-backfill.js +10 -10
- package/dist/bin/agentic-semantic-label.js +9 -9
- package/dist/bin/backfill-conversations.js +8 -8
- package/dist/bin/backfill-responses.js +8 -8
- package/dist/bin/backfill-vectors.js +8 -8
- package/dist/bin/bulk-sync-postgres.js +17 -17
- package/dist/bin/cc-doctor.js +12 -11
- package/dist/bin/cleanup-stale-review-tasks.js +19 -19
- package/dist/bin/cli.js +24 -24
- package/dist/bin/deferred-daemon-restart.js +104 -103
- package/dist/bin/exe-agent-config.js +5 -5
- package/dist/bin/exe-agent.js +10 -10
- package/dist/bin/exe-assign.js +9 -9
- package/dist/bin/exe-boot.js +44 -43
- package/dist/bin/exe-call.js +9 -9
- package/dist/bin/exe-cloud.js +18 -18
- package/dist/bin/exe-config-dump.js +5 -5
- package/dist/bin/exe-dispatch.js +20 -20
- package/dist/bin/exe-doctor.js +7 -7
- package/dist/bin/exe-export-behaviors.js +13 -13
- package/dist/bin/exe-forget.js +11 -11
- package/dist/bin/exe-gateway.js +9 -9
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +12 -11
- package/dist/bin/exe-heartbeat.js +25 -25
- package/dist/bin/exe-kill.js +25 -25
- package/dist/bin/exe-launch-agent.js +34 -34
- package/dist/bin/exe-mcp.js +7 -6
- package/dist/bin/exe-memory-reads.js +8 -8
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +7 -6
- package/dist/bin/exe-pending-messages.js +20 -20
- package/dist/bin/exe-pending-notifications.js +19 -19
- package/dist/bin/exe-pending-reviews.js +20 -20
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +24 -24
- package/dist/bin/exe-search.js +10 -10
- package/dist/bin/exe-session-cleanup.js +26 -26
- package/dist/bin/exe-settings.js +19 -19
- package/dist/bin/exe-start-codex.js +20 -20
- package/dist/bin/exe-start-opencode.js +18 -18
- package/dist/bin/exe-status.js +21 -21
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +21 -21
- package/dist/bin/graph-backfill.js +9 -9
- package/dist/bin/graph-export.js +9 -9
- package/dist/bin/hooks-cli.js +4 -4
- package/dist/bin/import-history.js +14 -13
- package/dist/bin/install.js +106 -105
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -5
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +8 -8
- package/dist/bin/scan-tasks.js +20 -20
- package/dist/bin/setup.js +3 -3
- package/dist/bin/shard-migrate.js +9 -9
- package/dist/bin/stack-update.js +4 -4
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-34GD265Q.js → boot-generation-HG6LLZLY.js} +4 -4
- package/dist/{boot-review-sections-JYDDUJH5.js → boot-review-sections-STZ5EAIL.js} +18 -18
- package/dist/{bug-landed-reconciler-ORYLGRQI.js → bug-landed-reconciler-EO72HUI2.js} +7 -7
- package/dist/build-info.json +3 -3
- package/dist/build-manifest.json +970 -970
- package/dist/{capability-cards-IOFJOGID.js → capability-cards-C3SMHB2E.js} +3 -3
- package/dist/{capacity-monitor-CJSDRDLR.js → capacity-monitor-UI553HRL.js} +20 -20
- package/dist/{catchup-brief-ELSYIYVL.js → catchup-brief-VE2X4HML.js} +26 -26
- package/dist/{chunk-HBOSSJWS.js → chunk-23XUZHB7.js} +5 -5
- package/dist/{chunk-BG52IECQ.js → chunk-3AL2LO3L.js} +1 -1
- package/dist/{chunk-HPDR3EL7.js → chunk-3MDUKF3N.js} +4 -4
- package/dist/{chunk-BHKCSRJG.js → chunk-4M24XCTI.js} +663 -68
- package/dist/{chunk-RGPEUXOE.js → chunk-4MK6LOD6.js} +27 -3
- package/dist/{chunk-ZB34E2OV.js → chunk-4O7OUBEX.js} +10 -10
- package/dist/{chunk-Z5ERWCOL.js → chunk-4Q7H3TO7.js} +1 -1
- package/dist/{chunk-YTP6L76N.js → chunk-4RQ62XXK.js} +5 -5
- package/dist/{chunk-VDSAXP3N.js → chunk-4S6H2NWS.js} +4 -4
- package/dist/{chunk-DXZRXNIC.js → chunk-4W7Y67B5.js} +1 -1
- package/dist/{chunk-SS3FTK77.js → chunk-52Z435PH.js} +8 -3
- package/dist/{chunk-77EIMVAX.js → chunk-5N34MMKS.js} +1 -1
- package/dist/{chunk-UMLDPQ24.js → chunk-6EY6OFBC.js} +2 -2
- package/dist/{chunk-IMI5ZAOA.js → chunk-6JLVCMKH.js} +1 -1
- package/dist/{chunk-ZGRLIQLE.js → chunk-6RRPVE5O.js} +3 -3
- package/dist/{chunk-6SJ4SKWZ.js → chunk-6TB7UXCA.js} +1 -1
- package/dist/{chunk-342ZBEDI.js → chunk-6ZW6BRI4.js} +2 -2
- package/dist/{chunk-5QJEJA5H.js → chunk-7I6KVKFF.js} +3 -3
- package/dist/{chunk-4SLKFUA7.js → chunk-7LTAA55U.js} +5 -1
- package/dist/{chunk-FKANX6A7.js → chunk-7P2TDFZL.js} +1 -1
- package/dist/{chunk-SLJDYBLE.js → chunk-7R7KDRKV.js} +1 -1
- package/dist/{chunk-NRLJOV7M.js → chunk-7YX73K2R.js} +97 -58
- package/dist/{chunk-R5YD5DIP.js → chunk-APVU4Q5B.js} +16 -16
- package/dist/{chunk-7OX2AACL.js → chunk-B3ISLIKE.js} +2 -2
- package/dist/{chunk-CP6XE35Z.js → chunk-BHDDDNC6.js} +2 -2
- package/dist/{chunk-TEHJ5TOU.js → chunk-BIV4IHED.js} +12 -12
- package/dist/{chunk-5GYA4ERO.js → chunk-BM467PZN.js} +1 -1
- package/dist/{chunk-BER2YLZT.js → chunk-BPBEJD7U.js} +1 -1
- package/dist/{chunk-T4IDLAZM.js → chunk-BYP3DOUU.js} +13 -0
- package/dist/{chunk-U7A2EACP.js → chunk-C426MZMD.js} +3 -3
- package/dist/{chunk-TRZXFWRO.js → chunk-DACRR362.js} +6 -6
- package/dist/{chunk-232YVOFB.js → chunk-DE2V7547.js} +2 -2
- package/dist/{chunk-QHQW3VHV.js → chunk-DIKLSAJE.js} +1 -1
- package/dist/{chunk-XC6EXJBA.js → chunk-DM4VTXM6.js} +4 -4
- package/dist/{chunk-EEY77PKF.js → chunk-DMYJVGQM.js} +1 -1
- package/dist/{chunk-ZSZVJ2FR.js → chunk-E2Z3F26R.js} +1 -1
- package/dist/{chunk-GRIGIKC4.js → chunk-EHILXBVT.js} +3 -3
- package/dist/{chunk-AIDYWH4D.js → chunk-EIM7OGTD.js} +2 -2
- package/dist/{chunk-7E4KZIX7.js → chunk-ESO5JDOT.js} +1 -1
- package/dist/{chunk-SPHPROWZ.js → chunk-F5ZRHLG5.js} +2 -2
- package/dist/{chunk-BIBBNDM3.js → chunk-FBZ32BD4.js} +1 -1
- package/dist/{chunk-FBB2YMKB.js → chunk-FJKUFMNF.js} +1 -1
- package/dist/{chunk-MNEVSKUY.js → chunk-FZT4VQP7.js} +1 -1
- package/dist/{chunk-ZLMVXK4O.js → chunk-G3ZYXXO7.js} +11 -11
- package/dist/{chunk-6RWTLW75.js → chunk-GEQQGN3J.js} +7 -7
- package/dist/{chunk-7NR6LMGH.js → chunk-GG73NHZD.js} +2 -2
- package/dist/{chunk-VGP4T2L6.js → chunk-GKPPLIMJ.js} +5 -5
- package/dist/{chunk-ERIXGUSV.js → chunk-GPWXUU3L.js} +1 -1
- package/dist/{chunk-OAP66FCX.js → chunk-GRAMRMWS.js} +2 -2
- package/dist/{chunk-IVX4CW6I.js → chunk-GTRB6DGI.js} +2 -2
- package/dist/{chunk-WQ7YIU4M.js → chunk-HFSFWMID.js} +3 -3
- package/dist/{chunk-5FOJ6N3V.js → chunk-HFXBL7XE.js} +1 -1
- package/dist/{chunk-36QUBTID.js → chunk-HK7HIDXP.js} +2 -2
- package/dist/{chunk-323DU3UM.js → chunk-HNGAM3U4.js} +3 -3
- package/dist/{chunk-XIJIFRPA.js → chunk-HRKN3DQE.js} +8 -8
- package/dist/{chunk-AO2HCOE6.js → chunk-HRYWB4TO.js} +3 -3
- package/dist/{chunk-Q2RTUZXB.js → chunk-HUMNRJZE.js} +4 -4
- package/dist/{chunk-KAKURNNS.js → chunk-IPANAGA3.js} +1 -1
- package/dist/{chunk-RZTSXHWF.js → chunk-IPBNHPTE.js} +9 -9
- package/dist/{chunk-SDJ3TONY.js → chunk-IUBCS6TA.js} +3 -3
- package/dist/{chunk-C7SKFVXQ.js → chunk-IURGBN5B.js} +4 -4
- package/dist/{chunk-GWAN2BDB.js → chunk-IVXELUEQ.js} +25 -12
- package/dist/{chunk-DG3DWHYJ.js → chunk-IZ24HRDC.js} +3 -3
- package/dist/{chunk-G3ABALZ7.js → chunk-JJYAETCO.js} +4 -4
- package/dist/{chunk-6XJYUC7K.js → chunk-JR3GTBV3.js} +1 -1
- package/dist/{chunk-MLIRYXZ2.js → chunk-K7DAE2HO.js} +1 -1
- package/dist/{chunk-ZGNMI2WJ.js → chunk-KBHK2WNO.js} +1 -1
- package/dist/{chunk-MAY4VWEG.js → chunk-KCRSJ3VU.js} +3 -3
- package/dist/{chunk-NF7JS7XW.js → chunk-KIJRAZWR.js} +1 -1
- package/dist/{chunk-35PGCSNN.js → chunk-KPLMY2GT.js} +4 -4
- package/dist/{chunk-USZHUBHT.js → chunk-L4ISXVC5.js} +1 -1
- package/dist/{chunk-UNNOYMQI.js → chunk-L5CPS34O.js} +1 -1
- package/dist/{chunk-SJTFU3YJ.js → chunk-LE3DIA25.js} +3 -3
- package/dist/{chunk-DEBKL7WW.js → chunk-LMF2YC5C.js} +4 -4
- package/dist/{chunk-LDYQPD5H.js → chunk-LVEMYNYH.js} +3 -3
- package/dist/{chunk-G4MVORCE.js → chunk-M4N7I2H5.js} +5 -5
- package/dist/{chunk-5F74HGSQ.js → chunk-M7774YLB.js} +1 -1
- package/dist/{chunk-3AOPBH5S.js → chunk-ME733Y2F.js} +1 -1
- package/dist/{chunk-CCY37D3C.js → chunk-N3JEYUDV.js} +2 -2
- package/dist/{chunk-3X733RHO.js → chunk-NDCW4G55.js} +1 -1
- package/dist/{chunk-Y73MI7UH.js → chunk-NFNM64A7.js} +12 -12
- package/dist/{chunk-3AC6WJNP.js → chunk-NHQWPKX7.js} +2 -2
- package/dist/{chunk-YB5IW32Y.js → chunk-NK4JHJNP.js} +4 -4
- package/dist/{chunk-IZWMWJZT.js → chunk-NVM3SKJ4.js} +1 -1
- package/dist/{chunk-VSJ3Y26C.js → chunk-OE7TAEOG.js} +1 -1
- package/dist/{chunk-D6PNMFPF.js → chunk-OEHZ46WQ.js} +2 -2
- package/dist/{chunk-4MQDDFRN.js → chunk-OFT5KSBM.js} +1 -1
- package/dist/{chunk-FEJK36FV.js → chunk-OISOA6NX.js} +2 -2
- package/dist/{chunk-L23CONP7.js → chunk-PCFYNK7V.js} +3 -3
- package/dist/{chunk-OMMQNLFE.js → chunk-PKM456D2.js} +1 -1
- package/dist/{chunk-G66AOAYN.js → chunk-PZDAPIQL.js} +1 -1
- package/dist/{chunk-QZJY4RMF.js → chunk-Q4GS5VW7.js} +3 -3
- package/dist/{chunk-DOO6M2XM.js → chunk-QK3Z4TKQ.js} +5 -5
- package/dist/{chunk-KZSBPAEJ.js → chunk-QPMKVSHU.js} +2 -2
- package/dist/{chunk-ZL3D7XTR.js → chunk-QUK3UDZV.js} +3 -3
- package/dist/{chunk-4U2TAOW7.js → chunk-QYIR64RR.js} +1 -1
- package/dist/{chunk-QWXBLCVK.js → chunk-R6CKQLEA.js} +2 -2
- package/dist/{chunk-X6HOIDIR.js → chunk-R7QZXQPU.js} +3 -3
- package/dist/{chunk-G6D6U2EY.js → chunk-RZ23QQCI.js} +4 -4
- package/dist/{chunk-PYS43F2X.js → chunk-RZBSVTOL.js} +1 -1
- package/dist/{chunk-RHEIOXVL.js → chunk-SA66WRBT.js} +1 -1
- package/dist/{chunk-KVPCFVAH.js → chunk-SFGFNJBR.js} +1 -1
- package/dist/{chunk-S5OI42DL.js → chunk-SGR4ZQAV.js} +3 -3
- package/dist/{chunk-IQI5LAEK.js → chunk-SY53PYLU.js} +1 -1
- package/dist/{chunk-7DG3WBGN.js → chunk-SYUJCVJG.js} +1 -1
- package/dist/{chunk-HJ2DJJIK.js → chunk-T2PAFWRK.js} +8 -8
- package/dist/{chunk-AWNX33WP.js → chunk-TBYWOHTE.js} +1 -1
- package/dist/{chunk-DDAOY3DL.js → chunk-TCV3WA5I.js} +1 -1
- package/dist/{chunk-3VW5ZP2F.js → chunk-UWGQNJIE.js} +1 -1
- package/dist/{chunk-3DIP37BT.js → chunk-UXJAW4IQ.js} +2 -2
- package/dist/{chunk-QJTG3DN7.js → chunk-VLAENYCN.js} +1 -1
- package/dist/{chunk-TLELTVAN.js → chunk-VYKXRSHU.js} +1 -1
- package/dist/{chunk-VFUMCL6H.js → chunk-W2VDJKTB.js} +1 -1
- package/dist/{chunk-PCLIU4BP.js → chunk-W5XAB2SW.js} +154 -152
- package/dist/{chunk-6GBGKSNQ.js → chunk-WYNIWJRN.js} +5 -5
- package/dist/{chunk-7VSPHUIB.js → chunk-XAGIZVYI.js} +26 -26
- package/dist/{chunk-XT7ZZJVD.js → chunk-XCPD7NGP.js} +1 -1
- package/dist/{chunk-52JOFQOK.js → chunk-XFGS22VE.js} +1 -1
- package/dist/{chunk-YV5JIEYI.js → chunk-XGPBHKU3.js} +2 -2
- package/dist/{chunk-WJ53NNEV.js → chunk-Y5LJYDX4.js} +1 -0
- package/dist/{chunk-GVVWEBTD.js → chunk-YLWKWEJJ.js} +3 -3
- package/dist/{chunk-6Y7TK4EA.js → chunk-YUAOQJVV.js} +2 -2
- package/dist/{chunk-KP3J52RW.js → chunk-YVS77JPW.js} +3 -3
- package/dist/{chunk-XA5FPMYR.js → chunk-ZEHBSA25.js} +2 -2
- package/dist/{chunk-6ENEX5UH.js → chunk-ZYOIH5NY.js} +6 -6
- package/dist/{cleanup-graph-garbage-M5OYEPRR.js → cleanup-graph-garbage-NKAJSCWZ.js} +9 -9
- package/dist/{cli-shutdown-AY2FMXD6.js → cli-shutdown-F3DFDCB5.js} +1 -1
- package/dist/{cloud-sync-command-PRC4GV62.js → cloud-sync-command-3YBLSMAL.js} +2 -2
- package/dist/{cloud-sync-db-init-IYXPCNSJ.js → cloud-sync-db-init-JWSPAFKY.js} +1 -1
- package/dist/{cloud-sync-shutdown-3F6XASFF.js → cloud-sync-shutdown-4R6RIO67.js} +3 -3
- package/dist/{co-activation-LB56BYW2.js → co-activation-2ZRANV3Q.js} +3 -3
- package/dist/{co-occurrence-TKPZB3IR.js → co-occurrence-6EELW2L2.js} +7 -7
- package/dist/{consent-passphrase-YQLAAPPC.js → consent-passphrase-TDR263MC.js} +2 -2
- package/dist/{content-extractor-XCS6QGM4.js → content-extractor-OVD7PTSN.js} +2 -2
- package/dist/{conversation-entity-extractor-J2UZGFG3.js → conversation-entity-extractor-KUJN3MOH.js} +4 -4
- package/dist/{crdt-sync-GE6DVV2F.js → crdt-sync-IX43KVQ3.js} +4 -4
- package/dist/{crm-webhook-6HXNLEQV.js → crm-webhook-GSCIW6CE.js} +2 -2
- package/dist/{cto-delegation-gate-QSWDPH67.js → cto-delegation-gate-ZWD4EFRR.js} +20 -19
- package/dist/{daemon-orchestration-YJ4GMHVM.js → daemon-orchestration-WL6V4QL4.js} +24 -24
- package/dist/{doc-graph-extractor-XLAUARWE.js → doc-graph-extractor-NJ7ZZC2C.js} +7 -7
- package/dist/{documents-SZ76YQ3Q.js → documents-O7WYZFFE.js} +9 -9
- package/dist/{dreaming-ZQGMOZ2E.js → dreaming-TUESPDT3.js} +24 -24
- package/dist/{employee-boot-brief-SV5JHCJL.js → employee-boot-brief-UCP6QLN4.js} +28 -28
- package/dist/{entity-boost-KTADWOGJ.js → entity-boost-TK43XT24.js} +1 -1
- package/dist/{exe-drift-CT36U5DX.js → exe-drift-QD6LUZT2.js} +4 -4
- package/dist/{exe-export-EJ4B74OU.js → exe-export-QIUNHFSS.js} +11 -11
- package/dist/{exe-import-UA6OIZ4C.js → exe-import-3UFOLHEW.js} +11 -11
- package/dist/{exe-key-SKOOVJCT.js → exe-key-D5NDKGHT.js} +104 -103
- package/dist/{exe-org-WQARAD3U.js → exe-org-UWDJBOCV.js} +32 -32
- package/dist/{exe-snapshot-2OXDANU3.js → exe-snapshot-P6SFODEN.js} +27 -27
- package/dist/{fast-db-init-YFUMI4NH.js → fast-db-init-SD7JZSEC.js} +1 -1
- package/dist/{founder-context-DMWIIDJ2.js → founder-context-QIXDZIJX.js} +2 -2
- package/dist/{founder-monitor-envelope-JYFWXZQ4.js → founder-monitor-envelope-TLOC4UYG.js} +4 -4
- package/dist/gateway/index.js +11 -11
- package/dist/{gateway-client-ELHI2DWX.js → gateway-client-CQTSYJLP.js} +1 -1
- package/dist/{git-staleness-K7HHMBWI.js → git-staleness-JSQTHB4Z.js} +3 -3
- package/dist/{global-procedures-ERZJFJUA.js → global-procedures-T3RKI4QX.js} +6 -6
- package/dist/{graph-auto-extract-LUQ6QZ4P.js → graph-auto-extract-V75GSTNX.js} +7 -7
- package/dist/{graph-query-KRNMWF77.js → graph-query-VAQN2RK3.js} +1 -1
- package/dist/{graph-rag-2W26GEGZ.js → graph-rag-GBA5E3QC.js} +4 -4
- package/dist/{hook-integrity-QFBZE5FK.js → hook-integrity-II6QK6Y4.js} +1 -1
- package/dist/{hook-prefetch-WP3PEE4H.js → hook-prefetch-5EHPOYY3.js} +19 -19
- package/dist/hooks/bug-report-worker.js +23 -23
- package/dist/hooks/codex-stop-task-finalizer.js +25 -25
- package/dist/hooks/commit-complete.js +23 -23
- package/dist/hooks/error-recall.js +14 -13
- package/dist/hooks/exe-heartbeat-hook.js +7 -6
- package/dist/hooks/ingest-worker.js +35 -9
- package/dist/hooks/ingest.js +16 -15
- package/dist/hooks/instructions-loaded.js +9 -8
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +8 -7
- package/dist/hooks/post-compact.js +7 -6
- package/dist/hooks/post-tool-combined.js +13 -13
- package/dist/hooks/pre-compact.js +24 -23
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +43 -42
- package/dist/hooks/session-end.js +29 -28
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +27 -26
- package/dist/hooks/subagent-stop.js +28 -27
- package/dist/hooks/summary-worker.js +27 -27
- package/dist/index.js +31 -31
- package/dist/{installer-ADGJLDVY.js → installer-ILYC4LI5.js} +9 -8
- package/dist/{installer-HCFVVQ6F.js → installer-MPVQ5L22.js} +9 -8
- package/dist/{installer-ZNP4S32U.js → installer-XEEZSF3V.js} +9 -8
- package/dist/{intercom-queue-NRECOZFL.js → intercom-queue-QGHAW2KO.js} +18 -18
- package/dist/lib/agent-config.js +2 -2
- package/dist/lib/cloud-sync.js +17 -17
- package/dist/lib/consolidation.js +10 -10
- package/dist/lib/crypto.js +3 -3
- package/dist/lib/database.js +3 -3
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +3 -3
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +3 -3
- package/dist/lib/exe-daemon.js +90 -90
- package/dist/lib/hybrid-search.js +10 -10
- package/dist/lib/identity.js +3 -3
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +19 -19
- package/dist/lib/post-tool-memory.js +46 -7
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +4 -4
- package/dist/lib/runtime-table.js +1 -1
- package/dist/lib/schedules.js +9 -9
- package/dist/lib/session-registry.js +5 -5
- package/dist/lib/skill-learning.js +10 -10
- package/dist/lib/store.js +8 -8
- package/dist/lib/task-router.js +4 -4
- package/dist/lib/tasks.js +20 -20
- package/dist/lib/tmux-routing.js +18 -18
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-CB2OCT2G.js → license-gate-CARN6AB6.js} +3 -3
- package/dist/{license-recheck-ZAEPWMY7.js → license-recheck-7Z3LS6YS.js} +1 -1
- package/dist/{license-sync-UW4UH7F5.js → license-sync-PUQV3HSZ.js} +2 -2
- package/dist/{local-secret-inventory-2DVUEFKD.js → local-secret-inventory-5J7P24ZR.js} +2 -2
- package/dist/mcp/register-tools.js +103 -102
- package/dist/mcp/server.js +103 -102
- package/dist/mcp/tools/complete-reminder.js +5 -5
- package/dist/mcp/tools/create-reminder.js +5 -5
- package/dist/mcp/tools/create-task.js +24 -23
- package/dist/mcp/tools/deactivate-behavior.js +13 -12
- package/dist/mcp/tools/list-reminders.js +5 -5
- package/dist/mcp/tools/list-tasks.js +24 -23
- package/dist/mcp/tools/send-message.js +23 -22
- package/dist/mcp/tools/update-task.js +21 -21
- package/dist/{mcp-http-config-IPXCT6Y5.js → mcp-http-config-RJKTZPHZ.js} +7 -6
- package/dist/{mcp-session-identity-GRKQ6X6M.js → mcp-session-identity-HN444A3G.js} +18 -18
- package/dist/{memory-cards-JN32U2KA.js → memory-cards-AT3QCCWU.js} +8 -8
- package/dist/{memory-graph-extractor-3LN2GSMZ.js → memory-graph-extractor-B43UWGV5.js} +8 -8
- package/dist/{memory-maintenance-YTNSNHD5.js → memory-maintenance-WDLL3ZX3.js} +2 -2
- package/dist/{memory-poisoning-defense-ISKHR76K.js → memory-poisoning-defense-TS4WNW4S.js} +3 -3
- package/dist/{memory-pressure-watchdog-P4QHXE3Z.js → memory-pressure-watchdog-6YH7S6W7.js} +19 -19
- package/dist/{memory-reflection-R6TAIUOR.js → memory-reflection-N6NSYW6S.js} +8 -8
- package/dist/{memory-write-repository-JTJE3AG4.js → memory-write-repository-D35RDO62.js} +1 -1
- package/dist/{monitor-grants-KX5J6AQ7.js → monitor-grants-FH4PNYN5.js} +3 -3
- package/dist/{monitor-identity-WXIGBLYH.js → monitor-identity-LK5ZCCND.js} +2 -2
- package/dist/{notification-ledger-DKHZKGZX.js → notification-ledger-3WJYJGGS.js} +19 -19
- package/dist/{notifications-ZQVBRXG5.js → notifications-T5C2CVB3.js} +18 -18
- package/dist/{orchestration-events-B3OHNBR4.js → orchestration-events-73VEJT7Q.js} +4 -4
- package/dist/{orchestrator-OG6BEUHS.js → orchestrator-3O657734.js} +20 -20
- package/dist/{org-brief-session-MHDLBUO4.js → org-brief-session-EGB35QLM.js} +15 -15
- package/dist/{org-consent-policy-OP5L627O.js → org-consent-policy-MSVSRI53.js} +5 -5
- package/dist/{org-join-H3PBH7US.js → org-join-4BK2XJJI.js} +9 -9
- package/dist/{org-key-admin-UEDWV3F4.js → org-key-admin-EUSSGXQ3.js} +11 -11
- package/dist/{org-key-epoch-BW72L7RI.js → org-key-epoch-NMEWDT5L.js} +5 -5
- package/dist/{org-key-pin-XBLJOF4A.js → org-key-pin-HUSXGINB.js} +3 -3
- package/dist/{org-membership-UHVIK3UH.js → org-membership-B74IWEM5.js} +4 -4
- package/dist/{org-partner-config-G3BGVBQT.js → org-partner-config-5FJTJABN.js} +8 -8
- package/dist/{org-partner-runtime-H6MROHM7.js → org-partner-runtime-GN4GFWI2.js} +15 -15
- package/dist/{org-row-visibility-JK5REXVH.js → org-row-visibility-PBZ2TSCR.js} +1 -1
- package/dist/{pipeline-router-7L7AV55A.js → pipeline-router-2IELBSVJ.js} +4 -4
- package/dist/{plan-limits-RKGJXYKE.js → plan-limits-4GXK5PFT.js} +6 -6
- package/dist/{platform-procedures-RTD5E3BD.js → platform-procedures-QP3W2NLH.js} +1 -1
- package/dist/{pre-tool-use-impl-Q3JG5RNT.js → pre-tool-use-impl-CY73PRJP.js} +42 -42
- package/dist/{project-name-KQUBSY5O.js → project-name-337ERIAX.js} +4 -4
- package/dist/{projection-worker-LGELT4E6.js → projection-worker-W476IG6V.js} +2 -2
- package/dist/{prospective-memory-ZESC2I6H.js → prospective-memory-5INB7NUL.js} +3 -3
- package/dist/{push-notifications-YL2DRTGQ.js → push-notifications-YVOP4KGN.js} +19 -19
- package/dist/{reproject-worktree-memories-VPZRYPQM.js → reproject-worktree-memories-OGBR3CMO.js} +18 -18
- package/dist/{reranker-XC2LXYD3.js → reranker-W7WCJH6Y.js} +1 -1
- package/dist/{retrieval-health-H4QJN3UZ.js → retrieval-health-R6MGXLTP.js} +1 -1
- package/dist/{review-polling-67WTTJHH.js → review-polling-TKAWVY6G.js} +19 -19
- package/dist/runtime/index.js +23 -23
- package/dist/{session-events-7XFO27M5.js → session-events-HUCZ7TOR.js} +19 -19
- package/dist/{session-kill-telemetry-2F5INRA6.js → session-kill-telemetry-RWRWOW4C.js} +19 -19
- package/dist/{session-scope-GEXQAEYT.js → session-scope-5CDRHV75.js} +18 -18
- package/dist/{setup-wizard-NQI6GC2N.js → setup-wizard-RBTJAZOP.js} +3 -3
- package/dist/{shard-manager-TJ323N7P.js → shard-manager-LRPAAQA4.js} +2 -2
- package/dist/{skill-refinement-EQ3YVAGM.js → skill-refinement-MDXKDCY6.js} +4 -4
- package/dist/{skill-retrieval-LABSBPVT.js → skill-retrieval-OWY6MTCX.js} +12 -12
- package/dist/{skill-usage-WNCOURZY.js → skill-usage-GNV737U5.js} +4 -4
- package/dist/{stack-generate-manifest-RKQBTLEY.js → stack-generate-manifest-S4SBLKBY.js} +4 -4
- package/dist/{stack-promote-ZVOIMFRF.js → stack-promote-U4EZNLOV.js} +4 -4
- package/dist/{stack-release-ZCHLWJXF.js → stack-release-4VBGOYGK.js} +5 -5
- package/dist/{stack-update-AP6OC7LU.js → stack-update-C5YKHE7A.js} +3 -3
- package/dist/{steward-gate-BNI4K3GP.js → steward-gate-QFPXQBUZ.js} +4 -4
- package/dist/{subagent-brief-injection-ZXKMB5TZ.js → subagent-brief-injection-GDXO5WNS.js} +33 -32
- package/dist/{subagent-spawn-ledger-OI23OT4I.js → subagent-spawn-ledger-PDICC43I.js} +2 -1
- package/dist/{support-bug-actions-OYM3K4RU.js → support-bug-actions-4XEKXIIO.js} +4 -4
- package/dist/{support-inbox-2JOCSJUT.js → support-inbox-Y7AFCOGM.js} +17 -16
- package/dist/{support-outbox-6AE2NQTA.js → support-outbox-2WYS3HWR.js} +2 -2
- package/dist/{task-enforcement-LUXQXSE6.js → task-enforcement-CN3Q4PEH.js} +19 -19
- package/dist/{task-request-inbox-4TOOJ6IR.js → task-request-inbox-AY3C6DND.js} +5 -5
- package/dist/{task-scope-OEA6KUTX.js → task-scope-AMR3Z3DJ.js} +18 -18
- package/dist/{tasks-crud-GBNROE5E.js → tasks-crud-2GHKIZOM.js} +18 -18
- package/dist/{tasks-notify-FMSTX6Q5.js → tasks-notify-Z53446KM.js} +19 -19
- package/dist/{tasks-review-EAOT3SKK.js → tasks-review-APRNSHMQ.js} +18 -18
- package/dist/{telemetry-upload-OFNKPITF.js → telemetry-upload-5XR42SQN.js} +8 -8
- package/dist/{token-budget-7K5PMPP2.js → token-budget-TTNJXI7W.js} +4 -4
- package/dist/{tool-telemetry-HC7NHNWD.js → tool-telemetry-36ST422N.js} +1 -1
- package/dist/tui/App.js +30 -30
- package/dist/{tui-data-C6STFM4Z.js → tui-data-AP5TPUOQ.js} +22 -22
- package/dist/{update-support-KOJIIKHY.js → update-support-SFTI2PUD.js} +15 -14
- package/dist/{whatsapp-JDAZGYPN.js → whatsapp-5CXE3JHG.js} +2 -2
- package/dist/{wiki-acl-7JCCDS7U.js → wiki-acl-N754BC2W.js} +1 -1
- package/dist/{work-claims-MDJ3JEUD.js → work-claims-OAICQBWO.js} +4 -4
- package/dist/{work-state-heartbeat-GFPR5OVW.js → work-state-heartbeat-MTTUGMPU.js} +1 -1
- package/dist/{workflow-engine-YYR2DNFP.js → workflow-engine-RID3QL2U.js} +2 -2
- package/dist/{worktree-XJITSSNN.js → worktree-XWVNDBRD.js} +5 -5
- package/dist/{worktree-sweep-3FJSAGNK.js → worktree-sweep-6VEHGH7U.js} +6 -6
- package/package.json +6 -5
- package/release-notes.json +9 -10
- package/stack.release.json +3 -3
- package/dist/{chunk-ZWQWLUZA.js → chunk-33PG3KNY.js} +0 -0
- package/dist/{chunk-MY6P4E5J.js → chunk-64UAHPXA.js} +0 -0
- package/dist/{chunk-7GCPTNHK.js → chunk-CLV7ALXV.js} +0 -0
- package/dist/{chunk-7QIEF6OZ.js → chunk-EZQ4W3WW.js} +0 -0
- package/dist/{chunk-DHRIW7RJ.js → chunk-FLO24BNN.js} +0 -0
- package/dist/{chunk-USDMXIPZ.js → chunk-FUZHMV7K.js} +0 -0
- package/dist/{chunk-E5RCYOLD.js → chunk-LDHJX4TZ.js} +0 -0
- package/dist/{chunk-3NHFXUWK.js → chunk-OEEHLATI.js} +0 -0
- package/dist/{chunk-HEEKYE6D.js → chunk-OLMLA377.js} +0 -0
- package/dist/{chunk-QYCRJ76J.js → chunk-WIDOLS7T.js} +0 -0
- package/dist/{chunk-FLC2S4BD.js → chunk-YBB43SXC.js} +0 -0
- package/dist/{chunk-GVTIDG37.js → chunk-YG4DZZ6J.js} +0 -0
- package/dist/{core-memory-DQ5A24DD.js → core-memory-WR7I7DIP.js} +0 -0
- package/dist/{hook-tamper-log-ARGWCXKJ.js → hook-tamper-log-HTWEP37U.js} +3 -3
- /package/dist/{memory-isolation-2M3GFNWG.js → memory-isolation-4RQJ5RCK.js} +0 -0
- /package/dist/{oauth-server-NWVJ26NL.js → oauth-server-VBDMZIEV.js} +0 -0
- /package/dist/{project-boot-JAGN65MZ.js → project-boot-G7T5WHO6.js} +0 -0
|
@@ -32,6 +32,9 @@ server {
|
|
|
32
32
|
location /assets/ {
|
|
33
33
|
proxy_pass http://$erp_backend;
|
|
34
34
|
proxy_set_header Host $host;
|
|
35
|
+
# Frappe prioritizes this header over Host. Never pass a caller's
|
|
36
|
+
# selector through to another company site on a shared bench.
|
|
37
|
+
proxy_set_header X-Frappe-Site-Name $host;
|
|
35
38
|
proxy_set_header X-Real-IP $remote_addr;
|
|
36
39
|
expires 1y;
|
|
37
40
|
add_header Cache-Control "public, immutable";
|
|
@@ -39,8 +42,9 @@ server {
|
|
|
39
42
|
|
|
40
43
|
# Uploaded files
|
|
41
44
|
location /files/ {
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
root /home/frappe/frappe-bench/sites;
|
|
46
|
+
# $uri already starts with /files/. Match only this Host's public tree.
|
|
47
|
+
try_files /$host/public$uri =404;
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
# Socket.IO
|
|
@@ -50,6 +54,7 @@ server {
|
|
|
50
54
|
proxy_set_header Upgrade $http_upgrade;
|
|
51
55
|
proxy_set_header Connection "upgrade";
|
|
52
56
|
proxy_set_header Host $host;
|
|
57
|
+
proxy_set_header X-Frappe-Site-Name $host;
|
|
53
58
|
proxy_set_header X-Real-IP $remote_addr;
|
|
54
59
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
55
60
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
@@ -60,6 +65,7 @@ server {
|
|
|
60
65
|
proxy_pass http://$erp_backend;
|
|
61
66
|
proxy_http_version 1.1;
|
|
62
67
|
proxy_set_header Host $host;
|
|
68
|
+
proxy_set_header X-Frappe-Site-Name $host;
|
|
63
69
|
proxy_set_header X-Real-IP $remote_addr;
|
|
64
70
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
65
71
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
map "$host:$arg_demo" $exe_demo_navigation_cookie {
|
|
2
|
+
default "";
|
|
3
|
+
"crm.${DOMAIN}:1" "exe_selected_org=demo; Domain=.${DOMAIN}; Path=/; Secure; SameSite=Lax";
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
2
7
|
# Unified SSO edge — reverse proxy in front of crm / wiki / erp (bug 96f8b2b2)
|
|
3
8
|
#
|
|
@@ -137,6 +142,10 @@ server {
|
|
|
137
142
|
listen 80;
|
|
138
143
|
server_name crm.${DOMAIN};
|
|
139
144
|
|
|
145
|
+
# CRM's supported demo join marks its normal verify URL with demo=1.
|
|
146
|
+
# This cookie selects navigation, never identity or membership.
|
|
147
|
+
add_header Set-Cookie $exe_demo_navigation_cookie always;
|
|
148
|
+
|
|
140
149
|
set $sso_auth_base "https://auth.${DOMAIN}";
|
|
141
150
|
set $sso_app_url "https://crm.${DOMAIN}";
|
|
142
151
|
set $sso_product "CRM";
|
|
@@ -193,6 +202,13 @@ server {
|
|
|
193
202
|
listen 80;
|
|
194
203
|
server_name wiki.${DOMAIN};
|
|
195
204
|
|
|
205
|
+
# Noncredential selection changes navigation only. The destination still
|
|
206
|
+
# validates central identity and its own isolated DEMO permissions.
|
|
207
|
+
location = / {
|
|
208
|
+
if ($cookie_exe_selected_org = "demo") { return 302 https://demo-wiki.${DOMAIN}/; }
|
|
209
|
+
proxy_pass http://$wiki_upstream;
|
|
210
|
+
}
|
|
211
|
+
|
|
196
212
|
set $sso_auth_base "https://auth.${DOMAIN}";
|
|
197
213
|
set $sso_app_url "https://wiki.${DOMAIN}";
|
|
198
214
|
set $sso_product "Wiki";
|
|
@@ -258,6 +274,13 @@ server {
|
|
|
258
274
|
listen 80;
|
|
259
275
|
server_name erp.${DOMAIN};
|
|
260
276
|
|
|
277
|
+
# Noncredential selection changes navigation only. The destination still
|
|
278
|
+
# validates central identity and its own isolated DEMO permissions.
|
|
279
|
+
location = / {
|
|
280
|
+
if ($cookie_exe_selected_org = "demo") { return 302 https://demo-erp.${DOMAIN}/; }
|
|
281
|
+
proxy_pass http://$erp_upstream;
|
|
282
|
+
}
|
|
283
|
+
|
|
261
284
|
set $sso_auth_base "https://auth.${DOMAIN}";
|
|
262
285
|
set $sso_app_url "https://erp.${DOMAIN}";
|
|
263
286
|
set $sso_product "ERP";
|
|
@@ -346,6 +369,38 @@ server {
|
|
|
346
369
|
location / { proxy_pass http://$dashboard_upstream; }
|
|
347
370
|
}
|
|
348
371
|
|
|
372
|
+
# Isolated public DEMO Wiki — same central Auth, separate product data.
|
|
373
|
+
server {
|
|
374
|
+
listen 80;
|
|
375
|
+
server_name demo-wiki.${DOMAIN};
|
|
376
|
+
set $sso_auth_base "https://auth.${DOMAIN}";
|
|
377
|
+
set $sso_app_url "https://demo-wiki.${DOMAIN}";
|
|
378
|
+
set $sso_product "Wiki";
|
|
379
|
+
set $sso_session_cookie "";
|
|
380
|
+
set $demo_upstream exe-demo-wiki:3001;
|
|
381
|
+
set $gotrue_upstream gotrue:9999;
|
|
382
|
+
include /etc/nginx/snippets/sso-redirect.conf;
|
|
383
|
+
add_header Set-Cookie "exe_selected_org=demo; Domain=.${DOMAIN}; Path=/; Secure; SameSite=Lax" always;
|
|
384
|
+
location = /__version { auth_request off; proxy_pass http://$demo_upstream/__version; }
|
|
385
|
+
location / { proxy_pass http://$demo_upstream; }
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
# Isolated public DEMO ERP — same central Auth, separate product data.
|
|
389
|
+
server {
|
|
390
|
+
listen 80;
|
|
391
|
+
server_name demo-erp.${DOMAIN};
|
|
392
|
+
set $sso_auth_base "https://auth.${DOMAIN}";
|
|
393
|
+
set $sso_app_url "https://demo-erp.${DOMAIN}";
|
|
394
|
+
set $sso_product "ERP";
|
|
395
|
+
set $sso_session_cookie $cookie_sid;
|
|
396
|
+
set $demo_upstream exe-erp-nginx:80;
|
|
397
|
+
set $gotrue_upstream gotrue:9999;
|
|
398
|
+
include /etc/nginx/snippets/sso-redirect.conf;
|
|
399
|
+
add_header Set-Cookie "exe_selected_org=demo; Domain=.${DOMAIN}; Path=/; Secure; SameSite=Lax" always;
|
|
400
|
+
location = /__version { auth_request off; proxy_pass http://$demo_upstream/__version; }
|
|
401
|
+
location / { proxy_pass http://$demo_upstream; }
|
|
402
|
+
}
|
|
403
|
+
|
|
349
404
|
# Default — unknown host or edge-generated error → branded shared error pages
|
|
350
405
|
# (packages/exe-error-pages, vendored here by packages/exe-error-pages/sync.mjs
|
|
351
406
|
# and bind-mounted at /usr/share/nginx/html/error-pages; bug 64324162 delivery
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Additive DEMO provisioning. No private Exe volumes or credentials are reused.
|
|
2
|
+
# WIKI_DEMO_IMAGE is verified against a normal published signed stack release.
|
|
3
|
+
name: exe-public-demo
|
|
4
|
+
services:
|
|
5
|
+
wiki:
|
|
6
|
+
image: ${WIKI_DEMO_IMAGE:?verified signed Wiki digest required}
|
|
7
|
+
container_name: exe-demo-wiki
|
|
8
|
+
restart: unless-stopped
|
|
9
|
+
user: exe-wiki
|
|
10
|
+
cap_drop: [ALL]
|
|
11
|
+
security_opt: [no-new-privileges:true]
|
|
12
|
+
env_file: ./wiki-demo.env
|
|
13
|
+
environment:
|
|
14
|
+
NODE_ENV: production
|
|
15
|
+
SERVER_PORT: "3001"
|
|
16
|
+
STORAGE_DIR: /app/server/storage
|
|
17
|
+
EXE_ORG_ID: demo
|
|
18
|
+
WIKI_PUBLIC_DEMO: "true"
|
|
19
|
+
WIKI_REQUIRE_MANAGED_PERMS: "true"
|
|
20
|
+
WIKI_DEMO_DATABASE: exe_demo_wiki
|
|
21
|
+
GOTRUE_URL: http://gotrue:9999
|
|
22
|
+
GOTRUE_EXTERNAL_URL: https://auth.${DOMAIN:?existing apex required}
|
|
23
|
+
GOTRUE_JWT_ISSUER: https://auth.${DOMAIN}
|
|
24
|
+
VECTOR_DB: pgvector
|
|
25
|
+
PGVECTOR_TABLE_NAME: exe_demo_wiki_vectors
|
|
26
|
+
EXE_WIKI_CHROMIUM_ARGS: --no-sandbox,--disable-setuid-sandbox
|
|
27
|
+
volumes:
|
|
28
|
+
- wiki_demo_storage:/app/server/storage
|
|
29
|
+
networks: [backend,frontend]
|
|
30
|
+
ports: ["127.0.0.1:3002:3001"]
|
|
31
|
+
healthcheck:
|
|
32
|
+
test: [CMD,bash,/usr/local/bin/docker-healthcheck.sh]
|
|
33
|
+
interval: 30s
|
|
34
|
+
timeout: 10s
|
|
35
|
+
start_period: 90s
|
|
36
|
+
retries: 5
|
|
37
|
+
deploy:
|
|
38
|
+
resources:
|
|
39
|
+
limits: {memory: 2G, cpus: "2"}
|
|
40
|
+
logging:
|
|
41
|
+
driver: json-file
|
|
42
|
+
options: {max-size: 10m, max-file: "3"}
|
|
43
|
+
volumes:
|
|
44
|
+
wiki_demo_storage:
|
|
45
|
+
name: exe-public-demo_wiki_storage
|
|
46
|
+
networks:
|
|
47
|
+
backend:
|
|
48
|
+
external: true
|
|
49
|
+
name: exe-os_backend
|
|
50
|
+
frontend:
|
|
51
|
+
external: true
|
|
52
|
+
name: exe-os_frontend
|