@stratusagent/cli 0.13.6 → 0.14.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 +3 -1
- package/dist/bin.js +8 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent-new.d.ts.map +1 -1
- package/dist/commands/agent-new.js +3 -11
- package/dist/commands/agent-new.js.map +1 -1
- package/dist/commands/channel.d.ts.map +1 -1
- package/dist/commands/channel.js +5 -0
- package/dist/commands/channel.js.map +1 -1
- package/dist/commands/credential.d.ts +1 -1
- package/dist/commands/credential.d.ts.map +1 -1
- package/dist/commands/credential.js +59 -10
- package/dist/commands/credential.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +132 -7
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +81 -14
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/events.d.ts +14 -0
- package/dist/commands/events.d.ts.map +1 -0
- package/dist/commands/events.js +94 -0
- package/dist/commands/events.js.map +1 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +8 -3
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +2 -2
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/schedules.d.ts.map +1 -1
- package/dist/commands/schedules.js +6 -1
- package/dist/commands/schedules.js.map +1 -1
- package/dist/commands/serve.d.ts +8 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +44 -7
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +137 -126
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/signin.d.ts.map +1 -1
- package/dist/commands/signin.js +32 -3
- package/dist/commands/signin.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +71 -16
- package/dist/commands/update.js.map +1 -1
- package/dist/companions.d.ts.map +1 -1
- package/dist/companions.js +2 -2
- package/dist/companions.js.map +1 -1
- package/dist/environment.d.ts +12 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +33 -11
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/io.d.ts +24 -0
- package/dist/io.d.ts.map +1 -1
- package/dist/io.js +29 -0
- package/dist/io.js.map +1 -1
- package/dist/loaders.d.ts +7 -0
- package/dist/loaders.d.ts.map +1 -1
- package/dist/loaders.js +17 -9
- package/dist/loaders.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +19 -7
- package/dist/main.js.map +1 -1
- package/dist/npm.d.ts +17 -1
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +21 -6
- package/dist/npm.js.map +1 -1
- package/dist/parse.d.ts +27 -3
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +59 -7
- package/dist/parse.js.map +1 -1
- package/dist/plugin-catalog.d.ts +0 -9
- package/dist/plugin-catalog.d.ts.map +1 -1
- package/dist/plugin-catalog.js +4 -14
- package/dist/plugin-catalog.js.map +1 -1
- package/dist/plugin-index.d.ts +136 -0
- package/dist/plugin-index.d.ts.map +1 -0
- package/dist/plugin-index.js +293 -0
- package/dist/plugin-index.js.map +1 -0
- package/dist/plugin-updates.d.ts +54 -0
- package/dist/plugin-updates.d.ts.map +1 -0
- package/dist/plugin-updates.js +68 -0
- package/dist/plugin-updates.js.map +1 -0
- package/dist/provider-packages.d.ts +42 -0
- package/dist/provider-packages.d.ts.map +1 -0
- package/dist/{harness-packages.js → provider-packages.js} +28 -16
- package/dist/provider-packages.js.map +1 -0
- package/dist/roster.d.ts.map +1 -1
- package/dist/roster.js +19 -2
- package/dist/roster.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +5 -0
- package/dist/runtime.js.map +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +67 -1
- package/dist/service.js.map +1 -1
- package/dist/slack.d.ts.map +1 -1
- package/dist/slack.js +4 -0
- package/dist/slack.js.map +1 -1
- package/dist/supervisor.d.ts.map +1 -1
- package/dist/supervisor.js +1 -0
- package/dist/supervisor.js.map +1 -1
- package/dist/trusted-config.d.ts +8 -1
- package/dist/trusted-config.d.ts.map +1 -1
- package/dist/trusted-config.js +19 -0
- package/dist/trusted-config.js.map +1 -1
- package/package.json +22 -25
- package/dist/harness-packages.d.ts +0 -31
- package/dist/harness-packages.d.ts.map +0 -1
- package/dist/harness-packages.js.map +0 -1
package/README.md
CHANGED
|
@@ -53,6 +53,7 @@ stratus restart # announced restart: refuse, drain, come
|
|
|
53
53
|
stratus health # is the running daemon serving? exit 0/1, for container and probe health checks
|
|
54
54
|
stratus sessions --status failed # what the daemon's sessions are doing, newest first (--agent, --limit, --format json)
|
|
55
55
|
stratus credentials # stored credential names (never values)
|
|
56
|
+
stratus credential env gh.token GH_TOKEN --agent kai # kai's shell reads it as $GH_TOKEN, no restart
|
|
56
57
|
stratus signin set anthropic --agent remy # one agent's own Claude subscription, token asked without echo (also `signins`, `signin remove`)
|
|
57
58
|
stratus channel set imessage --agent blair apiKey # a channel plugin's secrets for one agent, asked without echo (also `channels`, `channel remove`)
|
|
58
59
|
stratus schedules # what the fleet has scheduled, and where it reports
|
|
@@ -87,6 +88,7 @@ Full reference with every subcommand:
|
|
|
87
88
|
| `--log-format` | `serve`: `text` (default) or `json` — the log's records as JSON lines on stdout, for `docker logs` and journald |
|
|
88
89
|
| `--no-api` | `serve`: do not serve the control API |
|
|
89
90
|
| `--api-host`, `--api-port` | `serve`: control API bind (default `127.0.0.1:4123`) |
|
|
91
|
+
| `--events-host` | `serve`: events listener interface (default `127.0.0.1`); see [Events](https://github.com/stratuslabs/agent/blob/main/docs/guides/events.md) |
|
|
90
92
|
| `--gateway <url>`, `--token` | `agents`, `skill reload`, `restart`, `session rollover`, `sessions`, `grants`, `health`: a running daemon's control API |
|
|
91
93
|
| `--tool`, `--scope`, `--origin` | `grants revoke`: which grant goes — exactly one |
|
|
92
94
|
| `--trust <level>` | `memory list`: show only that label; `memory reassert`: the label to record (`user`, `agent`, `unknown`, `external`) |
|
|
@@ -94,7 +96,7 @@ Full reference with every subcommand:
|
|
|
94
96
|
| `--limit <n>` | `memory search`: maximum hits; `sessions`: how many to list (default 20) |
|
|
95
97
|
| `--status <status>` | `sessions`: only this state (`idle`, `running`, `pending_approval`, `completed`, `failed`) |
|
|
96
98
|
| `--file <path>`, `--preserve-trust` | `memory export` / `memory import`: the JSONL, and keeping each recorded label instead of landing entries `external` |
|
|
97
|
-
| `--agent <id>` | `credential set`/`remove`: that agent's own key rather than the fleet's shared one; `signin set`/`remove`: whose own sign-in it is; `channel set`/`remove`: whose binding it is |
|
|
99
|
+
| `--agent <id>` | `credential set`/`remove`: that agent's own key rather than the fleet's shared one; `credential env`: whose shell the binding is for; `signin set`/`remove`: whose own sign-in it is; `channel set`/`remove`: whose binding it is |
|
|
98
100
|
| `--port`, `--host`, `--no-open` | `dashboard`: where a daemon it starts should bind; skip opening the browser |
|
|
99
101
|
| `--no-login` | `service install`: install without the start-at-login trigger |
|
|
100
102
|
| `--version`, `-v` | Print this build's version and exit |
|
package/dist/bin.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { filterSqliteExperimentalWarning, runCli, unsupportedNodeMessage } from "./index.js";
|
|
3
|
+
import { watchOutputReader } from "./io.js";
|
|
4
|
+
// First, so even the Node-floor message below survives a reader that
|
|
5
|
+
// stopped early (`| head -1`, `| grep -q`). Only stdout's reader ends a
|
|
6
|
+
// follow: stderr can close on its own (`2> >(head -1)`) while stdout is
|
|
7
|
+
// still being read.
|
|
8
|
+
const outputClosed = watchOutputReader(process.stdout);
|
|
9
|
+
watchOutputReader(process.stderr);
|
|
3
10
|
// Before anything else imports: the point is to explain the floor rather
|
|
4
11
|
// than to fail somewhere further in with a builtin-module error.
|
|
5
12
|
const unsupported = unsupportedNodeMessage(process.versions.node);
|
|
@@ -11,7 +18,7 @@ else {
|
|
|
11
18
|
// Before the first command imports the session store, since the warning
|
|
12
19
|
// fires on that import.
|
|
13
20
|
filterSqliteExperimentalWarning();
|
|
14
|
-
const exitCode = await runCli({ argv: process.argv.slice(2) });
|
|
21
|
+
const exitCode = await runCli({ argv: process.argv.slice(2), env: { outputClosed } });
|
|
15
22
|
if (exitCode !== 0) {
|
|
16
23
|
process.exitCode = exitCode;
|
|
17
24
|
}
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qEAAqE;AACrE,wEAAwE;AACxE,wEAAwE;AACxE,oBAAoB;AACpB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACvD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAElC,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClE,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,wEAAwE;IACxE,wBAAwB;IACxB,+BAA+B,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-new.d.ts","sourceRoot":"","sources":["../../src/commands/agent-new.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-new.d.ts","sourceRoot":"","sources":["../../src/commands/agent-new.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,iBAAiB,EAC/B,YAAY,MAAM,CAAC,UAAU,KAC5B;IAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAsBlD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,aAAa,EAC3B,cAAc,mBAAmB,GAAG,SAAS,EAC7C,UAAU,MAAM,KACf,aAYF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,qBAAqB,EAC9B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA4HhB,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { DEFAULT_ANTHROPIC_MODEL } from '@stratusagent/provider-anthropic';
|
|
2
|
-
import { DEFAULT_CODEX_MODEL } from '@stratusagent/providers';
|
|
3
1
|
import { defineAgent, formatSoul, generateAgentName } from '@stratusagent/agents';
|
|
4
|
-
import { claimSoulFile,
|
|
2
|
+
import { claimSoulFile, defaultModelFor, discoverActiveConfig, globalConfigPath, isRegisteredProviderName, parseProviderName, readNonEmptyString, readProcessEnv, loadConfigFile, saveConfigFile, } from '@stratusagent/state';
|
|
5
3
|
import { writeLine } from "../io.js";
|
|
6
4
|
import { quoteShellArg, stratusHeaderLines, createSetupPrompter } from "../prompter.js";
|
|
7
5
|
import { DEFAULT_SOUL_STARTER } from "./setup.js";
|
|
@@ -36,13 +34,7 @@ export const soulPinForNewAgent = (activeConfig, processEnv) => {
|
|
|
36
34
|
// A contributed provider's default model is its own — pinning a
|
|
37
35
|
// built-in's into a new soul would point the plugin at a model it
|
|
38
36
|
// never heard of.
|
|
39
|
-
?? (isRegisteredProviderName(provider)
|
|
40
|
-
? undefined
|
|
41
|
-
: provider === 'openai'
|
|
42
|
-
? DEFAULT_OPENAI_MODEL
|
|
43
|
-
: provider === 'codex'
|
|
44
|
-
? DEFAULT_CODEX_MODEL
|
|
45
|
-
: DEFAULT_ANTHROPIC_MODEL);
|
|
37
|
+
?? (isRegisteredProviderName(provider) ? undefined : defaultModelFor(provider));
|
|
46
38
|
return model !== undefined ? { provider, model } : { provider };
|
|
47
39
|
};
|
|
48
40
|
/**
|
|
@@ -154,7 +146,7 @@ export const runAgentNew = async (command, streams, env = {}) => {
|
|
|
154
146
|
return 0;
|
|
155
147
|
}
|
|
156
148
|
if (command.format === 'soul') {
|
|
157
|
-
streams.stdout.write(formatSoul({ agent, provider: 'anthropic', model:
|
|
149
|
+
streams.stdout.write(formatSoul({ agent, provider: 'anthropic', model: defaultModelFor('anthropic') }));
|
|
158
150
|
return 0;
|
|
159
151
|
}
|
|
160
152
|
writeLine(streams.stdout, `Say hello to ${agent.name}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-new.js","sourceRoot":"","sources":["../../src/commands/agent-new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-new.js","sourceRoot":"","sources":["../../src/commands/agent-new.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/commands/channel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAWxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,oBAAoB,EAC7B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/commands/channel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAWxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,oBAAoB,EAC7B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAyGhB,CAAC"}
|
package/dist/commands/channel.js
CHANGED
|
@@ -72,6 +72,11 @@ export const runChannel = async (command, streams, env = {}) => {
|
|
|
72
72
|
const roster = await rosterSoulsWithConfigured(env, (line) => warnings.push(line), { includeBuiltIn: true });
|
|
73
73
|
if (roster.complete && !roster.entries.some((entry) => entry.soul.agent.id === agentId)) {
|
|
74
74
|
writeLine(streams.stderr, `No agent ${agentId} is on the roster, so a ${kind} binding for it would never come online. \`stratus agents\` lists who is.`);
|
|
75
|
+
// Why it is not there, when the roster said: a configured soul the
|
|
76
|
+
// daemon ignores, or a soul file that did not parse.
|
|
77
|
+
for (const line of warnings) {
|
|
78
|
+
writeLine(streams.stderr, ` ${line}`);
|
|
79
|
+
}
|
|
75
80
|
return 1;
|
|
76
81
|
}
|
|
77
82
|
const secrets = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/commands/channel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/commands/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CliStreams, CliEnvironment } from '../environment.ts';
|
|
2
2
|
import type { ParsedCredentialCommand } from '../parse.ts';
|
|
3
3
|
/**
|
|
4
|
-
* `stratus credential set|list|remove`: the place a named credential goes.
|
|
4
|
+
* `stratus credential set|list|remove|env`: the place a named credential goes.
|
|
5
5
|
*
|
|
6
6
|
* A credential nobody can add is a credential nobody has, which is why this
|
|
7
7
|
* exists at all — a search backend asks for `search.apiKey` and until now
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/commands/credential.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/commands/credential.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AA0B3D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,uBAAuB,EAChC,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CAqHhB,CAAC"}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
|
-
import { credentialsPath, loadNamedCredentials, saveNamedCredentials } from '@stratusagent/state';
|
|
1
|
+
import { appendCredentialAudit, bindCredentialEnv, credentialsPath, loadCredentialEnvBindings, loadNamedCredentials, quoteShellArg, removeNamedCredential, saveNamedCredentials, unbindCredentialEnv, } from '@stratusagent/state';
|
|
2
2
|
import { writeLine, readSecretFromStdin } from "../io.js";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* The audit line for a binding made on the machine. Written after the
|
|
5
|
+
* change, like the gateway's, and warned about rather than undoing a
|
|
6
|
+
* binding that already landed.
|
|
7
|
+
*/
|
|
8
|
+
const auditBinding = async (env, streams, entry) => {
|
|
9
|
+
try {
|
|
10
|
+
await appendCredentialAudit(env, {
|
|
11
|
+
action: entry.action,
|
|
12
|
+
name: entry.name,
|
|
13
|
+
agentId: entry.agentId,
|
|
14
|
+
via: 'cli',
|
|
15
|
+
env: entry.variable,
|
|
16
|
+
bindingFor: entry.agentId,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
writeLine(streams.stderr, `The binding changed, but the audit line could not be written (${error instanceof Error ? error.message : String(error)}).`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* `stratus credential set|list|remove|env`: the place a named credential goes.
|
|
5
25
|
*
|
|
6
26
|
* A credential nobody can add is a credential nobody has, which is why this
|
|
7
27
|
* exists at all — a search backend asks for `search.apiKey` and until now
|
|
@@ -23,7 +43,8 @@ export const runCredential = async (command, streams, env = {}) => {
|
|
|
23
43
|
if (command.action === 'list') {
|
|
24
44
|
const shared = Object.keys(named.shared).sort();
|
|
25
45
|
const agents = Object.entries(named.agents).sort(([a], [b]) => a.localeCompare(b));
|
|
26
|
-
|
|
46
|
+
const bindings = Object.entries(await loadCredentialEnvBindings(env)).sort(([a], [b]) => a.localeCompare(b));
|
|
47
|
+
if (shared.length === 0 && agents.length === 0 && bindings.length === 0) {
|
|
27
48
|
writeLine(streams.stdout, `No named credentials stored in ${credentialsPath(env)}.`);
|
|
28
49
|
writeLine(streams.stdout, 'A search backend wants `stratus credential set search.apiKey`.');
|
|
29
50
|
return 0;
|
|
@@ -40,6 +61,14 @@ export const runCredential = async (command, streams, env = {}) => {
|
|
|
40
61
|
writeLine(streams.stdout, ` ${name}`);
|
|
41
62
|
}
|
|
42
63
|
}
|
|
64
|
+
// Which keys each agent's shell commands can read, and as what: the
|
|
65
|
+
// part of a key's reach that a soul's credentials: list doesn't show.
|
|
66
|
+
for (const [agentId, variables] of bindings) {
|
|
67
|
+
writeLine(streams.stdout, `${agentId}'s shell reads:`);
|
|
68
|
+
for (const [variable, name] of Object.entries(variables).sort(([a], [b]) => a.localeCompare(b))) {
|
|
69
|
+
writeLine(streams.stdout, ` ${variable} from ${name}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
43
72
|
// Names, never values — and say so, so nobody goes looking for a flag
|
|
44
73
|
// that prints one.
|
|
45
74
|
writeLine(streams.stdout, '');
|
|
@@ -49,21 +78,36 @@ export const runCredential = async (command, streams, env = {}) => {
|
|
|
49
78
|
const name = command.name ?? '';
|
|
50
79
|
if (command.action === 'remove') {
|
|
51
80
|
const scope = command.agentId;
|
|
52
|
-
|
|
53
|
-
if (!
|
|
81
|
+
// The bindings that read it go in the same write (removeNamedCredential).
|
|
82
|
+
if (!(await removeNamedCredential(env, { name, ...(scope !== undefined ? { agentId: scope } : {}) }))) {
|
|
54
83
|
writeLine(streams.stderr, scope === undefined
|
|
55
84
|
? `No shared credential named ${name}. \`stratus credentials\` lists what is stored.`
|
|
56
85
|
: `Agent ${scope} has no credential of its own named ${name}. \`stratus credentials\` lists what is stored.`);
|
|
57
86
|
return 1;
|
|
58
87
|
}
|
|
59
|
-
delete store[name];
|
|
60
|
-
if (scope !== undefined && Object.keys(store).length === 0) {
|
|
61
|
-
delete named.agents[scope];
|
|
62
|
-
}
|
|
63
|
-
await saveNamedCredentials(env, named);
|
|
64
88
|
writeLine(streams.stdout, scope === undefined ? `Removed ${name}.` : `Removed ${name} for ${scope}.`);
|
|
65
89
|
return 0;
|
|
66
90
|
}
|
|
91
|
+
if (command.action === 'env') {
|
|
92
|
+
// The parser requires both for `env`.
|
|
93
|
+
const agentId = command.agentId ?? '';
|
|
94
|
+
const variable = command.env ?? '';
|
|
95
|
+
if (command.remove === true) {
|
|
96
|
+
const was = await unbindCredentialEnv(env, { agentId, variable });
|
|
97
|
+
if (was === undefined) {
|
|
98
|
+
writeLine(streams.stderr, `${agentId}'s shell has no credential bound to ${variable}. \`stratus credentials\` lists the bindings.`);
|
|
99
|
+
return 1;
|
|
100
|
+
}
|
|
101
|
+
await auditBinding(env, streams, { action: 'unbind', name: was, agentId, variable });
|
|
102
|
+
writeLine(streams.stdout, `${agentId}'s shell no longer reads ${was} as ${variable}, from its next command.`);
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
const was = await bindCredentialEnv(env, { agentId, variable, name });
|
|
106
|
+
await auditBinding(env, streams, { action: 'bind', name, agentId, variable });
|
|
107
|
+
writeLine(streams.stdout, `${agentId}'s shell commands read ${name} as ${variable} from their next command${was !== undefined && was !== name ? ` (it was ${was})` : ''}. No restart needed.`);
|
|
108
|
+
writeLine(streams.stdout, `Only while ${agentId}'s soul lists it under credentials: and a value is stored. Undo: stratus credential env ${name} ${variable} --agent ${quoteShellArg(agentId)} --remove`);
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
67
111
|
writeLine(streams.stderr, `Reading the value for ${name} from stdin — it is never taken from the command line, where it would land in your shell history. Ctrl-D when done.`);
|
|
68
112
|
const arrived = env.stdin ?? await readSecretFromStdin(env.stdinStream ?? process.stdin);
|
|
69
113
|
// One trailing line terminator and nothing else. `echo "$KEY" |` appends a
|
|
@@ -85,6 +129,11 @@ export const runCredential = async (command, streams, env = {}) => {
|
|
|
85
129
|
writeLine(streams.stdout, command.agentId === undefined
|
|
86
130
|
? `Stored ${name} in ${credentialsPath(env)} (readable only by you).`
|
|
87
131
|
: `Stored ${name} for ${command.agentId} in ${credentialsPath(env)} (readable only by you). It outranks the shared entry for that agent.`);
|
|
132
|
+
if (command.env !== undefined && command.agentId !== undefined) {
|
|
133
|
+
await bindCredentialEnv(env, { agentId: command.agentId, variable: command.env, name });
|
|
134
|
+
await auditBinding(env, streams, { action: 'bind', name, agentId: command.agentId, variable: command.env });
|
|
135
|
+
writeLine(streams.stdout, `${command.agentId}'s shell commands read it as ${command.env} from their next command. No restart needed.`);
|
|
136
|
+
}
|
|
88
137
|
// Storing grants nothing: the soul is the second gate, and an operator
|
|
89
138
|
// who stops here gets "not allowed to access credential" on every call.
|
|
90
139
|
writeLine(streams.stdout, `Each agent that may use it still needs \`credentials: [${name}]\` in its soul.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/commands/credential.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/commands/credential.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAwE1D,eAAO,MAAM,eAAe,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAa/D,CAAC;AAwDF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,sBAAsB,EAC/B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA+MhB,CAAC"}
|
|
@@ -1,8 +1,68 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { gatewayToken, readGatewayInfo, gatewayAnswering, HomeHeldError } from "../daemon.js";
|
|
3
3
|
import { writeLine } from "../io.js";
|
|
4
|
+
import { packageInstalled } from "../loaders.js";
|
|
5
|
+
import { CLI_VERSION, defaultPackageInstaller } from "../npm.js";
|
|
6
|
+
import { createSetupPrompter } from "../prompter.js";
|
|
4
7
|
import { runServe } from "./serve.js";
|
|
5
8
|
const DASHBOARD_TITLE = 'Stratus Agent Dashboard';
|
|
9
|
+
const CONTROL_API_PACKAGE = '@stratusagent/control-api';
|
|
10
|
+
const DASHBOARD_PACKAGE = '@stratusagent/dashboard';
|
|
11
|
+
/** What a daemon this command starts needs: the API that serves the page, and the page. */
|
|
12
|
+
const DASHBOARD_PACKAGES = [CONTROL_API_PACKAGE, DASHBOARD_PACKAGE];
|
|
13
|
+
/**
|
|
14
|
+
* Offers the dashboard's missing packages. This command is the one place
|
|
15
|
+
* they are offered (card 308): setup and the rest leave them alone, since
|
|
16
|
+
* the control API binds a port and the person to ask is the one who just
|
|
17
|
+
* asked for the dashboard. At this CLI's own version, as the provider
|
|
18
|
+
* packages are: they ship in lockstep, and an unpinned install would put
|
|
19
|
+
* the latest control API beside an older daemon.
|
|
20
|
+
*
|
|
21
|
+
* `ready` means this process can load them now and should carry on;
|
|
22
|
+
* `elsewhere` that npm installed them where this CLI does not look (it
|
|
23
|
+
* runs from npx or a checkout, say), so running it again would not help;
|
|
24
|
+
* `missing` that nothing changed. Never throws.
|
|
25
|
+
*/
|
|
26
|
+
const offerDashboardPackages = async (missing, streams, env) => {
|
|
27
|
+
const one = missing.length === 1;
|
|
28
|
+
const specifiers = missing.map((name) => `${name}@${CLI_VERSION}`);
|
|
29
|
+
const install = `npm install -g ${specifiers.join(' ')}`;
|
|
30
|
+
writeLine(streams.stdout, `\`stratus dashboard\` needs ${missing.join(' and ')}, which ${one ? 'is' : 'are'} not installed.`);
|
|
31
|
+
if (missing.includes(CONTROL_API_PACKAGE)) {
|
|
32
|
+
writeLine(streams.stdout, 'The control API serves the dashboard on an authenticated port, 127.0.0.1 unless you choose another host.');
|
|
33
|
+
}
|
|
34
|
+
// A person to ask, or a script that only gets the command: installing
|
|
35
|
+
// something that binds a port is not a default to take unattended.
|
|
36
|
+
if (env.setupInput === undefined && process.stdin.isTTY !== true) {
|
|
37
|
+
writeLine(streams.stderr, `Error: install ${one ? 'it' : 'them'} with \`${install}\`, then run \`stratus dashboard\` again.`);
|
|
38
|
+
return 'missing';
|
|
39
|
+
}
|
|
40
|
+
const prompter = createSetupPrompter(streams, env);
|
|
41
|
+
let answer;
|
|
42
|
+
try {
|
|
43
|
+
answer = await prompter.select(`Install ${one ? 'it' : 'them'} now with npm install -g?`, ['Install now', 'Cancel']);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
prompter.close();
|
|
47
|
+
}
|
|
48
|
+
if (answer.kind !== 'index' || answer.index !== 0) {
|
|
49
|
+
writeLine(streams.stdout, `Not installed. Install ${one ? 'it' : 'them'} yourself with: ${install}`);
|
|
50
|
+
return 'missing';
|
|
51
|
+
}
|
|
52
|
+
writeLine(streams.stdout, `Running: ${install}`);
|
|
53
|
+
const result = await (env.packageInstaller ?? defaultPackageInstaller)(specifiers)
|
|
54
|
+
.catch((error) => ({ ok: false, message: error instanceof Error ? error.message : String(error) }));
|
|
55
|
+
if (!result.ok) {
|
|
56
|
+
writeLine(streams.stderr, `Could not install: ${result.message || 'unknown error'}`);
|
|
57
|
+
writeLine(streams.stderr, `Run \`${install}\` yourself, then \`stratus dashboard\` again.`);
|
|
58
|
+
return 'missing';
|
|
59
|
+
}
|
|
60
|
+
writeLine(streams.stdout, `Installed ${missing.join(' and ')}.`);
|
|
61
|
+
// npm's exit code says they are in the global prefix, not that this CLI
|
|
62
|
+
// resolves them there: an npx run, or a checkout, looks elsewhere, and
|
|
63
|
+
// starting it again would look in the same places.
|
|
64
|
+
return missing.some((name) => !packageInstalled(name, env)) ? 'elsewhere' : 'ready';
|
|
65
|
+
};
|
|
6
66
|
export const openExternalUrl = async (url) => {
|
|
7
67
|
const platform = process.platform;
|
|
8
68
|
const command = platform === 'darwin' ? 'open' : platform === 'win32' ? 'cmd' : 'xdg-open';
|
|
@@ -16,6 +76,27 @@ export const openExternalUrl = async (url) => {
|
|
|
16
76
|
});
|
|
17
77
|
});
|
|
18
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* Whether the daemon at `base` serves the page, asked for it the way a
|
|
81
|
+
* signed-in browser would. A daemon running the control API alone (the
|
|
82
|
+
* headless configuration) answers health and mints sessions all the same,
|
|
83
|
+
* and the session would open on a 404. Only that refusal counts: anything
|
|
84
|
+
* else, a network blip or a daemon too old to say, is no reason to stop.
|
|
85
|
+
*/
|
|
86
|
+
const servesDashboard = async (env, base, fetchImpl) => {
|
|
87
|
+
try {
|
|
88
|
+
const token = await gatewayToken(env, undefined);
|
|
89
|
+
const response = await fetchImpl(`${base}/`, { headers: { authorization: `Bearer ${token}` } });
|
|
90
|
+
if (response.status !== 404) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
const body = await response.json().catch(() => undefined);
|
|
94
|
+
return body?.error?.code !== 'no_dashboard';
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
19
100
|
/**
|
|
20
101
|
* A one-time URL for the browser.
|
|
21
102
|
*
|
|
@@ -61,9 +142,48 @@ export const runDashboard = async (command, streams, env = {}) => {
|
|
|
61
142
|
}
|
|
62
143
|
const existing = await readGatewayInfo(env);
|
|
63
144
|
let base = existing && await gatewayAnswering(env, existing.url, fetchImpl) ? existing.url : undefined;
|
|
145
|
+
// A daemon already answering brought its own packages, so what this shell
|
|
146
|
+
// resolves says nothing about it, except for the page it is missing: then
|
|
147
|
+
// the package is offered here, and the daemon has to restart to load it.
|
|
148
|
+
if (base && !await servesDashboard(env, base, fetchImpl)) {
|
|
149
|
+
writeLine(streams.stdout, `The daemon at ${base} serves the control API without the dashboard.`);
|
|
150
|
+
const restart = 'Restart it to load the dashboard: `stratus restart`, then `stratus dashboard` again.';
|
|
151
|
+
if (packageInstalled(DASHBOARD_PACKAGE, env)) {
|
|
152
|
+
// Installed where this CLI looks, which need not be where the daemon
|
|
153
|
+
// does (a global service looked at from a checkout): say both.
|
|
154
|
+
writeLine(streams.stderr, `Error: this stratus can load ${DASHBOARD_PACKAGE} and the daemon cannot. If it started before the package was installed, `
|
|
155
|
+
+ '`stratus restart` loads it. If it runs from another installation, install '
|
|
156
|
+
+ `${DASHBOARD_PACKAGE}@${CLI_VERSION} into that one (\`npm install -g ${DASHBOARD_PACKAGE}@${CLI_VERSION}\` for a global install), then \`stratus restart\`.`);
|
|
157
|
+
return 1;
|
|
158
|
+
}
|
|
159
|
+
if (await offerDashboardPackages([DASHBOARD_PACKAGE], streams, env) === 'missing') {
|
|
160
|
+
return 1;
|
|
161
|
+
}
|
|
162
|
+
writeLine(streams.stdout, restart);
|
|
163
|
+
return 0;
|
|
164
|
+
}
|
|
64
165
|
const ownDaemon = new AbortController();
|
|
65
166
|
let serving;
|
|
167
|
+
// Set when this run just installed the control API: a daemon already
|
|
168
|
+
// holding the home started without it and will never publish an address.
|
|
169
|
+
let installedApi = false;
|
|
66
170
|
if (!base) {
|
|
171
|
+
// Checked only for a daemon of our own. One already answering brought
|
|
172
|
+
// its own packages, whatever this shell resolves.
|
|
173
|
+
const missing = DASHBOARD_PACKAGES.filter((name) => !packageInstalled(name, env));
|
|
174
|
+
if (missing.length > 0) {
|
|
175
|
+
const offered = await offerDashboardPackages(missing, streams, env);
|
|
176
|
+
if (offered === 'elsewhere') {
|
|
177
|
+
writeLine(streams.stderr, 'Error: npm installed them into its global folder, and this stratus does not load packages from there '
|
|
178
|
+
+ '(it runs from npx or a source checkout, say), so running it again would not help. '
|
|
179
|
+
+ `Run \`stratus dashboard\` from a global install (\`npm install -g @stratusagent/cli@${CLI_VERSION}\`) instead.`);
|
|
180
|
+
return 1;
|
|
181
|
+
}
|
|
182
|
+
if (offered !== 'ready') {
|
|
183
|
+
return 1;
|
|
184
|
+
}
|
|
185
|
+
installedApi = missing.includes(CONTROL_API_PACKAGE);
|
|
186
|
+
}
|
|
67
187
|
writeLine(streams.stdout, 'No daemon is running — starting one. It stops when you do.');
|
|
68
188
|
writeLine(streams.stdout, 'Run `stratus service install` to keep one running instead.');
|
|
69
189
|
// One attempt at a daemon of our own. `runServe` can reject before it
|
|
@@ -121,7 +241,7 @@ export const runDashboard = async (command, streams, env = {}) => {
|
|
|
121
241
|
break;
|
|
122
242
|
}
|
|
123
243
|
if (daemonSettled) {
|
|
124
|
-
if (!(daemonFailure instanceof HomeHeldError)) {
|
|
244
|
+
if (!(daemonFailure instanceof HomeHeldError) || installedApi) {
|
|
125
245
|
break;
|
|
126
246
|
}
|
|
127
247
|
if (Date.now() - attemptedAt >= 1_000) {
|
|
@@ -133,12 +253,17 @@ export const runDashboard = async (command, streams, env = {}) => {
|
|
|
133
253
|
if (!base) {
|
|
134
254
|
ownDaemon.abort();
|
|
135
255
|
await daemonExit;
|
|
136
|
-
writeLine(streams.stderr, daemonFailure instanceof HomeHeldError
|
|
137
|
-
? 'Error:
|
|
138
|
-
+ '
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
256
|
+
writeLine(streams.stderr, daemonFailure instanceof HomeHeldError && installedApi
|
|
257
|
+
? 'Error: a daemon is already running for this home, and it started before the dashboard packages were '
|
|
258
|
+
+ 'installed, so it has no control API. Restart it to load them: `stratus service stop` and then '
|
|
259
|
+
+ '`stratus service start` if it is the installed service, otherwise Ctrl+C where it runs and start it again. '
|
|
260
|
+
+ 'Then run `stratus dashboard`.'
|
|
261
|
+
: daemonFailure instanceof HomeHeldError
|
|
262
|
+
? 'Error: another daemon holds this home but never published its address. It may still be starting or '
|
|
263
|
+
+ 'draining — try again in a moment, or check `stratus service status`.'
|
|
264
|
+
: daemonFailure
|
|
265
|
+
? `Error: the daemon could not start: ${daemonFailure instanceof Error ? daemonFailure.message : String(daemonFailure)}`
|
|
266
|
+
: 'Error: the daemon did not start serving its control API. Is @stratusagent/control-api installed?');
|
|
142
267
|
return 1;
|
|
143
268
|
}
|
|
144
269
|
if (daemonFailure instanceof HomeHeldError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAyBL,KAAK,sBAAsB,EAW5B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvG;AAsGD,4DAA4D;AAC5D,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,gDAAgD;IAChD,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAiMjG;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,mBAAmB,EAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,MAAK,cAAmB,KACvB,OAAO,CAAC,YAAY,CAmhBtB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,SAAS,mBAAmB,EAC5B,SAAS,UAAU,EACnB,MAAK,cAAmB,KACvB,OAAO,CAAC,MAAM,CA4HhB,CAAC"}
|