@stigmer/cli 3.15.3-dev.20260914121148 → 3.15.3-dev.20260916211208

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.
Files changed (65) hide show
  1. package/README.md +3 -4
  2. package/commands/apply.d.ts.map +1 -1
  3. package/commands/apply.js +56 -4
  4. package/commands/apply.js.map +1 -1
  5. package/commands/push.d.ts.map +1 -1
  6. package/commands/push.js +122 -16
  7. package/commands/push.js.map +1 -1
  8. package/commands/validate.d.ts.map +1 -1
  9. package/commands/validate.js +39 -7
  10. package/commands/validate.js.map +1 -1
  11. package/output/command-result.d.ts +8 -0
  12. package/output/command-result.d.ts.map +1 -1
  13. package/output/command-result.js +13 -0
  14. package/output/command-result.js.map +1 -1
  15. package/package.json +6 -5
  16. package/registry/aliases.d.ts.map +1 -1
  17. package/registry/aliases.js.map +1 -1
  18. package/registry/index.d.ts +3 -3
  19. package/registry/index.d.ts.map +1 -1
  20. package/registry/index.js +3 -3
  21. package/registry/index.js.map +1 -1
  22. package/registry/metadata.d.ts.map +1 -1
  23. package/registry/metadata.js +85 -18
  24. package/registry/metadata.js.map +1 -1
  25. package/registry/registry.d.ts.map +1 -1
  26. package/registry/registry.js.map +1 -1
  27. package/registry/verb-support.d.ts.map +1 -1
  28. package/registry/verb-support.js +81 -13
  29. package/registry/verb-support.js.map +1 -1
  30. package/resources/delete.d.ts.map +1 -1
  31. package/resources/delete.js +35 -9
  32. package/resources/delete.js.map +1 -1
  33. package/resources/get-bindings.d.ts.map +1 -1
  34. package/resources/get-bindings.js +56 -13
  35. package/resources/get-bindings.js.map +1 -1
  36. package/resources/list.d.ts.map +1 -1
  37. package/resources/list.js +62 -14
  38. package/resources/list.js.map +1 -1
  39. package/resources/plugin.d.ts +80 -0
  40. package/resources/plugin.d.ts.map +1 -0
  41. package/resources/plugin.js +305 -0
  42. package/resources/plugin.js.map +1 -0
  43. package/resources/skill.d.ts +1 -0
  44. package/resources/skill.d.ts.map +1 -1
  45. package/resources/skill.js +1 -1
  46. package/resources/skill.js.map +1 -1
  47. package/src/commands/apply.ts +133 -21
  48. package/src/commands/push.ts +270 -41
  49. package/src/commands/validate.test.ts +111 -22
  50. package/src/commands/validate.ts +68 -12
  51. package/src/output/command-result.test.ts +9 -0
  52. package/src/output/command-result.ts +14 -0
  53. package/src/registry/aliases.test.ts +24 -5
  54. package/src/registry/aliases.ts +6 -1
  55. package/src/registry/index.ts +19 -3
  56. package/src/registry/metadata.ts +85 -18
  57. package/src/registry/registry.test.ts +86 -37
  58. package/src/registry/registry.ts +8 -2
  59. package/src/registry/verb-support.ts +85 -14
  60. package/src/resources/delete.ts +106 -26
  61. package/src/resources/get-bindings.ts +95 -17
  62. package/src/resources/list.ts +102 -28
  63. package/src/resources/plugin.test.ts +233 -0
  64. package/src/resources/plugin.ts +432 -0
  65. package/src/resources/skill.ts +1 -1
package/README.md CHANGED
@@ -36,7 +36,6 @@ Output is unified on `-o/--output {table,json,yaml,ndjson}`; `--json`/`--quiet`
36
36
  are back-compat aliases that resolve per command class. Structured command output
37
37
  goes to stdout; human status, hints, and errors go to stderr.
38
38
 
39
- Code follows the Stigmer CLI engineering standards
40
- (`.cursor/rules/client-apps/cli/coding-guidelines.mdc`) and the agent commenting
41
- standard: single-responsibility files, thin command handlers, and comments that
42
- explain *why*.
39
+ The binding laws for this package are in [`../AGENTS.md`](../AGENTS.md) (the
40
+ client-apps guide) and the root `AGENTS.md`: single-responsibility files, thin
41
+ command handlers, and comments that explain *why*.
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAapD"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAepD"}
package/commands/apply.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
2
2
  import { UsageError } from "../errors/index.js";
3
- import { CommandResult, renderResult } from "../output/index.js";
3
+ import { CommandResult, renderResult, } from "../output/index.js";
4
4
  import { addResultFlags, globalOrg, resultFormat } from "./shared.js";
5
5
  export function registerApply(program) {
6
6
  const apply = program
@@ -19,18 +19,68 @@ export function registerApply(program) {
19
19
  async function runApply(options, command) {
20
20
  const format = resultFormat(options);
21
21
  const orgOverride = globalOrg(command);
22
+ // A plugin manifest at the given directory's root selects the plugin
23
+ // track before any YAML scan: a repository holding both is applied as a
24
+ // plugin, and its `ai.stigmer/*.yaml` documents are the plugin's, not
25
+ // loose resources.
26
+ const target = options.file !== undefined && options.file !== ""
27
+ ? options.file
28
+ : options.config !== undefined && options.config !== ""
29
+ ? options.config
30
+ : process.cwd();
31
+ const { isPluginDirectory } = await import("../resources/plugin.js");
32
+ if (isPluginDirectory(target)) {
33
+ await runPluginApply(target, orgOverride, options.dryRun === true, format);
34
+ return;
35
+ }
22
36
  if (options.file !== undefined && options.file !== "") {
23
37
  await runFileApply(options.file, orgOverride, options.dryRun === true, format);
24
38
  return;
25
39
  }
26
40
  await runDeclarativeApply(options, orgOverride, format);
27
41
  }
42
+ // Plugin track: install or upgrade the plugin folder as one unit through the
43
+ // same read, zip and push `push plugin` runs; the org resolves like every
44
+ // other apply (--org, then the configured context).
45
+ async function runPluginApply(dir, orgOverride, dryRun, format) {
46
+ const plugin = await import("../resources/plugin.js");
47
+ const ignoreOptions = {
48
+ respectGitignore: true,
49
+ extraIgnore: [],
50
+ extraInclude: [],
51
+ };
52
+ if (dryRun) {
53
+ const { readPluginPackage } = await import("@stigmer/plugin-package");
54
+ const read = plugin.readPluginDirectory(dir, ignoreOptions);
55
+ const outcome = readPluginPackage(read.files);
56
+ if (!outcome.ok) {
57
+ throw plugin.pluginRefusal(dir, outcome.errors, outcome.warnings);
58
+ }
59
+ const result = plugin.describePackageOn(CommandResult.success(`Dry run: plugin '${outcome.plugin.name}' would install`), outcome.plugin, outcome.warnings, read.stats);
60
+ result.hint("Run without --dry-run to install it.");
61
+ renderResult(result, format);
62
+ return;
63
+ }
64
+ const { connectBackend } = await import("../backend.js");
65
+ const client = connectBackend();
66
+ ensureAuthenticated(client.config);
67
+ const org = resolveOrganization(client.config, orgOverride);
68
+ const outcome = await plugin.pushPlugin(client.stigmer, dir, {
69
+ org,
70
+ visibility: undefined,
71
+ message: "",
72
+ ignoreOptions,
73
+ });
74
+ renderResult(plugin.renderPushOutcome(outcome), format);
75
+ }
28
76
  // Declarative mode: detect stigmer.yaml (walk up). Absent → atomic guidance.
29
77
  // entry_point set → SDK/project synthesis track. Otherwise scan the project and
30
78
  // reconcile membership. Both project tracks converge on the shared reconciler.
31
79
  async function runDeclarativeApply(options, orgOverride, format) {
32
80
  const { detectTrack, applyDeclarative, previewDeclarative } = await import("../resources/apply/declarative.js");
33
- const startDir = options.config !== undefined && options.config !== "" ? options.config : process.cwd();
81
+ const startDir = options.config !== undefined && options.config !== ""
82
+ ? options.config
83
+ : process.cwd();
34
84
  const detect = detectTrack(startDir);
35
85
  if (detect.track === "atomic") {
36
86
  renderResult(buildAtomicGuidance(), format);
@@ -101,7 +151,7 @@ function resolveDeclarativeOrg(config, projectOrg, override) {
101
151
  return resolved;
102
152
  }
103
153
  async function runFileApply(path, orgOverride, dryRun, format) {
104
- const [{ connectBackend }, { resolveApplyItems, requiresOrgContext, applyItem }, { discoverAppliedMcpServers }] = await Promise.all([
154
+ const [{ connectBackend }, { resolveApplyItems, requiresOrgContext, applyItem }, { discoverAppliedMcpServers },] = await Promise.all([
105
155
  import("../backend.js"),
106
156
  import("../resources/apply/apply.js"),
107
157
  import("../resources/apply/discovery.js"),
@@ -118,7 +168,9 @@ async function runFileApply(path, orgOverride, dryRun, format) {
118
168
  }
119
169
  const client = connectBackend();
120
170
  ensureAuthenticated(client.config);
121
- const org = requiresOrgContext(items) ? resolveOrganization(client.config, orgOverride) : "";
171
+ const org = requiresOrgContext(items)
172
+ ? resolveOrganization(client.config, orgOverride)
173
+ : "";
122
174
  const appliedMcpServers = [];
123
175
  for (const item of items) {
124
176
  const outcome = await applyItem(client.controller, item, org, false);
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBnD"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwDnD"}
package/commands/push.js CHANGED
@@ -1,22 +1,29 @@
1
1
  // `stigmer push <type> [path]` — package and upload an artifact to the registry.
2
- // Only skills are pushable today. Two source modes: a local directory (default,
3
- // git provenance auto-detected) or a remote repo via --git-url (cloned to a
4
- // temp dir, then pushed). Heavy modules are lazy-imported so `--help` stays fast.
2
+ // Two kinds are pushable: skills (a local directory with git provenance
3
+ // auto-detected, a remote repo via --git-url, or a pre-built --archive) and
4
+ // plugins (a local plugin directory, installed or upgraded as one unit; the
5
+ // manifest's version is its tag, so --tag does not apply). Heavy modules are
6
+ // lazy-imported so `--help` stays fast.
5
7
  import { mkdtempSync, rmSync } from "node:fs";
6
8
  import { tmpdir } from "node:os";
7
9
  import { join } from "node:path";
8
10
  import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
9
11
  import { UsageError } from "../errors/index.js";
10
12
  import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
13
+ import { renderResult as renderCommandResult, } from "../output/index.js";
11
14
  import { defaultRegistry, Verb } from "../registry/index.js";
12
- import { globalOrg } from "./shared.js";
13
- const collect = (value, previous) => [...previous, value];
15
+ import { addResultFlags, globalOrg, resultFormat } from "./shared.js";
16
+ const collect = (value, previous) => [
17
+ ...previous,
18
+ value,
19
+ ];
14
20
  export function registerPush(program) {
15
- program
21
+ const push = program
16
22
  .command("push <type> [path]")
17
- .description("push an artifact to the registry (supported types: skill)")
18
- .option("--tag <tag>", "version tag for the artifact", "latest")
23
+ .description("push an artifact to the registry (supported types: skill, plugin)")
24
+ .option("--tag <tag>", "version tag for the artifact (skills; a plugin's tag is its manifest version)", "latest")
19
25
  .option("-m, --message <message>", "version message describing what changed")
26
+ .option("--visibility <level>", "plugins: visibility for the plugin and everything it installs (private, org, public, platform)")
20
27
  .option("--dry-run", "validate without pushing")
21
28
  .option("--git-url <url>", "push from a remote git repository URL")
22
29
  .option("--git-ref <ref>", "git reference (tag, branch, or commit SHA) for remote push")
@@ -27,19 +34,27 @@ export function registerPush(program) {
27
34
  .option("--no-gitignore", "don't respect .gitignore patterns")
28
35
  .option("--verbose", "show detailed output including ignore decisions")
29
36
  .action((type, path, options, command) => runPush(type, path, options, command));
37
+ addResultFlags(push);
30
38
  }
31
39
  async function runPush(type, path, options, command) {
32
40
  const info = defaultRegistry().getByAlias(type);
33
41
  if (info === undefined) {
34
- throw new UsageError(`unknown resource type: ${type}\n\nAvailable types: skill`);
42
+ throw new UsageError(`unknown resource type: ${type}\n\nAvailable types: skill, plugin`);
35
43
  }
36
44
  if (!info.supportedVerbs.has(Verb.Push)) {
37
45
  throw new UsageError(`${info.displayName} does not support 'push'`);
38
46
  }
47
+ if (info.kind === ApiResourceKind.plugin) {
48
+ await runPushPlugin(path, options, command);
49
+ return;
50
+ }
39
51
  if (info.kind !== ApiResourceKind.skill) {
40
52
  throw new UsageError(`push not implemented for ${info.displayName}`);
41
53
  }
42
- const [{ connectBackend }, skill] = await Promise.all([import("../backend.js"), import("../resources/skill.js")]);
54
+ const [{ connectBackend }, skill] = await Promise.all([
55
+ import("../backend.js"),
56
+ import("../resources/skill.js"),
57
+ ]);
43
58
  const client = connectBackend();
44
59
  ensureAuthenticated(client.config);
45
60
  const org = resolveOrganization(client.config, globalOrg(command));
@@ -48,15 +63,30 @@ async function runPush(type, path, options, command) {
48
63
  extraIgnore: options.ignore ?? [],
49
64
  extraInclude: options.include ?? [],
50
65
  };
51
- const decisionSink = options.verbose === true ? (line) => process.stderr.write(`${line}\n`) : undefined;
66
+ const decisionSink = options.verbose === true
67
+ ? (line) => process.stderr.write(`${line}\n`)
68
+ : undefined;
52
69
  const tag = options.tag ?? "latest";
53
70
  const message = options.message ?? "";
54
71
  if (options.archive !== undefined && options.archive !== "") {
55
- await pushArchive(client.stigmer, skill, { org, tag, message, path, options });
72
+ await pushArchive(client.stigmer, skill, {
73
+ org,
74
+ tag,
75
+ message,
76
+ path,
77
+ options,
78
+ });
56
79
  return;
57
80
  }
58
81
  if (options.gitUrl !== undefined && options.gitUrl !== "") {
59
- await pushRemote(client.stigmer, skill, { org, tag, message, ignoreOptions, decisionSink, options });
82
+ await pushRemote(client.stigmer, skill, {
83
+ org,
84
+ tag,
85
+ message,
86
+ ignoreOptions,
87
+ decisionSink,
88
+ options,
89
+ });
60
90
  return;
61
91
  }
62
92
  const directory = path !== undefined && path !== "" ? path : process.cwd();
@@ -72,6 +102,64 @@ async function runPush(type, path, options, command) {
72
102
  const result = await skill.pushSkill(client.stigmer, directory, org, tag, message, ignoreOptions, decisionSink);
73
103
  process.stdout.write(renderResult(result, skill));
74
104
  }
105
+ /**
106
+ * `stigmer push plugin <dir>`: install or upgrade a plugin from its folder.
107
+ * The folder is read through the same walk `validate -f` uses, refused
108
+ * offline with the same sentences, zipped deterministically and pushed;
109
+ * `--dry-run` stops after the offline read and prints what would install.
110
+ * Skill-only flags (`--archive`, `--git-url`) are a contradiction here.
111
+ */
112
+ async function runPushPlugin(path, options, command) {
113
+ const conflicts = [];
114
+ if (options.archive !== undefined && options.archive !== "")
115
+ conflicts.push("--archive");
116
+ if (options.gitUrl !== undefined && options.gitUrl !== "")
117
+ conflicts.push("--git-url");
118
+ if (options.gitRef !== undefined && options.gitRef !== "")
119
+ conflicts.push("--git-ref");
120
+ if (options.subdir !== undefined && options.subdir !== "")
121
+ conflicts.push("--subdir");
122
+ if (conflicts.length > 0) {
123
+ throw new UsageError(`push plugin takes a plugin directory and cannot be combined with: ${conflicts.join(", ")}`);
124
+ }
125
+ const format = resultFormat(options);
126
+ const directory = path !== undefined && path !== "" ? path : process.cwd();
127
+ const plugin = await import("../resources/plugin.js");
128
+ if (!plugin.isPluginDirectory(directory)) {
129
+ throw new UsageError(`${directory} is not a plugin directory\n\nA plugin directory holds one of: ${plugin.PLUGIN_MANIFEST_PATHS.join(", ")}`);
130
+ }
131
+ const ignoreOptions = {
132
+ respectGitignore: options.gitignore !== false,
133
+ extraIgnore: options.ignore ?? [],
134
+ extraInclude: options.include ?? [],
135
+ };
136
+ const { parseVisibility } = await import("../resources/skill.js");
137
+ const visibility = parseVisibility(options.visibility, "--visibility");
138
+ if (options.dryRun === true) {
139
+ const { readPluginPackage } = await import("@stigmer/plugin-package");
140
+ const read = plugin.readPluginDirectory(directory, ignoreOptions);
141
+ const outcome = readPluginPackage(read.files);
142
+ if (!outcome.ok) {
143
+ throw plugin.pluginRefusal(directory, outcome.errors, outcome.warnings);
144
+ }
145
+ const { CommandResult } = await import("../output/index.js");
146
+ const result = plugin.describePackageOn(CommandResult.success(`Dry run: plugin '${outcome.plugin.name}' would install`), outcome.plugin, outcome.warnings, read.stats);
147
+ result.hint("Run without --dry-run to install it.");
148
+ renderCommandResult(result, format);
149
+ return;
150
+ }
151
+ const { connectBackend } = await import("../backend.js");
152
+ const client = connectBackend();
153
+ ensureAuthenticated(client.config);
154
+ const org = resolveOrganization(client.config, globalOrg(command));
155
+ const outcome = await plugin.pushPlugin(client.stigmer, directory, {
156
+ org,
157
+ visibility,
158
+ message: options.message ?? "",
159
+ ignoreOptions,
160
+ });
161
+ renderCommandResult(plugin.renderPushOutcome(outcome), format);
162
+ }
75
163
  /**
76
164
  * Push a pre-packaged skill archive (`--archive`). The bytes are uploaded
77
165
  * as-is, so source-mode and filtering flags have nothing to act on — passing
@@ -141,7 +229,15 @@ async function pushRemote(client, skill, ctx) {
141
229
  throw new UsageError(`SKILL.md not found in ${subdir !== "" ? subdir : "repository root"}\n\n` +
142
230
  "The skill directory must contain a SKILL.md file with YAML frontmatter");
143
231
  }
144
- const result = await skill.pushSkillFromClone(client, skillDir, { gitUrl, gitRef, subdir, org: ctx.org, tag: ctx.tag, message: ctx.message, options: ctx.ignoreOptions }, ctx.decisionSink);
232
+ const result = await skill.pushSkillFromClone(client, skillDir, {
233
+ gitUrl,
234
+ gitRef,
235
+ subdir,
236
+ org: ctx.org,
237
+ tag: ctx.tag,
238
+ message: ctx.message,
239
+ options: ctx.ignoreOptions,
240
+ }, ctx.decisionSink);
145
241
  process.stdout.write(renderResult(result, skill));
146
242
  }
147
243
  finally {
@@ -149,7 +245,11 @@ async function pushRemote(client, skill, ctx) {
149
245
  }
150
246
  }
151
247
  function renderResult(result, skill) {
152
- const status = result.isNewResource ? "new resource" : result.versionChanged ? "new version" : "unchanged";
248
+ const status = result.isNewResource
249
+ ? "new resource"
250
+ : result.versionChanged
251
+ ? "new version"
252
+ : "unchanged";
153
253
  const lines = [
154
254
  "",
155
255
  `Pushed skill '${result.skillName}'`,
@@ -188,7 +288,13 @@ function renderDryRun(directory, analysis, skill) {
188
288
  return `${lines.join("\n")}\n`;
189
289
  }
190
290
  function renderRemoteDryRun(gitUrl, gitRef, subdir, ctx) {
191
- const lines = ["", "Dry run mode - would push skill from remote git repository:", "", "Git Source:", ` URL: ${gitUrl}`];
291
+ const lines = [
292
+ "",
293
+ "Dry run mode - would push skill from remote git repository:",
294
+ "",
295
+ "Git Source:",
296
+ ` URL: ${gitUrl}`,
297
+ ];
192
298
  if (gitRef !== "")
193
299
  lines.push(` Ref: ${gitRef}`);
194
300
  if (subdir !== "")
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wEAAwE;AACxE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,wCAAwC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAEL,YAAY,IAAI,mBAAmB,GACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBtE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAkB,EAAY,EAAE,CAAC;IAC/D,GAAG,QAAQ;IACX,KAAK;CACN,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,mEAAmE,CACpE;SACA,MAAM,CACL,aAAa,EACb,+EAA+E,EAC/E,QAAQ,CACT;SACA,MAAM,CACL,yBAAyB,EACzB,yCAAyC,CAC1C;SACA,MAAM,CACL,sBAAsB,EACtB,gGAAgG,CACjG;SACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;SAClE,MAAM,CACL,iBAAiB,EACjB,4DAA4D,CAC7D;SACA,MAAM,CACL,gBAAgB,EAChB,gEAAgE,CACjE;SACA,MAAM,CACL,kBAAkB,EAClB,2EAA2E,CAC5E;SACA,MAAM,CACL,oBAAoB,EACpB,2CAA2C,EAC3C,OAAO,EACP,EAAE,CACH;SACA,MAAM,CACL,qBAAqB,EACrB,uCAAuC,EACvC,OAAO,EACP,EAAE,CACH;SACA,MAAM,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;SAC7D,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;SACtE,MAAM,CACL,CACE,IAAY,EACZ,IAAwB,EACxB,OAAkB,EAClB,OAAgB,EAChB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAC3C,CAAC;IACJ,cAAc,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,IAAwB,EACxB,OAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAClB,0BAA0B,IAAI,oCAAoC,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,0BAA0B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,4BAA4B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,uBAAuB,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAG;QACpB,gBAAgB,EAAE,OAAO,CAAC,SAAS,KAAK,KAAK;QAC7C,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QACjC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;KACpC,CAAC;IACF,MAAM,YAAY,GAChB,OAAO,CAAC,OAAO,KAAK,IAAI;QACtB,CAAC,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;YACvC,GAAG;YACH,GAAG;YACH,OAAO;YACP,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;YACtC,GAAG;YACH,GAAG;YACH,OAAO;YACP,aAAa;YACb,YAAY;YACZ,OAAO;SACR,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAClB,yBAAyB,SAAS,iFAAiF,CACpH,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,CACV,SAAS,EACT,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,EAC7C,KAAK,CACN,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAClC,MAAM,CAAC,OAAO,EACd,SAAS,EACT,GAAG,EACH,GAAG,EACH,OAAO,EACP,aAAa,EACb,YAAY,CACb,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAwB,EACxB,OAAkB,EAClB,OAAgB;IAEhB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE;QACzD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QACvD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QACvD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QACvD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAClB,qEAAqE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAClB,GAAG,SAAS,kEAAkE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG;QACpB,gBAAgB,EAAE,OAAO,CAAC,SAAS,KAAK,KAAK;QAC7C,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QACjC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;KACpC,CAAC;IACF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CACrC,aAAa,CAAC,OAAO,CACnB,oBAAoB,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CACzD,EACD,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpD,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE;QACjE,GAAG;QACH,UAAU;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,aAAa;KACd,CAAC,CAAC;IACH,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAUD;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CACxB,MAAsC,EACtC,KAA6C,EAC7C,GAAmB;IAEnB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE;QAC/D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE;QAC/D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE;QAC/D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAClB,0EAA0E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAClG,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,CACjB,WAAW,EACX,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACnC,KAAK,CACN,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAC7C,MAAM,EACN,WAAW,EACX,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,OAAO,CACZ,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAmB,EACnB,OAAqD,EACrD,KAA6C;IAE7C,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,uCAAuC,WAAW,EAAE;QACpD,EAAE;QACF,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;QACpC,iBAAiB,OAAO,CAAC,SAAS,EAAE;QACpC,iBAAiB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACvD,iBAAiB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QAC1D,EAAE;QACF,0EAA0E;QAC1E,wEAAwE;QACxE,EAAE;QACF,mDAAmD;QACnD,EAAE;KACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAeD,KAAK,UAAU,UAAU,CACvB,MAAsC,EACtC,KAA6C,EAC7C,GAAkB;IAElB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAExC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAClB,yBAAyB,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,MAAM;gBACvE,wEAAwE,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAC3C,MAAM,EACN,QAAQ,EACR;YACE,MAAM;YACN,MAAM;YACN,MAAM;YACN,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,aAAa;SAC3B,EACD,GAAG,CAAC,YAAY,CACjB,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,MAAkD,EAClD,KAA6C;IAE7C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa;QACjC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,MAAM,CAAC,cAAc;YACrB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,iBAAiB,MAAM,CAAC,SAAS,GAAG;QACpC,eAAe,MAAM,CAAC,EAAE,EAAE;QAC1B,eAAe,MAAM,CAAC,IAAI,EAAE;QAC5B,eAAe,MAAM,CAAC,GAAG,EAAE;QAC3B,eAAe,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QACpD,eAAe,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QACvD,eAAe,MAAM,EAAE;KACxB,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CACnB,SAAiB,EACjB,QAAwD,EACxD,KAA6C;IAE7C,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC3B,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,wCAAwC,SAAS,EAAE;QACnD,EAAE;QACF,kBAAkB;QAClB,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,EAAE;QACF,wBAAwB,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG;QACrF,wBAAwB,KAAK,CAAC,YAAY,EAAE;QAC5C,wBAAwB,KAAK,CAAC,WAAW,EAAE;KAC5C,CAAC;IACF,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,kBAAkB,EAClB,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAClD,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,iBAAiB,EACjB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mDAAmD,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,MAAc,EACd,MAAc,EACd,GAAkB;IAElB,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,6DAA6D;QAC7D,EAAE;QACF,aAAa;QACb,aAAa,MAAM,EAAE;KACtB,CAAC;IACF,IAAI,MAAM,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CACR,wBAAwB,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CACtF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,wBAAwB,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;IACJ,IAAI,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC3C,KAAK,CAAC,IAAI,CACR,wBAAwB,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;IACJ,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sDAAsD,EACtD,mDAAmD,EACnD,EAAE,CACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CASvD"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYvD"}
@@ -1,18 +1,30 @@
1
- // `stigmer validate -f <file|dir>` — offline validation of resource YAML.
1
+ // `stigmer validate -f <file|dir>` — offline validation of resource YAML, or
2
+ // of a plugin directory.
2
3
  //
3
- // Auto-detects each document's kind, checks it supports validation, and parses
4
- // it into its proto schema (structural validation, no server). Supports single
5
- // files, directories, and multi-document YAML.
4
+ // Two inputs, one verb. A YAML file or a directory of YAML files is parsed
5
+ // document by document into its proto schema (structural validation, no
6
+ // server). A directory holding a plugin manifest (`plugin.json`,
7
+ // `.cursor-plugin/plugin.json`, `.claude-plugin/plugin.json` or
8
+ // `.codex-plugin/plugin.json`) is read with `@stigmer/plugin-package`, the
9
+ // same reader the server installs with, so what validates here installs
10
+ // there and what is refused here is refused there with the same sentence.
11
+ // The plugin check runs BEFORE the YAML walk: a plugin's `ai.stigmer/*.yaml`
12
+ // documents would otherwise be validated as loose resources.
13
+ //
14
+ // A plugin refusal is a `UsageError` (exit 2) listing every problem at once;
15
+ // an accepted plugin renders as `success`, or `warning` when the reader had
16
+ // something to say, both exit 0. `--json` carries the normalised package as
17
+ // the result's `data`.
6
18
  import { UsageError } from "../errors/index.js";
7
- import { CommandResult, renderResult } from "../output/index.js";
19
+ import { CommandResult, renderResult, } from "../output/index.js";
8
20
  import { defaultRegistry, Verb } from "../registry/index.js";
9
21
  import { loadDocuments, resolveYamlFiles } from "../resources/documents.js";
10
22
  import { addResultFlags, resultFormat } from "./shared.js";
11
23
  export function registerValidate(program) {
12
24
  const validate = program
13
25
  .command("validate")
14
- .description("validate resource YAML files offline")
15
- .requiredOption("-f, --file <path>", "path to a YAML file or directory")
26
+ .description("validate resource YAML files or a plugin directory offline")
27
+ .requiredOption("-f, --file <path>", "path to a YAML file, a directory of YAML files, or a plugin directory")
16
28
  .action(async (options) => {
17
29
  renderResult(await runValidate(options), resultFormat(options));
18
30
  });
@@ -23,6 +35,10 @@ async function runValidate(options) {
23
35
  if (path === undefined || path === "") {
24
36
  throw new UsageError("file path is required: use -f <file>");
25
37
  }
38
+ const { isPluginDirectory } = await import("../resources/plugin.js");
39
+ if (isPluginDirectory(path)) {
40
+ return runValidatePlugin(path);
41
+ }
26
42
  const files = resolveYamlFiles(path);
27
43
  if (files.length === 0) {
28
44
  throw new UsageError(`no YAML files found in ${path}`);
@@ -61,4 +77,20 @@ async function runValidate(options) {
61
77
  section.item(item);
62
78
  return result;
63
79
  }
80
+ async function runValidatePlugin(dir) {
81
+ const { readPluginPackage } = await import("@stigmer/plugin-package");
82
+ const { count, describePackageOn, pluginRefusal, readPluginDirectory } = await import("../resources/plugin.js");
83
+ const directory = readPluginDirectory(dir);
84
+ const outcome = readPluginPackage(directory.files);
85
+ if (!outcome.ok) {
86
+ // Warnings ride along under the refusal so the author fixes everything
87
+ // in one pass, not the errors now and the warnings on the next run.
88
+ throw pluginRefusal(dir, outcome.errors, outcome.warnings);
89
+ }
90
+ const { plugin, warnings } = outcome;
91
+ const result = warnings.length === 0
92
+ ? CommandResult.success(`Plugin '${plugin.name}' is valid`)
93
+ : CommandResult.warning(`Plugin '${plugin.name}' is valid with ${count(warnings.length, "warning")}`);
94
+ return describePackageOn(result, plugin, warnings, directory.stats);
95
+ }
64
96
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,yBAAyB;AACzB,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,iEAAiE;AACjE,gEAAgE;AAChE,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,6EAA6E;AAC7E,6DAA6D;AAC7D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,uBAAuB;AAGvB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,aAAa,EAEb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3D,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4DAA4D,CAAC;SACzE,cAAc,CACb,mBAAmB,EACnB,uEAAuE,CACxE;SACA,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QACvC,YAAY,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACL,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAsB;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACrE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAC3C,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,UAAU,CAAC,0BAA0B,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,UAAU,CAClB,GAAG,IAAI,CAAC,WAAW,oCAAoC,IAAI,GAAG,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,wEAAwE;gBACxE,wEAAwE;gBACxE,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,WAAW,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,UAAU,CAClB,GAAG,IAAI,aAAa,IAAI,CAAC,WAAW,KAAM,GAAa,CAAC,OAAO,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,WAAW,WAAW,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAClC,wBAAwB,SAAS,CAAC,MAAM,oBAAoB,CAC7D,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACtE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,GACpE,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,IAAI,YAAY,CAAC;QAC3D,CAAC,CAAC,aAAa,CAAC,OAAO,CACnB,WAAW,MAAM,CAAC,IAAI,mBAAmB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAC7E,CAAC;IACR,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC"}
@@ -19,12 +19,20 @@ export declare class CommandResult {
19
19
  readonly message: string;
20
20
  readonly sections: Section[];
21
21
  readonly hints: string[];
22
+ /**
23
+ * A machine-readable payload for the JSON form only: the thing the command
24
+ * computed, in full, where the sections carry its human summary (a
25
+ * validated plugin's normalised description, for example). Human and quiet
26
+ * output never render it; `undefined` omits it from the JSON.
27
+ */
28
+ data: unknown;
22
29
  private constructor();
23
30
  static success(message: string): CommandResult;
24
31
  static warning(message: string): CommandResult;
25
32
  static error(message: string): CommandResult;
26
33
  addSection(title?: string): Section;
27
34
  hint(text: string): this;
35
+ withData(data: unknown): this;
28
36
  }
29
37
  /** JSON form of a CommandResult (omits empty sections/hints), newline-terminated. */
30
38
  export declare function resultToJson(result: CommandResult): string;
@@ -1 +1 @@
1
- {"version":3,"file":"command-result.d.ts","sourceRoot":"","sources":["../../src/output/command-result.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,qBAAa,OAAO;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAM;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;gBAElB,KAAK,EAAE,MAAM;IAIzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAIzB;AAED,2EAA2E;AAC3E,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAE9B,OAAO;IAKP,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI9C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI9C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI5C,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO;IAM/B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAIzB;AAqBD,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAkB1D;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAyB9E;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAE9E;AAeD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAID,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,aAA+B,GACvC,IAAI,CAUN"}
1
+ {"version":3,"file":"command-result.d.ts","sourceRoot":"","sources":["../../src/output/command-result.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,qBAAa,OAAO;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAM;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;gBAElB,KAAK,EAAE,MAAM;IAIzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAIzB;AAED,2EAA2E;AAC3E,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAa;IAE1B,OAAO;IAKP,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI9C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI9C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAI5C,UAAU,CAAC,KAAK,SAAK,GAAG,OAAO;IAM/B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;CAI9B;AAsBD,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAmB1D;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAyB9E;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAE9E;AAeD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAID,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,aAA+B,GACvC,IAAI,CAUN"}
@@ -29,6 +29,13 @@ export class CommandResult {
29
29
  message;
30
30
  sections = [];
31
31
  hints = [];
32
+ /**
33
+ * A machine-readable payload for the JSON form only: the thing the command
34
+ * computed, in full, where the sections carry its human summary (a
35
+ * validated plugin's normalised description, for example). Human and quiet
36
+ * output never render it; `undefined` omits it from the JSON.
37
+ */
38
+ data = undefined;
32
39
  constructor(status, message) {
33
40
  this.status = status;
34
41
  this.message = message;
@@ -51,6 +58,10 @@ export class CommandResult {
51
58
  this.hints.push(text);
52
59
  return this;
53
60
  }
61
+ withData(data) {
62
+ this.data = data;
63
+ return this;
64
+ }
54
65
  }
55
66
  const ICONS = {
56
67
  success: "✓",
@@ -75,6 +86,8 @@ export function resultToJson(result) {
75
86
  }
76
87
  if (result.hints.length > 0)
77
88
  out.hints = [...result.hints];
89
+ if (result.data !== undefined)
90
+ out.data = result.data;
78
91
  return JSON.stringify(out, null, 2) + "\n";
79
92
  }
80
93
  /** Colored, structured human form, newline-terminated. */
@@ -1 +1 @@
1
- {"version":3,"file":"command-result.js","sourceRoot":"","sources":["../../src/output/command-result.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,+EAA+E;AAC/E,6EAA6E;AAC7E,iBAAiB;AACjB,EAAE;AACF,yEAAyE;AACzE,uDAAuD;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AASpD,+DAA+D;AAC/D,MAAM,OAAO,OAAO;IACT,KAAK,CAAS;IACd,MAAM,GAAe,EAAE,CAAC;IACxB,KAAK,GAAa,EAAE,CAAC;IAE9B,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,KAAa;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,aAAa;IACf,MAAM,CAAe;IACrB,OAAO,CAAS;IAChB,QAAQ,GAAc,EAAE,CAAC;IACzB,KAAK,GAAa,EAAE,CAAC;IAE9B,YAAoB,MAAoB,EAAE,OAAe;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,KAAK,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,KAAK,GAAiC;IAC1C,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;CACX,CAAC;AAeF,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAE3E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;gBAAE,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,QAAiB;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,OAAO,CAAC,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,QAAiB;IACpE,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,QAAiB;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IACzD,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAQD,MAAM,eAAe,GAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAE1F,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAC1B,MAAqB,EACrB,MAAoB,EACpB,UAAyB,eAAe;IAExC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"command-result.js","sourceRoot":"","sources":["../../src/output/command-result.ts"],"names":[],"mappings":"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"}