copperhead 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +9 -1
  2. package/dist/agent/loop.js +38 -4
  3. package/dist/agent/loop.js.map +1 -1
  4. package/dist/agent/providers/openai.js +28 -6
  5. package/dist/agent/providers/openai.js.map +1 -1
  6. package/dist/agent/response-cache.js +18 -2
  7. package/dist/agent/response-cache.js.map +1 -1
  8. package/dist/cli.js +2 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/create.js +113 -9
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/doctor.js +164 -11
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/config.js +60 -4
  15. package/dist/config.js.map +1 -1
  16. package/dist/kicad/cli.js +7 -26
  17. package/dist/kicad/cli.js.map +1 -1
  18. package/dist/kicad/sexp.js +23 -4
  19. package/dist/kicad/sexp.js.map +1 -1
  20. package/dist/memory/bom-table.js +48 -10
  21. package/dist/memory/bom-table.js.map +1 -1
  22. package/dist/openspec/cli.js +2 -1
  23. package/dist/openspec/cli.js.map +1 -1
  24. package/dist/util/preflight.js +17 -0
  25. package/dist/util/preflight.js.map +1 -1
  26. package/dist/util/redact.js +6 -2
  27. package/dist/util/redact.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/agent/loop.ts +60 -4
  30. package/src/agent/providers/openai.ts +38 -4
  31. package/src/agent/response-cache.ts +17 -1
  32. package/src/cli.ts +2 -2
  33. package/src/commands/create.ts +107 -10
  34. package/src/commands/doctor.ts +171 -12
  35. package/src/config.ts +83 -2
  36. package/src/kicad/cli.ts +6 -19
  37. package/src/kicad/sexp.ts +24 -4
  38. package/src/memory/bom-table.ts +51 -10
  39. package/src/openspec/cli.ts +3 -2
  40. package/src/util/preflight.ts +18 -0
  41. package/src/util/redact.ts +6 -2
package/README.md CHANGED
@@ -29,6 +29,14 @@ It reads and edits real `.kicad_sch` / `.kicad_pcb` files (s-expression text), m
29
29
 
30
30
  ## Install
31
31
 
32
+ > [!TIP]
33
+ > **Most users should not install copperhead by hand.** If you are working inside an AI coding assistant (like Claude Code, Cursor, or Codex), you can install and configure copperhead automatically for your repository by pasting this single line:
34
+ > ```text
35
+ > Install copperhead for this repo using https://raw.githubusercontent.com/chouhanindustries/copperhead/main/agent-install-prompt.md
36
+ > ```
37
+
38
+ If you prefer to install manually:
39
+
32
40
  ```bash
33
41
  npm install -g copperhead # or: npx copperhead check
34
42
  ```
@@ -116,7 +124,7 @@ copperhead export bom --supplier jlcpcb # supplier-ready ordering file from do
116
124
 
117
125
  Global flags: `--repo <path>` (default: cwd) and `--json` for machine-readable output. `--model` is available on `do`, `sync`, `create`, and `doctor`; `--interactive` only on `do` and `create`; `do` also takes `--dry-run`, `--max-turns`, and `--allow-dirty`.
118
126
 
119
- `--model` accepts `gpt-5` (OpenAI), `claude` / `claude-<id>` (Anthropic API), `claude-code` / `claude-code:<id>` (Claude Code, saved login), `cursor` / `cursor:<id>` (Cursor Agent CLI, saved login), and `codex` / `codex:<id>` (Codex CLI, saved login). Routing is by prefix; `claude-code` is matched before the `claude` prefix.
127
+ `--model` accepts `gpt-5` (OpenAI), `claude` / `claude-<id>` (Anthropic API), `claude-code` / `claude-code:<id>` (Claude Code, saved login), `cursor` / `cursor:<id>` (Cursor Agent CLI, saved login), and `codex` / `codex:<id>` (Codex CLI, saved login). Routing is by prefix; `claude-code` is matched before the `claude` prefix. `compat:<id>` targets any OpenAI-compatible endpoint (Groq, OpenRouter, Gemini, or a local Ollama) via `COPPERHEAD_BASE_URL` and `COPPERHEAD_API_KEY_ENV`.
120
128
 
121
129
  ### Saved login (Cursor Agent)
122
130
 
@@ -6,7 +6,7 @@ import { CachingProvider } from './response-cache.js';
6
6
  import { withTimeout, TurnTimeoutError } from './recovery.js';
7
7
  import { buildSystemPrompt } from './prompts.js';
8
8
  import { loadConstraints, reopenDeferredAffects } from '../memory/constraints.js';
9
- import { loadConfig, CONFIG_DIR } from '../config.js';
9
+ import { loadConfig, CONFIG_DIR, DEFAULT_API_KEY_ENV, resolveCompatSettings, isCompatModel, } from '../config.js';
10
10
  import { Transcript } from './transcript.js';
11
11
  import { collectRunMeta, renderCliHeader } from './runmeta.js';
12
12
  import { plainRenderer, fmtDuration, fmtTokens } from './render.js';
@@ -22,7 +22,35 @@ import { CodexProvider } from './providers/codex.js';
22
22
  import { ClaudeCodeProvider } from './providers/claude-code.js';
23
23
  import { CursorProvider } from './providers/cursor.js';
24
24
  import { openSynapMemory } from '../memory/synap.js';
25
- export async function makeProvider(model, sessionResume = false) {
25
+ export async function makeProvider(model, sessionResume = false, compat) {
26
+ // OpenAI-compatible endpoint (Groq, OpenRouter, Gemini compat, local
27
+ // Ollama). An explicit `compat` prefix is the opt-in: nothing else
28
+ // consults baseURL, so a stray COPPERHEAD_BASE_URL cannot redirect a keyed
29
+ // `gpt-5` run to a third party (design D2).
30
+ if (isCompatModel(model)) {
31
+ const compatModel = model.startsWith('compat:') ? model.slice('compat:'.length) : undefined;
32
+ if (compatModel === '') {
33
+ throw new Error('compat model override cannot be empty; use "compat:<model-id>"');
34
+ }
35
+ const settings = compat ?? { apiKeyEnv: DEFAULT_API_KEY_ENV };
36
+ // Bare `compat` (no id) has no valid default: unlike gpt-5/claude, a
37
+ // compatible endpoint serves whatever models its host chooses, so there is
38
+ // no id that is ever correct to assume. Falling through here would build a
39
+ // provider that silently sends the literal string "gpt-5" (OpenAIProvider's
40
+ // own default) to a host that almost certainly does not serve it.
41
+ if (!compatModel) {
42
+ throw new Error(settings.baseURL
43
+ ? `compat requires a model id; use "compat:<model-id>" (endpoint ${settings.baseURL} is configured, but has no default model)`
44
+ : 'compat requires a model id and an endpoint; use "compat:<model-id>" and set baseURL (COPPERHEAD_BASE_URL or .copperhead/config.json)');
45
+ }
46
+ if (!settings.baseURL) {
47
+ throw new Error(`compat:${compatModel} requires an endpoint; set baseURL (COPPERHEAD_BASE_URL or "baseURL" in .copperhead/config.json) — without one this would silently fall back to the real OpenAI API.`);
48
+ }
49
+ return new OpenAIProvider(compatModel, {
50
+ baseURL: settings.baseURL,
51
+ apiKeyEnv: settings.apiKeyEnv,
52
+ });
53
+ }
26
54
  if (model === 'codex' || model.startsWith('codex:')) {
27
55
  const codexModel = model.startsWith('codex:') ? model.slice('codex:'.length) : undefined;
28
56
  if (codexModel === '')
@@ -156,12 +184,18 @@ async function runWithMemory(opts, memory, providers) {
156
184
  // it only when the env flag is set AND config.llmCache is disabled — the same
157
185
  // condition under which we skip the CachingProvider wrap below.
158
186
  const sessionResume = process.env.COPPERHEAD_CC_SESSION_RESUME === '1' && !config.llmCache;
159
- let provider = opts.provider ?? (await makeProvider(opts.model, sessionResume));
187
+ const compatSettings = resolveCompatSettings(config);
188
+ let provider = opts.provider ?? (await makeProvider(opts.model, sessionResume, compatSettings));
160
189
  // Cache every turn's response so a retried/restarted stage replays what it
161
190
  // already paid for instead of re-calling the model (repo-scoped, cross-run).
162
191
  // Skip an injected provider (tests drive scripted providers directly).
163
192
  if (config.llmCache && !opts.provider) {
164
- provider = new CachingProvider(provider, path.join(repoRoot, CONFIG_DIR, 'llm-cache'), log, opts.model);
193
+ // Mirrors makeProvider's own gate above (D2/AC-3.16): COPPERHEAD_BASE_URL
194
+ // is consulted only for the explicit `compat:` route, so a gpt-5/claude
195
+ // run's cache key must not vary with a variable that run never reads —
196
+ // otherwise every non-compat cache entry gets orphaned each time the
197
+ // endpoint used for compat testing changes.
198
+ provider = new CachingProvider(provider, path.join(repoRoot, CONFIG_DIR, 'llm-cache'), log, opts.model, isCompatModel(opts.model) ? compatSettings.baseURL : undefined);
165
199
  }
166
200
  providers.add(provider);
167
201
  // Held separately from `provider` (which is reassigned on failover) so the
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,38 @@
1
+ import { DEFAULT_API_KEY_ENV, isLocalEndpoint } from '../../config.js';
1
2
  export class OpenAIProvider {
2
3
  model;
4
+ name;
3
5
  apiKey;
4
- name = 'openai';
5
- constructor(model = 'gpt-5', apiKey = process.env.OPENAI_API_KEY) {
6
+ baseURL;
7
+ constructor(model = 'gpt-5', opts = {}, env = process.env) {
6
8
  this.model = model;
7
- this.apiKey = apiKey;
8
- if (!this.apiKey)
9
- throw new Error('OPENAI_API_KEY is not set');
9
+ // Credentials are always resolved through a named env var, never accepted
10
+ // as a literal value: the one way to supply a key keeps application code
11
+ // from ever holding one directly (mirrors AC-4.1 elsewhere). Tests inject
12
+ // fake values through the `env` argument, not through opts.
13
+ const keyEnv = opts.apiKeyEnv ?? DEFAULT_API_KEY_ENV;
14
+ this.baseURL = opts.baseURL;
15
+ // A compat endpoint must be structurally ineligible for the paid
16
+ // OpenAI/Anthropic failover in otherProvider() (loop.ts) — it is not
17
+ // OpenAI, and a rate limit there must never silently redirect a run the
18
+ // user deliberately pointed elsewhere to someone else's paid API.
19
+ this.name = this.baseURL ? 'openai-compat' : 'openai';
20
+ this.apiKey = env[keyEnv];
21
+ // A loopback endpoint (Ollama) serves the same API with no credential, and
22
+ // it is the one backend that is both free and fully local — requiring a
23
+ // dummy key there would be a papercut on the most useful config (D4).
24
+ if (!this.apiKey && !isLocalEndpoint(this.baseURL)) {
25
+ throw new Error(`${keyEnv} is not set`);
26
+ }
10
27
  }
11
28
  async chat(messages, tools, opts = {}) {
12
29
  const { default: OpenAI } = await import('openai');
13
- const client = new OpenAI({ apiKey: this.apiKey });
30
+ const client = new OpenAI({
31
+ // A local endpoint may legitimately have no key, but the client still
32
+ // wants a non-empty string, so send a placeholder it will never check.
33
+ apiKey: this.apiKey ?? 'no-key-required',
34
+ ...(this.baseURL ? { baseURL: this.baseURL } : {}),
35
+ });
14
36
  const res = await client.chat.completions.create({
15
37
  model: this.model,
16
38
  max_completion_tokens: opts.maxTokens ?? 8192,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/agent/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/agent/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export class CachingProvider {
22
22
  dir;
23
23
  log;
24
24
  modelId;
25
+ baseURL;
25
26
  name;
26
27
  hits = 0;
27
28
  /** Turns served from the on-disk cache so far (5.2: per-stage cache-hit%). */
@@ -32,16 +33,31 @@ export class CachingProvider {
32
33
  /** The concrete model id this run resolved to (e.g. `claude-code:opus`), used
33
34
  * in the cache key so switching model on the same repo does not replay the
34
35
  * other model's cached turns (F6). Falls back to the provider family name. */
35
- modelId) {
36
+ modelId,
37
+ /** The compat endpoint's base URL, if any. A model id like `compat:llama-3.1-8b-instant`
38
+ * is not unique across hosts (Groq, OpenRouter, etc. all serve overlapping model
39
+ * ids), so the endpoint must be part of the key too, or two different hosts
40
+ * serving "the same" model id would share cached turns. */
41
+ baseURL) {
36
42
  this.inner = inner;
37
43
  this.dir = dir;
38
44
  this.log = log;
39
45
  this.modelId = modelId;
46
+ this.baseURL = baseURL;
40
47
  this.name = inner.name;
41
48
  }
42
49
  keyFor(messages, tools) {
43
50
  return createHash('sha256')
44
- .update(JSON.stringify({ model: this.modelId ?? this.name, messages, tools: tools.map((t) => t.name) }))
51
+ .update(JSON.stringify({
52
+ model: this.modelId ?? this.name,
53
+ // Omitted rather than `?? null` when unset: a non-compat run's key
54
+ // must stay byte-identical to what it hashed before baseURL existed
55
+ // (F6/D2), or every pre-existing cache entry — not just compat ones —
56
+ // is orphaned on the first run after upgrade.
57
+ ...(this.baseURL ? { baseURL: this.baseURL } : {}),
58
+ messages,
59
+ tools: tools.map((t) => t.name),
60
+ }))
45
61
  .digest('hex');
46
62
  }
47
63
  async chat(messages, tools, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"response-cache.js","sourceRoot":"","sources":["../../src/agent/response-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-cache.js","sourceRoot":"","sources":["../../src/agent/response-cache.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -188,7 +188,7 @@ program
188
188
  .command('do')
189
189
  .description('the core loop: propose, edit, verify, propagate, commit')
190
190
  .argument('<request>', 'the change request in natural language')
191
- .option('--model <model>', 'codex | cursor | gpt-5 | claude | claude-code (or a provider-specific model id)')
191
+ .option('--model <model>', 'codex | cursor | gpt-5 | claude | claude-code | compat:<id> (or a provider-specific model id)')
192
192
  .option('--max-turns <n>', 'turn budget for this run')
193
193
  .option('--allow-dirty', 'allow a dirty tree (snapshot via git stash create)')
194
194
  .option('--dry-run', 'propose the diff, write nothing')
@@ -311,7 +311,7 @@ program
311
311
  .command('create')
312
312
  .description('Mode A: full pipeline from a product brief to the output package')
313
313
  .requiredOption('--brief <file>', 'product brief (markdown)')
314
- .option('--model <model>', 'codex | cursor | gpt-5 | claude | claude-code (or a provider-specific model id)')
314
+ .option('--model <model>', 'codex | cursor | gpt-5 | claude | claude-code | compat:<id> (or a provider-specific model id)')
315
315
  .option('--interactive', 're-enable the human gates (spec approval, pre-export)')
316
316
  .action(async (opts) => {
317
317
  const repo = repoOf(program.opts());
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAA6B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE/F,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,qDAAqD;AACrD,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE3B,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,+BAA+B;AAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAC;AAE7F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;IACvD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE,CACrB,CAAC,MAAM,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;KAC3D,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,SAAS,EAAE,qDAAqD,CAAC,CAAC;AAE5E,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7F,OAAO;KACJ,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACpC,WAAW,CAAC,4DAA4D,CAAC;KACzE,QAAQ,CAAC,cAAc,EAAE,sDAAsD,CAAC;KAChF,MAAM,CAAC,iBAAiB,EAAE,iFAAiF,CAAC;KAC5G,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;KAChE,MAAM,CAAC,eAAe,EAAE,kDAAkD,CAAC;KAC3E,MAAM,CACL,KAAK,EACH,YAAsB,EACtB,IAAwF,EACxF,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CACX,yGAAyG,CAC1G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,IAAI,KAAa,CAAC;QAClB,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,iEAAiE;YACjE,oEAAoE;YACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;gBAAE,MAAM,GAAG,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC;YACf,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YACxB,QAAQ,EAAE,IAAI;YACd,KAAK;YACL,WAAW,EAAE,MAAM;YACnB,OAAO;YACP,eAAe,EAAE,QAAQ;YACzB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,UAAU;YACnB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,cAAc,EAAE,+BAA+B,EAAE,GAAG,CAAC;KAC5D,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,IAAuD,EAAE,EAAE;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YACxB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;YAC1B,YAAY,EAAE,IAAI,CAAC,KAAK;SACzB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4FAA4F,CAAC;KACzG,MAAM,CAAC,iBAAiB,EAAE,2EAA2E,CAAC;KACtG,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,wEAAwE;IACxE,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;QACJ,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrE,4DAA4D;QAC5D,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,yDAAyD,CAAC;KACtE,QAAQ,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,+FAA+F,CAAC;KAC1H,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;KAC7E,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CACL,KAAK,EACH,OAAe,EACf,IAA0G,EAC1G,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC;YAC7B,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,KAAK;YACL,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,OAAO,EAAE,UAAU;YACnB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,QAAQ,EAAE,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE;SACjF,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;YAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7B,0DAA0D;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1F,QAAQ,EAAE,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE;SACnF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,iBAAiB,EAAE,iFAAiF,CAAC;KAC5G,MAAM,CAAC,eAAe,EAAE,uDAAuD,CAAC;KAChF,MAAM,CAAC,cAAc,EAAE,yDAAyD,CAAC;KACjF,MAAM,CAAC,QAAQ,EAAE,kDAAkD,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,IAA6E,EAAE,EAAE;IAC9F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACxB,kEAAkE;YAClE,kEAAkE;YAClE,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,2DAA2D;QAC3D,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,yEAAyE;QACzE,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YACxB,KAAK;YACL,WAAW,EAAE,MAAM;YACnB,OAAO;YACP,eAAe,EAAE,QAAQ;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,UAAU,EAAE;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,cAAc,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,+FAA+F,CAAC;KAC1H,MAAM,CAAC,eAAe,EAAE,uDAAuD,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,IAA8D,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;YAC1B,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,KAAK;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,UAAU,EAAE;YACtB,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE;SACrF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+EAA+E,CAAC,CAAC;AAEhG,SAAS;KACN,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0EAA0E,CAAC;KACvF,cAAc,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KAChE,MAAM,CAAC,cAAc,EAAE,2BAA2B,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KAC3E,MAAM,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;KAC9E,MAAM,CAAC,sBAAsB,EAAE,iEAAiE,CAAC;KACjG,MAAM,CAAC,KAAK,EAAE,IAAuF,EAAE,EAAE;IACxG,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC;YAC7B,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,MAAM;YACN,MAAM;YACN,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK;SACnD,CAAC,CAAC;QACH,yEAAyE;QACzE,0CAA0C;QAC1C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,uEAAuE;QACvE,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import path from 'node:path';
2
2
  import { existsSync } from 'node:fs';
3
- import { readFile, mkdir, writeFile } from 'node:fs/promises';
3
+ import { readFile, mkdir, writeFile, readdir } from 'node:fs/promises';
4
4
  import { createHash } from 'node:crypto';
5
- import { loadConfig } from '../config.js';
5
+ import { loadConfig, resolveCompatSettings } from '../config.js';
6
6
  import { bootstrapKicadProject } from '../kicad/bootstrap.js';
7
7
  import { exportSvg, runErc } from '../kicad/cli.js';
8
8
  import { listSymbols } from '../kicad/sexp.js';
@@ -36,20 +36,105 @@ async function docHasHeading(repoRoot, rel, word) {
36
36
  const re = new RegExp(`^#{1,6}\\s.*\\b${word}\\b`, 'im');
37
37
  return re.test(await readFile(p, 'utf8'));
38
38
  }
39
+ /**
40
+ * Returns true when a directory exists and contains at least one file
41
+ * matching the optional glob-style extension list (case-insensitive).
42
+ * No extension list = any file.
43
+ */
44
+ async function dirHasFiles(dirPath, exts) {
45
+ if (!existsSync(dirPath))
46
+ return false;
47
+ async function walk(dir) {
48
+ for (const entry of await readdir(dir, { withFileTypes: true })) {
49
+ if (entry.isDirectory()) {
50
+ if (await walk(path.join(dir, entry.name)))
51
+ return true;
52
+ }
53
+ else if (!exts || exts.some((e) => entry.name.toLowerCase().endsWith(e))) {
54
+ return true;
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ return walk(dirPath);
60
+ }
39
61
  export const STAGES = [
40
62
  {
41
63
  name: 'spec-seed',
42
- isComplete: (root, docs) => docHasHeading(root, path.join(docs, 'SPEC.md'), 'Budgets?'),
64
+ isComplete: async (root, docs) => {
65
+ // The init scaffold writes SPEC.md with a "## Budgets" heading and an
66
+ // HTML comment placeholder — that alone must not count as complete.
67
+ // Require the heading AND at least one non-comment, non-blank line
68
+ // of real budget content beneath it (a filled section vs. an empty placeholder).
69
+ const p = path.join(root, docs, 'SPEC.md');
70
+ if (!existsSync(p))
71
+ return false;
72
+ const text = await readFile(p, 'utf8');
73
+ const budgetsMatch = /^#{1,6}\s.*\bBudgets?\b/im.test(text);
74
+ if (!budgetsMatch)
75
+ return false;
76
+ // Find the Budgets section and strip HTML comments (single or multi-line)
77
+ const afterBudgets = text.split(/^#{1,6}\s.*\bBudgets?\b/im)[1] ?? '';
78
+ const firstNewline = afterBudgets.indexOf('\n');
79
+ const afterHeadingLine = firstNewline >= 0 ? afterBudgets.slice(firstNewline + 1) : '';
80
+ const nextSection = afterHeadingLine.search(/^#{1,6}\s/m);
81
+ const section = nextSection >= 0 ? afterHeadingLine.slice(0, nextSection) : afterHeadingLine;
82
+ const cleanSection = section.replace(/<!--[\s\S]*?-->/g, '');
83
+ const realLines = cleanSection.split('\n').filter((l) => l.trim().length > 0);
84
+ return realLines.length > 0;
85
+ },
43
86
  prompt: (brief) => `Stage 1 of the create pipeline: seed the requirements. From the product brief below, write docs/SPEC.md (what the device is, top-level constraints and budgets). Every budget you state must also be recorded with record_constraint. Anything the brief does not state: propose a sensible default and flag it ASSUMED. If an openspec/ workspace exists, also seed openspec/specs/ with per-capability requirements using Given/When/Then scenarios.\n\nBrief:\n${brief}`,
44
87
  },
45
88
  {
46
89
  name: 'architecture',
47
- isComplete: (root, docs) => docExists(root, path.join(docs, 'SUBSYSTEMS.md')),
90
+ isComplete: async (root, docs) => {
91
+ // init scaffolds SUBSYSTEMS.md with boilerplate description text and auto-generated
92
+ // "## Sheet X" headings containing "- Ref: Value" symbol bullets.
93
+ // Require at least one level-2+ heading (## section) AND at least one real prose
94
+ // line beneath it (excluding boilerplate and auto-generated symbol bullets).
95
+ const p = path.join(root, docs, 'SUBSYSTEMS.md');
96
+ if (!existsSync(p))
97
+ return false;
98
+ const text = await readFile(p, 'utf8');
99
+ // Must have at least one level-2+ (##) section heading
100
+ if (!/^#{2,6}\s/m.test(text))
101
+ return false;
102
+ // Filter out headings, scaffold description, and auto-generated symbol bullets (- Ref: Value or - Ref?: Value)
103
+ const contentLines = text.split('\n').filter((l) => {
104
+ const trimmed = l.trim();
105
+ if (!trimmed || trimmed.startsWith('#'))
106
+ return false;
107
+ if (trimmed.includes('Per-sheet values and reasoning'))
108
+ return false;
109
+ if (/^-\s+(?:[A-Za-z]+\d+[A-Za-z]*|[A-Za-z]*\?):/.test(trimmed))
110
+ return false; // auto-generated refdes symbol bullet (e.g. - R1: 10k, - U?: ESP32, - ?: 10k)
111
+ return true;
112
+ });
113
+ return contentLines.length > 0;
114
+ },
48
115
  prompt: () => 'Stage 2: architecture. Write docs/SUBSYSTEMS.md: the block diagram in prose, one section per subsystem (power, MCU, connectivity, UI, ...), with the reasoning and key values for each. Respect every budget in SPEC.md.',
49
116
  },
50
117
  {
51
118
  name: 'part-selection',
52
- isComplete: (root, docs) => docExists(root, path.join(docs, 'BOM.md')),
119
+ isComplete: async (root, docs) => {
120
+ // init scaffolds BOM.md with a table pre-filled with UNVERIFIED MPNs
121
+ // extracted from the schematic. Require at least one row whose MPN
122
+ // column is NOT the UNVERIFIED placeholder — i.e. a real part was chosen.
123
+ const p = path.join(root, docs, 'BOM.md');
124
+ if (!existsSync(p))
125
+ return false;
126
+ const text = await readFile(p, 'utf8');
127
+ // Find table rows (lines starting with |) that are not the header or separator
128
+ const rows = text.split('\n').filter((l) => l.startsWith('|') && !l.includes('---') && !l.toLowerCase().includes('refdes'));
129
+ if (!rows.length)
130
+ return false;
131
+ // At least one row must have a non-UNVERIFIED MPN (4th column)
132
+ return rows.some((row) => {
133
+ const cols = row.split('|').map((c) => c.trim());
134
+ const mpn = cols[4] ?? ''; // 0=empty, 1=Refdes, 2=Value, 3=Footprint, 4=MPN
135
+ return mpn && !mpn.toUpperCase().startsWith('UNVERIFIED');
136
+ });
137
+ },
53
138
  prompt: () => 'Stage 3: part selection. Write docs/BOM.md with the fixed table format (| Refdes | Value | Footprint | MPN | Rationale |). Every MPN you introduce is flagged UNVERIFIED with a datasheet-verifiable justification. Check leakage/quiescent current of every part against the power budget. Run check_drift before finishing.',
54
139
  },
55
140
  {
@@ -105,17 +190,35 @@ export const STAGES = [
105
190
  },
106
191
  {
107
192
  name: 'outputs',
108
- isComplete: (root) => existsSync(path.join(root, 'outputs')),
193
+ isComplete: async (root) => {
194
+ // An empty outputs/ dir (e.g. from a failed export run) must not count
195
+ // as complete. Require at least one Gerber file (any .gbr variant).
196
+ return dirHasFiles(path.join(root, 'outputs'), ['.gbr', '.gtl', '.gbl', '.gbs', '.gbo', '.gbp', '.gbd', '.gto', '.gts', '.gml']);
197
+ },
109
198
  prompt: () => 'Stage 6: outputs package. Export into outputs/: gerbers+drill (JLC profile), DXF and STEP outline, SVG renders (export_svg), and an ordering BOM.csv generated from BOM.md (refdes, MPN, qty). Every export must succeed.',
110
199
  },
111
200
  {
112
201
  name: 'firmware',
113
- isComplete: (root) => existsSync(path.join(root, 'firmware')),
202
+ isComplete: async (root) => {
203
+ // An empty firmware/ dir must not count. Require at least one source file.
204
+ return dirHasFiles(path.join(root, 'firmware'), ['.c', '.h', '.cpp', '.hpp', '.py', '.rs', '.ino', '.s']);
205
+ },
114
206
  prompt: () => 'Stage 7: firmware scaffold. Generate firmware/ for the chosen MCU HAL: pins.h generated from PINOUT.md (single source of truth), driver stubs, and one working happy path. If the vendor toolchain is available, the build must pass; if not, note "not compiled here" explicitly in DEVPLAN.md.',
115
207
  },
116
208
  {
117
209
  name: 'devplan',
118
- isComplete: (root, docs) => docExists(root, path.join(docs, 'DEVPLAN.md')),
210
+ isComplete: async (root, docs) => {
211
+ // init does NOT scaffold DEVPLAN.md, but a blank file must not count.
212
+ // Require at least one ## section heading AND at least one content line.
213
+ const p = path.join(root, docs, 'DEVPLAN.md');
214
+ if (!existsSync(p))
215
+ return false;
216
+ const text = await readFile(p, 'utf8');
217
+ if (!/^#{1,6}\s/m.test(text))
218
+ return false;
219
+ const contentLines = text.split('\n').filter((l) => l.trim() && !l.trim().startsWith('#'));
220
+ return contentLines.length > 0;
221
+ },
119
222
  prompt: () => 'Stage 8: DEVPLAN.md. Write docs/DEVPLAN.md: bring-up steps in order, test points and what to meter first, risk list, and the prototype order plan.',
120
223
  },
121
224
  ];
@@ -226,7 +329,7 @@ async function renderStageArtifacts(opts, stageName, transcriptDir) {
226
329
  async function diagnose(input) {
227
330
  let provider;
228
331
  try {
229
- provider = await makeProvider(input.model);
332
+ provider = await makeProvider(input.model, false, input.compat);
230
333
  const p = provider;
231
334
  const excerpt = await transcriptExcerpt(input.transcriptDir);
232
335
  return await withTimeout(() => diagnoseStageFailure(p, {
@@ -562,6 +665,7 @@ export async function runCreate(opts) {
562
665
  const diagnosis = await diagnose({
563
666
  model: opts.model,
564
667
  timeoutMs: config.turnTimeoutMs,
668
+ compat: resolveCompatSettings(config),
565
669
  stageName: stage.name,
566
670
  stageGoal: basePrompt,
567
671
  failure,