@zenalexa/unicli 0.210.0 → 0.211.2

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 (81) hide show
  1. package/AGENTS.md +21 -7
  2. package/README.md +680 -83
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +5 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/agents.d.ts +14 -3
  7. package/dist/commands/agents.d.ts.map +1 -1
  8. package/dist/commands/agents.js +369 -140
  9. package/dist/commands/agents.js.map +1 -1
  10. package/dist/commands/mcp.d.ts +3 -4
  11. package/dist/commands/mcp.d.ts.map +1 -1
  12. package/dist/commands/mcp.js +47 -62
  13. package/dist/commands/mcp.js.map +1 -1
  14. package/dist/commands/schema.d.ts +12 -0
  15. package/dist/commands/schema.d.ts.map +1 -0
  16. package/dist/commands/schema.js +72 -0
  17. package/dist/commands/schema.js.map +1 -0
  18. package/dist/commands/search.d.ts +12 -0
  19. package/dist/commands/search.d.ts.map +1 -0
  20. package/dist/commands/search.js +47 -0
  21. package/dist/commands/search.js.map +1 -0
  22. package/dist/discovery/aliases.d.ts +31 -0
  23. package/dist/discovery/aliases.d.ts.map +1 -0
  24. package/dist/discovery/aliases.js +477 -0
  25. package/dist/discovery/aliases.js.map +1 -0
  26. package/dist/discovery/loader.d.ts.map +1 -1
  27. package/dist/discovery/loader.js +25 -0
  28. package/dist/discovery/loader.js.map +1 -1
  29. package/dist/discovery/search.d.ts +73 -0
  30. package/dist/discovery/search.d.ts.map +1 -0
  31. package/dist/discovery/search.js +355 -0
  32. package/dist/discovery/search.js.map +1 -0
  33. package/dist/manifest-compact.txt +15 -0
  34. package/dist/manifest-search.json +1 -0
  35. package/dist/manifest.json +433 -244
  36. package/dist/mcp/oauth.d.ts +33 -0
  37. package/dist/mcp/oauth.d.ts.map +1 -0
  38. package/dist/mcp/oauth.js +220 -0
  39. package/dist/mcp/oauth.js.map +1 -0
  40. package/dist/mcp/schema.d.ts +65 -0
  41. package/dist/mcp/schema.d.ts.map +1 -0
  42. package/dist/mcp/schema.js +136 -0
  43. package/dist/mcp/schema.js.map +1 -0
  44. package/dist/mcp/server.d.ts +23 -10
  45. package/dist/mcp/server.d.ts.map +1 -1
  46. package/dist/mcp/server.js +350 -182
  47. package/dist/mcp/server.js.map +1 -1
  48. package/dist/mcp/sse-transport.d.ts +34 -0
  49. package/dist/mcp/sse-transport.d.ts.map +1 -0
  50. package/dist/mcp/sse-transport.js +182 -0
  51. package/dist/mcp/sse-transport.js.map +1 -0
  52. package/dist/mcp/streamable-http.d.ts +64 -0
  53. package/dist/mcp/streamable-http.d.ts.map +1 -0
  54. package/dist/mcp/streamable-http.js +312 -0
  55. package/dist/mcp/streamable-http.js.map +1 -0
  56. package/dist/permissions/sensitive-paths.js +2 -2
  57. package/dist/permissions/sensitive-paths.js.map +1 -1
  58. package/package.json +7 -7
  59. package/src/adapters/1688/_site.json +9 -0
  60. package/src/adapters/barchart/_site.json +10 -0
  61. package/src/adapters/jd/_site.json +9 -0
  62. package/src/adapters/linkedin/_site.json +10 -0
  63. package/src/adapters/macos/finder-copy.yaml +40 -0
  64. package/src/adapters/macos/finder-move.yaml +40 -0
  65. package/src/adapters/macos/finder-new-folder.yaml +36 -0
  66. package/src/adapters/macos/safari-history.yaml +23 -0
  67. package/src/adapters/macos/safari-url.yaml +22 -0
  68. package/src/adapters/macos/screen-recording.yaml +32 -0
  69. package/src/adapters/macos/wallpaper.yaml +33 -0
  70. package/src/adapters/reuters/_site.json +9 -0
  71. package/src/adapters/sinablog/_site.json +9 -0
  72. package/src/adapters/smzdm/_site.json +9 -0
  73. package/src/adapters/weixin/_site.json +9 -0
  74. package/src/adapters/1688/manifest.yaml +0 -7
  75. package/src/adapters/barchart/manifest.yaml +0 -8
  76. package/src/adapters/jd/manifest.yaml +0 -7
  77. package/src/adapters/linkedin/manifest.yaml +0 -8
  78. package/src/adapters/reuters/manifest.yaml +0 -7
  79. package/src/adapters/sinablog/manifest.yaml +0 -7
  80. package/src/adapters/smzdm/manifest.yaml +0 -7
  81. package/src/adapters/weixin/manifest.yaml +0 -7
@@ -1,171 +1,400 @@
1
1
  /**
2
- * Agents CLI command — auto-generate AGENTS.md for capability discovery.
2
+ * Agents CLI command — auto-generate platform-specific discovery files.
3
3
  *
4
4
  * Command:
5
- * unicli agents generate — Generate AGENTS.md from adapter registry
5
+ * unicli agents generate — Generate discovery files from adapter registry
6
6
  *
7
7
  * Options:
8
- * --output <path> — Output file path (default: AGENTS.md in project root)
8
+ * --output <path> — Output file path (default: stdout)
9
+ * --for <platform> — Target platform format
10
+ *
11
+ * Supported platforms:
12
+ * generic — Standard AGENTS.md (default)
13
+ * claude — CLAUDE.md snippet with MCP config JSON
14
+ * codex — AGENTS.md + .codex/config.toml snippet
15
+ * openclaw — ClawHub-compatible JSON metadata
16
+ * hermes — Context file + config.yaml snippet
17
+ * opencode — opencode.jsonc snippet
18
+ * cursor — .cursorrules format
19
+ * goose — Goose recipe YAML
9
20
  */
10
21
  import chalk from "chalk";
11
22
  import { writeFileSync } from "node:fs";
12
23
  import { resolve } from "node:path";
13
24
  import { getAllAdapters, listCommands } from "../registry.js";
14
25
  import { VERSION } from "../constants.js";
26
+ // ── MCP config snippet (reused by multiple platforms) ─────────────────────
27
+ function mcpConfigObject() {
28
+ return {
29
+ command: "npx",
30
+ args: ["-y", "@zenalexa/unicli", "mcp", "serve"],
31
+ env: {},
32
+ };
33
+ }
34
+ // ── Platform format generators ────────────────────────────────────────────
35
+ function formatGeneric(ctx) {
36
+ const lines = [];
37
+ lines.push(`<!-- unicli v${ctx.version} | ${ctx.sites} sites | ${ctx.commands} commands -->`);
38
+ lines.push("# AGENTS.md — Uni-CLI Capability Discovery");
39
+ lines.push("");
40
+ lines.push("> Auto-generated. Do not edit manually.");
41
+ lines.push("> Regenerate with: `unicli agents generate`");
42
+ lines.push("");
43
+ // Installation
44
+ lines.push("## Installation");
45
+ lines.push("");
46
+ lines.push("```bash");
47
+ lines.push("npm i -g @zenalexa/unicli");
48
+ lines.push("```");
49
+ lines.push("");
50
+ // Sites by Category
51
+ lines.push("## Sites by Category");
52
+ lines.push("");
53
+ const categories = new Map();
54
+ for (const adapter of ctx.adapters) {
55
+ const cat = adapter.category ?? "Uncategorized";
56
+ const group = categories.get(cat);
57
+ if (group) {
58
+ group.push(adapter);
59
+ }
60
+ else {
61
+ categories.set(cat, [adapter]);
62
+ }
63
+ }
64
+ const sortedCategories = Array.from(categories.entries()).sort(([a], [b]) => a.localeCompare(b));
65
+ for (const [category, adaptersInCat] of sortedCategories) {
66
+ lines.push(`### ${category}`);
67
+ lines.push("");
68
+ lines.push("| Site | Commands | Auth | Description |");
69
+ lines.push("|------|----------|------|-------------|");
70
+ const sorted = adaptersInCat.sort((a, b) => a.name.localeCompare(b.name));
71
+ for (const adapter of sorted) {
72
+ const cmdNames = Object.keys(adapter.commands).sort().join(", ");
73
+ const auth = adapter.strategy ?? "public";
74
+ const desc = adapter.description ?? "";
75
+ lines.push(`| ${adapter.name} | ${cmdNames} | ${auth} | ${desc} |`);
76
+ }
77
+ lines.push("");
78
+ }
79
+ // All Commands
80
+ lines.push("## All Commands");
81
+ lines.push("");
82
+ lines.push("| Site | Command | Description | Auth |");
83
+ lines.push("|------|---------|-------------|------|");
84
+ for (const cmd of ctx.commandList) {
85
+ const auth = cmd.auth ? "yes" : "no";
86
+ lines.push(`| ${cmd.site} | ${cmd.command} | ${cmd.description} | ${auth} |`);
87
+ }
88
+ lines.push("");
89
+ // Self-repair
90
+ lines.push("## Self-Repair");
91
+ lines.push("");
92
+ lines.push("When a command fails, unicli outputs structured JSON to stderr with `adapter_path` and `suggestion` fields.");
93
+ lines.push("Read the YAML adapter at that path to understand and fix the issue.");
94
+ lines.push("Run `unicli repair <site> <command>` for automated repair.");
95
+ lines.push("");
96
+ lines.push("---");
97
+ lines.push(`<!-- Generated by Uni-CLI v${ctx.version} on ${ctx.date} -->`);
98
+ lines.push("");
99
+ return lines.join("\n");
100
+ }
101
+ function formatClaude(ctx) {
102
+ const lines = [];
103
+ lines.push("# Uni-CLI Integration");
104
+ lines.push("");
105
+ lines.push(`Uni-CLI provides ${ctx.commands} commands across ${ctx.sites} sites via CLI.`);
106
+ lines.push("Piped output is always JSON — no flags needed.");
107
+ lines.push("");
108
+ lines.push("## Installation");
109
+ lines.push("");
110
+ lines.push("```bash");
111
+ lines.push("npm i -g @zenalexa/unicli");
112
+ lines.push("```");
113
+ lines.push("");
114
+ lines.push("## MCP Server Configuration");
115
+ lines.push("");
116
+ lines.push("Add to your `claude_desktop_config.json` or project `.mcp.json`:");
117
+ lines.push("");
118
+ lines.push("```json");
119
+ lines.push(JSON.stringify({ mcpServers: { unicli: mcpConfigObject() } }, null, 2));
120
+ lines.push("```");
121
+ lines.push("");
122
+ lines.push("## Usage");
123
+ lines.push("");
124
+ lines.push("```bash");
125
+ lines.push("unicli <site> <command> [args]");
126
+ lines.push("```");
127
+ lines.push("");
128
+ // Compact site list
129
+ lines.push("## Available Sites");
130
+ lines.push("");
131
+ for (const adapter of ctx.adapters) {
132
+ const cmds = Object.keys(adapter.commands).sort().join(", ");
133
+ lines.push(`- **${adapter.name}**: ${cmds}`);
134
+ }
135
+ lines.push("");
136
+ // Self-repair
137
+ lines.push("## Self-Repair");
138
+ lines.push("");
139
+ lines.push("On failure, unicli outputs structured JSON to stderr with `adapter_path` and `suggestion`.");
140
+ lines.push("Read the YAML adapter at that path, fix the issue, and retry. Or run `unicli repair <site> <command>`.");
141
+ lines.push("");
142
+ lines.push(`<!-- Generated by Uni-CLI v${ctx.version} on ${ctx.date} -->`);
143
+ lines.push("");
144
+ return lines.join("\n");
145
+ }
146
+ function formatCodex(ctx) {
147
+ const lines = [];
148
+ // TOML MCP config snippet
149
+ lines.push("# .codex/config.toml — MCP server configuration");
150
+ lines.push("");
151
+ lines.push("[mcp_servers.unicli]");
152
+ lines.push('command = "npx"');
153
+ lines.push('args = ["-y", "@zenalexa/unicli", "mcp", "serve"]');
154
+ lines.push("");
155
+ lines.push("# ---");
156
+ lines.push("");
157
+ // AGENTS.md portion
158
+ lines.push(`# unicli — ${ctx.sites} sites, ${ctx.commands} commands`);
159
+ lines.push("");
160
+ lines.push("## Installation");
161
+ lines.push("");
162
+ lines.push("```bash");
163
+ lines.push("npm i -g @zenalexa/unicli");
164
+ lines.push("```");
165
+ lines.push("");
166
+ lines.push("## Usage");
167
+ lines.push("");
168
+ lines.push("```");
169
+ lines.push("unicli <site> <command> [args] [--json]");
170
+ lines.push("```");
171
+ lines.push("");
172
+ lines.push("Piped output auto-switches to JSON. Exit codes follow sysexits.h.");
173
+ lines.push("");
174
+ lines.push("## Sites");
175
+ lines.push("");
176
+ for (const adapter of ctx.adapters) {
177
+ lines.push(`### ${adapter.name}`);
178
+ for (const [cmd, info] of Object.entries(adapter.commands)) {
179
+ const desc = info.description ?? "";
180
+ lines.push(`- \`unicli ${adapter.name} ${cmd}\` — ${desc}`);
181
+ }
182
+ }
183
+ lines.push("");
184
+ lines.push("## Self-Repair");
185
+ lines.push("");
186
+ lines.push("On failure, structured JSON errors include `adapter_path` and `suggestion`.");
187
+ lines.push("Read the adapter file, fix, and retry. Automated: `unicli repair <site> <command>`.");
188
+ lines.push("");
189
+ return lines.join("\n");
190
+ }
191
+ function formatOpenclaw(ctx) {
192
+ const skills = ctx.commandList.map((cmd) => ({
193
+ name: `unicli_${cmd.site}_${cmd.command}`,
194
+ display_name: `${cmd.site} ${cmd.command}`,
195
+ description: cmd.description,
196
+ command: `unicli ${cmd.site} ${cmd.command}`,
197
+ auth_required: cmd.auth,
198
+ tags: [cmd.site, cmd.type],
199
+ }));
200
+ const metadata = {
201
+ name: "unicli",
202
+ version: ctx.version,
203
+ description: `CLI interface to ${ctx.sites} websites and services`,
204
+ install: "npm i -g @zenalexa/unicli",
205
+ mcp: mcpConfigObject(),
206
+ self_repair: {
207
+ description: "On failure, read the YAML adapter at the error's adapter_path and fix the selector or URL",
208
+ command: "unicli repair <site> <command>",
209
+ },
210
+ site_count: ctx.sites,
211
+ command_count: ctx.commands,
212
+ skills,
213
+ generated: ctx.date,
214
+ };
215
+ return JSON.stringify(metadata, null, 2) + "\n";
216
+ }
217
+ function formatHermes(ctx) {
218
+ const lines = [];
219
+ // YAML config snippet
220
+ lines.push("# config.yaml — MCP server configuration for Hermes");
221
+ lines.push("mcp_servers:");
222
+ lines.push(" unicli:");
223
+ lines.push(' command: "npx"');
224
+ lines.push(" args:");
225
+ lines.push(' - "-y"');
226
+ lines.push(' - "@zenalexa/unicli"');
227
+ lines.push(' - "mcp"');
228
+ lines.push(' - "serve"');
229
+ lines.push("");
230
+ lines.push("# ---");
231
+ lines.push("");
232
+ // Context file
233
+ lines.push("# Uni-CLI Context");
234
+ lines.push("");
235
+ lines.push(`Uni-CLI provides ${ctx.commands} commands across ${ctx.sites} sites.`);
236
+ lines.push("");
237
+ lines.push("## Installation");
238
+ lines.push("");
239
+ lines.push("```bash");
240
+ lines.push("npm i -g @zenalexa/unicli");
241
+ lines.push("```");
242
+ lines.push("");
243
+ lines.push("## Usage");
244
+ lines.push("");
245
+ lines.push("```bash");
246
+ lines.push("unicli <site> <command> [args]");
247
+ lines.push("```");
248
+ lines.push("");
249
+ lines.push("## Available Sites");
250
+ lines.push("");
251
+ for (const adapter of ctx.adapters) {
252
+ const cmds = Object.keys(adapter.commands).sort().join(", ");
253
+ lines.push(`- ${adapter.name}: ${cmds}`);
254
+ }
255
+ lines.push("");
256
+ lines.push("## Self-Repair");
257
+ lines.push("");
258
+ lines.push("On failure, read the YAML adapter at the error's `adapter_path` field and fix the issue.");
259
+ lines.push("Automated repair: `unicli repair <site> <command>`.");
260
+ lines.push("");
261
+ return lines.join("\n");
262
+ }
263
+ function formatOpencode(ctx) {
264
+ const config = {
265
+ $schema: "https://opencode.ai/config.schema.json",
266
+ mcpServers: {
267
+ unicli: {
268
+ command: "npx",
269
+ args: ["-y", "@zenalexa/unicli", "mcp", "serve"],
270
+ },
271
+ },
272
+ // Context comments embedded as description fields
273
+ _unicli: {
274
+ version: ctx.version,
275
+ sites: ctx.sites,
276
+ commands: ctx.commands,
277
+ install: "npm i -g @zenalexa/unicli",
278
+ usage: "unicli <site> <command> [args]",
279
+ self_repair: "On failure, read YAML adapter at error's adapter_path and fix. Or: unicli repair <site> <command>",
280
+ },
281
+ };
282
+ // JSONC format — with comments
283
+ const lines = [];
284
+ lines.push("// opencode.jsonc — Uni-CLI MCP server configuration");
285
+ lines.push(`// ${ctx.sites} sites, ${ctx.commands} commands available`);
286
+ lines.push(`// Install: npm i -g @zenalexa/unicli`);
287
+ lines.push(JSON.stringify(config, null, 2));
288
+ lines.push("");
289
+ return lines.join("\n");
290
+ }
291
+ function formatCursor(ctx) {
292
+ const lines = [
293
+ "# Uni-CLI Integration Rules",
294
+ "",
295
+ `Uni-CLI provides ${ctx.commands} commands across ${ctx.sites} sites.`,
296
+ "Use `unicli <site> <command>` to interact with websites and services.",
297
+ "Piped output is always JSON — no flags needed.",
298
+ "",
299
+ "## Installation",
300
+ "",
301
+ "```bash",
302
+ "npm i -g @zenalexa/unicli",
303
+ "```",
304
+ "",
305
+ "## Available Sites",
306
+ "",
307
+ ];
308
+ for (const adapter of ctx.adapters) {
309
+ const cmds = Object.keys(adapter.commands).sort().join(", ");
310
+ lines.push(`- **${adapter.name}**: ${cmds}`);
311
+ }
312
+ lines.push("");
313
+ lines.push("## Self-Repair");
314
+ lines.push("On failure, unicli outputs structured JSON to stderr with `adapter_path` and `suggestion` fields.");
315
+ lines.push("Read the YAML adapter at that path to understand and fix the issue.");
316
+ lines.push("Automated: `unicli repair <site> <command>`.");
317
+ lines.push("");
318
+ return lines.join("\n");
319
+ }
320
+ function formatGoose(ctx) {
321
+ const lines = [
322
+ "name: unicli",
323
+ `description: ${JSON.stringify(`CLI interface to ${ctx.sites} websites and services`)}`,
324
+ `version: ${JSON.stringify(ctx.version)}`,
325
+ `install: ${JSON.stringify("npm i -g @zenalexa/unicli")}`,
326
+ `self_repair: ${JSON.stringify("unicli repair <site> <command>")}`,
327
+ "tools:",
328
+ ];
329
+ for (const cmd of ctx.commandList) {
330
+ lines.push(` - name: unicli_${cmd.site}_${cmd.command}`);
331
+ lines.push(` command: ${JSON.stringify(`unicli ${cmd.site} ${cmd.command}`)}`);
332
+ lines.push(` description: ${JSON.stringify(cmd.description)}`);
333
+ }
334
+ return lines.join("\n") + "\n";
335
+ }
336
+ // ── Platform registry ─────────────────────────────────────────────────────
337
+ const PLATFORMS = [
338
+ "generic",
339
+ "claude",
340
+ "codex",
341
+ "openclaw",
342
+ "hermes",
343
+ "opencode",
344
+ "cursor",
345
+ "goose",
346
+ ];
347
+ const formatters = {
348
+ generic: formatGeneric,
349
+ claude: formatClaude,
350
+ codex: formatCodex,
351
+ openclaw: formatOpenclaw,
352
+ hermes: formatHermes,
353
+ opencode: formatOpencode,
354
+ cursor: formatCursor,
355
+ goose: formatGoose,
356
+ };
357
+ // ── Command registration ──────────────────────────────────────────────────
15
358
  export function registerAgentsCommand(program) {
16
359
  const agents = program
17
360
  .command("agents")
18
361
  .description("AGENTS.md generation and management");
19
362
  agents
20
363
  .command("generate")
21
- .description("Auto-generate AGENTS.md from loaded adapters")
22
- .option("--output <path>", "output file path", "AGENTS.md")
23
- .option("--for <harness>", "target harness format (claude|cursor|codex|goose|generic)")
364
+ .description("Auto-generate discovery files from loaded adapters")
365
+ .option("--output <path>", "write to file instead of stdout")
366
+ .option("--for <platform>", `target platform (${PLATFORMS.join("|")})`, "generic")
24
367
  .action((opts) => {
25
- const harness = opts.for ?? "claude";
26
- if (!["claude", "cursor", "codex", "goose", "generic"].includes(harness)) {
27
- console.error(chalk.red(`Unknown harness: ${harness}. Available: claude, cursor, codex, goose, generic`));
368
+ const platform = opts.for;
369
+ if (!PLATFORMS.includes(platform)) {
370
+ console.error(chalk.red(`Unknown platform: ${platform}. Available: ${PLATFORMS.join(", ")}`));
28
371
  process.exitCode = 1;
29
372
  return;
30
373
  }
31
374
  const adapters = getAllAdapters();
32
- const commands = listCommands();
375
+ const commandList = listCommands();
33
376
  if (adapters.length === 0) {
34
377
  console.error(chalk.red("No adapters loaded"));
35
378
  process.exit(1);
36
379
  }
37
- const siteCount = adapters.length;
38
- const cmdCount = commands.length;
39
- const date = new Date().toISOString().split("T")[0];
40
- // Group adapters by category
41
- const categories = new Map();
42
- for (const adapter of adapters) {
43
- const cat = adapter.category ?? "Uncategorized";
44
- const group = categories.get(cat);
45
- if (group) {
46
- group.push(adapter);
47
- }
48
- else {
49
- categories.set(cat, [adapter]);
50
- }
51
- }
52
- // Build AGENTS.md content
53
- const lines = [];
54
- lines.push(`<!-- unicli v${VERSION} | ${siteCount} sites | ${cmdCount} commands -->`);
55
- lines.push("# AGENTS.md — Uni-CLI Capability Discovery");
56
- lines.push("");
57
- lines.push("> Auto-generated. Do not edit manually.");
58
- lines.push("> Regenerate with: `unicli agents generate`");
59
- lines.push("");
60
- // Sites by Category
61
- lines.push("## Sites by Category");
62
- lines.push("");
63
- const sortedCategories = Array.from(categories.entries()).sort(([a], [b]) => a.localeCompare(b));
64
- for (const [category, adaptersInCat] of sortedCategories) {
65
- lines.push(`### ${category}`);
66
- lines.push("");
67
- lines.push("| Site | Commands | Auth | Description |");
68
- lines.push("|------|----------|------|-------------|");
69
- const sorted = adaptersInCat.sort((a, b) => a.name.localeCompare(b.name));
70
- for (const adapter of sorted) {
71
- const cmdNames = Object.keys(adapter.commands).sort().join(", ");
72
- const auth = adapter.strategy ?? "public";
73
- const desc = adapter.description ?? "";
74
- lines.push(`| ${adapter.name} | ${cmdNames} | ${auth} | ${desc} |`);
75
- }
76
- lines.push("");
77
- }
78
- // All Commands
79
- lines.push("## All Commands");
80
- lines.push("");
81
- lines.push("| Site | Command | Description | Auth |");
82
- lines.push("|------|---------|-------------|------|");
83
- for (const cmd of commands) {
84
- const auth = cmd.auth ? "yes" : "no";
85
- lines.push(`| ${cmd.site} | ${cmd.command} | ${cmd.description} | ${auth} |`);
380
+ const ctx = {
381
+ sites: adapters.length,
382
+ commands: commandList.length,
383
+ version: VERSION,
384
+ date: new Date().toISOString().split("T")[0],
385
+ adapters,
386
+ commandList,
387
+ };
388
+ const content = formatters[platform](ctx);
389
+ if (opts.output) {
390
+ const outPath = resolve(opts.output);
391
+ writeFileSync(outPath, content, "utf-8");
392
+ console.error(chalk.green(`Generated ${outPath} (${ctx.sites} sites, ${ctx.commands} commands, format: ${platform})`));
86
393
  }
87
- lines.push("");
88
- lines.push("---");
89
- lines.push(`<!-- Generated by Uni-CLI v${VERSION} on ${date} -->`);
90
- lines.push("");
91
- // Transform content based on target harness
92
- let content;
93
- const baseContent = lines.join("\n");
94
- switch (harness) {
95
- case "cursor": {
96
- // Cursor Rules format — .cursorrules file
97
- const cursorLines = [
98
- "# Uni-CLI Integration Rules",
99
- "",
100
- `Uni-CLI provides ${cmdCount} commands across ${siteCount} sites.`,
101
- "Use `unicli <site> <command>` to interact with websites and services.",
102
- "Pipe output is always JSON — no flags needed.",
103
- "",
104
- "## Available Sites",
105
- "",
106
- ];
107
- for (const adapter of adapters) {
108
- const cmds = Object.keys(adapter.commands).sort().join(", ");
109
- cursorLines.push(`- **${adapter.name}**: ${cmds}`);
110
- }
111
- cursorLines.push("");
112
- cursorLines.push("## Error Handling");
113
- cursorLines.push("On failure, unicli outputs structured JSON to stderr with `adapter_path` and `suggestion` fields.");
114
- cursorLines.push("Read the YAML adapter at that path to understand and fix the issue.");
115
- content = cursorLines.join("\n");
116
- break;
117
- }
118
- case "codex": {
119
- // Codex-optimized format — concise, tool-use oriented
120
- const codexLines = [
121
- `# unicli — ${siteCount} sites, ${cmdCount} commands`,
122
- "",
123
- "## Usage",
124
- "```",
125
- "unicli <site> <command> [args] [--json]",
126
- "```",
127
- "",
128
- "Piped output auto-switches to JSON. Exit codes follow sysexits.h.",
129
- "",
130
- "## Sites",
131
- "",
132
- ];
133
- for (const adapter of adapters) {
134
- codexLines.push(`### ${adapter.name}`);
135
- for (const [cmd, info] of Object.entries(adapter.commands)) {
136
- const desc = info.description ?? "";
137
- codexLines.push(`- \`unicli ${adapter.name} ${cmd}\` — ${desc}`);
138
- }
139
- }
140
- content = codexLines.join("\n");
141
- break;
142
- }
143
- case "goose": {
144
- // Goose recipe format
145
- const gooseLines = [
146
- "name: unicli",
147
- `description: CLI interface to ${siteCount} websites and services`,
148
- "version: " + VERSION,
149
- "tools:",
150
- ];
151
- for (const cmd of commands) {
152
- gooseLines.push(` - name: unicli_${cmd.site}_${cmd.command}`);
153
- gooseLines.push(` command: unicli ${cmd.site} ${cmd.command}`);
154
- gooseLines.push(` description: ${cmd.description}`);
155
- }
156
- content = gooseLines.join("\n");
157
- break;
158
- }
159
- case "generic":
160
- content = baseContent;
161
- break;
162
- default:
163
- content = baseContent;
394
+ else {
395
+ // Print to stdout so agents can redirect
396
+ process.stdout.write(content);
164
397
  }
165
- const outPath = resolve(opts.output);
166
- writeFileSync(outPath, content, "utf-8");
167
- // Summary to stderr so it doesn't pollute piped output
168
- console.error(chalk.green(`Generated ${outPath} (${siteCount} sites, ${cmdCount} commands, format: ${harness})`));
169
398
  });
170
399
  }
171
400
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEtD,MAAM;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,CAAC;SAC1D,MAAM,CACL,iBAAiB,EACjB,2DAA2D,CAC5D;SACA,MAAM,CAAC,CAAC,IAAsC,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;QACrC,IACE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EACpE,CAAC;YACD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,oBAAoB,OAAO,oDAAoD,CAChF,CACF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAEhC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;QACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CACR,gBAAgB,OAAO,MAAM,SAAS,YAAY,QAAQ,eAAe,CAC1E,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,oBAAoB;QACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAC5D,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACjC,CAAC;QAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B,CAAC;YAEF,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEtD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,WAAW,MAAM,IAAI,IAAI,CAClE,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,8BAA8B,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,4CAA4C;QAC5C,IAAI,OAAe,CAAC;QACpB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,0CAA0C;gBAC1C,MAAM,WAAW,GAAG;oBAClB,6BAA6B;oBAC7B,EAAE;oBACF,oBAAoB,QAAQ,oBAAoB,SAAS,SAAS;oBAClE,uEAAuE;oBACvE,+CAA+C;oBAC/C,EAAE;oBACF,oBAAoB;oBACpB,EAAE;iBACH,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC7D,WAAW,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACtC,WAAW,CAAC,IAAI,CACd,mGAAmG,CACpG,CAAC;gBACF,WAAW,CAAC,IAAI,CACd,qEAAqE,CACtE,CAAC;gBACF,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,sDAAsD;gBACtD,MAAM,UAAU,GAAG;oBACjB,cAAc,SAAS,WAAW,QAAQ,WAAW;oBACrD,EAAE;oBACF,UAAU;oBACV,KAAK;oBACL,yCAAyC;oBACzC,KAAK;oBACL,EAAE;oBACF,mEAAmE;oBACnE,EAAE;oBACF,UAAU;oBACV,EAAE;iBACH,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3D,MAAM,IAAI,GAAI,IAAiC,CAAC,WAAW,IAAI,EAAE,CAAC;wBAClE,UAAU,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,sBAAsB;gBACtB,MAAM,UAAU,GAAG;oBACjB,cAAc;oBACd,iCAAiC,SAAS,wBAAwB;oBAClE,WAAW,GAAG,OAAO;oBACrB,QAAQ;iBACT,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/D,UAAU,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,UAAU,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,KAAK,SAAS;gBACZ,OAAO,GAAG,WAAW,CAAC;gBACtB,MAAM;YACR;gBACE,OAAO,GAAG,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzC,uDAAuD;QACvD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,KAAK,CACT,aAAa,OAAO,KAAK,SAAS,WAAW,QAAQ,sBAAsB,OAAO,GAAG,CACtF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAc1C,6EAA6E;AAE7E,SAAS,eAAe;IACtB,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC;QAChD,GAAG,EAAE,EAAE;KACR,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E,SAAS,aAAa,CAAC,GAAoB;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CACR,gBAAgB,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,KAAK,YAAY,GAAG,CAAC,QAAQ,eAAe,CAClF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAEtD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,WAAW,MAAM,IAAI,IAAI,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,6GAA6G,CAC9G,CAAC;IACF,KAAK,CAAC,IAAI,CACR,qEAAqE,CACtE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,oBAAoB,GAAG,CAAC,QAAQ,oBAAoB,GAAG,CAAC,KAAK,iBAAiB,CAC/E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,kEAAkE,CACnE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,4FAA4F,CAC7F,CAAC;IACF,KAAK,CAAC,IAAI,CACR,wGAAwG,CACzG,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CACR,8BAA8B,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,IAAI,MAAM,CAC/D,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,WAAW,GAAG,CAAC,QAAQ,WAAW,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,6EAA6E,CAC9E,CAAC;IACF,KAAK,CAAC,IAAI,CACR,qFAAqF,CACtF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,GAAoB;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;QACzC,YAAY,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;QAC5C,aAAa,EAAE,GAAG,CAAC,IAAI;QACvB,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,oBAAoB,GAAG,CAAC,KAAK,wBAAwB;QAClE,OAAO,EAAE,2BAA2B;QACpC,GAAG,EAAE,eAAe,EAAE;QACtB,WAAW,EAAE;YACX,WAAW,EACT,2FAA2F;YAC7F,OAAO,EAAE,gCAAgC;SAC1C;QACD,UAAU,EAAE,GAAG,CAAC,KAAK;QACrB,aAAa,EAAE,GAAG,CAAC,QAAQ;QAC3B,MAAM;QACN,SAAS,EAAE,GAAG,CAAC,IAAI;KACpB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,oBAAoB,GAAG,CAAC,QAAQ,oBAAoB,GAAG,CAAC,KAAK,SAAS,CACvE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,0FAA0F,CAC3F,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,GAAoB;IAC1C,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC;aACjD;SACF;QACD,kDAAkD;QAClD,OAAO,EAAE;YACP,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,2BAA2B;YACpC,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACT,mGAAmG;SACtG;KACF,CAAC;IAEF,+BAA+B;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,WAAW,GAAG,CAAC,QAAQ,qBAAqB,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,EAAE;QACF,oBAAoB,GAAG,CAAC,QAAQ,oBAAoB,GAAG,CAAC,KAAK,SAAS;QACtE,uEAAuE;QACvE,gDAAgD;QAChD,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,SAAS;QACT,2BAA2B;QAC3B,KAAK;QACL,EAAE;QACF,oBAAoB;QACpB,EAAE;KACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CACR,mGAAmG,CACpG,CAAC;IACF,KAAK,CAAC,IAAI,CACR,qEAAqE,CACtE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,MAAM,KAAK,GAAG;QACZ,cAAc;QACd,gBAAgB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,CAAC,KAAK,wBAAwB,CAAC,EAAE;QACvF,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACzC,YAAY,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,EAAE;QACzD,gBAAgB,IAAI,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAAE;QAClE,QAAQ;KACT,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,6EAA6E;AAE7E,MAAM,SAAS,GAAG;IAChB,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;CACC,CAAC;AAIX,MAAM,UAAU,GAAuD;IACrE,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,6EAA6E;AAE7E,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEtD,MAAM;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CACL,kBAAkB,EAClB,oBAAoB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAC1C,SAAS,CACV;SACA,MAAM,CAAC,CAAC,IAAsC,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAe,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,qBAAqB,QAAQ,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CACF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;QAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAoB;YAC3B,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC5B,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,KAAK,CACT,aAAa,OAAO,KAAK,GAAG,CAAC,KAAK,WAAW,GAAG,CAAC,QAAQ,sBAAsB,QAAQ,GAAG,CAC3F,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,15 +1,14 @@
1
1
  /**
2
2
  * MCP gateway CLI — wrapper around src/mcp/server.ts.
3
3
  *
4
- * unicli mcp serve [--transport stdio|http] [--port 19826] [--lazy]
5
- * unicli mcp health # list registered tools (no server)
4
+ * unicli mcp serve [--transport stdio|http] [--port 19826] [--expanded]
5
+ * unicli mcp health # pre-flight check (no server)
6
6
  *
7
7
  * `serve` shells out to the same `src/mcp/server.ts` entry point as
8
8
  * `npm run mcp` so the two paths share exactly one implementation.
9
9
  *
10
10
  * `health` is intentionally fast and offline: it loads adapters into the
11
- * registry and prints the same tool list the server would build, without
12
- * binding stdio or HTTP. Useful as a Claude Desktop / Cursor pre-flight.
11
+ * registry and prints a structured health report. Exit 0 if healthy, 1 if not.
13
12
  */
14
13
  import type { Command } from "commander";
15
14
  export declare function registerMcpCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+GzD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyGzD"}