@osolmaz/pi-workflows 0.12.0 → 0.13.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 (257) hide show
  1. package/README.md +56 -31
  2. package/dist/builtins/autodoc.workflow.d.ts +4 -4
  3. package/dist/builtins/autoimplement.workflow.d.ts +797 -142
  4. package/dist/builtins/autoimplement.workflow.js +17 -105
  5. package/dist/builtins/autoimplement.workflow.js.map +1 -1
  6. package/dist/builtins/autoplan.workflow.d.ts +126 -13
  7. package/dist/builtins/autoplan.workflow.js +200 -29
  8. package/dist/builtins/autoplan.workflow.js.map +1 -1
  9. package/dist/builtins/catalog.js +7 -5
  10. package/dist/builtins/catalog.js.map +1 -1
  11. package/dist/builtins/index.d.ts +4 -2
  12. package/dist/builtins/index.js +3 -1
  13. package/dist/builtins/index.js.map +1 -1
  14. package/dist/builtins/monitor.workflow.d.ts +56 -23
  15. package/dist/builtins/monitor.workflow.js +508 -329
  16. package/dist/builtins/monitor.workflow.js.map +1 -1
  17. package/dist/builtins/pi-agent-group.d.ts +72 -0
  18. package/dist/builtins/pi-agent-group.js +1087 -0
  19. package/dist/builtins/pi-agent-group.js.map +1 -0
  20. package/dist/builtins/plain-summary.workflow.d.ts +32 -0
  21. package/dist/builtins/plain-summary.workflow.js +134 -0
  22. package/dist/builtins/plain-summary.workflow.js.map +1 -0
  23. package/dist/builtins/plan-approval.workflow.d.ts +39 -5
  24. package/dist/builtins/plan-approval.workflow.js +92 -14
  25. package/dist/builtins/plan-approval.workflow.js.map +1 -1
  26. package/dist/builtins/plan-change.workflow.d.ts +449 -0
  27. package/dist/builtins/plan-change.workflow.js +256 -0
  28. package/dist/builtins/plan-change.workflow.js.map +1 -0
  29. package/dist/builtins/plan-presentation.js +2 -2
  30. package/dist/builtins/plan-presentation.js.map +1 -1
  31. package/dist/builtins/sanity-check.workflow.d.ts +50 -6
  32. package/dist/builtins/sanity-check.workflow.js +150 -28
  33. package/dist/builtins/sanity-check.workflow.js.map +1 -1
  34. package/dist/controllers/effects.d.ts +3 -2
  35. package/dist/controllers/effects.js +8 -1
  36. package/dist/controllers/effects.js.map +1 -1
  37. package/dist/controllers/index.d.ts +1 -1
  38. package/dist/controllers/index.js +1 -1
  39. package/dist/controllers/index.js.map +1 -1
  40. package/dist/controllers/manager.d.ts +1 -0
  41. package/dist/controllers/manager.js +41 -17
  42. package/dist/controllers/manager.js.map +1 -1
  43. package/dist/controllers/sqlite.d.ts +107 -85
  44. package/dist/controllers/sqlite.js +1611 -1486
  45. package/dist/controllers/sqlite.js.map +1 -1
  46. package/dist/controllers/store.d.ts +9 -8
  47. package/dist/controllers/store.js +1 -31
  48. package/dist/controllers/store.js.map +1 -1
  49. package/dist/controllers/types.d.ts +3 -0
  50. package/dist/controllers/workflow-engine-scheduler.d.ts +1 -1
  51. package/dist/controllers/workflow-engine-scheduler.js +3 -5
  52. package/dist/controllers/workflow-engine-scheduler.js.map +1 -1
  53. package/dist/controllers/workflows.d.ts +2 -2
  54. package/dist/controllers/workflows.js +11 -10
  55. package/dist/controllers/workflows.js.map +1 -1
  56. package/dist/extension/controller-host.js +2 -2
  57. package/dist/extension/controller-host.js.map +1 -1
  58. package/dist/extension/decision-channels.d.ts +4 -2
  59. package/dist/extension/decision-channels.js +333 -146
  60. package/dist/extension/decision-channels.js.map +1 -1
  61. package/dist/extension/executor.d.ts +9 -2
  62. package/dist/extension/executor.js +89 -2
  63. package/dist/extension/executor.js.map +1 -1
  64. package/dist/extension/herdr-viewer.d.ts +0 -1
  65. package/dist/extension/herdr-viewer.js +0 -4
  66. package/dist/extension/herdr-viewer.js.map +1 -1
  67. package/dist/extension/index.js +209 -127
  68. package/dist/extension/index.js.map +1 -1
  69. package/dist/extension/recorder.d.ts +3 -10
  70. package/dist/extension/recorder.js +13 -22
  71. package/dist/extension/recorder.js.map +1 -1
  72. package/dist/extension/session-events.d.ts +2 -2
  73. package/dist/extension/step-message.d.ts +7 -2
  74. package/dist/extension/step-message.js +94 -2
  75. package/dist/extension/step-message.js.map +1 -1
  76. package/dist/extension/widget.js +29 -3
  77. package/dist/extension/widget.js.map +1 -1
  78. package/dist/host/rpc-executor.d.ts +3 -0
  79. package/dist/host/rpc-executor.js +2 -0
  80. package/dist/host/rpc-executor.js.map +1 -1
  81. package/dist/host/runner.d.ts +3 -6
  82. package/dist/host/runner.js +83 -32
  83. package/dist/host/runner.js.map +1 -1
  84. package/dist/render/graph-render.js +15 -10
  85. package/dist/render/graph-render.js.map +1 -1
  86. package/dist/state/database.d.ts +35 -0
  87. package/dist/state/database.js +287 -0
  88. package/dist/state/database.js.map +1 -0
  89. package/dist/state/index.d.ts +4 -0
  90. package/dist/state/index.js +5 -0
  91. package/dist/state/index.js.map +1 -0
  92. package/dist/state/json.d.ts +6 -0
  93. package/dist/state/json.js +38 -0
  94. package/dist/state/json.js.map +1 -0
  95. package/dist/state/mutation.d.ts +57 -0
  96. package/dist/state/mutation.js +255 -0
  97. package/dist/state/mutation.js.map +1 -0
  98. package/dist/state/schema.d.ts +6 -0
  99. package/dist/state/schema.js +473 -0
  100. package/dist/state/schema.js.map +1 -0
  101. package/dist/viewer/cli.d.ts +2 -2
  102. package/dist/viewer/cli.js +142 -122
  103. package/dist/viewer/cli.js.map +1 -1
  104. package/dist/viewer/render.d.ts +4 -4
  105. package/dist/viewer/render.js +9 -23
  106. package/dist/viewer/render.js.map +1 -1
  107. package/dist/viewer/session-reducer.d.ts +1 -1
  108. package/dist/viewer/session-reducer.js +1 -1
  109. package/dist/viewer/tui.d.ts +3 -3
  110. package/dist/viewer/tui.js +15 -13
  111. package/dist/viewer/tui.js.map +1 -1
  112. package/dist/viewer/watch.d.ts +2 -5
  113. package/dist/viewer/watch.js +13 -13
  114. package/dist/viewer/watch.js.map +1 -1
  115. package/dist/workflows/catalog.js +7 -2
  116. package/dist/workflows/catalog.js.map +1 -1
  117. package/dist/workflows/composition.js +20 -2
  118. package/dist/workflows/composition.js.map +1 -1
  119. package/dist/workflows/decision-presentation.d.ts +1 -1
  120. package/dist/workflows/decision-presentation.js +51 -38
  121. package/dist/workflows/decision-presentation.js.map +1 -1
  122. package/dist/workflows/definition.d.ts +6 -2
  123. package/dist/workflows/definition.js +17 -0
  124. package/dist/workflows/definition.js.map +1 -1
  125. package/dist/workflows/engine.d.ts +7 -7
  126. package/dist/workflows/engine.js +196 -115
  127. package/dist/workflows/engine.js.map +1 -1
  128. package/dist/workflows/errors.d.ts +16 -3
  129. package/dist/workflows/errors.js +18 -3
  130. package/dist/workflows/errors.js.map +1 -1
  131. package/dist/workflows/human-decision.d.ts +45 -8
  132. package/dist/workflows/human-decision.js +641 -274
  133. package/dist/workflows/human-decision.js.map +1 -1
  134. package/dist/workflows/index.d.ts +5 -6
  135. package/dist/workflows/index.js +4 -5
  136. package/dist/workflows/index.js.map +1 -1
  137. package/dist/workflows/progress.d.ts +1 -0
  138. package/dist/workflows/progress.js +15 -3
  139. package/dist/workflows/progress.js.map +1 -1
  140. package/dist/workflows/schema.js +27 -1
  141. package/dist/workflows/schema.js.map +1 -1
  142. package/dist/workflows/store.d.ts +83 -103
  143. package/dist/workflows/store.js +907 -951
  144. package/dist/workflows/store.js.map +1 -1
  145. package/dist/workflows/types.d.ts +88 -126
  146. package/docs/CONTROLLERS.md +10 -8
  147. package/docs/DEFERRED_TURNS.md +2 -2
  148. package/docs/DESIGN_PHILOSOPHY.md +4 -2
  149. package/docs/HUMAN_DECISIONS.md +36 -47
  150. package/docs/HUMAN_DECISION_PRESENTATIONS.md +14 -24
  151. package/docs/MONITOR.md +179 -237
  152. package/docs/SQLITE_STATE.md +219 -0
  153. package/docs/WORKFLOW_COMPOSITION.md +27 -26
  154. package/docs/WORKFLOW_STEP_MESSAGES.md +20 -18
  155. package/docs/WORKFLOW_UPDATES.md +10 -9
  156. package/docs/development.md +9 -9
  157. package/docs/live-replay-protocol.md +28 -37
  158. package/docs/plans/2026-08-16-workflow-updates-plan.md +1 -1
  159. package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
  160. package/docs/plans/2026-08-21-autoimplement-timeout-fallback-plan.md +1 -1
  161. package/docs/plans/2026-08-21-plan-change-approval-policy-plan.md +322 -0
  162. package/docs/plans/2026-08-21-sanity-check-plan.md +217 -95
  163. package/docs/plans/2026-08-22-goal-finishing-monitor-plan.md +200 -0
  164. package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +701 -0
  165. package/docs/plans/2026-08-23-sqlite-state-plan.md +970 -0
  166. package/docs/plans/replayable-run-bundles-implementation-plan.md +2 -2
  167. package/docs/plans/session-event-replay-implementation-plan.md +1 -1
  168. package/docs/plans/tui-viewer-implementation-plan.md +1 -1
  169. package/docs/session-event-journal.md +63 -434
  170. package/docs/tui-viewer.md +13 -15
  171. package/docs/workflows.md +127 -53
  172. package/examples/workflows/approved-plan.workflow.ts +19 -46
  173. package/examples/workflows/plain-summary.workflow.ts +1 -0
  174. package/herdr-plugin.toml +1 -1
  175. package/package.json +7 -7
  176. package/plugins/herdr/viewer.mjs +1 -11
  177. package/schemas/human-decision-accepted-v1.schema.json +15 -3
  178. package/schemas/human-decision-continuation-v1.schema.json +10 -1
  179. package/schemas/human-decision-delivery-v1.schema.json +8 -0
  180. package/schemas/human-decision-receipt-v1.schema.json +8 -0
  181. package/schemas/human-decision-request-v1.schema.json +24 -4
  182. package/skills/autoimplement/SKILL.md +27 -0
  183. package/skills/autoplan/SKILL.md +5 -4
  184. package/skills/monitor/SKILL.md +91 -135
  185. package/skills/pi-workflows/SKILL.md +9 -8
  186. package/skills/sanity-check/SKILL.md +44 -0
  187. package/src/builtins/autoimplement.workflow.ts +19 -118
  188. package/src/builtins/autoplan.workflow.ts +290 -40
  189. package/src/builtins/catalog.ts +7 -5
  190. package/src/builtins/index.ts +18 -1
  191. package/src/builtins/monitor.workflow.ts +673 -382
  192. package/src/builtins/pi-agent-group.ts +1407 -0
  193. package/src/builtins/plain-summary.workflow.ts +185 -0
  194. package/src/builtins/plan-approval.workflow.ts +157 -24
  195. package/src/builtins/plan-change.workflow.ts +321 -0
  196. package/src/builtins/plan-presentation.ts +2 -2
  197. package/src/builtins/sanity-check.workflow.ts +248 -48
  198. package/src/controllers/effects.ts +7 -0
  199. package/src/controllers/index.ts +0 -6
  200. package/src/controllers/manager.ts +72 -32
  201. package/src/controllers/sqlite.ts +2420 -1948
  202. package/src/controllers/store.ts +17 -38
  203. package/src/controllers/types.ts +3 -0
  204. package/src/controllers/workflow-engine-scheduler.ts +4 -8
  205. package/src/controllers/workflows.ts +45 -21
  206. package/src/extension/controller-host.ts +1 -2
  207. package/src/extension/decision-channels.ts +456 -203
  208. package/src/extension/executor.ts +105 -2
  209. package/src/extension/herdr-viewer.ts +0 -5
  210. package/src/extension/index.ts +251 -151
  211. package/src/extension/recorder.ts +13 -22
  212. package/src/extension/session-events.ts +2 -2
  213. package/src/extension/step-message.ts +106 -4
  214. package/src/extension/widget.ts +32 -5
  215. package/src/host/rpc-executor.ts +4 -0
  216. package/src/host/runner.ts +93 -41
  217. package/src/render/graph-render.ts +12 -6
  218. package/src/state/database.ts +375 -0
  219. package/src/state/index.ts +29 -0
  220. package/src/state/json.ts +42 -0
  221. package/src/state/mutation.ts +435 -0
  222. package/src/state/schema.ts +475 -0
  223. package/src/viewer/cli.ts +151 -144
  224. package/src/viewer/render.ts +19 -30
  225. package/src/viewer/session-reducer.ts +1 -1
  226. package/src/viewer/tui.ts +18 -17
  227. package/src/viewer/watch.ts +13 -17
  228. package/src/workflows/catalog.ts +7 -2
  229. package/src/workflows/composition.ts +21 -3
  230. package/src/workflows/decision-presentation.ts +56 -43
  231. package/src/workflows/definition.ts +36 -3
  232. package/src/workflows/engine.ts +228 -130
  233. package/src/workflows/errors.ts +27 -3
  234. package/src/workflows/human-decision.ts +921 -349
  235. package/src/workflows/index.ts +20 -30
  236. package/src/workflows/progress.ts +18 -3
  237. package/src/workflows/schema.ts +36 -1
  238. package/src/workflows/store.ts +1300 -1163
  239. package/src/workflows/types.ts +100 -137
  240. package/dist/builtins/sanity-check-session.d.ts +0 -17
  241. package/dist/builtins/sanity-check-session.js +0 -168
  242. package/dist/builtins/sanity-check-session.js.map +0 -1
  243. package/dist/workflows/artifacts.d.ts +0 -40
  244. package/dist/workflows/artifacts.js +0 -155
  245. package/dist/workflows/artifacts.js.map +0 -1
  246. package/dist/workflows/migrate-sources.d.ts +0 -42
  247. package/dist/workflows/migrate-sources.js +0 -133
  248. package/dist/workflows/migrate-sources.js.map +0 -1
  249. package/docs/run-bundles.md +0 -481
  250. package/schemas/human-decision-accepted-v2.schema.json +0 -50
  251. package/schemas/human-decision-delivery-v2.schema.json +0 -36
  252. package/schemas/human-decision-receipt-v2.schema.json +0 -39
  253. package/schemas/human-decision-request-v2.schema.json +0 -69
  254. package/schemas/human-decision-resolution-v2.schema.json +0 -27
  255. package/src/builtins/sanity-check-session.ts +0 -205
  256. package/src/workflows/artifacts.ts +0 -188
  257. package/src/workflows/migrate-sources.ts +0 -178
@@ -1,13 +1,13 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { createHash, randomUUID } from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { builtinWorkflowCatalog } from "../builtins/catalog.js";
5
- import { ControllerManager, loadDiscoveredControllers, projectControllerStorePath, SqliteControllerStore, WorkflowEngineScheduler, } from "../controllers/index.js";
5
+ import { ControllerManager, loadDiscoveredControllers, SqliteControllerStore, WorkflowEngineScheduler, } from "../controllers/index.js";
6
+ import { workflowStatePath } from "../state/database.js";
6
7
  import { WorkflowEngine } from "../workflows/engine.js";
7
8
  import { ClaimLostError, errorMessage, isClaimLostError, WorkflowSourceChangedError, } from "../workflows/errors.js";
8
9
  import { resolveWorkflowRef, resolveWorkflowSource } from "../workflows/loader.js";
9
- import { migrateLegacyWorkflowSources } from "../workflows/migrate-sources.js";
10
- import { WorkflowRunStore, readRunBundle } from "../workflows/store.js";
10
+ import { WorkflowRunStore } from "../workflows/store.js";
11
11
  import { HostProcessRegistry } from "./processes.js";
12
12
  import { RpcStepExecutor } from "./rpc-executor.js";
13
13
  const CLAIM_POLL_MS = 2_000;
@@ -17,7 +17,7 @@ const RUN_CLAIM_RENEW_MS = 10_000;
17
17
  * The always-on runner: claims parked workflow runs and reconciles durable
18
18
  * controllers without a Pi session. Conversation nodes execute in headless
19
19
  * `pi --mode rpc` children. Everything the host does is recoverable: claims
20
- * expire, bundles fence stale writers, and child processes are reaped by
20
+ * expire, SQLite leases fence stale writers, and child processes are reaped by
21
21
  * the next host.
22
22
  */
23
23
  export class WorkflowHost {
@@ -29,7 +29,6 @@ export class WorkflowHost {
29
29
  manager = null;
30
30
  pollTimer = null;
31
31
  activeRuns = new Map();
32
- migrationBlockedRuns = new Set();
33
32
  schedulerExecutors = new Map();
34
33
  /** Runs whose resume refused (edited source); skipped until a host restart. */
35
34
  skippedRuns = new Set();
@@ -38,10 +37,11 @@ export class WorkflowHost {
38
37
  constructor(options) {
39
38
  this.options = options;
40
39
  this.runnerId = options.runnerId ?? `host-${randomUUID().slice(0, 8)}`;
41
- this.store = new SqliteControllerStore(options.storeFile ?? projectControllerStorePath(options.cwd));
42
- this.stateDir = path.dirname(this.store.filePath);
40
+ const databasePath = options.databasePath ?? workflowStatePath();
41
+ this.store = new SqliteControllerStore(databasePath, { projectPath: options.cwd });
42
+ this.stateDir = path.join(path.dirname(this.store.filePath), "hosts", hostProjectScope(options.cwd));
43
43
  this.registry = options.registry ?? new HostProcessRegistry(this.stateDir);
44
- this.childRunStore = new WorkflowRunStore(options.runsDir ?? process.env.PI_WORKFLOWS_RUNS_DIR ?? undefined);
44
+ this.childRunStore = new WorkflowRunStore(databasePath);
45
45
  }
46
46
  log(message) {
47
47
  this.options.onLog?.(message);
@@ -56,15 +56,6 @@ export class WorkflowHost {
56
56
  if (reaped.length > 0) {
57
57
  this.log(`reaped ${reaped.length} orphaned headless session(s): ${reaped.join(", ")}`);
58
58
  }
59
- const migration = await migrateLegacyWorkflowSources({
60
- catalog: builtinWorkflowCatalog,
61
- store: this.childRunStore,
62
- queue: this.store,
63
- });
64
- for (const blocked of migration.blocked) {
65
- this.migrationBlockedRuns.add(blocked.runId);
66
- this.log(`run ${blocked.runId} parked: ${blocked.reason}`);
67
- }
68
59
  const definitions = await loadDiscoveredControllers({ cwd: this.options.cwd });
69
60
  if (definitions.length > 0) {
70
61
  const scheduler = new WorkflowEngineScheduler({
@@ -142,7 +133,7 @@ export class WorkflowHost {
142
133
  runnerId: this.runnerId,
143
134
  claimToken: randomUUID(),
144
135
  leaseMs: RUN_CLAIM_LEASE_MS,
145
- excludeRunIds: [...this.skippedRuns, ...this.migrationBlockedRuns],
136
+ excludeRunIds: [...this.skippedRuns],
146
137
  });
147
138
  }
148
139
  catch (error) {
@@ -165,7 +156,15 @@ export class WorkflowHost {
165
156
  let workflow;
166
157
  let workflowSource;
167
158
  try {
168
- const bundle = await readRunBundle(this.childRunStore.runDirFor(runId));
159
+ const bundle = this.childRunStore.readRun(runId);
160
+ if (bundle?.state.status === "waiting") {
161
+ if (this.store.parkWorkflowRun({ runId, claimToken })) {
162
+ this.store.settleRunEffect(runId, "run.park_queue");
163
+ this.skippedRuns.add(runId);
164
+ this.log(`left ${record.workflowName} run ${runId} waiting for its decision owner`);
165
+ }
166
+ return;
167
+ }
169
168
  if (bundle?.state.workflowSource === undefined) {
170
169
  throw new Error(`Workflow run ${runId} has no canonical workflow source`);
171
170
  }
@@ -206,12 +205,13 @@ export class WorkflowHost {
206
205
  throw new ClaimLostError(runId);
207
206
  }
208
207
  };
209
- const fencedStore = new WorkflowRunStore(this.childRunStore.outputRoot, {
210
- fenceProvider: () => fence,
208
+ const fencedStore = new WorkflowRunStore(this.childRunStore.databasePath, {
209
+ authorityProvider: () => store.workflowRunAuthority(runId, claimToken),
211
210
  });
212
211
  const executor = new RpcStepExecutor({
213
212
  cwd: this.options.cwd,
214
213
  registry: this.registry,
214
+ ...(record.originSessionId !== null ? { assistantMessageMode: "park" } : {}),
215
215
  ...(this.options.piArgs !== undefined ? { piArgs: this.options.piArgs } : {}),
216
216
  ...(this.options.env !== undefined ? { env: this.options.env } : {}),
217
217
  });
@@ -253,16 +253,36 @@ export class WorkflowHost {
253
253
  renewTimer.unref?.();
254
254
  this.recordEvent(runId, record.workflowName, "resumed", { runnerId: this.runnerId });
255
255
  try {
256
- const result = await engine.resumeRun(workflow, runId, { workflowSource });
256
+ const humanDecision = record.parentRunId === null ? undefined : hostHumanDecision(record.launchOptions);
257
+ const result = record.initialized
258
+ ? await engine.resumeRun(workflow, runId, { workflowSource })
259
+ : record.parentRunId === null
260
+ ? await engine.run(workflow, record.input, { workflowSource, runId })
261
+ : await engine.continueRun(workflow, record.parentRunId, record.input, {
262
+ workflowSource,
263
+ runId,
264
+ ...(humanDecision === undefined ? {} : { humanDecision }),
265
+ });
257
266
  clearInterval(renewTimer);
258
- if (result.state.status === "running") {
259
- // Parked again mid-drain: leave it claimable for the next runner.
267
+ if (result.state.status === "running" || result.state.status === "waiting") {
268
+ // A drained run, visible-assistant handoff, or new checkpoint stays
269
+ // available to its next owner. Skip waits in this host process so it
270
+ // cannot reclaim the same run in a tight loop.
260
271
  this.store.parkWorkflowRun({ runId, claimToken });
261
- this.recordEvent(runId, record.workflowName, "parked", {});
262
- this.log(`parked ${record.workflowName} run ${runId}`);
272
+ this.store.settleRunEffect(runId, "run.park_queue");
273
+ const waitingForOrigin = result.state.status === "running" &&
274
+ result.state.statusDetail === "waiting for origin Pi session";
275
+ if (result.state.status === "waiting" || waitingForOrigin)
276
+ this.skippedRuns.add(runId);
277
+ this.recordEvent(runId, record.workflowName, "parked", {
278
+ status: result.state.status,
279
+ ...(waitingForOrigin ? { reason: "waiting for origin Pi session" } : {}),
280
+ });
281
+ this.log(`parked ${record.workflowName} run ${runId}${waitingForOrigin ? ": waiting for origin Pi session" : ""}`);
263
282
  return;
264
283
  }
265
284
  this.store.completeWorkflowRun({ runId, claimToken });
285
+ this.store.settleRunEffect(runId, "run.settle_queue");
266
286
  this.recordEvent(runId, record.workflowName, result.state.status, {
267
287
  ...(result.state.error !== undefined ? { error: result.state.error } : {}),
268
288
  ...(result.state.waitingOn !== undefined ? { waitingOn: result.state.waitingOn } : {}),
@@ -298,6 +318,7 @@ export class WorkflowHost {
298
318
  if (index !== -1) {
299
319
  this.parkedEngines.splice(index, 1);
300
320
  }
321
+ fencedStore.close();
301
322
  await executor.close().catch(() => undefined);
302
323
  }
303
324
  }
@@ -306,18 +327,23 @@ export class WorkflowHost {
306
327
  let heldClaim = false;
307
328
  try {
308
329
  // The interruption write obeys the same fencing rule as every other
309
- // bundle write: without a live claim, the current owner decides.
330
+ // state write: without a live claim, the current owner decides.
310
331
  heldClaim = this.store.verifyWorkflowRunClaim({ runId: record.runId, claimToken });
311
332
  if (heldClaim) {
312
- const bundle = await this.childRunStore.markRunInterrupted(record.runId, message);
333
+ const claimedStore = new WorkflowRunStore(this.store.filePath, {
334
+ state: this.store.state,
335
+ authorityProvider: () => this.store.workflowRunAuthority(record.runId, claimToken),
336
+ });
337
+ const bundle = await claimedStore.markRunInterrupted(record.runId, message);
313
338
  actualStatus = bundle?.state.status;
314
339
  }
315
340
  }
316
341
  catch {
317
- // The bundle may be unreadable; the queue row still needs closure.
342
+ // The run state may be unreadable; the queue row still needs closure.
318
343
  }
319
344
  try {
320
345
  this.store.completeWorkflowRun({ runId: record.runId, claimToken });
346
+ this.store.settleRunEffect(record.runId, "run.settle_queue");
321
347
  }
322
348
  catch {
323
349
  // Best-effort.
@@ -327,8 +353,8 @@ export class WorkflowHost {
327
353
  this.log(`run ${record.runId} continues under another runner`);
328
354
  return;
329
355
  }
330
- // Report the bundle's real terminal state when the interruption was a
331
- // no-op (the bundle was already waiting or completed), so the feed
356
+ // Report the run's real terminal state when the interruption was a
357
+ // no-op (the run was already waiting or completed), so the feed
332
358
  // stays truthful for sessions syncing from it.
333
359
  if (actualStatus !== undefined && actualStatus !== "failed") {
334
360
  this.recordEvent(record.runId, record.workflowName, actualStatus, {});
@@ -347,6 +373,31 @@ export class WorkflowHost {
347
373
  }
348
374
  }
349
375
  }
376
+ function hostHumanDecision(value) {
377
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
378
+ throw new Error("Stored workflow launch options are invalid");
379
+ }
380
+ const decision = Reflect.get(value, "humanDecision");
381
+ if (decision === undefined)
382
+ return undefined;
383
+ if (typeof decision !== "object" ||
384
+ decision === null ||
385
+ Array.isArray(decision) ||
386
+ Reflect.get(decision, "schema") !== "pi-workflows.human-decision-accepted.v1") {
387
+ throw new Error("Stored human decision launch option is invalid");
388
+ }
389
+ return decision;
390
+ }
391
+ function hostProjectScope(cwd) {
392
+ let canonical;
393
+ try {
394
+ canonical = fs.realpathSync.native(cwd);
395
+ }
396
+ catch {
397
+ canonical = path.resolve(cwd);
398
+ }
399
+ return createHash("sha256").update(canonical).digest("hex").slice(0, 24);
400
+ }
350
401
  function hostLockPath(stateDir) {
351
402
  return path.join(stateDir, "host.lock");
352
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/host/runner.ts"],"names":[],"mappings":"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"}
@@ -211,8 +211,7 @@ function renderCellText(view, cell, visibleSteps, atLatestStep, now, nodeStyle,
211
211
  typeof state.finalOutput === "object"
212
212
  ? state.finalOutput.schema
213
213
  : undefined;
214
- const waitingRequest = waitingSchema === "pi-workflows.human-decision-request.v1" ||
215
- waitingSchema === "pi-workflows.human-decision-request.v2"
214
+ const waitingRequest = waitingSchema === "pi-workflows.human-decision-request.v1"
216
215
  ? state.finalOutput
217
216
  : undefined;
218
217
  const selected = human !== undefined &&
@@ -229,14 +228,20 @@ function renderCellText(view, cell, visibleSteps, atLatestStep, now, nodeStyle,
229
228
  : selected !== undefined
230
229
  ? `human: ${sanitizeText(selected.label)}`
231
230
  : undefined;
232
- const detail = humanDetail ??
233
- (atLatestStep && state.currentNode === nodeId && state.statusDetail
234
- ? sanitizeText(state.statusDetail)
235
- : node?.statusDetail
236
- ? sanitizeText(node.statusDetail)
237
- : node?.summary
238
- ? sanitizeText(node.summary)
239
- : "");
231
+ const configuredDetail = atLatestStep && state.currentNode === nodeId && state.statusDetail
232
+ ? sanitizeText(state.statusDetail)
233
+ : node?.statusDetail
234
+ ? sanitizeText(node.statusDetail)
235
+ : node?.summary
236
+ ? sanitizeText(node.summary)
237
+ : "";
238
+ const assistantDetail = node?.nodeType === "agent" &&
239
+ typeof node.expectedOutput === "object" &&
240
+ node.expectedOutput.kind === "assistant-message"
241
+ ? "assistant response"
242
+ : "";
243
+ const nodeDetail = [assistantDetail, configuredDetail].filter(Boolean).join(" · ");
244
+ const detail = humanDetail ?? nodeDetail;
240
245
  const branchLines = Array.from({ length: metrics.branchRows }, (_, index) => labels[index] ? `◇ ${labels[index]}` : "");
241
246
  const count = atLatestStep && state.currentNode === nodeId ? Math.max(attempts, 1) : attempts;
242
247
  const timing = attempt || count > 0 ? `${count} attempt${count === 1 ? "" : "s"} · ${elapsed}` : "not visited";
@@ -1 +1 @@
1
- {"version":3,"file":"graph-render.js","sourceRoot":"","sources":["../../src/render/graph-render.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,WAAW,GAKZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAyB/C,MAAM,aAAa,GAA+B;IAChD,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,aAAa,GAA+B;IAChD,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,aAAa,GAAoC;IACrD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,QAAQ;IACtB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,SAAS,aAAa,CAAC,QAAgB;IACrC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;AAChG,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;AACxC,CAAC;AAgBD,SAAS,UAAU,CAAC,SAAyB,EAAE,SAAiB;IAC9D,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,KAAkB;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,IAAI;YACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA2B,EAC3B,MAAc;IAEd,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAe,EACf,MAAc,EACd,YAAkC,EAClC,YAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,YAAY,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5D,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,IAAI;YACP,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe,EAAE,MAAc;IACvD,OAAO,CACL,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC/E,IAAI,EAAE,CACR,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,IAAe;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,YAAY,GAAG,sBAAsB,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAiB,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO;QACL,KAAK,EAAE,YAAY,GAAG,CAAC;QACvB,MAAM,EAAE,CAAC,GAAG,UAAU;QACtB,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAkBD,SAAS,cAAc,CACrB,IAAe,EACf,IAAe,EACf,YAAkC,EAClC,YAAqB,EACrB,GAAS,EACT,SAAyB,EACzB,OAAoB;IAEpB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC;SACT,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,EAAE,KAAK;SACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SACtC,MAAM,CACL,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EACnF,CAAC,CACF,IAAI,CAAC,CAAC;IACX,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IAClD,MAAM,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB;YAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACxC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,EAAE,aAAa,CAAC;IAClC,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,KAAK,MAAM;QAC1B,KAAK,CAAC,WAAW,KAAK,IAAI;QAC1B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACnC,CAAC,CAAE,KAAK,CAAC,WAAoC,CAAC,MAAM;QACpD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAClB,aAAa,KAAK,wCAAwC;QAC1D,aAAa,KAAK,wCAAwC;QACxD,CAAC,CAAE,KAAK,CAAC,WAIL;QACJ,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GACZ,KAAK,KAAK,SAAS;QACnB,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,MAAM;QACnC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,GACf,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;YAC1B,CAAC,CAAC,oBAAoB,YAAY,CAAC,OAAO,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,cAAc,EAAE,YAAY,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CACvQ,KAAK,CAAC,OAAO,CACd;iBACE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC3C,IAAI,CACH,KAAK,CACN,GAAG,OAAO,cAAc,EAAE,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9H,CAAC,CAAC,QAAQ,KAAK,SAAS;gBACtB,CAAC,CAAC,UAAU,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1C,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,MAAM,GACV,WAAW;QACX,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,KAAK,CAAC,YAAY;YACjE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,IAAI,EAAE,YAAY;gBAClB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;gBACjC,CAAC,CAAC,IAAI,EAAE,OAAO;oBACb,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9F,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IAClG,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,GAAG,aAAa,KAAK,QAAQ,KAAK,MAAM,EAAE,CAAC;IACxD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC;QACnC,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW;QAClF,MAAM;QACN,QAAQ,EAAE,KAAK;QACf,OAAO;QACP,MAAM;QACN,WAAW;QACX,OAAO;QACP,KAAK;QACL,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,IAA6D;IAE7D,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO;QAAE,OAAO,GAAG,IAAI,UAAU,CAAC;IACjE,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM;QAAE,OAAO,GAAG,IAAI,MAAM,IAAI,CAAC,WAAW,OAAO,CAAC;IACnF,OAAO,GAAG,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AA2BD,2EAA2E;AAC3E,SAAS,gBAAgB,CAAC,YAAkC;IAC1D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAe,EACf,iBAAyB,EACzB,GAAG,GAAS,IAAI,IAAI,EAAE,EACtB,OAAO,GAAuB,EAAE;IAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAChF,CACF,CAAC;IAEF,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAC9F,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,iBAAiB,GAAG,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,qEAAqE;YACrE,wDAAwD;YACxD,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CACjF,CAAC;YACF,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAC/C,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAClD,CAAC;IAEF,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;YACC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;gBACrC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;gBAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC3E,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,OAAO,CAAC,MAAM,EACd,KAAK,CACN,CAAC;IACF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjG,0EAA0E;IAC1E,qDAAqD;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAeD,SAAS,aAAa,CAAC,MAAmB;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO;QACL,KAAK;QACL,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAClF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,SAAS,kBAAkB,CACzB,IAAe,EACf,YAAkC,EAClC,YAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gEAAgE;AAChE,SAAS,OAAO,CAAC,KAAoB,EAAE,IAAY,EAAE,SAAiB;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,6EAA6E;IAC7E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,2EAA2E;IAC3E,qEAAqE;IACrE,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC3B,MAAmB,EACnB,IAAY,EACZ,QAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrC,MAAM,KAAK,GACR,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAY,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,IAAI,GAAG,GAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAY,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,MAAM,YAAY,GAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QACzF,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,GAAG,GAAG,KAAK,CAAC;QACd,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,6DAA6D;IAC7D,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,IAAI,GAAqB;gBAC7B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;aACrC,CAAC;YACF,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CACjE,CAAC;YACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACA,WAAW,CAAC,KAAK,CAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;QAC3C,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;QAClE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CACtB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAC1E;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CACjB,KAAqB,EACrB,IAAmB,EACnB,GAAiB,EACjB,MAAoB;IAEpB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GACxC,IAAI,KAAK,MAAM;QACb,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAW;QAC1F,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAW,CAAC;IAC/F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,uEAAuE;QACvE,IAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3E,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAiB,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAY,GAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAY,CAC5F,CAAC;QACF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;IAC/E,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;CACvE,CAAC;AAEX,SAAS,SAAS,CAChB,MAAkB,EAClB,MAAoB,EACpB,MAAmB,EACnB,WAAwB,EACxB,SAAyB,EACzB,SAAiB;IAEjB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAW,CAAC;YAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACzE,iEAAiE;gBACjE,8CAA8C;gBAC9C,MAAM,CAAC,KAAK,CACV,MAAM,EACN,IAAI,CAAC,CAAC,EACN,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAC7C,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACxB,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,CAAC,OAAO;oBAAE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAClB,MAAkB,EAClB,MAAc,EACd,CAAS,EACT,QAAsB,EACtB,MAAkB;IAElB,MAAM,KAAK,GACT,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IACvF,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAChB,GAAW,EACX,IAAY,EACZ,SAAsB,EACtB,KAAa,EACb,UAAuB,EACvB,EAAE;QACF,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAC3E,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAC/E,SAAS,CACP,CAAC,GAAG,CAAC,EACL,QAAQ,CAAC,SAAS,EAClB,SAAS,EACT,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,EACnD,WAAW,CACZ,CAAC;IACF,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IAChG,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;IACtD,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,MAAM,GAAG,CAAC,EACV,SAAS,EACT,OAAO,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,EAC/C,YAAY,CACb,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IACxF,IAAI,QAAQ,CAAC,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,SAAS,CAChB,OAAe,EACf,WAAwB,EACxB,UAAyB;IAEzB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,MAAkB,EAClB,MAAoB,EACpB,MAAuB,EACvB,MAAmB,EACnB,WAAwB,EACxB,UAAyB,EACzB,UAAkB,EAClB,SAAyB,EACzB,SAAiB,EACjB,KAAoB;IAEpB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAkB,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAe,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAe,CAAC;QAC9C,uEAAuE;QACvE,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;YACxC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO,CAAC,KAAK;oBACnB,KAAK;oBACL,KAAK;oBACL,GAAG;oBACH,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;oBAC5D,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAkB,EAAE,KAAmB;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC;IAC3B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,IACE,MAAM,GAAG,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EACjD,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GACd,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC;YACjC,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC;SACpB;QACH,CAAC,CAAC;YACE,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC;YACnB,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC;SAClC,CAAC;IACR,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;IACH,CAAC;IACD,0DAA0D;IAC1D,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,MAAkB,EAClB,MAAoB,EACpB,MAAmB,EACnB,WAAwB,EACxB,UAAkB,EAClB,SAAyB,EACzB,SAAiB,EACjB,KAAoB;IAEpB,IAAI,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAe,CAAC;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAe,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAgB,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1F,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAEpD,wEAAwE;QACxE,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,iEAAiE;QACjE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,yEAAyE;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACjB,IAAgB,EAChB,MAAc,EACd,SAAsB,EACtB,IAAe;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CACnE,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAW,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"graph-render.js","sourceRoot":"","sources":["../../src/render/graph-render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import Database from "better-sqlite3";
2
+ import { type JsonValue } from "./json.js";
3
+ export type StateDatabaseMode = "read-write" | "read-only";
4
+ export type OpenStateDatabaseOptions = {
5
+ filePath?: string;
6
+ homeDir?: string;
7
+ mode?: StateDatabaseMode;
8
+ checkLegacyState?: boolean;
9
+ };
10
+ export type BlobRecord = {
11
+ hash: Buffer;
12
+ mediaType: string;
13
+ byteLength: number;
14
+ content: Buffer;
15
+ };
16
+ export declare function workflowStatePath(homeDir?: string): string;
17
+ export declare class StateDatabase {
18
+ readonly filePath: string;
19
+ readonly mode: StateDatabaseMode;
20
+ readonly connection: Database.Database;
21
+ constructor(options?: OpenStateDatabaseOptions);
22
+ close(): void;
23
+ transaction<T>(operation: () => T): T;
24
+ putJson(value: unknown, now?: number): Buffer;
25
+ putText(value: string, now?: number): Buffer;
26
+ putBlob(content: Buffer, mediaType: string, now?: number): Buffer;
27
+ readBlob(hash: Buffer): BlobRecord | undefined;
28
+ readJson(hash: Buffer): JsonValue;
29
+ integrityCheck(): void;
30
+ backup(destination: string): Promise<void>;
31
+ private configure;
32
+ private prepareSchema;
33
+ private initialize;
34
+ private verifySchema;
35
+ }