@pasko70/pibo 3.3.0 → 3.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 (237) hide show
  1. package/dist/agent-runtime/capabilities.js +5 -0
  2. package/dist/agent-runtime/contract.js +2 -0
  3. package/dist/agent-runtime/routed-session.js +68 -11
  4. package/dist/agent-runtimes/codex-native/adapter.js +3 -0
  5. package/dist/agent-runtimes/codex-native/thread.js +26 -4
  6. package/dist/agent-runtimes/omp/adapter.js +1 -0
  7. package/dist/agent-runtimes/pi/adapter.js +4 -0
  8. package/dist/agent-runtimes/pi/routed-session.js +53 -5
  9. package/dist/apps/chat/chat-api-routes.js +11 -37
  10. package/dist/apps/chat/chat-request-normalizers.js +8 -48
  11. package/dist/apps/chat/data/legacy-project-migration.js +492 -0
  12. package/dist/apps/chat/data/room-service.js +2 -2
  13. package/dist/apps/chat/data/workflow-session-model.js +1 -0
  14. package/dist/apps/chat/data/workflow-session-service.js +352 -0
  15. package/dist/apps/chat/rooms.js +1 -1
  16. package/dist/apps/chat/types/rooms.js +30 -0
  17. package/dist/apps/chat/web-app.js +264 -647
  18. package/dist/apps/chat/workflow-catalog.js +18 -18
  19. package/dist/apps/chat/{project-workflow-human-actions.js → workflow-human-actions.js} +14 -14
  20. package/dist/apps/chat/workflow-manual-trigger-runtime.js +5 -1
  21. package/dist/apps/chat/workflow-persistence.js +20 -28
  22. package/dist/apps/chat/{project-workflow-sessions.js → workflow-sessions.js} +18 -17
  23. package/dist/apps/chat-ui/assets/{dist-Kc3zbvQi.js → dist-AhtdAETR.js} +1 -1
  24. package/dist/apps/chat-ui/assets/{dist-CcAkJ8iv.js → dist-Bk_L1qbJ.js} +1 -1
  25. package/dist/apps/chat-ui/assets/{dist-BbCjOLiw.js → dist-Dyp6sLQn.js} +1 -1
  26. package/dist/apps/chat-ui/assets/{dist-Bd9gWCbk.js → dist-jVaiGXFD.js} +1 -1
  27. package/dist/apps/chat-ui/assets/{dist-C9a0_446.js → dist-t25moyJS.js} +1 -1
  28. package/dist/apps/chat-ui/assets/index-CZjNw-aK.js +228 -0
  29. package/dist/apps/chat-ui/assets/index-CcEjFITM.css +1 -0
  30. package/dist/apps/chat-ui/index.html +2 -2
  31. package/dist/apps/chat-vscode-web/assets/index-Spj6M0tn.js +43 -0
  32. package/dist/apps/chat-vscode-web/index.html +1 -1
  33. package/dist/compute/pool/cli.js +1 -1
  34. package/dist/compute/pool/seeds.js +2 -3
  35. package/dist/config/config.js +1 -1
  36. package/dist/core/session-router.js +7 -4
  37. package/dist/previews/cli.js +154 -79
  38. package/dist/previews/compute-worker.js +37 -0
  39. package/dist/previews/config.js +2 -1
  40. package/dist/previews/migrations/session-ownership.js +7 -0
  41. package/dist/previews/proxy.js +4 -2
  42. package/dist/previews/public-setup.js +108 -0
  43. package/dist/previews/store.js +20 -13
  44. package/dist/previews/web-app.js +12 -2
  45. package/dist/sessions/workflow-session-kind.js +0 -3
  46. package/npm-shrinkwrap.json +7 -6
  47. package/package.json +6 -2
  48. package/packages/workflows/README.md +21 -0
  49. package/packages/workflows/dist/api/index.d.ts +48 -0
  50. package/packages/workflows/dist/api/index.d.ts.map +1 -0
  51. package/packages/workflows/dist/api/index.js +96 -0
  52. package/packages/workflows/dist/api/index.js.map +1 -0
  53. package/packages/workflows/dist/definition-hash.d.ts +4 -0
  54. package/packages/workflows/dist/definition-hash.d.ts.map +1 -0
  55. package/packages/workflows/dist/definition-hash.js +27 -0
  56. package/packages/workflows/dist/definition-hash.js.map +1 -0
  57. package/packages/workflows/dist/fixtures/index.d.ts +39 -0
  58. package/packages/workflows/dist/fixtures/index.d.ts.map +1 -0
  59. package/packages/workflows/dist/fixtures/index.js +608 -0
  60. package/packages/workflows/dist/fixtures/index.js.map +1 -0
  61. package/packages/workflows/dist/index.d.ts +16 -0
  62. package/packages/workflows/dist/index.d.ts.map +1 -0
  63. package/packages/workflows/dist/index.js +10 -0
  64. package/packages/workflows/dist/index.js.map +1 -0
  65. package/packages/workflows/dist/inspection/index.d.ts +47 -0
  66. package/packages/workflows/dist/inspection/index.d.ts.map +1 -0
  67. package/packages/workflows/dist/inspection/index.js +131 -0
  68. package/packages/workflows/dist/inspection/index.js.map +1 -0
  69. package/packages/workflows/dist/registry/index.d.ts +30 -0
  70. package/packages/workflows/dist/registry/index.d.ts.map +1 -0
  71. package/packages/workflows/dist/registry/index.js +161 -0
  72. package/packages/workflows/dist/registry/index.js.map +1 -0
  73. package/packages/workflows/dist/runtime/adapter-node.d.ts +28 -0
  74. package/packages/workflows/dist/runtime/adapter-node.d.ts.map +1 -0
  75. package/packages/workflows/dist/runtime/adapter-node.js +172 -0
  76. package/packages/workflows/dist/runtime/adapter-node.js.map +1 -0
  77. package/packages/workflows/dist/runtime/agent-node.d.ts +32 -0
  78. package/packages/workflows/dist/runtime/agent-node.d.ts.map +1 -0
  79. package/packages/workflows/dist/runtime/agent-node.js +231 -0
  80. package/packages/workflows/dist/runtime/agent-node.js.map +1 -0
  81. package/packages/workflows/dist/runtime/agent-runtime.d.ts +25 -0
  82. package/packages/workflows/dist/runtime/agent-runtime.d.ts.map +1 -0
  83. package/packages/workflows/dist/runtime/agent-runtime.js +111 -0
  84. package/packages/workflows/dist/runtime/agent-runtime.js.map +1 -0
  85. package/packages/workflows/dist/runtime/code-node.d.ts +31 -0
  86. package/packages/workflows/dist/runtime/code-node.d.ts.map +1 -0
  87. package/packages/workflows/dist/runtime/code-node.js +223 -0
  88. package/packages/workflows/dist/runtime/code-node.js.map +1 -0
  89. package/packages/workflows/dist/runtime/dispatch-failures.d.ts +36 -0
  90. package/packages/workflows/dist/runtime/dispatch-failures.d.ts.map +1 -0
  91. package/packages/workflows/dist/runtime/dispatch-failures.js +80 -0
  92. package/packages/workflows/dist/runtime/dispatch-failures.js.map +1 -0
  93. package/packages/workflows/dist/runtime/edge-payloads.d.ts +3 -0
  94. package/packages/workflows/dist/runtime/edge-payloads.d.ts.map +1 -0
  95. package/packages/workflows/dist/runtime/edge-payloads.js +11 -0
  96. package/packages/workflows/dist/runtime/edge-payloads.js.map +1 -0
  97. package/packages/workflows/dist/runtime/edge-transfer.d.ts +39 -0
  98. package/packages/workflows/dist/runtime/edge-transfer.d.ts.map +1 -0
  99. package/packages/workflows/dist/runtime/edge-transfer.js +356 -0
  100. package/packages/workflows/dist/runtime/edge-transfer.js.map +1 -0
  101. package/packages/workflows/dist/runtime/human-action.d.ts +43 -0
  102. package/packages/workflows/dist/runtime/human-action.d.ts.map +1 -0
  103. package/packages/workflows/dist/runtime/human-action.js +231 -0
  104. package/packages/workflows/dist/runtime/human-action.js.map +1 -0
  105. package/packages/workflows/dist/runtime/human-node.d.ts +27 -0
  106. package/packages/workflows/dist/runtime/human-node.d.ts.map +1 -0
  107. package/packages/workflows/dist/runtime/human-node.js +126 -0
  108. package/packages/workflows/dist/runtime/human-node.js.map +1 -0
  109. package/packages/workflows/dist/runtime/ids.d.ts +2 -0
  110. package/packages/workflows/dist/runtime/ids.d.ts.map +1 -0
  111. package/packages/workflows/dist/runtime/ids.js +4 -0
  112. package/packages/workflows/dist/runtime/ids.js.map +1 -0
  113. package/packages/workflows/dist/runtime/index.d.ts +23 -0
  114. package/packages/workflows/dist/runtime/index.d.ts.map +1 -0
  115. package/packages/workflows/dist/runtime/index.js +12 -0
  116. package/packages/workflows/dist/runtime/index.js.map +1 -0
  117. package/packages/workflows/dist/runtime/manual-trigger.d.ts +51 -0
  118. package/packages/workflows/dist/runtime/manual-trigger.d.ts.map +1 -0
  119. package/packages/workflows/dist/runtime/manual-trigger.js +403 -0
  120. package/packages/workflows/dist/runtime/manual-trigger.js.map +1 -0
  121. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts +48 -0
  122. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts.map +1 -0
  123. package/packages/workflows/dist/runtime/nested-workflow-node.js +246 -0
  124. package/packages/workflows/dist/runtime/nested-workflow-node.js.map +1 -0
  125. package/packages/workflows/dist/runtime/one-node-agent.d.ts +34 -0
  126. package/packages/workflows/dist/runtime/one-node-agent.d.ts.map +1 -0
  127. package/packages/workflows/dist/runtime/one-node-agent.js +334 -0
  128. package/packages/workflows/dist/runtime/one-node-agent.js.map +1 -0
  129. package/packages/workflows/dist/runtime/persistence.d.ts +9 -0
  130. package/packages/workflows/dist/runtime/persistence.d.ts.map +1 -0
  131. package/packages/workflows/dist/runtime/persistence.js +67 -0
  132. package/packages/workflows/dist/runtime/persistence.js.map +1 -0
  133. package/packages/workflows/dist/runtime/pibo-routing.d.ts +126 -0
  134. package/packages/workflows/dist/runtime/pibo-routing.d.ts.map +1 -0
  135. package/packages/workflows/dist/runtime/pibo-routing.js +96 -0
  136. package/packages/workflows/dist/runtime/pibo-routing.js.map +1 -0
  137. package/packages/workflows/dist/runtime/prompts.d.ts +20 -0
  138. package/packages/workflows/dist/runtime/prompts.d.ts.map +1 -0
  139. package/packages/workflows/dist/runtime/prompts.js +235 -0
  140. package/packages/workflows/dist/runtime/prompts.js.map +1 -0
  141. package/packages/workflows/dist/runtime/retry.d.ts +35 -0
  142. package/packages/workflows/dist/runtime/retry.d.ts.map +1 -0
  143. package/packages/workflows/dist/runtime/retry.js +80 -0
  144. package/packages/workflows/dist/runtime/retry.js.map +1 -0
  145. package/packages/workflows/dist/runtime/state.d.ts +14 -0
  146. package/packages/workflows/dist/runtime/state.d.ts.map +1 -0
  147. package/packages/workflows/dist/runtime/state.js +139 -0
  148. package/packages/workflows/dist/runtime/state.js.map +1 -0
  149. package/packages/workflows/dist/runtime/time.d.ts +6 -0
  150. package/packages/workflows/dist/runtime/time.d.ts.map +1 -0
  151. package/packages/workflows/dist/runtime/time.js +42 -0
  152. package/packages/workflows/dist/runtime/time.js.map +1 -0
  153. package/packages/workflows/dist/store/catalog-records.d.ts +18 -0
  154. package/packages/workflows/dist/store/catalog-records.d.ts.map +1 -0
  155. package/packages/workflows/dist/store/catalog-records.js +59 -0
  156. package/packages/workflows/dist/store/catalog-records.js.map +1 -0
  157. package/packages/workflows/dist/store/contracts.d.ts +149 -0
  158. package/packages/workflows/dist/store/contracts.d.ts.map +1 -0
  159. package/packages/workflows/dist/store/contracts.js +2 -0
  160. package/packages/workflows/dist/store/contracts.js.map +1 -0
  161. package/packages/workflows/dist/store/draft-writes.d.ts +7 -0
  162. package/packages/workflows/dist/store/draft-writes.d.ts.map +1 -0
  163. package/packages/workflows/dist/store/draft-writes.js +18 -0
  164. package/packages/workflows/dist/store/draft-writes.js.map +1 -0
  165. package/packages/workflows/dist/store/index.d.ts +55 -0
  166. package/packages/workflows/dist/store/index.d.ts.map +1 -0
  167. package/packages/workflows/dist/store/index.js +650 -0
  168. package/packages/workflows/dist/store/index.js.map +1 -0
  169. package/packages/workflows/dist/store/list-query.d.ts +13 -0
  170. package/packages/workflows/dist/store/list-query.d.ts.map +1 -0
  171. package/packages/workflows/dist/store/list-query.js +20 -0
  172. package/packages/workflows/dist/store/list-query.js.map +1 -0
  173. package/packages/workflows/dist/store/row-mappers.d.ts +206 -0
  174. package/packages/workflows/dist/store/row-mappers.d.ts.map +1 -0
  175. package/packages/workflows/dist/store/row-mappers.js +262 -0
  176. package/packages/workflows/dist/store/row-mappers.js.map +1 -0
  177. package/packages/workflows/dist/store/schema.d.ts +13 -0
  178. package/packages/workflows/dist/store/schema.d.ts.map +1 -0
  179. package/packages/workflows/dist/store/schema.js +458 -0
  180. package/packages/workflows/dist/store/schema.js.map +1 -0
  181. package/packages/workflows/dist/store/write-values.d.ts +18 -0
  182. package/packages/workflows/dist/store/write-values.d.ts.map +1 -0
  183. package/packages/workflows/dist/store/write-values.js +227 -0
  184. package/packages/workflows/dist/store/write-values.js.map +1 -0
  185. package/packages/workflows/dist/types/index.d.ts +1202 -0
  186. package/packages/workflows/dist/types/index.d.ts.map +1 -0
  187. package/packages/workflows/dist/types/index.js +8 -0
  188. package/packages/workflows/dist/types/index.js.map +1 -0
  189. package/packages/workflows/dist/validation/diagnostics.d.ts +27 -0
  190. package/packages/workflows/dist/validation/diagnostics.d.ts.map +1 -0
  191. package/packages/workflows/dist/validation/diagnostics.js +104 -0
  192. package/packages/workflows/dist/validation/diagnostics.js.map +1 -0
  193. package/packages/workflows/dist/validation/graph-cycles.d.ts +4 -0
  194. package/packages/workflows/dist/validation/graph-cycles.d.ts.map +1 -0
  195. package/packages/workflows/dist/validation/graph-cycles.js +130 -0
  196. package/packages/workflows/dist/validation/graph-cycles.js.map +1 -0
  197. package/packages/workflows/dist/validation/graph-edges.d.ts +5 -0
  198. package/packages/workflows/dist/validation/graph-edges.d.ts.map +1 -0
  199. package/packages/workflows/dist/validation/graph-edges.js +48 -0
  200. package/packages/workflows/dist/validation/graph-edges.js.map +1 -0
  201. package/packages/workflows/dist/validation/graph-ports.d.ts +5 -0
  202. package/packages/workflows/dist/validation/graph-ports.d.ts.map +1 -0
  203. package/packages/workflows/dist/validation/graph-ports.js +55 -0
  204. package/packages/workflows/dist/validation/graph-ports.js.map +1 -0
  205. package/packages/workflows/dist/validation/index.d.ts +18 -0
  206. package/packages/workflows/dist/validation/index.d.ts.map +1 -0
  207. package/packages/workflows/dist/validation/index.js +175 -0
  208. package/packages/workflows/dist/validation/index.js.map +1 -0
  209. package/packages/workflows/dist/validation/json-schema.d.ts +12 -0
  210. package/packages/workflows/dist/validation/json-schema.d.ts.map +1 -0
  211. package/packages/workflows/dist/validation/json-schema.js +556 -0
  212. package/packages/workflows/dist/validation/json-schema.js.map +1 -0
  213. package/packages/workflows/dist/validation/registry-refs.d.ts +21 -0
  214. package/packages/workflows/dist/validation/registry-refs.d.ts.map +1 -0
  215. package/packages/workflows/dist/validation/registry-refs.js +283 -0
  216. package/packages/workflows/dist/validation/registry-refs.js.map +1 -0
  217. package/packages/workflows/dist/validation/retry-policy.d.ts +3 -0
  218. package/packages/workflows/dist/validation/retry-policy.d.ts.map +1 -0
  219. package/packages/workflows/dist/validation/retry-policy.js +114 -0
  220. package/packages/workflows/dist/validation/retry-policy.js.map +1 -0
  221. package/packages/workflows/dist/validation/schema-declarations.d.ts +5 -0
  222. package/packages/workflows/dist/validation/schema-declarations.d.ts.map +1 -0
  223. package/packages/workflows/dist/validation/schema-declarations.js +36 -0
  224. package/packages/workflows/dist/validation/schema-declarations.js.map +1 -0
  225. package/packages/workflows/dist/validation/state-access.d.ts +4 -0
  226. package/packages/workflows/dist/validation/state-access.d.ts.map +1 -0
  227. package/packages/workflows/dist/validation/state-access.js +121 -0
  228. package/packages/workflows/dist/validation/state-access.js.map +1 -0
  229. package/packages/workflows/dist/xstate/index.d.ts +73 -0
  230. package/packages/workflows/dist/xstate/index.d.ts.map +1 -0
  231. package/packages/workflows/dist/xstate/index.js +728 -0
  232. package/packages/workflows/dist/xstate/index.js.map +1 -0
  233. package/packages/workflows/package.json +23 -0
  234. package/dist/apps/chat/data/project-service.js +0 -1029
  235. package/dist/apps/chat-ui/assets/index-DWJnUye8.css +0 -1
  236. package/dist/apps/chat-ui/assets/index-exohEOUE.js +0 -228
  237. package/dist/apps/chat-vscode-web/assets/index-D1bpAUkR.js +0 -43
@@ -0,0 +1,650 @@
1
+ import { mkdirSync } from "node:fs";
2
+ import { dirname, resolve } from "node:path";
3
+ import { DatabaseSync } from "node:sqlite";
4
+ import { assertPublishedWorkflowVersionIsSame, assertWorkflowRecordStatusValue, assertWorkflowUiRecordSource, createWorkflowPublishedVersionRecord, } from "./catalog-records.js";
5
+ import { assertNoActiveWorkflowDraftConflict, updateWorkflowIdentityCurrentDraft } from "./draft-writes.js";
6
+ import { buildWorkflowStoreListQuery, workflowStoreListLimit } from "./list-query.js";
7
+ import { workflowArchiveStateFromRow, workflowCheckpointFromRow, workflowDefinitionSnapshotFromRow, workflowDeleteTombstoneFromRow, workflowDraftFromRow, workflowEdgeTransferFromRow, workflowEventFromRow, workflowHumanActionFromRow, workflowIdentityFromRow, workflowNodeAttemptFromRow, workflowPublishedVersionFromRow, workflowRunFromRow, workflowWaitTokenFromRow, workflowWakeupFromRow, } from "./row-mappers.js";
8
+ import { installWorkflowSqliteSchema } from "./schema.js";
9
+ import { workflowArchiveStateWriteValues, workflowCheckpointWriteValues, workflowDefinitionSnapshotWriteValues, workflowDeleteTombstoneWriteValues, workflowDraftWriteValues, workflowEdgeTransferWriteValues, workflowEventWriteValues, workflowHumanActionWriteValues, workflowIdentityWriteValues, workflowNodeAttemptWriteValues, workflowPublishedVersionWriteValues, workflowRunWriteValues, workflowWaitTokenWriteValues, workflowWakeupWriteValues, } from "./write-values.js";
10
+ export { assertPublishedWorkflowVersionRecord, assertWorkflowRecordSource, assertWorkflowRecordStatus, createWorkflowPublishedVersionRecord, isWorkflowRecordSource, isWorkflowRecordStatus, WORKFLOW_RECORD_SOURCES, WORKFLOW_RECORD_STATUSES, } from "./catalog-records.js";
11
+ export { createWorkflowSqlitePath, isNormalSessionFactStorageName, WORKFLOW_SQLITE_FILENAME, WORKFLOW_SQLITE_NORMAL_SESSION_FACT_KEYWORDS, WORKFLOW_SQLITE_SCHEMA_VERSION, WORKFLOW_SQLITE_SESSION_LINK_COLUMNS, WORKFLOW_SQLITE_TABLES, } from "./schema.js";
12
+ export class SqliteWorkflowRunStore {
13
+ db;
14
+ constructor(path) {
15
+ const resolvedPath = path === ":memory:" ? path : resolve(path);
16
+ if (resolvedPath !== ":memory:") {
17
+ mkdirSync(dirname(resolvedPath), { recursive: true });
18
+ }
19
+ this.db = new DatabaseSync(resolvedPath);
20
+ installWorkflowSqliteSchema(this.db, { enableWal: resolvedPath !== ":memory:" });
21
+ }
22
+ transaction(action) {
23
+ if (this.db.isTransaction)
24
+ return action();
25
+ this.db.exec("BEGIN IMMEDIATE");
26
+ try {
27
+ const result = action();
28
+ this.db.exec("COMMIT");
29
+ return result;
30
+ }
31
+ catch (error) {
32
+ if (this.db.isTransaction)
33
+ this.db.exec("ROLLBACK");
34
+ throw error;
35
+ }
36
+ }
37
+ saveDefinitionSnapshot(snapshot) {
38
+ this.db.prepare(`
39
+ INSERT INTO workflow_definition_snapshots (
40
+ id,
41
+ workflow_id,
42
+ workflow_version,
43
+ definition_hash,
44
+ compiled_definition_json,
45
+ created_at
46
+ ) VALUES (?, ?, ?, ?, ?, ?)
47
+ ON CONFLICT(id) DO UPDATE SET
48
+ workflow_id = excluded.workflow_id,
49
+ workflow_version = excluded.workflow_version,
50
+ definition_hash = excluded.definition_hash,
51
+ compiled_definition_json = excluded.compiled_definition_json,
52
+ created_at = excluded.created_at
53
+ `).run(...workflowDefinitionSnapshotWriteValues(snapshot));
54
+ }
55
+ getDefinitionSnapshot(id) {
56
+ const row = this.db.prepare("SELECT * FROM workflow_definition_snapshots WHERE id = ?").get(id);
57
+ return row ? workflowDefinitionSnapshotFromRow(row) : undefined;
58
+ }
59
+ listDefinitionSnapshots(filter = {}) {
60
+ const query = buildWorkflowStoreListQuery([
61
+ { clause: "workflow_id = ?", value: filter.workflowId },
62
+ { clause: "workflow_version = ?", value: filter.workflowVersion },
63
+ { clause: "definition_hash = ?", value: filter.hash },
64
+ ], filter.limit);
65
+ const rows = this.db
66
+ .prepare(`SELECT * FROM workflow_definition_snapshots ${query.where} ORDER BY created_at DESC LIMIT ?`)
67
+ .all(...query.values, query.limit);
68
+ return rows.map(workflowDefinitionSnapshotFromRow);
69
+ }
70
+ saveWorkflowIdentity(record) {
71
+ assertWorkflowUiRecordSource(record.source, "Workflow identity");
72
+ this.db.prepare(`
73
+ INSERT INTO workflow_identities (
74
+ workflow_id,
75
+ source,
76
+ title,
77
+ description,
78
+ tags_json,
79
+ current_draft_id,
80
+ latest_version,
81
+ created_by,
82
+ created_at,
83
+ updated_by,
84
+ updated_at
85
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
86
+ ON CONFLICT(workflow_id) DO UPDATE SET
87
+ source = excluded.source,
88
+ title = excluded.title,
89
+ description = excluded.description,
90
+ tags_json = excluded.tags_json,
91
+ current_draft_id = excluded.current_draft_id,
92
+ latest_version = excluded.latest_version,
93
+ created_by = excluded.created_by,
94
+ created_at = excluded.created_at,
95
+ updated_by = excluded.updated_by,
96
+ updated_at = excluded.updated_at
97
+ `).run(...workflowIdentityWriteValues(record));
98
+ }
99
+ getWorkflowIdentity(workflowId) {
100
+ const row = this.db.prepare("SELECT * FROM workflow_identities WHERE workflow_id = ?").get(workflowId);
101
+ return row ? workflowIdentityFromRow(row) : undefined;
102
+ }
103
+ listWorkflowIdentities(filter = {}) {
104
+ const query = buildWorkflowStoreListQuery([
105
+ { clause: "workflow_id = ?", value: filter.workflowId },
106
+ ], filter.limit);
107
+ const rows = this.db
108
+ .prepare(`SELECT * FROM workflow_identities ${query.where} ORDER BY updated_at DESC, workflow_id ASC LIMIT ?`)
109
+ .all(...query.values, query.limit);
110
+ return rows.map(workflowIdentityFromRow);
111
+ }
112
+ saveWorkflowDraft(record) {
113
+ assertWorkflowUiRecordSource(record.source, "Workflow draft");
114
+ assertWorkflowRecordStatusValue(record.status, "draft", "Workflow draft");
115
+ assertNoActiveWorkflowDraftConflict(this.db, record);
116
+ this.db.prepare(`
117
+ INSERT INTO workflow_drafts (
118
+ draft_id,
119
+ workflow_id,
120
+ source,
121
+ status,
122
+ base_workflow_id,
123
+ base_workflow_version,
124
+ base_definition_hash,
125
+ target_workflow_version,
126
+ version_intent,
127
+ definition_json,
128
+ diagnostics_json,
129
+ validation_json,
130
+ validation_state,
131
+ revision,
132
+ created_by,
133
+ created_at,
134
+ updated_by,
135
+ updated_at
136
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
137
+ ON CONFLICT(draft_id) DO UPDATE SET
138
+ workflow_id = excluded.workflow_id,
139
+ source = excluded.source,
140
+ status = excluded.status,
141
+ base_workflow_id = excluded.base_workflow_id,
142
+ base_workflow_version = excluded.base_workflow_version,
143
+ base_definition_hash = excluded.base_definition_hash,
144
+ target_workflow_version = excluded.target_workflow_version,
145
+ version_intent = excluded.version_intent,
146
+ definition_json = excluded.definition_json,
147
+ diagnostics_json = excluded.diagnostics_json,
148
+ validation_json = excluded.validation_json,
149
+ validation_state = excluded.validation_state,
150
+ revision = excluded.revision,
151
+ created_by = excluded.created_by,
152
+ created_at = excluded.created_at,
153
+ updated_by = excluded.updated_by,
154
+ updated_at = excluded.updated_at
155
+ `).run(...workflowDraftWriteValues(record));
156
+ updateWorkflowIdentityCurrentDraft(this.db, record);
157
+ }
158
+ getWorkflowDraft(draftId) {
159
+ const row = this.db.prepare("SELECT * FROM workflow_drafts WHERE draft_id = ?").get(draftId);
160
+ return row ? workflowDraftFromRow(row) : undefined;
161
+ }
162
+ listWorkflowDrafts(filter = {}) {
163
+ const query = buildWorkflowStoreListQuery([
164
+ { clause: "workflow_id = ?", value: filter.workflowId },
165
+ { clause: "validation_state = ?", value: filter.validationState },
166
+ ], filter.limit);
167
+ const rows = this.db
168
+ .prepare(`SELECT * FROM workflow_drafts ${query.where} ORDER BY updated_at DESC, draft_id ASC LIMIT ?`)
169
+ .all(...query.values, query.limit);
170
+ return rows.map(workflowDraftFromRow);
171
+ }
172
+ saveWorkflowArchiveState(record) {
173
+ assertWorkflowUiRecordSource(record.source, "Workflow archive state");
174
+ this.db.prepare(`
175
+ INSERT INTO workflow_archive_states (
176
+ workflow_id,
177
+ source,
178
+ archived,
179
+ archived_at,
180
+ archived_by,
181
+ archive_reason,
182
+ updated_at
183
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
184
+ ON CONFLICT(workflow_id) DO UPDATE SET
185
+ source = excluded.source,
186
+ archived = excluded.archived,
187
+ archived_at = excluded.archived_at,
188
+ archived_by = excluded.archived_by,
189
+ archive_reason = excluded.archive_reason,
190
+ updated_at = excluded.updated_at
191
+ `).run(...workflowArchiveStateWriteValues(record));
192
+ }
193
+ getWorkflowArchiveState(workflowId) {
194
+ const row = this.db.prepare("SELECT * FROM workflow_archive_states WHERE workflow_id = ?").get(workflowId);
195
+ return row ? workflowArchiveStateFromRow(row) : undefined;
196
+ }
197
+ listWorkflowArchiveStates(filter = {}) {
198
+ const query = buildWorkflowStoreListQuery([
199
+ { clause: "archived = ?", value: filter.archived === undefined ? undefined : filter.archived ? 1 : 0 },
200
+ ], filter.limit);
201
+ const rows = this.db
202
+ .prepare(`SELECT * FROM workflow_archive_states ${query.where} ORDER BY updated_at DESC, workflow_id ASC LIMIT ?`)
203
+ .all(...query.values, query.limit);
204
+ return rows.map(workflowArchiveStateFromRow);
205
+ }
206
+ saveWorkflowDeleteTombstone(record) {
207
+ assertWorkflowUiRecordSource(record.source, "Workflow delete tombstone");
208
+ if (record.deleted !== true) {
209
+ throw new Error("Workflow delete tombstone records must use deleted true.");
210
+ }
211
+ this.db.prepare(`
212
+ INSERT INTO workflow_delete_tombstones (
213
+ workflow_id,
214
+ source,
215
+ deleted,
216
+ deleted_at,
217
+ deleted_by,
218
+ last_known_title,
219
+ last_known_version,
220
+ last_definition_hash,
221
+ created_at
222
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
223
+ ON CONFLICT(workflow_id) DO UPDATE SET
224
+ source = excluded.source,
225
+ deleted = excluded.deleted,
226
+ deleted_at = excluded.deleted_at,
227
+ deleted_by = excluded.deleted_by,
228
+ last_known_title = excluded.last_known_title,
229
+ last_known_version = excluded.last_known_version,
230
+ last_definition_hash = excluded.last_definition_hash,
231
+ created_at = excluded.created_at
232
+ `).run(...workflowDeleteTombstoneWriteValues(record));
233
+ }
234
+ getWorkflowDeleteTombstone(workflowId) {
235
+ const row = this.db.prepare("SELECT * FROM workflow_delete_tombstones WHERE workflow_id = ?").get(workflowId);
236
+ return row ? workflowDeleteTombstoneFromRow(row) : undefined;
237
+ }
238
+ listWorkflowDeleteTombstones(filter = {}) {
239
+ const limit = workflowStoreListLimit(filter.limit);
240
+ const rows = this.db
241
+ .prepare("SELECT * FROM workflow_delete_tombstones ORDER BY created_at DESC, workflow_id ASC LIMIT ?")
242
+ .all(limit);
243
+ return rows.map(workflowDeleteTombstoneFromRow);
244
+ }
245
+ savePublishedWorkflowVersion(record) {
246
+ const normalized = createWorkflowPublishedVersionRecord(record);
247
+ const existing = this.getPublishedWorkflowVersion(normalized.workflowId, normalized.version);
248
+ if (existing) {
249
+ assertPublishedWorkflowVersionIsSame(existing, normalized);
250
+ return;
251
+ }
252
+ this.db.prepare(`
253
+ INSERT INTO workflow_published_versions (
254
+ workflow_id,
255
+ version,
256
+ source,
257
+ status,
258
+ definition_hash,
259
+ definition_json,
260
+ published_from_draft_id,
261
+ published_by,
262
+ published_at,
263
+ created_at
264
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
265
+ `).run(...workflowPublishedVersionWriteValues(normalized));
266
+ }
267
+ getPublishedWorkflowVersion(workflowId, version) {
268
+ const row = this.db.prepare("SELECT * FROM workflow_published_versions WHERE workflow_id = ? AND version = ?").get(workflowId, version);
269
+ return row ? workflowPublishedVersionFromRow(row) : undefined;
270
+ }
271
+ listPublishedWorkflowVersions(filter = {}) {
272
+ const query = buildWorkflowStoreListQuery([
273
+ { clause: "workflow_id = ?", value: filter.workflowId },
274
+ ], filter.limit);
275
+ const rows = this.db
276
+ .prepare(`SELECT * FROM workflow_published_versions ${query.where} ORDER BY workflow_id ASC, version ASC LIMIT ?`)
277
+ .all(...query.values, query.limit);
278
+ return rows.map(workflowPublishedVersionFromRow);
279
+ }
280
+ saveRun(run) {
281
+ this.db.prepare(`
282
+ INSERT INTO workflow_runs (
283
+ id,
284
+ workflow_id,
285
+ workflow_version,
286
+ workflow_definition_hash,
287
+ definition_snapshot_id,
288
+ parent_run_id,
289
+ parent_node_attempt_id,
290
+ pibo_session_id,
291
+ environment_json,
292
+ status,
293
+ current_node_id,
294
+ current_edge_id,
295
+ current_status,
296
+ current_json,
297
+ input_json,
298
+ output_json,
299
+ output_present,
300
+ state_json,
301
+ checkpoint_json,
302
+ validation_json,
303
+ created_at,
304
+ updated_at,
305
+ completed_at,
306
+ failed_at,
307
+ cancelled_at
308
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
309
+ ON CONFLICT(id) DO UPDATE SET
310
+ workflow_id = excluded.workflow_id,
311
+ workflow_version = excluded.workflow_version,
312
+ workflow_definition_hash = excluded.workflow_definition_hash,
313
+ definition_snapshot_id = excluded.definition_snapshot_id,
314
+ parent_run_id = excluded.parent_run_id,
315
+ parent_node_attempt_id = excluded.parent_node_attempt_id,
316
+ pibo_session_id = excluded.pibo_session_id,
317
+ environment_json = excluded.environment_json,
318
+ status = excluded.status,
319
+ current_node_id = excluded.current_node_id,
320
+ current_edge_id = excluded.current_edge_id,
321
+ current_status = excluded.current_status,
322
+ current_json = excluded.current_json,
323
+ input_json = excluded.input_json,
324
+ output_json = excluded.output_json,
325
+ output_present = excluded.output_present,
326
+ state_json = excluded.state_json,
327
+ checkpoint_json = excluded.checkpoint_json,
328
+ validation_json = excluded.validation_json,
329
+ updated_at = excluded.updated_at,
330
+ completed_at = excluded.completed_at,
331
+ failed_at = excluded.failed_at,
332
+ cancelled_at = excluded.cancelled_at
333
+ `).run(...workflowRunWriteValues(run));
334
+ }
335
+ getRun(id) {
336
+ const row = this.db.prepare("SELECT * FROM workflow_runs WHERE id = ?").get(id);
337
+ return row ? workflowRunFromRow(row) : undefined;
338
+ }
339
+ listRuns(filter = {}) {
340
+ const query = buildWorkflowStoreListQuery([
341
+ { clause: "workflow_id = ?", value: filter.workflowId },
342
+ { clause: "pibo_session_id = ?", value: filter.piboSessionId },
343
+ { clause: "status = ?", value: filter.status },
344
+ ], filter.limit);
345
+ const rows = this.db
346
+ .prepare(`SELECT * FROM workflow_runs ${query.where} ORDER BY updated_at DESC LIMIT ?`)
347
+ .all(...query.values, query.limit);
348
+ return rows.map(workflowRunFromRow);
349
+ }
350
+ saveEvent(event) {
351
+ this.db.prepare(`
352
+ INSERT INTO workflow_events (
353
+ id,
354
+ workflow_run_id,
355
+ type,
356
+ node_id,
357
+ edge_id,
358
+ attempt_id,
359
+ payload_json,
360
+ created_at
361
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
362
+ ON CONFLICT(id) DO UPDATE SET
363
+ workflow_run_id = excluded.workflow_run_id,
364
+ type = excluded.type,
365
+ node_id = excluded.node_id,
366
+ edge_id = excluded.edge_id,
367
+ attempt_id = excluded.attempt_id,
368
+ payload_json = excluded.payload_json,
369
+ created_at = excluded.created_at
370
+ `).run(...workflowEventWriteValues(event));
371
+ }
372
+ getEvent(id) {
373
+ const row = this.db.prepare("SELECT * FROM workflow_events WHERE id = ?").get(id);
374
+ return row ? workflowEventFromRow(row) : undefined;
375
+ }
376
+ listEvents(filter = {}) {
377
+ const query = buildWorkflowStoreListQuery([
378
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
379
+ { clause: "type = ?", value: filter.type },
380
+ { clause: "node_id = ?", value: filter.nodeId },
381
+ { clause: "edge_id = ?", value: filter.edgeId },
382
+ { clause: "attempt_id = ?", value: filter.attemptId },
383
+ ], filter.limit);
384
+ const rows = this.db
385
+ .prepare(`SELECT * FROM workflow_events ${query.where} ORDER BY created_at ASC, id ASC LIMIT ?`)
386
+ .all(...query.values, query.limit);
387
+ return rows.map(workflowEventFromRow);
388
+ }
389
+ saveNodeAttempt(nodeAttempt) {
390
+ this.db.prepare(`
391
+ INSERT INTO workflow_node_attempts (
392
+ id,
393
+ workflow_run_id,
394
+ node_id,
395
+ attempt_number,
396
+ kind,
397
+ status,
398
+ environment_json,
399
+ input_json,
400
+ output_json,
401
+ output_present,
402
+ local_state_json,
403
+ metadata_json,
404
+ error_json,
405
+ lease_json,
406
+ started_at,
407
+ heartbeat_at,
408
+ completed_at,
409
+ failed_at,
410
+ available_at
411
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
412
+ ON CONFLICT(id) DO UPDATE SET
413
+ workflow_run_id = excluded.workflow_run_id,
414
+ node_id = excluded.node_id,
415
+ attempt_number = excluded.attempt_number,
416
+ kind = excluded.kind,
417
+ status = excluded.status,
418
+ environment_json = excluded.environment_json,
419
+ input_json = excluded.input_json,
420
+ output_json = excluded.output_json,
421
+ output_present = excluded.output_present,
422
+ local_state_json = excluded.local_state_json,
423
+ metadata_json = excluded.metadata_json,
424
+ error_json = excluded.error_json,
425
+ lease_json = excluded.lease_json,
426
+ started_at = excluded.started_at,
427
+ heartbeat_at = excluded.heartbeat_at,
428
+ completed_at = excluded.completed_at,
429
+ failed_at = excluded.failed_at,
430
+ available_at = excluded.available_at
431
+ `).run(...workflowNodeAttemptWriteValues(nodeAttempt));
432
+ }
433
+ getNodeAttempt(id) {
434
+ const row = this.db.prepare("SELECT * FROM workflow_node_attempts WHERE id = ?").get(id);
435
+ return row ? workflowNodeAttemptFromRow(row) : undefined;
436
+ }
437
+ listNodeAttempts(filter = {}) {
438
+ const query = buildWorkflowStoreListQuery([
439
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
440
+ { clause: "node_id = ?", value: filter.nodeId },
441
+ { clause: "kind = ?", value: filter.kind },
442
+ { clause: "status = ?", value: filter.status },
443
+ ], filter.limit);
444
+ const rows = this.db
445
+ .prepare(`SELECT * FROM workflow_node_attempts ${query.where} ORDER BY started_at DESC, id DESC LIMIT ?`)
446
+ .all(...query.values, query.limit);
447
+ return rows.map(workflowNodeAttemptFromRow);
448
+ }
449
+ saveEdgeTransfer(transfer) {
450
+ this.db.prepare(`
451
+ INSERT INTO workflow_edge_transfers (
452
+ id,
453
+ workflow_run_id,
454
+ edge_id,
455
+ source_node_attempt_id,
456
+ target_node_id,
457
+ payload_json,
458
+ adapter_attempt_id,
459
+ status,
460
+ created_at
461
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
462
+ ON CONFLICT(id) DO UPDATE SET
463
+ workflow_run_id = excluded.workflow_run_id,
464
+ edge_id = excluded.edge_id,
465
+ source_node_attempt_id = excluded.source_node_attempt_id,
466
+ target_node_id = excluded.target_node_id,
467
+ payload_json = excluded.payload_json,
468
+ adapter_attempt_id = excluded.adapter_attempt_id,
469
+ status = excluded.status,
470
+ created_at = excluded.created_at
471
+ `).run(...workflowEdgeTransferWriteValues(transfer));
472
+ }
473
+ getEdgeTransfer(id) {
474
+ const row = this.db.prepare("SELECT * FROM workflow_edge_transfers WHERE id = ?").get(id);
475
+ return row ? workflowEdgeTransferFromRow(row) : undefined;
476
+ }
477
+ listEdgeTransfers(filter = {}) {
478
+ const query = buildWorkflowStoreListQuery([
479
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
480
+ { clause: "edge_id = ?", value: filter.edgeId },
481
+ { clause: "target_node_id = ?", value: filter.targetNodeId },
482
+ { clause: "status = ?", value: filter.status },
483
+ ], filter.limit);
484
+ const rows = this.db
485
+ .prepare(`SELECT * FROM workflow_edge_transfers ${query.where} ORDER BY created_at ASC, id ASC LIMIT ?`)
486
+ .all(...query.values, query.limit);
487
+ return rows.map(workflowEdgeTransferFromRow);
488
+ }
489
+ saveCheckpoint(checkpoint) {
490
+ this.db.prepare(`
491
+ INSERT INTO workflow_checkpoints (
492
+ id,
493
+ workflow_run_id,
494
+ namespace,
495
+ cursor_json,
496
+ state_json,
497
+ pending_json,
498
+ created_at
499
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
500
+ ON CONFLICT(id) DO UPDATE SET
501
+ workflow_run_id = excluded.workflow_run_id,
502
+ namespace = excluded.namespace,
503
+ cursor_json = excluded.cursor_json,
504
+ state_json = excluded.state_json,
505
+ pending_json = excluded.pending_json,
506
+ created_at = excluded.created_at
507
+ `).run(...workflowCheckpointWriteValues(checkpoint));
508
+ }
509
+ getCheckpoint(id) {
510
+ const row = this.db.prepare("SELECT * FROM workflow_checkpoints WHERE id = ?").get(id);
511
+ return row ? workflowCheckpointFromRow(row) : undefined;
512
+ }
513
+ listCheckpoints(filter = {}) {
514
+ const query = buildWorkflowStoreListQuery([
515
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
516
+ { clause: "namespace = ?", value: filter.namespace },
517
+ ], filter.limit);
518
+ const rows = this.db
519
+ .prepare(`SELECT * FROM workflow_checkpoints ${query.where} ORDER BY created_at DESC, id DESC LIMIT ?`)
520
+ .all(...query.values, query.limit);
521
+ return rows.map(workflowCheckpointFromRow);
522
+ }
523
+ saveWakeup(wakeup) {
524
+ this.db.prepare(`
525
+ INSERT INTO workflow_wakeups (
526
+ id,
527
+ workflow_run_id,
528
+ node_attempt_id,
529
+ kind,
530
+ available_at,
531
+ correlation_id,
532
+ payload_json,
533
+ created_at
534
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
535
+ ON CONFLICT(id) DO UPDATE SET
536
+ workflow_run_id = excluded.workflow_run_id,
537
+ node_attempt_id = excluded.node_attempt_id,
538
+ kind = excluded.kind,
539
+ available_at = excluded.available_at,
540
+ correlation_id = excluded.correlation_id,
541
+ payload_json = excluded.payload_json,
542
+ created_at = excluded.created_at
543
+ `).run(...workflowWakeupWriteValues(wakeup));
544
+ }
545
+ getWakeup(id) {
546
+ const row = this.db.prepare("SELECT * FROM workflow_wakeups WHERE id = ?").get(id);
547
+ return row ? workflowWakeupFromRow(row) : undefined;
548
+ }
549
+ listWakeups(filter = {}) {
550
+ const query = buildWorkflowStoreListQuery([
551
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
552
+ { clause: "node_attempt_id = ?", value: filter.nodeAttemptId },
553
+ { clause: "kind = ?", value: filter.kind },
554
+ { clause: "correlation_id = ?", value: filter.correlationId },
555
+ ], filter.limit);
556
+ const rows = this.db
557
+ .prepare(`SELECT * FROM workflow_wakeups ${query.where} ORDER BY available_at ASC, id ASC LIMIT ?`)
558
+ .all(...query.values, query.limit);
559
+ return rows.map(workflowWakeupFromRow);
560
+ }
561
+ saveWaitToken(token) {
562
+ this.db.prepare(`
563
+ INSERT INTO workflow_wait_tokens (
564
+ id,
565
+ workflow_run_id,
566
+ node_attempt_id,
567
+ human_node_id,
568
+ kind,
569
+ available_actions_json,
570
+ prompt,
571
+ schema_json,
572
+ status,
573
+ resume_payload_json,
574
+ resume_payload_present,
575
+ expires_at,
576
+ created_at,
577
+ resolved_at
578
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
579
+ ON CONFLICT(id) DO UPDATE SET
580
+ workflow_run_id = excluded.workflow_run_id,
581
+ node_attempt_id = excluded.node_attempt_id,
582
+ human_node_id = excluded.human_node_id,
583
+ kind = excluded.kind,
584
+ available_actions_json = excluded.available_actions_json,
585
+ prompt = excluded.prompt,
586
+ schema_json = excluded.schema_json,
587
+ status = excluded.status,
588
+ resume_payload_json = excluded.resume_payload_json,
589
+ resume_payload_present = excluded.resume_payload_present,
590
+ expires_at = excluded.expires_at,
591
+ resolved_at = excluded.resolved_at
592
+ `).run(...workflowWaitTokenWriteValues(token));
593
+ }
594
+ getWaitToken(id) {
595
+ const row = this.db.prepare("SELECT * FROM workflow_wait_tokens WHERE id = ?").get(id);
596
+ return row ? workflowWaitTokenFromRow(row) : undefined;
597
+ }
598
+ listWaitTokens(filter = {}) {
599
+ const query = buildWorkflowStoreListQuery([
600
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
601
+ { clause: "status = ?", value: filter.status },
602
+ { clause: "human_node_id = ?", value: filter.humanNodeId },
603
+ ], filter.limit);
604
+ const rows = this.db
605
+ .prepare(`SELECT * FROM workflow_wait_tokens ${query.where} ORDER BY created_at DESC LIMIT ?`)
606
+ .all(...query.values, query.limit);
607
+ return rows.map(workflowWaitTokenFromRow);
608
+ }
609
+ saveHumanAction(action) {
610
+ this.db.prepare(`
611
+ INSERT INTO workflow_human_actions (
612
+ id,
613
+ workflow_run_id,
614
+ wait_token_id,
615
+ action_id,
616
+ kind,
617
+ actor_json,
618
+ payload_json,
619
+ created_at
620
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
621
+ ON CONFLICT(id) DO UPDATE SET
622
+ workflow_run_id = excluded.workflow_run_id,
623
+ wait_token_id = excluded.wait_token_id,
624
+ action_id = excluded.action_id,
625
+ kind = excluded.kind,
626
+ actor_json = excluded.actor_json,
627
+ payload_json = excluded.payload_json,
628
+ created_at = excluded.created_at
629
+ `).run(...workflowHumanActionWriteValues(action));
630
+ }
631
+ getHumanAction(id) {
632
+ const row = this.db.prepare("SELECT * FROM workflow_human_actions WHERE id = ?").get(id);
633
+ return row ? workflowHumanActionFromRow(row) : undefined;
634
+ }
635
+ listHumanActions(filter = {}) {
636
+ const query = buildWorkflowStoreListQuery([
637
+ { clause: "workflow_run_id = ?", value: filter.workflowRunId },
638
+ { clause: "wait_token_id = ?", value: filter.waitTokenId },
639
+ { clause: "kind = ?", value: filter.kind },
640
+ ], filter.limit);
641
+ const rows = this.db
642
+ .prepare(`SELECT * FROM workflow_human_actions ${query.where} ORDER BY created_at ASC, id ASC LIMIT ?`)
643
+ .all(...query.values, query.limit);
644
+ return rows.map(workflowHumanActionFromRow);
645
+ }
646
+ close() {
647
+ this.db.close();
648
+ }
649
+ }
650
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA2B3C,OAAO,EACL,oCAAoC,EACpC,+BAA+B,EAC/B,4BAA4B,EAC5B,oCAAoC,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mCAAmC,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AA+B5G,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,GAetB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,qCAAqC,EACrC,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,mCAAmC,EACnC,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oCAAoC,EACpC,0BAA0B,EAC1B,0BAA0B,EAC1B,oCAAoC,EACpC,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,wBAAwB,EACxB,4CAA4C,EAC5C,8BAA8B,EAC9B,oCAAoC,EACpC,sBAAsB,GAEvB,MAAM,aAAa,CAAC;AAiCrB,MAAM,OAAO,sBAAsB;IAexB,EAAE,CAAe;IAE1B,YAAY,IAAY;QACtB,MAAM,YAAY,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QACzC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,WAAW,CAAI,MAAe;QAC5B,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa;YAAE,OAAO,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa;gBAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,QAAoC;QACzD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;KAef,CAAC,CAAC,GAAG,CAAC,GAAG,qCAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB,CAAC,EAAgC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,EAAE,CAEjF,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED,uBAAuB,CAAC,SAA+C,EAAE;QACvE,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YACvD,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;YACjE,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;SACtD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,+CAA+C,KAAK,CAAC,KAAK,mCAAmC,CAAC;aACtG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAoC,CAAC;QACxE,OAAO,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,oBAAoB,CAAC,MAA8B;QACjD,4BAA4B,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAEjE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;KAyBf,CAAC,CAAC,GAAG,CAAC,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,CAAC,UAAU,CAExF,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,sBAAsB,CAAC,SAAqC,EAAE;QAC5D,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;SACxD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,qCAAqC,KAAK,CAAC,KAAK,oDAAoD,CAAC;aAC7G,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA0B,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,iBAAiB,CAAC,MAA2B;QAC3C,4BAA4B,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9D,+BAA+B,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE1E,mCAAmC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuCf,CAAC,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5C,kCAAkC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAiC,CAAC;QAC7H,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,kBAAkB,CAAC,SAAkC,EAAE;QACrD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YACvD,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;SAClE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,iCAAiC,KAAK,CAAC,KAAK,iDAAiD,CAAC;aACtG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAuB,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB,CAAC,MAAkC;QACzD,4BAA4B,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAEtE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;KAiBf,CAAC,CAAC,GAAG,CAAC,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,uBAAuB,CAAC,UAAkB;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,UAAU,CAE5F,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED,yBAAyB,CAAC,SAAyC,EAAE;QACnE,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACvG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,yCAAyC,KAAK,CAAC,KAAK,oDAAoD,CAAC;aACjH,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA8B,CAAC;QAClE,OAAO,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,2BAA2B,CAAC,MAAqC;QAC/D,4BAA4B,CAAC,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;KAqBf,CAAC,CAAC,GAAG,CAAC,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,0BAA0B,CAAC,UAAkB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAAC,UAAU,CAE/F,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED,4BAA4B,CAAC,SAA4C,EAAE;QACzE,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,4FAA4F,CAAC;aACrG,GAAG,CAAC,KAAK,CAAiC,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,4BAA4B,CAAC,MAAsC;QACjE,MAAM,UAAU,GAAG,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7F,IAAI,QAAQ,EAAE,CAAC;YACb,oCAAoC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;KAaf,CAAC,CAAC,GAAG,CAAC,GAAG,mCAAmC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,2BAA2B,CAAC,UAAkB,EAAE,OAAe;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iFAAiF,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAEzH,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,6BAA6B,CAAC,SAA6C,EAAE;QAC3E,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;SACxD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,6CAA6C,KAAK,CAAC,KAAK,gDAAgD,CAAC;aACjH,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAkC,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAgB;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDf,CAAC,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,EAAiB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,EAAE,CAA+B,CAAC;QAC9G,OAAO,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,SAAgC,EAAE;QACzC,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;YACvD,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;SAC/C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,+BAA+B,KAAK,CAAC,KAAK,mCAAmC,CAAC;aACtF,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAqB,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,KAA0B;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;KAmBf,CAAC,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,EAAmB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,EAAE,CAAiC,CAAC;QAClH,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,SAAkC,EAAE;QAC7C,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;YAC1C,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAC/C,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAC/C,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE;SACtD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,iCAAiC,KAAK,CAAC,KAAK,0CAA0C,CAAC;aAC/F,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAuB,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,WAAwB;QACtC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCf,CAAC,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,EAAiB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,EAAE,CAE1E,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,SAAwC,EAAE;QACzD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAC/C,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;YAC1C,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;SAC/C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,wCAAwC,KAAK,CAAC,KAAK,4CAA4C,CAAC;aACxG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA6B,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,QAAsB;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;KAqBf,CAAC,CAAC,GAAG,CAAC,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,eAAe,CAAC,EAAkB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,EAAE,CAE3E,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,CAAC;IAED,iBAAiB,CAAC,SAAyC,EAAE;QAC3D,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAC/C,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE;YAC5D,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;SAC/C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,yCAAyC,KAAK,CAAC,KAAK,0CAA0C,CAAC;aACvG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA8B,CAAC;QAClE,OAAO,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,UAA8B;QAC3C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;KAiBf,CAAC,CAAC,GAAG,CAAC,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,EAAwB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,CAExE,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,SAAuC,EAAE;QACvD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE;SACrD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,sCAAsC,KAAK,CAAC,KAAK,4CAA4C,CAAC;aACtG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA4B,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,MAAsB;QAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;KAmBf,CAAC,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,EAAoB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,EAAE,CAAkC,CAAC;QACpH,OAAO,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,SAAmC,EAAE;QAC/C,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;YAC1C,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;SAC9D,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,kCAAkC,KAAK,CAAC,KAAK,4CAA4C,CAAC;aAClG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAwB,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,KAAwB;QACpC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8Bf,CAAC,CAAC,GAAG,CAAC,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,EAAuB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,CAExE,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,SAAsC,EAAE;QACrD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;YAC9C,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE;SAC3D,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,sCAAsC,KAAK,CAAC,KAAK,mCAAmC,CAAC;aAC7F,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA2B,CAAC;QAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,eAAe,CAAC,MAAiC;QAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;KAmBf,CAAC,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,EAAyB;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,EAAE,CAE1E,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,gBAAgB,CAAC,SAAwC,EAAE;QACzD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;YAC9D,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE;YAC1D,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;SAC3C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,wCAAwC,KAAK,CAAC,KAAK,0CAA0C,CAAC;aACtG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAA6B,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CACF"}