@askexenow/exe-os 0.9.244 → 0.9.246
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 +15 -3
- package/deploy/compose/.env.example +15 -3
- package/deploy/compose/docker-compose.yml +17 -2
- package/deploy/compose/generate-env.ts +31 -8
- package/deploy/compose/setup.sh +4 -1
- package/dist/{backfill-metadata-DFTIGPXP.js → backfill-metadata-YPCH2VDT.js} +1 -1
- package/dist/bin/agentic-ontology-backfill.js +1 -1
- package/dist/bin/agentic-reflection-backfill.js +1 -1
- package/dist/bin/agentic-semantic-label.js +1 -1
- package/dist/bin/backfill-conversations.js +1 -1
- package/dist/bin/backfill-responses.js +1 -1
- package/dist/bin/backfill-vectors.js +2 -2
- package/dist/bin/bulk-sync-postgres.js +1 -1
- package/dist/bin/cleanup-stale-review-tasks.js +2 -2
- package/dist/bin/cli.js +5 -5
- package/dist/bin/exe-assign.js +1 -1
- package/dist/bin/exe-boot.js +3 -3
- package/dist/bin/exe-dispatch.js +2 -2
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +2 -2
- package/dist/bin/exe-forget.js +3 -3
- package/dist/bin/exe-gateway.js +5 -5
- package/dist/bin/exe-heartbeat.js +2 -2
- package/dist/bin/exe-kill.js +3 -3
- package/dist/bin/exe-launch-agent.js +3 -3
- package/dist/bin/exe-pending-messages.js +3 -3
- package/dist/bin/exe-pending-notifications.js +2 -2
- package/dist/bin/exe-pending-reviews.js +2 -2
- package/dist/bin/exe-review.js +3 -3
- package/dist/bin/exe-search.js +2 -2
- package/dist/bin/exe-session-cleanup.js +5 -5
- package/dist/bin/exe-start-codex.js +1 -1
- package/dist/bin/exe-start-opencode.js +1 -1
- package/dist/bin/exe-status.js +3 -3
- package/dist/bin/exe-team.js +1 -1
- package/dist/bin/git-sweep.js +2 -2
- package/dist/bin/graph-backfill.js +1 -1
- package/dist/bin/graph-export.js +2 -2
- package/dist/bin/import-history.js +2 -2
- package/dist/bin/intercom-check.js +3 -3
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +1 -1
- package/dist/bin/pre-publish.js +5 -1
- package/dist/bin/scan-tasks.js +2 -2
- package/dist/bin/shard-migrate.js +1 -1
- package/dist/bin/stack-update.js +11 -3
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{capacity-monitor-4CSBC7AP.js → capacity-monitor-MX24P5JT.js} +2 -2
- package/dist/{catchup-brief-LF5Z6Q6E.js → catchup-brief-Z6Z32E6A.js} +3 -3
- package/dist/{chunk-KEZXW3RP.js → chunk-4LJIFVLX.js} +1 -1
- package/dist/{chunk-F7JLZXHC.js → chunk-66AQSKG7.js} +14 -4
- package/dist/{chunk-DGBGIXCC.js → chunk-6BRFIYYW.js} +1 -1
- package/dist/{chunk-NBY6R37W.js → chunk-A7UWQXYD.js} +4 -4
- package/dist/{chunk-HOGTZLVU.js → chunk-AJAEUU76.js} +2 -2
- package/dist/{chunk-LAOB5BKV.js → chunk-AYPCH26U.js} +1 -1
- package/dist/{chunk-NEYQAEYU.js → chunk-CC4RTOVL.js} +2 -2
- package/dist/{chunk-GHT4REOS.js → chunk-EK3VNK35.js} +1 -1
- package/dist/{chunk-6JAGJN77.js → chunk-FHQSMTU4.js} +1 -1
- package/dist/{chunk-V2GZMY6O.js → chunk-GO2O5J42.js} +1 -1
- package/dist/{chunk-KLQI7QY4.js → chunk-HBIO3RKF.js} +2 -2
- package/dist/{chunk-DR5BGWFR.js → chunk-IPWA6HOZ.js} +1 -1
- package/dist/{chunk-TD5CADZ5.js → chunk-JFVITKXI.js} +1 -1
- package/dist/{chunk-VQAP35DA.js → chunk-JHR3MR3S.js} +3 -3
- package/dist/{chunk-YRVW57UW.js → chunk-JO6EILLF.js} +45 -31
- package/dist/{chunk-LSFHEMVI.js → chunk-K423J5RE.js} +3 -3
- package/dist/{chunk-BYCNUKII.js → chunk-KOCQAMAM.js} +2 -2
- package/dist/{chunk-CPXGLSIL.js → chunk-LROJFFSZ.js} +1 -1
- package/dist/{chunk-HANG6NLF.js → chunk-LZR2MD6I.js} +1 -1
- package/dist/{chunk-LQSFP2BV.js → chunk-P7GRGLNV.js} +1 -1
- package/dist/{chunk-PI6V23GF.js → chunk-QVJ5FNBI.js} +1 -1
- package/dist/{chunk-RYDHEWYY.js → chunk-QZIOX5KX.js} +2 -2
- package/dist/{chunk-OWQ3CCYJ.js → chunk-RCDV3PYU.js} +1 -1
- package/dist/{chunk-NRVV4Y5V.js → chunk-RY3RVDBK.js} +2 -2
- package/dist/{chunk-3V53HH5T.js → chunk-UWGJ3ZLP.js} +2 -2
- package/dist/{chunk-QUNKPR6Y.js → chunk-VNBYL5HB.js} +3 -3
- package/dist/{chunk-J7V7LPPX.js → chunk-VUTIP75I.js} +2 -2
- package/dist/{chunk-DLZYAYVM.js → chunk-XGJ5QYBU.js} +4 -4
- package/dist/{chunk-CWITU7DW.js → chunk-ZGTV62EE.js} +1 -1
- package/dist/{crm-webhook-WK3PYJJK.js → crm-webhook-YUFMGYQ4.js} +2 -2
- package/dist/{cto-delegation-gate-5JZORQIT.js → cto-delegation-gate-R7Y6DK4U.js} +1 -1
- package/dist/{daemon-orchestration-BJ3T5MMF.js → daemon-orchestration-FR3LV4G3.js} +4 -4
- package/dist/{dreaming-BOSBDRI3.js → dreaming-2KKKDADN.js} +2 -2
- package/dist/{exe-export-7N5PBCMK.js → exe-export-M2VOFX25.js} +1 -1
- package/dist/{exe-import-YOOE7S3H.js → exe-import-2SKHXCJX.js} +1 -1
- package/dist/{exe-snapshot-ODUCFW7G.js → exe-snapshot-YSVZSTRN.js} +3 -3
- package/dist/{fast-db-init-YSR7RMVZ.js → fast-db-init-ODXXUTSD.js} +1 -1
- package/dist/gateway/index.js +6 -6
- package/dist/{git-task-sweep-L3U3T5HM.js → git-task-sweep-XTWQO64K.js} +2 -2
- package/dist/hooks/bug-report-worker.js +4 -4
- package/dist/hooks/codex-stop-task-finalizer.js +4 -4
- package/dist/hooks/commit-complete.js +4 -4
- package/dist/hooks/error-recall.js +2 -2
- package/dist/hooks/ingest.js +2 -2
- package/dist/hooks/instructions-loaded.js +1 -1
- package/dist/hooks/manifest.json +18 -18
- package/dist/hooks/notification.js +1 -1
- package/dist/hooks/post-compact.js +2 -2
- package/dist/hooks/post-tool-combined.js +2 -2
- package/dist/hooks/pre-compact.js +3 -3
- package/dist/hooks/pre-tool-use.js +6 -6
- package/dist/hooks/prompt-submit.js +8 -8
- package/dist/hooks/session-end.js +5 -5
- package/dist/hooks/session-start.js +5 -5
- package/dist/hooks/stop.js +5 -5
- package/dist/hooks/subagent-stop.js +2 -2
- package/dist/hooks/summary-worker.js +5 -5
- package/dist/index.js +9 -9
- package/dist/lib/consolidation.js +2 -2
- package/dist/lib/exe-daemon.js +196 -103
- package/dist/lib/hybrid-search.js +2 -2
- package/dist/lib/messaging.js +2 -2
- package/dist/lib/schedules.js +2 -2
- package/dist/lib/store.js +1 -1
- package/dist/lib/tasks.js +3 -3
- package/dist/lib/tmux-routing.js +1 -1
- package/dist/mcp/register-tools.js +24 -24
- package/dist/mcp/server.js +25 -25
- package/dist/mcp/tools/create-task.js +4 -4
- package/dist/mcp/tools/list-tasks.js +4 -4
- package/dist/mcp/tools/send-message.js +3 -3
- package/dist/mcp/tools/update-task.js +4 -4
- package/dist/{notifications-P3XQZDTH.js → notifications-Q7ZBG2CR.js} +1 -1
- package/dist/{orchestrator-VIXTY4E4.js → orchestrator-PZ322OZT.js} +2 -2
- package/dist/{pipeline-router-S5PE5U6B.js → pipeline-router-TUMTOJUC.js} +1 -1
- package/dist/{reranker-UCPLQZE2.js → reranker-VEXZ2QP4.js} +1 -1
- package/dist/{review-polling-P2MWEXLR.js → review-polling-PHS23C5B.js} +2 -2
- package/dist/runtime/index.js +3 -3
- package/dist/{session-events-5CD66R6U.js → session-events-XVWTYBYG.js} +2 -2
- package/dist/{session-scope-VMIPAZU7.js → session-scope-PUMBI74U.js} +1 -1
- package/dist/{stack-update-7F2E2MBJ.js → stack-update-F4CQWMGV.js} +1 -1
- package/dist/{task-enforcement-XQL77PZH.js → task-enforcement-WAMGSZ4S.js} +1 -1
- package/dist/{task-scope-R3XKBIHL.js → task-scope-AE6U7XGY.js} +1 -1
- package/dist/{tasks-crud-DQOG2NPG.js → tasks-crud-6GYPBGJP.js} +1 -1
- package/dist/{tasks-notify-4EQYG52H.js → tasks-notify-PMDNAHGC.js} +2 -2
- package/dist/{tasks-review-XPFJ4DSJ.js → tasks-review-KRZ3UF5X.js} +1 -1
- package/dist/{telemetry-upload-OT5B5HUY.js → telemetry-upload-NJ33742S.js} +1 -1
- package/dist/tui/App.js +7 -7
- package/dist/{tui-data-UEV2QOR3.js → tui-data-WTWJLP57.js} +1 -1
- package/dist/{worker-gate-PRCKA23W.js → worker-gate-MSTTXGOE.js} +1 -1
- package/dist/{workflow-engine-7X6LLH3M.js → workflow-engine-BRQHDTN7.js} +2 -2
- package/package.json +1 -1
- package/release-notes.json +201 -33
- /package/dist/{chunk-222SI7QC.js → chunk-5IQBMR2V.js} +0 -0
- /package/dist/{chunk-NWBHL5PI.js → chunk-EVBXUKAU.js} +0 -0
- /package/dist/{chunk-AQBEG33D.js → chunk-HSWOCMNX.js} +0 -0
- /package/dist/{chunk-A4K2ZT6N.js → chunk-MG6JXDAT.js} +0 -0
- /package/dist/{chunk-AHXEU5XB.js → chunk-PXK2SQRS.js} +0 -0
- /package/dist/{chunk-B7JGEDVE.js → chunk-UED2CGZ3.js} +0 -0
- /package/dist/{core-memory-4KAIKQRQ.js → core-memory-TXVA3CVH.js} +0 -0
- /package/dist/{exe-key-GXJSTCX2.js → exe-key-LKNPA5SQ.js} +0 -0
- /package/dist/{skill-refinement-NRG4WWRW.js → skill-refinement-D3ZYCYS4.js} +0 -0
|
@@ -63,12 +63,24 @@ API_ROUTER_KEY=exe_rk_CHANGEME_API_ROUTER_KEY
|
|
|
63
63
|
GATEWAY_HTTP_HOST_PORT=3100
|
|
64
64
|
GATEWAY_WS_HOST_PORT=3101
|
|
65
65
|
|
|
66
|
+
# --- Monitoring hub (PocketBase — local per-customer instance) ---
|
|
67
|
+
MONITOR_HUB_IMAGE_TAG=update.askexe.com/askexe/exe-monitor-hub:v0.9.3
|
|
68
|
+
MONITOR_HUB_PORT=8090
|
|
69
|
+
# Bootstrap superuser created on first start. Use your admin email + a strong password.
|
|
70
|
+
# After first boot these values are no longer used (stored in pb_data volume).
|
|
71
|
+
# SECURITY: access /_/ admin panel via SSH tunnel only — it is blocked in the Cloudflare Tunnel.
|
|
72
|
+
# ssh -L 8090:127.0.0.1:8090 <vps> then open http://localhost:8090/_/
|
|
73
|
+
MONITOR_HUB_ADMIN_EMAIL=CHANGEME_ADMIN_EMAIL
|
|
74
|
+
MONITOR_HUB_ADMIN_PASSWORD=CHANGEME_MONITOR_HUB_ADMIN_PASSWORD
|
|
75
|
+
|
|
66
76
|
# --- Monitoring agent (standard for managed customer VPSs) ---
|
|
67
77
|
MONITOR_AGENT_IMAGE_TAG=update.askexe.com/askexe/exe-monitor-agent:v0.9.3
|
|
78
|
+
# Reports to the local hub. Auto-populated by `exe-os stack-update` during bootstrap.
|
|
68
79
|
MONITOR_HUB_URL=http://exe-monitor-hub:8090
|
|
69
|
-
#
|
|
70
|
-
|
|
71
|
-
|
|
80
|
+
# TOKEN and KEY are written automatically by stack-update via /api/register-agent.
|
|
81
|
+
# Leave as CHANGEME — stack-update fills them on first deploy.
|
|
82
|
+
MONITOR_AGENT_TOKEN=CHANGEME_MONITOR_AGENT_TOKEN
|
|
83
|
+
MONITOR_AGENT_KEY=CHANGEME_MONITOR_AGENT_KEY
|
|
72
84
|
MONITOR_AGENT_LISTEN=:45876
|
|
73
85
|
|
|
74
86
|
# --- AskExe central monitoring hub ---
|
|
@@ -79,12 +79,24 @@ ERP_WS_PORT=9069
|
|
|
79
79
|
# ERP_SENTRY_DSN=
|
|
80
80
|
# MONITOR_API_KEY= # shared with gateway error forwarding
|
|
81
81
|
|
|
82
|
+
# --- Monitoring hub (PocketBase — local per-customer instance) ---
|
|
83
|
+
MONITOR_HUB_IMAGE_TAG=ghcr.io/askexe/exe-monitor-hub:v0.9.4
|
|
84
|
+
MONITOR_HUB_PORT=8090
|
|
85
|
+
# Bootstrap superuser created on first start. Use your admin email + a strong password.
|
|
86
|
+
# After first boot these values are no longer used (stored in pb_data volume).
|
|
87
|
+
# SECURITY: access /_/ admin panel via SSH tunnel only — it is blocked in the Cloudflare Tunnel.
|
|
88
|
+
# ssh -L 8090:127.0.0.1:8090 <vps> then open http://localhost:8090/_/
|
|
89
|
+
MONITOR_HUB_ADMIN_EMAIL=CHANGEME_ADMIN_EMAIL
|
|
90
|
+
MONITOR_HUB_ADMIN_PASSWORD=CHANGEME_MONITOR_HUB_ADMIN_PASSWORD
|
|
91
|
+
|
|
82
92
|
# --- Monitoring agent (standard for managed customer VPSs) ---
|
|
83
93
|
MONITOR_AGENT_IMAGE_TAG=ghcr.io/askexe/exe-monitor-agent:v0.9.4
|
|
94
|
+
# Reports to the local hub. Auto-populated by `exe-os stack-update` during bootstrap.
|
|
84
95
|
MONITOR_HUB_URL=http://exe-monitor-hub:8090
|
|
85
|
-
#
|
|
86
|
-
|
|
87
|
-
|
|
96
|
+
# TOKEN and KEY are written automatically by stack-update via /api/register-agent.
|
|
97
|
+
# Leave as CHANGEME — stack-update fills them on first deploy.
|
|
98
|
+
MONITOR_AGENT_TOKEN=CHANGEME_MONITOR_AGENT_TOKEN
|
|
99
|
+
MONITOR_AGENT_KEY=CHANGEME_MONITOR_AGENT_KEY
|
|
88
100
|
MONITOR_AGENT_LISTEN=:45876
|
|
89
101
|
|
|
90
102
|
# --- AskExe central monitoring hub auth (AskExe-owned infra only) ---
|
|
@@ -162,6 +162,12 @@ services:
|
|
|
162
162
|
environment:
|
|
163
163
|
EXE_MONITOR_ADMIN_TOKEN: ${EXE_MONITOR_ADMIN_TOKEN:-}
|
|
164
164
|
GOTRUE_URL: http://gotrue:9999
|
|
165
|
+
# Bootstrap superuser on first start — required so the hub is never empty
|
|
166
|
+
# after stack-update. Set these in .env before first deploy.
|
|
167
|
+
# After first boot these values are no longer used (PocketBase persists the
|
|
168
|
+
# superadmin in pb_data). They can be left set in .env for idempotent re-runs.
|
|
169
|
+
PB_ADMIN_EMAIL: ${MONITOR_HUB_ADMIN_EMAIL:-}
|
|
170
|
+
PB_ADMIN_PASSWORD: ${MONITOR_HUB_ADMIN_PASSWORD:-}
|
|
165
171
|
ports:
|
|
166
172
|
- "127.0.0.1:${MONITOR_HUB_PORT:-8090}:8090"
|
|
167
173
|
volumes:
|
|
@@ -436,10 +442,19 @@ services:
|
|
|
436
442
|
image: ${MONITOR_AGENT_IMAGE_TAG:-ghcr.io/askexe/exe-monitor-agent:v0.9.4}
|
|
437
443
|
container_name: exe-monitor-agent
|
|
438
444
|
restart: unless-stopped
|
|
445
|
+
# Depends on hub so pairing can succeed on first boot.
|
|
446
|
+
depends_on:
|
|
447
|
+
exe-monitor-hub:
|
|
448
|
+
condition: service_healthy
|
|
439
449
|
environment:
|
|
450
|
+
# Reports to the local hub by default. stack-update auto-pairs this agent
|
|
451
|
+
# with the hub via /api/register-agent and writes TOKEN + KEY back to .env.
|
|
440
452
|
HUB_URL: ${MONITOR_HUB_URL:-http://exe-monitor-hub:8090}
|
|
441
|
-
TOKEN
|
|
442
|
-
|
|
453
|
+
# TOKEN and KEY are written automatically by `exe-os stack-update` during
|
|
454
|
+
# bootstrap. They start empty; the agent retries connecting until the hub
|
|
455
|
+
# is paired. Do NOT make these :? required — the hub must be up first.
|
|
456
|
+
TOKEN: ${MONITOR_AGENT_TOKEN:-}
|
|
457
|
+
KEY: ${MONITOR_AGENT_KEY:-}
|
|
443
458
|
LISTEN: ${MONITOR_AGENT_LISTEN:-:45876}
|
|
444
459
|
volumes:
|
|
445
460
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
@@ -124,15 +124,26 @@ export function generateEnv(options: GenerateEnvOptions): string {
|
|
|
124
124
|
"# ERP_SENTRY_DSN=",
|
|
125
125
|
"# MONITOR_API_KEY= # shared with gateway error forwarding",
|
|
126
126
|
"",
|
|
127
|
-
"# --- Monitoring ---",
|
|
127
|
+
"# --- Monitoring hub (PocketBase — local per-customer instance) ---",
|
|
128
128
|
`MONITOR_HUB_IMAGE_TAG=${MONITOR_HUB_IMAGE_TAG}`,
|
|
129
|
+
"MONITOR_HUB_PORT=8090",
|
|
130
|
+
"# Bootstrap superuser created on first start. Use your admin email + a strong password.",
|
|
131
|
+
"# After first boot these values are no longer used (stored in pb_data volume).",
|
|
132
|
+
"# SECURITY: access /_/ admin panel via SSH tunnel only — it is blocked in the Cloudflare Tunnel.",
|
|
133
|
+
"# ssh -L 8090:127.0.0.1:8090 <vps> then open http://localhost:8090/_/",
|
|
134
|
+
`MONITOR_HUB_ADMIN_EMAIL=admin@${normalizedDomain}`,
|
|
135
|
+
`MONITOR_HUB_ADMIN_PASSWORD=${randomSecret(24)}`,
|
|
136
|
+
"",
|
|
137
|
+
"# --- Monitoring agent (standard for managed customer VPSs) ---",
|
|
129
138
|
`MONITOR_AGENT_IMAGE_TAG=${MONITOR_AGENT_IMAGE_TAG}`,
|
|
130
|
-
`
|
|
139
|
+
"# Reports to the local hub. Auto-populated by `exe-os stack-update` during bootstrap.",
|
|
131
140
|
`MONITOR_HUB_URL=${DEFAULT_MONITOR_HUB_URL}`,
|
|
132
|
-
"
|
|
133
|
-
"
|
|
141
|
+
"# TOKEN and KEY are written automatically by stack-update via /api/register-agent.",
|
|
142
|
+
"# Leave as CHANGEME — stack-update fills them on first deploy.",
|
|
143
|
+
"MONITOR_AGENT_TOKEN=CHANGEME_MONITOR_AGENT_TOKEN",
|
|
144
|
+
"MONITOR_AGENT_KEY=CHANGEME_MONITOR_AGENT_KEY",
|
|
134
145
|
`MONITOR_AGENT_LISTEN=${DEFAULT_MONITOR_AGENT_LISTEN}`,
|
|
135
|
-
|
|
146
|
+
`EXE_MONITOR_ADMIN_TOKEN=${randomSecret(RANDOM_SECRET_48)}`,
|
|
136
147
|
"",
|
|
137
148
|
"# --- Cloudflare Tunnel ---",
|
|
138
149
|
"# Token-based tunnel (recommended). Get your token:",
|
|
@@ -231,12 +242,24 @@ export function generateExampleEnv(): string {
|
|
|
231
242
|
"# ERP_SENTRY_DSN=",
|
|
232
243
|
"# MONITOR_API_KEY= # shared with gateway error forwarding",
|
|
233
244
|
"",
|
|
245
|
+
"# --- Monitoring hub (PocketBase — local per-customer instance) ---",
|
|
246
|
+
`MONITOR_HUB_IMAGE_TAG=${MONITOR_HUB_IMAGE_TAG}`,
|
|
247
|
+
"MONITOR_HUB_PORT=8090",
|
|
248
|
+
"# Bootstrap superuser created on first start. Use your admin email + a strong password.",
|
|
249
|
+
"# After first boot these values are no longer used (stored in pb_data volume).",
|
|
250
|
+
"# SECURITY: access /_/ admin panel via SSH tunnel only — it is blocked in the Cloudflare Tunnel.",
|
|
251
|
+
"# ssh -L 8090:127.0.0.1:8090 <vps> then open http://localhost:8090/_/",
|
|
252
|
+
"MONITOR_HUB_ADMIN_EMAIL=CHANGEME_ADMIN_EMAIL",
|
|
253
|
+
"MONITOR_HUB_ADMIN_PASSWORD=CHANGEME_MONITOR_HUB_ADMIN_PASSWORD",
|
|
254
|
+
"",
|
|
234
255
|
"# --- Monitoring agent (standard for managed customer VPSs) ---",
|
|
235
256
|
`MONITOR_AGENT_IMAGE_TAG=${MONITOR_AGENT_IMAGE_TAG}`,
|
|
257
|
+
"# Reports to the local hub. Auto-populated by `exe-os stack-update` during bootstrap.",
|
|
236
258
|
`MONITOR_HUB_URL=${DEFAULT_MONITOR_HUB_URL}`,
|
|
237
|
-
"#
|
|
238
|
-
"
|
|
239
|
-
"
|
|
259
|
+
"# TOKEN and KEY are written automatically by stack-update via /api/register-agent.",
|
|
260
|
+
"# Leave as CHANGEME — stack-update fills them on first deploy.",
|
|
261
|
+
"MONITOR_AGENT_TOKEN=CHANGEME_MONITOR_AGENT_TOKEN",
|
|
262
|
+
"MONITOR_AGENT_KEY=CHANGEME_MONITOR_AGENT_KEY",
|
|
240
263
|
`MONITOR_AGENT_LISTEN=${DEFAULT_MONITOR_AGENT_LISTEN}`,
|
|
241
264
|
"",
|
|
242
265
|
"# --- AskExe central monitoring hub auth (AskExe-owned infra only) ---",
|
package/deploy/compose/setup.sh
CHANGED
|
@@ -103,10 +103,13 @@ MONITOR_HUB_IMAGE_TAG=ghcr.io/askexe/exe-monitor-hub:v0.9.4
|
|
|
103
103
|
MONITOR_AGENT_IMAGE_TAG=ghcr.io/askexe/exe-monitor-agent:v0.9.4
|
|
104
104
|
EXE_MONITOR_ADMIN_TOKEN=$(gen 48)
|
|
105
105
|
MONITOR_HUB_URL=http://exe-monitor-hub:8090
|
|
106
|
+
MONITOR_HUB_PORT=8090
|
|
107
|
+
# Bootstrap superuser — created on first start, stored in pb_data afterwards.
|
|
108
|
+
MONITOR_HUB_ADMIN_EMAIL=admin@${DOMAIN}
|
|
109
|
+
MONITOR_HUB_ADMIN_PASSWORD=$(gen 24)
|
|
106
110
|
MONITOR_AGENT_TOKEN=CHANGEME_MONITOR_AGENT_TOKEN
|
|
107
111
|
MONITOR_AGENT_KEY=CHANGEME_MONITOR_AGENT_KEY
|
|
108
112
|
MONITOR_AGENT_LISTEN=:45876
|
|
109
|
-
MONITOR_HUB_PORT=8090
|
|
110
113
|
# --- R2 (Cloudflare) — shared by media uploads + VPS backups ---
|
|
111
114
|
R2_MEDIA_BUCKET=CHANGEME_R2_BUCKET
|
|
112
115
|
R2_MEDIA_ENDPOINT=CHANGEME_https://ACCOUNT_ID.r2.cloudflarestorage.com
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
registerWorkerPid,
|
|
9
9
|
releaseBackfillLock,
|
|
10
10
|
tryAcquireBackfillLock
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-AYPCH26U.js";
|
|
12
12
|
import {
|
|
13
13
|
connectEmbedDaemon,
|
|
14
14
|
embedViaClient
|
|
@@ -17,7 +17,7 @@ import "../chunk-7IZWLMTP.js";
|
|
|
17
17
|
import {
|
|
18
18
|
initStore,
|
|
19
19
|
vectorToBlob
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-5IQBMR2V.js";
|
|
21
21
|
import "../chunk-CHCA3ZM2.js";
|
|
22
22
|
import "../chunk-IZVKWBIP.js";
|
|
23
23
|
import "../chunk-Y25OJWOQ.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
sessionScopeFilter
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-66AQSKG7.js";
|
|
8
8
|
import "../chunk-ZKFPHJIJ.js";
|
|
9
9
|
import "../chunk-5CHYEKMH.js";
|
|
10
10
|
import "../chunk-4JERP7NT.js";
|
package/dist/bin/cli.js
CHANGED
|
@@ -152,7 +152,7 @@ if (args.includes("--global")) {
|
|
|
152
152
|
process.exit(1);
|
|
153
153
|
}
|
|
154
154
|
} else if (args[0] === "key") {
|
|
155
|
-
const { main: runKey } = await import("../exe-key-
|
|
155
|
+
const { main: runKey } = await import("../exe-key-LKNPA5SQ.js");
|
|
156
156
|
await runKey(args.slice(1));
|
|
157
157
|
} else if (args[0] === "link") {
|
|
158
158
|
console.error("`exe-os link` has been removed from the customer command surface.");
|
|
@@ -195,7 +195,7 @@ if (args.includes("--global")) {
|
|
|
195
195
|
process.exit(1);
|
|
196
196
|
}
|
|
197
197
|
} else if (args[0] === "backfill-metadata") {
|
|
198
|
-
const { backfillMetadata } = await import("../backfill-metadata-
|
|
198
|
+
const { backfillMetadata } = await import("../backfill-metadata-YPCH2VDT.js");
|
|
199
199
|
let batchSize = 50;
|
|
200
200
|
let limit = 0;
|
|
201
201
|
let dryRun = false;
|
|
@@ -226,10 +226,10 @@ if (args.includes("--global")) {
|
|
|
226
226
|
process.exit(1);
|
|
227
227
|
}
|
|
228
228
|
} else if (args[0] === "export") {
|
|
229
|
-
const { runExeExport } = await import("../exe-export-
|
|
229
|
+
const { runExeExport } = await import("../exe-export-M2VOFX25.js");
|
|
230
230
|
await runExeExport(args.slice(1));
|
|
231
231
|
} else if (args[0] === "import") {
|
|
232
|
-
const { runExeImport } = await import("../exe-import-
|
|
232
|
+
const { runExeImport } = await import("../exe-import-2SKHXCJX.js");
|
|
233
233
|
await runExeImport(args.slice(1));
|
|
234
234
|
} else if (args[0] === "import-history") {
|
|
235
235
|
const { runImportHistory } = await import("./import-history.js");
|
|
@@ -383,7 +383,7 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
|
|
|
383
383
|
`);
|
|
384
384
|
process.exit(report.failed > 0 ? 1 : 0);
|
|
385
385
|
} else if (args[0] === "snapshot") {
|
|
386
|
-
const { main: runSnapshot } = await import("../exe-snapshot-
|
|
386
|
+
const { main: runSnapshot } = await import("../exe-snapshot-YSVZSTRN.js");
|
|
387
387
|
await runSnapshot(args.slice(1));
|
|
388
388
|
} else if (args[0] === "boot") {
|
|
389
389
|
const { projectBoot, parseBootArgs } = await import("../project-boot-4ZL2W7DN.js");
|
package/dist/bin/exe-assign.js
CHANGED
package/dist/bin/exe-boot.js
CHANGED
|
@@ -10,7 +10,7 @@ import "../chunk-NVZR7T4E.js";
|
|
|
10
10
|
import "../chunk-K77WC6HA.js";
|
|
11
11
|
import {
|
|
12
12
|
initStore
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-5IQBMR2V.js";
|
|
14
14
|
import "../chunk-CHCA3ZM2.js";
|
|
15
15
|
import "../chunk-IZVKWBIP.js";
|
|
16
16
|
import {
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
resolveExeSession,
|
|
29
29
|
sessionScopeFilter,
|
|
30
30
|
updateTaskStatus
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-66AQSKG7.js";
|
|
32
32
|
import "../chunk-ZKFPHJIJ.js";
|
|
33
33
|
import "../chunk-5CHYEKMH.js";
|
|
34
34
|
import "../chunk-4JERP7NT.js";
|
|
@@ -931,7 +931,7 @@ async function boot(options) {
|
|
|
931
931
|
};
|
|
932
932
|
if (nullCount > 0) {
|
|
933
933
|
try {
|
|
934
|
-
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-
|
|
934
|
+
const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-MSTTXGOE.js");
|
|
935
935
|
if (!tryAcquireWorkerSlot()) {
|
|
936
936
|
process.stderr.write("[exe-boot] Backfill needed but worker gate full \u2014 skipping\n");
|
|
937
937
|
} else {
|
package/dist/bin/exe-dispatch.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
createTaskCore,
|
|
7
7
|
ensureEmployee,
|
|
8
8
|
resolveExeSession
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-66AQSKG7.js";
|
|
10
10
|
import "../chunk-ZKFPHJIJ.js";
|
|
11
11
|
import "../chunk-5CHYEKMH.js";
|
|
12
12
|
import "../chunk-4JERP7NT.js";
|
package/dist/bin/exe-doctor.js
CHANGED
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
import "../chunk-ONAQAL3O.js";
|
|
6
6
|
import {
|
|
7
7
|
fastDbInit
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-HSWOCMNX.js";
|
|
9
9
|
import {
|
|
10
10
|
disposeStore
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-5IQBMR2V.js";
|
|
12
12
|
import "../chunk-CHCA3ZM2.js";
|
|
13
13
|
import "../chunk-IZVKWBIP.js";
|
|
14
14
|
import "../chunk-Y25OJWOQ.js";
|
package/dist/bin/exe-forget.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
lightweightSearch
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-XGJ5QYBU.js";
|
|
8
|
+
import "../chunk-5IQBMR2V.js";
|
|
9
9
|
import "../chunk-CHCA3ZM2.js";
|
|
10
10
|
import "../chunk-IZVKWBIP.js";
|
|
11
11
|
import "../chunk-Y25OJWOQ.js";
|
package/dist/bin/exe-gateway.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BotRegistry,
|
|
4
4
|
Gateway
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-RY3RVDBK.js";
|
|
6
|
+
import "../chunk-GO2O5J42.js";
|
|
7
|
+
import "../chunk-MG6JXDAT.js";
|
|
8
|
+
import "../chunk-UED2CGZ3.js";
|
|
9
9
|
import "../chunk-ONKIWA3R.js";
|
|
10
10
|
import "../chunk-MP2AFCGL.js";
|
|
11
11
|
import {
|
|
@@ -1102,7 +1102,7 @@ async function main() {
|
|
|
1102
1102
|
console.log("[exe-gateway] Generic webhook adapter registered");
|
|
1103
1103
|
}
|
|
1104
1104
|
{
|
|
1105
|
-
const { createCRMWebhookHandler } = await import("../crm-webhook-
|
|
1105
|
+
const { createCRMWebhookHandler } = await import("../crm-webhook-YUFMGYQ4.js");
|
|
1106
1106
|
const handler = createCRMWebhookHandler();
|
|
1107
1107
|
server.onPlatform("crm", handler);
|
|
1108
1108
|
console.log("[exe-gateway] CRM webhook adapter registered");
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
isExeSession,
|
|
7
7
|
listPendingReviews,
|
|
8
8
|
strictSessionScopeFilter
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-66AQSKG7.js";
|
|
10
10
|
import "../chunk-ZKFPHJIJ.js";
|
|
11
11
|
import "../chunk-5CHYEKMH.js";
|
|
12
12
|
import "../chunk-4JERP7NT.js";
|
package/dist/bin/exe-kill.js
CHANGED
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
} from "../chunk-VRIMTCX2.js";
|
|
5
5
|
import {
|
|
6
6
|
fastDbInit
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-HSWOCMNX.js";
|
|
8
8
|
import {
|
|
9
9
|
disposeStore,
|
|
10
10
|
flushBatch
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-5IQBMR2V.js";
|
|
12
12
|
import "../chunk-CHCA3ZM2.js";
|
|
13
13
|
import "../chunk-IZVKWBIP.js";
|
|
14
14
|
import "../chunk-Y25OJWOQ.js";
|
|
15
15
|
import {
|
|
16
16
|
extractRootExe
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-66AQSKG7.js";
|
|
18
18
|
import "../chunk-ZKFPHJIJ.js";
|
|
19
19
|
import "../chunk-5CHYEKMH.js";
|
|
20
20
|
import "../chunk-4JERP7NT.js";
|
|
@@ -10,10 +10,10 @@ import "../chunk-K77WC6HA.js";
|
|
|
10
10
|
import "../chunk-ONAQAL3O.js";
|
|
11
11
|
import {
|
|
12
12
|
fastDbInit
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-HSWOCMNX.js";
|
|
14
14
|
import {
|
|
15
15
|
disposeStore
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-5IQBMR2V.js";
|
|
17
17
|
import "../chunk-CHCA3ZM2.js";
|
|
18
18
|
import "../chunk-IZVKWBIP.js";
|
|
19
19
|
import "../chunk-Y25OJWOQ.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
PROVIDER_TABLE,
|
|
23
23
|
_resetCcAgentSupportCache,
|
|
24
24
|
claudeSupportsAgentFlag
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-66AQSKG7.js";
|
|
26
26
|
import "../chunk-ZKFPHJIJ.js";
|
|
27
27
|
import "../chunk-5CHYEKMH.js";
|
|
28
28
|
import "../chunk-4JERP7NT.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPendingMessages,
|
|
3
3
|
markRead
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-6BRFIYYW.js";
|
|
5
5
|
import {
|
|
6
6
|
fastDbInit
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-HSWOCMNX.js";
|
|
8
|
+
import "../chunk-66AQSKG7.js";
|
|
9
9
|
import "../chunk-ZKFPHJIJ.js";
|
|
10
10
|
import "../chunk-5CHYEKMH.js";
|
|
11
11
|
import "../chunk-4JERP7NT.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
markAsRead,
|
|
7
7
|
readUnreadNotifications,
|
|
8
8
|
resolveExeSession
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-66AQSKG7.js";
|
|
10
10
|
import "../chunk-ZKFPHJIJ.js";
|
|
11
11
|
import "../chunk-5CHYEKMH.js";
|
|
12
12
|
import "../chunk-4JERP7NT.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
cleanupOrphanedReviews,
|
|
7
7
|
extractRootExe,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
isExeSession,
|
|
10
10
|
isStale,
|
|
11
11
|
listPendingReviews
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-66AQSKG7.js";
|
|
13
13
|
import "../chunk-ZKFPHJIJ.js";
|
|
14
14
|
import "../chunk-5CHYEKMH.js";
|
|
15
15
|
import "../chunk-4JERP7NT.js";
|
package/dist/bin/exe-review.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fastDbInit
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-HSWOCMNX.js";
|
|
5
5
|
import {
|
|
6
6
|
flushBatch,
|
|
7
7
|
writeMemory
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-5IQBMR2V.js";
|
|
9
9
|
import "../chunk-CHCA3ZM2.js";
|
|
10
10
|
import "../chunk-IZVKWBIP.js";
|
|
11
11
|
import "../chunk-Y25OJWOQ.js";
|
|
12
12
|
import {
|
|
13
13
|
getCurrentSessionScope,
|
|
14
14
|
strictSessionScopeFilter
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-66AQSKG7.js";
|
|
16
16
|
import "../chunk-ZKFPHJIJ.js";
|
|
17
17
|
import "../chunk-5CHYEKMH.js";
|
|
18
18
|
import "../chunk-4JERP7NT.js";
|
package/dist/bin/exe-search.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
hybridSearch,
|
|
4
4
|
lightweightSearch
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-XGJ5QYBU.js";
|
|
6
6
|
import {
|
|
7
7
|
initStore
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-5IQBMR2V.js";
|
|
9
9
|
import "../chunk-CHCA3ZM2.js";
|
|
10
10
|
import "../chunk-IZVKWBIP.js";
|
|
11
11
|
import "../chunk-Y25OJWOQ.js";
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
flushBatch,
|
|
4
4
|
initStore,
|
|
5
5
|
writeMemory
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-5IQBMR2V.js";
|
|
7
7
|
import "../chunk-CHCA3ZM2.js";
|
|
8
8
|
import "../chunk-IZVKWBIP.js";
|
|
9
9
|
import "../chunk-Y25OJWOQ.js";
|
|
10
10
|
import {
|
|
11
11
|
sessionScopeFilter,
|
|
12
12
|
updateTaskStatus
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-66AQSKG7.js";
|
|
14
14
|
import "../chunk-ZKFPHJIJ.js";
|
|
15
15
|
import "../chunk-5CHYEKMH.js";
|
|
16
16
|
import "../chunk-4JERP7NT.js";
|
|
@@ -141,7 +141,7 @@ try {
|
|
|
141
141
|
`
|
|
142
142
|
);
|
|
143
143
|
try {
|
|
144
|
-
const { createReviewForCompletedTask } = await import("../tasks-review-
|
|
144
|
+
const { createReviewForCompletedTask } = await import("../tasks-review-KRZ3UF5X.js");
|
|
145
145
|
await createReviewForCompletedTask(
|
|
146
146
|
{
|
|
147
147
|
id: String(dt.id),
|
|
@@ -178,7 +178,7 @@ try {
|
|
|
178
178
|
if (result.rows.length === 0) process.exit(0);
|
|
179
179
|
let commits = [];
|
|
180
180
|
try {
|
|
181
|
-
const { getRecentCommits } = await import("../git-task-sweep-
|
|
181
|
+
const { getRecentCommits } = await import("../git-task-sweep-XTWQO64K.js");
|
|
182
182
|
commits = getRecentCommits(30);
|
|
183
183
|
} catch {
|
|
184
184
|
}
|
|
@@ -191,7 +191,7 @@ try {
|
|
|
191
191
|
const context = row.context ? String(row.context) : void 0;
|
|
192
192
|
if (commits.length > 0) {
|
|
193
193
|
try {
|
|
194
|
-
const { findBestMatch } = await import("../git-task-sweep-
|
|
194
|
+
const { findBestMatch } = await import("../git-task-sweep-XTWQO64K.js");
|
|
195
195
|
const match = findBestMatch({ id: taskId, title, context }, commits);
|
|
196
196
|
if (match) {
|
|
197
197
|
try {
|