@nocobase/app-cli-client 0.1.0-beta.11 → 0.1.0-beta.13
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 +2 -2
- package/dist/skills.d.ts +17 -4
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +181 -60
- package/dist/skills.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,9 +6,9 @@ A command line for a NocoBase application, branded by the application: it signs
|
|
|
6
6
|
|
|
7
7
|
Business commands render lists as tables and object responses as named fields. HTTP(S) URLs remain complete for copying. Ordinary text and structured fields retain their compact display. Use `--json` for complete nested results, including Projects invitation links, and for scripts instead of parsing the text layout.
|
|
8
8
|
|
|
9
|
-
A branded package
|
|
9
|
+
A branded package whose `skills/<slug>/` directories hold a `SKILL.md` (the build copies each directory named by `nocobase.cli.skills` there) also exposes `skills install` and `skills status`. These local commands require neither a login nor a network connection. Install selects detected Claude Code and Codex tools by default, or takes repeated `--tool claude|codex|all`; `--dry-run` computes actions without writing. Every shipped Skill is installed, discovered from the package at run time and sorted by slug (names with a path separator or a leading dot are ignored). Claude's destination is `<CLAUDE_CONFIG_DIR or ~/.claude>/skills/<slug>`; Codex's destination is `~/.agents/skills/<slug>` regardless of `CODEX_HOME`, following the [official user Skill directory](https://learn.chatgpt.com/docs/build-skills#where-codex-loads-local-skills). Tool detection uses each tool's configuration variable or directory, or its executable on PATH; the shared `.agents/skills` directory alone does not detect Codex. No detected tool yields `SKILLS_NO_TOOL` with explicit installation suggestions.
|
|
10
10
|
|
|
11
|
-
Status compares sorted relative paths and file contents using SHA-256 and reports manual copies, legacy Codex copies in `<CODEX_HOME or ~/.codex>/skills/nb-studio-cli`, and previously registered paths. Only
|
|
11
|
+
Status compares sorted relative paths and file contents using SHA-256 and reports manual copies, legacy Codex copies in `<CODEX_HOME or ~/.codex>/skills/nb-studio-cli`, and previously registered paths. Only the shipped Skills are managed and neighbouring Skills are never touched; install does not create legacy copies, and only `nb-studio-cli` has a legacy Codex location. Successful installations are recorded per Skill in `<CLI state directory>/skills.json` (`{ version: 2, targets: [{ skill, tool, path, cliVersion, hash }] }`); the original single-Skill file is still read and rewritten in this shape. The result lists `skills` (slug and hash) and each target carries its `skill`. Self-update uses the newly installed package (tarball root or npm package root) to synchronize recorded destinations. Skill failures leave the CLI upgrade successful and appear in the update envelope's `warnings` and `result.skills`; manual copies prompt an installation reminder. A Skill the new package no longer ships is retired: a registered copy whose content still matches what was installed is removed, an edited copy is kept with a warning, and its record is dropped either way; unregistered copies are never deleted. External upgrades, including npm global installation, require running `skills install` again. Install refuses agent run contexts, while status remains available. See Studio's [static command reference](../../apps/studio/docs/cli/static-commands.md) for the result schema and filesystem constraints.
|
|
12
12
|
|
|
13
13
|
```ts
|
|
14
14
|
import { runAppCli } from '@nocobase/app-cli-client';
|
package/dist/skills.d.ts
CHANGED
|
@@ -11,11 +11,14 @@ export interface SkillsEnvironment {
|
|
|
11
11
|
readonly env?: NodeJS.ProcessEnv;
|
|
12
12
|
}
|
|
13
13
|
interface Target {
|
|
14
|
+
skill: string;
|
|
14
15
|
tool: Tool;
|
|
15
16
|
path: string;
|
|
16
17
|
}
|
|
17
18
|
export interface SkillStatus extends Target {
|
|
18
19
|
readonly legacy: boolean;
|
|
20
|
+
/** The registry records this copy but the package no longer ships its Skill. */
|
|
21
|
+
readonly dropped?: boolean;
|
|
19
22
|
readonly registered: boolean;
|
|
20
23
|
readonly present: boolean;
|
|
21
24
|
readonly upToDate: boolean;
|
|
@@ -23,9 +26,17 @@ export interface SkillStatus extends Target {
|
|
|
23
26
|
readonly error?: string;
|
|
24
27
|
}
|
|
25
28
|
export interface SkillsResult {
|
|
29
|
+
readonly skills: readonly {
|
|
30
|
+
readonly skill: string;
|
|
31
|
+
readonly hash: string;
|
|
32
|
+
}[];
|
|
33
|
+
/**
|
|
34
|
+
* The first shipped Skill's slug and hash, as the single-Skill result named them (`nb-studio-cli` when it is shipped);
|
|
35
|
+
* kept so readers of the earlier result keep working. `skills` lists every one.
|
|
36
|
+
*/
|
|
26
37
|
readonly skill: string;
|
|
27
|
-
readonly cliVersion: string;
|
|
28
38
|
readonly hash: string;
|
|
39
|
+
readonly cliVersion: string;
|
|
29
40
|
readonly targets: readonly SkillStatus[];
|
|
30
41
|
}
|
|
31
42
|
export interface SkillInstall extends SkillStatus {
|
|
@@ -37,17 +48,19 @@ export interface SkillsInstallResult extends SkillsResult {
|
|
|
37
48
|
}
|
|
38
49
|
export interface SkillsSyncResult {
|
|
39
50
|
readonly targets: readonly (Target & {
|
|
40
|
-
action: 'updated' | 'unchanged' | 'failed';
|
|
51
|
+
action: 'updated' | 'unchanged' | 'removed' | 'kept' | 'failed';
|
|
41
52
|
error?: string;
|
|
42
53
|
})[];
|
|
43
54
|
readonly warnings: readonly string[];
|
|
44
55
|
}
|
|
45
|
-
/**
|
|
56
|
+
/** The Skills a package ships: directories of `<packageRoot>/skills` holding SKILL.md, sorted by slug. */
|
|
57
|
+
export declare function shippedSkills(packageRoot: string): string[];
|
|
58
|
+
/** Only packages shipping at least one Skill expose the two commands. */
|
|
46
59
|
export declare function hasStudioSkill(config: AppCliConfig): boolean;
|
|
47
60
|
export declare function skillsEnvironment(config: AppCliConfig): SkillsEnvironment;
|
|
48
61
|
/** Includes manual and legacy copies, and previously registered paths after environment variables change. */
|
|
49
62
|
export declare function skillsStatus(environment: SkillsEnvironment, tools?: readonly string[]): Promise<SkillsResult>;
|
|
50
|
-
/** Replaces only
|
|
63
|
+
/** Replaces only the Skills the package ships and registers successful installations for self-update. */
|
|
51
64
|
export declare function installSkills(environment: SkillsEnvironment, tools?: readonly string[], dryRun?: boolean): Promise<SkillsInstallResult>;
|
|
52
65
|
/** Preserve native Skill installation for the tools with a managed destination. */
|
|
53
66
|
export declare function prepareSessionSkill(environment: SkillsEnvironment, agentId: string): Promise<void>;
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// Local installation of the
|
|
1
|
+
// Local installation of the Skills shipped by a branded CLI (every `skills/<slug>/SKILL.md` in its package). No session, credential, or network is read.
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
|
-
import { constants,
|
|
3
|
+
import { constants, lstatSync, readdirSync } from 'node:fs';
|
|
4
4
|
import { access, lstat, stat as followStat, mkdir, mkdtemp, open, readFile, readdir, rename, rm, writeFile, } from 'node:fs/promises';
|
|
5
5
|
import os from 'node:os';
|
|
6
6
|
import path from 'node:path';
|
|
@@ -11,15 +11,49 @@ import { AppCommand } from "./lib/command.js";
|
|
|
11
11
|
import { findRunCredentials } from "./lib/credentials.js";
|
|
12
12
|
import { CliCommandError } from "./lib/envelope.js";
|
|
13
13
|
import { withSkillLock } from "./skills-lock.js";
|
|
14
|
+
// The Skill every Studio CLI has shipped since the commands existed. It alone has a legacy Codex location and feeds ACP sessions.
|
|
14
15
|
const SKILL = 'nb-studio-cli';
|
|
16
|
+
// A slug names a directory below a tool's skills root, so it may not hold a separator and may not start with a dot.
|
|
17
|
+
const SLUG = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
15
18
|
const TOOLS = ['claude', 'codex'];
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
/** `skills`, and the earlier result's `skill` and `hash` for the primary Skill. */
|
|
20
|
+
function shippedSummary(sources) {
|
|
21
|
+
const skills = [...sources].map(([skill, source]) => ({
|
|
22
|
+
skill,
|
|
23
|
+
hash: source.hash,
|
|
24
|
+
}));
|
|
25
|
+
const primary = skills.find(({ skill }) => skill === 'nb-studio-cli') ?? skills[0];
|
|
26
|
+
return { skills, skill: primary?.skill ?? '', hash: primary?.hash ?? '' };
|
|
27
|
+
}
|
|
28
|
+
function sourceOf(environment, skill) {
|
|
29
|
+
return path.resolve(environment.packageRoot, 'skills', skill);
|
|
30
|
+
}
|
|
31
|
+
/** The Skills a package ships: directories of `<packageRoot>/skills` holding SKILL.md, sorted by slug. */
|
|
32
|
+
export function shippedSkills(packageRoot) {
|
|
33
|
+
const root = path.join(packageRoot, 'skills');
|
|
34
|
+
try {
|
|
35
|
+
return readdirSync(root, { withFileTypes: true })
|
|
36
|
+
.filter((entry) => {
|
|
37
|
+
if (!entry.isDirectory() || !SLUG.test(entry.name))
|
|
38
|
+
return false;
|
|
39
|
+
try {
|
|
40
|
+
return lstatSync(path.join(root, entry.name, 'SKILL.md')).isFile();
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
.map((entry) => entry.name)
|
|
47
|
+
.sort();
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
18
52
|
}
|
|
19
|
-
/** Only packages shipping
|
|
53
|
+
/** Only packages shipping at least one Skill expose the two commands. */
|
|
20
54
|
export function hasStudioSkill(config) {
|
|
21
55
|
return (config.selfUpdate !== undefined &&
|
|
22
|
-
|
|
56
|
+
shippedSkills(config.selfUpdate.packageRoot).length > 0);
|
|
23
57
|
}
|
|
24
58
|
export function skillsEnvironment(config) {
|
|
25
59
|
if (config.selfUpdate === undefined)
|
|
@@ -31,20 +65,35 @@ export function skillsEnvironment(config) {
|
|
|
31
65
|
stateHome: appCliHome(config),
|
|
32
66
|
};
|
|
33
67
|
}
|
|
34
|
-
function locations(environment) {
|
|
68
|
+
function locations(environment, skills = shippedSkills(environment.packageRoot)) {
|
|
35
69
|
const home = environment.home ?? os.homedir();
|
|
36
70
|
const env = environment.env ?? process.env;
|
|
37
71
|
const configs = {
|
|
38
72
|
claude: path.resolve(env.CLAUDE_CONFIG_DIR || path.join(home, '.claude')),
|
|
39
73
|
codex: path.resolve(env.CODEX_HOME || path.join(home, '.codex')),
|
|
40
74
|
};
|
|
75
|
+
const roots = {
|
|
76
|
+
claude: path.join(configs.claude, 'skills'),
|
|
77
|
+
codex: path.resolve(home, '.agents', 'skills'),
|
|
78
|
+
};
|
|
41
79
|
return {
|
|
42
80
|
configs,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
81
|
+
roots,
|
|
82
|
+
defaults: skills.flatMap((skill) => TOOLS.map((tool) => ({
|
|
83
|
+
skill,
|
|
84
|
+
tool,
|
|
85
|
+
path: path.join(roots[tool], skill),
|
|
86
|
+
}))),
|
|
87
|
+
// Only nb-studio-cli was ever installed below CODEX_HOME; newer Skills have no legacy location.
|
|
88
|
+
legacy: skills.includes(SKILL)
|
|
89
|
+
? [
|
|
90
|
+
{
|
|
91
|
+
skill: SKILL,
|
|
92
|
+
tool: 'codex',
|
|
93
|
+
path: path.join(configs.codex, 'skills', SKILL),
|
|
94
|
+
},
|
|
95
|
+
]
|
|
96
|
+
: [],
|
|
48
97
|
};
|
|
49
98
|
}
|
|
50
99
|
async function detected(tool, environment) {
|
|
@@ -141,12 +190,18 @@ async function snapshot(root) {
|
|
|
141
190
|
.digest('hex');
|
|
142
191
|
return { entries, hash };
|
|
143
192
|
}
|
|
144
|
-
async function bundled(environment) {
|
|
145
|
-
const result = await snapshot(sourceOf(environment));
|
|
193
|
+
async function bundled(environment, skill) {
|
|
194
|
+
const result = await snapshot(sourceOf(environment, skill));
|
|
146
195
|
if (!result.entries.some((entry) => entry.name === 'SKILL.md' && entry.bytes !== undefined))
|
|
147
|
-
throw new Error(
|
|
196
|
+
throw new Error(`The packaged ${skill} Skill has no SKILL.md.`);
|
|
148
197
|
return result;
|
|
149
198
|
}
|
|
199
|
+
async function bundledAll(environment) {
|
|
200
|
+
const slugs = shippedSkills(environment.packageRoot);
|
|
201
|
+
if (slugs.length === 0)
|
|
202
|
+
throw new Error('This CLI package ships no Skills.');
|
|
203
|
+
return new Map(await Promise.all(slugs.map(async (slug) => [slug, await bundled(environment, slug)])));
|
|
204
|
+
}
|
|
150
205
|
function registryFile(environment) {
|
|
151
206
|
return path.resolve(environment.stateHome, 'skills.json');
|
|
152
207
|
}
|
|
@@ -154,22 +209,31 @@ async function readRegistry(environment) {
|
|
|
154
209
|
const file = registryFile(environment);
|
|
155
210
|
await safePath(file, false);
|
|
156
211
|
if ((await stat(file)) === undefined)
|
|
157
|
-
return {
|
|
212
|
+
return { version: 2, targets: [] };
|
|
213
|
+
const invalid = () => new CliCommandError('SKILLS_INVALID_REGISTRY', `Invalid Skill installation record: ${file}`, { exit: EXIT_CODES.validation });
|
|
158
214
|
const data = JSON.parse(await readFile(file, 'utf8'));
|
|
159
|
-
if (data === null ||
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
215
|
+
if (data === null || typeof data !== 'object' || !Array.isArray(data.targets))
|
|
216
|
+
throw invalid();
|
|
217
|
+
// The original file has no version and one top-level `skill`; its targets inherit it.
|
|
218
|
+
const legacy = data.version === undefined;
|
|
219
|
+
if (legacy ? data.skill !== SKILL : data.version !== 2)
|
|
220
|
+
throw invalid();
|
|
221
|
+
const targets = data.targets.map((target) => ({
|
|
222
|
+
...target,
|
|
223
|
+
skill: legacy ? SKILL : target?.skill,
|
|
224
|
+
}));
|
|
225
|
+
if (targets.some((target) => !target ||
|
|
226
|
+
typeof target.skill !== 'string' ||
|
|
227
|
+
!SLUG.test(target.skill) ||
|
|
228
|
+
!TOOLS.includes(target.tool) ||
|
|
229
|
+
typeof target.path !== 'string' ||
|
|
230
|
+
!path.isAbsolute(target.path) ||
|
|
231
|
+
path.basename(target.path) !== target.skill ||
|
|
232
|
+
path.basename(path.dirname(target.path)) !== 'skills' ||
|
|
233
|
+
typeof target.cliVersion !== 'string' ||
|
|
234
|
+
typeof target.hash !== 'string'))
|
|
235
|
+
throw invalid();
|
|
236
|
+
return { version: 2, targets };
|
|
173
237
|
}
|
|
174
238
|
async function writeRegistry(environment, registry) {
|
|
175
239
|
const file = registryFile(environment);
|
|
@@ -195,7 +259,9 @@ async function statusOf(target, environment, source, registry) {
|
|
|
195
259
|
const base = {
|
|
196
260
|
...target,
|
|
197
261
|
legacy: target.tool === 'codex' &&
|
|
198
|
-
target.path !==
|
|
262
|
+
target.path !==
|
|
263
|
+
path.join(locations(environment).roots.codex, target.skill),
|
|
264
|
+
...(source === undefined ? { dropped: true } : {}),
|
|
199
265
|
registered: record !== undefined,
|
|
200
266
|
...(record ? { installedCliVersion: record.cliVersion } : {}),
|
|
201
267
|
};
|
|
@@ -205,7 +271,9 @@ async function statusOf(target, environment, source, registry) {
|
|
|
205
271
|
return {
|
|
206
272
|
...base,
|
|
207
273
|
present,
|
|
208
|
-
upToDate:
|
|
274
|
+
upToDate: source !== undefined &&
|
|
275
|
+
present &&
|
|
276
|
+
(await snapshot(target.path)).hash === source.hash,
|
|
209
277
|
};
|
|
210
278
|
}
|
|
211
279
|
catch (error) {
|
|
@@ -228,15 +296,14 @@ function unique(targets) {
|
|
|
228
296
|
/** Includes manual and legacy copies, and previously registered paths after environment variables change. */
|
|
229
297
|
export async function skillsStatus(environment, tools = []) {
|
|
230
298
|
const selected = selection(tools);
|
|
231
|
-
const
|
|
299
|
+
const sources = await bundledAll(environment);
|
|
232
300
|
const registry = await readRegistry(environment);
|
|
233
301
|
const { defaults, legacy } = locations(environment);
|
|
234
|
-
const targets = unique([...defaults, legacy, ...registry.targets]).filter((target) => selected.length === 0 || selected.includes(target.tool));
|
|
302
|
+
const targets = unique([...defaults, ...legacy, ...registry.targets]).filter((target) => selected.length === 0 || selected.includes(target.tool));
|
|
235
303
|
return {
|
|
236
|
-
|
|
304
|
+
...shippedSummary(sources),
|
|
237
305
|
cliVersion: environment.cliVersion,
|
|
238
|
-
|
|
239
|
-
targets: await Promise.all(targets.map((target) => statusOf(target, environment, source, registry))),
|
|
306
|
+
targets: await Promise.all(targets.map((target) => statusOf(target, environment, sources.get(target.skill), registry))),
|
|
240
307
|
};
|
|
241
308
|
}
|
|
242
309
|
function overlaps(first, second) {
|
|
@@ -292,7 +359,7 @@ async function replace(target, environment, source, registry) {
|
|
|
292
359
|
hash: source.hash,
|
|
293
360
|
};
|
|
294
361
|
const next = {
|
|
295
|
-
|
|
362
|
+
version: 2,
|
|
296
363
|
targets: [
|
|
297
364
|
...registry.targets.filter((item) => path.resolve(item.path) !== path.resolve(target.path)),
|
|
298
365
|
record,
|
|
@@ -302,7 +369,7 @@ async function replace(target, environment, source, registry) {
|
|
|
302
369
|
await writeRegistry(environment, next);
|
|
303
370
|
else {
|
|
304
371
|
const temporary = await mkdtemp(path.join(path.dirname(target.path), '.nb-studio-cli-stage-'));
|
|
305
|
-
const staged = path.join(temporary,
|
|
372
|
+
const staged = path.join(temporary, target.skill);
|
|
306
373
|
const backup = path.join(temporary, 'previous');
|
|
307
374
|
let moved = false;
|
|
308
375
|
let activated = false;
|
|
@@ -373,9 +440,9 @@ async function reusable(target, environment, source, registry) {
|
|
|
373
440
|
return undefined;
|
|
374
441
|
return { ...status, action: 'unchanged' };
|
|
375
442
|
}
|
|
376
|
-
/** Replaces only
|
|
443
|
+
/** Replaces only the Skills the package ships and registers successful installations for self-update. */
|
|
377
444
|
export async function installSkills(environment, tools = [], dryRun = false) {
|
|
378
|
-
const
|
|
445
|
+
const sources = await bundledAll(environment);
|
|
379
446
|
let selected = selection(tools);
|
|
380
447
|
if (selected.length === 0)
|
|
381
448
|
selected = (await Promise.all(TOOLS.map(async (tool) => (await detected(tool, environment)) ? tool : undefined))).filter((tool) => tool !== undefined);
|
|
@@ -392,9 +459,8 @@ export async function installSkills(environment, tools = [], dryRun = false) {
|
|
|
392
459
|
});
|
|
393
460
|
const targets = unique(locations(environment).defaults.filter((target) => selected.includes(target.tool)));
|
|
394
461
|
const result = (targets) => ({
|
|
395
|
-
|
|
462
|
+
...shippedSummary(sources),
|
|
396
463
|
cliVersion: environment.cliVersion,
|
|
397
|
-
hash: source.hash,
|
|
398
464
|
dryRun,
|
|
399
465
|
targets,
|
|
400
466
|
});
|
|
@@ -411,7 +477,7 @@ export async function installSkills(environment, tools = [], dryRun = false) {
|
|
|
411
477
|
overlaps(target.path, environment.stateHome))
|
|
412
478
|
throw new CliCommandError('SKILLS_UNSAFE_PATH', `The Skill destination overlaps its package or CLI state: ${target.path}`, { exit: EXIT_CODES.validation });
|
|
413
479
|
if (dryRun) {
|
|
414
|
-
const status = await statusOf(target, environment,
|
|
480
|
+
const status = await statusOf(target, environment, sources.get(target.skill), registry);
|
|
415
481
|
if (status.error)
|
|
416
482
|
throw new CliCommandError('SKILLS_UNSAFE_PATH', status.error, {
|
|
417
483
|
exit: EXIT_CODES.validation,
|
|
@@ -426,7 +492,7 @@ export async function installSkills(environment, tools = [], dryRun = false) {
|
|
|
426
492
|
});
|
|
427
493
|
}
|
|
428
494
|
else
|
|
429
|
-
results.push(await replace(target, environment,
|
|
495
|
+
results.push(await replace(target, environment, sources.get(target.skill), registry));
|
|
430
496
|
}
|
|
431
497
|
return result(results);
|
|
432
498
|
};
|
|
@@ -441,7 +507,7 @@ export async function installSkills(environment, tools = [], dryRun = false) {
|
|
|
441
507
|
if (overlaps(target.path, environment.packageRoot) ||
|
|
442
508
|
overlaps(target.path, environment.stateHome))
|
|
443
509
|
return undefined;
|
|
444
|
-
return reusable(target, environment,
|
|
510
|
+
return reusable(target, environment, sources.get(target.skill), registry);
|
|
445
511
|
}));
|
|
446
512
|
if (ready.every((target) => target !== undefined))
|
|
447
513
|
return result(ready);
|
|
@@ -460,7 +526,7 @@ export async function sessionSkillInstructions(environment, agentId) {
|
|
|
460
526
|
if (TOOLS.some((tool) => tool === agentId))
|
|
461
527
|
return undefined;
|
|
462
528
|
try {
|
|
463
|
-
const source = await bundled(environment);
|
|
529
|
+
const source = await bundled(environment, SKILL);
|
|
464
530
|
const skill = source.entries.find((entry) => entry.name === 'SKILL.md');
|
|
465
531
|
const text = skill.bytes.toString('utf8');
|
|
466
532
|
if (!text.trim())
|
|
@@ -468,7 +534,7 @@ export async function sessionSkillInstructions(environment, agentId) {
|
|
|
468
534
|
return [
|
|
469
535
|
'# Studio session instructions',
|
|
470
536
|
'The shared nb-studio-cli Skill is supplied below for this session. Follow it directly; no Skill installation is needed.',
|
|
471
|
-
`Resolve any relative Skill references from ${sourceOf(environment)}.`,
|
|
537
|
+
`Resolve any relative Skill references from ${sourceOf(environment, SKILL)}.`,
|
|
472
538
|
'Keep the bridge-selected profile and agent session environment. Do not switch identity or remove session context to bypass a refusal.',
|
|
473
539
|
text,
|
|
474
540
|
'# Current message',
|
|
@@ -478,6 +544,22 @@ export async function sessionSkillInstructions(environment, agentId) {
|
|
|
478
544
|
throw new Error(`Could not load the packaged nb-studio-cli instructions. Update or reinstall ${environment.bin}, then restart the bridge and resend the message.`, { cause });
|
|
479
545
|
}
|
|
480
546
|
}
|
|
547
|
+
// A Skill the new package no longer ships. Only a copy we registered whose content still matches what we wrote is
|
|
548
|
+
// removed; an edited copy is kept with a warning, and either way the record is dropped so the warning is not repeated.
|
|
549
|
+
async function retire(record, environment) {
|
|
550
|
+
await safePath(record.path);
|
|
551
|
+
if ((await stat(record.path)) === undefined)
|
|
552
|
+
return { action: 'removed' };
|
|
553
|
+
if (overlaps(record.path, environment.packageRoot) ||
|
|
554
|
+
overlaps(record.path, environment.stateHome) ||
|
|
555
|
+
(await snapshot(record.path)).hash !== record.hash)
|
|
556
|
+
return {
|
|
557
|
+
action: 'kept',
|
|
558
|
+
message: `The ${record.skill} Skill is no longer shipped; its copy at ${record.path} was changed or cannot be removed safely, so it was left in place.`,
|
|
559
|
+
};
|
|
560
|
+
await rm(record.path, { recursive: true });
|
|
561
|
+
return { action: 'removed' };
|
|
562
|
+
}
|
|
481
563
|
/** Called after CLI activation, reading the new package. Failures are warnings, never CLI update failures. */
|
|
482
564
|
export async function syncInstalledSkills(environment) {
|
|
483
565
|
const warnings = [];
|
|
@@ -488,12 +570,13 @@ export async function syncInstalledSkills(environment) {
|
|
|
488
570
|
try {
|
|
489
571
|
// Do not create state or tool directories on machines that never installed this Skill.
|
|
490
572
|
const registry = await readRegistry(environment);
|
|
491
|
-
const
|
|
492
|
-
|
|
573
|
+
const shipped = shippedSkills(environment.packageRoot);
|
|
574
|
+
const { defaults, legacy } = locations(environment, shipped);
|
|
575
|
+
for (const target of unique([...defaults, ...legacy])) {
|
|
493
576
|
try {
|
|
494
577
|
if ((await stat(target.path)) !== undefined &&
|
|
495
578
|
!registry.targets.some((record) => path.resolve(record.path) === path.resolve(target.path)))
|
|
496
|
-
advise(`An unregistered
|
|
579
|
+
advise(`An unregistered ${target.skill} copy at ${target.path} was left unchanged.`);
|
|
497
580
|
}
|
|
498
581
|
catch (error) {
|
|
499
582
|
advise(`Could not inspect the Skill location ${target.path}: ${error instanceof Error ? error.message : String(error)}.`);
|
|
@@ -502,16 +585,19 @@ export async function syncInstalledSkills(environment) {
|
|
|
502
585
|
if (registry.targets.length > 0)
|
|
503
586
|
await lock(path.join(environment.stateHome, '.skills.lock'), async () => {
|
|
504
587
|
const current = await readRegistry(environment);
|
|
505
|
-
const
|
|
588
|
+
const kept = current.targets.filter((target) => shipped.includes(target.skill));
|
|
589
|
+
const dropped = current.targets.filter((target) => !shipped.includes(target.skill));
|
|
590
|
+
const destinations = unique(kept);
|
|
506
591
|
const conflicts = targetConflicts(destinations);
|
|
507
|
-
// Read
|
|
592
|
+
// Read each source inside its attempt so every registered target has a failure result if it is missing.
|
|
508
593
|
for (const target of destinations) {
|
|
509
594
|
try {
|
|
510
595
|
const conflict = conflicts.get(target.path);
|
|
511
596
|
if (conflict !== undefined)
|
|
512
597
|
throw conflict;
|
|
513
|
-
const result = await replace(target, environment, await bundled(environment), current);
|
|
598
|
+
const result = await replace(target, environment, await bundled(environment, target.skill), current);
|
|
514
599
|
targets.push({
|
|
600
|
+
skill: target.skill,
|
|
515
601
|
tool: target.tool,
|
|
516
602
|
path: target.path,
|
|
517
603
|
action: result.action === 'unchanged' ? 'unchanged' : 'updated',
|
|
@@ -520,14 +606,49 @@ export async function syncInstalledSkills(environment) {
|
|
|
520
606
|
catch (error) {
|
|
521
607
|
const message = error instanceof Error ? error.message : String(error);
|
|
522
608
|
targets.push({
|
|
609
|
+
skill: target.skill,
|
|
523
610
|
tool: target.tool,
|
|
524
611
|
path: target.path,
|
|
525
612
|
action: 'failed',
|
|
526
613
|
error: message,
|
|
527
614
|
});
|
|
528
|
-
advise(`Could not update
|
|
615
|
+
advise(`Could not update ${target.skill} at ${target.path}: ${message}.`);
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
if (dropped.length === 0)
|
|
619
|
+
return;
|
|
620
|
+
const retired = new Set();
|
|
621
|
+
for (const record of dropped) {
|
|
622
|
+
try {
|
|
623
|
+
const outcome = await retire(record, environment);
|
|
624
|
+
retired.add(record);
|
|
625
|
+
targets.push({
|
|
626
|
+
skill: record.skill,
|
|
627
|
+
tool: record.tool,
|
|
628
|
+
path: record.path,
|
|
629
|
+
action: outcome.action,
|
|
630
|
+
});
|
|
631
|
+
if (outcome.message !== undefined)
|
|
632
|
+
warnings.push(outcome.message);
|
|
633
|
+
}
|
|
634
|
+
catch (error) {
|
|
635
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
636
|
+
targets.push({
|
|
637
|
+
skill: record.skill,
|
|
638
|
+
tool: record.tool,
|
|
639
|
+
path: record.path,
|
|
640
|
+
action: 'failed',
|
|
641
|
+
error: message,
|
|
642
|
+
});
|
|
643
|
+
warnings.push(`Could not remove the retired ${record.skill} Skill at ${record.path}: ${message}.`);
|
|
529
644
|
}
|
|
530
645
|
}
|
|
646
|
+
// Re-read: replace() rewrote the record for each updated target.
|
|
647
|
+
const latest = await readRegistry(environment);
|
|
648
|
+
await writeRegistry(environment, {
|
|
649
|
+
version: 2,
|
|
650
|
+
targets: latest.targets.filter((target) => ![...retired].some((gone) => gone.path === target.path)),
|
|
651
|
+
});
|
|
531
652
|
});
|
|
532
653
|
}
|
|
533
654
|
catch (error) {
|
|
@@ -547,16 +668,16 @@ export function skillsCommands(app) {
|
|
|
547
668
|
toSuccessJson(result) {
|
|
548
669
|
return super.toSuccessJson({ data: result });
|
|
549
670
|
}
|
|
550
|
-
static summary = 'Install the packaged
|
|
671
|
+
static summary = 'Install the Skills packaged with this CLI in local agent tools.';
|
|
551
672
|
static supportsDryRun = true;
|
|
552
673
|
static flags = flags;
|
|
553
674
|
async run() {
|
|
554
675
|
const { flags } = await this.parse(Install);
|
|
555
676
|
if (findRunCredentials(process.cwd(), app) !== undefined)
|
|
556
|
-
throw new CliCommandError('SKILLS_RUN_FORBIDDEN', 'The runner already supplies
|
|
677
|
+
throw new CliCommandError('SKILLS_RUN_FORBIDDEN', 'The runner already supplies these Skills. Install it outside an agent run.', { exit: EXIT_CODES.auth });
|
|
557
678
|
const result = await installSkills(skillsEnvironment(app), flags.tool, this.dryRun);
|
|
558
679
|
for (const target of result.targets)
|
|
559
|
-
this.log(`${this.dryRun ? 'Would ' : ''}${target.action}: ${target.tool} ${target.path}`);
|
|
680
|
+
this.log(`${this.dryRun ? 'Would ' : ''}${target.action}: ${target.skill} ${target.tool} ${target.path}`);
|
|
560
681
|
return result;
|
|
561
682
|
}
|
|
562
683
|
}
|
|
@@ -564,13 +685,13 @@ export function skillsCommands(app) {
|
|
|
564
685
|
toSuccessJson(result) {
|
|
565
686
|
return super.toSuccessJson({ data: result });
|
|
566
687
|
}
|
|
567
|
-
static summary = 'Compare local
|
|
688
|
+
static summary = 'Compare local copies with the Skills packaged with this CLI.';
|
|
568
689
|
static flags = flags;
|
|
569
690
|
async run() {
|
|
570
691
|
const { flags } = await this.parse(Status);
|
|
571
692
|
const result = await skillsStatus(skillsEnvironment(app), flags.tool);
|
|
572
693
|
for (const target of result.targets)
|
|
573
|
-
this.log(`${target.tool} ${target.path}: ${target.error ?? (target.present ? (target.upToDate ? 'up to date' : 'outdated') : 'not installed')}${target.legacy ? ' (legacy)' : ''}${target.registered ? ' (registered)' : ''}`);
|
|
694
|
+
this.log(`${target.skill} ${target.tool} ${target.path}: ${target.error ?? (target.present ? (target.dropped ? 'no longer shipped' : target.upToDate ? 'up to date' : 'outdated') : 'not installed')}${target.legacy ? ' (legacy)' : ''}${target.registered ? ' (registered)' : ''}`);
|
|
574
695
|
return result;
|
|
575
696
|
}
|
|
576
697
|
}
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EACL,MAAM,EACN,KAAK,EACL,IAAI,IAAI,UAAU,EAClB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,EAAE,EACF,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,KAAK,GAAG,eAAe,CAAC;AAC9B,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AA4D3C,SAAS,QAAQ,CAAC,WAA8B;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,CACL,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,UAAU,CACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CACtE,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;QAC1C,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;QACvC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,WAA8B;IAK/C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACjE,CAAC;IACF,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;YACpE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;SACxE;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;KAC3E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAU,EACV,WAA8B;IAE9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;QACnE,OAAO,IAAI,CAAC;IACd,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE;oBAAE,SAAS;gBACvD,MAAM,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,sCAAsC,EACtC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;IACJ,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,qHAAqH;AACrH,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,QAAQ;SACxB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;SACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACf,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IACE,IAAI,CAAC,cAAc,EAAE;YACrB,CAAC,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAE1E,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,qDAAqD,OAAO,EAAE,EAC9D,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;IACN,CAAC;AACH,CAAC;AAWD,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,QAAgB;QAChD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5B,MAAM,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzB,2FAA2F;gBAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,KAAK,EACL,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,CACjD,CAAC;gBACF,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9D,CAAC;wBAAS,CAAC;oBACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;;gBACC,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,8DAA8D,KAAK,EAAE,EACrE,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;QACN,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CACL,IAAI,CAAC,SAAS,CACZ,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC3D,CAAC,CACH,CACF;SACA,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,WAA8B;IACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,IACE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAClE;QAED,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,WAA8B;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,WAA8B;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAa,CAAC;IAClE,IACE,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,CAAC,KAAK,KAAK,KAAK;QACpB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM;YACP,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ;YACrD,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAClC;QAED,MAAM,IAAI,eAAe,CACvB,yBAAyB,EACzB,sCAAsC,IAAI,EAAE,EAC5C,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,WAA8B,EAC9B,QAAkB;IAElB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACpD,CAAC;IACF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAChE,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI,CAAI,IAAY,EAAE,IAAsB;IACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAAc,EACd,WAA8B,EAC9B,MAAgB,EAChB,QAAkB;IAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CACpE,CAAC;IACF,MAAM,IAAI,GAAG;QACX,GAAG,MAAM;QACT,MAAM,EACJ,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,UAAU,EAAE,MAAM,KAAK,SAAS;QAChC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC;QACxD,OAAO;YACL,GAAG,IAAI;YACP,OAAO;YACP,QAAQ,EAAE,OAAO,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;SACxE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS;YACvE,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAA0B;IACxC,OAAO;QACL,GAAG,IAAI,GAAG,CACR,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,CAAC,UAAU,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAU,CAAC;QAChE,CAAC,CAAC,CACH,CAAC,MAAM,EAAE;KACX,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAA8B,EAC9B,QAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACvE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACpE,CAAC;IACF,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CACzE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC7C,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CACjD,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,CACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,SAAS,eAAe,CACtB,OAA0B;IAE1B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjD,MAAM,KAAK,GAAG,IAAI,eAAe,CAC/B,uBAAuB,EACvB,2CAA2C,KAAK,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,qEAAqE,EAC7I;gBACE,IAAI,EAAE,UAAU,CAAC,UAAU;gBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;aAC9C,CACF,CAAC;YACF,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,WAA8B,EAC9B,MAAgB,EAChB,QAAkB;IAElB,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;QAE5C,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,4DAA4D,MAAM,CAAC,IAAI,EAAE,EACzE,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;IACJ,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,IAAI,CACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,EAC3D,KAAK,IAAI,EAAE;QACT,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,KAAK;YACd,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE;gBAC5D,IAAI,EAAE,UAAU,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ;YAC5B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,MAAM,CAAC,OAAO;gBACd,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,MAAM,GAAG;YACb,GAAG,MAAM;YACT,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,MAAM,IAAI,GAAa;YACrB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE;gBACP,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAChE;gBACD,MAAM;aACP;SACF,CAAC;QACF,IAAI,MAAM,KAAK,WAAW;YAAE,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;aAC9D,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAC9D,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;wBAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;;wBAC5C,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAClC,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;gBACD,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACvC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,IAAI,SAAS;wBACX,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAClC,KAAK,GAAG,KAAK,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,eAAe,CACvB,wBAAwB,EACxB,6EAA6E,MAAM,KAAK,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EACzJ;wBACE,OAAO,EAAE;4BACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC7D,MAAM;yBACP;qBACF,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,4FAA4F;gBAC5F,IAAI,SAAS,IAAI,CAAC,KAAK;oBACrB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CACzD,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YACN,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO;YACL,GAAG,MAAM;YACT,MAAM;YACN,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,mBAAmB,EAAE,WAAW,CAAC,UAAU;SAC5C,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAAc,EACd,WAA8B,EAC9B,MAAgB,EAChB,QAAkB;IAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CACpE,CAAC;IACF,IACE,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI;QAC5B,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC3B,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU;QAE5C,OAAO,SAAS,CAAC;IACnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC5C,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAA8B,EAC9B,QAA2B,EAAE,EAC7B,MAAM,GAAG,KAAK;IAEd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,QAAQ,GAAG,CACT,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACvB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACvD,CACF,CACF,CAAC,MAAM,CAAC,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,8EAA8E,EAC9E;YACE,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,eAAe,IAAI,GAAG;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE,WAAW,CAAC,GAAG;oBACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;iBAC5C;aACF,CAAC,CAAC;SACJ,CACF,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,CACpB,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAC/B,CACF,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,OAAuB,EAAuB,EAAE,CAAC,CAAC;QAChE,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,IAAkC,EAAE;QACvD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChE,MAAM,EAAE;aACR,IAAI,EAAE,CAAC,KAAK,CAAC;QAChB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,QAAQ,CAAC;QAC3C,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;gBAE5C,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,4DAA4D,MAAM,CAAC,IAAI,EAAE,EACzE,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;YACJ,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrE,IAAI,MAAM,CAAC,KAAK;oBACd,MAAM,IAAI,eAAe,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE;wBAC5D,IAAI,EAAE,UAAU,CAAC,UAAU;qBAC5B,CAAC,CAAC;gBACL,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,MAAM;oBACT,MAAM,EAAE,MAAM,CAAC,QAAQ;wBACrB,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,MAAM,CAAC,OAAO;4BACd,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;YACL,CAAC;;gBAAM,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChE,MAAM,EAAE;aACR,IAAI,EAAE,CAAC,KAAK,CAAC;QAChB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,QAAQ,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;gBAE5C,OAAO,SAAS,CAAC;YACnB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM;QACX,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAA8B,EAC9B,OAAe;IAEf,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;QACxC,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAA8B,EAC9B,OAAe;IAEf,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAE,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE,OAAO;YACL,+BAA+B;YAC/B,yHAAyH;YACzH,8CAA8C,QAAQ,CAAC,WAAW,CAAC,GAAG;YACtE,uIAAuI;YACvI,IAAI;YACJ,mBAAmB;SACpB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+EAA+E,WAAW,CAAC,GAAG,mDAAmD,EACjJ,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8GAA8G;AAC9G,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAA8B;IAE9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAGN,EAAE,CAAC;IACV,MAAM,MAAM,GAAG,CAAC,OAAe,EAAQ,EAAE;QACvC,QAAQ,CAAC,IAAI,CACX,GAAG,OAAO,UAAU,WAAW,CAAC,GAAG,6EAA6E,CACjH,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,CAAC;QACH,uFAAuF;QACvF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,IACE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS;oBACvC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACpB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CACpE;oBAED,MAAM,CACJ,yCAAyC,MAAM,CAAC,IAAI,sBAAsB,CAC3E,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CACJ,wCAAwC,MAAM,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAClH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBAChD,4GAA4G;gBAC5G,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC5C,IAAI,QAAQ,KAAK,SAAS;4BAAE,MAAM,QAAQ,CAAC;wBAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,EACN,WAAW,EACX,MAAM,OAAO,CAAC,WAAW,CAAC,EAC1B,OAAO,CACR,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;yBAChE,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACzD,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,OAAO;yBACf,CAAC,CAAC;wBACH,MAAM,CACJ,qCAAqC,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,CAChE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CACJ,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAiB;IAEjB,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EACT,gEAAgE;YAClE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;YACnC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IACF,MAAM,OAAQ,SAAQ,UAAU;QACX,aAAa,CAAC,MAAe;YAC9C,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAU,OAAO,GACrB,gEAAgE,CAAC;QACnE,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;QACtC,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC;QAC9B,KAAK,CAAC,GAAG;YACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,SAAS;gBACtD,MAAM,IAAI,eAAe,CACvB,sBAAsB,EACtB,0EAA0E,EAC1E,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAC1B,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,iBAAiB,CAAC,GAAG,CAAC,EACtB,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;gBACjC,IAAI,CAAC,GAAG,CACN,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAChF,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;;IAEH,MAAM,MAAO,SAAQ,UAAU;QACV,aAAa,CAAC,MAAe;YAC9C,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAU,OAAO,GACrB,6DAA6D,CAAC;QAChE,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC;QAC9B,KAAK,CAAC,GAAG;YACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;gBACjC,IAAI,CAAC,GAAG,CACN,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CACrN,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;;IAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAChE,CAAC"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/app-cli-client",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.13",
|
|
4
4
|
"description": "A branded command line for a NocoBase application: signs in, and runs the business commands the application's command manifest publishes over its API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@oclif/core": "^4.14.0",
|
|
40
40
|
"zod": "^4.6.5",
|
|
41
41
|
"@nocobase/acp-bridge": "^1.0.0-beta.3",
|
|
42
|
-
"@nocobase/agent-protocol": "0.1.0-beta.
|
|
42
|
+
"@nocobase/agent-protocol": "0.1.0-beta.12",
|
|
43
43
|
"@nocobase/cli-envelope": "^0.1.0-beta.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|