@miller-tech/uap 1.163.13 → 1.164.0
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/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +5 -4
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/deliver.d.ts +5 -3
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +95 -19
- package/dist/cli/deliver.js.map +1 -1
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +13 -1
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/model.d.ts.map +1 -1
- package/dist/cli/model.js +9 -1
- package/dist/cli/model.js.map +1 -1
- package/dist/cli/proxy-lifecycle.d.ts +66 -13
- package/dist/cli/proxy-lifecycle.d.ts.map +1 -1
- package/dist/cli/proxy-lifecycle.js +116 -49
- package/dist/cli/proxy-lifecycle.js.map +1 -1
- package/dist/cli/proxy.d.ts +46 -0
- package/dist/cli/proxy.d.ts.map +1 -1
- package/dist/cli/proxy.js +353 -23
- package/dist/cli/proxy.js.map +1 -1
- package/dist/cli/wizard-config.d.ts +4 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +14 -3
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/config/settings-registry.d.ts.map +1 -1
- package/dist/config/settings-registry.js +25 -0
- package/dist/config/settings-registry.js.map +1 -1
- package/dist/coordination/effort-profile.d.ts +39 -0
- package/dist/coordination/effort-profile.d.ts.map +1 -0
- package/dist/coordination/effort-profile.js +74 -0
- package/dist/coordination/effort-profile.js.map +1 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +68 -10
- package/dist/dashboard/server.js.map +1 -1
- package/dist/delivery/convergence-loop.d.ts +37 -0
- package/dist/delivery/convergence-loop.d.ts.map +1 -1
- package/dist/delivery/convergence-loop.js +51 -4
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/critic.d.ts +7 -0
- package/dist/delivery/critic.d.ts.map +1 -1
- package/dist/delivery/critic.js.map +1 -1
- package/dist/delivery/decompose.d.ts +9 -0
- package/dist/delivery/decompose.d.ts.map +1 -1
- package/dist/delivery/decompose.js +11 -0
- package/dist/delivery/decompose.js.map +1 -1
- package/dist/delivery/graph-safety.d.ts +75 -0
- package/dist/delivery/graph-safety.d.ts.map +1 -0
- package/dist/delivery/graph-safety.js +98 -0
- package/dist/delivery/graph-safety.js.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts +37 -0
- package/dist/delivery/per-phase-escalation-controller.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation-controller.js +68 -0
- package/dist/delivery/per-phase-escalation-controller.js.map +1 -0
- package/dist/delivery/per-phase-escalation.d.ts +53 -0
- package/dist/delivery/per-phase-escalation.d.ts.map +1 -0
- package/dist/delivery/per-phase-escalation.js +57 -0
- package/dist/delivery/per-phase-escalation.js.map +1 -0
- package/dist/delivery/reflect.d.ts +56 -0
- package/dist/delivery/reflect.d.ts.map +1 -0
- package/dist/delivery/reflect.js +79 -0
- package/dist/delivery/reflect.js.map +1 -0
- package/dist/delivery/verification-provenance.d.ts +47 -0
- package/dist/delivery/verification-provenance.d.ts.map +1 -0
- package/dist/delivery/verification-provenance.js +48 -0
- package/dist/delivery/verification-provenance.js.map +1 -0
- package/dist/models/complexity.d.ts +36 -0
- package/dist/models/complexity.d.ts.map +1 -0
- package/dist/models/complexity.js +75 -0
- package/dist/models/complexity.js.map +1 -0
- package/dist/models/router.d.ts.map +1 -1
- package/dist/models/router.js +39 -10
- package/dist/models/router.js.map +1 -1
- package/dist/models/types.d.ts +60 -10
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js +128 -11
- package/dist/models/types.js.map +1 -1
- package/dist/self-tuning/prompt-variants.d.ts +93 -0
- package/dist/self-tuning/prompt-variants.d.ts.map +1 -0
- package/dist/self-tuning/prompt-variants.js +143 -0
- package/dist/self-tuning/prompt-variants.js.map +1 -0
- package/dist/tasks/types.d.ts +2 -2
- package/dist/types/config.d.ts +8 -0
- package/dist/types/config.d.ts.map +1 -1
- package/docs/INDEX.md +1 -1
- package/docs/benchmarks/COMPREHENSIVE_BENCHMARKS.md +47 -53
- package/docs/benchmarks/VALIDATION_RESULTS.md +0 -2
- package/docs/guides/COORDINATION.md +1 -1
- package/docs/guides/DEPLOY_BATCHING.md +1 -1
- package/docs/guides/DROIDS_AND_SKILLS.md +1 -1
- package/docs/guides/LOCAL_MODELS.md +1 -1
- package/docs/guides/MCP_ROUTER.md +1 -1
- package/docs/guides/MEMORY.md +2 -2
- package/docs/guides/MULTI_MODEL.md +1 -1
- package/docs/guides/POLICIES.md +1 -1
- package/docs/guides/PROXY.md +47 -4
- package/docs/guides/SANDBOX.md +1 -1
- package/docs/guides/WORKTREE_WORKFLOW.md +1 -1
- package/docs/reference/CLI.md +16 -3
- package/docs/reference/CONFIGURATION.md +1 -1
- package/docs/reference/FEATURES.md +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/templates/hooks/session-end.sh +9 -0
- package/templates/hooks/session-start.sh +10 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
package/dist/cli/proxy.js
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
* uap proxy status [--port <n>] [--json]
|
|
13
13
|
* uap proxy start | stop | restart manual controls
|
|
14
14
|
* uap proxy enable | disable toggle .uap.json proxy.autostart
|
|
15
|
+
* uap proxy dashboard [on|off] toggle/inspect the ride-along dashboard
|
|
16
|
+
*
|
|
17
|
+
* The operational dashboard rides along with the proxy: `ensure`/`start` also
|
|
18
|
+
* start-or-adopt `uap dashboard serve`, and `release`/`stop` tear it down under
|
|
19
|
+
* the same ownership + refcount rules. Operators get monitoring without running
|
|
20
|
+
* a second command. Opt out per project with `uap proxy dashboard off`.
|
|
15
21
|
*
|
|
16
22
|
* Everything is fail-open: hook-driven calls never throw and never block the
|
|
17
23
|
* session — a proxy that won't start just means the agent runs without it.
|
|
@@ -22,17 +28,24 @@
|
|
|
22
28
|
* UAP_PROXY_RUN_SCRIPT proxy launch script (default: bundled continuity script)
|
|
23
29
|
* UAP_PROXY_NO_SYSTEMD=1 force the detached-process path (skip systemd)
|
|
24
30
|
* UAP_PROXY_HEALTH_WAIT_MS how long to wait for /health after launch (15000)
|
|
31
|
+
* UAP_PROXY_DASHBOARD=0|1 force the ride-along dashboard off/on (wins over config)
|
|
32
|
+
* UAP_DASH_PORT dashboard port (3847)
|
|
33
|
+
* UAP_DASH_HOST dashboard bind host (localhost)
|
|
34
|
+
* UAP_DASH_HEALTH_WAIT_MS how long to wait for the dashboard to serve (10000)
|
|
25
35
|
*/
|
|
26
36
|
import chalk from 'chalk';
|
|
27
37
|
import { spawn, spawnSync } from 'child_process';
|
|
28
|
-
import { existsSync, mkdirSync, openSync, readFileSync } from 'fs';
|
|
38
|
+
import { closeSync, existsSync, mkdirSync, openSync, readFileSync } from 'fs';
|
|
29
39
|
import { join, dirname } from 'path';
|
|
30
40
|
import { fileURLToPath } from 'url';
|
|
41
|
+
import net from 'net';
|
|
31
42
|
import os from 'os';
|
|
32
43
|
import { loadUapConfigRaw, modifyUapConfig } from '../utils/config-loader.js';
|
|
33
44
|
import { proxyEnvPath } from './systemd-services.js';
|
|
34
45
|
import { DEFAULT_PROXY_PORT, runtimeDir, ensureProxy, releaseProxy, readOwner, clearOwner, listClients, resolveClientId, pidFromClientId, isPidAlive, } from './proxy-lifecycle.js';
|
|
35
46
|
const PROXY_UNIT = 'uap-anthropic-proxy.service';
|
|
47
|
+
/** Matches `uap dashboard serve`'s default port. */
|
|
48
|
+
const DEFAULT_DASH_PORT = 3847;
|
|
36
49
|
/** Detect the harness driving this session, for diagnostics only. */
|
|
37
50
|
function detectHarness() {
|
|
38
51
|
if (process.env.CLAUDE_PROJECT_DIR || process.env.CLAUDE_SESSION_ID)
|
|
@@ -58,11 +71,85 @@ async function probeHealth(port, timeoutMs = 1500) {
|
|
|
58
71
|
clearTimeout(t);
|
|
59
72
|
}
|
|
60
73
|
}
|
|
61
|
-
/**
|
|
62
|
-
|
|
74
|
+
/** The address to TALK to a service bound on `host` (0.0.0.0 isn't dialable). */
|
|
75
|
+
function dialHost(host) {
|
|
76
|
+
return host === '0.0.0.0' || host === '::' ? '127.0.0.1' : host;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Dashboard liveness probe. Demands positive identification, not merely a live
|
|
80
|
+
* socket: adopting whatever happens to hold :3847 would hand the operator a URL
|
|
81
|
+
* to someone else's server.
|
|
82
|
+
*
|
|
83
|
+
* Accepted signals, cheapest first:
|
|
84
|
+
* 1. `/health` returning our service marker AND serving THIS project. The
|
|
85
|
+
* dashboard reads every panel from its own cwd, so another project's
|
|
86
|
+
* dashboard is not ours to adopt or to advertise — the client registry is
|
|
87
|
+
* per-user, but a dashboard is per-project.
|
|
88
|
+
* 2. the served page titled "UAP Dashboard" — a dashboard started by an OLDER
|
|
89
|
+
* uap has no `/health`, and misreporting a dashboard the operator is
|
|
90
|
+
* staring at as "down" is worse than one extra request on the miss path.
|
|
91
|
+
* Such a dashboard cannot state its project, so it is adopted as-is.
|
|
92
|
+
*/
|
|
93
|
+
export async function probeDashHealth(port, timeoutMs = 1500, opts = {}) {
|
|
94
|
+
const target = dialHost(opts.host ?? 'localhost');
|
|
95
|
+
const fetchText = async (path) => {
|
|
96
|
+
const controller = new AbortController();
|
|
97
|
+
const t = setTimeout(() => controller.abort(), timeoutMs);
|
|
98
|
+
try {
|
|
99
|
+
const res = await fetch(`http://${target}:${port}${path}`, { signal: controller.signal });
|
|
100
|
+
return res.ok ? await res.text() : null;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
clearTimeout(t);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
const health = await fetchText('/health');
|
|
110
|
+
if (health) {
|
|
111
|
+
try {
|
|
112
|
+
const body = JSON.parse(health);
|
|
113
|
+
if (body?.service === 'uap-dashboard') {
|
|
114
|
+
// A dashboard that reports a DIFFERENT project root is somebody else's.
|
|
115
|
+
if (opts.root && body.root && body.root !== opts.root)
|
|
116
|
+
return false;
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
/* not our JSON — fall through to the legacy check */
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const rootPage = await fetchText('/');
|
|
125
|
+
return rootPage !== null && /<title>\s*UAP Dashboard\s*<\/title>/i.test(rootPage);
|
|
126
|
+
}
|
|
127
|
+
/** Is anything listening on `port`? Used to avoid a doomed spawn (and the
|
|
128
|
+
* health-wait stall that follows it) when a foreign process holds the port. */
|
|
129
|
+
function portOccupied(port, host = 'localhost', timeoutMs = 400) {
|
|
130
|
+
return new Promise((resolve) => {
|
|
131
|
+
let sock;
|
|
132
|
+
try {
|
|
133
|
+
sock = net.connect({ host: dialHost(host), port });
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return resolve(false); // e.g. ERR_SOCKET_BAD_PORT — throws synchronously
|
|
137
|
+
}
|
|
138
|
+
const done = (occupied) => {
|
|
139
|
+
sock.destroy();
|
|
140
|
+
resolve(occupied);
|
|
141
|
+
};
|
|
142
|
+
sock.setTimeout(timeoutMs);
|
|
143
|
+
sock.once('connect', () => done(true));
|
|
144
|
+
sock.once('timeout', () => done(false));
|
|
145
|
+
sock.once('error', () => done(false));
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/** Poll a health probe until up or timeout — used after launching a service. */
|
|
149
|
+
async function waitHealthy(port, timeoutMs, probe = probeHealth) {
|
|
63
150
|
const deadline = Date.now() + timeoutMs;
|
|
64
151
|
while (Date.now() < deadline) {
|
|
65
|
-
if (await
|
|
152
|
+
if (await probe(port, 1200))
|
|
66
153
|
return true;
|
|
67
154
|
await new Promise((r) => setTimeout(r, 600));
|
|
68
155
|
}
|
|
@@ -192,28 +279,24 @@ async function startProxy(port) {
|
|
|
192
279
|
}
|
|
193
280
|
return { healthy: true, owner: { kind: 'process', pid, startToken, port, startedAt: now } };
|
|
194
281
|
}
|
|
195
|
-
/** Is the owner pid still
|
|
196
|
-
|
|
282
|
+
/** Is the owner pid still the process WE launched (defends against PID reuse
|
|
283
|
+
* before we kill)? Falls back to "is it still serving" when no token exists. */
|
|
284
|
+
async function pidIsOurs(owner, probe) {
|
|
197
285
|
const pid = owner.pid;
|
|
198
286
|
if (!pid || !isPidAlive(pid))
|
|
199
287
|
return false;
|
|
200
288
|
const current = readStartToken(pid);
|
|
201
289
|
if (owner.startToken && current)
|
|
202
290
|
return current === owner.startToken; // definitive
|
|
203
|
-
// No reliable identity token — only signal if the
|
|
204
|
-
return
|
|
291
|
+
// No reliable identity token — only signal if the service is still serving.
|
|
292
|
+
return probe(owner.port);
|
|
205
293
|
}
|
|
206
|
-
/**
|
|
207
|
-
async function
|
|
208
|
-
if (owner.kind === 'systemd') {
|
|
209
|
-
// Pin the unit name — never let a tampered record stop an arbitrary unit.
|
|
210
|
-
spawnSync('systemctl', ['--user', 'stop', PROXY_UNIT], { timeout: 8000 });
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
294
|
+
/** Identity-checked SIGTERM -> SIGKILL of a process we own. */
|
|
295
|
+
async function terminateOwned(owner, probe) {
|
|
213
296
|
const pid = owner.pid;
|
|
214
297
|
if (!pid || pid <= 0)
|
|
215
298
|
return;
|
|
216
|
-
if (!(await
|
|
299
|
+
if (!(await pidIsOurs(owner, probe)))
|
|
217
300
|
return; // PID reuse / already gone — do nothing
|
|
218
301
|
try {
|
|
219
302
|
process.kill(pid, 'SIGTERM');
|
|
@@ -238,8 +321,154 @@ async function stopProxy(owner) {
|
|
|
238
321
|
/* gone */
|
|
239
322
|
}
|
|
240
323
|
}
|
|
241
|
-
|
|
242
|
-
|
|
324
|
+
/** Stop adapter: systemctl stop, or identity-checked SIGTERM->SIGKILL. */
|
|
325
|
+
async function stopProxy(owner) {
|
|
326
|
+
if (owner.kind === 'systemd') {
|
|
327
|
+
// Pin the unit name — never let a tampered record stop an arbitrary unit.
|
|
328
|
+
spawnSync('systemctl', ['--user', 'stop', PROXY_UNIT], { timeout: 8000 });
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
await terminateOwned(owner, (p) => probeHealth(p));
|
|
332
|
+
}
|
|
333
|
+
/** Stop adapter for the ride-along dashboard (always a plain process we spawned). */
|
|
334
|
+
async function stopDashboard(owner, host = 'localhost') {
|
|
335
|
+
await terminateOwned(owner, (p) => probeDashHealth(p, 1500, { host }));
|
|
336
|
+
}
|
|
337
|
+
/** Ports must be dialable: `net.connect` THROWS synchronously outside 1..65535,
|
|
338
|
+
* which would escape `uap proxy start` as an unhandled rejection. */
|
|
339
|
+
function validPort(n) {
|
|
340
|
+
const p = Number(n);
|
|
341
|
+
return Number.isInteger(p) && p > 0 && p <= 65535 ? p : null;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Resolve the ride-along dashboard settings.
|
|
345
|
+
* Precedence: env > `.uap.json` proxy.dashboard > defaults (ON, :3847, localhost).
|
|
346
|
+
* `proxy.dashboard` accepts a bare boolean or `{enabled, port, host}`.
|
|
347
|
+
* Default-ON is the point of the feature: monitoring should not require the
|
|
348
|
+
* operator to know a second command exists.
|
|
349
|
+
*/
|
|
350
|
+
export function resolveDashboardSettings(cwd = process.cwd()) {
|
|
351
|
+
let enabled = true;
|
|
352
|
+
let port = DEFAULT_DASH_PORT;
|
|
353
|
+
let host = 'localhost';
|
|
354
|
+
try {
|
|
355
|
+
const cfg = loadUapConfigRaw(cwd) ?? {};
|
|
356
|
+
const proxy = cfg.proxy;
|
|
357
|
+
const d = proxy?.dashboard;
|
|
358
|
+
if (typeof d === 'boolean') {
|
|
359
|
+
enabled = d;
|
|
360
|
+
}
|
|
361
|
+
else if (d && typeof d === 'object') {
|
|
362
|
+
if (typeof d.enabled === 'boolean')
|
|
363
|
+
enabled = d.enabled;
|
|
364
|
+
port = validPort(d.port) ?? port;
|
|
365
|
+
if (typeof d.host === 'string' && d.host.trim())
|
|
366
|
+
host = d.host.trim();
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
/* defaults */
|
|
371
|
+
}
|
|
372
|
+
const toggle = process.env.UAP_PROXY_DASHBOARD?.trim();
|
|
373
|
+
if (toggle)
|
|
374
|
+
enabled = !/^(0|off|false|no)$/i.test(toggle);
|
|
375
|
+
port = validPort(process.env.UAP_DASH_PORT) ?? port;
|
|
376
|
+
const envHost = process.env.UAP_DASH_HOST?.trim();
|
|
377
|
+
if (envHost)
|
|
378
|
+
host = envHost;
|
|
379
|
+
return { enabled, port, host };
|
|
380
|
+
}
|
|
381
|
+
/** Locate the installed CLI entrypoint so we can re-invoke `dashboard serve`. */
|
|
382
|
+
function resolveCliEntry() {
|
|
383
|
+
const here = dirname(fileURLToPath(import.meta.url)); // dist/cli
|
|
384
|
+
const candidates = [
|
|
385
|
+
join(here, '..', 'bin', 'cli.js'),
|
|
386
|
+
join(here, '..', '..', 'dist', 'bin', 'cli.js'),
|
|
387
|
+
];
|
|
388
|
+
const found = candidates.find((c) => existsSync(c));
|
|
389
|
+
if (found)
|
|
390
|
+
return found;
|
|
391
|
+
const argv1 = process.argv[1];
|
|
392
|
+
return argv1 && existsSync(argv1) ? argv1 : null;
|
|
393
|
+
}
|
|
394
|
+
const DASH_HEALTH_WAIT_MS = Number(process.env.UAP_DASH_HEALTH_WAIT_MS ?? 10000);
|
|
395
|
+
/**
|
|
396
|
+
* Launch adapter for the dashboard: a detached `uap dashboard serve` we own and
|
|
397
|
+
* therefore may stop. Declines to spawn when a FOREIGN process holds the port —
|
|
398
|
+
* `ensureService` has already established that our own dashboard isn't there, so
|
|
399
|
+
* an occupied port means a doomed bind, and spawning anyway would stall the
|
|
400
|
+
* SessionStart hook for the whole health-wait before failing.
|
|
401
|
+
*/
|
|
402
|
+
async function startDashboard(port, host, root) {
|
|
403
|
+
const now = new Date().toISOString();
|
|
404
|
+
const entry = resolveCliEntry();
|
|
405
|
+
if (!entry)
|
|
406
|
+
return { healthy: false, owner: null };
|
|
407
|
+
if (await portOccupied(port, host))
|
|
408
|
+
return { healthy: false, owner: null };
|
|
409
|
+
const logDir = join(runtimeDir(), 'logs');
|
|
410
|
+
mkdirSync(logDir, { recursive: true, mode: 0o700 });
|
|
411
|
+
// 0o600: the dashboard's stdout can carry operational detail, and the parent
|
|
412
|
+
// dir's 0700 is not re-applied by mkdirSync when it already exists.
|
|
413
|
+
const out = openSync(join(logDir, 'dashboard.log'), 'a', 0o600);
|
|
414
|
+
let child;
|
|
415
|
+
try {
|
|
416
|
+
child = spawn(process.execPath, [entry, 'dashboard', 'serve', '--port', String(port), '--host', host], {
|
|
417
|
+
detached: true,
|
|
418
|
+
stdio: ['ignore', out, out],
|
|
419
|
+
// Pin the project explicitly: the dashboard reads every panel from its
|
|
420
|
+
// cwd, and inheriting an ambient one silently serves the wrong project.
|
|
421
|
+
cwd: root,
|
|
422
|
+
// Tells the server not to echo the mutation token into this log file.
|
|
423
|
+
env: { ...process.env, UAP_DASH_RIDE_ALONG: '1' },
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
finally {
|
|
427
|
+
closeSync(out); // the child holds its own dup — don't leak an fd per call
|
|
428
|
+
}
|
|
429
|
+
child.unref();
|
|
430
|
+
const pid = child.pid;
|
|
431
|
+
const startToken = pid ? readStartToken(pid) : undefined;
|
|
432
|
+
const healthy = await waitHealthy(port, DASH_HEALTH_WAIT_MS, (p, t) => probeDashHealth(p, t, { host, root }));
|
|
433
|
+
if (!healthy) {
|
|
434
|
+
if (pid) {
|
|
435
|
+
try {
|
|
436
|
+
process.kill(pid, 'SIGTERM');
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
/* already gone */
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return { healthy: false, owner: null };
|
|
443
|
+
}
|
|
444
|
+
return { healthy: true, owner: { kind: 'process', pid, startToken, port, startedAt: now } };
|
|
445
|
+
}
|
|
446
|
+
/** Human-facing dashboard URL (0.0.0.0 is not something you can click). */
|
|
447
|
+
function dashUrl(host, port) {
|
|
448
|
+
return `http://${dialHost(host)}:${port}`;
|
|
449
|
+
}
|
|
450
|
+
/** Non-loopback binds are reachable off-box — never report that as "localhost"
|
|
451
|
+
* without saying so (the server's own warning goes to the ride-along log). */
|
|
452
|
+
function lanWarning(host) {
|
|
453
|
+
const loopback = host === 'localhost' || host === '127.0.0.1' || host === '::1';
|
|
454
|
+
return loopback ? null : `bound to ${host} — reachable beyond this machine`;
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Side-effect adapters. The dashboard ones are bound to ONE resolved settings
|
|
458
|
+
* snapshot + project root so the probe, the spawn and the teardown can never
|
|
459
|
+
* disagree about which host/port/project they mean.
|
|
460
|
+
*/
|
|
461
|
+
function deps(dash, root = process.cwd()) {
|
|
462
|
+
const d = dash ?? resolveDashboardSettings(root);
|
|
463
|
+
return {
|
|
464
|
+
probeHealth: (p) => probeHealth(p),
|
|
465
|
+
startProxy,
|
|
466
|
+
stopProxy,
|
|
467
|
+
now: () => new Date().toISOString(),
|
|
468
|
+
probeDashHealth: (p) => probeDashHealth(p, 1500, { host: d.host, root }),
|
|
469
|
+
startDashboard: (p) => startDashboard(p, d.host, root),
|
|
470
|
+
stopDashboard: (owner) => stopDashboard(owner, d.host),
|
|
471
|
+
};
|
|
243
472
|
}
|
|
244
473
|
/** Client record for THIS session. Liveness pid = the long-lived AGENT process
|
|
245
474
|
* (passed via --client-pid by the hook), NOT the ephemeral CLI/hook process. */
|
|
@@ -278,17 +507,42 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
278
507
|
}
|
|
279
508
|
}
|
|
280
509
|
const clientPid = options.clientPid !== undefined ? Number(options.clientPid) : undefined;
|
|
510
|
+
// The ride-along dashboard. `--no-dashboard` suppresses STARTING it for this
|
|
511
|
+
// call (commander sets `dashboard:false`); config/env decide otherwise. It
|
|
512
|
+
// never suppresses teardown — we always reap a dashboard we own.
|
|
513
|
+
const root = process.cwd();
|
|
514
|
+
const dash = resolveDashboardSettings(root);
|
|
515
|
+
const wantDashboard = options.dashboard === false ? false : dash.enabled;
|
|
516
|
+
const ensureOpts = { dashboard: { enabled: wantDashboard, port: dash.port } };
|
|
517
|
+
const lifecycle = deps(dash, root);
|
|
518
|
+
/** Report what happened to the ride-along dashboard on ensure/start. */
|
|
519
|
+
const sayDashboard = (r) => {
|
|
520
|
+
if (!r)
|
|
521
|
+
return;
|
|
522
|
+
const url = dashUrl(dash.host, r.port);
|
|
523
|
+
const lan = lanWarning(dash.host);
|
|
524
|
+
if (r.action === 'reused')
|
|
525
|
+
say(chalk.dim(`✓ dashboard already running — ${url}`));
|
|
526
|
+
else if (r.action === 'started') {
|
|
527
|
+
say(chalk.green(`✓ dashboard started — ${url}`));
|
|
528
|
+
if (lan)
|
|
529
|
+
say(chalk.yellow(` ⚠ ${lan}`));
|
|
530
|
+
}
|
|
531
|
+
else
|
|
532
|
+
say(chalk.yellow(`⚠ dashboard could not be started on :${r.port} (port busy, or held by another project's dashboard); run \`uap dash serve\` manually`));
|
|
533
|
+
};
|
|
281
534
|
switch (norm) {
|
|
282
535
|
case 'ensure': {
|
|
283
536
|
const clientId = resolveClientId(options.client);
|
|
284
537
|
try {
|
|
285
|
-
const r = await ensureProxy(rt, thisClient(clientId, clientPid), port,
|
|
538
|
+
const r = await ensureProxy(rt, thisClient(clientId, clientPid), port, lifecycle, ensureOpts);
|
|
286
539
|
if (r.action === 'reused')
|
|
287
540
|
say(chalk.dim(`✓ proxy already running on :${port} (reused, ${r.clients} client${r.clients === 1 ? '' : 's'})`));
|
|
288
541
|
else if (r.action === 'started')
|
|
289
542
|
say(chalk.green(`✓ proxy started on :${port}${r.owner ? ` (${r.owner.kind})` : ' (systemd)'}`));
|
|
290
543
|
else
|
|
291
544
|
say(chalk.yellow(`⚠ proxy could not be started on :${port}; continuing without it`));
|
|
545
|
+
sayDashboard(r.dashboard);
|
|
292
546
|
}
|
|
293
547
|
catch (e) {
|
|
294
548
|
say(chalk.yellow(`⚠ proxy ensure skipped: ${e.message}`));
|
|
@@ -299,13 +553,15 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
299
553
|
case 'release': {
|
|
300
554
|
const clientId = resolveClientId(options.client);
|
|
301
555
|
try {
|
|
302
|
-
const r = await releaseProxy(rt, clientId,
|
|
556
|
+
const r = await releaseProxy(rt, clientId, lifecycle);
|
|
303
557
|
if (r.action === 'stopped')
|
|
304
558
|
say(chalk.dim('✓ proxy stopped (last client left)'));
|
|
305
559
|
else if (r.action === 'left-other-clients')
|
|
306
560
|
say(chalk.dim(`✓ proxy left running (${r.remainingClients} other client${r.remainingClients === 1 ? '' : 's'} active)`));
|
|
307
561
|
else if (r.action === 'left-adopted')
|
|
308
562
|
say(chalk.dim('✓ proxy left running (not started by uap / systemd-managed)'));
|
|
563
|
+
if (r.dashboard?.action === 'stopped')
|
|
564
|
+
say(chalk.dim('✓ dashboard stopped (last client left)'));
|
|
309
565
|
}
|
|
310
566
|
catch (e) {
|
|
311
567
|
say(chalk.yellow(`⚠ proxy release skipped: ${e.message}`));
|
|
@@ -314,8 +570,14 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
314
570
|
return;
|
|
315
571
|
}
|
|
316
572
|
case 'status': {
|
|
317
|
-
|
|
573
|
+
// Project-scoped: a dashboard serving a DIFFERENT root is not this
|
|
574
|
+
// project's, so it is reported as down rather than advertised as yours.
|
|
575
|
+
const [healthy, dashHealthy] = await Promise.all([
|
|
576
|
+
probeHealth(port),
|
|
577
|
+
probeDashHealth(dash.port, 1500, { host: dash.host, root }),
|
|
578
|
+
]);
|
|
318
579
|
const owner = readOwner(rt);
|
|
580
|
+
const dashOwner = readOwner(rt, 'dash');
|
|
319
581
|
const clients = listClients(rt);
|
|
320
582
|
if (options.json) {
|
|
321
583
|
console.log(JSON.stringify({
|
|
@@ -326,6 +588,15 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
326
588
|
adopted: healthy && !owner,
|
|
327
589
|
clients: clients.length,
|
|
328
590
|
clientIds: clients.map((c) => c.clientId),
|
|
591
|
+
dashboard: {
|
|
592
|
+
enabled: dash.enabled,
|
|
593
|
+
port: dash.port,
|
|
594
|
+
host: dash.host,
|
|
595
|
+
url: dashUrl(dash.host, dash.port),
|
|
596
|
+
healthy: dashHealthy,
|
|
597
|
+
owner: dashOwner,
|
|
598
|
+
adopted: dashHealthy && !dashOwner,
|
|
599
|
+
},
|
|
329
600
|
}, null, 2));
|
|
330
601
|
return;
|
|
331
602
|
}
|
|
@@ -339,20 +610,54 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
339
610
|
console.log(` clients: ${chalk.bold(String(clients.length))}${clients.length ? ` (${clients.map((c) => c.clientId).join(', ')})` : ''}`);
|
|
340
611
|
if (unitInstalled())
|
|
341
612
|
console.log(chalk.dim(` systemd unit: ${PROXY_UNIT} ${unitActive() ? 'active' : 'inactive'}`));
|
|
613
|
+
const dashState = dashHealthy
|
|
614
|
+
? chalk.green('running')
|
|
615
|
+
: dash.enabled
|
|
616
|
+
? chalk.red('down')
|
|
617
|
+
: chalk.dim('disabled');
|
|
618
|
+
console.log(`Dashboard (:${dash.port}): ${dashState}`);
|
|
619
|
+
if (dashHealthy) {
|
|
620
|
+
console.log(` ${chalk.cyan(dashUrl(dash.host, dash.port))}`);
|
|
621
|
+
const lan = lanWarning(dash.host);
|
|
622
|
+
if (lan)
|
|
623
|
+
console.log(chalk.yellow(` ⚠ ${lan}`));
|
|
624
|
+
}
|
|
625
|
+
if (dashOwner) {
|
|
626
|
+
console.log(dashHealthy
|
|
627
|
+
? ` owned by uap${dashOwner.pid ? ` (pid ${dashOwner.pid})` : ''} — will stop when the last client leaves`
|
|
628
|
+
: // The owner marker is per-user but a dashboard serves one project:
|
|
629
|
+
// this one is alive for somebody else, or gone.
|
|
630
|
+
chalk.dim(` a uap-owned dashboard${dashOwner.pid ? ` (pid ${dashOwner.pid})` : ''} holds :${dash.port} for another project (or has exited)`));
|
|
631
|
+
}
|
|
632
|
+
else if (dashHealthy) {
|
|
633
|
+
console.log(chalk.dim(' adopted (not started by uap) — never auto-stopped'));
|
|
634
|
+
}
|
|
635
|
+
else if (!dash.enabled) {
|
|
636
|
+
console.log(chalk.dim(' ride-along disabled — enable with `uap proxy dashboard on`'));
|
|
637
|
+
}
|
|
342
638
|
return;
|
|
343
639
|
}
|
|
344
640
|
case 'start': {
|
|
345
641
|
const clientId = resolveClientId(options.client);
|
|
346
|
-
const r = await ensureProxy(rt, thisClient(clientId, clientPid), port,
|
|
642
|
+
const r = await ensureProxy(rt, thisClient(clientId, clientPid), port, lifecycle, ensureOpts);
|
|
347
643
|
say(r.action === 'reused'
|
|
348
644
|
? chalk.dim(`proxy already running on :${port}`)
|
|
349
645
|
: r.action === 'started'
|
|
350
646
|
? chalk.green(`proxy started on :${port}`)
|
|
351
647
|
: chalk.yellow(`proxy failed to start on :${port}`));
|
|
648
|
+
sayDashboard(r.dashboard);
|
|
352
649
|
process.exitCode = r.action === 'start-failed' ? 1 : 0;
|
|
353
650
|
return;
|
|
354
651
|
}
|
|
355
652
|
case 'stop': {
|
|
653
|
+
// Tear the dashboard down with the proxy — a manual `stop` is an explicit
|
|
654
|
+
// "shut it all down", so ownership (not the client refcount) is the rule.
|
|
655
|
+
const dashOwner = readOwner(rt, 'dash');
|
|
656
|
+
if (dashOwner) {
|
|
657
|
+
await stopDashboard(dashOwner, dash.host);
|
|
658
|
+
clearOwner(rt, 'dash');
|
|
659
|
+
say(chalk.dim('dashboard stopped'));
|
|
660
|
+
}
|
|
356
661
|
const owner = readOwner(rt);
|
|
357
662
|
if (owner) {
|
|
358
663
|
await stopProxy(owner);
|
|
@@ -387,8 +692,33 @@ export async function proxyCommand(sub, options = {}) {
|
|
|
387
692
|
: chalk.yellow('✓ proxy autostart DISABLED — hooks will no longer start/stop the proxy.'));
|
|
388
693
|
return;
|
|
389
694
|
}
|
|
695
|
+
case 'dashboard':
|
|
696
|
+
case 'dash': {
|
|
697
|
+
const val = (options.value ?? '').trim().toLowerCase();
|
|
698
|
+
if (!val) {
|
|
699
|
+
const healthy = await probeDashHealth(dash.port, 1500, { host: dash.host, root });
|
|
700
|
+
say(`Ride-along dashboard: ${dash.enabled ? chalk.green('enabled') : chalk.yellow('disabled')} — ${healthy ? chalk.green('running') : chalk.dim('not running')} at ${dashUrl(dash.host, dash.port)}`);
|
|
701
|
+
say(chalk.dim(' toggle with: uap proxy dashboard on | off'));
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
if (val !== 'on' && val !== 'off') {
|
|
705
|
+
console.error(chalk.red(`Unknown value '${val}'. Use: uap proxy dashboard [on|off]`));
|
|
706
|
+
process.exitCode = 1;
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
709
|
+
const on = val === 'on';
|
|
710
|
+
modifyUapConfig(process.cwd(), (c) => {
|
|
711
|
+
const proxy = { ...c.proxy };
|
|
712
|
+
proxy.dashboard = on;
|
|
713
|
+
return { ...c, proxy };
|
|
714
|
+
});
|
|
715
|
+
say(on
|
|
716
|
+
? chalk.green(`✓ ride-along dashboard ENABLED — it will start with the proxy at ${dashUrl(dash.host, dash.port)} and stop when the last client leaves.`)
|
|
717
|
+
: chalk.yellow('✓ ride-along dashboard DISABLED — start it manually with `uap dash serve`.'));
|
|
718
|
+
return;
|
|
719
|
+
}
|
|
390
720
|
default:
|
|
391
|
-
console.error(chalk.red(`Unknown proxy subcommand '${sub}'. Use: ensure | release | status | start | stop | restart | enable | disable`));
|
|
721
|
+
console.error(chalk.red(`Unknown proxy subcommand '${sub}'. Use: ensure | release | status | start | stop | restart | enable | disable | dashboard`));
|
|
392
722
|
process.exitCode = 1;
|
|
393
723
|
}
|
|
394
724
|
}
|
package/dist/cli/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/cli/proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/cli/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,6 +102,10 @@ export interface ProxyFeatures {
|
|
|
102
102
|
/** Hook-driven, reference-counted proxy autostart (start with the session,
|
|
103
103
|
* adopt an existing one, stop only when the last client leaves). */
|
|
104
104
|
autostart: boolean;
|
|
105
|
+
/** Ride-along operational dashboard: `uap proxy ensure` also starts (or
|
|
106
|
+
* adopts) `uap dashboard serve`, so monitoring needs no second command.
|
|
107
|
+
* Undefined = leave whatever `.uap.json` already says (default ON). */
|
|
108
|
+
dashboard?: boolean;
|
|
105
109
|
}
|
|
106
110
|
export interface HandsfreeFeatures {
|
|
107
111
|
/** Force any model to keep working until a multi-epic build ledger is 100% done. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-config.d.ts","sourceRoot":"","sources":["../../src/cli/wizard-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wizard-config.d.ts","sourceRoot":"","sources":["../../src/cli/wizard-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B;sFACkF;IAClF,aAAa,EAAE,OAAO,CAAC;IACvB;;6EAEyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,aAAa,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAC1C,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC;IACzB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;yEACqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB;;4EAEwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,mBAAmB,CAAC;IACjC,aAAa,EAAE,qBAAqB,CAAC;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CAoC7F;AAED,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,CAyBlE;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,CAqBlE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+LxB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAgEtF"}
|