@askexenow/exe-os 0.9.411 → 0.9.413
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/delivery/catalog.json +29 -38
- package/deploy/compose/.env.customer.example +5 -5
- package/deploy/compose/.env.default +4 -4
- package/deploy/compose/.env.example +5 -5
- package/deploy/compose/docker-compose.yml +1 -1
- package/deploy/stack-manifests/v0.9.json +263 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/bin/cli.js +3 -3
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/stack-update.js +39 -14
- package/dist/bin/verify-stack.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/build-manifest.json +46 -46
- package/dist/{chunk-WC44PNZU.js → chunk-5DLZJ3MY.js} +1 -1
- package/dist/{chunk-HWP3WCLC.js → chunk-OPG237ZQ.js} +154 -50
- package/dist/{chunk-WHUQ44F2.js → chunk-RIKFXHLE.js} +246 -30
- package/dist/{chunk-DRHTRVDT.js → chunk-VBYSAQJD.js} +1 -1
- package/dist/{chunk-54STF27U.js → chunk-W3ABSZ6G.js} +1 -1
- package/dist/hooks/manifest.json +1 -1
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/{stack-generate-manifest-SU6OFFY7.js → stack-generate-manifest-MVJDTU4F.js} +11 -35
- package/dist/{stack-promote-MJF436JD.js → stack-promote-BMGEY6SQ.js} +2 -2
- package/dist/{stack-release-S37R57XC.js → stack-release-64UJ6Y4W.js} +15 -32
- package/dist/{stack-update-XXDRKGGR.js → stack-update-EBATTQPP.js} +3 -1
- package/package.json +9 -4
- package/release-notes.json +24 -53
- package/stack.release.json +5 -5
package/delivery/catalog.json
CHANGED
|
@@ -46,13 +46,6 @@
|
|
|
46
46
|
"state": "active",
|
|
47
47
|
"purpose": "release"
|
|
48
48
|
},
|
|
49
|
-
{
|
|
50
|
-
"path": ".github/workflows/release-dashboard-image.yml",
|
|
51
|
-
"workflowId": 338670900,
|
|
52
|
-
"name": "Release dashboard image",
|
|
53
|
-
"state": "active",
|
|
54
|
-
"purpose": "release"
|
|
55
|
-
},
|
|
56
49
|
{
|
|
57
50
|
"path": ".github/workflows/release-service.yml",
|
|
58
51
|
"workflowId": 338790318,
|
|
@@ -61,7 +54,7 @@
|
|
|
61
54
|
"purpose": "reusable-lane"
|
|
62
55
|
}
|
|
63
56
|
],
|
|
64
|
-
"note": "Publishes
|
|
57
|
+
"note": "Publishes the npm package, core image and worker image. Dashboard publication has moved to AskExe/exe-dashboard; the historical local dashboard callers are retired."
|
|
65
58
|
},
|
|
66
59
|
{
|
|
67
60
|
"id": 1218739164,
|
|
@@ -249,15 +242,26 @@
|
|
|
249
242
|
"id": 1340595948,
|
|
250
243
|
"name": "AskExe/exe-dashboard",
|
|
251
244
|
"defaultBranch": "main",
|
|
252
|
-
"releaseAdapter": "
|
|
245
|
+
"releaseAdapter": "container",
|
|
253
246
|
"ownerRole": "cto",
|
|
254
|
-
"compatibilityGroup": "
|
|
255
|
-
"deployable":
|
|
256
|
-
"nonDeployableReason": "Extraction from exe-os dashboard-page/ is INCOMPLETE: this repository has ZERO Actions workflows (verified via the GitHub API), so it publishes nothing and cannot. The single active source of the dashboard image is AskExe/exe-os via .github/workflows/release-dashboard-image.yml. Registered explicitly, per plan sequence 8 and 11, so that 'both repos might publish the same package' is answered on the record rather than by silence. Flip this entry to a container adapter in the same PR that moves the caller workflow — never before, and never leaving both wired.",
|
|
247
|
+
"compatibilityGroup": "stack-0.9",
|
|
248
|
+
"deployable": true,
|
|
257
249
|
"requiredSuites": [
|
|
258
|
-
"ci"
|
|
250
|
+
"ci",
|
|
251
|
+
"image-identity",
|
|
252
|
+
"health-probe",
|
|
253
|
+
"scan"
|
|
254
|
+
],
|
|
255
|
+
"workflows": [
|
|
256
|
+
{
|
|
257
|
+
"path": ".github/workflows/release-dashboard-image.yml",
|
|
258
|
+
"workflowId": 358278599,
|
|
259
|
+
"name": "Release dashboard image",
|
|
260
|
+
"state": "active",
|
|
261
|
+
"purpose": "release"
|
|
262
|
+
}
|
|
259
263
|
],
|
|
260
|
-
"
|
|
264
|
+
"note": "Standalone publisher. Verified v0.9.400 source 0e389f1acf35b34c648a846abdc4bcca4d2cd816 is the dashboard selected by customer stack 0.9.77."
|
|
261
265
|
},
|
|
262
266
|
{
|
|
263
267
|
"id": 1259904143,
|
|
@@ -443,11 +447,11 @@
|
|
|
443
447
|
},
|
|
444
448
|
{
|
|
445
449
|
"componentId": "exe-dashboard-image",
|
|
446
|
-
"repository": "AskExe/exe-
|
|
450
|
+
"repository": "AskExe/exe-dashboard",
|
|
447
451
|
"type": "oci-image",
|
|
448
452
|
"origin": "first-party",
|
|
449
453
|
"publishRepository": "ghcr.io/askexe/exe-dashboard",
|
|
450
|
-
"pullRepository": "
|
|
454
|
+
"pullRepository": "update.askexe.com/askexe/exe-dashboard",
|
|
451
455
|
"releaseWorkflow": ".github/workflows/release-dashboard-image.yml",
|
|
452
456
|
"platforms": [
|
|
453
457
|
"linux/amd64"
|
|
@@ -472,16 +476,17 @@
|
|
|
472
476
|
"scan"
|
|
473
477
|
],
|
|
474
478
|
"healthProbe": {
|
|
475
|
-
"type": "
|
|
476
|
-
"
|
|
479
|
+
"type": "http",
|
|
480
|
+
"url": "http://127.0.0.1:3301/health",
|
|
481
|
+
"verified": true
|
|
477
482
|
},
|
|
478
483
|
"legacy": {
|
|
479
484
|
"stackServiceKey": "dashboard",
|
|
480
|
-
"stackReleaseServiceKey":
|
|
485
|
+
"stackReleaseServiceKey": "dashboard",
|
|
481
486
|
"contractServiceId": "dashboard",
|
|
482
487
|
"manifestService": "dashboard"
|
|
483
488
|
},
|
|
484
|
-
"note": "
|
|
489
|
+
"note": "Built by the standalone repository. Customer stack 0.9.77 and stack.release.json select the same verified immutable v0.9.400 image; previous signed stack entries retain their original pins."
|
|
485
490
|
},
|
|
486
491
|
{
|
|
487
492
|
"componentId": "exe-gateway-image",
|
|
@@ -625,7 +630,7 @@
|
|
|
625
630
|
"healthProbe": {
|
|
626
631
|
"type": "http",
|
|
627
632
|
"url": "http://127.0.0.1:8069/api/method/ping",
|
|
628
|
-
"host": "erp.
|
|
633
|
+
"host": "${ERP_SITE_NAME:-erp.localhost}",
|
|
629
634
|
"statusField": "message",
|
|
630
635
|
"verified": true
|
|
631
636
|
},
|
|
@@ -1180,13 +1185,6 @@
|
|
|
1180
1185
|
}
|
|
1181
1186
|
],
|
|
1182
1187
|
"legacyDivergences": [
|
|
1183
|
-
{
|
|
1184
|
-
"list": "STACK_SERVICE_SPECS",
|
|
1185
|
-
"subject": "auth",
|
|
1186
|
-
"field": "healthUrl",
|
|
1187
|
-
"reason": "STACK_SERVICE_SPECS still probes /api/health. exe-auth 404s that path DELIBERATELY — nginx.conf adds an exact location so GoTrue version strings are not exposed — and probing it triggered the all-or-nothing production rollback of 2026-09-08 that reverted ERP, CRM, wiki and exe-os along with auth. CONTRACT_SERVICES was corrected to / ; STACK_SERVICE_SPECS was not. The catalog carries the verified value (/ -> 200).",
|
|
1188
|
-
"retiredBy": "ARC-1 Track: retire STACK_SERVICE_SPECS in favour of deriveStackServiceSpecs(). Until then this list is stale and the catalog is authoritative."
|
|
1189
|
-
},
|
|
1190
1188
|
{
|
|
1191
1189
|
"list": "STACK_SERVICE_SPECS",
|
|
1192
1190
|
"subject": "erp",
|
|
@@ -1239,16 +1237,9 @@
|
|
|
1239
1237
|
{
|
|
1240
1238
|
"list": "CONTRACT_SERVICES",
|
|
1241
1239
|
"subject": "dashboard",
|
|
1242
|
-
"field": "
|
|
1243
|
-
"reason": "
|
|
1244
|
-
"retiredBy": "
|
|
1245
|
-
},
|
|
1246
|
-
{
|
|
1247
|
-
"list": "CONTRACT_SERVICES",
|
|
1248
|
-
"subject": "dashboard",
|
|
1249
|
-
"field": "healthPath",
|
|
1250
|
-
"reason": "CONTRACT_SERVICES declares /health, but no real JSON health route exists yet — plan sequence 8 lists baking one as outstanding work, and warns an SPA fallback must not be allowed to pass health. A declared path with nothing behind it is what lets a stale dashboard look healthy, so the catalog records the gap instead.",
|
|
1251
|
-
"retiredBy": "Plan sequence 8: set healthProbe when the JSON health route ships."
|
|
1240
|
+
"field": "releaseWorkflow",
|
|
1241
|
+
"reason": "This legacy offline conformance list still reads the retired local shared-lane caller. The actual producer is the standalone workflow registered in the catalog; deriveContractServices omits paths outside exe-os by convention. The local caller cannot publish.",
|
|
1242
|
+
"retiredBy": "Retire CONTRACT_SERVICES in favor of the catalog and repository-aware workflow conformance."
|
|
1252
1243
|
}
|
|
1253
1244
|
]
|
|
1254
1245
|
}
|
|
@@ -69,7 +69,7 @@ SMTP_PASS=
|
|
|
69
69
|
# --- Auth gateway (exe-auth — shared SSO sign-in UI at auth.<domain>) ---
|
|
70
70
|
# Bug 58840873: pin the auth image so compose never falls back to its stale
|
|
71
71
|
# hardcoded default tag. Keep in sync with the manifest AUTH_IMAGE_TAG.
|
|
72
|
-
AUTH_IMAGE_TAG=update.askexe.com/askexe/exe-auth:v0.6.
|
|
72
|
+
AUTH_IMAGE_TAG=update.askexe.com/askexe/exe-auth:v0.6.13@sha256:a21ed370706b7ffce200af782471511402ca5dc3e3fd0fcc51996f08dc79a981
|
|
73
73
|
# Bug 379e5c13: server_name / CORS from the CONFIGURED apex domain, not by naive
|
|
74
74
|
# last-2-label slicing (which breaks company.co.uk → co.uk).
|
|
75
75
|
AUTH_SERVER_NAME=auth.CHANGEME_DOMAIN
|
|
@@ -124,7 +124,7 @@ EXE_ORG_ID=
|
|
|
124
124
|
EXE_ORG_WORKSPACE_ID=
|
|
125
125
|
|
|
126
126
|
# --- CRM ---
|
|
127
|
-
CRM_IMAGE_TAG=update.askexe.com/askexe/exe-crm:v0.9.
|
|
127
|
+
CRM_IMAGE_TAG=update.askexe.com/askexe/exe-crm:v0.9.75@sha256:9ac890b74e8e31cb91d7aee1bba5a604e8494372d7aa71590ced76b22424a6f6
|
|
128
128
|
CRM_SERVER_URL=https://crm.CHANGEME_DOMAIN
|
|
129
129
|
CRM_APP_SECRET=CHANGEME_CRM_APP_SECRET
|
|
130
130
|
# Public DEMO is opt-in after a separate synthetic-data workspace is
|
|
@@ -143,7 +143,7 @@ EXE_CRM_ADMIN_EMAIL=CHANGEME_ADMIN_EMAIL
|
|
|
143
143
|
CRM_HOST_PORT=3000
|
|
144
144
|
|
|
145
145
|
# --- Wiki ---
|
|
146
|
-
WIKI_IMAGE_TAG=update.askexe.com/askexe/exe-wiki:v0.9.
|
|
146
|
+
WIKI_IMAGE_TAG=update.askexe.com/askexe/exe-wiki:v0.9.42@sha256:af7aaa0669788f5e593f04b3b89691f9c7a909067c9895f78e288f6bcd72d5dc
|
|
147
147
|
# Bug 2a8d3003 — DO NOT change this without migrating the data first.
|
|
148
148
|
# The wiki's users / workspaces / workspace_documents live in `public`. Point it at a
|
|
149
149
|
# different schema and Prisma will NOT error: it finds no tables, assumes a fresh
|
|
@@ -181,7 +181,7 @@ WIKI_HOST_PORT=3001
|
|
|
181
181
|
EXE_SSO_COOKIE_NAME=exe_access_token
|
|
182
182
|
|
|
183
183
|
# --- exe-os ---
|
|
184
|
-
EXE_OS_IMAGE_TAG=update.askexe.com/askexe/exe-os:v0.9.
|
|
184
|
+
EXE_OS_IMAGE_TAG=update.askexe.com/askexe/exe-os:v0.9.396@sha256:faca74fa9207d79b6156d64d737247b58b3ba6083c669ff23e20763059815554
|
|
185
185
|
EXED_MCP_TOKEN=CHANGEME_EXED_MCP_TOKEN
|
|
186
186
|
EXED_DEVICE_ID=CHANGEME_DEVICE_ID
|
|
187
187
|
EXE_MCP_HOST_BIND=127.0.0.1
|
|
@@ -191,7 +191,7 @@ EXE_MCP_HOST_PORT=48739
|
|
|
191
191
|
EXE_CLOUD_SYNC_TO_POSTGRES=true
|
|
192
192
|
|
|
193
193
|
# --- ERP (Frappe/ERPNext fork) ---
|
|
194
|
-
ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.3.
|
|
194
|
+
ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.3.24@sha256:b0f38298da1818931caf08aec52ba87f75687c4760c08863bb7892b1ca6b70a9
|
|
195
195
|
# Administrator password for the ERPNext site (created on first boot).
|
|
196
196
|
# bug 43854b31: this only applies at FIRST boot. To rotate it later you must also
|
|
197
197
|
# run `bench --site $ERP_SITE_NAME set-admin-password <new>` inside exe-erp —
|
|
@@ -13,10 +13,10 @@ EXE_LICENSE_KEY=CHANGEME_EXE_LICENSE_KEY
|
|
|
13
13
|
# ------------------------------------------------------------------
|
|
14
14
|
# Image tags (per-client pinning — never use :latest in production)
|
|
15
15
|
# ------------------------------------------------------------------
|
|
16
|
-
CRM_IMAGE_TAG=
|
|
17
|
-
WIKI_IMAGE_TAG=
|
|
18
|
-
EXE_OS_IMAGE_TAG=
|
|
19
|
-
GATEWAY_IMAGE_TAG=
|
|
16
|
+
CRM_IMAGE_TAG=update.askexe.com/askexe/exe-crm:v0.9.75@sha256:9ac890b74e8e31cb91d7aee1bba5a604e8494372d7aa71590ced76b22424a6f6
|
|
17
|
+
WIKI_IMAGE_TAG=update.askexe.com/askexe/exe-wiki:v0.9.42@sha256:af7aaa0669788f5e593f04b3b89691f9c7a909067c9895f78e288f6bcd72d5dc
|
|
18
|
+
EXE_OS_IMAGE_TAG=update.askexe.com/askexe/exe-os:v0.9.396@sha256:faca74fa9207d79b6156d64d737247b58b3ba6083c669ff23e20763059815554
|
|
19
|
+
GATEWAY_IMAGE_TAG=update.askexe.com/askexe/exe-gateway:v2026.08.07-c15f093-stamped@sha256:1bc11a2a0ad1f3929d59d2685696f22a72042b9fca9c75e15c02dc7d3c640105
|
|
20
20
|
|
|
21
21
|
# ------------------------------------------------------------------
|
|
22
22
|
# Postgres (shared by CRM + wiki)
|
|
@@ -98,7 +98,7 @@ SMTP_PASS=
|
|
|
98
98
|
# Bug 58840873: pin the auth image so compose never falls back to its stale
|
|
99
99
|
# hardcoded default tag. Keep in sync with the manifest AUTH_IMAGE_TAG. exe-auth
|
|
100
100
|
# ships only from the private update.askexe.com registry (no GHCR mirror).
|
|
101
|
-
AUTH_IMAGE_TAG=update.askexe.com/askexe/exe-auth:v0.6.
|
|
101
|
+
AUTH_IMAGE_TAG=update.askexe.com/askexe/exe-auth:v0.6.13@sha256:a21ed370706b7ffce200af782471511402ca5dc3e3fd0fcc51996f08dc79a981
|
|
102
102
|
# Bug 379e5c13: server_name / CORS derived from the CONFIGURED apex domain,
|
|
103
103
|
# not by naive last-2-label slicing (which breaks company.co.uk → co.uk).
|
|
104
104
|
AUTH_SERVER_NAME=auth.CHANGEME_DOMAIN
|
|
@@ -158,7 +158,7 @@ EXE_ORG_ID=
|
|
|
158
158
|
EXE_ORG_WORKSPACE_ID=
|
|
159
159
|
|
|
160
160
|
# --- CRM ---
|
|
161
|
-
CRM_IMAGE_TAG=ghcr.io/askexe/exe-crm:v0.9.
|
|
161
|
+
CRM_IMAGE_TAG=ghcr.io/askexe/exe-crm:v0.9.75@sha256:9ac890b74e8e31cb91d7aee1bba5a604e8494372d7aa71590ced76b22424a6f6
|
|
162
162
|
CRM_SERVER_URL=https://crm.CHANGEME_DOMAIN
|
|
163
163
|
CRM_APP_SECRET=CHANGEME_CRM_APP_SECRET
|
|
164
164
|
# Public DEMO is opt-in after a separate synthetic-data workspace is
|
|
@@ -176,7 +176,7 @@ EXE_CRM_ADMIN_EMAIL=CHANGEME_ADMIN_EMAIL
|
|
|
176
176
|
CRM_HOST_PORT=3000
|
|
177
177
|
|
|
178
178
|
# --- Wiki ---
|
|
179
|
-
WIKI_IMAGE_TAG=ghcr.io/askexe/exe-wiki:v0.9.
|
|
179
|
+
WIKI_IMAGE_TAG=ghcr.io/askexe/exe-wiki:v0.9.42@sha256:af7aaa0669788f5e593f04b3b89691f9c7a909067c9895f78e288f6bcd72d5dc
|
|
180
180
|
# Bug 2a8d3003 — DO NOT change this without migrating the data first.
|
|
181
181
|
# The wiki's users / workspaces / workspace_documents live in `public`. Point it at a
|
|
182
182
|
# different schema and Prisma will NOT error: it finds no tables, assumes a fresh
|
|
@@ -214,7 +214,7 @@ WIKI_HOST_PORT=3001
|
|
|
214
214
|
EXE_SSO_COOKIE_NAME=exe_access_token
|
|
215
215
|
|
|
216
216
|
# --- exe-os ---
|
|
217
|
-
EXE_OS_IMAGE_TAG=ghcr.io/askexe/exe-os:v0.9.
|
|
217
|
+
EXE_OS_IMAGE_TAG=ghcr.io/askexe/exe-os:v0.9.396@sha256:faca74fa9207d79b6156d64d737247b58b3ba6083c669ff23e20763059815554
|
|
218
218
|
|
|
219
219
|
# Infra image pins — manifest-derived. Compose has no fallback default for
|
|
220
220
|
# these: a missing pin ABORTS the deploy instead of substituting an old image.
|
|
@@ -269,7 +269,7 @@ ERROR_REPORTING_ENABLED=true
|
|
|
269
269
|
MONITOR_ERROR_URL=http://exe-monitor-hub:8090/api/exe-monitor/errors
|
|
270
270
|
|
|
271
271
|
# --- ERP (optional — Exe ERP, Frappe/ERPNext fork) ---
|
|
272
|
-
ERP_IMAGE_TAG=ghcr.io/askexe/exe-erp:v0.3.
|
|
272
|
+
ERP_IMAGE_TAG=ghcr.io/askexe/exe-erp:v0.3.24@sha256:b0f38298da1818931caf08aec52ba87f75687c4760c08863bb7892b1ca6b70a9
|
|
273
273
|
ERP_ADMIN_PASSWORD=CHANGEME_ERP_ADMIN_PASSWORD
|
|
274
274
|
EXE_ERP_ADMIN_TOKEN=CHANGEME_EXE_ERP_ADMIN_TOKEN
|
|
275
275
|
# Frappe site name — must match the erp.<domain> the customer serves (bug e61ad373).
|
|
@@ -768,7 +768,7 @@ services:
|
|
|
768
768
|
# overridden back to exeOsMcp — see bug c604df37 above before doing that;
|
|
769
769
|
# the spawn args below currently point at the wrong CLI entrypoint.
|
|
770
770
|
EXE_OS_MCP_COMMAND: ${WIKI_EXE_OS_MCP_COMMAND:-npx}
|
|
771
|
-
EXE_OS_MCP_ARGS: ${WIKI_EXE_OS_MCP_ARGS:--y @askexenow/exe-os@${WIKI_EXE_OS_NPM_VERSION:-0.9.
|
|
771
|
+
EXE_OS_MCP_ARGS: ${WIKI_EXE_OS_MCP_ARGS:--y @askexenow/exe-os@${WIKI_EXE_OS_NPM_VERSION:-0.9.412} mcp}
|
|
772
772
|
BRANDING_CONFIG_PATH: /app/branding.json
|
|
773
773
|
ports:
|
|
774
774
|
- "127.0.0.1:${WIKI_HOST_PORT:-3001}:3001"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"latest": "0.9.
|
|
3
|
+
"latest": "0.9.78",
|
|
4
4
|
"stacks": {
|
|
5
5
|
"0.9.0": {
|
|
6
6
|
"version": "0.9.0",
|
|
@@ -8117,11 +8117,272 @@
|
|
|
8117
8117
|
"composeSha256": "220b251375f372107e8d8d54a9c3e4ceab1f57aae80f4babf2933c3887532263",
|
|
8118
8118
|
"composeOverrideSha256": "af295ca2f75b85788416e4df51cab86d8b773bf4cafe6cf6df9c7c26b9a42d6d"
|
|
8119
8119
|
}
|
|
8120
|
+
},
|
|
8121
|
+
"0.9.77": {
|
|
8122
|
+
"version": "0.9.77",
|
|
8123
|
+
"releasedAt": "2026-10-14T02:33:51.429Z",
|
|
8124
|
+
"notes": "Customer GA release with private HTML/CSS/JavaScript reports and dashboards in Wiki Files (self-contained HTML up to 5 MiB; workspace access required) and the verified standalone Dashboard v0.9.400. Other service images match the approved stack 0.9.76 bundle. Customer health probes use the configured ERP site. Existing installations upgrade explicitly with --target 0.9.77; new installs select this general release by default.",
|
|
8125
|
+
"npmVersion": "0.9.409",
|
|
8126
|
+
"breakingChanges": [],
|
|
8127
|
+
"services": {
|
|
8128
|
+
"exe-db": {
|
|
8129
|
+
"image": "update.askexe.com/askexe/pgvector:0.8.0-pg16@sha256:a132765ec351c65111b5b675928a3a0515a466a40f97277329db8b8209ad8bc9",
|
|
8130
|
+
"env": "EXE_DB_IMAGE",
|
|
8131
|
+
"composeService": "exe-db",
|
|
8132
|
+
"required": true,
|
|
8133
|
+
"category": "core",
|
|
8134
|
+
"description": "Postgres (pgvector) — digest-pinned (bug 32d6e02f; was tag-only in 0.9.25, regressed from 0.9.24)"
|
|
8135
|
+
},
|
|
8136
|
+
"exe-os": {
|
|
8137
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.396@sha256:faca74fa9207d79b6156d64d737247b58b3ba6083c669ff23e20763059815554",
|
|
8138
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
8139
|
+
"composeService": "exe-os",
|
|
8140
|
+
"healthUrl": "http://127.0.0.1:8765/health",
|
|
8141
|
+
"required": true,
|
|
8142
|
+
"category": "core",
|
|
8143
|
+
"description": "exe-os daemon + MCP server"
|
|
8144
|
+
},
|
|
8145
|
+
"crm": {
|
|
8146
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.75@sha256:9ac890b74e8e31cb91d7aee1bba5a604e8494372d7aa71590ced76b22424a6f6",
|
|
8147
|
+
"env": "CRM_IMAGE_TAG",
|
|
8148
|
+
"composeService": "exe-crm",
|
|
8149
|
+
"healthUrl": "http://127.0.0.1:3000/healthz",
|
|
8150
|
+
"category": "app",
|
|
8151
|
+
"gitSha": "87b50b8ca7eb3a451251aeb133e98bff20e7f333",
|
|
8152
|
+
"description": "Central GoTrue authentication and same-host Exe/DEMO workspace switching for CRM web and worker."
|
|
8153
|
+
},
|
|
8154
|
+
"wiki": {
|
|
8155
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.42@sha256:af7aaa0669788f5e593f04b3b89691f9c7a909067c9895f78e288f6bcd72d5dc",
|
|
8156
|
+
"env": "WIKI_IMAGE_TAG",
|
|
8157
|
+
"composeService": "exe-wiki",
|
|
8158
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping",
|
|
8159
|
+
"category": "app",
|
|
8160
|
+
"description": "Central hosted authentication and recovery with server-validated shared sessions, membership enforcement, and no product-local credential form.",
|
|
8161
|
+
"gitSha": "ff61711880ce2e52c9e9ee1eae6118e9761322cc"
|
|
8162
|
+
},
|
|
8163
|
+
"gateway": {
|
|
8164
|
+
"image": "update.askexe.com/askexe/exe-gateway:v2026.08.07-c15f093-stamped@sha256:1bc11a2a0ad1f3929d59d2685696f22a72042b9fca9c75e15c02dc7d3c640105",
|
|
8165
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
8166
|
+
"composeService": "exe-gateway",
|
|
8167
|
+
"healthUrl": "http://127.0.0.1:3100/health",
|
|
8168
|
+
"category": "app",
|
|
8169
|
+
"description": "WhatsApp/messaging gateway — provenance-stamped rebuild of main (outbound message persistence fix); pinned by digest, dated immutable tag.",
|
|
8170
|
+
"gitSha": "c15f093a0f59730bd5c2c73791ff77059dfa7cc1"
|
|
8171
|
+
},
|
|
8172
|
+
"monitorAgent": {
|
|
8173
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v2026.08.09-10660eb4-stamped@sha256:29fbd445f79484df04f000603e4ff445e76f0380f86d687a0033e3a0ef7d1b7a",
|
|
8174
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
8175
|
+
"composeService": "exe-monitor-agent",
|
|
8176
|
+
"category": "monitoring",
|
|
8177
|
+
"gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
|
|
8178
|
+
},
|
|
8179
|
+
"monitorHub": {
|
|
8180
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v2026.08.09-10660eb4-stamped@sha256:c9a9218c2713b8dffea7e1cf8c0702a614657d311a7a4e821c6a543bab29bb97",
|
|
8181
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
8182
|
+
"composeService": "exe-monitor-hub",
|
|
8183
|
+
"healthUrl": "http://127.0.0.1:8090/api/health",
|
|
8184
|
+
"category": "monitoring",
|
|
8185
|
+
"gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
|
|
8186
|
+
},
|
|
8187
|
+
"auth": {
|
|
8188
|
+
"image": "update.askexe.com/askexe/exe-auth:v0.6.13@sha256:a21ed370706b7ffce200af782471511402ca5dc3e3fd0fcc51996f08dc79a981",
|
|
8189
|
+
"env": "AUTH_IMAGE_TAG",
|
|
8190
|
+
"composeService": "exe-auth",
|
|
8191
|
+
"healthUrl": "http://127.0.0.1:3300/",
|
|
8192
|
+
"category": "auth",
|
|
8193
|
+
"description": "GoTrue SSO and privileged license authority bridge; stateless auth proxy.",
|
|
8194
|
+
"gitSha": "133705a4ada5b900a754aab4cd5fca4c56d55fad"
|
|
8195
|
+
},
|
|
8196
|
+
"erp": {
|
|
8197
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.3.24@sha256:b0f38298da1818931caf08aec52ba87f75687c4760c08863bb7892b1ca6b70a9",
|
|
8198
|
+
"env": "ERP_IMAGE_TAG",
|
|
8199
|
+
"composeService": "exe-erp",
|
|
8200
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
8201
|
+
"healthHost": "${ERP_SITE_NAME:-erp.localhost}",
|
|
8202
|
+
"required": false,
|
|
8203
|
+
"category": "app",
|
|
8204
|
+
"description": "Enterprise Resource Planning with central hosted authentication and subject-bound organization admission.",
|
|
8205
|
+
"gitSha": "667fe09964bec1169f0b9945df4451c79a6e4c87"
|
|
8206
|
+
},
|
|
8207
|
+
"gotrue": {
|
|
8208
|
+
"image": "update.askexe.com/askexe/gotrue:v2.172.1@sha256:b0dd7aa28dd1f9a8bd31f136c8b912661f701d9b863171e5843cb08f18f49de4",
|
|
8209
|
+
"composeService": "gotrue",
|
|
8210
|
+
"healthUrl": "http://127.0.0.1:9999/health",
|
|
8211
|
+
"category": "infra"
|
|
8212
|
+
},
|
|
8213
|
+
"redis": {
|
|
8214
|
+
"image": "update.askexe.com/askexe/redis:7.4-alpine@sha256:6ab0b6e7381779332f97b8ca76193e45b0756f38d4c0dcda72dbb3c32061ab99",
|
|
8215
|
+
"composeService": "redis",
|
|
8216
|
+
"category": "infra"
|
|
8217
|
+
},
|
|
8218
|
+
"clickhouse": {
|
|
8219
|
+
"image": "update.askexe.com/askexe/clickhouse-server:24.8.4.13-alpine@sha256:88a45f9e328549b2579256c46ee38e5c0e25ae58303d9eb6d9c7ed8d6d2bbf3c",
|
|
8220
|
+
"composeService": "clickhouse",
|
|
8221
|
+
"category": "infra"
|
|
8222
|
+
},
|
|
8223
|
+
"cloudflared": {
|
|
8224
|
+
"image": "update.askexe.com/askexe/cloudflared:2026-07@sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f",
|
|
8225
|
+
"composeService": "cloudflared",
|
|
8226
|
+
"category": "infra"
|
|
8227
|
+
},
|
|
8228
|
+
"exe-sso-edge": {
|
|
8229
|
+
"image": "update.askexe.com/askexe/nginx:alpine@sha256:20316569d8f81a160065d7d2a5eeffc7ca97d79022462ee255fd23fa103a6b5c",
|
|
8230
|
+
"composeService": "exe-sso-edge",
|
|
8231
|
+
"category": "infra"
|
|
8232
|
+
},
|
|
8233
|
+
"exe-otel-collector": {
|
|
8234
|
+
"image": "update.askexe.com/askexe/otel-collector-contrib:0.114.0@sha256:37fa87091cfaaec7234a27e4e395a40c31c2bfaea97a349a4afef6d9e9681197",
|
|
8235
|
+
"composeService": "exe-otel-collector",
|
|
8236
|
+
"category": "infra"
|
|
8237
|
+
},
|
|
8238
|
+
"dashboard": {
|
|
8239
|
+
"image": "update.askexe.com/askexe/exe-dashboard:v0.9.400@sha256:d6963463d623f2e07b8b1b6cdaa5662b8a7219aa237cd315cfbabcad84f06ee1",
|
|
8240
|
+
"env": "DASHBOARD_IMAGE_TAG",
|
|
8241
|
+
"composeService": "exe-dashboard",
|
|
8242
|
+
"healthUrl": "http://127.0.0.1:3301/health",
|
|
8243
|
+
"required": false,
|
|
8244
|
+
"category": "optional",
|
|
8245
|
+
"description": "Customer dashboard at dashboard.<apex> — credits, usage, API keys, billing",
|
|
8246
|
+
"gitSha": "0e389f1acf35b34c648a846abdc4bcca4d2cd816"
|
|
8247
|
+
}
|
|
8248
|
+
},
|
|
8249
|
+
"rolloutStage": "ga"
|
|
8250
|
+
},
|
|
8251
|
+
"0.9.78": {
|
|
8252
|
+
"version": "0.9.78",
|
|
8253
|
+
"releasedAt": "2026-10-14T13:00:58.884Z",
|
|
8254
|
+
"notes": "Customer upgrade repair for legacy stack 0.9.27 layouts. exe-os CLI 0.9.412 makes check/dry-run previews non-mutating, migrates the unused shipped embeddings-worker fallback only after verifying it is disabled and absent, and completes version-only upgrades when images already match. Strict digest/signature/delivery checks remain enabled. Application image pins match the accepted 0.9.77 bundle, including private self-contained HTML/CSS/JS reports in Wiki Files. Supplies the signed optional telemetry image setting required when old installations adopt the current Compose template.",
|
|
8255
|
+
"npmVersion": "0.9.412",
|
|
8256
|
+
"breakingChanges": [],
|
|
8257
|
+
"services": {
|
|
8258
|
+
"exe-db": {
|
|
8259
|
+
"image": "update.askexe.com/askexe/pgvector:0.8.0-pg16@sha256:a132765ec351c65111b5b675928a3a0515a466a40f97277329db8b8209ad8bc9",
|
|
8260
|
+
"env": "EXE_DB_IMAGE",
|
|
8261
|
+
"composeService": "exe-db",
|
|
8262
|
+
"required": true,
|
|
8263
|
+
"category": "core",
|
|
8264
|
+
"description": "Postgres (pgvector) — digest-pinned (bug 32d6e02f; was tag-only in 0.9.25, regressed from 0.9.24)"
|
|
8265
|
+
},
|
|
8266
|
+
"exe-os": {
|
|
8267
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.396@sha256:faca74fa9207d79b6156d64d737247b58b3ba6083c669ff23e20763059815554",
|
|
8268
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
8269
|
+
"composeService": "exe-os",
|
|
8270
|
+
"healthUrl": "http://127.0.0.1:8765/health",
|
|
8271
|
+
"required": true,
|
|
8272
|
+
"category": "core",
|
|
8273
|
+
"description": "exe-os daemon + MCP server"
|
|
8274
|
+
},
|
|
8275
|
+
"crm": {
|
|
8276
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.75@sha256:9ac890b74e8e31cb91d7aee1bba5a604e8494372d7aa71590ced76b22424a6f6",
|
|
8277
|
+
"env": "CRM_IMAGE_TAG",
|
|
8278
|
+
"composeService": "exe-crm",
|
|
8279
|
+
"healthUrl": "http://127.0.0.1:3000/healthz",
|
|
8280
|
+
"category": "app",
|
|
8281
|
+
"gitSha": "87b50b8ca7eb3a451251aeb133e98bff20e7f333",
|
|
8282
|
+
"description": "Central GoTrue authentication and same-host Exe/DEMO workspace switching for CRM web and worker."
|
|
8283
|
+
},
|
|
8284
|
+
"wiki": {
|
|
8285
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.42@sha256:af7aaa0669788f5e593f04b3b89691f9c7a909067c9895f78e288f6bcd72d5dc",
|
|
8286
|
+
"env": "WIKI_IMAGE_TAG",
|
|
8287
|
+
"composeService": "exe-wiki",
|
|
8288
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping",
|
|
8289
|
+
"category": "app",
|
|
8290
|
+
"description": "Central hosted authentication and recovery with server-validated shared sessions, membership enforcement, and no product-local credential form.",
|
|
8291
|
+
"gitSha": "ff61711880ce2e52c9e9ee1eae6118e9761322cc"
|
|
8292
|
+
},
|
|
8293
|
+
"gateway": {
|
|
8294
|
+
"image": "update.askexe.com/askexe/exe-gateway:v2026.08.07-c15f093-stamped@sha256:1bc11a2a0ad1f3929d59d2685696f22a72042b9fca9c75e15c02dc7d3c640105",
|
|
8295
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
8296
|
+
"composeService": "exe-gateway",
|
|
8297
|
+
"healthUrl": "http://127.0.0.1:3100/health",
|
|
8298
|
+
"category": "app",
|
|
8299
|
+
"description": "WhatsApp/messaging gateway — provenance-stamped rebuild of main (outbound message persistence fix); pinned by digest, dated immutable tag.",
|
|
8300
|
+
"gitSha": "c15f093a0f59730bd5c2c73791ff77059dfa7cc1"
|
|
8301
|
+
},
|
|
8302
|
+
"monitorAgent": {
|
|
8303
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v2026.08.09-10660eb4-stamped@sha256:29fbd445f79484df04f000603e4ff445e76f0380f86d687a0033e3a0ef7d1b7a",
|
|
8304
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
8305
|
+
"composeService": "exe-monitor-agent",
|
|
8306
|
+
"category": "monitoring",
|
|
8307
|
+
"gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
|
|
8308
|
+
},
|
|
8309
|
+
"monitorHub": {
|
|
8310
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v2026.08.09-10660eb4-stamped@sha256:c9a9218c2713b8dffea7e1cf8c0702a614657d311a7a4e821c6a543bab29bb97",
|
|
8311
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
8312
|
+
"composeService": "exe-monitor-hub",
|
|
8313
|
+
"healthUrl": "http://127.0.0.1:8090/api/health",
|
|
8314
|
+
"category": "monitoring",
|
|
8315
|
+
"gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
|
|
8316
|
+
},
|
|
8317
|
+
"auth": {
|
|
8318
|
+
"image": "update.askexe.com/askexe/exe-auth:v0.6.13@sha256:a21ed370706b7ffce200af782471511402ca5dc3e3fd0fcc51996f08dc79a981",
|
|
8319
|
+
"env": "AUTH_IMAGE_TAG",
|
|
8320
|
+
"composeService": "exe-auth",
|
|
8321
|
+
"healthUrl": "http://127.0.0.1:3300/",
|
|
8322
|
+
"category": "auth",
|
|
8323
|
+
"description": "GoTrue SSO and privileged license authority bridge; stateless auth proxy.",
|
|
8324
|
+
"gitSha": "133705a4ada5b900a754aab4cd5fca4c56d55fad"
|
|
8325
|
+
},
|
|
8326
|
+
"erp": {
|
|
8327
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.3.24@sha256:b0f38298da1818931caf08aec52ba87f75687c4760c08863bb7892b1ca6b70a9",
|
|
8328
|
+
"env": "ERP_IMAGE_TAG",
|
|
8329
|
+
"composeService": "exe-erp",
|
|
8330
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
8331
|
+
"healthHost": "${ERP_SITE_NAME:-erp.localhost}",
|
|
8332
|
+
"required": false,
|
|
8333
|
+
"category": "app",
|
|
8334
|
+
"description": "Enterprise Resource Planning with central hosted authentication and subject-bound organization admission.",
|
|
8335
|
+
"gitSha": "667fe09964bec1169f0b9945df4451c79a6e4c87"
|
|
8336
|
+
},
|
|
8337
|
+
"gotrue": {
|
|
8338
|
+
"image": "update.askexe.com/askexe/gotrue:v2.172.1@sha256:b0dd7aa28dd1f9a8bd31f136c8b912661f701d9b863171e5843cb08f18f49de4",
|
|
8339
|
+
"composeService": "gotrue",
|
|
8340
|
+
"healthUrl": "http://127.0.0.1:9999/health",
|
|
8341
|
+
"category": "infra"
|
|
8342
|
+
},
|
|
8343
|
+
"redis": {
|
|
8344
|
+
"image": "update.askexe.com/askexe/redis:7.4-alpine@sha256:6ab0b6e7381779332f97b8ca76193e45b0756f38d4c0dcda72dbb3c32061ab99",
|
|
8345
|
+
"composeService": "redis",
|
|
8346
|
+
"category": "infra"
|
|
8347
|
+
},
|
|
8348
|
+
"clickhouse": {
|
|
8349
|
+
"image": "update.askexe.com/askexe/clickhouse-server:24.8.4.13-alpine@sha256:88a45f9e328549b2579256c46ee38e5c0e25ae58303d9eb6d9c7ed8d6d2bbf3c",
|
|
8350
|
+
"composeService": "clickhouse",
|
|
8351
|
+
"category": "infra"
|
|
8352
|
+
},
|
|
8353
|
+
"cloudflared": {
|
|
8354
|
+
"image": "update.askexe.com/askexe/cloudflared:2026-07@sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f",
|
|
8355
|
+
"composeService": "cloudflared",
|
|
8356
|
+
"category": "infra"
|
|
8357
|
+
},
|
|
8358
|
+
"exe-sso-edge": {
|
|
8359
|
+
"image": "update.askexe.com/askexe/nginx:alpine@sha256:20316569d8f81a160065d7d2a5eeffc7ca97d79022462ee255fd23fa103a6b5c",
|
|
8360
|
+
"composeService": "exe-sso-edge",
|
|
8361
|
+
"category": "infra"
|
|
8362
|
+
},
|
|
8363
|
+
"exe-otel-collector": {
|
|
8364
|
+
"image": "update.askexe.com/askexe/otel-collector-contrib:0.114.0@sha256:37fa87091cfaaec7234a27e4e395a40c31c2bfaea97a349a4afef6d9e9681197",
|
|
8365
|
+
"composeService": "exe-otel-collector",
|
|
8366
|
+
"category": "infra",
|
|
8367
|
+
"env": "OTEL_COLLECTOR_IMAGE"
|
|
8368
|
+
},
|
|
8369
|
+
"dashboard": {
|
|
8370
|
+
"image": "update.askexe.com/askexe/exe-dashboard:v0.9.400@sha256:d6963463d623f2e07b8b1b6cdaa5662b8a7219aa237cd315cfbabcad84f06ee1",
|
|
8371
|
+
"env": "DASHBOARD_IMAGE_TAG",
|
|
8372
|
+
"composeService": "exe-dashboard",
|
|
8373
|
+
"healthUrl": "http://127.0.0.1:3301/health",
|
|
8374
|
+
"required": false,
|
|
8375
|
+
"category": "optional",
|
|
8376
|
+
"description": "Customer dashboard at dashboard.<apex> — credits, usage, API keys, billing",
|
|
8377
|
+
"gitSha": "0e389f1acf35b34c648a846abdc4bcca4d2cd816"
|
|
8378
|
+
}
|
|
8379
|
+
},
|
|
8380
|
+
"rolloutStage": "ga"
|
|
8120
8381
|
}
|
|
8121
8382
|
},
|
|
8122
8383
|
"signature": {
|
|
8123
8384
|
"keyId": "exe-stack-1",
|
|
8124
8385
|
"alg": "ed25519",
|
|
8125
|
-
"signature": "
|
|
8386
|
+
"signature": "gRov8680kM1tJ8fHILxtmpKgQrSNPTCp1xUONk5F1fCrdapSQzOH41PEZtlmZ1fozP9nG5q/sahTP4G3eGTFDw=="
|
|
8126
8387
|
}
|
|
8127
8388
|
}
|
package/dist/.dist-verified.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"verified_at": "2026-10-
|
|
4
|
-
"manifest_sha256": "
|
|
5
|
-
"package_version": "0.9.
|
|
3
|
+
"verified_at": "2026-10-14T21:38:04.810Z",
|
|
4
|
+
"manifest_sha256": "cd6d628cf9170384881bb8562ed208be57248bed3456cf6797a60bb87ac7861c",
|
|
5
|
+
"package_version": "0.9.413"
|
|
6
6
|
}
|
package/dist/bin/cli.js
CHANGED
|
@@ -798,14 +798,14 @@ ${JSON.stringify(stormAlert, null, 2)}`);
|
|
|
798
798
|
const { runStackUpdateCli } = await import("./stack-update.js");
|
|
799
799
|
await runStackUpdateCli(args.slice(1));
|
|
800
800
|
} else if (args[0] === "release") {
|
|
801
|
-
const { parseReleaseArgs, runStackRelease } = await import("../stack-release-
|
|
801
|
+
const { parseReleaseArgs, runStackRelease } = await import("../stack-release-64UJ6Y4W.js");
|
|
802
802
|
const releaseFlags = parseReleaseArgs(args.slice(1));
|
|
803
803
|
await runStackRelease(releaseFlags);
|
|
804
804
|
} else if (args[0] === "stack-promote") {
|
|
805
|
-
const { runStackPromoteCli } = await import("../stack-promote-
|
|
805
|
+
const { runStackPromoteCli } = await import("../stack-promote-BMGEY6SQ.js");
|
|
806
806
|
await runStackPromoteCli(args.slice(1));
|
|
807
807
|
} else if (args[0] === "stack-generate-manifest") {
|
|
808
|
-
const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-
|
|
808
|
+
const { runStackGenerateManifestCli } = await import("../stack-generate-manifest-MVJDTU4F.js");
|
|
809
809
|
process.exit(await runStackGenerateManifestCli(args.slice(1)));
|
|
810
810
|
} else if (args[0] === "repo-truth") {
|
|
811
811
|
const { runRepoTruthCli } = await import("./exe-repo-truth.js");
|