@cristiancorreau/forge 2.9.7 → 2.9.9
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/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/generate.js +1 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/generators/codex.d.ts.map +1 -1
- package/dist/lib/generators/codex.js +10 -8
- package/dist/lib/generators/codex.js.map +1 -1
- package/dist/lib/generators/kiro.d.ts +1 -1
- package/dist/lib/generators/kiro.d.ts.map +1 -1
- package/dist/lib/generators/kiro.js +15 -16
- package/dist/lib/generators/kiro.js.map +1 -1
- package/dist/lib/generators/opencode.d.ts.map +1 -1
- package/dist/lib/generators/opencode.js +13 -12
- package/dist/lib/generators/opencode.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +35 -2
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/tui/wizard.d.ts.map +1 -1
- package/dist/tui/wizard.js +119 -89
- package/dist/tui/wizard.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/assets/adapters/codex/hooks/codex.yaml.tpl +0 -43
- package/assets/adapters/codex/hooks/forge-codex-finish.sh +0 -158
- package/assets/adapters/codex/hooks/forge-codex-start.sh +0 -186
package/dist/tui/wizard.js
CHANGED
|
@@ -6,6 +6,23 @@
|
|
|
6
6
|
import { createCliRenderer, BoxRenderable, Text, SelectRenderable, InputRenderable, t, fg, bold as otBold, dim as otDim, } from '@opentui/core';
|
|
7
7
|
import { detectStack } from '../lib/detect.js';
|
|
8
8
|
import { VERSION } from '../version.js';
|
|
9
|
+
/**
|
|
10
|
+
* Restore the terminal to a sane state. OpenTUI enables alt-screen, mouse
|
|
11
|
+
* reporting, focus tracking and bracketed paste on `createCliRenderer`; if those
|
|
12
|
+
* modes leak into the shell they show up as ANSI garbage. Always emit the reset
|
|
13
|
+
* sequences after destroying the renderer as a safeguard.
|
|
14
|
+
*/
|
|
15
|
+
function restoreTerminal() {
|
|
16
|
+
try {
|
|
17
|
+
process.stdout.write('\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l' + // disable mouse reporting
|
|
18
|
+
'\x1b[?1004l' + // disable focus tracking
|
|
19
|
+
'\x1b[?2004l' + // disable bracketed paste
|
|
20
|
+
'\x1b[?1049l' + // leave alt screen
|
|
21
|
+
'\x1b[?25h' // show cursor
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
catch { }
|
|
25
|
+
}
|
|
9
26
|
// ─── Palette ─────────────────────────────────────────────────────────────────
|
|
10
27
|
const C = {
|
|
11
28
|
cyan: '#00e5ff',
|
|
@@ -279,96 +296,109 @@ export async function runOpenTUIWizard() {
|
|
|
279
296
|
}
|
|
280
297
|
// ─── Wizard steps ─────────────────────────────────────────────────────────────
|
|
281
298
|
const ans = { testing: detected.testing ?? [], detected: !!(detected.language || detected.backend) };
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
ans.name
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
299
|
+
try {
|
|
300
|
+
await showWelcome();
|
|
301
|
+
ans.name = await askInput('Project name', 'Enter a name for your project');
|
|
302
|
+
if (!ans.name)
|
|
303
|
+
ans.name = 'My Project';
|
|
304
|
+
ans.slug = toSlug(ans.name);
|
|
305
|
+
currentStep = 1;
|
|
306
|
+
ans.language = await askSelect('Language', 'Primary programming language', [
|
|
307
|
+
o('TypeScript', 'typescript', 'Recommended'), o('Python', 'python', ''),
|
|
308
|
+
o('Ruby', 'ruby', ''), o('Go', 'go', ''), o('PHP', 'php', ''),
|
|
309
|
+
], detected.language ?? 'typescript');
|
|
310
|
+
currentStep = 2;
|
|
311
|
+
ans.mode = await askSelect('Project mode', 'Determines agents and guardrails', [
|
|
312
|
+
o('startup', 'startup', 'Minimal — small team'),
|
|
313
|
+
o('standard', 'standard', 'CI/CD, code review, testing'),
|
|
314
|
+
o('enterprise', 'enterprise', 'Compliance, multi-team, audits'),
|
|
315
|
+
], 'standard');
|
|
316
|
+
currentStep = 3;
|
|
317
|
+
const backendOpts = BACKENDS[ans.language] ?? [o('None', 'none', '')];
|
|
318
|
+
const backend = await askSelect('Backend framework', 'Select backend (or None)', backendOpts, detected.backend ?? 'none');
|
|
319
|
+
ans.backend = backend === 'none' ? undefined : backend;
|
|
320
|
+
currentStep = 4;
|
|
321
|
+
const frontend = await askSelect('Frontend framework', 'Select frontend (or None)', FRONTENDS, detected.frontend ?? 'none');
|
|
322
|
+
ans.frontend = frontend === 'none' ? undefined : frontend;
|
|
323
|
+
currentStep = 5;
|
|
324
|
+
const database = await askSelect('Database', 'Select primary database', DATABASES, detected.database ?? 'postgresql');
|
|
325
|
+
ans.database = database === 'none' ? undefined : database;
|
|
326
|
+
currentStep = 6;
|
|
327
|
+
if (ans.database) {
|
|
328
|
+
const ormOpts = ORMS[ans.language] ?? [o('None', 'none', '')];
|
|
329
|
+
const orm = await askSelect('ORM / query builder', 'Select ORM', ormOpts, detected.orm ?? 'none');
|
|
330
|
+
ans.orm = orm === 'none' ? undefined : orm;
|
|
331
|
+
}
|
|
332
|
+
currentStep = 7;
|
|
333
|
+
const pmOpts = PKG[ans.language] ?? [o('npm', 'npm', '')];
|
|
334
|
+
ans.packageManager = await askSelect('Package manager', 'Select package manager', pmOpts, detected.packageManager ?? 'pnpm');
|
|
335
|
+
currentStep = 8;
|
|
336
|
+
const testOpts = TESTING[ans.language] ?? [o('None', 'none', 'Skip')];
|
|
337
|
+
const test = await askSelect('Testing', 'Select primary testing framework', testOpts, (detected.testing ?? [])[0] ?? 'none');
|
|
338
|
+
ans.testing = test === 'none' ? [] : [test];
|
|
339
|
+
currentStep = 9;
|
|
340
|
+
ans.runtime = await askSelect('AI Runtime', 'Primary AI coding assistant', RUNTIMES, 'claude-code');
|
|
341
|
+
currentStep = 10;
|
|
342
|
+
// ── Confirm ──
|
|
343
|
+
renderSteps();
|
|
344
|
+
clearContent();
|
|
345
|
+
// Each row is an array of parts (string literals + leaf StyledTexts).
|
|
346
|
+
const summaryRows = [
|
|
347
|
+
boldCol(C.white, 'Configuration summary'),
|
|
348
|
+
'',
|
|
349
|
+
[' ', fg(C.muted)('Name:'), ' ', fg(C.yellow)(ans.name)],
|
|
350
|
+
[' ', fg(C.muted)('Language:'), ' ' + ans.language + ' ', fg(C.muted)('Mode:'), ' ' + ans.mode],
|
|
351
|
+
];
|
|
352
|
+
if (ans.backend)
|
|
353
|
+
summaryRows.push([' ', fg(C.muted)('Backend:'), ' ' + ans.backend]);
|
|
354
|
+
if (ans.frontend)
|
|
355
|
+
summaryRows.push([' ', fg(C.muted)('Frontend:'), ' ' + ans.frontend]);
|
|
356
|
+
if (ans.database)
|
|
357
|
+
summaryRows.push([' ', fg(C.muted)('Database:'), ' ' + ans.database + (ans.orm ? ' + ' + ans.orm : '')]);
|
|
358
|
+
if (ans.testing?.length)
|
|
359
|
+
summaryRows.push([' ', fg(C.muted)('Testing:'), ' ' + ans.testing.join(', ')]);
|
|
360
|
+
summaryRows.push([' ', fg(C.muted)('Runtime:'), ' ' + ans.runtime]);
|
|
361
|
+
const confirmed = await askSelect('', 'Install with this configuration?', [
|
|
362
|
+
o('✔ Yes, install forge', 'yes', ''),
|
|
363
|
+
o('✗ Cancel', 'no', ''),
|
|
364
|
+
], undefined, summaryRows) === 'yes';
|
|
365
|
+
if (!confirmed) {
|
|
366
|
+
renderer.destroy();
|
|
367
|
+
restoreTerminal();
|
|
368
|
+
return null;
|
|
369
|
+
}
|
|
370
|
+
// Done
|
|
371
|
+
renderSteps();
|
|
372
|
+
clearContent();
|
|
373
|
+
contentPanel.add(Text({ id: 'q-label',
|
|
374
|
+
content: buildLines(['', boldCol(C.green, '✔ Configuration complete'), dimLeaf('Installing forge...')]),
|
|
375
|
+
}));
|
|
376
|
+
await new Promise(r => setTimeout(r, 500));
|
|
348
377
|
renderer.destroy();
|
|
349
|
-
|
|
378
|
+
restoreTerminal();
|
|
379
|
+
const profiles = [];
|
|
380
|
+
if (ans.backend && PROFILE_MAP[ans.backend])
|
|
381
|
+
profiles.push(PROFILE_MAP[ans.backend]);
|
|
382
|
+
if (ans.frontend && PROFILE_MAP[ans.frontend])
|
|
383
|
+
profiles.push(PROFILE_MAP[ans.frontend]);
|
|
384
|
+
return {
|
|
385
|
+
name: ans.name, slug: ans.slug, description: '', language: ans.language,
|
|
386
|
+
mode: ans.mode, backend: ans.backend, frontend: ans.frontend,
|
|
387
|
+
database: ans.database, orm: ans.orm, packageManager: ans.packageManager,
|
|
388
|
+
testing: ans.testing, profiles: [...new Set(profiles)],
|
|
389
|
+
// Default skills (the OpenTUI wizard doesn't ask for them yet).
|
|
390
|
+
skills: ['spec', 'new-feature', 'security-audit'],
|
|
391
|
+
runtime: ans.runtime, detected: ans.detected,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
catch (err) {
|
|
395
|
+
// Never leave the terminal in raw mode if a step throws.
|
|
396
|
+
try {
|
|
397
|
+
renderer.destroy();
|
|
398
|
+
}
|
|
399
|
+
catch { }
|
|
400
|
+
restoreTerminal();
|
|
401
|
+
throw err;
|
|
350
402
|
}
|
|
351
|
-
// Done
|
|
352
|
-
renderSteps();
|
|
353
|
-
clearContent();
|
|
354
|
-
contentPanel.add(Text({ id: 'q-label',
|
|
355
|
-
content: buildLines(['', boldCol(C.green, '✔ Configuration complete'), dimLeaf('Installing forge...')]),
|
|
356
|
-
}));
|
|
357
|
-
await new Promise(r => setTimeout(r, 500));
|
|
358
|
-
renderer.destroy();
|
|
359
|
-
const profiles = [];
|
|
360
|
-
if (ans.backend && PROFILE_MAP[ans.backend])
|
|
361
|
-
profiles.push(PROFILE_MAP[ans.backend]);
|
|
362
|
-
if (ans.frontend && PROFILE_MAP[ans.frontend])
|
|
363
|
-
profiles.push(PROFILE_MAP[ans.frontend]);
|
|
364
|
-
return {
|
|
365
|
-
name: ans.name, slug: ans.slug, description: '', language: ans.language,
|
|
366
|
-
mode: ans.mode, backend: ans.backend, frontend: ans.frontend,
|
|
367
|
-
database: ans.database, orm: ans.orm, packageManager: ans.packageManager,
|
|
368
|
-
testing: ans.testing, profiles: [...new Set(profiles)],
|
|
369
|
-
// Default skills (the OpenTUI wizard doesn't ask for them yet).
|
|
370
|
-
skills: ['spec', 'new-feature', 'security-audit'],
|
|
371
|
-
runtime: ans.runtime, detected: ans.detected,
|
|
372
|
-
};
|
|
373
403
|
}
|
|
374
404
|
//# sourceMappingURL=wizard.js.map
|
package/dist/tui/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/tui/wizard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,+CAA+C;AAC/C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,eAAe,EACf,CAAC,EACD,EAAE,EACF,IAAI,IAAI,MAAM,EACd,GAAG,IAAI,KAAK,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;GAKG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8CAA8C,GAAG,0BAA0B;YAC3E,aAAa,GAAqC,yBAAyB;YAC3E,aAAa,GAAqC,0BAA0B;YAC5E,aAAa,GAAqC,mBAAmB;YACrE,WAAW,CAAuC,cAAc;SACjE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,GAAG;IACR,IAAI,EAAK,SAAS;IAClB,MAAM,EAAG,SAAS;IAClB,KAAK,EAAI,SAAS;IAClB,KAAK,EAAI,SAAS;IAClB,GAAG,EAAM,SAAS;IAClB,EAAE,EAAO,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAI,SAAS;CACnB,CAAC;AAEF,kFAAkF;AAClF,sFAAsF;AACtF,oFAAoF;AACpF,uEAAuE;AACvE,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAKxC,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,UAAU,GAAG,CAAC,IAAW,EAAE,EAAE;IACjC,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACvB,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,IAAI,CAAC;iBACzC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,OAAe,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA,GAAG,OAAO,EAAE,CAAC;IAC9C,OAAQ,CAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,cAAc,EAAC,UAAU,EAAC,MAAM;IAChC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,KAAK;IACrC,iBAAiB,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS;CAChD,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,WAAW,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAE5F,MAAM,QAAQ,GAA0B;IACtC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAChM,MAAM,EAAM,CAAC,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAC5G,IAAI,EAAQ,CAAC,CAAC,CAAC,OAAO,EAAC,OAAO,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAClE,EAAE,EAAU,CAAC,CAAC,CAAC,KAAK,EAAC,QAAQ,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAClE,GAAG,EAAS,CAAC,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;CAC3E,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,EAAC,QAAQ,EAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAC,OAAO,EAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAC,WAAW,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,CAAC;AAClL,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,YAAY,EAAC,YAAY,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,EAAC,OAAO,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,CAAC;AAChJ,MAAM,IAAI,GAA0B;IAClC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,EAAC,SAAS,EAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAClJ,MAAM,EAAM,CAAC,CAAC,CAAC,YAAY,EAAC,YAAY,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;IAClE,IAAI,EAAQ,CAAC,CAAC,CAAC,eAAe,EAAC,eAAe,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC;CACzE,CAAC;AACF,MAAM,GAAG,GAA0B;IACjC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,YAAY,CAAC,CAAC;IACjH,MAAM,EAAM,CAAC,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,EAAE,CAAC,CAAC;IACxD,IAAI,EAAQ,CAAC,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,EAAE,CAAC,CAAC;IACvC,EAAE,EAAU,CAAC,CAAC,CAAC,YAAY,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC;IACrC,GAAG,EAAS,CAAC,CAAC,CAAC,UAAU,EAAC,UAAU,EAAC,EAAE,CAAC,CAAC;CAC1C,CAAC;AACF,MAAM,OAAO,GAA0B;IACrC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,EAAC,YAAY,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IACrK,MAAM,EAAM,CAAC,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,EAAQ,CAAC,CAAC,CAAC,OAAO,EAAC,OAAO,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;IAC5D,GAAG,EAAS,CAAC,CAAC,CAAC,SAAS,EAAC,SAAS,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;CACjE,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,aAAa,EAAC,aAAa,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,EAAC,UAAU,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAC,OAAO,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,CAAC;AACjJ,MAAM,WAAW,GAA0B,EAAE,IAAI,EAAC,cAAc,EAAE,MAAM,EAAC,cAAc,EAAE,KAAK,EAAC,OAAO,EAAE,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,OAAO,EAAE,OAAO,EAAC,SAAS,EAAE,CAAC;AAC9J,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAC,EAAE,CAAC,CAAC;AAE9F,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAK,OAAO,CAAC,MAAM,CAAC,OAAO,IAAK,GAAG,CAAC;IACjE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAQ,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,MAAM,GAAK,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IAEhC,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QACzC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QAChD,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ;QAC1B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI;QACxD,eAAe,EAAE,CAAC,CAAC,EAAE;QACrB,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;KACvD,CAAC,CAAC;IACH,6EAA6E;IAC7E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO;QAC3B,OAAO,EAAE,CAAC,CAAA,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC,KAAK,KAAK,CAAC,uCAAuC,CAAC,EAAE;KAC7K,CAAC,CAAC,CAAC;IACJ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QAC7C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;QAC/B,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACzD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG;QACvD,eAAe,EAAE,CAAC,CAAC,OAAO;QAC1B,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;KACvD,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE9B,6DAA6D;IAC7D,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QAC/C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;QAC/B,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;QACnE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI;QACxD,eAAe,EAAE,CAAC,CAAC,EAAE;QACrB,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhC,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE;QACzC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;QAC/B,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ;QACtD,eAAe,EAAE,CAAC,CAAC,OAAO;QAC1B,WAAW,EAAE,CAAC;KACf,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,gFAAgF;IAChF,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAQ,IAAI,CAAC,CAAC,iCAAiC;IAE/D,SAAS,WAAW;QAClB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,GAAG,WAAW;gBAAI,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,WAAW;gBAAE,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,YAAY;QACnB,gEAAgE;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACrC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACvD,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE;QAC3D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YAEf,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS;gBACnC,OAAO,EAAE,IAAI;oBACX,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAC1C,CAAC,CAAC,CAAC;YAEJ,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE;gBAC1C,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,OAAO,GAAG,CAAC;gBAClB,eAAe,EAAE,CAAC,CAAC,OAAO;gBAC1B,sBAAsB,EAAE,CAAC,CAAC,OAAO;gBACjC,gBAAgB,EAAE,CAAC,CAAC,IAAI;gBACxB,WAAW,EAAE,MAAM,IAAI,8BAA8B;gBACrD,gBAAgB,EAAE,CAAC,CAAC,KAAK;aAC1B,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,mEAAmE;YACnE,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,YAAY,GAAG,KAAK,CAAC;YAErB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,IAAY,EAAE,OAAc,EAAE,YAAqB,EAAE,SAAiB;QAC5G,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YAEf,yEAAyE;YACzE,MAAM,IAAI,GAAU,SAAS;gBAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAClF,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAErE,MAAM,OAAO,GAAG,YAAY;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE;gBACzC,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,OAAO,GAAG,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;gBAChD,OAAO;gBACP,aAAa,EAAE,OAAO;gBACtB,eAAe,EAAE,CAAC,CAAC,OAAO;gBAC1B,sBAAsB,EAAE,SAAS;gBACjC,gBAAgB,EAAE,CAAC,CAAC,IAAI;gBACxB,uBAAuB,EAAE,SAAS;gBAClC,iBAAiB,EAAE,CAAC,CAAC,MAAM;gBAC3B,eAAe,EAAE,IAAI;gBACrB,gBAAgB,EAAE,CAAC,CAAC,KAAK;aAC1B,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,2DAA2D;YAC3D,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,YAAY,GAAG,GAAG,CAAC;YAEnB,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAAE,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,KAAK,UAAU,WAAW;QACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,mEAAmE;YACnE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC;oBACxD,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE;oBACrC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE;oBACrG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;iBAC9D,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,YAAY,EAAE,CAAC;YACf,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;oBACzD,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,EAAE;oBAC1C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,8DAA8D,CAAC;oBAC3E,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4DAA4D,CAAC;oBACzE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yCAAyC,CAAC,EAAE,EAAE;oBAC1D,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBACpD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;oBAC/G,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAK,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;oBACnH,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAK,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC,CAAC;oBAC/G,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,EAAI,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;oBAC5G,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,CAAC;oBACtG,EAAE;oBACF,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0DAA0D,CAAC;oBACvE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;iBACvC,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE;gBACxC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACvE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,IAAI;gBACvF,uBAAuB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK;aAClH,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,GAAG,EAAE,CAAC;YAClB,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,MAAM,GAAG,GAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAE1G,IAAI,CAAC;QACL,MAAM,WAAW,EAAE,CAAC;QAEpB,GAAG,CAAC,IAAI,GAAO,MAAM,QAAQ,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;QACvC,GAAG,CAAC,IAAI,GAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,WAAW,GAAI,CAAC,CAAC;QAEjB,GAAG,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,8BAA8B,EAAE;YACzE,CAAC,CAAC,YAAY,EAAC,YAAY,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,EAAE,CAAC;YACnE,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAC,IAAI,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC;SACxD,EAAE,QAAQ,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QACtC,WAAW,GAAG,CAAC,CAAC;QAEhB,GAAG,CAAC,IAAI,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE;YAC7E,CAAC,CAAC,SAAS,EAAK,SAAS,EAAK,sBAAsB,CAAC;YACrD,CAAC,CAAC,UAAU,EAAI,UAAU,EAAG,6BAA6B,CAAC;YAC3D,CAAC,CAAC,YAAY,EAAE,YAAY,EAAC,gCAAgC,CAAC;SAC/D,EAAE,UAAU,CAAC,CAAC;QACf,WAAW,GAAG,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;QAC1H,GAAG,CAAC,OAAO,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACvD,WAAW,GAAG,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAC5H,GAAG,CAAC,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,WAAW,GAAG,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,yBAAyB,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QACtH,GAAG,CAAC,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1D,WAAW,GAAG,CAAC,CAAC;QAEhB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;YAClG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7C,CAAC;QACD,WAAW,GAAG,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QAC7H,WAAW,GAAG,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,kCAAkC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC7H,GAAG,CAAC,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,WAAW,GAAG,CAAC,CAAC;QAEhB,GAAG,CAAC,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,EAAE,6BAA6B,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpG,WAAW,GAAG,EAAE,CAAC;QAEjB,gBAAgB;QAChB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QAEf,sEAAsE;QACtE,MAAM,WAAW,GAAU;YACzB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,uBAAuB,CAAC;YACzC,EAAE;YACF,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAM,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;SACpG,CAAC;QACF,IAAI,GAAG,CAAC,OAAO;YAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1F,IAAI,GAAG,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1F,IAAI,GAAG,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7H,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5G,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAG,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,kCAAkC,EAAE;YACxE,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,CAAC;YACrC,CAAC,CAAC,WAAW,EAAc,IAAI,EAAG,EAAE,CAAC;SACtC,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAAC,eAAe,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAEvE,OAAO;QACP,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS;YACnC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;SACxG,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,OAAO,IAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACvE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YAC5D,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc;YACxE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtD,gEAAgE;YAChE,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC;YACjD,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;SAC7C,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yDAAyD;QACzD,IAAI,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACpC,eAAe,EAAE,CAAC;QAClB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cristiancorreau/forge",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.9",
|
|
4
4
|
"description": "Agentic development framework — multi-runtime support for Claude Code, OpenCode, Codex and Kiro",
|
|
5
5
|
"author": "Cristian Correa <cristian@socialweb.cl>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"typescript": "^5.4.0"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
|
47
|
-
"node": ">=
|
|
47
|
+
"node": ">=20.0.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@clack/prompts": "^0.9.1",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# .codex/codex.yaml — Forge v2 hooks para Codex CLI
|
|
2
|
-
#
|
|
3
|
-
# Generar con: cp adapters/codex/hooks/codex.yaml.tpl .codex/codex.yaml
|
|
4
|
-
# O usar: bash scripts/setup-codex.sh
|
|
5
|
-
#
|
|
6
|
-
# SOPORTE DE HOOKS EN CODEX CLI (estado a 2025):
|
|
7
|
-
# onStart — se ejecuta al inicio de cada sesión de Codex. Equivalente
|
|
8
|
-
# al hook SessionStart / UserPromptSubmit de Claude Code.
|
|
9
|
-
# onFinish — se ejecuta al finalizar cada sesión de Codex. Equivalente
|
|
10
|
-
# al hook Stop de Claude Code.
|
|
11
|
-
# onDiff — se ejecuta cuando Codex aplica cambios al filesystem.
|
|
12
|
-
# No tiene equivalente directo en Claude Code.
|
|
13
|
-
#
|
|
14
|
-
# NO SOPORTADO en Codex CLI (a diferencia de Claude Code):
|
|
15
|
-
# - PreToolUse: Codex no puede interceptar herramientas individuales
|
|
16
|
-
# antes de ejecutarlas. Las reglas de pre-bash-check.py y
|
|
17
|
-
# pre-edit-check.py NO tienen equivalente automático en Codex.
|
|
18
|
-
# Esas reglas están embebidas en AGENTS.md como instrucciones de texto
|
|
19
|
-
# para que el agente las respete voluntariamente.
|
|
20
|
-
# - PostToolUse: tampoco soportado.
|
|
21
|
-
#
|
|
22
|
-
# IMPLICACIÓN: La capa de seguridad de Codex es instruccional (AGENTS.md),
|
|
23
|
-
# no mecánica (hooks que bloquean). Para proyectos de alto riesgo, preferir
|
|
24
|
-
# Claude Code que sí puede bloquear comandos destructivos antes de ejecutarlos.
|
|
25
|
-
|
|
26
|
-
model: o4-mini # Cambiar según preferencia: o4-mini | o3 | gpt-4o
|
|
27
|
-
|
|
28
|
-
hooks:
|
|
29
|
-
# Ejecutado al inicio de cada sesión.
|
|
30
|
-
# Equivalent: Claude Code SessionStart / UserPromptSubmit hook.
|
|
31
|
-
# Verifica herramientas disponibles, branch, cambios sin commitear,
|
|
32
|
-
# project.yaml y variables de entorno de producción activas.
|
|
33
|
-
onStart: bash .codex/forge-codex-start.sh
|
|
34
|
-
|
|
35
|
-
# Ejecutado al finalizar cada sesión.
|
|
36
|
-
# Equivalent: Claude Code Stop hook (post-turn-check.sh).
|
|
37
|
-
# Detecta archivos modificados y corre type-check / syntax-check.
|
|
38
|
-
onFinish: bash .codex/forge-codex-finish.sh
|
|
39
|
-
|
|
40
|
-
# onDiff: no configurado por defecto.
|
|
41
|
-
# Se puede usar para correr linters en los archivos cambiados.
|
|
42
|
-
# Ejemplo: onDiff: bash -c 'echo "$CODEX_DIFF_FILES" | xargs eslint --fix'
|
|
43
|
-
# onDiff: ""
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Forge v2 — Codex onFinish hook: forge-codex-finish.sh
|
|
3
|
-
#
|
|
4
|
-
# Se ejecuta al finalizar cada sesión de Codex CLI.
|
|
5
|
-
# Equivalente al hook post-turn-check.sh de Claude Code (Stop event).
|
|
6
|
-
#
|
|
7
|
-
# DIFERENCIAS vs Claude Code:
|
|
8
|
-
# - Claude Code: post-turn-check.sh corre después de CADA turno del agente.
|
|
9
|
-
# - Codex CLI: forge-codex-finish.sh corre al FINALIZAR la sesión completa,
|
|
10
|
-
# no después de cada mensaje individual. Codex no tiene un equivalente
|
|
11
|
-
# granular de "Stop por turno".
|
|
12
|
-
# - Claude Code Stop hook: puede imprimir al contexto del agente (el output
|
|
13
|
-
# se muestra como resultado del hook).
|
|
14
|
-
# - Codex CLI onFinish: el output se muestra en la terminal del usuario,
|
|
15
|
-
# pero puede no ser visible en el contexto del agente dependiendo de la
|
|
16
|
-
# versión de Codex.
|
|
17
|
-
#
|
|
18
|
-
# LIMITACIONES de Codex vs Claude Code:
|
|
19
|
-
# - No hay PreToolUse/PostToolUse hooks para interceptar herramientas individuales.
|
|
20
|
-
# - Los checks de este script son post-sesión, no post-turno.
|
|
21
|
-
#
|
|
22
|
-
# Instalación: este script debe copiarse o enlazarse en .codex/forge-codex-finish.sh
|
|
23
|
-
# El setup-codex.sh lo hace automáticamente.
|
|
24
|
-
|
|
25
|
-
set -uo pipefail
|
|
26
|
-
|
|
27
|
-
# ---------------------------------------------------------------------------
|
|
28
|
-
# Step 1 — Find modified files
|
|
29
|
-
# ---------------------------------------------------------------------------
|
|
30
|
-
MODIFIED=$(git diff --name-only HEAD 2>/dev/null || echo "")
|
|
31
|
-
STAGED=$(git diff --name-only --cached 2>/dev/null || echo "")
|
|
32
|
-
ALL_CHANGED="$MODIFIED $STAGED"
|
|
33
|
-
|
|
34
|
-
if [ -z "$(echo "$ALL_CHANGED" | tr -d '[:space:]')" ]; then
|
|
35
|
-
exit 0
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# ---------------------------------------------------------------------------
|
|
39
|
-
# Step 2 — Read project config
|
|
40
|
-
# ---------------------------------------------------------------------------
|
|
41
|
-
PKG_MGR=""
|
|
42
|
-
CUSTOM_CHECK=""
|
|
43
|
-
|
|
44
|
-
if [ -f "project.yaml" ]; then
|
|
45
|
-
PKG_MGR=$(python3 -c "
|
|
46
|
-
import yaml, sys
|
|
47
|
-
try:
|
|
48
|
-
d = yaml.safe_load(open('project.yaml'))
|
|
49
|
-
print(d.get('stack', {}).get('package_manager', ''))
|
|
50
|
-
except:
|
|
51
|
-
print('')
|
|
52
|
-
" 2>/dev/null || echo "")
|
|
53
|
-
|
|
54
|
-
CUSTOM_CHECK=$(python3 -c "
|
|
55
|
-
import yaml, sys
|
|
56
|
-
try:
|
|
57
|
-
d = yaml.safe_load(open('project.yaml'))
|
|
58
|
-
print(d.get('scripts', {}).get('check', ''))
|
|
59
|
-
except:
|
|
60
|
-
print('')
|
|
61
|
-
" 2>/dev/null || echo "")
|
|
62
|
-
fi
|
|
63
|
-
|
|
64
|
-
CHECK_OUTPUT=""
|
|
65
|
-
|
|
66
|
-
# ---------------------------------------------------------------------------
|
|
67
|
-
# Step 3 — Run checks
|
|
68
|
-
# ---------------------------------------------------------------------------
|
|
69
|
-
|
|
70
|
-
# Helper: check if any changed file matches a glob pattern
|
|
71
|
-
files_matching() {
|
|
72
|
-
local pattern="$1"
|
|
73
|
-
echo "$ALL_CHANGED" | tr ' ' '\n' | grep -E "$pattern" 2>/dev/null || true
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if [ -n "$CUSTOM_CHECK" ]; then
|
|
77
|
-
# Run user-defined check command
|
|
78
|
-
CHECK_OUTPUT=$(eval "$CUSTOM_CHECK" 2>&1 | head -20 || true)
|
|
79
|
-
|
|
80
|
-
else
|
|
81
|
-
# Auto-detect by file type
|
|
82
|
-
|
|
83
|
-
# TypeScript / JavaScript
|
|
84
|
-
TS_FILES=$(files_matching '\.(ts|tsx)$')
|
|
85
|
-
if [ -n "$TS_FILES" ]; then
|
|
86
|
-
if [ -f "turbo.json" ] && command -v pnpm &>/dev/null; then
|
|
87
|
-
TSC_OUTPUT=$(pnpm turbo typecheck 2>&1 | head -20 || pnpm tsc --noEmit 2>&1 | head -20 || true)
|
|
88
|
-
elif command -v pnpm &>/dev/null; then
|
|
89
|
-
TSC_OUTPUT=$(pnpm tsc --noEmit 2>&1 | head -20 || true)
|
|
90
|
-
elif command -v npx &>/dev/null; then
|
|
91
|
-
TSC_OUTPUT=$(npx tsc --noEmit 2>&1 | head -20 || true)
|
|
92
|
-
else
|
|
93
|
-
TSC_OUTPUT=""
|
|
94
|
-
fi
|
|
95
|
-
if [ -n "${TSC_OUTPUT:-}" ]; then
|
|
96
|
-
CHECK_OUTPUT="${CHECK_OUTPUT:+$CHECK_OUTPUT$'\n'}[tsc] $TSC_OUTPUT"
|
|
97
|
-
fi
|
|
98
|
-
fi
|
|
99
|
-
|
|
100
|
-
# PHP
|
|
101
|
-
PHP_FILES=$(files_matching '\.php$')
|
|
102
|
-
if [ -n "$PHP_FILES" ] && [ -f "composer.json" ]; then
|
|
103
|
-
if command -v composer &>/dev/null; then
|
|
104
|
-
PHP_OUTPUT=$(composer validate --no-check-publish 2>&1 | head -10 || true)
|
|
105
|
-
if [ -n "$PHP_OUTPUT" ]; then
|
|
106
|
-
CHECK_OUTPUT="${CHECK_OUTPUT:+$CHECK_OUTPUT$'\n'}[composer] $PHP_OUTPUT"
|
|
107
|
-
fi
|
|
108
|
-
fi
|
|
109
|
-
fi
|
|
110
|
-
|
|
111
|
-
# Python
|
|
112
|
-
PY_FILES=$(files_matching '\.py$')
|
|
113
|
-
if [ -n "$PY_FILES" ]; then
|
|
114
|
-
PY_OUTPUT=""
|
|
115
|
-
while IFS= read -r f; do
|
|
116
|
-
[ -z "$f" ] && continue
|
|
117
|
-
[ -f "$f" ] || continue
|
|
118
|
-
RESULT=$(python3 -m py_compile "$f" 2>&1 || true)
|
|
119
|
-
if [ -n "$RESULT" ]; then
|
|
120
|
-
PY_OUTPUT="${PY_OUTPUT:+$PY_OUTPUT$'\n'}$f: $RESULT"
|
|
121
|
-
fi
|
|
122
|
-
done <<< "$PY_FILES"
|
|
123
|
-
if [ -n "$PY_OUTPUT" ]; then
|
|
124
|
-
CHECK_OUTPUT="${CHECK_OUTPUT:+$CHECK_OUTPUT$'\n'}[python] $PY_OUTPUT"
|
|
125
|
-
fi
|
|
126
|
-
fi
|
|
127
|
-
|
|
128
|
-
# Ruby
|
|
129
|
-
RB_FILES=$(files_matching '\.rb$')
|
|
130
|
-
if [ -n "$RB_FILES" ] && [ -f "Gemfile" ]; then
|
|
131
|
-
RB_OUTPUT=""
|
|
132
|
-
if command -v bundle &>/dev/null; then
|
|
133
|
-
while IFS= read -r f; do
|
|
134
|
-
[ -z "$f" ] && continue
|
|
135
|
-
[ -f "$f" ] || continue
|
|
136
|
-
RESULT=$(bundle exec ruby -c "$f" 2>&1 | head -10 || true)
|
|
137
|
-
if [ -n "$RESULT" ]; then
|
|
138
|
-
RB_OUTPUT="${RB_OUTPUT:+$RB_OUTPUT$'\n'}$f: $RESULT"
|
|
139
|
-
fi
|
|
140
|
-
done <<< "$RB_FILES"
|
|
141
|
-
fi
|
|
142
|
-
if [ -n "$RB_OUTPUT" ]; then
|
|
143
|
-
CHECK_OUTPUT="${CHECK_OUTPUT:+$CHECK_OUTPUT$'\n'}[ruby] $RB_OUTPUT"
|
|
144
|
-
fi
|
|
145
|
-
fi
|
|
146
|
-
fi
|
|
147
|
-
|
|
148
|
-
# ---------------------------------------------------------------------------
|
|
149
|
-
# Step 4 — Report
|
|
150
|
-
# ---------------------------------------------------------------------------
|
|
151
|
-
if [ -n "$CHECK_OUTPUT" ]; then
|
|
152
|
-
echo "── Forge Codex post-session check ───────────"
|
|
153
|
-
echo "$CHECK_OUTPUT"
|
|
154
|
-
echo "─────────────────────────────────────────────"
|
|
155
|
-
fi
|
|
156
|
-
|
|
157
|
-
# Siempre exit 0 — este hook nunca bloquea.
|
|
158
|
-
exit 0
|