@stratusagent/cli 0.11.2 → 0.11.3
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 +13 -7
- package/dist/approvals.d.ts +87 -0
- package/dist/approvals.d.ts.map +1 -0
- package/dist/approvals.js +315 -0
- package/dist/approvals.js.map +1 -0
- package/dist/commands/agent-new.d.ts +22 -0
- package/dist/commands/agent-new.d.ts.map +1 -0
- package/dist/commands/agent-new.js +154 -0
- package/dist/commands/agent-new.js.map +1 -0
- package/dist/commands/agents.d.ts +4 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +90 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/chat.d.ts +4 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +224 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/credential.d.ts +22 -0
- package/dist/commands/credential.d.ts.map +1 -0
- package/dist/commands/credential.js +93 -0
- package/dist/commands/credential.js.map +1 -0
- package/dist/commands/dashboard.d.ts +14 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +195 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/doctor.d.ts +40 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +357 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/grants.d.ts +19 -0
- package/dist/commands/grants.d.ts.map +1 -0
- package/dist/commands/grants.js +128 -0
- package/dist/commands/grants.js.map +1 -0
- package/dist/commands/logs.d.ts +9 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +58 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/memory.d.ts +20 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +110 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/plugins.d.ts +91 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +359 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/restart.d.ts +4 -0
- package/dist/commands/restart.d.ts.map +1 -0
- package/dist/commands/restart.js +25 -0
- package/dist/commands/restart.js.map +1 -0
- package/dist/commands/schedules.d.ts +11 -0
- package/dist/commands/schedules.d.ts.map +1 -0
- package/dist/commands/schedules.js +50 -0
- package/dist/commands/schedules.js.map +1 -0
- package/dist/commands/serve.d.ts +4 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +612 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/service.d.ts +9 -0
- package/dist/commands/service.d.ts.map +1 -0
- package/dist/commands/service.js +97 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/session.d.ts +9 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +25 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +5 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +2412 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skills.d.ts +15 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +272 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/template.d.ts +4 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +575 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/update.d.ts +21 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +291 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/daemon.d.ts +74 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +192 -0
- package/dist/daemon.js.map +1 -0
- package/dist/environment.d.ts +108 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +2 -0
- package/dist/environment.js.map +1 -0
- package/dist/events.d.ts +17 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +87 -0
- package/dist/events.js.map +1 -0
- package/dist/help.d.ts +2 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +266 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +31 -624
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -6981
- package/dist/index.js.map +1 -1
- package/dist/io.d.ts +16 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +45 -0
- package/dist/io.js.map +1 -0
- package/dist/loaders.d.ts +31 -0
- package/dist/loaders.d.ts.map +1 -0
- package/dist/loaders.js +56 -0
- package/dist/loaders.js.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +214 -0
- package/dist/main.js.map +1 -0
- package/dist/npm.d.ts +66 -0
- package/dist/npm.d.ts.map +1 -0
- package/dist/npm.js +201 -0
- package/dist/npm.js.map +1 -0
- package/dist/parse.d.ts +231 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +1082 -0
- package/dist/parse.js.map +1 -0
- package/dist/plugin-catalog.d.ts +35 -0
- package/dist/plugin-catalog.d.ts.map +1 -0
- package/dist/plugin-catalog.js +58 -0
- package/dist/plugin-catalog.js.map +1 -0
- package/dist/preflight.d.ts +60 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +102 -0
- package/dist/preflight.js.map +1 -0
- package/dist/prompter.d.ts +84 -0
- package/dist/prompter.d.ts.map +1 -0
- package/dist/prompter.js +347 -0
- package/dist/prompter.js.map +1 -0
- package/dist/roster.d.ts +57 -0
- package/dist/roster.d.ts.map +1 -0
- package/dist/roster.js +78 -0
- package/dist/roster.js.map +1 -0
- package/dist/runtime.d.ts +59 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +266 -0
- package/dist/runtime.js.map +1 -0
- package/dist/slack.d.ts +26 -0
- package/dist/slack.d.ts.map +1 -0
- package/dist/slack.js +113 -0
- package/dist/slack.js.map +1 -0
- package/dist/source.d.ts +24 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +80 -0
- package/dist/source.js.map +1 -0
- package/dist/supervisor.d.ts +69 -0
- package/dist/supervisor.d.ts.map +1 -0
- package/dist/supervisor.js +218 -0
- package/dist/supervisor.js.map +1 -0
- package/dist/trusted-config.d.ts +71 -0
- package/dist/trusted-config.d.ts.map +1 -0
- package/dist/trusted-config.js +118 -0
- package/dist/trusted-config.js.map +1 -0
- package/package.json +25 -23
package/dist/npm.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/** How long `stratus update` waits for npm to answer a version lookup. */
|
|
2
|
+
export const VERSION_LOOKUP_TIMEOUT_MS = 15_000;
|
|
3
|
+
export const defaultPackageVersionFetcher = async (packageName) => {
|
|
4
|
+
const { spawn } = await import('node:child_process');
|
|
5
|
+
return new Promise((resolve) => {
|
|
6
|
+
const child = spawn('npm', ['view', packageName, 'version'], {
|
|
7
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
8
|
+
shell: npmNeedsShell(process.platform),
|
|
9
|
+
});
|
|
10
|
+
let stdout = '';
|
|
11
|
+
let settled = false;
|
|
12
|
+
const finish = (value) => {
|
|
13
|
+
if (settled) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
settled = true;
|
|
17
|
+
clearTimeout(timer);
|
|
18
|
+
resolve(value);
|
|
19
|
+
};
|
|
20
|
+
// An unreachable registry must degrade to "unknown", never hang the
|
|
21
|
+
// update on someone's terminal.
|
|
22
|
+
const timer = setTimeout(() => {
|
|
23
|
+
child.kill('SIGKILL');
|
|
24
|
+
finish(undefined);
|
|
25
|
+
}, VERSION_LOOKUP_TIMEOUT_MS);
|
|
26
|
+
timer.unref?.();
|
|
27
|
+
child.stdout?.on('data', (chunk) => { stdout += chunk.toString('utf8'); });
|
|
28
|
+
child.once('error', () => finish(undefined));
|
|
29
|
+
child.once('close', (code) => finish(code === 0 && stdout.trim().length > 0 ? stdout.trim() : undefined));
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Dotted-numeric comparison with SemVer's prerelease precedence, enough for
|
|
34
|
+
* this package's own versions: positive when `a` is newer than `b`.
|
|
35
|
+
* Anything unparseable in a segment counts as zero rather than throwing — a
|
|
36
|
+
* weird registry answer must not crash the update that would fix things.
|
|
37
|
+
*
|
|
38
|
+
* The prerelease half is not decoration. Split on dots alone, `0.11.2-beta.1`
|
|
39
|
+
* parses as a *fourth* numeric segment and so reads as newer than the stable
|
|
40
|
+
* `0.11.2` that supersedes it — which left a prerelease companion behind and
|
|
41
|
+
* stopped a prerelease CLI from ever seeing the stable release as an upgrade.
|
|
42
|
+
* SemVer's rule is the opposite and is the one applied here: a version
|
|
43
|
+
* carrying a prerelease is lower than the same version without one, and two
|
|
44
|
+
* prereleases compare identifier by identifier, numeric ones numerically and
|
|
45
|
+
* below alphanumeric ones.
|
|
46
|
+
*/
|
|
47
|
+
export const compareVersions = (a, b) => {
|
|
48
|
+
const numeric = (part) => {
|
|
49
|
+
const value = Number.parseInt(part, 10);
|
|
50
|
+
return Number.isInteger(value) ? value : 0;
|
|
51
|
+
};
|
|
52
|
+
const split = (value) => {
|
|
53
|
+
// Build metadata never affects precedence, and is dropped before the
|
|
54
|
+
// prerelease is found so a `+` cannot be mistaken for part of one.
|
|
55
|
+
const plain = (value.trim().replace(/^v/, '').split('+', 1)[0] ?? '');
|
|
56
|
+
const dash = plain.indexOf('-');
|
|
57
|
+
return {
|
|
58
|
+
core: (dash === -1 ? plain : plain.slice(0, dash)).split('.').map(numeric),
|
|
59
|
+
pre: dash === -1 ? [] : plain.slice(dash + 1).split('.').filter((part) => part.length > 0),
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const left = split(a);
|
|
63
|
+
const right = split(b);
|
|
64
|
+
for (let index = 0; index < Math.max(left.core.length, right.core.length); index += 1) {
|
|
65
|
+
const difference = (left.core[index] ?? 0) - (right.core[index] ?? 0);
|
|
66
|
+
if (difference !== 0) {
|
|
67
|
+
return difference;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Same release: the one without a prerelease is the released one.
|
|
71
|
+
if (left.pre.length === 0 || right.pre.length === 0) {
|
|
72
|
+
return right.pre.length - left.pre.length;
|
|
73
|
+
}
|
|
74
|
+
for (let index = 0; index < Math.max(left.pre.length, right.pre.length); index += 1) {
|
|
75
|
+
const one = left.pre[index];
|
|
76
|
+
const other = right.pre[index];
|
|
77
|
+
// A prerelease that runs out of identifiers first is the lower one:
|
|
78
|
+
// `1.0.0-beta` precedes `1.0.0-beta.1`.
|
|
79
|
+
if (one === undefined || other === undefined) {
|
|
80
|
+
return (one === undefined ? 0 : 1) - (other === undefined ? 0 : 1);
|
|
81
|
+
}
|
|
82
|
+
const oneNumeric = /^\d+$/.test(one);
|
|
83
|
+
const otherNumeric = /^\d+$/.test(other);
|
|
84
|
+
if (oneNumeric && otherNumeric) {
|
|
85
|
+
const difference = numeric(one) - numeric(other);
|
|
86
|
+
if (difference !== 0) {
|
|
87
|
+
return difference;
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
// Numeric identifiers always rank below alphanumeric ones.
|
|
92
|
+
if (oneNumeric !== otherNumeric) {
|
|
93
|
+
return oneNumeric ? -1 : 1;
|
|
94
|
+
}
|
|
95
|
+
const difference = one < other ? -1 : one > other ? 1 : 0;
|
|
96
|
+
if (difference !== 0) {
|
|
97
|
+
return difference;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return 0;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Whether spawning npm needs a shell on this platform.
|
|
104
|
+
*
|
|
105
|
+
* On Windows npm is `npm.cmd`, a batch file: a bare `npm` does not exist as
|
|
106
|
+
* an executable there (PATHEXT is a shell's job, not spawn's), and naming
|
|
107
|
+
* the `.cmd` directly has thrown EINVAL since the fix for CVE-2024-27980 —
|
|
108
|
+
* both land in the caller's error handler, so a Windows setup would report
|
|
109
|
+
* that it could not install and leave Slack and the dashboard missing.
|
|
110
|
+
*
|
|
111
|
+
* `shell: true` concatenates the arguments without escaping — Node 24
|
|
112
|
+
* deprecates the pattern as DEP0190 for exactly that reason — so what may
|
|
113
|
+
* reach it is fenced by `isInstallablePackageName` below rather than by an
|
|
114
|
+
* argument about where the names come from. That argument used to be
|
|
115
|
+
* "every name here is a constant in the CLI's own source", and it stopped
|
|
116
|
+
* being true
|
|
117
|
+
* the moment the Plugins menu started listing package names read from a
|
|
118
|
+
* config.
|
|
119
|
+
*/
|
|
120
|
+
export const npmNeedsShell = (platform) => platform === 'win32';
|
|
121
|
+
export const isPackageName = (name) => name.length <= 214 && /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/.test(name);
|
|
122
|
+
/**
|
|
123
|
+
* A package name, optionally with a plain version — what npm may be handed.
|
|
124
|
+
*
|
|
125
|
+
* A wider question than `isPackageName` and a different one: the updater
|
|
126
|
+
* installs `@stratusagent/cli@latest`, which is a valid thing to install and
|
|
127
|
+
* an invalid thing to import. Using one predicate for both let a versioned
|
|
128
|
+
* `plugins` key through the menu's install offer.
|
|
129
|
+
*
|
|
130
|
+
* The version half is deliberately not npm's full range syntax: `^1.0.0` is
|
|
131
|
+
* a valid range and `^` is cmd.exe's escape character. Only the plain forms
|
|
132
|
+
* this CLI actually passes are accepted, and a range that needs more is a
|
|
133
|
+
* thing to install by hand.
|
|
134
|
+
*/
|
|
135
|
+
export const isInstallableSpecifier = (specifier) => {
|
|
136
|
+
const scoped = specifier.startsWith('@');
|
|
137
|
+
// Split on the `@` that introduces a version, never the one that opens a
|
|
138
|
+
// scope — `@scope/pkg` has both and only the first is part of the name.
|
|
139
|
+
const at = specifier.indexOf('@', scoped ? 1 : 0);
|
|
140
|
+
const name = at === -1 ? specifier : specifier.slice(0, at);
|
|
141
|
+
const version = at === -1 ? undefined : specifier.slice(at + 1);
|
|
142
|
+
if (!isPackageName(name)) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
return version === undefined || /^[a-z0-9][a-z0-9.-]*$/.test(version);
|
|
146
|
+
};
|
|
147
|
+
export const defaultPackageInstaller = async (packages) => {
|
|
148
|
+
const { spawn } = await import('node:child_process');
|
|
149
|
+
// The fence, at the one place that touches a shell, so every caller is
|
|
150
|
+
// behind it — including ones added later, which is how the old invariant
|
|
151
|
+
// was lost.
|
|
152
|
+
const rejected = packages.filter((entry) => !isInstallableSpecifier(entry));
|
|
153
|
+
if (rejected.length > 0) {
|
|
154
|
+
return {
|
|
155
|
+
ok: false,
|
|
156
|
+
message: `${rejected.join(', ')} ${rejected.length === 1 ? 'is not a package name' : 'are not package names'} npm can install. `
|
|
157
|
+
+ 'Fix the key in your config, or install it yourself.',
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return new Promise((resolve) => {
|
|
161
|
+
// npm's own output is inherited rather than captured: a global install
|
|
162
|
+
// runs for tens of seconds, and a silent one is indistinguishable from
|
|
163
|
+
// a setup that has hung. stdin is NOT inherited — the setup prompter
|
|
164
|
+
// owns it, and two readers on one stream race for the same bytes.
|
|
165
|
+
const child = spawn('npm', ['install', '-g', ...packages], {
|
|
166
|
+
stdio: ['ignore', 'inherit', 'inherit'],
|
|
167
|
+
shell: npmNeedsShell(process.platform),
|
|
168
|
+
});
|
|
169
|
+
// `error` and `close` can both fire — a spawn that fails still closes.
|
|
170
|
+
let settled = false;
|
|
171
|
+
const finish = (result) => {
|
|
172
|
+
if (settled) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
settled = true;
|
|
176
|
+
resolve(result);
|
|
177
|
+
};
|
|
178
|
+
child.once('error', (error) => {
|
|
179
|
+
finish({ ok: false, message: error.message });
|
|
180
|
+
});
|
|
181
|
+
child.once('close', (code) => {
|
|
182
|
+
finish(code === 0
|
|
183
|
+
? { ok: true, message: '' }
|
|
184
|
+
: { ok: false, message: `npm exited with code ${code ?? 'unknown'}` });
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* What `stratus update` reads to learn which version of a companion this
|
|
190
|
+
* machine actually has. Through `@stratusagent/plugins`, which already owns
|
|
191
|
+
* the bounded walk from a resolved specifier to its package.json — a second
|
|
192
|
+
* copy here would drift from it, and this one would be the copy that
|
|
193
|
+
* decides whether somebody's Slack adapter gets upgraded.
|
|
194
|
+
*/
|
|
195
|
+
export const defaultInstalledVersionReader = async (specifier) => {
|
|
196
|
+
const { installedPackageVersion } = await import('@stratusagent/plugins');
|
|
197
|
+
return installedPackageVersion(specifier, { resolve: (target) => import.meta.resolve(target) });
|
|
198
|
+
};
|
|
199
|
+
export const CLI_VERSION = '0.11.3';
|
|
200
|
+
export const CLI_PACKAGE_NAME = '@stratusagent/cli';
|
|
201
|
+
//# sourceMappingURL=npm.js.map
|
package/dist/npm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"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"}
|
package/dist/parse.d.ts
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { type TrustLevel } from '@stratusagent/core';
|
|
2
|
+
import { type StratusProviderName } from '@stratusagent/state';
|
|
3
|
+
import type { CliEnvironment } from './environment.ts';
|
|
4
|
+
export type CliProviderName = StratusProviderName;
|
|
5
|
+
export type CliApprovalMode = 'always' | 'ask' | 'never';
|
|
6
|
+
export interface ParsedRunCommand {
|
|
7
|
+
command: 'run';
|
|
8
|
+
prompt: string;
|
|
9
|
+
provider?: CliProviderName;
|
|
10
|
+
model?: string;
|
|
11
|
+
baseUrl?: string;
|
|
12
|
+
configPath?: string;
|
|
13
|
+
/** Path to a soul file defining the agent to run as. */
|
|
14
|
+
soul?: string;
|
|
15
|
+
format: 'text' | 'json';
|
|
16
|
+
events: boolean;
|
|
17
|
+
approvals: CliApprovalMode;
|
|
18
|
+
maxTurns?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ParsedDashboardCommand {
|
|
21
|
+
command: 'dashboard';
|
|
22
|
+
port?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Present only when `--host` was actually given.
|
|
25
|
+
*
|
|
26
|
+
* A defaulted string here would be indistinguishable from an explicit
|
|
27
|
+
* `--host 127.0.0.1`, and the two mean opposite things when a trusted
|
|
28
|
+
* config says `api.host: "0.0.0.0"`: absent means "let the config decide",
|
|
29
|
+
* while explicit means "bind loopback, whatever the config says". Collapsing
|
|
30
|
+
* them exposed the API on every interface to an operator who had just asked
|
|
31
|
+
* for the opposite.
|
|
32
|
+
*/
|
|
33
|
+
host?: string;
|
|
34
|
+
openBrowser: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface ParsedSetupCommand {
|
|
37
|
+
command: 'setup';
|
|
38
|
+
configPath?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ParsedAgentNewCommand {
|
|
41
|
+
command: 'agent-new';
|
|
42
|
+
name?: string;
|
|
43
|
+
instructions?: string;
|
|
44
|
+
format: 'text' | 'json' | 'soul';
|
|
45
|
+
}
|
|
46
|
+
export interface ParsedChatCommand {
|
|
47
|
+
command: 'chat';
|
|
48
|
+
provider?: CliProviderName;
|
|
49
|
+
model?: string;
|
|
50
|
+
baseUrl?: string;
|
|
51
|
+
configPath?: string;
|
|
52
|
+
/** Path to a soul file defining the agent to chat with. */
|
|
53
|
+
soul?: string;
|
|
54
|
+
events: boolean;
|
|
55
|
+
approvals: CliApprovalMode;
|
|
56
|
+
maxTurns?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface ParsedTemplateAddCommand {
|
|
59
|
+
command: 'template-add';
|
|
60
|
+
/** A GitHub `owner/repo`, a git URL, or a local path. */
|
|
61
|
+
source: string;
|
|
62
|
+
/** Skip the review and install straight away. */
|
|
63
|
+
yes?: boolean;
|
|
64
|
+
/** Replace an agent or skill already installed under the same name. */
|
|
65
|
+
force?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface ParsedSkillAddCommand {
|
|
68
|
+
command: 'skill-add';
|
|
69
|
+
/** A GitHub `owner/repo`, a git URL, or a local path. */
|
|
70
|
+
source: string;
|
|
71
|
+
/** Install only these ids (repeatable --skill). */
|
|
72
|
+
skillIds?: string[];
|
|
73
|
+
/** Replace an already-installed id instead of refusing it. */
|
|
74
|
+
force?: boolean;
|
|
75
|
+
/** Enable the installed skills in this agent's soul afterwards. */
|
|
76
|
+
agentId?: string;
|
|
77
|
+
/** Tell a running daemon to reload its skills afterwards. Default true; `--no-reload` sets false. */
|
|
78
|
+
reload?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface ParsedSkillValidateCommand {
|
|
81
|
+
command: 'skill-validate';
|
|
82
|
+
/** A skill directory, a directory of skills, or an installed skill's id. */
|
|
83
|
+
target: string;
|
|
84
|
+
}
|
|
85
|
+
export interface ParsedPluginsCommand {
|
|
86
|
+
command: 'plugins';
|
|
87
|
+
format: 'text' | 'json';
|
|
88
|
+
/** The config whose plugins block to read, when not the default. */
|
|
89
|
+
configPath?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface ParsedSkillsCommand {
|
|
92
|
+
command: 'skills';
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* What a credential name may be: the two conventions in use, and nothing
|
|
96
|
+
* that would be awkward in a soul's `credentials:` list — `search.apiKey`
|
|
97
|
+
* and environment-style `SLACK_TOKEN`. Leading letter required, which also
|
|
98
|
+
* happens to exclude `__proto__`; the store does not *rely* on that (it
|
|
99
|
+
* keys prototype-free maps), because a credentials file can be written by
|
|
100
|
+
* something other than this command.
|
|
101
|
+
*/
|
|
102
|
+
export declare const CREDENTIAL_NAME_PATTERN: RegExp;
|
|
103
|
+
export interface ParsedCredentialCommand {
|
|
104
|
+
command: 'credential';
|
|
105
|
+
action: 'set' | 'list' | 'remove';
|
|
106
|
+
/** The credential name — `search.apiKey` and whatever the ecosystem asks for next. */
|
|
107
|
+
name?: string;
|
|
108
|
+
/** Store or remove this agent's own entry rather than the fleet's shared one. */
|
|
109
|
+
agentId?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface ParsedSkillReloadCommand {
|
|
112
|
+
command: 'skill-reload';
|
|
113
|
+
/** A daemon's control API URL; default: the one `~/.stratus/gateway.json` names. */
|
|
114
|
+
gateway?: string;
|
|
115
|
+
token?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface ParsedRestartCommand {
|
|
118
|
+
command: 'restart';
|
|
119
|
+
/** For the daemon's log. */
|
|
120
|
+
reason?: string;
|
|
121
|
+
/** How long the daemon lets in-flight turns finish, in milliseconds. */
|
|
122
|
+
drainTimeoutMs?: number;
|
|
123
|
+
gateway?: string;
|
|
124
|
+
token?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface ParsedAgentsCommand {
|
|
127
|
+
command: 'agents';
|
|
128
|
+
format: 'text' | 'json';
|
|
129
|
+
/**
|
|
130
|
+
* Ask a running gateway instead of resolving locally. The first
|
|
131
|
+
* remote-consuming command: the same listing, rendered from the control
|
|
132
|
+
* API's answer rather than from this machine's files.
|
|
133
|
+
*/
|
|
134
|
+
gateway?: string;
|
|
135
|
+
/** Bearer token override, for a gateway whose token file is not local. */
|
|
136
|
+
token?: string;
|
|
137
|
+
}
|
|
138
|
+
export interface ParsedSchedulesCommand {
|
|
139
|
+
command: 'schedules';
|
|
140
|
+
action: 'list' | 'cancel';
|
|
141
|
+
/** cancel only: which schedule. */
|
|
142
|
+
scheduleId?: string;
|
|
143
|
+
format: 'text' | 'json';
|
|
144
|
+
}
|
|
145
|
+
export interface ParsedGrantsCommand {
|
|
146
|
+
command: 'grants';
|
|
147
|
+
action: 'list' | 'revoke';
|
|
148
|
+
agentId: string;
|
|
149
|
+
/** revoke: exactly one of the three names what goes. */
|
|
150
|
+
tool?: string;
|
|
151
|
+
/** The scope as `stratus grants` lists it — `git push`. */
|
|
152
|
+
scope?: string;
|
|
153
|
+
origin?: string;
|
|
154
|
+
format: 'text' | 'json';
|
|
155
|
+
gateway?: string;
|
|
156
|
+
token?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface ParsedMemoryCommand {
|
|
159
|
+
command: 'memory';
|
|
160
|
+
action: 'list' | 'reassert';
|
|
161
|
+
agentId: string;
|
|
162
|
+
/** list: show only entries at this label. reassert: the label to record. */
|
|
163
|
+
trust?: TrustLevel;
|
|
164
|
+
/** reassert: the entries to re-label, by id. */
|
|
165
|
+
ids: string[];
|
|
166
|
+
/** reassert: every live entry currently reading `unknown` — the upgrade case. */
|
|
167
|
+
allUnknown: boolean;
|
|
168
|
+
format: 'text' | 'json';
|
|
169
|
+
}
|
|
170
|
+
export interface ParsedSessionCommand {
|
|
171
|
+
command: 'session';
|
|
172
|
+
action: 'rollover';
|
|
173
|
+
sessionId: string;
|
|
174
|
+
gateway?: string;
|
|
175
|
+
token?: string;
|
|
176
|
+
}
|
|
177
|
+
export interface ParsedDoctorCommand {
|
|
178
|
+
command: 'doctor';
|
|
179
|
+
format: 'text' | 'json';
|
|
180
|
+
configPath?: string;
|
|
181
|
+
}
|
|
182
|
+
export interface ParsedUpdateCommand {
|
|
183
|
+
command: 'update';
|
|
184
|
+
/** Report what an update would do — version, migrations, unit health — without doing any of it. */
|
|
185
|
+
check: boolean;
|
|
186
|
+
}
|
|
187
|
+
export interface ParsedServiceCommand {
|
|
188
|
+
command: 'service';
|
|
189
|
+
action: 'install' | 'uninstall' | 'status' | 'start' | 'stop';
|
|
190
|
+
/** install only: start automatically at login. Defaults to true. */
|
|
191
|
+
runAtLogin?: boolean;
|
|
192
|
+
/** install only: the config the managed daemon should load. */
|
|
193
|
+
configPath?: string;
|
|
194
|
+
}
|
|
195
|
+
export interface ParsedLogsCommand {
|
|
196
|
+
command: 'logs';
|
|
197
|
+
/** Keep streaming new records instead of exiting after the backlog. */
|
|
198
|
+
follow: boolean;
|
|
199
|
+
/** How many recent records to show before following. */
|
|
200
|
+
limit: number;
|
|
201
|
+
agentId?: string;
|
|
202
|
+
sessionId?: string;
|
|
203
|
+
format: 'text' | 'json';
|
|
204
|
+
}
|
|
205
|
+
export type ServeApprovalMode = 'headless' | 'remote';
|
|
206
|
+
export interface ParsedServeCommand {
|
|
207
|
+
command: 'serve';
|
|
208
|
+
configPath?: string;
|
|
209
|
+
/** Overrides `approvals.mode` in the config file. */
|
|
210
|
+
approvals?: ServeApprovalMode;
|
|
211
|
+
/** Watchdog idle timeout in milliseconds. 0 disables. */
|
|
212
|
+
idleTimeoutMs?: number;
|
|
213
|
+
events: boolean;
|
|
214
|
+
/** Write the structured log to ~/.stratus/logs. Defaults to true. */
|
|
215
|
+
logToFile?: boolean;
|
|
216
|
+
/** Serve the control API. Defaults to true when the package is installed. */
|
|
217
|
+
api?: boolean;
|
|
218
|
+
/** Overrides `api.port` in the config file. */
|
|
219
|
+
apiPort?: number;
|
|
220
|
+
/** Overrides `api.host` in the config file. */
|
|
221
|
+
apiHost?: string;
|
|
222
|
+
}
|
|
223
|
+
export interface ParsedHelpCommand {
|
|
224
|
+
command: 'help';
|
|
225
|
+
}
|
|
226
|
+
export interface ParsedVersionCommand {
|
|
227
|
+
command: 'version';
|
|
228
|
+
}
|
|
229
|
+
export type ParsedCommand = ParsedRunCommand | ParsedChatCommand | ParsedDashboardCommand | ParsedSetupCommand | ParsedAgentNewCommand | ParsedAgentsCommand | ParsedSkillAddCommand | ParsedTemplateAddCommand | ParsedSkillValidateCommand | ParsedPluginsCommand | ParsedSkillsCommand | ParsedSkillReloadCommand | ParsedCredentialCommand | ParsedRestartCommand | ParsedSchedulesCommand | ParsedGrantsCommand | ParsedMemoryCommand | ParsedSessionCommand | ParsedDoctorCommand | ParsedLogsCommand | ParsedUpdateCommand | ParsedServiceCommand | ParsedServeCommand | ParsedHelpCommand | ParsedVersionCommand;
|
|
230
|
+
export declare const parseCommand: (argv: string[], env?: CliEnvironment) => ParsedCommand;
|
|
231
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAAoC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,CAAC;IACnB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,iFAAiF;IACjF,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,QAAQ,CAAC;IAClB,mGAAmG;IACnG,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9D,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,iBAAiB,GACjB,sBAAsB,GACtB,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,GAC1B,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,GACvB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,CAAC;AAYzB,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,EAAE,MAAK,cAAmB,KAAG,aAgmCvE,CAAC"}
|