aidoc-kit 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,6 +56,64 @@ npx aidoc-kit enrich --dry
56
56
 
57
57
  That's all a new user needs. `init` reads `package.json`, detects frameworks, auth libraries, databases, AI SDKs and generates a ready-to-use `aidoc.config.ts`.
58
58
 
59
+ ## Do I need to configure AI agents first?
60
+
61
+ No. aidoc-kit works out of the box with any AI coding tool.
62
+
63
+ ### How it works with your existing tools
64
+
65
+ | Tool | How it reads @ai-* blocks |
66
+ |------|--------------------------|
67
+ | GitHub Copilot | Reads open files automatically — no setup needed |
68
+ | Cursor | Reads project context automatically — no setup needed |
69
+ | Copilot Chat | Reads files you reference in the chat |
70
+ | Claude / ChatGPT | Reads files you paste or attach |
71
+ | Any AI agent | Reads AGENTS.md as entry point |
72
+
73
+ ### The @ai-agent tag is a label, not a configuration
74
+
75
+ When aidoc-kit generates:
76
+ ```typescript
77
+ /**
78
+ * @ai-agent firebase-admin-expert
79
+ */
80
+ ```
81
+
82
+ It doesn't create or configure anything. It tells the AI reading
83
+ the file: *"treat this file as Firebase Admin domain — apply
84
+ that expertise when suggesting changes."*
85
+
86
+ Think of it like a job title on a business card.
87
+ It informs, it doesn't configure.
88
+
89
+ ### The one thing you should do
90
+
91
+ Tell your AI agent to read AGENTS.md at the start of each session.
92
+
93
+ **GitHub Copilot Chat:**
94
+ ```
95
+ Read AGENTS.md before we start. It contains the project architecture.
96
+ ```
97
+
98
+ **Cursor — add to .cursorrules:**
99
+ ```
100
+ Always read AGENTS.md and .codemod/ai-knowledge-base.json
101
+ before suggesting changes to any file.
102
+ ```
103
+
104
+ **Claude Projects:**
105
+ Add AGENTS.md content to the project instructions.
106
+
107
+ That's it. No agents to create, no pipelines to configure.
108
+
109
+ ### Want to go further?
110
+
111
+ If you use custom AI agents or MCP servers, aidoc-kit exposes
112
+ its knowledge base as a structured JSON file:
113
+ `.codemod/ai-knowledge-base.json`
114
+
115
+ Any agent that can read a file can consume this directly.
116
+
59
117
  ## What gets generated
60
118
 
61
119
  ### On each file (auto-generated block)
@@ -197,6 +255,56 @@ export default {
197
255
 
198
256
  > **Privacy note:** Ollama runs entirely on your machine — no code ever leaves your network. This makes it the right choice for client projects or proprietary codebases.
199
257
 
258
+ ## Setting up your API key
259
+
260
+ aidoc-kit reads API keys from environment variables. How you load them into your environment is up to you:
261
+
262
+ ### Option 1 — Export in your shell
263
+ ```bash
264
+ export ANTHROPIC_API_KEY=sk-ant-...
265
+ npx aidoc-kit enrich
266
+ ```
267
+
268
+ ### Option 2 — Load your .env file first
269
+ ```bash
270
+ source .env && npx aidoc-kit enrich
271
+ # or with .env.local:
272
+ source .env.local && npx aidoc-kit enrich
273
+ ```
274
+
275
+ ### Option 3 — dotenv-cli (recommended for scripts)
276
+ ```bash
277
+ npx dotenv -e .env.local -- aidoc-kit enrich
278
+ ```
279
+
280
+ ### Option 4 — aidoc.config.ts (recommended for teams)
281
+ ```typescript
282
+ export default {
283
+ enrich: {
284
+ provider: 'anthropic',
285
+ key: process.env.ANTHROPIC_API_KEY,
286
+ }
287
+ }
288
+ ```
289
+ Then run normally — the key is resolved at runtime from your env.
290
+
291
+ ### Environment variables per provider
292
+
293
+ | Provider | Environment variable |
294
+ |-----------|---------------------|
295
+ | Anthropic | `ANTHROPIC_API_KEY` |
296
+ | OpenAI | `OPENAI_API_KEY` |
297
+ | Gemini | `GOOGLE_AI_API_KEY` or `GEMINI_API_KEY` |
298
+ | Groq | `GROQ_API_KEY` |
299
+ | Mistral | `MISTRAL_API_KEY` |
300
+ | Ollama | No key needed |
301
+
302
+ > **Why doesn't aidoc-kit read `.env` files automatically?**
303
+ > Managing secrets is your responsibility, not aidoc-kit's.
304
+ > This is intentional — it keeps the library zero-dependency and avoids any risk
305
+ > of accidentally exposing secrets. This is the same approach used by Prisma,
306
+ > Firebase CLI, and Stripe CLI.
307
+
200
308
  ## Large file chunking
201
309
 
202
310
  AI agents often truncate large files — reading only the first 50-100 lines of a 500-line file. `aidoc-kit chunk` solves this by pre-summarising every file over 150 lines into a structured Markdown file inside `.codemod/chunks/`.
package/dist/cli.js CHANGED
@@ -113,7 +113,7 @@ function hasFlag(flag) {
113
113
  }
114
114
  // ─── Confirmation prompt ───────────────────────────────────────────────────
115
115
  function confirm(message) {
116
- // --yes / -y flag or non-interactive (piped, CI) proceed without prompt
116
+ // --yes / -y flag or non-interactive (piped, CI) - proceed without prompt
117
117
  if (hasFlag('--yes') || hasFlag('-y') || !process.stdin.isTTY)
118
118
  return Promise.resolve(true);
119
119
  return new Promise(resolve => {
@@ -130,11 +130,11 @@ async function cmdScan() {
130
130
  console.log(`
131
131
  Usage: aidoc-kit scan [options]
132
132
 
133
- --path <dir> Dossier racine (défaut: .)
134
- --write Écrire les blocs @ai-* manquants (confirmation interactive)
135
- --yes, -y Passer la confirmation (CI, pipe, non-interactif)
136
- --dry Afficher les blocs générés sans modifier les fichiers
137
- -h, --help Afficher cette aide
133
+ --path <dir> Root directory (default: .)
134
+ --write Write missing @ai-* blocks (interactive confirmation)
135
+ --yes, -y Skip confirmation (CI, pipe, non-interactive)
136
+ --dry Preview generated blocks without modifying files
137
+ -h, --help Show this help
138
138
  `);
139
139
  return;
140
140
  }
@@ -142,16 +142,16 @@ Usage: aidoc-kit scan [options]
142
142
  const write = hasFlag('--write');
143
143
  const dry = hasFlag('--dry');
144
144
  const config = (0, config_1.loadConfig)(projectRoot);
145
- console.log(`\naidoc-kit scan ${projectRoot}\n`);
145
+ console.log(`\naidoc-kit scan - ${projectRoot}\n`);
146
146
  const result = (0, scanner_1.scanProject)(projectRoot);
147
147
  // Filter out files matching config.ignore patterns
148
148
  const ignorePatterns = config.ignore ?? [];
149
149
  const filteredWithoutDocs = ignorePatterns.length > 0
150
150
  ? result.filesWithoutDocs.filter(f => !(0, config_1.isIgnored)(f, ignorePatterns))
151
151
  : result.filesWithoutDocs;
152
- console.log(`✓ ${result.totalScanned} fichiers scannés`);
153
- console.log(`✓ ${result.docs.length} fichiers avec blocs @ai-*`);
154
- console.log(`✗ ${filteredWithoutDocs.length} fichiers sans docs${ignorePatterns.length > 0 ? ' (après filtres ignore)' : ''}\n`);
152
+ console.log(`✓ ${result.totalScanned} files scanned`);
153
+ console.log(`✓ ${result.docs.length} files with @ai-* blocks`);
154
+ console.log(`✗ ${filteredWithoutDocs.length} files without docs${ignorePatterns.length > 0 ? ' (after ignore filters)' : ''}\n`);
155
155
  if (filteredWithoutDocs.length > 0 && (write || dry)) {
156
156
  // Build reverse import map over ALL project files (docs + all undocumented, regardless of
157
157
  // ignore patterns) so that @ai-cascade is complete even when some importers are filtered.
@@ -162,7 +162,7 @@ Usage: aidoc-kit scan [options]
162
162
  // Pass projectRoot so that @/ alias imports (Next.js, Vite) are resolved correctly
163
163
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allAbsFiles, projectRoot);
164
164
  if (dry) {
165
- console.log('Aperçu des blocs générés :');
165
+ console.log('Preview of generated blocks:');
166
166
  for (const relFile of filteredWithoutDocs) {
167
167
  const absFile = (0, node_path_1.resolve)(projectRoot, relFile);
168
168
  const importers = (reverseMap.get(absFile) ?? []).map(f => (0, node_path_1.relative)(projectRoot, f));
@@ -174,9 +174,9 @@ Usage: aidoc-kit scan [options]
174
174
  }
175
175
  else {
176
176
  // Ask confirmation before writing
177
- const ok = await confirm(`→ Écrire les blocs @ai-* dans ${filteredWithoutDocs.length} fichier(s) ?`);
177
+ const ok = await confirm(`- Write @ai-* blocks in ${filteredWithoutDocs.length} file(s)?`);
178
178
  if (!ok) {
179
- console.log('Annulé.');
179
+ console.log('Cancelled.');
180
180
  return;
181
181
  }
182
182
  console.log();
@@ -195,8 +195,8 @@ Usage: aidoc-kit scan [options]
195
195
  if (!dry) {
196
196
  (0, writer_1.writeKnowledgeBase)(result, projectRoot);
197
197
  (0, writer_1.writeAgentsMd)(result, projectRoot);
198
- console.log('✓ .codemod/ai-knowledge-base.json mis à jour');
199
- console.log('✓ AGENTS.md mis à jour');
198
+ console.log('✓ .codemod/ai-knowledge-base.json updated');
199
+ console.log('✓ AGENTS.md updated');
200
200
  }
201
201
  }
202
202
  // ─── run ───────────────────────────────────────────────────────────────────
@@ -205,15 +205,15 @@ function cmdRun() {
205
205
  console.log(`
206
206
  Usage: aidoc-kit run [options]
207
207
 
208
- --path <dir> Dossier racine (défaut: .)
209
- --dry Afficher les changements sans modifier les fichiers
210
- -h, --help Afficher cette aide
208
+ --path <dir> Root directory (default: .)
209
+ --dry Preview changes without modifying files
210
+ -h, --help Show this help
211
211
  `);
212
212
  return;
213
213
  }
214
214
  const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
215
215
  const dry = hasFlag('--dry');
216
- console.log(`\naidoc-kit run ${projectRoot}\n`);
216
+ console.log(`\naidoc-kit run - ${projectRoot}\n`);
217
217
  const result = (0, scanner_1.scanProject)(projectRoot);
218
218
  let changedCount = 0;
219
219
  for (const doc of result.docs) {
@@ -227,10 +227,10 @@ Usage: aidoc-kit run [options]
227
227
  }
228
228
  }
229
229
  if (changedCount === 0) {
230
- console.log('Aucune transformation à appliquer.');
230
+ console.log('No transformations to apply.');
231
231
  }
232
232
  else {
233
- console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount} fichier(s) transformé(s)`);
233
+ console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount} file(s) transformed`);
234
234
  }
235
235
  }
236
236
  // ─── chunk ────────────────────────────────────────────────────────────────
@@ -239,13 +239,13 @@ async function cmdChunk() {
239
239
  console.log(`
240
240
  Usage: aidoc-kit chunk [options]
241
241
 
242
- --path <dir> Dossier racine (défaut: .)
243
- -h, --help Afficher cette aide
242
+ --path <dir> Root directory (default: .)
243
+ -h, --help Show this help
244
244
  `);
245
245
  return;
246
246
  }
247
247
  const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
248
- console.log(`\naidoc-kit chunk ${projectRoot}\n`);
248
+ console.log(`\naidoc-kit chunk - ${projectRoot}\n`);
249
249
  const allFiles = (0, scanner_1.walkDir)(projectRoot);
250
250
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
251
251
  const codemodDir = (0, node_path_1.join)(projectRoot, '.codemod');
@@ -255,16 +255,16 @@ Usage: aidoc-kit chunk [options]
255
255
  const chunk = (0, chunker_1.chunkFile)(filePath, importedBy, projectRoot);
256
256
  if (chunk) {
257
257
  (0, chunker_1.writeChunk)(chunk, codemodDir);
258
- console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lignes)`);
258
+ console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lines)`);
259
259
  chunked++;
260
260
  }
261
261
  }
262
262
  if (chunked === 0) {
263
- console.log(`Aucun fichier ne dépasse le seuil (150 lignes). Chunking non nécessaire.`);
263
+ console.log(`No file exceeds the threshold (150 lines). Chunking not needed.`);
264
264
  }
265
265
  else {
266
- console.log(`\n✓ ${chunked} fichier(s) chunkés .codemod/chunks/`);
267
- console.log('💡 Dis à ton agent : "Lis .codemod/chunks/ avant de modifier un gros fichier"');
266
+ console.log(`\n✓ ${chunked} file(s) chunked - .codemod/chunks/`);
267
+ console.log('💡 Tell your agent: "Read .codemod/chunks/ before modifying a large file"');
268
268
  }
269
269
  }
270
270
  // ─── enrich ──────────────────────────────────────────────────────────────
@@ -274,7 +274,7 @@ async function cmdEnrich() {
274
274
  Usage: aidoc-kit enrich [options]
275
275
 
276
276
  --provider openai | anthropic | gemini | groq | mistral | ollama
277
- (auto-deduced from --model when omitted: claude-* => anthropic, etc.)
277
+ (auto-deduced from --model when omitted: claude-* - anthropic, etc.)
278
278
  --model Model name (auto-resolved via provider API when omitted)
279
279
  --host Ollama base URL (default: http://localhost:11434)
280
280
  --path <dir> Root directory (default: .)
@@ -302,15 +302,15 @@ Or set them in aidoc.config.ts:
302
302
  else if (userModel) {
303
303
  const inferred = inferProvider(userModel);
304
304
  if (!inferred) {
305
- console.error(`Provider inconnu pour le modele "${userModel}".`);
306
- console.error('Passe --provider openai|anthropic|gemini|groq|mistral|ollama');
305
+ console.error(`Unknown provider for model "${userModel}".`);
306
+ console.error('Pass --provider openai|anthropic|gemini|groq|mistral|ollama');
307
307
  process.exit(1);
308
308
  }
309
309
  provider = inferred;
310
- console.log(`Provider infere depuis le modele : ${provider}`);
310
+ console.log(`Provider inferred from model: ${provider}`);
311
311
  }
312
312
  else {
313
- console.error('Provider non determine. Passe --provider ou --model avec un nom reconnu (claude-*, gpt-*, gemini-*).');
313
+ console.error('Provider not set. Pass --provider or --model with a recognized name (claude-*, gpt-*, gemini-*).');
314
314
  process.exit(1);
315
315
  }
316
316
  // Resolve API key: config value (typically process.env.XXX) > standard env vars
@@ -321,46 +321,66 @@ Or set them in aidoc.config.ts:
321
321
  const apiKey = configKey ?? envKey;
322
322
  if (!apiKey && provider !== 'ollama') {
323
323
  const envNames = ENV_KEY_NAMES[provider];
324
- console.error(`Cle API manquante pour le provider "${provider}".`);
325
- console.error(`Exporte la variable dans ton shell :`);
326
- envNames.forEach(k => console.error(` export ${k}=ta-cle`));
327
- console.error(`Ou ajoute-la dans aidoc.config.ts :`);
328
- console.error(` enrich: { provider: '${provider}', key: process.env.${envNames[0] ?? 'API_KEY'} }`);
324
+ const primaryEnv = envNames[0] ?? 'API_KEY';
325
+ console.error(`Missing API key for provider "${provider}".`);
326
+ console.error();
327
+ console.error(`To fix this, choose one of the following options:`);
328
+ console.error();
329
+ console.error(` 1. Export in your shell (fastest):`);
330
+ console.error(` export ${primaryEnv}=your-key`);
331
+ console.error(` npx aidoc-kit enrich`);
332
+ console.error();
333
+ console.error(` 2. Load your .env first:`);
334
+ console.error(` source .env && npx aidoc-kit enrich`);
335
+ console.error();
336
+ console.error(` 3. Use dotenv-cli:`);
337
+ console.error(` npx dotenv -e .env.local -- aidoc-kit enrich`);
338
+ console.error();
339
+ console.error(` 4. Set it in aidoc.config.ts:`);
340
+ console.error(` enrich: { provider: '${provider}', key: process.env.${primaryEnv} }`);
341
+ console.error();
342
+ console.error(`aidoc-kit never reads .env files directly — this is intentional.`);
343
+ console.error(`Docs: https://github.com/Clemsrec/aidoc-kit#setting-up-your-api-key`);
329
344
  process.exit(1);
330
345
  }
331
346
  if (matchedEnvVar)
332
- console.log(`Cle lue depuis $${matchedEnvVar}`);
347
+ console.log(`Key read from $${matchedEnvVar}`);
333
348
  const host = getFlag('--host') ?? config.enrich?.host;
334
349
  // Resolve model dynamically (queries provider API when none specified)
335
350
  const model = await (0, enricher_1.resolveModel)(provider, apiKey ?? '', userModel);
336
- console.log(`\naidoc-kit enrich ${projectRoot}`);
337
- console.log(`Provider : ${provider} / Modèle : ${model}${dry ? ' (dry-run)' : ''}\n`);
351
+ console.log(`\naidoc-kit enrich - ${projectRoot}`);
352
+ console.log(`Provider: ${provider} / Model: ${model}${dry ? ' (dry-run)' : ''}\n`);
338
353
  const allFiles = (0, scanner_1.walkDir)(projectRoot);
339
354
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
340
355
  const ignorePatterns = config.ignore ?? [];
341
- // Only enrich files without an existing @ai-context (non-default content)
356
+ // Target all files with @ai-context that haven't been enriched by an LLM yet
342
357
  const toEnrich = allFiles.filter(f => {
343
358
  const rel = (0, node_path_1.relative)(projectRoot, f);
344
359
  if (ignorePatterns.length > 0 && (0, config_1.isIgnored)(rel, ignorePatterns))
345
360
  return false;
346
361
  try {
347
362
  const src = (0, enricher_1.readSourceLines)(f).join('\n');
348
- // Skip if already has a non-generated context
349
- return src.includes('@ai-agent') && src.includes('[GÉNÉRÉ]');
363
+ // Must have @ai-context
364
+ if (!src.includes('@ai-context'))
365
+ return false;
366
+ // Skip if already enriched by an LLM
367
+ if (src.includes('@ai-enriched'))
368
+ return false;
369
+ return true;
350
370
  }
351
371
  catch {
352
372
  return false;
353
373
  }
354
374
  });
355
375
  if (toEnrich.length === 0) {
356
- console.log('Aucun fichier avec un bloc @ai-context généré trouvé.');
357
- console.log('Lance `npx aidoc-kit scan --write` d’abord.');
376
+ console.log('No files with a generated @ai-context block found.');
377
+ console.log('Run `npx aidoc-kit scan --write` first.');
358
378
  return;
359
379
  }
360
- console.log(`${toEnrich.length} fichier(s) à enrichir :\n`);
380
+ console.log(`${toEnrich.length} file(s) to enrich:\n`);
361
381
  toEnrich.forEach(f => console.log(` - ${(0, node_path_1.relative)(projectRoot, f)}`));
362
382
  if (dry) {
363
- console.log('\n[dry-run] Aucune modification écrite.');
383
+ console.log('\n[dry-run] No files modified.');
364
384
  return;
365
385
  }
366
386
  console.log();
@@ -370,8 +390,8 @@ Or set them in aidoc.config.ts:
370
390
  const rel = (0, node_path_1.relative)(projectRoot, filePath);
371
391
  const lines = (0, enricher_1.readSourceLines)(filePath);
372
392
  const importedBy = (reverseMap.get(filePath) ?? []).map(f => (0, node_path_1.relative)(projectRoot, f));
373
- // Extract export names from existing @ai-context line
374
- const contextLine = lines.find(l => l.includes('[GÉNÉRÉ] Ce fichier exporte'));
393
+ // Extract export names from existing @ai-context line (supports [GÉNÉRÉ] and [GENERATED])
394
+ const contextLine = lines.find(l => /\[GÉ?NÉRÉ?\].*Ce fichier exporte|\[GENERATED\].*This file exports/i.test(l));
375
395
  const exportNames = contextLine
376
396
  ? (contextLine.split(':')[1] ?? '').trim().split(',').map(s => s.trim()).filter(Boolean)
377
397
  : [];
@@ -379,13 +399,15 @@ Or set them in aidoc.config.ts:
379
399
  try {
380
400
  const description = await (0, enricher_1.callLLM)(prompt, { provider, model, apiKey, host, dryRun: false });
381
401
  if (!description) {
382
- console.log(` ⚠️ ${rel} — réponse vide, bloc original conservé`);
402
+ console.log(` ⚠️ ${rel} — empty response, original block kept`);
383
403
  failed++;
384
404
  continue;
385
405
  }
386
- // Replace [GÉNÉRÉ] line with LLM description
406
+ // Replace entire @ai-context block content (supports empty, [GÉNÉRÉ], or any text)
387
407
  const source = lines.join('\n');
388
- const updated = source.replace(/\[GÉNÉRÉ\] Ce fichier exporte[^\n]*/, description.replace(/\$/g, '$$$$'));
408
+ const today = new Date().toISOString().slice(0, 10);
409
+ const safeDesc = description.replace(/\$/g, '$$$$');
410
+ const updated = source.replace(/(\* @ai-context\b)([^*]|\*(?!\/))*?(\* @ai-)/, `$1\n * ${safeDesc}\n * @ai-enriched ${today}\n * @ai-`);
389
411
  if (source !== updated) {
390
412
  const { writeFileSync } = await Promise.resolve().then(() => __importStar(require('node:fs')));
391
413
  writeFileSync(filePath, updated, 'utf-8');
@@ -393,7 +415,7 @@ Or set them in aidoc.config.ts:
393
415
  enriched++;
394
416
  }
395
417
  else {
396
- console.log(` — ${rel} (aucun changement)`);
418
+ console.log(` — ${rel} (no change)`);
397
419
  }
398
420
  }
399
421
  catch (err) {
@@ -402,45 +424,45 @@ Or set them in aidoc.config.ts:
402
424
  failed++;
403
425
  }
404
426
  }
405
- console.log(`\n✓ ${enriched} fichier(s) enrichi(s)${failed > 0 ? `, ${failed} échec(s)` : ''}`);
427
+ console.log(`\n✓ ${enriched} file(s) enriched${failed > 0 ? `, ${failed} failure(s)` : ''}`);
406
428
  }
407
429
  // ─── help ──────────────────────────────────────────────────────────────────
408
430
  function printHelp() {
409
431
  console.log(`
410
432
  aidoc-kit — AI-native documentation toolkit
411
433
 
412
- Commandes :
413
- init Détecter la stack du projet et générer aidoc.config.ts
414
- --path <dir> Dossier racine (défaut: .)
434
+ Commands:
435
+ init Detect project stack and generate aidoc.config.ts
436
+ --path <dir> Root directory (default: .)
415
437
 
416
- scan Scanner un projet et construire la knowledge base
417
- --path <dir> Dossier racine (défaut: .)
418
- --write Écrire les blocs @ai-* manquants (confirmation interactive)
419
- --yes, -y Passer la confirmation (CI, pipe, non-interactif)
420
- --dry Afficher les blocs générés sans modifier les fichiers
438
+ scan Scan a project and build the knowledge base
439
+ --path <dir> Root directory (default: .)
440
+ --write Write missing @ai-* blocks (interactive confirmation)
441
+ --yes, -y Skip confirmation (CI, pipe, non-interactive)
442
+ --dry Preview generated blocks without modifying files
421
443
 
422
- chunk Résumer les gros fichiers (≥150 lignes) dans .codemod/chunks/
423
- --path <dir> Dossier racine (défaut: .)
444
+ chunk Summarize large files (≥150 lines) into .codemod/chunks/
445
+ --path <dir> Root directory (default: .)
424
446
 
425
- enrich Enrichir les blocs @ai-context avec un LLM
447
+ enrich Enrich @ai-context blocks with an LLM
426
448
  --provider openai | anthropic | gemini | groq | mistral | ollama
427
- (auto-déduit depuis --model si absent)
428
- --model Modèle (auto-résolu via API provider si absent)
429
- --host Hôte Ollama (défaut: http://localhost:11434)
430
- --path <dir> Dossier racine (défaut: .)
431
- --dry Lister les fichiers sans modifier
432
- Clés API : ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY...
449
+ (auto-inferred from --model when omitted)
450
+ --model Model name (auto-resolved via provider API when omitted)
451
+ --host Ollama base URL (default: http://localhost:11434)
452
+ --path <dir> Root directory (default: .)
453
+ --dry List files without modifying
454
+ API keys: ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY...
433
455
 
434
- run Appliquer les règles de transformation
435
- --path <dir> Dossier racine (défaut: .)
436
- --dry Afficher les changements sans modifier les fichiers
456
+ run Apply transformation rules
457
+ --path <dir> Root directory (default: .)
458
+ --dry Preview changes without modifying files
437
459
 
438
- fix Corriger les blocs @ai-* générés par d'anciennes versions
439
- arrows Remplacer le caractère → (U+2192) par => (Turbopack compat)
460
+ fix Fix @ai-* blocks generated by older versions
461
+ arrows Replace - (U+2192) character with - (parser compat)
440
462
 
441
- Config :
442
- Lance "npx aidoc-kit init" pour générer un aidoc.config.ts adapté à ton projet.
443
- Ou crée-le manuellement :
463
+ Config:
464
+ Run "npx aidoc-kit init" to generate an aidoc.config.ts tailored to your project.
465
+ Or create it manually:
444
466
 
445
467
  module.exports = {
446
468
  agents: { '@/lib/permissions': 'permissions-expert', 'stripe': 'billing-expert' },
@@ -449,7 +471,7 @@ Config :
449
471
  enrich: { provider: 'gemini', model: 'gemini-2.0-flash', key: process.env.GEMINI_API_KEY },
450
472
  }
451
473
 
452
- Exemples :
474
+ Examples:
453
475
  npx aidoc-kit init
454
476
  npx aidoc-kit scan
455
477
  npx aidoc-kit scan --path ./src --dry
@@ -457,11 +479,11 @@ Exemples :
457
479
  npx aidoc-kit run --dry
458
480
  npx aidoc-kit chunk
459
481
  npx aidoc-kit chunk --path ./src
460
- npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash --key YOUR_KEY
461
- npx aidoc-kit enrich --provider openai --model gpt-4o-mini --key sk-...
462
- npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022 --key sk-ant-...
463
- npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant --key gsk_...
464
- npx aidoc-kit enrich --provider mistral --model mistral-small-latest --key ...
482
+ npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash
483
+ npx aidoc-kit enrich --provider openai --model gpt-4o-mini
484
+ npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022
485
+ npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant
486
+ npx aidoc-kit enrich --provider mistral --model mistral-small-latest
465
487
  npx aidoc-kit enrich --provider ollama --model llama3.2
466
488
  npx aidoc-kit enrich --dry
467
489
  npx aidoc-kit fix arrows
@@ -474,8 +496,8 @@ switch (command) {
474
496
  console.log(`
475
497
  Usage: aidoc-kit init [options]
476
498
 
477
- --path <dir> Dossier racine (défaut: .)
478
- -h, --help Afficher cette aide
499
+ --path <dir> Root directory (default: .)
500
+ -h, --help Show this help
479
501
  `);
480
502
  }
481
503
  else {
@@ -510,7 +532,7 @@ Usage: aidoc-kit init [options]
510
532
  (0, fixer_1.fixArrows)(projectRoot);
511
533
  }
512
534
  else {
513
- console.log(`Sous-commande fix inconnue. Commandes disponibles : arrows`);
535
+ console.log(`Unknown fix subcommand. Available: arrows`);
514
536
  }
515
537
  break;
516
538
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qCAAqD;AACrD,iDAA+C;AAC/C,yCAAmD;AACnD,4CAA4E;AAC5E,oDAAmE;AACnE,0CAAgF;AAChF,4CAAsD;AACtD,8CAAoG;AACpG,sCAAqC;AACrC,wCAAwC;AACxC,0CAAqD;AACrD,yCAA4C;AAE5C,8EAA8E;AAE9E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAEvB,iFAAiF;AAEjF,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAwB,CAAA;IAC3G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/C,CAAC;AAED,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAoB,OAAO,WAAW,CAAA;IACpE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,QAAQ,CAAA;IACpF,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAA;IAChG,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAA;IAC3E,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAA;IAClF,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,aAAa,GAA+B;IAChD,SAAS,EAAE,CAAC,mBAAmB,CAAC;IAChC,MAAM,EAAK,CAAC,gBAAgB,CAAC;IAC7B,MAAM,EAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAClD,IAAI,EAAO,CAAC,cAAc,CAAC;IAC3B,OAAO,EAAI,CAAC,iBAAiB,CAAC;IAC9B,MAAM,EAAK,EAAE;CACd,CAAA;AACD,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,8EAA8E;AAE9E,SAAS,OAAO,CAAC,OAAe;IAC9B,0EAA0E;IAC1E,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3F,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,EAAE,GAAG,IAAA,+BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5E,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,SAAS,EAAE,MAAM,CAAC,EAAE;YACxC,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC;;;;;;;;CAQf,CAAC,CAAA;QACE,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,WAAW,CAAC,CAAA;IAEtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,IAAI,CAAC,CAAA;IAElD,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAA;IAEvC,mDAAmD;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAC1C,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,kBAAS,EAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAA;IAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,YAAY,gBAAgB,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,0BAA0B,CAAC,CAAA;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,MAAM,sBAAsB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAEhI,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;QACrD,0FAA0F;QAC1F,0FAA0F;QAC1F,MAAM,WAAW,GAAG;YAClB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,mBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SAC7D,CAAA;QACD,mFAAmF;QACnF,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QAElE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;YAC3C,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;gBACpF,MAAM,KAAK,GAAG,IAAA,gCAAkB,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC5D,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,2BAA2B,mBAAmB,CAAC,MAAM,WAAW,CACjE,CAAA;YACD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACzB,OAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;gBACpF,MAAM,KAAK,GAAG,IAAA,gCAAkB,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC5D,IAAI,CAAC,KAAK;oBAAE,SAAQ;gBACpB,IAAA,sBAAa,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAA;YAC/B,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAA,2BAAkB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACvC,IAAA,sBAAa,EAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,8EAA8E;AAE9E,SAAS,MAAM;IACb,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC;;;;;;CAMf,CAAC,CAAA;QACE,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAA;IAEjD,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAA;IACvC,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAU,EAAC,OAAO,EAAE,oBAAY,CAAC,CAAA;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG;gBAAE,IAAA,uBAAa,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACnD,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,sBAAsB,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E,KAAK,UAAU,QAAQ;IACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC;;;;;CAKf,CAAC,CAAA;QACE,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IAErD,OAAO,CAAC,GAAG,CAAC,uBAAuB,WAAW,IAAI,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAEhD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QACjD,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,IAAA,oBAAU,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,UAAU,SAAS,CAAC,CAAA;YACjE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;IAChF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,qCAAqC,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;IAC1F,CAAC;AACH,CAAC;AAED,4EAA4E;AAE5E,KAAK,UAAU,SAAS;IACtB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBf,CAAC,CAAA;QACE,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,WAAW,CAAC,CAAA;IAEtC,8EAA8E;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAA;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAA;IAEzE,IAAI,QAAkB,CAAA;IACtB,IAAI,gBAAgB,EAAE,CAAC;QACrB,QAAQ,GAAG,gBAA4B,CAAA;IACzC,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAA;YAC3D,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAA;QACnB,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAA;QACjH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,gFAAgF;IAChF,yEAAyE;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAA;IACpC,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9G,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrE,MAAM,MAAM,GAAG,SAAS,IAAI,MAAM,CAAA;IAElC,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,iCAAiC,QAAQ,IAAI,CAAC,CAAA;QAC5D,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACrD,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,WAAW,CAAC,CAAA;QACnD,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzD,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAChD,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,uBAAuB,UAAU,IAAI,CAAC,CAAA;QACzF,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACjF,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAA;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,aAAa;QAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAA;IAEjE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAA;IAErD,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAY,EAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,SAAS,CAAC,CAAA;IAEnE,OAAO,CAAC,GAAG,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,aAAa,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAElF,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAE1C,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACnC,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACpC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAA,kBAAS,EAAC,GAAG,EAAE,cAAc,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzC,wBAAwB;YACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9C,qCAAqC;YACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,uBAAuB,CAAC,CAAA;IACtD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAErE,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAC7C,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAA,0BAAe,EAAC,QAAQ,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,oBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtF,0FAA0F;QAC1F,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,oEAAoE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACjH,MAAM,WAAW,GAAG,WAAW;YAC7B,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACxF,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,MAAM,GAAG,IAAA,sBAAW,EAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QAE/D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAO,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAE3F,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,wCAAwC,CAAC,CAAA;gBACjE,MAAM,EAAE,CAAA;gBACR,SAAQ;YACV,CAAC;YAED,mFAAmF;YACnF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,8CAA8C,EAC9C,UAAU,QAAQ,qBAAqB,KAAK,WAAW,CACxD,CAAA;YAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,SAAS,GAAC,CAAA;gBACjD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBACzC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;gBACzB,QAAQ,EAAE,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,cAAc,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,OAAO,EAAE,CAAC,CAAA;YACtC,MAAM,EAAE,CAAA;QACV,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,oBAAoB,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9F,CAAC;AAED,8EAA8E;AAE9E,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Db,CAAC,CAAA;AACF,CAAC;AAED,6EAA6E;AAE7E,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,MAAM;QACT,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC;;;;;CAKjB,CAAC,CAAA;QACE,CAAC;aAAM,CAAC;YACN,IAAA,cAAO,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,MAAK;IACP,KAAK,MAAM;QACT,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,MAAK;IACP,KAAK,KAAK;QACR,MAAM,EAAE,CAAA;QACR,MAAK;IACP,KAAK,OAAO;QACV,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,MAAK;IACP,KAAK,QAAQ;QACX,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,MAAK;IACP,KAAK,KAAK,CAAC,CAAC,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;YACrD,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;QAC1D,CAAC;QACD,MAAK;IACP,CAAC;IACD;QACE,SAAS,EAAE,CAAA;QACX,MAAK;AACT,CAAC"}