@modus-ai/modus 0.1.3 → 0.1.5

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 (39) hide show
  1. package/README.md +76 -28
  2. package/dist/cli/index.js +188 -12
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/doctor.d.ts +2 -0
  5. package/dist/commands/doctor.d.ts.map +1 -0
  6. package/dist/commands/doctor.js +180 -0
  7. package/dist/commands/doctor.js.map +1 -0
  8. package/dist/commands/init.d.ts +12 -0
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +260 -6
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/skill.d.ts +7 -0
  13. package/dist/commands/skill.d.ts.map +1 -0
  14. package/dist/commands/skill.js +175 -0
  15. package/dist/commands/skill.js.map +1 -0
  16. package/dist/commands/status.d.ts +2 -0
  17. package/dist/commands/status.d.ts.map +1 -0
  18. package/dist/commands/status.js +133 -0
  19. package/dist/commands/status.js.map +1 -0
  20. package/dist/generators/codebuddy.d.ts +7 -0
  21. package/dist/generators/codebuddy.d.ts.map +1 -1
  22. package/dist/generators/codebuddy.js +35 -3
  23. package/dist/generators/codebuddy.js.map +1 -1
  24. package/dist/utils/analytics.d.ts +14 -0
  25. package/dist/utils/analytics.d.ts.map +1 -0
  26. package/dist/utils/analytics.js +81 -0
  27. package/dist/utils/analytics.js.map +1 -0
  28. package/dist/utils/config.d.ts +10 -0
  29. package/dist/utils/config.d.ts.map +1 -1
  30. package/dist/utils/config.js.map +1 -1
  31. package/package.json +1 -1
  32. package/templates/commands/auto.md +38 -0
  33. package/templates/commands/modus.md +14 -2
  34. package/templates/hooks/session-start.py +52 -0
  35. package/templates/hooks/stop-update-skills.py +58 -0
  36. package/templates/skills/modus-auto/SKILL.md +210 -0
  37. package/templates/skills/modus-init/SKILL.md +133 -11
  38. package/templates/skills/modus-plan/SKILL.md +132 -19
  39. package/templates/skills/modus-spec/SKILL.md +109 -6
@@ -14,5 +14,17 @@ export interface InitCliOptions {
14
14
  /** Re-sync Skills from global/team directories (overwrite project copies) */
15
15
  syncScopes?: boolean;
16
16
  }
17
+ /** One detected AI coding tool with its relevant artefacts */
18
+ export interface DetectedAITool {
19
+ tool: 'claudecode' | 'cursor' | 'codebuddy' | 'continue' | 'opencode';
20
+ /** Human-readable label */
21
+ label: string;
22
+ /** Files / directories that were found */
23
+ artifacts: string[];
24
+ /** Extracted context snippet (first 500 chars of a key file) */
25
+ contextSnippet?: string;
26
+ /** MCP servers block extracted from settings files */
27
+ mcpServers?: Record<string, unknown>;
28
+ }
17
29
  export declare function runInit(projectRoot: string, cli?: InitCliOptions): Promise<void>;
18
30
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAWA,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAqGD,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0N1F"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAYA,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA+FD,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;IACtE,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAqOD,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4Q1F"}
@@ -6,7 +6,8 @@ import inquirer from 'inquirer';
6
6
  import { loadConfig, saveConfig } from '../utils/config.js';
7
7
  import { generateCodeBuddyFiles } from '../generators/codebuddy.js';
8
8
  import { fileExists, ensureDir } from '../utils/file-system.js';
9
- const DEFAULT_COMMANDS = ['init', 'vibe', 'plan', 'spec', 'harness'];
9
+ import { track } from '../utils/analytics.js';
10
+ const DEFAULT_COMMANDS = ['init', 'vibe', 'plan', 'spec', 'auto', 'harness'];
10
11
  function isInteractiveTerminal() {
11
12
  return Boolean(process.stdin.isTTY && process.stdout.isTTY);
12
13
  }
@@ -92,6 +93,212 @@ function detectTechStack(projectRoot) {
92
93
  }
93
94
  return [...new Set(labels)].join(', ');
94
95
  }
96
+ /**
97
+ * Scan the project root for existing AI tool configuration directories and
98
+ * files (`.claude/`, `.cursor/rules/`, `CLAUDE.md`, `AGENTS.md`, …).
99
+ * Returns a list of detected tools with the artefacts found.
100
+ */
101
+ function detectExistingAITools(projectRoot) {
102
+ const results = [];
103
+ // ── ClaudeCode ──────────────────────────────────────────────────────────────
104
+ {
105
+ const artifacts = [];
106
+ let contextSnippet;
107
+ let mcpServers;
108
+ const claudeMdPaths = ['CLAUDE.md', '.claude/CLAUDE.md', 'CLAUDE.local.md'];
109
+ for (const p of claudeMdPaths) {
110
+ const full = path.join(projectRoot, p);
111
+ if (fileExists(full)) {
112
+ artifacts.push(p);
113
+ if (!contextSnippet) {
114
+ try {
115
+ contextSnippet = fs.readFileSync(full, 'utf-8').slice(0, 500);
116
+ }
117
+ catch { /* ignore */ }
118
+ }
119
+ }
120
+ }
121
+ const claudeRulesDir = path.join(projectRoot, '.claude', 'rules');
122
+ if (fs.existsSync(claudeRulesDir)) {
123
+ try {
124
+ const ruleFiles = fs.readdirSync(claudeRulesDir)
125
+ .filter((f) => f.endsWith('.md') || f.endsWith('.mdc'))
126
+ .map((f) => `.claude/rules/${f}`);
127
+ artifacts.push(...ruleFiles);
128
+ }
129
+ catch { /* ignore */ }
130
+ }
131
+ const claudeSettingsPath = path.join(projectRoot, '.claude', 'settings.json');
132
+ if (fileExists(claudeSettingsPath)) {
133
+ artifacts.push('.claude/settings.json');
134
+ try {
135
+ const raw = JSON.parse(fs.readFileSync(claudeSettingsPath, 'utf-8'));
136
+ if (raw.mcpServers && typeof raw.mcpServers === 'object') {
137
+ mcpServers = raw.mcpServers;
138
+ }
139
+ }
140
+ catch { /* ignore */ }
141
+ }
142
+ const claudeCommandsDir = path.join(projectRoot, '.claude', 'commands');
143
+ if (fs.existsSync(claudeCommandsDir)) {
144
+ try {
145
+ const cmds = fs.readdirSync(claudeCommandsDir)
146
+ .filter((f) => f.endsWith('.md'))
147
+ .map((f) => `.claude/commands/${f}`);
148
+ artifacts.push(...cmds);
149
+ }
150
+ catch { /* ignore */ }
151
+ }
152
+ if (artifacts.length > 0) {
153
+ results.push({ tool: 'claudecode', label: 'Claude Code', artifacts, contextSnippet, mcpServers });
154
+ }
155
+ }
156
+ // ── Cursor ──────────────────────────────────────────────────────────────────
157
+ {
158
+ const artifacts = [];
159
+ let contextSnippet;
160
+ let mcpServers;
161
+ const cursorRulesDir = path.join(projectRoot, '.cursor', 'rules');
162
+ if (fs.existsSync(cursorRulesDir)) {
163
+ try {
164
+ const ruleFiles = fs.readdirSync(cursorRulesDir)
165
+ .filter((f) => f.endsWith('.md') || f.endsWith('.mdc'))
166
+ .map((f) => `.cursor/rules/${f}`);
167
+ artifacts.push(...ruleFiles);
168
+ if (!contextSnippet && ruleFiles.length > 0) {
169
+ const firstRule = path.join(cursorRulesDir, path.basename(ruleFiles[0]));
170
+ try {
171
+ contextSnippet = fs.readFileSync(firstRule, 'utf-8').slice(0, 500);
172
+ }
173
+ catch { /* ignore */ }
174
+ }
175
+ }
176
+ catch { /* ignore */ }
177
+ }
178
+ const cursorMcpPath = path.join(projectRoot, '.cursor', 'mcp.json');
179
+ if (fileExists(cursorMcpPath)) {
180
+ artifacts.push('.cursor/mcp.json');
181
+ try {
182
+ const raw = JSON.parse(fs.readFileSync(cursorMcpPath, 'utf-8'));
183
+ if (raw.mcpServers && typeof raw.mcpServers === 'object') {
184
+ mcpServers = raw.mcpServers;
185
+ }
186
+ }
187
+ catch { /* ignore */ }
188
+ }
189
+ // AGENTS.md (Cursor project-level agent instructions)
190
+ for (const p of ['AGENTS.md', '.cursor/AGENTS.md']) {
191
+ const full = path.join(projectRoot, p);
192
+ if (fileExists(full)) {
193
+ artifacts.push(p);
194
+ if (!contextSnippet) {
195
+ try {
196
+ contextSnippet = fs.readFileSync(full, 'utf-8').slice(0, 500);
197
+ }
198
+ catch { /* ignore */ }
199
+ }
200
+ }
201
+ }
202
+ if (artifacts.length > 0) {
203
+ results.push({ tool: 'cursor', label: 'Cursor', artifacts, contextSnippet, mcpServers });
204
+ }
205
+ }
206
+ // ── CodeBuddy (non-modus) ───────────────────────────────────────────────────
207
+ {
208
+ const artifacts = [];
209
+ let contextSnippet;
210
+ let mcpServers;
211
+ const cbSettingsPath = path.join(projectRoot, '.codebuddy', 'settings.json');
212
+ if (fileExists(cbSettingsPath)) {
213
+ artifacts.push('.codebuddy/settings.json');
214
+ try {
215
+ const raw = JSON.parse(fs.readFileSync(cbSettingsPath, 'utf-8'));
216
+ if (raw.mcpServers && typeof raw.mcpServers === 'object') {
217
+ mcpServers = raw.mcpServers;
218
+ }
219
+ }
220
+ catch { /* ignore */ }
221
+ }
222
+ const cbRulesDir = path.join(projectRoot, '.codebuddy', 'rules');
223
+ if (fs.existsSync(cbRulesDir)) {
224
+ try {
225
+ const ruleFiles = fs.readdirSync(cbRulesDir)
226
+ .filter((f) => f.endsWith('.md') || f.endsWith('.mdc'))
227
+ .map((f) => `.codebuddy/rules/${f}`);
228
+ artifacts.push(...ruleFiles);
229
+ if (!contextSnippet && ruleFiles.length > 0) {
230
+ const firstRule = path.join(cbRulesDir, path.basename(ruleFiles[0]));
231
+ try {
232
+ contextSnippet = fs.readFileSync(firstRule, 'utf-8').slice(0, 500);
233
+ }
234
+ catch { /* ignore */ }
235
+ }
236
+ }
237
+ catch { /* ignore */ }
238
+ }
239
+ if (artifacts.length > 0) {
240
+ results.push({ tool: 'codebuddy', label: 'CodeBuddy', artifacts, contextSnippet, mcpServers });
241
+ }
242
+ }
243
+ // ── Continue.dev ────────────────────────────────────────────────────────────
244
+ {
245
+ const artifacts = [];
246
+ let contextSnippet;
247
+ for (const p of ['.continue/config.json', '.continue/config.yaml', '.continue/config.yml']) {
248
+ const full = path.join(projectRoot, p);
249
+ if (fileExists(full)) {
250
+ artifacts.push(p);
251
+ if (!contextSnippet) {
252
+ try {
253
+ contextSnippet = fs.readFileSync(full, 'utf-8').slice(0, 500);
254
+ }
255
+ catch { /* ignore */ }
256
+ }
257
+ }
258
+ }
259
+ if (artifacts.length > 0) {
260
+ results.push({ tool: 'continue', label: 'Continue.dev', artifacts, contextSnippet });
261
+ }
262
+ }
263
+ // ── OpenCode / Generic AGENT.md ─────────────────────────────────────────────
264
+ {
265
+ const artifacts = [];
266
+ let contextSnippet;
267
+ for (const p of ['AGENT.md', '.agent/AGENT.md', '.claude-internal/AGENT.md']) {
268
+ const full = path.join(projectRoot, p);
269
+ if (fileExists(full)) {
270
+ artifacts.push(p);
271
+ if (!contextSnippet) {
272
+ try {
273
+ contextSnippet = fs.readFileSync(full, 'utf-8').slice(0, 500);
274
+ }
275
+ catch { /* ignore */ }
276
+ }
277
+ }
278
+ }
279
+ if (artifacts.length > 0) {
280
+ results.push({ tool: 'opencode', label: 'OpenCode / Generic', artifacts, contextSnippet });
281
+ }
282
+ }
283
+ return results;
284
+ }
285
+ /**
286
+ * Merge MCP servers from detected AI tools into the existing mcpServers map.
287
+ * Existing entries (already in modus config) take precedence.
288
+ */
289
+ function mergeMcpServers(existing, detected) {
290
+ const merged = { ...(existing ?? {}) };
291
+ for (const tool of detected) {
292
+ if (!tool.mcpServers)
293
+ continue;
294
+ for (const [key, val] of Object.entries(tool.mcpServers)) {
295
+ if (!(key in merged)) {
296
+ merged[key] = val;
297
+ }
298
+ }
299
+ }
300
+ return Object.keys(merged).length > 0 ? merged : undefined;
301
+ }
95
302
  function parseCommandsCsv(csv) {
96
303
  if (!csv?.trim())
97
304
  return [...DEFAULT_COMMANDS];
@@ -102,6 +309,21 @@ function parseCommandsCsv(csv) {
102
309
  }
103
310
  export async function runInit(projectRoot, cli = {}) {
104
311
  console.log(chalk.bold('\n Modus — init\n'));
312
+ // ── Scan existing AI tool configurations ──────────────────────────────────
313
+ const detectedTools = detectExistingAITools(projectRoot);
314
+ if (detectedTools.length > 0) {
315
+ console.log(chalk.cyan(' 检测到已有 AI 工具配置:'));
316
+ for (const t of detectedTools) {
317
+ console.log(chalk.green(` ✓ ${t.label}`) + chalk.dim(` — ${t.artifacts.length} 个文件`));
318
+ for (const a of t.artifacts.slice(0, 4)) {
319
+ console.log(chalk.dim(` ${a}`));
320
+ }
321
+ if (t.artifacts.length > 4) {
322
+ console.log(chalk.dim(` ... 共 ${t.artifacts.length} 个`));
323
+ }
324
+ }
325
+ console.log(chalk.dim(' 这些配置将在 /modus:init 时被读取并融入业务 Skills 与团队约定 Skill。\n'));
326
+ }
105
327
  const configPath = path.join(projectRoot, 'modus', 'config.yaml');
106
328
  const isFirstRun = !fileExists(configPath);
107
329
  const nonInteractive = Boolean(cli.yes) || !isInteractiveTerminal();
@@ -183,6 +405,12 @@ export async function runInit(projectRoot, cli = {}) {
183
405
  message: '团队名称(可选,复用 ~/.codebuddy/team/<name>/ 的 Skills,留空跳过):',
184
406
  default: config.teamName || '',
185
407
  },
408
+ {
409
+ type: 'input',
410
+ name: 'collectorUrl',
411
+ message: 'Modus 埋点上报地址(可选,留空跳过,例如 http://43.139.34.70:3456):',
412
+ default: (config.analytics?.collectorUrl) ?? '',
413
+ },
186
414
  {
187
415
  type: 'confirm',
188
416
  name: 'configureMcp',
@@ -234,6 +462,7 @@ export async function runInit(projectRoot, cli = {}) {
234
462
  if (Object.keys(mcpServers).length === 0)
235
463
  mcpServers = undefined;
236
464
  }
465
+ const collectorUrl = answers.collectorUrl?.trim() || undefined;
237
466
  config = {
238
467
  ...config,
239
468
  techStack: answers.techStack || undefined,
@@ -241,6 +470,11 @@ export async function runInit(projectRoot, cli = {}) {
241
470
  tapdProjectId: answers.tapdProjectId || undefined,
242
471
  teamName: answers.teamName || undefined,
243
472
  ...(mcpServers ? { mcpServers } : {}),
473
+ analytics: {
474
+ enabled: true,
475
+ collectorUrl,
476
+ ...(config.analytics?.token ? { token: config.analytics.token } : {}),
477
+ },
244
478
  };
245
479
  }
246
480
  }
@@ -256,6 +490,18 @@ export async function runInit(projectRoot, cli = {}) {
256
490
  if (!isFirstRun && nonInteractive && cli.teamName) {
257
491
  config = { ...config, teamName: cli.teamName };
258
492
  }
493
+ // Merge MCP servers from detected tools (existing/CLI-provided entries win)
494
+ if (detectedTools.some((t) => t.mcpServers)) {
495
+ const existingMcpCount = Object.keys(config.mcpServers ?? {}).length;
496
+ const merged = mergeMcpServers(config.mcpServers, detectedTools);
497
+ if (merged) {
498
+ config = { ...config, mcpServers: merged };
499
+ const importedCount = Object.keys(merged).length - existingMcpCount;
500
+ if (importedCount > 0) {
501
+ console.log(chalk.dim(` 已从已有 AI 工具配置中导入 ${importedCount} 个 MCP 服务器配置。`));
502
+ }
503
+ }
504
+ }
259
505
  let enabledCommands;
260
506
  if (nonInteractive) {
261
507
  enabledCommands = parseCommandsCsv(cli.commands);
@@ -267,10 +513,11 @@ export async function runInit(projectRoot, cli = {}) {
267
513
  name: 'enabledCommands',
268
514
  message: 'Enable commands:',
269
515
  choices: [
270
- { name: '/modus:init — Analyze project and build business Skills', value: 'init', checked: true },
271
- { name: '/modus:vibe — Context-aware vibe coding', value: 'vibe', checked: true },
272
- { name: '/modus:plan — Plan mode with Skill-backed context', value: 'plan', checked: true },
273
- { name: '/modus:spec — OpenSpec-style spec-driven development', value: 'spec', checked: true },
516
+ { name: '/modus:init — Analyze project and build business Skills', value: 'init', checked: true },
517
+ { name: '/modus:vibe — Context-aware vibe coding', value: 'vibe', checked: true },
518
+ { name: '/modus:plan — Plan mode with Skill-backed context', value: 'plan', checked: true },
519
+ { name: '/modus:spec — OpenSpec-style spec-driven development', value: 'spec', checked: true },
520
+ { name: '/modus:auto — Smart mode recommendation (reads TAPD, recommends vibe/plan/spec/harness)', value: 'auto', checked: true },
274
521
  { name: '/modus:harness — Full dual-loop multi-agent Harness', value: 'harness', checked: true },
275
522
  ],
276
523
  },
@@ -304,6 +551,13 @@ export async function runInit(projectRoot, cli = {}) {
304
551
  console.log(chalk.bold('\n Ready! Open CodeBuddy and run:'));
305
552
  console.log(chalk.yellow(' /modus:init') + ' — scan your codebase and build business Skills');
306
553
  console.log(chalk.yellow(' /modus:vibe') + ' — start context-aware coding');
307
- console.log(chalk.dim('\n Tip: Edit modus/config.yaml (constitution.*) then run `modus update` to refresh rules.\n'));
554
+ console.log(chalk.dim('\n Tip: Edit modus/config.yaml (constitution.*) then run `modus update` to refresh rules.'));
555
+ console.log(chalk.dim(' Note: After git clone to a different path, run `modus rehook` to fix hook script paths.\n'));
556
+ // Report init event after all files are written (config is now saved so collectorUrl is readable)
557
+ track(projectRoot, {
558
+ event_type: 'init.registered',
559
+ command: 'init',
560
+ payload: { isFirstRun, enabledCommandCount: enabledCommands.length },
561
+ });
308
562
  }
309
563
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;AAmB9E,SAAS,qBAAqB;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,WAAmB;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,UAAU,GAA2C;QACzD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE;QACxC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE;QAC9C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAE;KACrD,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,aAAa,GAA2C;QAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;QAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;QACrC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE;QACvC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;KACnC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAG3D,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;YAC7D,MAAM,YAAY,GAA0C;gBAC1D,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBAChC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC5B,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC1C,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAClC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACpC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACpC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC5B,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAClC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;aACzC,CAAC;YACF,MAAM,QAAQ,GAAG,YAAY;iBAC1B,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;iBAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAsC,CAAC,CAAC,CAAC;IAC1F,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,MAAsB,EAAE;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAEpE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACzC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,kEAAkE,CACnE,CACF,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC1C;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,sDAAsD;oBAC/D,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAErC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;YAC7E,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;gBACjC,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;gBAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;aACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,2CAA2C;oBACpD,OAAO,EAAE,aAAa,IAAI,EAAE;iBAC7B;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oBAAoB;oBAC7B,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,sDAAsD;oBAC/D,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;iBAC/B;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,kDAAkD;oBAC3D,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,UAA+C,CAAC;YACpD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACvC;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,2DAA2D;wBACpE,OAAO,EAAE,EAAE;qBACZ;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,sBAAsB;wBAC/B,OAAO,EAAE,EAAE;qBACZ;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,sBAAsB;wBAC/B,OAAO,EAAE,EAAE;qBACZ;iBACF,CAAC,CAAC;gBAEH,UAAU,GAAG,EAAE,CAAC;gBAChB,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrE,UAAU,CAAC,MAAM,CAAC,GAAG;wBACnB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,GAAG;wBACZ,IAAI;wBACJ,WAAW,EAAE,6BAA6B;qBAC3C,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;oBAC1D,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACtE,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;wBACpC,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,GAAG;wBACZ,IAAI;qBACL,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,UAAU,GAAG,SAAS,CAAC;YACnE,CAAC;YAED,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;gBACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;gBACrC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;gBACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrB,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IAAI,cAAc,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC3C,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,cAAc,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,cAAc,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,eAAyB,CAAC;IAC9B,IAAI,cAAc,EAAE,CAAC;QACnB,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,2DAA2D,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBACnG,EAAE,IAAI,EAAE,2CAA2C,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBACnF,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBAC7F,EAAE,IAAI,EAAE,wDAAwD,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBAChG,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;iBACjG;aACF;SACF,CAAC,CAAC;QACH,eAAe,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC/C,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IAErB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvD,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAErF,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,UAAU,iDAAiD,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,QAAQ,6CAA6C,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;IAErF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,kDAAkD,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,gCAAgC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC,CAAC;AACzH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function runSkillList(projectRoot: string, opts: {
2
+ filter?: string;
3
+ json?: boolean;
4
+ }): Promise<void>;
5
+ export declare function runSkillShow(projectRoot: string, nameOrDir: string): Promise<void>;
6
+ export declare function runSkillRefresh(projectRoot: string, nameOrDir?: string): Promise<void>;
7
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAyDA,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAqDf;AAID,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxF;AAID,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE5F"}
@@ -0,0 +1,175 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs';
3
+ import chalk from 'chalk';
4
+ import { fileExists, listDirs, readFile, writeFile } from '../utils/file-system.js';
5
+ // ── Helpers ───────────────────────────────────────────────────────────────────
6
+ function getSkillsDir(projectRoot) {
7
+ return path.join(projectRoot, '.codebuddy', 'skills');
8
+ }
9
+ function extractFrontmatterField(content, field) {
10
+ const match = content.match(new RegExp(`^${field}:\\s*(.+)$`, 'm'));
11
+ return match ? match[1].trim().replace(/['"]/g, '') : undefined;
12
+ }
13
+ function maturityBadge(maturity) {
14
+ switch (maturity) {
15
+ case 'proven': return chalk.green(`● proven`);
16
+ case 'verified': return chalk.cyan(`◑ verified`);
17
+ default: return chalk.gray(`○ draft`);
18
+ }
19
+ }
20
+ function loadSkillMeta(skillsDir, dirName) {
21
+ const skillPath = path.join(skillsDir, dirName, 'SKILL.md');
22
+ if (!fileExists(skillPath))
23
+ return null;
24
+ const content = readFile(skillPath);
25
+ const keyFilesMatch = content.match(/^key_files:\s*\n((?:\s+-\s+.+\n?)+)/m);
26
+ const keyFilesCount = keyFilesMatch
27
+ ? (keyFilesMatch[1].match(/^\s+-/gm) ?? []).length
28
+ : 0;
29
+ return {
30
+ dirName,
31
+ name: extractFrontmatterField(content, 'name') ?? dirName,
32
+ maturity: extractFrontmatterField(content, 'maturity') ?? 'draft',
33
+ description: extractFrontmatterField(content, 'description') ?? '',
34
+ usageCount: parseInt(extractFrontmatterField(content, 'usage_count') ?? '0', 10),
35
+ lastReferenced: extractFrontmatterField(content, 'last_referenced'),
36
+ keyFilesCount,
37
+ };
38
+ }
39
+ // ── modus skill list ──────────────────────────────────────────────────────────
40
+ export async function runSkillList(projectRoot, opts) {
41
+ const skillsDir = getSkillsDir(projectRoot);
42
+ if (!fs.existsSync(skillsDir)) {
43
+ console.error(chalk.red(' Error: .codebuddy/skills/ not found. Run `modus init` first.'));
44
+ process.exit(1);
45
+ }
46
+ let dirs = listDirs(skillsDir).filter(d => d.startsWith('modus-'));
47
+ if (opts.filter) {
48
+ const f = opts.filter.toLowerCase();
49
+ dirs = dirs.filter(d => d.toLowerCase().includes(f));
50
+ }
51
+ const skills = dirs.map(d => loadSkillMeta(skillsDir, d)).filter(Boolean);
52
+ if (opts.json) {
53
+ console.log(JSON.stringify(skills, null, 2));
54
+ return;
55
+ }
56
+ if (skills.length === 0) {
57
+ console.log(chalk.yellow('\n No Skills found.' + (opts.filter ? ` (filter: "${opts.filter}")` : '')));
58
+ console.log(chalk.dim(' Run `modus init` to generate Skills.\n'));
59
+ return;
60
+ }
61
+ console.log(chalk.bold(`\n Project Skills (${skills.length})\n`));
62
+ // Group by layer
63
+ const biz = skills.filter(s => s.dirName.startsWith('modus-biz-'));
64
+ const fw = skills.filter(s => !s.dirName.startsWith('modus-biz-') && !s.dirName.startsWith('modus-harness-'));
65
+ const harn = skills.filter(s => s.dirName.startsWith('modus-harness-'));
66
+ function printGroup(label, group) {
67
+ if (group.length === 0)
68
+ return;
69
+ console.log(chalk.dim(` ─── ${label} ───`));
70
+ for (const s of group) {
71
+ const usage = s.usageCount > 0 ? chalk.dim(` ×${s.usageCount}`) : '';
72
+ const keys = s.keyFilesCount > 0 ? chalk.dim(` [${s.keyFilesCount} files]`) : '';
73
+ const desc = s.description
74
+ ? chalk.gray(' ' + s.description.slice(0, 60) + (s.description.length > 60 ? '…' : ''))
75
+ : '';
76
+ console.log(` ${chalk.white(s.dirName.padEnd(38))} ${maturityBadge(s.maturity)}${usage}${keys}`);
77
+ if (desc)
78
+ console.log(desc);
79
+ }
80
+ console.log('');
81
+ }
82
+ printGroup('Layer 2 — Business Skills', biz);
83
+ printGroup('Layer 0-T / Layer 1 — Framework Skills', fw);
84
+ printGroup('Harness SubAgent Skills', harn);
85
+ }
86
+ // ── modus skill show ──────────────────────────────────────────────────────────
87
+ export async function runSkillShow(projectRoot, nameOrDir) {
88
+ const skillsDir = getSkillsDir(projectRoot);
89
+ // Accept partial match: "order" → "modus-biz-order"
90
+ const allDirs = listDirs(skillsDir);
91
+ const resolved = allDirs.find(d => d === nameOrDir) ??
92
+ allDirs.find(d => d === `modus-biz-${nameOrDir}`) ??
93
+ allDirs.find(d => d === `modus-${nameOrDir}`) ??
94
+ allDirs.find(d => d.includes(nameOrDir));
95
+ if (!resolved) {
96
+ console.error(chalk.red(` Error: Skill "${nameOrDir}" not found.`));
97
+ console.log(chalk.dim(' Run `modus skill list` to see available Skills.'));
98
+ process.exit(1);
99
+ }
100
+ const skillPath = path.join(skillsDir, resolved, 'SKILL.md');
101
+ if (!fileExists(skillPath)) {
102
+ console.error(chalk.red(` Error: SKILL.md missing in ${resolved}/`));
103
+ process.exit(1);
104
+ }
105
+ const content = readFile(skillPath);
106
+ const meta = loadSkillMeta(skillsDir, resolved);
107
+ console.log(chalk.bold(`\n ${resolved}\n`));
108
+ if (meta) {
109
+ console.log(` Maturity ${maturityBadge(meta.maturity)}`);
110
+ console.log(` Usage count ${chalk.white(String(meta.usageCount))}`);
111
+ if (meta.lastReferenced)
112
+ console.log(` Last used ${chalk.gray(meta.lastReferenced)}`);
113
+ if (meta.keyFilesCount)
114
+ console.log(` Key files ${chalk.gray(String(meta.keyFilesCount))}`);
115
+ if (meta.description)
116
+ console.log(` Description ${chalk.gray(meta.description)}`);
117
+ }
118
+ console.log('');
119
+ console.log(chalk.dim('─'.repeat(70)));
120
+ console.log(content);
121
+ }
122
+ // ── modus skill refresh ───────────────────────────────────────────────────────
123
+ export async function runSkillRefresh(projectRoot, nameOrDir) {
124
+ const skillsDir = getSkillsDir(projectRoot);
125
+ if (!fs.existsSync(skillsDir)) {
126
+ console.error(chalk.red(' Error: .codebuddy/skills/ not found. Run `modus init` first.'));
127
+ process.exit(1);
128
+ }
129
+ let targetDirs;
130
+ if (nameOrDir) {
131
+ const allDirs = listDirs(skillsDir);
132
+ const resolved = allDirs.find(d => d === nameOrDir) ??
133
+ allDirs.find(d => d === `modus-biz-${nameOrDir}`) ??
134
+ allDirs.find(d => d === `modus-${nameOrDir}`) ??
135
+ allDirs.find(d => d.includes(nameOrDir));
136
+ if (!resolved) {
137
+ console.error(chalk.red(` Error: Skill "${nameOrDir}" not found.`));
138
+ process.exit(1);
139
+ }
140
+ targetDirs = [resolved];
141
+ }
142
+ else {
143
+ targetDirs = listDirs(skillsDir).filter(d => d.startsWith('modus-biz-'));
144
+ if (targetDirs.length === 0) {
145
+ console.log(chalk.yellow(' No business Skills found to refresh.'));
146
+ return;
147
+ }
148
+ }
149
+ console.log(chalk.bold(`\n modus skill refresh\n`));
150
+ let refreshed = 0;
151
+ for (const dirName of targetDirs) {
152
+ const skillPath = path.join(skillsDir, dirName, 'SKILL.md');
153
+ if (!fileExists(skillPath))
154
+ continue;
155
+ const content = readFile(skillPath);
156
+ // Reset last_hash to force AI to re-read key files on next vibe/plan/harness
157
+ const updated = content.replace(/^(last_hash:\s*)(.+)$/m, `$1'' # cleared by modus skill refresh ${new Date().toISOString().slice(0, 10)}`);
158
+ if (updated !== content) {
159
+ writeFile(skillPath, updated);
160
+ console.log(chalk.green(` ✓ ${dirName}`) + chalk.dim(' — hash cleared, will re-scan on next command'));
161
+ refreshed++;
162
+ }
163
+ else {
164
+ // Skill doesn't have last_hash field yet — add it
165
+ const withHash = content.replace(/^(maturity:\s*.+)$/m, `$1\nlast_hash: '' # set by modus skill refresh ${new Date().toISOString().slice(0, 10)}`);
166
+ writeFile(skillPath, withHash);
167
+ console.log(chalk.cyan(` ~ ${dirName}`) + chalk.dim(' — last_hash field added'));
168
+ refreshed++;
169
+ }
170
+ }
171
+ console.log('');
172
+ console.log(chalk.green(` Refreshed ${refreshed} Skill(s).`));
173
+ console.log(chalk.dim(' Skills will be re-synced from source files on the next `/modus:vibe`, `/modus:plan`, or `/modus:harness` run.\n'));
174
+ }
175
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runStatus(projectRoot: string): Promise<void>;
2
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAmEA,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFlE"}