specrails-core 4.8.0 → 4.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/tui-installer.mjs
CHANGED
|
@@ -72,7 +72,10 @@ const DEFAULT_SELECTED = new Set([
|
|
|
72
72
|
...CORE_AGENTS,
|
|
73
73
|
]);
|
|
74
74
|
|
|
75
|
-
// ─── Model presets
|
|
75
|
+
// ─── Model presets (Claude only — see PROVIDER_DEFAULT_MODEL) ────────────────────
|
|
76
|
+
// Claude has real cost/quality tiers (sonnet/haiku/opus). Codex and gemini are
|
|
77
|
+
// single-model in the scaffold (it hardcodes the per-agent model and ignores the
|
|
78
|
+
// install-config preset), so these presets apply to Claude only.
|
|
76
79
|
|
|
77
80
|
const MODEL_PRESETS = {
|
|
78
81
|
balanced: {
|
|
@@ -92,30 +95,51 @@ const MODEL_PRESETS = {
|
|
|
92
95
|
},
|
|
93
96
|
};
|
|
94
97
|
|
|
98
|
+
// Per-provider default agent model. For codex/gemini the scaffold hardcodes this
|
|
99
|
+
// (the install-config model is advisory), so the TUI writes the provider's real
|
|
100
|
+
// model instead of a Claude-flavoured preset. Keep in sync with scaffold.ts
|
|
101
|
+
// (GEMINI_DEFAULT_MODEL / the codex config.toml model).
|
|
102
|
+
const PROVIDER_DEFAULT_MODEL = {
|
|
103
|
+
claude: 'sonnet',
|
|
104
|
+
codex: 'gpt-5.5-mini',
|
|
105
|
+
gemini: 'gemini-3.5-flash',
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
// ─── Provider registry ─────────────────────────────────────────────────────────
|
|
109
|
+
// Single source of truth for the AI CLIs the TUI can target. Add a provider here
|
|
110
|
+
// and it flows through detection, the --provider flag, and the interactive picker.
|
|
111
|
+
const PROVIDERS = [
|
|
112
|
+
{ id: 'claude', label: 'Claude Code (recommended)', versionCmd: 'claude --version', installLabel: 'Claude Code', installUrl: 'https://claude.ai/download' },
|
|
113
|
+
{ id: 'codex', label: 'Codex (OpenAI)', versionCmd: 'codex --version', installLabel: 'Codex CLI', installUrl: 'https://developers.openai.com/codex' },
|
|
114
|
+
{ id: 'gemini', label: 'Gemini CLI (Google)', versionCmd: 'gemini --version', installLabel: 'Gemini CLI', installUrl: 'https://github.com/google-gemini/gemini-cli' },
|
|
115
|
+
];
|
|
116
|
+
const VALID_PROVIDER_IDS = new Set(PROVIDERS.map(p => p.id));
|
|
117
|
+
|
|
95
118
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
96
119
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
120
|
+
// Returns the set of provider ids whose CLI responds to `<bin> --version`.
|
|
121
|
+
function detectInstalledProviders() {
|
|
122
|
+
const installed = new Set();
|
|
123
|
+
for (const p of PROVIDERS) {
|
|
124
|
+
try { execSync(p.versionCmd, { stdio: 'ignore' }); installed.add(p.id); } catch { /* not installed */ }
|
|
125
|
+
}
|
|
126
|
+
return installed;
|
|
103
127
|
}
|
|
104
128
|
|
|
105
|
-
// Parse `--provider <id>` or `--provider=<id>` from process.argv. Returns
|
|
106
|
-
//
|
|
107
|
-
//
|
|
129
|
+
// Parse `--provider <id>` or `--provider=<id>` from process.argv. Returns a valid
|
|
130
|
+
// provider id or null (unknown values warn-then-null so the TUI falls back to the
|
|
131
|
+
// interactive picker).
|
|
108
132
|
function parseProviderArg() {
|
|
109
133
|
const args = process.argv.slice(2);
|
|
110
134
|
for (let i = 0; i < args.length; i++) {
|
|
111
135
|
const a = args[i];
|
|
112
136
|
if (a === '--provider' && args[i + 1]) {
|
|
113
137
|
const v = args[i + 1].trim().toLowerCase();
|
|
114
|
-
return v
|
|
138
|
+
return VALID_PROVIDER_IDS.has(v) ? v : null;
|
|
115
139
|
}
|
|
116
140
|
if (a.startsWith('--provider=')) {
|
|
117
141
|
const v = a.slice('--provider='.length).trim().toLowerCase();
|
|
118
|
-
return v
|
|
142
|
+
return VALID_PROVIDER_IDS.has(v) ? v : null;
|
|
119
143
|
}
|
|
120
144
|
}
|
|
121
145
|
return null;
|
|
@@ -188,7 +212,7 @@ function writeDefaultConfig(specrailsDir, provider) {
|
|
|
188
212
|
selectedAgents: defaultSelected,
|
|
189
213
|
excludedAgents: defaultExcluded,
|
|
190
214
|
modelPreset: 'balanced',
|
|
191
|
-
modelDefaults: 'sonnet',
|
|
215
|
+
modelDefaults: PROVIDER_DEFAULT_MODEL[provider] ?? 'sonnet',
|
|
192
216
|
modelOverrides: {},
|
|
193
217
|
agentTeams: false,
|
|
194
218
|
});
|
|
@@ -251,36 +275,29 @@ async function run() {
|
|
|
251
275
|
// Honours an explicit --provider <id> argv flag when present; otherwise
|
|
252
276
|
// picks claude → codex → first-detected. Errors only when none detected.
|
|
253
277
|
if (autoYes) {
|
|
254
|
-
const
|
|
278
|
+
const installed = detectInstalledProviders();
|
|
255
279
|
const argvProvider = parseProviderArg();
|
|
256
280
|
let provider;
|
|
257
281
|
if (argvProvider) {
|
|
258
|
-
if (argvProvider
|
|
282
|
+
if (!installed.has(argvProvider)) {
|
|
283
|
+
const p = PROVIDERS.find(x => x.id === argvProvider);
|
|
259
284
|
console.error('');
|
|
260
|
-
console.error(
|
|
261
|
-
console.error(
|
|
285
|
+
console.error(` ⚠ --provider ${argvProvider} requested but ${p.installLabel} is not installed.`);
|
|
286
|
+
console.error(` Install: ${p.installUrl}`);
|
|
262
287
|
console.error('');
|
|
263
288
|
process.exit(1);
|
|
264
289
|
}
|
|
265
|
-
|
|
290
|
+
provider = argvProvider;
|
|
291
|
+
} else {
|
|
292
|
+
// No flag: pick the first installed provider in registry order.
|
|
293
|
+
provider = PROVIDERS.find(p => installed.has(p.id))?.id;
|
|
294
|
+
if (!provider) {
|
|
266
295
|
console.error('');
|
|
267
|
-
console.error(' ⚠
|
|
268
|
-
console.error(
|
|
296
|
+
console.error(' ⚠ No supported AI CLI detected on PATH (Claude Code, Codex, or Gemini CLI).');
|
|
297
|
+
for (const p of PROVIDERS) console.error(` Install ${p.installLabel}: ${p.installUrl}`);
|
|
269
298
|
console.error('');
|
|
270
299
|
process.exit(1);
|
|
271
300
|
}
|
|
272
|
-
provider = argvProvider;
|
|
273
|
-
} else if (hasClaude) {
|
|
274
|
-
provider = 'claude';
|
|
275
|
-
} else if (hasCodex) {
|
|
276
|
-
provider = 'codex';
|
|
277
|
-
} else {
|
|
278
|
-
console.error('');
|
|
279
|
-
console.error(' ⚠ Neither Claude Code nor Codex CLI detected on PATH.');
|
|
280
|
-
console.error(' Install Claude: https://claude.ai/download');
|
|
281
|
-
console.error(' Install Codex: https://developers.openai.com/codex');
|
|
282
|
-
console.error('');
|
|
283
|
-
process.exit(1);
|
|
284
301
|
}
|
|
285
302
|
writeDefaultConfig(specrailsDir, provider);
|
|
286
303
|
console.log(` ✓ Default config written to .specrails/install-config.yaml`);
|
|
@@ -312,40 +329,37 @@ async function run() {
|
|
|
312
329
|
|
|
313
330
|
// ── Step 1: Provider ────────────────────────────────────────────────────────
|
|
314
331
|
|
|
315
|
-
const
|
|
332
|
+
const installed = detectInstalledProviders();
|
|
316
333
|
const argvProvider = parseProviderArg();
|
|
317
334
|
let provider;
|
|
318
335
|
|
|
319
336
|
if (argvProvider) {
|
|
320
|
-
if (argvProvider
|
|
321
|
-
exitFullscreen();
|
|
322
|
-
console.error('\n ⚠ --provider claude requested but Claude Code is not installed.\n Install: https://claude.ai/download\n');
|
|
323
|
-
process.exit(1);
|
|
324
|
-
}
|
|
325
|
-
if (argvProvider === 'codex' && !hasCodex) {
|
|
337
|
+
if (!installed.has(argvProvider)) {
|
|
326
338
|
exitFullscreen();
|
|
327
|
-
|
|
339
|
+
const p = PROVIDERS.find(x => x.id === argvProvider);
|
|
340
|
+
console.error(`\n ⚠ --provider ${argvProvider} requested but ${p.installLabel} is not installed.\n Install: ${p.installUrl}\n`);
|
|
328
341
|
process.exit(1);
|
|
329
342
|
}
|
|
330
343
|
provider = argvProvider;
|
|
331
344
|
console.log(` → Provider: ${provider} (from --provider flag)\n`);
|
|
332
|
-
} else if (hasClaude && hasCodex) {
|
|
333
|
-
provider = await select({
|
|
334
|
-
message: 'Which AI provider will you use?',
|
|
335
|
-
choices: [
|
|
336
|
-
{ value: 'claude', name: 'Claude Code (recommended)' },
|
|
337
|
-
{ value: 'codex', name: 'Codex (OpenAI)' },
|
|
338
|
-
],
|
|
339
|
-
});
|
|
340
|
-
} else if (hasCodex) {
|
|
341
|
-
provider = 'codex';
|
|
342
|
-
console.log(' → Provider: codex (auto-detected — Claude Code not found)\n');
|
|
343
|
-
} else if (hasClaude) {
|
|
344
|
-
provider = 'claude';
|
|
345
|
-
console.log(' → Provider: claude (auto-detected)\n');
|
|
346
345
|
} else {
|
|
347
|
-
|
|
348
|
-
|
|
346
|
+
const detected = PROVIDERS.filter(p => installed.has(p.id));
|
|
347
|
+
if (detected.length > 1) {
|
|
348
|
+
provider = await select({
|
|
349
|
+
message: 'Which AI provider will you use?',
|
|
350
|
+
choices: detected.map(p => ({ value: p.id, name: p.label })),
|
|
351
|
+
});
|
|
352
|
+
} else if (detected.length === 1) {
|
|
353
|
+
provider = detected[0].id;
|
|
354
|
+
console.log(` → Provider: ${provider} (auto-detected)\n`);
|
|
355
|
+
} else {
|
|
356
|
+
// None detected — still offer the full list (a CLI may work despite a
|
|
357
|
+
// failed --version probe, e.g. a PATH quirk).
|
|
358
|
+
provider = await select({
|
|
359
|
+
message: 'No AI CLI detected on PATH — which will you use?',
|
|
360
|
+
choices: PROVIDERS.map(p => ({ value: p.id, name: p.label })),
|
|
361
|
+
});
|
|
362
|
+
}
|
|
349
363
|
}
|
|
350
364
|
|
|
351
365
|
// ── Step 2: Installation tier ───────────────────────────────────────────────
|
|
@@ -397,15 +411,23 @@ async function run() {
|
|
|
397
411
|
clearScreen();
|
|
398
412
|
console.log(` Provider: ${provider} | Tier: ${tier} | Agents: ${selectedAgents.length}/${ALL_AGENT_IDS.length}\n`);
|
|
399
413
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
414
|
+
// Claude exposes real model tiers; codex/gemini are single-model in the scaffold,
|
|
415
|
+
// so skip the (Claude-flavoured) preset picker for them and use the fixed model.
|
|
416
|
+
let modelPreset = 'balanced';
|
|
417
|
+
let modelDefaults = PROVIDER_DEFAULT_MODEL[provider] ?? 'sonnet';
|
|
418
|
+
let modelOverrides = {};
|
|
419
|
+
if (provider === 'claude') {
|
|
420
|
+
modelPreset = await select({
|
|
421
|
+
message: 'Model configuration:',
|
|
422
|
+
choices: Object.entries(MODEL_PRESETS).map(([key, val]) => ({
|
|
423
|
+
value: key,
|
|
424
|
+
name: `${key.padEnd(10)} ${val.label}`,
|
|
425
|
+
})),
|
|
426
|
+
});
|
|
427
|
+
({ defaults: modelDefaults, overrides: modelOverrides } = MODEL_PRESETS[modelPreset]);
|
|
428
|
+
} else {
|
|
429
|
+
console.log(` → Model: ${modelDefaults} (${provider} uses one model for all agents)\n`);
|
|
430
|
+
}
|
|
409
431
|
|
|
410
432
|
// ── Step 5: Agent Teams (Claude only) ──────────────────────────────────────
|
|
411
433
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
1
2
|
import { rmSync } from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
2
4
|
import path from 'node:path';
|
|
3
5
|
import { copyDir, copyFile, isDir, listDir, mkdirp, pathExists, readTextFile, writeFileLf } from '../util/fs.js';
|
|
4
6
|
import { info, ok, warn } from '../util/logger.js';
|
|
@@ -26,15 +28,71 @@ const QUICK_EXCLUDED_AGENTS = new Set(['sr-product-manager', 'sr-product-analyst
|
|
|
26
28
|
* (Validated headless in the desktop spike — read/write/shell/glob/grep.) Because
|
|
27
29
|
* gemini TOML commands cannot carry per-command tool/model routing, the tool +
|
|
28
30
|
* model gating migrates into the subagent frontmatter.
|
|
31
|
+
*
|
|
32
|
+
* `activate_skill` is mandatory: the architect/developer/reviewer personas open
|
|
33
|
+
* with a NON-NEGOTIABLE OpenSpec skill call (`opsx:ff`/`apply`/`archive`). Gemini
|
|
34
|
+
* exposes skills through the `activate_skill` tool — without it in the tools list
|
|
35
|
+
* the agent halts with "the required `Skill` tool is not available" and the only
|
|
36
|
+
* way the pipeline ever completed was the orchestrator hand-patching the agent
|
|
37
|
+
* file mid-run. See `translateOpsxSkillCallsForGemini` for the body half.
|
|
38
|
+
*/
|
|
39
|
+
const GEMINI_AGENT_TOOLS = ['read_file', 'write_file', 'run_shell_command', 'glob', 'search_file_content', 'activate_skill'];
|
|
40
|
+
/**
|
|
41
|
+
* Claude `Skill("opsx:<id>")` → Gemini `activate_skill(name="<skill>")` id map.
|
|
42
|
+
* The agent persona templates are authored in Claude form (the shared source of
|
|
43
|
+
* truth across providers); Gemini invokes the same OpenSpec workflow skills under
|
|
44
|
+
* a different tool name and skill-directory names. The mapping is NOT a uniform
|
|
45
|
+
* `-change` suffix (`sync` → `*-sync-specs`, `explore`/`onboard` have none), so it
|
|
46
|
+
* must be explicit. Keys mirror the skill directories scaffolded under
|
|
47
|
+
* `.gemini/skills/openspec-*`.
|
|
48
|
+
*/
|
|
49
|
+
const OPSX_TO_GEMINI_SKILL = {
|
|
50
|
+
ff: 'openspec-ff-change',
|
|
51
|
+
new: 'openspec-new-change',
|
|
52
|
+
apply: 'openspec-apply-change',
|
|
53
|
+
continue: 'openspec-continue-change',
|
|
54
|
+
archive: 'openspec-archive-change',
|
|
55
|
+
'bulk-archive': 'openspec-bulk-archive-change',
|
|
56
|
+
sync: 'openspec-sync-specs',
|
|
57
|
+
verify: 'openspec-verify-change',
|
|
58
|
+
explore: 'openspec-explore',
|
|
59
|
+
onboard: 'openspec-onboard',
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Rewrite every literal `Skill("opsx:<id>"[, …])` call in a Claude-authored agent
|
|
63
|
+
* body into the Gemini `activate_skill(name="…")` form. Positional skill input
|
|
64
|
+
* (e.g. `"<specName>"`) is dropped because `activate_skill` takes only `name` and
|
|
65
|
+
* the surrounding persona prose already carries the context. Unknown ids are left
|
|
66
|
+
* untouched (better a visible stale ref than a silent `name="undefined"`). This
|
|
67
|
+
* runs ONLY on the gemini render path; Claude/Codex keep the `Skill(...)` form.
|
|
68
|
+
*/
|
|
69
|
+
export function translateOpsxSkillCallsForGemini(body) {
|
|
70
|
+
return body.replace(/Skill\("opsx:([a-z-]+)"(?:\s*,[^)]*)?\)/g, (match, id) => {
|
|
71
|
+
const skill = OPSX_TO_GEMINI_SKILL[id];
|
|
72
|
+
return skill ? `activate_skill(name="${skill}")` : match;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Per-role gemini model. Defaults to `gemini-3.5-flash` — the stable flagship
|
|
77
|
+
* (June 2026): strong agentic/coding, high quota, and unlike `gemini-2.5-pro`
|
|
78
|
+
* it is NOT removed from the free tier (the old default produced 429
|
|
79
|
+
* "exhausted capacity" errors on free/limited keys).
|
|
29
80
|
*/
|
|
30
|
-
const GEMINI_AGENT_TOOLS = ['read_file', 'write_file', 'run_shell_command', 'glob', 'search_file_content'];
|
|
31
|
-
/** Per-role gemini model (claude templates all use `sonnet`; mirror the top tier). */
|
|
32
81
|
const GEMINI_MODEL_BY_AGENT = {
|
|
33
|
-
'sr-architect': 'gemini-
|
|
34
|
-
'sr-developer': 'gemini-
|
|
35
|
-
'sr-reviewer': 'gemini-
|
|
82
|
+
'sr-architect': 'gemini-3.5-flash',
|
|
83
|
+
'sr-developer': 'gemini-3.5-flash',
|
|
84
|
+
'sr-reviewer': 'gemini-3.5-flash',
|
|
36
85
|
};
|
|
37
|
-
const GEMINI_DEFAULT_MODEL = 'gemini-
|
|
86
|
+
const GEMINI_DEFAULT_MODEL = 'gemini-3.5-flash';
|
|
87
|
+
// NOTE: do NOT emit a `max_turns` (or `maxTurns`/`runConfig`) key in the gemini
|
|
88
|
+
// agent frontmatter. Although gemini's documented agent schema lists `max_turns`,
|
|
89
|
+
// the 0.46 runtime loader REJECTS a `.gemini/agents/*.md` file that carries it —
|
|
90
|
+
// the agent silently fails to register and `invoke_agent` reports "Subagent
|
|
91
|
+
// '<name>' not found", so the orchestrator falls back to a generic agent and the
|
|
92
|
+
// specialised personas never run. Verified empirically (two identical agents,
|
|
93
|
+
// one with `max_turns: 40` → not found, one without → loads). The 30-turn default
|
|
94
|
+
// cap is instead absorbed by the implement.toml MAX_TURNS → re-delegate/resume
|
|
95
|
+
// contract. Re-introduce only if a future gemini build is reconfirmed to accept it.
|
|
38
96
|
/**
|
|
39
97
|
* Skills excluded from the quick tier because they depend on
|
|
40
98
|
* VPC-only agents (sr-product-manager, sr-product-analyst).
|
|
@@ -471,10 +529,10 @@ function writeGeminiAgentFromTemplate(args) {
|
|
|
471
529
|
'---',
|
|
472
530
|
'',
|
|
473
531
|
].join('\n');
|
|
474
|
-
const renderedBody = renderPlaceholders(body, {
|
|
532
|
+
const renderedBody = translateOpsxSkillCallsForGemini(renderPlaceholders(body, {
|
|
475
533
|
...args.placeholders,
|
|
476
534
|
MEMORY_PATH: `.gemini/agent-memory/${args.agentId}/`,
|
|
477
|
-
}).replace(/\.claude\//g, '.gemini/');
|
|
535
|
+
}).replace(/\.claude\//g, '.gemini/'));
|
|
478
536
|
writeFileLf(path.join(args.repoRoot, '.gemini', 'agents', `${args.agentId}.md`), frontmatter + renderedBody);
|
|
479
537
|
mkdirp(path.join(args.repoRoot, '.gemini', 'agent-memory', args.agentId));
|
|
480
538
|
}
|
|
@@ -496,6 +554,7 @@ function placeGeminiAgents(input) {
|
|
|
496
554
|
SECURITY_EXEMPTIONS_PATH: '.gemini/security-exemptions.yaml',
|
|
497
555
|
PERSONA_DIR: '.gemini/agents/personas/',
|
|
498
556
|
};
|
|
557
|
+
const placedIds = [];
|
|
499
558
|
for (const src of listDir(agentsSrc)) {
|
|
500
559
|
const name = path.basename(src);
|
|
501
560
|
if (!name.endsWith('.md'))
|
|
@@ -508,11 +567,62 @@ function placeGeminiAgents(input) {
|
|
|
508
567
|
continue;
|
|
509
568
|
}
|
|
510
569
|
writeGeminiAgentFromTemplate({ repoRoot: input.repoRoot, src, agentId, placeholders });
|
|
570
|
+
placedIds.push(agentId);
|
|
511
571
|
result.placed++;
|
|
512
572
|
result.filesCopied++;
|
|
513
573
|
}
|
|
574
|
+
try {
|
|
575
|
+
writeGeminiAgentAcknowledgments(input.repoRoot, placedIds);
|
|
576
|
+
}
|
|
577
|
+
catch (err) {
|
|
578
|
+
warn(`gemini agent pre-acknowledgment skipped: ${err.message}`);
|
|
579
|
+
}
|
|
514
580
|
return result;
|
|
515
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* Pre-acknowledge the generated gemini subagents so they load in HEADLESS
|
|
584
|
+
* (`gemini -p`) runs. gemini 0.46+ DISCOVERS `.gemini/agents/*.md` but only
|
|
585
|
+
* ENABLES a project's custom agents after the interactive "New Agents Discovered
|
|
586
|
+
* → Acknowledge and Enable" prompt — which never fires headless, so
|
|
587
|
+
* `invoke_agent sr-architect` returns "Subagent not found" and the implement
|
|
588
|
+
* orchestrator silently falls back to a generic agent (the specialised personas
|
|
589
|
+
* never run, the pipeline degrades). The acknowledgment is a user-global file
|
|
590
|
+
* `~/.gemini/acknowledgments/agents.json` shaped
|
|
591
|
+
* `{ [projectRoot]: { [agentName]: <sha256-hex of the agent .md file> } }`
|
|
592
|
+
* (hash algorithm verified empirically against gemini 0.47 = sha256 of the full
|
|
593
|
+
* file). Writing it at install time makes the freshly-generated agents trusted
|
|
594
|
+
* with no prompt, for both `gemini` CLI and the desktop's headless spawns. The
|
|
595
|
+
* file is MERGED — other projects' and other agents' entries are preserved.
|
|
596
|
+
* Best-effort: any failure is swallowed by the caller (agents still work once
|
|
597
|
+
* acknowledged interactively).
|
|
598
|
+
*/
|
|
599
|
+
export function writeGeminiAgentAcknowledgments(repoRoot, agentIds) {
|
|
600
|
+
if (agentIds.length === 0)
|
|
601
|
+
return;
|
|
602
|
+
const ackPath = path.join(os.homedir(), '.gemini', 'acknowledgments', 'agents.json');
|
|
603
|
+
let store = {};
|
|
604
|
+
if (pathExists(ackPath)) {
|
|
605
|
+
try {
|
|
606
|
+
const parsed = JSON.parse(readTextFile(ackPath));
|
|
607
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
608
|
+
store = parsed;
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
catch {
|
|
612
|
+
// Corrupt/unreadable file — start fresh rather than crash the install.
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
const projectEntry = { ...(store[repoRoot] ?? {}) };
|
|
616
|
+
for (const agentId of agentIds) {
|
|
617
|
+
const agentFile = path.join(repoRoot, '.gemini', 'agents', `${agentId}.md`);
|
|
618
|
+
if (!pathExists(agentFile))
|
|
619
|
+
continue;
|
|
620
|
+
projectEntry[agentId] = createHash('sha256').update(readTextFile(agentFile)).digest('hex');
|
|
621
|
+
}
|
|
622
|
+
store[repoRoot] = projectEntry;
|
|
623
|
+
mkdirp(path.dirname(ackPath));
|
|
624
|
+
writeFileLf(ackPath, `${JSON.stringify(store, null, 2)}\n`);
|
|
625
|
+
}
|
|
516
626
|
/** Recursive JSON object merge; source wins on scalars/arrays. */
|
|
517
627
|
function deepMergeJson(target, source) {
|
|
518
628
|
const out = { ...target };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/installer/phases/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChH,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAIlD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACjC,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAA;AAE1G,sFAAsF;AACtF,MAAM,qBAAqB,GAA2B;IACpD,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,gBAAgB;CAChC,CAAA;AACD,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AAC7C;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,+BAA+B;IAC/B,sBAAsB;CACvB,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAA6D;IACnF,cAAc,EAAE;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EACT,0LAA0L;KAC7L;IACD,oBAAoB,EAAE;QACpB,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EACT,wKAAwK;KAC3K;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,+JAA+J;KAClK;IACD,yBAAyB,EAAE;QACzB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EACT,yJAAyJ;KAC5J;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,WAAW,EACT,8GAA8G;KACjH;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EACT,6GAA6G;KAChH;IACD,+BAA+B,EAAE;QAC/B,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACT,6GAA6G;KAChH;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,0BAA0B,GAAmD;IACjF,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE;IAChF,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE;IAClE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE;CAC9D,CAAA;AAED;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAA;AAuCpE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAsD;IACxF,MAAM,KAAK,GAAG;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;KACtC,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;IACpD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,MAAM,EAAE,GAAG,CAAC,GAAW,EAAQ,EAAE;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAA;QACX,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,6BAA6B;IAC7B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAChD,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,uEAAuE;QACvE,wEAAwE;QACxE,oDAAoD;QACpD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QACpE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QACpE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,mEAAmE;QACnE,oDAAoD;QACpD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACzE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACzE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACjF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IACzC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IACtC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IACzC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;IAC1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IAEzC,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAA;IACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IAC/E,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAEjD,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC5D,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE;YACpC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACpB,gEAAgE;gBAChE,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAAE,OAAO,KAAK,CAAA;gBAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBAAE,OAAO,KAAK,CAAA;gBACnD,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;QACF,sEAAsE;QACtE,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,2BAA2B,YAAY,2BAA2B,CAAC,CAAA;IAC1E,CAAC;IAED,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7E,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAE3B,qDAAqD;IACrD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACpD,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,aAAa,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;QACtG,IAAI,CACF,sBAAsB,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,QAAQ,gBAAgB;YAC/E,GAAG,MAAM,CAAC,KAAK,+BAA+B,KAAK,CAAC,WAAW,IAAI,WAAW,EAAE,CACnF,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,qEAAqE;IACrE,yEAAyE;IACzE,2EAA2E;IAC3E,sDAAsD;IACtD,CAAC;QACC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QACjC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5F,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;QACnE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACtE,IAAI,CACF,UAAU,MAAM,CAAC,MAAM,IAAI,WAAW,YAAY,KAAK,CAAC,WAAW,IAAI,YAAY,IAAI,aAAa,EAAE,CACvG,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzC,WAAW,IAAI,OAAO,CAAA;QACtB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,yBAAyB,OAAO,2CAA2C,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC1C,WAAW,IAAI,OAAO,CAAA;QACtB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,0BAA0B,OAAO,6CAA6C,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,OAAO,GACX,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAA;QACvG,IAAI,CACF,kDAAkD,OAAO,eAAe;YACtE,kEAAkE;YAClE,uCAAuC,CAC1C,CAAA;IACH,CAAC;IAED,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,wBAAwB,WAAW,QAAQ,CAAC,CAAA;IAE5E,OAAO;QACL,aAAa,EAAE,mBAAmB,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QACF,WAAW;QACX,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA+D;IAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAM;IAE/B,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,qDAAqD;QACrD,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;QAC9E,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACnC,IAAI,IAAI,KAAK,UAAU;gBAAE,SAAQ;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YACjF,mEAAmE;YACnE,oEAAoE;YACpE,iEAAiE;YACjE,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YACtE,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACN,0BAA0B,CAAC;oBACzB,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;oBACpC,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,EAAE,CAAA;QACT,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAM;IACR,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,mEAAmE;QACnE,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QACrF,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACnC,IAAI,IAAI,KAAK,UAAU;gBAAE,SAAQ;YACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACtD,6BAA6B,CAAC;gBAC5B,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;aAC9D,CAAC,CAAA;YACF,KAAK,EAAE,CAAA;QACT,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAM;IACR,CAAC;IAED,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACrF,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QACnC,IAAI,IAAI,KAAK,UAAU;YAAE,SAAQ;QACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtD,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACzC,KAAK,EAAE,CAAA;IACT,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,0BAA0B,CAAC,IAKnC;IACC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAM;IACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACnE,4EAA4E;IAC5E,iEAAiE;IACjE,mEAAmE;IACnE,iCAAiC;IACjC,MAAM,wBAAwB,GAAG,cAAc;QAC7C,EAAE,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC;QAC1C,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACrC,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,IAAI,wBAAwB,IAAI,aAAa,IAAI,CAAC,IAAI,mCAAmC,CAAA;IAC3G,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QAC7C,cAAc;QACd,+EAA+E;QAC/E,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,mEAAmE;IACnE,mEAAmE;IACnE,oDAAoD;IACpD,oEAAoE;IACpE,mEAAmE;IACnE,gEAAgE;IAChE,6CAA6C;IAC7C,MAAM,UAAU,GAAG,IAAI;SACpB,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC;SACjC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC;SAC5C,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACrC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC;SACxC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACpC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,IAKpC;IACC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAM;IACjC,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,SAAS,IAAI,CAAC,IAAI,EAAE;QACpB,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAClD,cAAc;QACd,+EAA+E;QAC/E,WAAW;QACX,qBAAqB;QACrB,kBAAkB;QAClB,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAClD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACxC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,WAA+B,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAChD,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACrB,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAC/C,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CAAC,IAAyD;IAC9F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAM;IACjC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,IAAI,aAAa,IAAI,UAAU,CAAA;IACrF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IAC9D,8EAA8E;IAC9E,0EAA0E;IAC1E,IAAI,UAAkB,CAAA;IACtB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChG,UAAU,GAAG,aAAa,OAAO,KAAK,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,iBAAiB,cAAc,SAAS,CAAA;IACvD,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC,CAAA;AACvF,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,IAKrC;IACC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAM;IACjC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAA;IACzE,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,SAAS,IAAI,CAAC,OAAO,EAAE;QACvB,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;QAC7D,UAAU,KAAK,EAAE;QACjB,WAAW,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC3C,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE;QAC5C,GAAG,IAAI,CAAC,YAAY;QACpB,WAAW,EAAE,wBAAwB,IAAI,CAAC,OAAO,GAAG;KACrD,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,CAAA;IAC5G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,MAAM,MAAM,GAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAA;IACtF,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAA;IACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc;QACzC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;IAC7B,MAAM,YAAY,GAAG;QACnB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,wBAAwB,EAAE,kCAAkC;QAC5D,WAAW,EAAE,0BAA0B;KACxC,CAAA;IACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAQ;QAC1C,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,4BAA4B,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;QACtF,MAAM,CAAC,MAAM,EAAE,CAAA;QACf,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,kEAAkE;AAClE,SAAS,aAAa,CACpB,MAA+B,EAC/B,MAA+B;IAE/B,MAAM,GAAG,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7G,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAA8B,EAAE,CAA4B,CAAC,CAAA;QACtF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAoB;IAC/C,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;IAC/F,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAA4B,CAAA;QACjF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAA4B,CAAA;gBAC1E,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;gBACpF,OAAO,EAAE,CAAA;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,IAAI,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YAC/B,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,OAAO;QACL,eAAe;QACf,EAAE;QACF,KAAK,WAAW,uBAAuB;QACvC,EAAE;QACF,sEAAsE;QACtE,gFAAgF;QAChF,2EAA2E;QAC3E,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,qEAAqE;QACrE,yCAAyC;QACzC,2EAA2E;QAC3E,0CAA0C;QAC1C,0DAA0D;QAC1D,wCAAwC;QACxC,EAAE;QACF,aAAa;QACb,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAmE;IAC/F,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,2BAA2B,CAAC;QACnG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KAChD,CAAA;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,qEAAqE;QACrE,oEAAoE;QACpE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;QACtD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACnF,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,gEAAgE;QAChE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;QACxF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IACvG,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;QACtF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;IACrG,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,mCAAmC,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB,CAAC,KAAoB;IACnD,mEAAmE;IACnE,yEAAyE;IACzE,0EAA0E;IAC1E,+DAA+D;IAC/D,sEAAsE;IACtE,kEAAkE;IAClE,UAAU;IACV,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,6DAA6D;QAC7D,sEAAsE;QACtE,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;QACjF,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACnC,IAAI,IAAI,KAAK,UAAU;oBAAE,SAAQ;gBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;gBAE1F,mEAAmE;gBACnE,oEAAoE;gBACpE,iCAAiC;gBACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;gBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;gBACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;oBACxC,cAAc,EAAE,CAAA;oBAChB,SAAQ;gBACV,CAAC;gBAED,0BAA0B,CAAC;oBACzB,GAAG;oBACH,IAAI;oBACJ,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAA;gBACF,cAAc,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAA;IAC5E,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,0EAA0E;QAC1E,gEAAgE;QAChE,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAA;QAC/E,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACnC,IAAI,IAAI,KAAK,UAAU;oBAAE,SAAQ;gBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;gBACrG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;gBAC/D,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7B,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,6BAA6B,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9C,CAAC;gBACD,cAAc,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAA;IAC5E,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACjF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAEnE,MAAM,YAAY,GAAG;QACnB,YAAY,EAAE,WAAW;QACzB,wBAAwB,EAAE,GAAG,KAAK,CAAC,WAAW,2BAA2B;QACzE,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,mBAAmB;KACrD,CAAA;IAED,iBAAiB;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IACtD,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7C,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc;QACzC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACjC,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAQ;YAE5D,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,aAAa,EAAE,CAAA;gBACf,SAAQ;YACV,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrD,GAAG,YAAY;gBACf,WAAW,EAAE,wBAAwB,OAAO,GAAG;aAChD,CAAC,CAAA;YACF,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3B,YAAY,EAAE,CAAA;YACd,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAEhC,yDAAyD;YACzD,sDAAsD;YACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;YAErE,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC1C,KAAK,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,cAAc;YAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAClC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACvE,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,CAAA;QACpB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrD,GAAG,YAAY;gBACf,WAAW,EAAE,uBAAuB;aACrC,CAAC,CAAA;YACF,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3B,cAAc,EAAE,CAAA;QAClB,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACpD,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,CAAA;QACjB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAA;YACpE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3B,WAAW,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAC7G,CAAC;AAQD;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;IACvE,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,oEAAoE;IACpE,uEAAuE;IACvE,wBAAwB;IACxB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IACjE,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAA;QAC3F,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;QAC1C,OAAO,EAAE,CAAA;IACX,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAA;QACvF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;YAC/B,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,eAAe,GAAG,kCAAkC,CAAA;AAC1D,MAAM,aAAa,GAAG,gCAAgC,CAAA;AAEtD,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,OAAO;QACL,eAAe;QACf,EAAE;QACF,KAAK,WAAW,uBAAuB;QACvC,EAAE;QACF,qEAAqE;QACrE,yEAAyE;QACzE,8BAA8B;QAC9B,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,qEAAqE;QACrE,yCAAyC;QACzC,sEAAsE;QACtE,4EAA4E;QAC5E,4BAA4B;QAC5B,8DAA8D;QAC9D,wDAAwD;QACxD,EAAE;QACF,aAAa;QACb,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAA;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB,EAAE,YAAoB;IACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACvF,CAAC;IACD,oFAAoF;IACpF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACpF,OAAO,QAAQ,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,CAAA;AAC7C,CAAC;AAED,8CAA8C;AAC9C,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,+DAA+D;AAC/D,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,+DAA+D;AAC/D,SAAS,WAAW,CAAC,KAAoB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACvE,MAAM,MAAM,GAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;IAEzE,6EAA6E;IAC7E,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QACvG,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAErD,CAAA;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,CAAA;YACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC9B,2BAA2B,CAAC;gBAC1B,GAAG;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;gBAChD,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,EAAE,CAAA;YACf,MAAM,CAAC,WAAW,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,EAAE;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO;QACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC;QAClE,CAAC,CAAC,IAAI,CAAA;IACR,IAAI,sBAAsB,IAAI,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc;YACzC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;QAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAAE,SAAQ;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC1C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACpB,MAAM,CAAC,MAAM,EAAE,CAAA;YACf,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAA;QACzB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAA;QAC3B,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAA;IACrC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAY,EAAE,MAA8B;IACtE,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,OAAiB;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC3C,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACzE,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3D,WAAW,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,IAAY;IAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;;YACnC,CAAC,EAAE,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/installer/phases/scaffold.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specrails-core",
|
|
3
|
-
"version": "4.8.
|
|
3
|
+
"version": "4.8.2",
|
|
4
4
|
"description": "AI agent workflow system for Claude Code — installs 12 specialized agents, orchestration commands, and persona-driven product discovery into any repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
description = "Implementation Pipeline — architect → developer → reviewer over an OpenSpec change, via subagent delegation."
|
|
2
2
|
|
|
3
3
|
prompt = '''
|
|
4
|
-
You are the **implement orchestrator
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
You are the **implement orchestrator** for a multi-agent SDD pipeline. Your ONLY
|
|
5
|
+
job is to ROUTE: load the ticket, then drive three phases by delegating to the
|
|
6
|
+
`sr-architect`, `sr-developer`, and `sr-reviewer` subagents (available to you as
|
|
7
|
+
`invoke_agent` tools), aggregate their verdicts, and close the ticket. The role
|
|
8
|
+
work lives ENTIRELY in the subagents — never in you.
|
|
9
|
+
|
|
10
|
+
## ⛔ HARD GATE — read before doing ANYTHING
|
|
11
|
+
|
|
12
|
+
You have NO authority to implement this ticket yourself. After loading the ticket
|
|
13
|
+
(step 0), your VERY NEXT tool call MUST be `invoke_agent` with
|
|
14
|
+
`agent_name: "sr-architect"`. NO ticket is simple enough to skip delegation —
|
|
15
|
+
"it's just one file", "only ~200 lines", "faster to do it directly" are ALL
|
|
16
|
+
contract violations, not exceptions.
|
|
17
|
+
|
|
18
|
+
`write_file` and `run_shell_command` exist for you ONLY to READ/inspect state
|
|
19
|
+
(`cat` a file, `ls`, `git status`, `openspec status`) and to CONFIRM what the
|
|
20
|
+
subagents produced. You are FORBIDDEN from using them to create or edit any
|
|
21
|
+
source or test file (HTML/CSS/JS/TS/Python/…), `tasks.md`, or to run the build or
|
|
22
|
+
tests yourself. If — when you finish — you have authored ANY implementation or
|
|
23
|
+
test file, or your transcript contains ZERO `invoke_agent` calls, you have
|
|
24
|
+
CATASTROPHICALLY FAILED the contract: report that as a failure, never as success.
|
|
8
25
|
|
|
9
26
|
How the user invokes you:
|
|
10
27
|
- `/specrails:implement #N` — implement ticket `N` from `.specrails/local-tickets.json`.
|
|
@@ -19,35 +36,69 @@ multi-ticket flow — reply telling the user to use
|
|
|
19
36
|
|
|
20
37
|
Each phase MUST be a real `invoke_agent` call to the named subagent
|
|
21
38
|
(`sr-architect`, `sr-developer`, `sr-reviewer`) — these are available to you as
|
|
22
|
-
tools. You are FORBIDDEN from doing a phase's work inline "to save time"
|
|
23
|
-
"because the ticket looks small"
|
|
24
|
-
|
|
25
|
-
|
|
39
|
+
tools. You are FORBIDDEN from doing a phase's work inline — not "to save time",
|
|
40
|
+
not "because the ticket looks small", and ESPECIALLY not "because the subagent
|
|
41
|
+
ran out of turns". If your final report says you implemented code, fixed a test,
|
|
42
|
+
renamed a file, or archived the change yourself, you violated this contract.
|
|
43
|
+
Subagents are flat: they do their phase and report back to you; you sequence them.
|
|
44
|
+
|
|
45
|
+
### How to read a subagent's outcome — apply to EVERY `invoke_agent`
|
|
46
|
+
|
|
47
|
+
- **done** — it finished its phase. Continue.
|
|
48
|
+
- **`BLOCKED: <reason>`** — a hard stop it cannot resolve. STOP the pipeline and
|
|
49
|
+
report the reason verbatim. Do not improvise around it.
|
|
50
|
+
- **`MAX_TURNS`** / "reached max turns limit" — it ran out of turns with work
|
|
51
|
+
UNFINISHED. This is NOT a failure and NOT your cue to finish the work yourself.
|
|
52
|
+
Re-`invoke_agent` the SAME subagent to RESUME (it picks up from its memory +
|
|
53
|
+
the on-disk state). Repeat up to **5×** per phase. Only if it still has not
|
|
54
|
+
finished after 5 resumes do you STOP and report `BLOCKED: <agent> exceeded its
|
|
55
|
+
turn budget`.
|
|
26
56
|
|
|
27
|
-
|
|
28
|
-
(`openspec archive`) — that is a hard obligation, not an optional epilogue.
|
|
57
|
+
The change is archived BY THE REVIEWER as part of a passing review — never by you.
|
|
29
58
|
|
|
30
59
|
## Pipeline
|
|
31
60
|
|
|
32
|
-
0. **Bootstrap.** Confirm `pwd` is the git repo root
|
|
33
|
-
`.specrails/local-tickets.json` (or use the free-form description).
|
|
61
|
+
0. **Bootstrap.** Confirm `pwd` is the git repo root and load the ticket from
|
|
62
|
+
`.specrails/local-tickets.json` (or use the free-form description). Then go
|
|
63
|
+
STRAIGHT to phase 1 — do not analyse, design, scaffold, or write anything
|
|
64
|
+
yourself; the architect does that.
|
|
34
65
|
|
|
35
66
|
1. **DESIGN — `invoke_agent` `sr-architect`.** Pass it the ticket/description.
|
|
36
67
|
It creates an OpenSpec change (proposal + spec deltas + tasks) under
|
|
37
68
|
`openspec/changes/<id>/` and validates it (`openspec validate <id> --strict`).
|
|
38
|
-
|
|
69
|
+
Apply the outcome rules above.
|
|
39
70
|
|
|
40
71
|
2. **APPLY — `invoke_agent` `sr-developer`.** Only after the architect reports
|
|
41
72
|
back. It implements the tasks in TDD order and checks them off in `tasks.md`.
|
|
42
|
-
|
|
73
|
+
Apply the outcome rules — on `MAX_TURNS`, re-invoke to RESUME until every task
|
|
74
|
+
is checked off. Do NOT write, fix, rename, or run code or tests yourself, even
|
|
75
|
+
when doing it inline would be faster — that is the developer's job.
|
|
43
76
|
|
|
44
77
|
3. **REVIEW — `invoke_agent` `sr-reviewer`.** Only after the developer reports
|
|
45
|
-
back. It validates the change, runs the project checks,
|
|
46
|
-
|
|
78
|
+
back. It validates the change, runs the project checks, confirms the spec is
|
|
79
|
+
met, and — on a pass — archives the change. Read its verdict:
|
|
80
|
+
- **PASS / approved** → it archives as part of its phase; go to step 4.
|
|
81
|
+
- **CHANGES REQUESTED / fail / rejected** → do NOT archive. Re-`invoke_agent`
|
|
82
|
+
`sr-developer`, handing it the reviewer's EXACT findings, to fix them; then
|
|
83
|
+
re-`invoke_agent` `sr-reviewer`. Repeat this fix↔review loop up to **3×**.
|
|
84
|
+
- Otherwise apply the outcome rules (`BLOCKED` → stop; `MAX_TURNS` → resume
|
|
85
|
+
the reviewer).
|
|
86
|
+
If the reviewer has still not passed after 3 fix rounds, STOP and report
|
|
87
|
+
`BLOCKED: review not passing — <outstanding findings>`. You are FORBIDDEN from
|
|
88
|
+
running `openspec archive` (or moving files) to get past a failing, missing,
|
|
89
|
+
or ambiguous review: the reviewer's PASS is the ONLY gate to archive.
|
|
47
90
|
|
|
48
|
-
4. **ARCHIVE
|
|
49
|
-
|
|
91
|
+
4. **ARCHIVE (verify only).** Confirm the change moved under
|
|
92
|
+
`openspec/changes/archive/`. If the reviewer PASSED but the change was somehow
|
|
93
|
+
not archived, re-`invoke_agent` `sr-reviewer` to complete it. Never archive by
|
|
94
|
+
hand to substitute for the reviewer.
|
|
50
95
|
|
|
51
|
-
5. **
|
|
52
|
-
|
|
96
|
+
5. **Verify delegation, then close.** Before declaring success, check your OWN
|
|
97
|
+
transcript: it MUST contain a real `invoke_agent sr-architect`, `invoke_agent
|
|
98
|
+
sr-developer`, AND `invoke_agent sr-reviewer` call (plus any resume/fix
|
|
99
|
+
re-invokes). If ANY of the three is missing, you bypassed the pipeline — STOP
|
|
100
|
+
and report `BLOCKED: pipeline bypassed — <agent> was never invoked`, NOT
|
|
101
|
+
success. Otherwise update `.specrails/local-tickets.json` (status `done`)
|
|
102
|
+
unless this was a free-form run, and report concisely: ticket, change id,
|
|
103
|
+
final verdict, and how many resume/fix loops ran.
|
|
53
104
|
'''
|