smol-symphony 0.3.2 → 0.4.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 (67) hide show
  1. package/AGENTS.md +6 -3
  2. package/PRODUCT.md +2 -2
  3. package/README.md +99 -85
  4. package/WORKFLOW.template.yaml +55 -11
  5. package/WORKFLOW.yaml +9 -3
  6. package/assets/symphony-mise.system.toml +6 -0
  7. package/dist/core/credential/adapter-config.js +28 -0
  8. package/dist/core/credential/adapter-config.js.map +1 -1
  9. package/dist/core/credential/availability.js +44 -1
  10. package/dist/core/credential/availability.js.map +1 -1
  11. package/dist/core/credential/extract.js +34 -0
  12. package/dist/core/credential/extract.js.map +1 -1
  13. package/dist/core/credential/fake-creds.js +39 -2
  14. package/dist/core/credential/fake-creds.js.map +1 -1
  15. package/dist/core/credential/shape.js +19 -0
  16. package/dist/core/credential/shape.js.map +1 -1
  17. package/dist/core/image/managed-image.js +3 -12
  18. package/dist/core/image/managed-image.js.map +1 -1
  19. package/dist/core/mcp/pi-extension.js +124 -0
  20. package/dist/core/mcp/pi-extension.js.map +1 -0
  21. package/dist/core/schedule/sleep-cycle.js +11 -6
  22. package/dist/core/schedule/sleep-cycle.js.map +1 -1
  23. package/dist/core/schedule/tick.js +1 -0
  24. package/dist/core/schedule/tick.js.map +1 -1
  25. package/dist/core/workflow/derive.js +2 -0
  26. package/dist/core/workflow/derive.js.map +1 -1
  27. package/dist/core/workflow/parse.js +6 -1
  28. package/dist/core/workflow/parse.js.map +1 -1
  29. package/dist/core/workflow/validate.js +2 -2
  30. package/dist/core/workflow/validate.js.map +1 -1
  31. package/dist/shell/adapter/adapter-registry.js +23 -1
  32. package/dist/shell/adapter/adapter-registry.js.map +1 -1
  33. package/dist/shell/{cli → adapter}/doctor.js +8 -2
  34. package/dist/shell/adapter/doctor.js.map +1 -0
  35. package/dist/shell/adapter/gondolin-image-fetch.js +17 -6
  36. package/dist/shell/adapter/gondolin-image-fetch.js.map +1 -1
  37. package/dist/shell/{main-scaffold.js → adapter/scaffold.js} +4 -4
  38. package/dist/shell/adapter/scaffold.js.map +1 -0
  39. package/dist/shell/adapter/workflow-loader.js +20 -1
  40. package/dist/shell/adapter/workflow-loader.js.map +1 -1
  41. package/dist/shell/interp/credential-defaults.js +83 -1
  42. package/dist/shell/interp/credential-defaults.js.map +1 -1
  43. package/dist/shell/interp/credential.js +10 -1
  44. package/dist/shell/interp/credential.js.map +1 -1
  45. package/dist/shell/interp/ensure-tracker-root.js +30 -0
  46. package/dist/shell/interp/ensure-tracker-root.js.map +1 -0
  47. package/dist/shell/interp/tracker-disk.js +19 -0
  48. package/dist/shell/interp/tracker-disk.js.map +1 -1
  49. package/dist/shell/interp/vm.js +15 -1
  50. package/dist/shell/interp/vm.js.map +1 -1
  51. package/dist/shell/main-credential.js +1 -1
  52. package/dist/shell/main-credential.js.map +1 -1
  53. package/dist/shell/main-doctor.js +1 -1
  54. package/dist/shell/main-doctor.js.map +1 -1
  55. package/dist/shell/main-http-handler.js +4 -4
  56. package/dist/shell/main-http-handler.js.map +1 -1
  57. package/dist/shell/main-http-views.js +0 -19
  58. package/dist/shell/main-http-views.js.map +1 -1
  59. package/dist/shell/main-preflight.js +1 -1
  60. package/dist/shell/main-preflight.js.map +1 -1
  61. package/dist/shell/main-runner.js +28 -22
  62. package/dist/shell/main-runner.js.map +1 -1
  63. package/dist/shell/main.js +14 -6
  64. package/dist/shell/main.js.map +1 -1
  65. package/package.json +2 -3
  66. package/dist/shell/cli/doctor.js.map +0 -1
  67. package/dist/shell/main-scaffold.js.map +0 -1
@@ -91,6 +91,40 @@ export function codexEnvFallback(env) {
91
91
  const key = nonEmptyString(env['OPENAI_API_KEY']);
92
92
  return key === null ? null : { accessToken: key, expiresAtMs: null };
93
93
  }
94
+ // ── pi (GitHub Copilot) ───────────────────────────────────────────────────────
95
+ /**
96
+ * Pull the short-lived Copilot access token out of the already-parsed pi
97
+ * `~/.pi/agent/auth.json`. pi stores `{ "github-copilot": { type, refresh,
98
+ * access, expires, enterpriseUrl? } }` where `access` is the Copilot bearer the
99
+ * Copilot API accepts and `expires` is its absolute expiry in ms since epoch
100
+ * (pi already subtracts its own 5-minute safety margin before storing).
101
+ *
102
+ * The durable `refresh` GitHub-OAuth token is NEVER read here — it stays
103
+ * host-side (the host refresher exchanges it for a fresh access token), so an
104
+ * in-VM agent can neither see nor rotate the durable credential.
105
+ */
106
+ export function extractPiToken(parsed) {
107
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
108
+ return null;
109
+ const entry = parsed['github-copilot'];
110
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry))
111
+ return null;
112
+ const rec = entry;
113
+ const access = nonEmptyString(rec['access']);
114
+ if (access === null)
115
+ return null;
116
+ return { accessToken: access, expiresAtMs: coerceExpiresAtMs(rec['expires']) };
117
+ }
118
+ /**
119
+ * Pure: read `COPILOT_GITHUB_TOKEN` from a host-environment snapshot as a pi
120
+ * credential fallback. The value is treated as a ready-to-send Copilot bearer
121
+ * (mirroring pi's own env-var semantics: used verbatim, never exchanged or
122
+ * refreshed), so the expiry is unknown (null → on-demand re-read degradation).
123
+ */
124
+ export function piEnvFallback(env) {
125
+ const token = nonEmptyString(env['COPILOT_GITHUB_TOKEN']);
126
+ return token === null ? null : { accessToken: token, expiresAtMs: null };
127
+ }
94
128
  // ── JWT / expiry coercion ───────────────────────────────────────────────────────
95
129
  /**
96
130
  * Decode a JWT's `exp` claim (seconds since epoch) and return it as ms since
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/core/credential/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/core/credential/extract.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,8 @@
18
18
  // UUIDs; codex account_id / auth_mode / last_refresh). In this clean-room rewrite
19
19
  // that IO lives in the SHELL: the shell reads + extracts the already-validated
20
20
  // `ClaudeIdentity` / `CodexIdentity` and hands them to this core as plain data.
21
- // This module is 100% synchronous, has ZERO IO, and imports ONLY from src/types.
21
+ // This module is 100% synchronous, has ZERO IO, and imports ONLY from src/types
22
+ // (plus the pure core pi-extension generator for the pi MCP bridge).
22
23
  //
23
24
  // Defense-in-depth (codex review, HIGH, preserved from the reference): even
24
25
  // though the shell extractor is expected to validate, this STAGING chokepoint
@@ -26,6 +27,7 @@
26
27
  // never matches), `authMode` (closed set), and `lastRefresh` (ISO-timestamp
27
28
  // shape) before embedding them into the staged auth.json. A token-shaped value is
28
29
  // OMITTED regardless of which producer handed it to us.
30
+ import { buildPiSymphonyMcpExtension, PI_EXTENSION_GUEST_PATH } from '../mcp/pi-extension.js';
29
31
  // SHARED account_id guard (codex review HIGH) — the ONE definition. Re-exported
30
32
  // so this module's importers keep their specifier.
31
33
  import { validAccountId } from './account-id.js';
@@ -39,6 +41,7 @@ export { validAccountId };
39
41
  const CLAUDE_CREDENTIALS_GUEST_PATH = '/root/.claude/.credentials.json';
40
42
  const CLAUDE_CONFIG_GUEST_PATH = '/root/.claude.json';
41
43
  const CODEX_AUTH_GUEST_PATH = '/root/.codex/auth.json';
44
+ const PI_SETTINGS_GUEST_PATH = '/root/.pi/agent/settings.json';
42
45
  // Creds files are 0600.
43
46
  const CRED_FILE_MODE = 0o600;
44
47
  // Far-future expiry (2100-01-01T00:00:00Z, ms since epoch) so the claude client
@@ -82,8 +85,17 @@ export function buildGondolinFakeCreds(input) {
82
85
  return { files: buildClaudeFiles(input.placeholder, input.claudeIdentity), env };
83
86
  case 'codex':
84
87
  return { files: buildCodexFiles(input.placeholder, input.codexIdentity), env };
88
+ case 'pi':
89
+ // pi resolves its bearer from the env placeholder (COPILOT_GITHUB_TOKEN),
90
+ // so the env carries the credential; the files carry only non-secret config
91
+ // + the per-dispatch MCP bridge. PI_SKIP_VERSION_CHECK suppresses pi's
92
+ // startup version probe (egress-blocked in the VM → pure 403 noise).
93
+ return {
94
+ files: buildPiFiles(input.mcp ?? null),
95
+ env: { ...env, PI_SKIP_VERSION_CHECK: '1' },
96
+ };
85
97
  default: {
86
- // Exhaustive over AcpAdapterId (closed union claude|codex): the compiler
98
+ // Exhaustive over AcpAdapterId (closed union claude|codex|pi): the compiler
87
99
  // proves `input.adapter` is `never` here. Kept as a total function.
88
100
  const unreachable = input.adapter;
89
101
  throw new Error(`buildGondolinFakeCreds: unhandled adapter ${String(unreachable)}`);
@@ -162,6 +174,31 @@ export function buildCodexFiles(placeholder, identity) {
162
174
  };
163
175
  return [credFile(CODEX_AUTH_GUEST_PATH, JSON.stringify(auth))];
164
176
  }
177
+ /**
178
+ * pi guest files. DELIBERATELY no `~/.pi/agent/auth.json`: pi's credential
179
+ * resolution is `--api-key flag → auth.json → env var`, and the env path is the
180
+ * one that uses the value VERBATIM as the Copilot bearer (no in-guest
181
+ * device-flow/exchange/refresh). Staging even a placeholder auth.json would
182
+ * shadow the env placeholder AND trigger pi's own (egress-blocked) token
183
+ * exchange — so the credential rides ONLY the COPILOT_GITHUB_TOKEN env entry.
184
+ *
185
+ * • settings.json — pins `defaultProvider: github-copilot` so pi never picks
186
+ * a provider symphony has no credential for. A dispatch-chosen model
187
+ * overwrites this file via the pi profile's modelInjection (runtime files
188
+ * stage after fake-creds files).
189
+ * • extensions/symphony-mcp.ts — the MCP bridge (pi-acp ignores ACP
190
+ * mcpServers; without this the agent cannot call `transition`). Skipped
191
+ * when MCP is disabled for the run.
192
+ */
193
+ export function buildPiFiles(mcp) {
194
+ const files = [
195
+ credFile(PI_SETTINGS_GUEST_PATH, JSON.stringify({ defaultProvider: 'github-copilot' })),
196
+ ];
197
+ if (mcp !== null) {
198
+ files.push(credFile(PI_EXTENSION_GUEST_PATH, buildPiSymphonyMcpExtension(mcp)));
199
+ }
200
+ return files;
201
+ }
165
202
  // ---------------------------------------------------------------------------
166
203
  // Helpers.
167
204
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"fake-creds.js","sourceRoot":"","sources":["../../../src/core/credential/fake-creds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-creds.js","sourceRoot":"","sources":["../../../src/core/credential/fake-creds.ts"],"names":[],"mappings":"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"}
@@ -43,12 +43,20 @@ import { nonEmptyString } from './strings.js';
43
43
  // codex `OPENAI_API_KEY`).
44
44
  export const CLAUDE_SECRET_NAME = 'ANTHROPIC_AUTH_TOKEN';
45
45
  export const CODEX_SECRET_NAME = 'OPENAI_API_KEY';
46
+ // pi reads COPILOT_GITHUB_TOKEN and uses it VERBATIM as its Copilot bearer (no
47
+ // in-guest exchange/refresh) — exactly the placeholder-substitution contract.
48
+ export const PI_SECRET_NAME = 'COPILOT_GITHUB_TOKEN';
46
49
  // The hosts each adapter's real token may be substituted onto at egress (its
47
50
  // credential validity scope — NOT the general firewall; see buildAdapterHooksConfig).
48
51
  export const CLAUDE_UPSTREAM_HOST = 'api.anthropic.com';
49
52
  // codex ChatGPT-OAuth subscription tokens are honored on the ChatGPT backend
50
53
  // (chatgpt.com/backend-api/codex), never the metered platform API.
51
54
  export const CODEX_UPSTREAM_HOST = 'chatgpt.com';
55
+ // pi (GitHub Copilot): with an env-var credential pi dials each Copilot model's
56
+ // baked-in default base URL — the individual-subscription endpoint. (Business/
57
+ // enterprise segments would need a models.json baseUrl override + a wider scope;
58
+ // not wired.)
59
+ export const PI_UPSTREAM_HOST = 'api.individual.githubcopilot.com';
52
60
  /**
53
61
  * Far-future JWT `exp` (seconds since epoch — 2100-01-01T00:00:00Z) baked into
54
62
  * the codex placeholder so codex's native mode treats it as a long-lived,
@@ -98,6 +106,8 @@ export function assemblePlaceholderJwt(signature, accountId = null) {
98
106
  * - claude → `sk-ant-<random>` (claude validates the `sk-ant-` shape)
99
107
  * - codex → a JWT-shaped placeholder (header.payload.<random-sig>) with a
100
108
  * far-future `exp` + (when known + UUID-valid) the account-id claim
109
+ * - pi → `gho_symphony<random>` (pi sends the env value verbatim — no
110
+ * shape validation; the prefix just keeps it visibly token-shaped)
101
111
  *
102
112
  * `accountId` is consulted ONLY for codex; null/undefined elsewhere.
103
113
  */
@@ -108,6 +118,8 @@ export function buildAdapterPlaceholder(adapter, rng, accountId = null) {
108
118
  case 'codex':
109
119
  // The signature segment is high-entropy random material (base64url-safe).
110
120
  return assemblePlaceholderJwt(rng.newToken(), accountId);
121
+ case 'pi':
122
+ return `gho_symphony${rng.newToken()}`;
111
123
  }
112
124
  }
113
125
  // ─── per-adapter credential spec ─────────────────────────────────────────────
@@ -137,6 +149,13 @@ export function buildAdapterCredentialSpec(adapter, placeholder) {
137
149
  secretName: CODEX_SECRET_NAME,
138
150
  substitutionHosts: [CODEX_UPSTREAM_HOST],
139
151
  };
152
+ case 'pi':
153
+ return {
154
+ adapter,
155
+ placeholder,
156
+ secretName: PI_SECRET_NAME,
157
+ substitutionHosts: [PI_UPSTREAM_HOST],
158
+ };
140
159
  }
141
160
  }
142
161
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/core/credential/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../../src/core/credential/shape.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@
5
5
  // project is `scaffold → run`: no `npm run build:image`, no docker, no local
6
6
  // OCI→gondolin convert. The runtime fetch+import IO lives in the shell adapter
7
7
  // (`src/shell/adapter/gondolin-image-fetch.ts`); THIS module is the pure half — the
8
- // asset-name / store-ref / download-URL / arch-map / sha256-sidecar string logic,
9
- // unit-testable without network.
8
+ // asset-name / store-ref / download-URL / arch-map string logic, unit-testable
9
+ // without network. (The sha256-sidecar parse lives WITH its only caller in the fetch
10
+ // adapter, so no shell module outside the composition root needs a core import.)
10
11
  //
11
12
  // HARD CONSTRAINTS (functional core): 100% synchronous; no IO, node: imports,
12
13
  // process, clock, or randomness. Every function is (data) -> data.
@@ -55,16 +56,6 @@ export function managedReleaseTags(version) {
55
56
  export function managedAssetUrl(repo, tag, assetName) {
56
57
  return `https://github.com/${repo}/releases/download/${tag}/${assetName}`;
57
58
  }
58
- /**
59
- * Parse a `.sha256` sidecar's content → the lowercased hex digest, or null when it is
60
- * absent / malformed. The sidecar is either a bare digest or the `sha256sum` form
61
- * (`<digest>␠␠<filename>`); we take the first whitespace-delimited token. A null
62
- * return is the fetcher's "refuse to import unverified" signal.
63
- */
64
- export function parseSha256Sidecar(content) {
65
- const token = content.trim().split(/\s+/)[0] ?? '';
66
- return /^[0-9a-f]{64}$/i.test(token) ? token.toLowerCase() : null;
67
- }
68
59
  /**
69
60
  * Build the managed-image wiring for this host, or null when the arch has no
70
61
  * published asset (the managed source is then inert — `resolveImagePath` falls back
@@ -1 +1 @@
1
- {"version":3,"file":"managed-image.js","sourceRoot":"","sources":["../../../src/core/image/managed-image.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,6EAA6E;AAC7E,+EAA+E;AAC/E,oFAAoF;AACpF,kFAAkF;AAClF,iCAAiC;AACjC,EAAE;AACF,8EAA8E;AAC9E,mEAAmE;AAOnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;gDAGgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,mBAAmB,IAAI,UAAU,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,OAAO,mBAAmB,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,SAAiB;IAC1E,OAAO,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;QAC/C,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS;KAC7D,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI;QACJ,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QACxC,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"managed-image.js","sourceRoot":"","sources":["../../../src/core/image/managed-image.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,6EAA6E;AAC7E,+EAA+E;AAC/E,oFAAoF;AACpF,+EAA+E;AAC/E,qFAAqF;AACrF,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,mEAAmE;AAOnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD;;;gDAGgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,mBAAmB,IAAI,UAAU,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,OAAO,mBAAmB,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,SAAiB;IAC1E,OAAO,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG;QACH,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;QAC/C,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS;KAC7D,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI;QACJ,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QACxC,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,124 @@
1
+ // PURE generator for the pi symphony-MCP bridge extension (adapter: pi).
2
+ //
3
+ // pi (the @earendil-works/pi-coding-agent harness) has NO built-in MCP client
4
+ // — by design ("No MCP" is a pi philosophy point) — and the pi-acp ACP wrapper
5
+ // accepts but IGNORES the `mcpServers` advertised on ACP session/new. Without a
6
+ // bridge, an in-VM pi agent could never call `transition` / `request_human_steering`
7
+ // / `propose_issue`, so a pi dispatch could never reach a terminal state.
8
+ //
9
+ // The bridge: pi auto-discovers TypeScript extensions under
10
+ // `~/.pi/agent/extensions/*.ts` (global scope — loaded without a trust prompt,
11
+ // unlike project-local `.pi/extensions/`). This module generates the SOURCE of
12
+ // such an extension, with the per-dispatch MCP URL + bearer baked in; the
13
+ // fake-creds staging ships it into the guest alongside pi's settings.json. The
14
+ // extension registers one pi tool per symphony MCP tool and forwards each call
15
+ // as a plain JSON-RPC 2.0 `tools/call` POST — symphony's MCP endpoint is
16
+ // stateless per request (initialize is static), so no session handshake is
17
+ // needed.
18
+ //
19
+ // The tool names / descriptions / parameter schemas are derived from the SAME
20
+ // `TOOL_LIST` the MCP `tools/list` serves, so the two surfaces cannot drift:
21
+ // the JSON-Schema property entries are transliterated into the Typebox calls
22
+ // pi's extension API expects (`typebox` is one of the packages pi guarantees
23
+ // resolvable from extension files).
24
+ //
25
+ // Pure, synchronous, zero IO — (endpoint) -> source string.
26
+ import { TOOL_LIST } from './protocol.js';
27
+ /** Absolute guest path the staged pi extension lands at (global auto-discovery). */
28
+ export const PI_EXTENSION_GUEST_PATH = '/root/.pi/agent/extensions/symphony-mcp.ts';
29
+ /**
30
+ * Transliterate one JSON-Schema property into the Typebox expression the
31
+ * generated extension declares it with. The TOOL_LIST catalog only uses
32
+ * `string`, `number`, and `array<string>` — a new property type added to the
33
+ * catalog without a mapping here must fail LOUDLY at staging (throw), not ship
34
+ * a silently-wrong schema to the model.
35
+ */
36
+ function typeboxExpr(toolName, propName, prop, required) {
37
+ const annotation = prop.description !== undefined ? `{ description: ${JSON.stringify(prop.description)} }` : '';
38
+ let base;
39
+ switch (prop.type) {
40
+ case 'string':
41
+ base = `Type.String(${annotation})`;
42
+ break;
43
+ case 'number':
44
+ base = `Type.Number(${annotation})`;
45
+ break;
46
+ case 'array':
47
+ if (prop.items?.type !== 'string') {
48
+ throw new Error(`pi-extension: unsupported array item type for ${toolName}.${propName}`);
49
+ }
50
+ base = annotation === '' ? 'Type.Array(Type.String())' : `Type.Array(Type.String(), ${annotation})`;
51
+ break;
52
+ default:
53
+ throw new Error(`pi-extension: unsupported schema type "${prop.type}" for ${toolName}.${propName}`);
54
+ }
55
+ return required ? base : `Type.Optional(${base})`;
56
+ }
57
+ /** One `pi.registerTool({...})` statement for a TOOL_LIST entry. */
58
+ function registerToolCode(tool) {
59
+ const required = new Set(tool.inputSchema.required ?? []);
60
+ const props = Object.entries(tool.inputSchema.properties)
61
+ .map(([name, prop]) => ` ${name}: ${typeboxExpr(tool.name, name, prop, required.has(name))},`)
62
+ .join('\n');
63
+ return ` pi.registerTool({
64
+ name: ${JSON.stringify(tool.name)},
65
+ label: ${JSON.stringify(`Symphony: ${tool.name}`)},
66
+ description: ${JSON.stringify(tool.description)},
67
+ parameters: Type.Object({
68
+ ${props}
69
+ }),
70
+ async execute(_toolCallId, params, signal) {
71
+ return { content: await callSymphonyTool(${JSON.stringify(tool.name)}, params, signal) };
72
+ },
73
+ });`;
74
+ }
75
+ /**
76
+ * Generate the full extension source for one dispatch. The URL + bearer are
77
+ * baked in VERBATIM (both are per-dispatch, guest-visible values — the same
78
+ * pair rides the ACP session/new mcpServers header for claude/codex), so the
79
+ * staged file is written 0600 like every other creds-adjacent guest file.
80
+ */
81
+ export function buildPiSymphonyMcpExtension(mcp) {
82
+ return `// Auto-staged by smol-symphony for this dispatch — bridges symphony's MCP
83
+ // control plane (transition / steering / propose_issue) into pi, which has no
84
+ // built-in MCP client. Regenerated per dispatch; edits do not survive.
85
+ import { Type } from "typebox";
86
+
87
+ const MCP_URL = ${JSON.stringify(mcp.url)};
88
+ const MCP_TOKEN = ${JSON.stringify(mcp.token)};
89
+
90
+ async function callSymphonyTool(name, args, signal) {
91
+ const res = await fetch(MCP_URL, {
92
+ method: "POST",
93
+ headers: {
94
+ "content-type": "application/json",
95
+ authorization: "Bearer " + MCP_TOKEN,
96
+ },
97
+ body: JSON.stringify({
98
+ jsonrpc: "2.0",
99
+ id: 1,
100
+ method: "tools/call",
101
+ params: { name, arguments: args },
102
+ }),
103
+ signal,
104
+ });
105
+ if (!res.ok) throw new Error("symphony mcp: http " + res.status);
106
+ const body = await res.json();
107
+ if (body.error) {
108
+ throw new Error("symphony mcp: " + (body.error.message || "error " + body.error.code));
109
+ }
110
+ const raw = body.result && Array.isArray(body.result.content) ? body.result.content : [];
111
+ const text = raw
112
+ .map((c) => (c && typeof c.text === "string" ? c.text : ""))
113
+ .filter(Boolean)
114
+ .join("\\n");
115
+ if (body.result && body.result.isError) throw new Error(text || "symphony tool failed");
116
+ return [{ type: "text", text: text || "ok" }];
117
+ }
118
+
119
+ export default function (pi) {
120
+ ${TOOL_LIST.map(registerToolCode).join('\n\n')}
121
+ }
122
+ `;
123
+ }
124
+ //# sourceMappingURL=pi-extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-extension.js","sourceRoot":"","sources":["../../../src/core/mcp/pi-extension.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,16 @@
27
27
  * The done-threshold trigger takes precedence over idle when both hold (it's
28
28
  * the stronger, count-based signal — handy for the operator-visible log line).
29
29
  *
30
- * The idle trigger is deliberately gated on `doneSinceReflect > 0`: an idle
31
- * orchestrator with nothing finished since the last cycle has nothing new to
32
- * reflect on, and spawning anyway would spin (spawn -> reflect -> terminal ->
33
- * idle -> spawn ...) forever. Requiring fresh terminal work breaks that loop
34
- * while still honoring the "sleep when not busy" framing.
30
+ * The idle trigger is deliberately gated on `doneSinceReflect >= idleMinTerminal`
31
+ * (a configurable signal floor; default 1). An idle orchestrator with nothing
32
+ * finished since the last cycle has nothing new to reflect on, and spawning
33
+ * anyway would spin (spawn -> reflect -> terminal -> idle -> spawn ...) forever.
34
+ * Requiring fresh terminal work breaks that loop while still honoring the "sleep
35
+ * when not busy" framing. Raising the floor above 1 collapses several quiet
36
+ * single-finish moments into one cycle (reflect only once enough signal has
37
+ * accumulated); the `afterTerminal` backstop still covers busy stretches, so
38
+ * reflection never starves. (Keep the floor >= 1: a floor of 0 lets the idle
39
+ * trigger fire with nothing finished, reintroducing the spin loop above.)
35
40
  *
36
41
  * `max_in_flight` is load-bearing: minting removed the immortal ticket's built-in
37
42
  * "one location = one reflection" mutex, so without this guard a busy stretch's
@@ -62,7 +67,7 @@ function decideTrigger(input) {
62
67
  if (input.afterTerminal > 0 && input.doneSinceReflect >= input.afterTerminal) {
63
68
  return 'done_threshold';
64
69
  }
65
- if (input.onIdle && input.idle && input.doneSinceReflect > 0)
70
+ if (input.onIdle && input.idle && input.doneSinceReflect >= input.idleMinTerminal)
66
71
  return 'idle';
67
72
  return null;
68
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sleep-cycle.js","sourceRoot":"","sources":["../../../src/core/schedule/sleep-cycle.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,qEAAqE;AACrE,4EAA4E;AAC5E,6DAA6D;AAW7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,gFAAgF;IAChF,2EAA2E;IAC3E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;KACtG,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAChB,OAA0B,EAC1B,gBAAwB,EACxB,aAAqB,EACrB,MAAc,EACd,MAAqB;IAErB,MAAM,GAAG,GACP,OAAO,KAAK,gBAAgB;QAC1B,CAAC,CAAC,GAAG,gBAAgB,gFAAgF,aAAa,IAAI;QACtH,CAAC,CAAC,mCAAmC,gBAAgB,qDAAqD,CAAC;IAC/G,OAAO;QACL,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC;QACvE,EAAE;QACF,YAAY,OAAO,MAAM,GAAG,EAAE;QAC9B,eAAe,MAAM,GAAG;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,gBAAwB,EACxB,KAA8B,EAC9B,UAAyB;IAEzB,oDAAoD;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;IAChC,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,QAAQ;QAAE,OAAO,gBAAgB,CAAC;IAC1C,gFAAgF;IAChF,uEAAuE;IACvE,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE;QAAE,OAAO,gBAAgB,CAAC;IACrF,OAAO,gBAAgB,GAAG,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"sleep-cycle.js","sourceRoot":"","sources":["../../../src/core/schedule/sleep-cycle.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,qEAAqE;AACrE,4EAA4E;AAC5E,6DAA6D;AAW7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,gFAAgF;IAChF,2EAA2E;IAC3E,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;KACtG,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,MAAM,CAAC;IACjG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAChB,OAA0B,EAC1B,gBAAwB,EACxB,aAAqB,EACrB,MAAc,EACd,MAAqB;IAErB,MAAM,GAAG,GACP,OAAO,KAAK,gBAAgB;QAC1B,CAAC,CAAC,GAAG,gBAAgB,gFAAgF,aAAa,IAAI;QACtH,CAAC,CAAC,mCAAmC,gBAAgB,qDAAqD,CAAC;IAC/G,OAAO;QACL,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC;QACvE,EAAE;QACF,YAAY,OAAO,MAAM,GAAG,EAAE;QAC9B,eAAe,MAAM,GAAG;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,gBAAwB,EACxB,KAA8B,EAC9B,UAAyB;IAEzB,oDAAoD;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,gBAAgB,CAAC;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;IAChC,6EAA6E;IAC7E,IAAI,CAAC,CAAC,EAAE,QAAQ;QAAE,OAAO,gBAAgB,CAAC;IAC1C,gFAAgF;IAChF,uEAAuE;IACvE,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE;QAAE,OAAO,gBAAgB,CAAC;IACrF,OAAO,gBAAgB,GAAG,CAAC,CAAC;AAC9B,CAAC"}
@@ -276,6 +276,7 @@ function reducePoll(event, snapshot) {
276
276
  enabled: true,
277
277
  onIdle: cfg.spawn.onIdle,
278
278
  afterTerminal: cfg.spawn.afterTerminal,
279
+ idleMinTerminal: cfg.spawn.idleMinTerminal,
279
280
  doneSinceReflect: snapshot.doneSinceReflect,
280
281
  idle,
281
282
  inFlight,
@@ -1 +1 @@
1
- {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/core/schedule/tick.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/core/schedule/tick.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mBAAmB;AACnB,EAAE;AACF,kEAAkE;AAClE,oFAAoF;AACpF,0FAA0F;AAC1F,EAAE;AACF,0EAA0E;AAC1E,iFAAiF;AACjF,4BAA4B;AAC5B,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,0DAA0D;AAC1D,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,iFAAiF;AACjF,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,gFAAgF;AAChF,8EAA8E;AAC9E,qDAAqD;AACrD,+FAA+F;AAC/F,uEAAuE;AACvE,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,iFAAiF;AAiBjF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAmB/D,gFAAgF;AAEhF,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AACjD,gGAAgG;AAChG,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAExD,gFAAgF;AAEhF,mEAAmE;AACnE,SAAS,wBAAwB,CAAC,OAAsC;IACtE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,OAAwC,EACxC,UAAoD,EACpD,SAAiB;IAEjB,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,0FAA0F;AAC1F,SAAS,iBAAiB,CACxB,QAAsB,EACtB,YAAoB,EACpB,OAA+B,EAC/B,OAA6B;IAE7B,OAAO;QACL,YAAY;QACZ,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;KACrF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAsB;IAM9C,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB;QAC5C,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QAChC,KAAK,EAAE,QAAQ,CAAC,WAAW;QAC3B,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB;QAC7C,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ;KAChC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,0BAA0B,CAAC;QACvC,SAAS;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QAChC,oBAAoB,EAAE,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;KAClD,CAAC,CAAC;IACH,OAAO;QACL,SAAS;QACT,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;AACvE,CAAC;AAED,+EAA+E;AAC/E,SAAS,gBAAgB,CAAC,GAAe;IACvC,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,CAAC;AAED,kFAAkF;AAElF;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB,EAAE,QAAsB;IAC3D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,KAAK,gBAAgB;YACnB,OAAO,mBAAmB,EAAE,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB;IAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,kBAAkB,CAAC,KAAwB,EAAE,QAAsB;IAC1E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,gFAAgF;QAChF,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,kFAAkF;QAClF,+EAA+E;QAC/E,8DAA8D;QAC9D,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,gBAAgB,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO;SAChE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAAoB,EAAE,QAAsB;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAExF,MAAM,OAAO,GAAa,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,gFAAgF;IAChF,wEAAwE;IACxE,iFAAiF;IACjF,4EAA4E;IAC5E,sEAAsE;IACtE,mEAAmE;IACnE,kFAAkF;IAClF,2EAA2E;IAC3E,MAAM,qBAAqB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAEhE,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM;QAC1B,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE;YACvE,MAAM,EAAE,GAAG,CAAC,YAAY;YACxB,QAAQ,EAAE,GAAG,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC;SAC1E,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzD,SAAS,EAAE,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,oEAAoE;IACpE,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IACzD,IAAI,gBAAoC,CAAC;IACzC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,GACR,kBAAkB;YAClB,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,UAAU,CAAC,IAAI,KAAK,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QAChC,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,0EAA0E;QAC1E,MAAM,QAAQ,GACZ,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YACjE,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,WAAW,CAAC;YAC3B,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;YACxB,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;YACtC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe;YAC1C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,IAAI;YACJ,QAAQ;YACR,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW;YAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;YAC9B,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;SAC3B,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,0EAA0E;YAC1E,2CAA2C;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,WAAW,EAAE,QAAQ,CAAC,IAAI;gBAC1B,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAC;YACH,gBAAgB,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE;oBACN,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB;oBAC7C,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;oBACjC,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAe;QACzB,QAAQ;QACR,OAAO;QACP,KAAK;QACL,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,SAAS;KACV,CAAC;IACF,IAAI,gBAAgB,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC/E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAsB,EAAE,QAAsB;IACtE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACzB,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,QAAQ,GAAG,wBAAwB,CACvC,QAAQ,CAAC,gBAAgB,EACzB,KAAK,CAAC,QAAQ,EACd,GAAG,CAAC,KAAK,CAAC,UAAU,CACrB,CAAC;IACF,MAAM,gBAAgB,GAAG,QAAQ,KAAK,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvF,gFAAgF;IAChF,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;QAC1D,SAAS,EAAE,GAAG,CAAC,uBAAuB;KACvC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACjC,uEAAuE;QACvE,OAAO,cAAc,CACnB,KAAK,EACL,GAAG,EACH;YACE,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;SAC9E,EACD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,+EAA+E;QAC/E,wEAAwE;QACxE,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EAAE;SACvE,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,0CAA0C;YACnD,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EAAE;YACtE,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,mBAAmB,CAAC;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,SAAS,EAAE,KAAK,CAAC,WAAW;gBAC5B,QAAQ,EAAE,KAAK,CAAC,qBAAqB;gBACrC,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,2EAA2E;YAC3E,8EAA8E;YAC9E,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,mEAAmE;gBAC5E,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAe;YACzB,QAAQ,EAAE,EAAE;YACZ,OAAO;YACP,KAAK,EAAE,EAAE;YACT,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAChD,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;SACjD,CAAC;QACF,IAAI,gBAAgB,KAAK,SAAS;YAAE,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gFAAgF;IAChF,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,KAAsB,EACtB,GAAe,EACf,OAA2C,EAC3C,gBAAoC;IAEpC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,mBAAmB,EAAE,qBAAqB;QAC1C,aAAa,EAAE,eAAe;QAC9B,YAAY,EAAE,GAAG,CAAC,iBAAiB;KACpC,CAAC,CAAC;IACH,MAAM,OAAO,GAAa;QACxB,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1D,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KAC3C,CAAC;IACF,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACtF,IAAI,gBAAgB,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC/E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,SAAS,OAAO,CAAC,KAAsB,EAAE,WAAmB,EAAE,OAAe;IAC3E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,0BAA0B;QACnC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC9E,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,KAAsB,EAAE,QAAsB;IACtE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,2CAA2C;oBACpD,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE;oBACvE,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF;YACD,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;SACjD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,iBAAiB,CACpC,QAAQ,EACR,SAAS,CAAC,YAAY,EACtB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,CACjB,CAAC;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,qFAAqF;IACrF,KAAK,cAAc,CAAC;IACpB,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,CAAC,YAAY;QACxB,QAAQ,EAAE,GAAG,CAAC,cAAc;QAC5B,OAAO,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC;KAC1E,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,6DAA6D;QAC7D,OAAO;YACL,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7E,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,0BAA0B,CAAC;QACxC,MAAM;QACN,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,WAAW,EAAE,KAAK,CAAC,KAAK;QACxB,aAAa,EAAE,eAAe;QAC9B,YAAY,EAAE,GAAG,CAAC,iBAAiB;KACpC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvE,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,UAAU;IACV,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,oCAAoC;gBAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE;gBAC1E,OAAO,EAAE,KAAK,CAAC,EAAE;aAClB;SACF;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;KAC5C,CAAC;AACJ,CAAC"}
@@ -54,6 +54,7 @@ export function deriveSpawnRouting(states) {
54
54
  spawnState: name,
55
55
  onIdle: sc.spawn.on_idle,
56
56
  afterTerminal: sc.spawn.after_terminal,
57
+ idleMinTerminal: sc.spawn.idle_min_terminal,
57
58
  title: sc.spawn.title,
58
59
  body: sc.spawn.body,
59
60
  maxInFlight: sc.spawn.max_in_flight,
@@ -63,6 +64,7 @@ export function deriveSpawnRouting(states) {
63
64
  spawnState: null,
64
65
  onIdle: false,
65
66
  afterTerminal: 0,
67
+ idleMinTerminal: 1,
66
68
  title: 'Reflection {{ stamp }}',
67
69
  body: null,
68
70
  maxInFlight: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/core/workflow/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/core/workflow/derive.ts"],"names":[],"mappings":"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"}
@@ -530,13 +530,17 @@ function parseStateSpawnBlock(stateName, raw) {
530
530
  if (raw === undefined || raw === null)
531
531
  return undefined;
532
532
  if (typeof raw !== 'object' || Array.isArray(raw)) {
533
- throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn must be a map (on_idle / after_terminal / title / body / max_in_flight)`);
533
+ throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn must be a map (on_idle / after_terminal / idle_min_terminal / title / body / max_in_flight)`);
534
534
  }
535
535
  const m = raw;
536
536
  const afterTerminal = asInt(m['after_terminal'], 0);
537
537
  if (afterTerminal < 0) {
538
538
  throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.after_terminal must be a non-negative integer (0 disables the terminal-count trigger)`);
539
539
  }
540
+ const idleMinTerminal = asInt(m['idle_min_terminal'], 1);
541
+ if (idleMinTerminal < 0) {
542
+ throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.idle_min_terminal must be a non-negative integer (the idle trigger's signal floor; default 1)`);
543
+ }
540
544
  const maxInFlight = asInt(m['max_in_flight'], 1);
541
545
  if (maxInFlight < 1) {
542
546
  throw new WorkflowError('workflow_parse_error', `state "${stateName}": spawn.max_in_flight must be a positive integer (>= 1)`);
@@ -548,6 +552,7 @@ function parseStateSpawnBlock(stateName, raw) {
548
552
  return {
549
553
  on_idle: m['on_idle'] === true,
550
554
  after_terminal: afterTerminal,
555
+ idle_min_terminal: idleMinTerminal,
551
556
  title,
552
557
  body,
553
558
  max_in_flight: maxInFlight,