@soku-ai/cli 0.1.0-alpha.0 → 0.1.0-alpha.10

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 (92) hide show
  1. package/dist/auth/device.d.ts +9 -0
  2. package/dist/auth/device.d.ts.map +1 -1
  3. package/dist/auth/device.js +6 -1
  4. package/dist/auth/device.js.map +1 -1
  5. package/dist/commands/ads.d.ts +32 -0
  6. package/dist/commands/ads.d.ts.map +1 -0
  7. package/dist/commands/ads.js +752 -0
  8. package/dist/commands/ads.js.map +1 -0
  9. package/dist/commands/auth.d.ts +2 -0
  10. package/dist/commands/auth.d.ts.map +1 -1
  11. package/dist/commands/auth.js +28 -7
  12. package/dist/commands/auth.js.map +1 -1
  13. package/dist/commands/automation.d.ts +80 -0
  14. package/dist/commands/automation.d.ts.map +1 -0
  15. package/dist/commands/automation.js +213 -0
  16. package/dist/commands/automation.js.map +1 -0
  17. package/dist/commands/brand-skill.d.ts +72 -0
  18. package/dist/commands/brand-skill.d.ts.map +1 -0
  19. package/dist/commands/brand-skill.js +351 -0
  20. package/dist/commands/brand-skill.js.map +1 -0
  21. package/dist/commands/brand.d.ts.map +1 -1
  22. package/dist/commands/brand.js +59 -1
  23. package/dist/commands/brand.js.map +1 -1
  24. package/dist/commands/call.d.ts.map +1 -1
  25. package/dist/commands/call.js +6 -3
  26. package/dist/commands/call.js.map +1 -1
  27. package/dist/commands/context.d.ts +23 -0
  28. package/dist/commands/context.d.ts.map +1 -0
  29. package/dist/commands/context.js +291 -0
  30. package/dist/commands/context.js.map +1 -0
  31. package/dist/commands/files.d.ts +10 -0
  32. package/dist/commands/files.d.ts.map +1 -0
  33. package/dist/commands/files.js +48 -0
  34. package/dist/commands/files.js.map +1 -0
  35. package/dist/commands/generated.d.ts +24 -3
  36. package/dist/commands/generated.d.ts.map +1 -1
  37. package/dist/commands/generated.js +97 -10
  38. package/dist/commands/generated.js.map +1 -1
  39. package/dist/commands/memory.d.ts +18 -0
  40. package/dist/commands/memory.d.ts.map +1 -0
  41. package/dist/commands/memory.js +70 -0
  42. package/dist/commands/memory.js.map +1 -0
  43. package/dist/commands/review.d.ts.map +1 -1
  44. package/dist/commands/review.js +46 -2
  45. package/dist/commands/review.js.map +1 -1
  46. package/dist/commands/seo-hosting.d.ts +107 -0
  47. package/dist/commands/seo-hosting.d.ts.map +1 -0
  48. package/dist/commands/seo-hosting.js +499 -0
  49. package/dist/commands/seo-hosting.js.map +1 -0
  50. package/dist/commands/skill.d.ts +50 -6
  51. package/dist/commands/skill.d.ts.map +1 -1
  52. package/dist/commands/skill.js +120 -56
  53. package/dist/commands/skill.js.map +1 -1
  54. package/dist/commands/update.d.ts +23 -0
  55. package/dist/commands/update.d.ts.map +1 -0
  56. package/dist/commands/update.js +345 -0
  57. package/dist/commands/update.js.map +1 -0
  58. package/dist/commands/workspace.d.ts +4 -0
  59. package/dist/commands/workspace.d.ts.map +1 -0
  60. package/dist/commands/workspace.js +132 -0
  61. package/dist/commands/workspace.js.map +1 -0
  62. package/dist/config.d.ts +5 -4
  63. package/dist/config.d.ts.map +1 -1
  64. package/dist/config.js +5 -7
  65. package/dist/config.js.map +1 -1
  66. package/dist/generated/capabilities.json +291 -30
  67. package/dist/http/client.d.ts.map +1 -1
  68. package/dist/http/client.js +74 -16
  69. package/dist/http/client.js.map +1 -1
  70. package/dist/index.js +35 -3
  71. package/dist/index.js.map +1 -1
  72. package/dist/output/envelope.d.ts +5 -0
  73. package/dist/output/envelope.d.ts.map +1 -1
  74. package/dist/output/envelope.js +101 -2
  75. package/dist/output/envelope.js.map +1 -1
  76. package/dist/output/unwrap.d.ts.map +1 -1
  77. package/dist/output/unwrap.js +18 -1
  78. package/dist/output/unwrap.js.map +1 -1
  79. package/dist/skills/unzip.d.ts +1 -1
  80. package/dist/skills/unzip.js +1 -1
  81. package/dist/update-check.d.ts +0 -1
  82. package/dist/update-check.d.ts.map +1 -1
  83. package/dist/update-check.js +6 -55
  84. package/dist/update-check.js.map +1 -1
  85. package/dist/version.d.ts +1 -1
  86. package/dist/version.d.ts.map +1 -1
  87. package/dist/version.js +1 -1
  88. package/dist/version.js.map +1 -1
  89. package/package.json +7 -4
  90. package/postinstall.cjs +85 -0
  91. package/skills/soku/SKILL.md +254 -18
  92. package/README.md +0 -91
@@ -1,33 +1,34 @@
1
1
  /** `soku skill` — discover and install Soku skills into an AI client.
2
2
  *
3
- * - `soku skill list` browse the public skill catalog (CDN)
3
+ * - `soku skill list` browse the public Soku skill catalog
4
4
  * - `soku skill install <slug...>` download + install business skills
5
5
  * - `soku skill install --all` install the whole catalog
6
6
  * - `soku skill install` (no slug) install just the bundled `soku` meta-skill
7
- * - `soku skill installed` / `remove` manage what's installed locally
7
+ * - `soku skill status` / `remove` manage what's installed locally
8
8
  *
9
- * Business skills are fetched as per-skill zips from a public CDN
10
- * (`cdn.soku.ai/skills/`), already translated to CLI-native at pack time. We
11
- * verify the sha256 from index.json, unzip safely, and drop each business skill
12
- * into `<skillsDir>/soku/<slug>/` with a top-level symlink
9
+ * Business skills are fetched as per-skill zips from the public Soku skill
10
+ * catalog, already translated to CLI-native at pack time. We verify the sha256
11
+ * from index.json, unzip safely, and drop each business skill into
12
+ * `<skillsDir>/soku/<slug>/` with a top-level symlink
13
13
  * `<skillsDir>/soku-<slug> -> soku/<slug>`. The bundled `soku` meta-skill (how
14
14
  * to drive the CLI) ships in the npm package and is installed as a prerequisite. */
15
15
  import { createHash } from 'node:crypto';
16
- import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, symlinkSync, writeFileSync } from 'node:fs';
16
+ import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, symlinkSync, writeFileSync } from 'node:fs';
17
17
  import { homedir } from 'node:os';
18
18
  import { dirname, join } from 'node:path';
19
19
  import { fileURLToPath } from 'node:url';
20
20
  import { resolveSkillsBaseUrl } from '../config.js';
21
- import { dim, emitError, emitSuccess, ExitCode, table } from '../output/envelope.js';
21
+ import { dim, emitError, emitSuccess, ExitCode, green, table } from '../output/envelope.js';
22
22
  import { safeUnzip, UnzipError } from '../skills/unzip.js';
23
- const SOKU_META = 'soku';
24
- const MANIFEST_FILE = '.soku-skills.json';
25
- const PROJECT_DIRS = {
23
+ export const SOKU_META = 'soku';
24
+ export const MANIFEST_FILE = '.soku-skills.json';
25
+ export const AGENTS = ['claude', 'codex', 'cursor'];
26
+ export const PROJECT_DIRS = {
26
27
  claude: '.claude/skills',
27
28
  codex: '.codex/skills',
28
29
  cursor: '.cursor/skills',
29
30
  };
30
- const GLOBAL_DIRS = {
31
+ export const GLOBAL_DIRS = {
31
32
  claude: join(homedir(), '.claude/skills'),
32
33
  codex: join(homedir(), '.codex/skills'),
33
34
  cursor: join(homedir(), '.cursor/skills'),
@@ -41,21 +42,21 @@ function bundledSkillDir() {
41
42
  ];
42
43
  return candidates.find((c) => existsSync(join(c, 'SKILL.md'))) ?? candidates[0];
43
44
  }
44
- function baseDirFor(agent, global) {
45
+ export function baseDirFor(agent, global) {
45
46
  return global ? GLOBAL_DIRS[agent] : PROJECT_DIRS[agent];
46
47
  }
47
- function parseAgents(value) {
48
+ export function parseAgents(value) {
48
49
  if (value === 'all')
49
- return ['claude', 'codex', 'cursor'];
50
+ return AGENTS;
50
51
  if (value === 'claude' || value === 'codex' || value === 'cursor')
51
52
  return [value];
52
53
  return emitError('usage', `Unknown agent: ${value}. Use claude | codex | cursor | all.`, ExitCode.USAGE);
53
54
  }
54
55
  // Slugs become path segments (`soku-<slug>/`), so they must never contain
55
56
  // traversal or separators. Mirrors the server catalog's SLUG_PATTERN. We do not
56
- // trust the slug just because it came from index.json — the CDN base url is
57
- // overridable (SOKU_SKILLS_URL), and a poisoned index could otherwise escape
58
- // the skills dir. `remove` validates the user-supplied slug for the same reason.
57
+ // trust the slug just because it came from index.json — the catalog base url is
58
+ // overridable (SOKU_SKILLS_URL), and a poisoned index could otherwise escape the
59
+ // skills dir. `remove` validates the user-supplied slug for the same reason.
59
60
  const SLUG_PATTERN = /^[a-z0-9][a-z0-9_-]{0,63}$/;
60
61
  /** A slug is safe to use as a path segment (no traversal/separators). Exported for tests. */
61
62
  export function isSafeSlug(slug) {
@@ -66,10 +67,10 @@ function assertSafeSlug(slug, origin) {
66
67
  emitError('invalid_slug', `Refusing unsafe skill slug (${origin}): ${slug}`, ExitCode.USAGE);
67
68
  }
68
69
  }
69
- function manifestPath(baseDir) {
70
+ export function manifestPath(baseDir) {
70
71
  return join(baseDir, MANIFEST_FILE);
71
72
  }
72
- function loadManifest(baseDir) {
73
+ export function loadManifest(baseDir) {
73
74
  try {
74
75
  return JSON.parse(readFileSync(manifestPath(baseDir), 'utf8'));
75
76
  }
@@ -77,9 +78,14 @@ function loadManifest(baseDir) {
77
78
  return {};
78
79
  }
79
80
  }
80
- function saveManifest(baseDir, manifest) {
81
+ export function saveManifest(baseDir, manifest) {
82
+ const path = manifestPath(baseDir);
83
+ if (Object.keys(manifest).length === 0) {
84
+ rmSync(path, { force: true });
85
+ return;
86
+ }
81
87
  mkdirSync(baseDir, { recursive: true });
82
- writeFileSync(manifestPath(baseDir), `${JSON.stringify(manifest, null, 2)}\n`);
88
+ writeFileSync(path, `${JSON.stringify(manifest, null, 2)}\n`);
83
89
  }
84
90
  function sokuDir(baseDir) {
85
91
  return join(baseDir, SOKU_META);
@@ -90,17 +96,57 @@ function businessSkillDir(baseDir, slug) {
90
96
  function businessSkillLink(baseDir, slug) {
91
97
  return join(baseDir, `soku-${slug}`);
92
98
  }
99
+ export function agentSkillName(slug) {
100
+ return slug === SOKU_META ? SOKU_META : `soku-${slug}`;
101
+ }
93
102
  function removeMetaSokuFiles(dest) {
94
- rmSync(join(dest, 'SKILL.md'), { force: true });
95
- rmSync(join(dest, 'references'), { recursive: true, force: true });
103
+ const removed = [];
104
+ const skillFile = join(dest, 'SKILL.md');
105
+ const referencesDir = join(dest, 'references');
106
+ if (existsSync(skillFile)) {
107
+ rmSync(skillFile, { force: true });
108
+ removed.push(skillFile);
109
+ }
110
+ if (existsSync(referencesDir)) {
111
+ rmSync(referencesDir, { recursive: true, force: true });
112
+ removed.push(referencesDir);
113
+ }
114
+ return removed;
96
115
  }
97
- async function fetchIndex(base) {
116
+ function removeEmptySokuDir(baseDir) {
117
+ const dir = sokuDir(baseDir);
118
+ try {
119
+ if (readdirSync(dir).length === 0) {
120
+ rmSync(dir, { recursive: true, force: true });
121
+ }
122
+ }
123
+ catch {
124
+ // Missing or unreadable directories are treated as already absent.
125
+ }
126
+ }
127
+ function renderPathChanges(action, paths) {
128
+ if (paths.length === 0)
129
+ return dim('No matching Soku-managed skill files found.');
130
+ const noun = paths.length === 1 ? 'item' : 'items';
131
+ return [`${green('✓')} ${action} ${paths.length} ${noun}`, ...paths.map((path) => ` ${path}`)].join('\n');
132
+ }
133
+ function renderInstallResult(paths, slugs) {
134
+ const base = renderPathChanges('Installed', paths);
135
+ if (slugs.length === 0)
136
+ return base;
137
+ const names = slugs.map(agentSkillName);
138
+ const invocation = names.length <= 6
139
+ ? ['Agent invocation:', ...names.map((name) => ` use @${name} skill`)].join('\n')
140
+ : 'Agent invocation names are Soku-prefixed, e.g. `use @soku-ads-report skill`; inspect with `soku skill status`.';
141
+ return `${base}\n\n${invocation}`;
142
+ }
143
+ export async function fetchIndex(base) {
98
144
  let res;
99
145
  try {
100
146
  res = await fetch(`${base}/index.json`);
101
147
  }
102
148
  catch (err) {
103
- return emitError('network_error', `Could not reach skill CDN ${base}: ${err.message}`, ExitCode.RUNTIME, 'Override with --skills-url or SOKU_SKILLS_URL.');
149
+ return emitError('network_error', `Could not reach skill catalog ${base}: ${err.message}`, ExitCode.RUNTIME, 'Override with --skills-url or SOKU_SKILLS_URL.');
104
150
  }
105
151
  if (!res.ok) {
106
152
  return emitError('index_unavailable', `Skill index not found at ${base}/index.json (HTTP ${res.status}).`, ExitCode.RUNTIME);
@@ -121,7 +167,7 @@ async function fetchZip(base, zip) {
121
167
  return new Uint8Array(await res.arrayBuffer());
122
168
  }
123
169
  /** Copy the bundled `soku` meta-skill into a client dir without deleting child skills. */
124
- function installMetaSoku(baseDir) {
170
+ export function installMetaSoku(baseDir) {
125
171
  const source = bundledSkillDir();
126
172
  if (!existsSync(join(source, 'SKILL.md'))) {
127
173
  return emitError('skill_not_bundled', `Bundled skill not found at ${source}.`, ExitCode.RUNTIME);
@@ -140,7 +186,7 @@ function installMetaSoku(baseDir) {
140
186
  return dest;
141
187
  }
142
188
  /** Download, verify, unzip, and install one business skill. */
143
- async function installBusinessSkill(baseDir, entry, base) {
189
+ export async function installBusinessSkill(baseDir, entry, base) {
144
190
  assertSafeSlug(entry.slug, 'catalog index');
145
191
  const data = await fetchZip(base, entry.zip);
146
192
  const sha = createHash('sha256').update(data).digest('hex');
@@ -173,7 +219,7 @@ async function installBusinessSkill(baseDir, entry, base) {
173
219
  version: entry.version ?? null,
174
220
  sha256: entry.sha256,
175
221
  installed_at: new Date().toISOString(),
176
- source: 'cdn',
222
+ source: 'catalog',
177
223
  };
178
224
  saveManifest(baseDir, manifest);
179
225
  return link;
@@ -194,23 +240,46 @@ function resolveTargets(index, slugs, all, category) {
194
240
  return entry;
195
241
  });
196
242
  }
243
+ function listInstalledSkills(opts) {
244
+ const [agent] = parseAgents(opts.agent === 'all' ? 'claude' : opts.agent);
245
+ const baseDir = baseDirFor(agent, Boolean(opts.global));
246
+ const manifest = loadManifest(baseDir);
247
+ const rows = Object.entries(manifest).map(([slug, rec]) => ({
248
+ slug,
249
+ agent_name: agentSkillName(slug),
250
+ version: rec.version ?? '',
251
+ source: rec.source,
252
+ installed_at: rec.installed_at,
253
+ }));
254
+ emitSuccess({ baseDir, skills: rows, count: rows.length }, (d) => rows.length === 0
255
+ ? dim(`(no Soku skills in ${d.baseDir})`)
256
+ : table(d.skills, [
257
+ { key: 'slug', header: 'SLUG' },
258
+ { key: 'agent_name', header: 'AGENT NAME' },
259
+ { key: 'version', header: 'VERSION' },
260
+ { key: 'source', header: 'SOURCE' },
261
+ { key: 'installed_at', header: 'INSTALLED' },
262
+ ]));
263
+ }
197
264
  export function registerSkillCommand(program) {
198
265
  const skill = program.command('skill').description('Discover and install Soku skills into your AI client');
199
266
  skill
200
267
  .command('list')
201
268
  .description('Browse the public Soku skill catalog')
202
269
  .option('--category <category>', 'Filter by category')
203
- .option('--skills-url <url>', 'Override the skill CDN base url')
270
+ .option('--skills-url <url>', 'Override the skill catalog base url')
204
271
  .action(async (opts) => {
205
272
  const base = resolveSkillsBaseUrl(opts.skillsUrl);
206
273
  const index = await fetchIndex(base);
207
274
  const rows = index.skills.filter((e) => inCategory(e, opts.category));
208
275
  emitSuccess({ skills: rows, count: rows.length }, (d) => table(d.skills.map((s) => ({
209
276
  slug: s.slug,
277
+ agent_name: s.name,
210
278
  category: s.category ?? '',
211
279
  description: s.description.length > 70 ? `${s.description.slice(0, 67)}…` : s.description,
212
280
  })), [
213
281
  { key: 'slug', header: 'SLUG' },
282
+ { key: 'agent_name', header: 'AGENT NAME' },
214
283
  { key: 'category', header: 'CATEGORY' },
215
284
  { key: 'description', header: 'DESCRIPTION' },
216
285
  ]));
@@ -222,7 +291,7 @@ export function registerSkillCommand(program) {
222
291
  .option('--global', 'Install into the user-level (~) skills directory')
223
292
  .option('--all', 'Install the entire catalog')
224
293
  .option('--category <category>', 'With --all, limit to one category')
225
- .option('--skills-url <url>', 'Override the skill CDN base url')
294
+ .option('--skills-url <url>', 'Override the skill catalog base url')
226
295
  .action(async (slugs, opts) => {
227
296
  const agents = parseAgents(opts.agent);
228
297
  const installed = [];
@@ -230,7 +299,7 @@ export function registerSkillCommand(program) {
230
299
  if (slugs.length === 0 && !opts.all) {
231
300
  for (const agent of agents)
232
301
  installed.push(installMetaSoku(baseDirFor(agent, Boolean(opts.global))));
233
- emitSuccess({ installed });
302
+ emitSuccess({ installed }, (d) => renderPathChanges('Installed', d.installed));
234
303
  }
235
304
  const base = resolveSkillsBaseUrl(opts.skillsUrl);
236
305
  const index = await fetchIndex(base);
@@ -245,32 +314,27 @@ export function registerSkillCommand(program) {
245
314
  installed.push(await installBusinessSkill(baseDir, entry, base));
246
315
  }
247
316
  }
248
- emitSuccess({ installed, count: installed.length });
317
+ const installedSlugs = targets.map((entry) => entry.slug);
318
+ emitSuccess({ installed, count: installed.length, agent_skill_names: installedSlugs.map(agentSkillName) }, (d) => renderInstallResult(d.installed, installedSlugs));
249
319
  });
250
320
  skill
251
- .command('installed')
321
+ .command('status')
252
322
  .description('List skills installed locally')
253
323
  .option('--agent <agent>', 'claude | codex | cursor', 'claude')
254
324
  .option('--global', 'Inspect the user-level (~) skills directory')
255
- .action((opts) => {
256
- const [agent] = parseAgents(opts.agent === 'all' ? 'claude' : opts.agent);
257
- const baseDir = baseDirFor(agent, Boolean(opts.global));
258
- const manifest = loadManifest(baseDir);
259
- const rows = Object.entries(manifest).map(([slug, rec]) => ({
260
- slug,
261
- version: rec.version ?? '',
262
- source: rec.source,
263
- installed_at: rec.installed_at,
264
- }));
265
- emitSuccess({ baseDir, skills: rows, count: rows.length }, (d) => rows.length === 0
266
- ? dim(`(no Soku skills in ${d.baseDir})`)
267
- : table(d.skills, [
268
- { key: 'slug', header: 'SLUG' },
269
- { key: 'version', header: 'VERSION' },
270
- { key: 'source', header: 'SOURCE' },
271
- { key: 'installed_at', header: 'INSTALLED' },
272
- ]));
273
- });
325
+ .action((opts) => listInstalledSkills(opts));
326
+ skill
327
+ .command('list-installed')
328
+ .description('List skills installed locally')
329
+ .option('--agent <agent>', 'claude | codex | cursor', 'claude')
330
+ .option('--global', 'Inspect the user-level (~) skills directory')
331
+ .action((opts) => listInstalledSkills(opts));
332
+ skill
333
+ .command('installed', { hidden: true })
334
+ .description('Legacy alias for `soku skill status`')
335
+ .option('--agent <agent>', 'claude | codex | cursor', 'claude')
336
+ .option('--global', 'Inspect the user-level (~) skills directory')
337
+ .action((opts) => listInstalledSkills(opts));
274
338
  skill
275
339
  .command('remove <slug>')
276
340
  .description('Remove an installed skill')
@@ -285,8 +349,7 @@ export function registerSkillCommand(program) {
285
349
  if (slug === SOKU_META) {
286
350
  const dir = sokuDir(baseDir);
287
351
  if (existsSync(dir)) {
288
- removeMetaSokuFiles(dir);
289
- removed.push(dir);
352
+ removed.push(...removeMetaSokuFiles(dir));
290
353
  }
291
354
  }
292
355
  else {
@@ -306,8 +369,9 @@ export function registerSkillCommand(program) {
306
369
  delete manifest[slug];
307
370
  saveManifest(baseDir, manifest);
308
371
  }
372
+ removeEmptySokuDir(baseDir);
309
373
  }
310
- emitSuccess({ removed, count: removed.length });
374
+ emitSuccess({ removed, count: removed.length }, (d) => renderPathChanges('Removed', d.removed));
311
375
  });
312
376
  }
313
377
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;oFAaoF;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,SAAS,GAAG,MAAM,CAAA;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAIzC,MAAM,YAAY,GAA0B;IAC1C,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,gBAAgB;CACzB,CAAA;AAED,MAAM,WAAW,GAA0B;IACzC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC;IACzC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC;IACvC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC;CAC1C,CAAA;AAiCD,wEAAwE;AACxE,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;KAClD,CAAA;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,KAAY,EAAE,MAAe;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACzD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACjF,OAAO,SAAS,CAAC,OAAO,EAAE,kBAAkB,KAAK,sCAAsC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1G,CAAC;AAED,0EAA0E;AAC1E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,iFAAiF;AACjF,MAAM,YAAY,GAAG,4BAA4B,CAAA;AAEjD,6FAA6F;AAC7F,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,MAAc;IAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,cAAc,EAAE,+BAA+B,MAAM,MAAM,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAa,CAAA;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,QAAkB;IACvD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAY;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAY;IACtD,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,GAAa,CAAA;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,aAAa,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,SAAS,CACd,eAAe,EACf,6BAA6B,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,EAC9D,QAAQ,CAAC,OAAO,EAChB,gDAAgD,CACjD,CAAA;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,SAAS,CACd,mBAAmB,EACnB,4BAA4B,IAAI,qBAAqB,GAAG,CAAC,MAAM,IAAI,EACnE,QAAQ,CAAC,OAAO,CACjB,CAAA;IACH,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAA;AACzC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAW;IAC/C,IAAI,GAAa,CAAA;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,eAAe,EAAE,sBAAsB,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7G,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC,iBAAiB,EAAE,GAAG,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,0FAA0F;AAC1F,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,mBAAmB,EAAE,8BAA8B,MAAM,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;IACxD,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC/F,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+DAA+D;AAC/D,KAAK,UAAU,oBAAoB,CAAC,OAAe,EAAE,KAAiB,EAAE,IAAY;IAClF,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3D,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,SAAS,CACd,mBAAmB,EACnB,GAAG,KAAK,CAAC,IAAI,+BAA+B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EACnG,QAAQ,CAAC,OAAO,CACjB,CAAA;IACH,CAAC;IAED,IAAI,KAA8B,CAAA;IAClC,IAAI,CAAC;QACH,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtF,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IACD,WAAW,CAAC,GAAG,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;QACrB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE,KAAK;KACd,CAAA;IACD,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,QAAiB;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAA;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB,EAAE,KAAe,EAAE,GAAY,EAAE,QAAiB;IACzF,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;IACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,QAAQ,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAA;QACnI,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CAAA;IAE1G,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,IAA+C,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrE,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CACtD,KAAK,CACH,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SAC1F,CAAC,CAAC,EACH;YACE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAC/B,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE;YACvC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE;SAC9C,CACF,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,KAAK;SACF,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,gFAAgF,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,KAAK,CAAC;SACjE,MAAM,CAAC,UAAU,EAAE,kDAAkD,CAAC;SACtE,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,IAAiB,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,yEAAyE;QACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpG,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE9E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,2EAA2E;YAC3E,wDAAwD;YACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAAE,eAAe,CAAC,OAAO,CAAC,CAAA;YAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;QACD,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEJ,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,QAAQ,CAAC;SAC9D,MAAM,CAAC,UAAU,EAAE,6CAA6C,CAAC;SACjE,MAAM,CAAC,CAAC,IAAyC,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI;YACJ,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC,CAAA;QACH,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,KAAK,CAAC;YACf,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,OAAO,GAAG,CAAC;YACzC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;gBACd,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC/B,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACnC,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE;aAC7C,CAAC,CACP,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,KAAK;SACF,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,KAAK,CAAC;SACjE,MAAM,CAAC,UAAU,EAAE,iDAAiD,CAAC;SACrE,MAAM,CAAC,CAAC,IAAY,EAAE,IAAyC,EAAE,EAAE;QAClE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC5B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,mBAAmB,CAAC,GAAG,CAAC,CAAA;oBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC9C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;gBACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACnB,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACtC,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACrB,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** `soku update` — keep the CLI and locally installed Soku skills fresh. */
2
+ import { Command } from 'commander';
3
+ import { type Agent, type SkillIndex } from './skill.js';
4
+ export interface SkillTarget {
5
+ agent: Agent;
6
+ global: boolean;
7
+ baseDir: string;
8
+ }
9
+ export interface SkillUpdateResult {
10
+ agent: Agent;
11
+ global: boolean;
12
+ baseDir: string;
13
+ metaUpdated: boolean;
14
+ updated: string[];
15
+ unchanged: string[];
16
+ missing: string[];
17
+ }
18
+ export declare function isAutoUpdateDue(lastRunAt: string | undefined, now: Date, intervalHours: number): boolean;
19
+ export declare function updateSkillTarget(target: SkillTarget, base: string, index?: SkillIndex): Promise<SkillUpdateResult>;
20
+ export declare function maybeAutoUpdateSkills(): Promise<void>;
21
+ export declare function maybeAutoUpdateCli(): Promise<void>;
22
+ export declare function registerUpdateCommand(program: Command): void;
23
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAM5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAWL,KAAK,KAAK,EAEV,KAAK,UAAU,EAChB,MAAM,YAAY,CAAA;AAKnB,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAiDD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAKxG;AAmED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoCzH;AAmGD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBxD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwE5D"}