@nocobase/app-cli-client 0.1.0-beta.12 → 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 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 with `skills/nb-studio-cli/SKILL.md` 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. Claude's destination is `<CLAUDE_CONFIG_DIR or ~/.claude>/skills/nb-studio-cli`; Codex's destination is `~/.agents/skills/nb-studio-cli` 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.
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 `nb-studio-cli` is managed; install does not create legacy copies. Successful installations are recorded in `<CLI state directory>/skills.json`. 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. 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.
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
- /** Only packages shipping this Skill expose the two commands. */
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 nb-studio-cli and registers successful installations for self-update. */
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
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 one Studio Skill shipped by a branded CLI. No session, credential, or network is read.
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, existsSync } from 'node:fs';
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
- function sourceOf(environment) {
17
- return path.resolve(environment.packageRoot, 'skills', SKILL);
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 this Skill expose the two commands. */
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
- existsSync(path.join(config.selfUpdate.packageRoot, 'skills', SKILL, 'SKILL.md')));
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
- defaults: [
44
- { tool: 'claude', path: path.join(configs.claude, 'skills', SKILL) },
45
- { tool: 'codex', path: path.resolve(home, '.agents', 'skills', SKILL) },
46
- ],
47
- legacy: { tool: 'codex', path: path.join(configs.codex, 'skills', SKILL) },
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('The packaged nb-studio-cli Skill has no SKILL.md.');
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 { skill: SKILL, targets: [] };
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
- typeof data !== 'object' ||
161
- data.skill !== SKILL ||
162
- !Array.isArray(data.targets) ||
163
- data.targets.some((target) => !target ||
164
- !TOOLS.includes(target.tool) ||
165
- typeof target.path !== 'string' ||
166
- !path.isAbsolute(target.path) ||
167
- path.basename(target.path) !== SKILL ||
168
- path.basename(path.dirname(target.path)) !== 'skills' ||
169
- typeof target.cliVersion !== 'string' ||
170
- typeof target.hash !== 'string'))
171
- throw new CliCommandError('SKILLS_INVALID_REGISTRY', `Invalid Skill installation record: ${file}`, { exit: EXIT_CODES.validation });
172
- return data;
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 !== locations(environment).defaults[1].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: present && (await snapshot(target.path)).hash === source.hash,
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 source = await bundled(environment);
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
- skill: SKILL,
304
+ ...shippedSummary(sources),
237
305
  cliVersion: environment.cliVersion,
238
- hash: source.hash,
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
- skill: SKILL,
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, SKILL);
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 nb-studio-cli and registers successful installations for self-update. */
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 source = await bundled(environment);
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
- skill: SKILL,
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, source, registry);
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, source, registry));
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, source, registry);
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 { defaults, legacy } = locations(environment);
492
- for (const target of unique([...defaults, legacy])) {
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 nb-studio-cli copy at ${target.path} was left unchanged.`);
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 destinations = unique(current.targets);
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 the new source inside each attempt so every registered target has a failure result if it is missing.
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 nb-studio-cli at ${target.path}: ${message}.`);
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 nb-studio-cli Skill in local agent tools.';
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 this Skill. Install it outside an agent run.', { exit: EXIT_CODES.auth });
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 nb-studio-cli copies with the packaged Skill.';
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,yJAAyJ;AACzJ,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5D,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,kIAAkI;AAClI,MAAM,KAAK,GAAG,eAAe,CAAC;AAC9B,oHAAoH;AACpH,MAAM,IAAI,GAAG,8BAA8B,CAAC;AAC5C,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAqD3C,mFAAmF;AACnF,SAAS,cAAc,CACrB,OAAuD;IAEvD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,KAAK;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;AAC5E,CAAC;AAmBD,SAAS,QAAQ,CAAC,WAA8B,EAAE,KAAa;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjE,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,CACL,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CACxD,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,CAChB,WAA8B,EAC9B,SAA4B,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC;IAOlE,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,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC/C,CAAC;IACF,OAAO;QACL,OAAO;QACP,KAAK;QACL,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnB,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;SACpC,CAAC,CAAC,CACJ;QACD,gGAAgG;QAChG,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC;gBACE;oBACE,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;iBAChD;aACF;YACH,CAAC,CAAC,EAAE;KACP,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,CACpB,WAA8B,EAC9B,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,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,gBAAgB,KAAK,yBAAyB,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC;AAID,KAAK,UAAU,UAAU,CAAC,WAA8B;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC7E,OAAO,IAAI,GAAG,CACZ,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAU,CAClE,CACF,CACF,CAAC;AACJ,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,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzE,MAAM,OAAO,GAAG,GAAoB,EAAE,CACpC,IAAI,eAAe,CACjB,yBAAyB,EACzB,sCAAsC,IAAI,EAAE,EAC5C,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAChC,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAI5C,CAAC;IACT,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3E,MAAM,OAAO,EAAE,CAAC;IAClB,sFAAsF;IACtF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,OAAO,EAAE,CAAC;IACxE,MAAM,OAAO,GAAI,IAAI,CAAC,OAAsC,CAAC,GAAG,CAC9D,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK;KACtC,CAAC,CACkB,CAAC;IACvB,IACE,OAAO,CAAC,IAAI,CACV,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM;QACP,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ;QACrD,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAClC;QAED,MAAM,OAAO,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AACjC,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,MAA4B,EAC5B,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;gBACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QAC/D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,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,EACN,MAAM,KAAK,SAAS;gBACpB,OAAO;gBACP,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;SACrD,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,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,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,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC1E,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACpE,CAAC;IACF,OAAO;QACL,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CACnE,CACF;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,GAAoB;YAC9B,GAAG,MAAM;YACT,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,MAAM,IAAI,GAAa;YACrB,OAAO,EAAE,CAAC;YACV,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,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,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,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAA8B,EAC9B,QAA2B,EAAE,EAC7B,MAAM,GAAG,KAAK;IAEd,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,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,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,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,CAC3B,MAAM,EACN,WAAW,EACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EACzB,QAAQ,CACT,CAAC;gBACF,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;;gBACC,OAAO,CAAC,IAAI,CACV,MAAM,OAAO,CACX,MAAM,EACN,WAAW,EACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAE,EAC1B,QAAQ,CACT,CACF,CAAC;QACN,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,CACb,MAAM,EACN,WAAW,EACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAE,EAC1B,QAAQ,CACT,CAAC;QACJ,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,EAAE,KAAK,CAAC,CAAC;QACjD,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,EAAE,KAAK,CAAC,GAAG;YAC7E,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;AAID,kHAAkH;AAClH,uHAAuH;AACvH,KAAK,UAAU,MAAM,CACnB,MAAuB,EACvB,WAA8B;IAE9B,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1E,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;QAC5C,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAElD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO,MAAM,CAAC,KAAK,4CAA4C,MAAM,CAAC,IAAI,oEAAoE;SACxJ,CAAC;IACJ,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,8GAA8G;AAC9G,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAA8B;IAE9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,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,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;YACtD,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,mBAAmB,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,IAAI,sBAAsB,CAC7E,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,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAC/B,CAAC;gBACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAC5C,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBAChD,wGAAwG;gBACxG,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,EAAE,MAAM,CAAC,KAAK,CAAC,EACxC,OAAO,CACR,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,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,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,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,oBAAoB,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,CAClE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB,CAAC,CAAC;wBACH,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;4BAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpE,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,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,QAAQ;4BAChB,KAAK,EAAE,OAAO;yBACf,CAAC,CAAC;wBACH,QAAQ,CAAC,IAAI,CACX,gCAAgC,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,CACpF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,iEAAiE;gBACjE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC/C,MAAM,aAAa,CAAC,WAAW,EAAE;oBAC/B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CACpE;iBACF,CAAC,CAAC;YACL,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,iEAAiE,CAAC;QACpE,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,4EAA4E,EAC5E,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,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAChG,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,8DAA8D,CAAC;QACjE,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,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,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,CAC5Q,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;;IAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/app-cli-client",
3
- "version": "0.1.0-beta.12",
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.11",
42
+ "@nocobase/agent-protocol": "0.1.0-beta.12",
43
43
  "@nocobase/cli-envelope": "^0.1.0-beta.1"
44
44
  },
45
45
  "devDependencies": {