@blokjs/runner 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Blok.js +11 -11
- package/dist/Blok.js.map +1 -1
- package/dist/Configuration.d.ts +39 -2
- package/dist/Configuration.js +337 -28
- package/dist/Configuration.js.map +1 -1
- package/dist/ConfigurationResolver.d.ts +9 -0
- package/dist/ConfigurationResolver.js +17 -1
- package/dist/ConfigurationResolver.js.map +1 -1
- package/dist/PayloadTooLargeError.d.ts +19 -0
- package/dist/PayloadTooLargeError.js +29 -0
- package/dist/PayloadTooLargeError.js.map +1 -0
- package/dist/RunCancelledError.d.ts +17 -0
- package/dist/RunCancelledError.js +25 -0
- package/dist/RunCancelledError.js.map +1 -0
- package/dist/RunnerSteps.js +363 -23
- package/dist/RunnerSteps.js.map +1 -1
- package/dist/RuntimeAdapterNode.d.ts +32 -2
- package/dist/RuntimeAdapterNode.js +122 -27
- package/dist/RuntimeAdapterNode.js.map +1 -1
- package/dist/SubworkflowNode.d.ts +75 -0
- package/dist/SubworkflowNode.js +221 -0
- package/dist/SubworkflowNode.js.map +1 -0
- package/dist/TriggerBase.d.ts +128 -0
- package/dist/TriggerBase.js +808 -6
- package/dist/TriggerBase.js.map +1 -1
- package/dist/WaitDispatchRequest.d.ts +38 -0
- package/dist/WaitDispatchRequest.js +13 -0
- package/dist/WaitDispatchRequest.js.map +1 -0
- package/dist/WaitNode.d.ts +23 -0
- package/dist/WaitNode.js +26 -0
- package/dist/WaitNode.js.map +1 -0
- package/dist/adapters/BunRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/BunRuntimeAdapter.js +1 -0
- package/dist/adapters/BunRuntimeAdapter.js.map +1 -1
- package/dist/adapters/DockerRuntimeAdapter.d.ts +2 -1
- package/dist/adapters/DockerRuntimeAdapter.js +10 -1
- package/dist/adapters/DockerRuntimeAdapter.js.map +1 -1
- package/dist/adapters/HttpRuntimeAdapter.d.ts +26 -5
- package/dist/adapters/HttpRuntimeAdapter.js +97 -16
- package/dist/adapters/HttpRuntimeAdapter.js.map +1 -1
- package/dist/adapters/NodeJsRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js +1 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -1
- package/dist/adapters/RuntimeAdapter.d.ts +17 -0
- package/dist/adapters/WasmRuntimeAdapter.d.ts +1 -0
- package/dist/adapters/WasmRuntimeAdapter.js +1 -0
- package/dist/adapters/WasmRuntimeAdapter.js.map +1 -1
- package/dist/adapters/grpc/GrpcChannelOptions.d.ts +31 -0
- package/dist/adapters/grpc/GrpcChannelOptions.js +68 -0
- package/dist/adapters/grpc/GrpcChannelOptions.js.map +1 -0
- package/dist/adapters/grpc/GrpcClientPool.d.ts +43 -0
- package/dist/adapters/grpc/GrpcClientPool.js +89 -0
- package/dist/adapters/grpc/GrpcClientPool.js.map +1 -0
- package/dist/adapters/grpc/GrpcCodec.d.ts +226 -0
- package/dist/adapters/grpc/GrpcCodec.js +275 -0
- package/dist/adapters/grpc/GrpcCodec.js.map +1 -0
- package/dist/adapters/grpc/GrpcErrors.d.ts +59 -0
- package/dist/adapters/grpc/GrpcErrors.js +190 -0
- package/dist/adapters/grpc/GrpcErrors.js.map +1 -0
- package/dist/adapters/grpc/GrpcHealthChecker.d.ts +69 -0
- package/dist/adapters/grpc/GrpcHealthChecker.js +96 -0
- package/dist/adapters/grpc/GrpcHealthChecker.js.map +1 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +98 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js +478 -0
- package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -0
- package/dist/adapters/grpc/index.d.ts +13 -0
- package/dist/adapters/grpc/index.js +14 -0
- package/dist/adapters/grpc/index.js.map +1 -0
- package/dist/adapters/grpc/proto/blok/runtime/v1/runtime.proto +302 -0
- package/dist/adapters/grpc/types.d.ts +97 -0
- package/dist/adapters/grpc/types.js +41 -0
- package/dist/adapters/grpc/types.js.map +1 -0
- package/dist/adapters/transport.d.ts +108 -0
- package/dist/adapters/transport.js +196 -0
- package/dist/adapters/transport.js.map +1 -0
- package/dist/concurrency/ConcurrencyBackend.d.ts +61 -0
- package/dist/concurrency/ConcurrencyBackend.js +20 -0
- package/dist/concurrency/ConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/ConcurrencyLimitError.d.ts +37 -0
- package/dist/concurrency/ConcurrencyLimitError.js +16 -0
- package/dist/concurrency/ConcurrencyLimitError.js.map +1 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.d.ts +64 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.js +297 -0
- package/dist/concurrency/NatsKvConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/QueueExpiredError.d.ts +40 -0
- package/dist/concurrency/QueueExpiredError.js +15 -0
- package/dist/concurrency/QueueExpiredError.js.map +1 -0
- package/dist/concurrency/createConcurrencyBackend.d.ts +23 -0
- package/dist/concurrency/createConcurrencyBackend.js +34 -0
- package/dist/concurrency/createConcurrencyBackend.js.map +1 -0
- package/dist/concurrency/readConcurrencyConfig.d.ts +60 -0
- package/dist/concurrency/readConcurrencyConfig.js +60 -0
- package/dist/concurrency/readConcurrencyConfig.js.map +1 -0
- package/dist/idempotency/resolveIdempotencyKey.d.ts +20 -0
- package/dist/idempotency/resolveIdempotencyKey.js +37 -0
- package/dist/idempotency/resolveIdempotencyKey.js.map +1 -0
- package/dist/index.d.ts +35 -3
- package/dist/index.js +61 -2
- package/dist/index.js.map +1 -1
- package/dist/monitoring/ConcurrencyMetrics.d.ts +56 -0
- package/dist/monitoring/ConcurrencyMetrics.js +107 -0
- package/dist/monitoring/ConcurrencyMetrics.js.map +1 -0
- package/dist/monitoring/JanitorMetrics.d.ts +27 -0
- package/dist/monitoring/JanitorMetrics.js +48 -0
- package/dist/monitoring/JanitorMetrics.js.map +1 -0
- package/dist/scheduling/DebounceCoordinator.d.ts +88 -0
- package/dist/scheduling/DebounceCoordinator.js +141 -0
- package/dist/scheduling/DebounceCoordinator.js.map +1 -0
- package/dist/scheduling/DeferredDispatchSignal.d.ts +50 -0
- package/dist/scheduling/DeferredDispatchSignal.js +14 -0
- package/dist/scheduling/DeferredDispatchSignal.js.map +1 -0
- package/dist/scheduling/DeferredRunScheduler.d.ts +68 -0
- package/dist/scheduling/DeferredRunScheduler.js +154 -0
- package/dist/scheduling/DeferredRunScheduler.js.map +1 -0
- package/dist/scheduling/readSchedulingConfig.d.ts +24 -0
- package/dist/scheduling/readSchedulingConfig.js +52 -0
- package/dist/scheduling/readSchedulingConfig.js.map +1 -0
- package/dist/testing/WorkflowTestRunner.js +12 -0
- package/dist/testing/WorkflowTestRunner.js.map +1 -1
- package/dist/timeouts/StepTimeoutError.d.ts +22 -0
- package/dist/timeouts/StepTimeoutError.js +31 -0
- package/dist/timeouts/StepTimeoutError.js.map +1 -0
- package/dist/tracing/InMemoryRunStore.d.ts +28 -1
- package/dist/tracing/InMemoryRunStore.js +150 -0
- package/dist/tracing/InMemoryRunStore.js.map +1 -1
- package/dist/tracing/Janitor.d.ts +70 -0
- package/dist/tracing/Janitor.js +150 -0
- package/dist/tracing/Janitor.js.map +1 -0
- package/dist/tracing/PostgresRunStore.d.ts +30 -0
- package/dist/tracing/PostgresRunStore.js +435 -3
- package/dist/tracing/PostgresRunStore.js.map +1 -1
- package/dist/tracing/RunStore.d.ts +100 -1
- package/dist/tracing/RunTracker.d.ts +261 -11
- package/dist/tracing/RunTracker.js +691 -11
- package/dist/tracing/RunTracker.js.map +1 -1
- package/dist/tracing/SqliteRunStore.d.ts +23 -1
- package/dist/tracing/SqliteRunStore.js +421 -6
- package/dist/tracing/SqliteRunStore.js.map +1 -1
- package/dist/tracing/TraceRouter.d.ts +20 -2
- package/dist/tracing/TraceRouter.js +494 -9
- package/dist/tracing/TraceRouter.js.map +1 -1
- package/dist/tracing/sanitize.d.ts +11 -0
- package/dist/tracing/sanitize.js +29 -0
- package/dist/tracing/sanitize.js.map +1 -1
- package/dist/tracing/types.d.ts +429 -11
- package/dist/types/GlobalOptions.d.ts +9 -2
- package/dist/utils/createChildContext.d.ts +32 -0
- package/dist/utils/createChildContext.js +113 -0
- package/dist/utils/createChildContext.js.map +1 -0
- package/dist/workflow/PersistenceHelper.d.ts +46 -0
- package/dist/workflow/PersistenceHelper.js +57 -0
- package/dist/workflow/PersistenceHelper.js.map +1 -0
- package/dist/workflow/WorkflowNormalizer.d.ts +79 -0
- package/dist/workflow/WorkflowNormalizer.js +486 -0
- package/dist/workflow/WorkflowNormalizer.js.map +1 -0
- package/dist/workflow/WorkflowRegistry.d.ts +64 -0
- package/dist/workflow/WorkflowRegistry.js +81 -0
- package/dist/workflow/WorkflowRegistry.js.map +1 -0
- package/package.json +10 -7
|
@@ -156,6 +156,101 @@ export class PostgresRunStore {
|
|
|
156
156
|
`);
|
|
157
157
|
},
|
|
158
158
|
},
|
|
159
|
+
{
|
|
160
|
+
// Tier 2 follow-up · durable schema for Tier 1 idempotency
|
|
161
|
+
// cache, Tier 2 #6 concurrency locks, and Tier 2 #5+#7
|
|
162
|
+
// scheduled dispatches. Previously these all delegated to
|
|
163
|
+
// the in-memory mirror only, so a process restart lost the
|
|
164
|
+
// state. The hybrid pattern (sync memory + async PG mirror)
|
|
165
|
+
// matches the existing workflow_runs/node_runs flow.
|
|
166
|
+
version: 3,
|
|
167
|
+
up: async () => {
|
|
168
|
+
await client.query(`
|
|
169
|
+
CREATE TABLE IF NOT EXISTS idempotency_cache (
|
|
170
|
+
workflow_name TEXT NOT NULL,
|
|
171
|
+
step_id TEXT NOT NULL,
|
|
172
|
+
idempotency_key TEXT NOT NULL,
|
|
173
|
+
data_json JSONB NOT NULL,
|
|
174
|
+
cached_at BIGINT NOT NULL,
|
|
175
|
+
expires_at BIGINT,
|
|
176
|
+
source_run_id TEXT NOT NULL,
|
|
177
|
+
source_node_run_id TEXT NOT NULL,
|
|
178
|
+
PRIMARY KEY (workflow_name, step_id, idempotency_key)
|
|
179
|
+
)
|
|
180
|
+
`);
|
|
181
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_idem_cache_expires ON idempotency_cache(expires_at)");
|
|
182
|
+
await client.query(`
|
|
183
|
+
CREATE TABLE IF NOT EXISTS concurrency_locks (
|
|
184
|
+
workflow_name TEXT NOT NULL,
|
|
185
|
+
concurrency_key TEXT NOT NULL,
|
|
186
|
+
run_id TEXT NOT NULL,
|
|
187
|
+
acquired_at BIGINT NOT NULL,
|
|
188
|
+
expires_at BIGINT NOT NULL,
|
|
189
|
+
PRIMARY KEY (workflow_name, concurrency_key, run_id)
|
|
190
|
+
)
|
|
191
|
+
`);
|
|
192
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_locks_expires ON concurrency_locks(expires_at)");
|
|
193
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_locks_workflow_key ON concurrency_locks(workflow_name, concurrency_key)");
|
|
194
|
+
await client.query(`
|
|
195
|
+
CREATE TABLE IF NOT EXISTS scheduled_dispatches (
|
|
196
|
+
run_id TEXT PRIMARY KEY,
|
|
197
|
+
workflow_name TEXT NOT NULL,
|
|
198
|
+
trigger_type TEXT NOT NULL,
|
|
199
|
+
scheduled_at BIGINT NOT NULL,
|
|
200
|
+
expires_at BIGINT,
|
|
201
|
+
dispatch_status TEXT NOT NULL,
|
|
202
|
+
payload_json JSONB NOT NULL,
|
|
203
|
+
created_at BIGINT NOT NULL
|
|
204
|
+
)
|
|
205
|
+
`);
|
|
206
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_scheduled_dispatches_at ON scheduled_dispatches(scheduled_at)");
|
|
207
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_scheduled_dispatches_trigger ON scheduled_dispatches(trigger_type, workflow_name)");
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
// PR 4 — wait.for / wait.until step primitive needs a
|
|
212
|
+
// resume cursor so dispatchDeferred re-entry skips
|
|
213
|
+
// already-completed pre-wait steps. Mirror sqlite v10.
|
|
214
|
+
version: 4,
|
|
215
|
+
up: async () => {
|
|
216
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS last_completed_step_index INTEGER");
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
// PR 1-5 polish · catch up to sqlite's workflow_runs columns.
|
|
221
|
+
// PG migrations historically lagged: v3 added the cache /
|
|
222
|
+
// locks / dispatches tables and v4 added
|
|
223
|
+
// `last_completed_step_index`, but the columns sqlite added
|
|
224
|
+
// across migrations 3 / 5 / 6 / 8 (`environment`,
|
|
225
|
+
// `replay_of`, `parent_run_id`, `parent_node_run_id`,
|
|
226
|
+
// `scheduled_at`, `expires_at`, `debounce_key`,
|
|
227
|
+
// `debounce_mode`, `ping_count`) were never mirrored.
|
|
228
|
+
// `saveRun`/`updateRun`/`rowToRun` silently dropped them
|
|
229
|
+
// across restarts, so PG-backed deployments lost replay
|
|
230
|
+
// lineage, sub-workflow lineage, and ALL Tier 2 #5+#7
|
|
231
|
+
// scheduling state on every restart. This migration adds
|
|
232
|
+
// the columns + indexes so PG matches sqlite. Pre-existing
|
|
233
|
+
// rows get NULL on every new column (backward-compat;
|
|
234
|
+
// `rowToRun` reads NULL `environment` as "production" to
|
|
235
|
+
// match sqlite's legacy default).
|
|
236
|
+
version: 5,
|
|
237
|
+
up: async () => {
|
|
238
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS environment TEXT");
|
|
239
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS replay_of TEXT");
|
|
240
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS parent_run_id TEXT");
|
|
241
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS parent_node_run_id TEXT");
|
|
242
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS scheduled_at BIGINT");
|
|
243
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS expires_at BIGINT");
|
|
244
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS debounce_key TEXT");
|
|
245
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS debounce_mode TEXT");
|
|
246
|
+
await client.query("ALTER TABLE workflow_runs ADD COLUMN IF NOT EXISTS ping_count INTEGER");
|
|
247
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_runs_environment ON workflow_runs(environment)");
|
|
248
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_runs_replay_of ON workflow_runs(replay_of)");
|
|
249
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_runs_parent_run ON workflow_runs(parent_run_id)");
|
|
250
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_runs_scheduled_at ON workflow_runs(scheduled_at)");
|
|
251
|
+
await client.query("CREATE INDEX IF NOT EXISTS idx_runs_debounce_key ON workflow_runs(workflow_name, debounce_key)");
|
|
252
|
+
},
|
|
253
|
+
},
|
|
159
254
|
];
|
|
160
255
|
for (const m of migrations) {
|
|
161
256
|
if (!applied.has(m.version)) {
|
|
@@ -176,6 +271,20 @@ export class PostgresRunStore {
|
|
|
176
271
|
client.release();
|
|
177
272
|
}
|
|
178
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Review fix-up · CONCERN-2. Per-table cap on `loadRecent`'s rehydration
|
|
276
|
+
* queries. Without it, a deployment with 1M+ idempotency cache entries
|
|
277
|
+
* spends seconds + memory on every boot loading rows it'll never read
|
|
278
|
+
* before the Janitor sweeps them. Default 100K rows per table — well
|
|
279
|
+
* above any reasonable hot-set size yet bounded for boot latency.
|
|
280
|
+
*/
|
|
281
|
+
getLoadRecentLimit() {
|
|
282
|
+
const raw = process.env.BLOK_PG_LOADRECENT_LIMIT;
|
|
283
|
+
if (!raw || !/^\d+$/.test(raw))
|
|
284
|
+
return 100_000;
|
|
285
|
+
const n = Number(raw);
|
|
286
|
+
return n > 0 ? n : 100_000;
|
|
287
|
+
}
|
|
179
288
|
async loadRecent() {
|
|
180
289
|
const client = await this.pool.connect();
|
|
181
290
|
try {
|
|
@@ -207,6 +316,85 @@ export class PostgresRunStore {
|
|
|
207
316
|
for (const row of dashRows) {
|
|
208
317
|
this.memory.saveDashboard(this.rowToDashboard(row));
|
|
209
318
|
}
|
|
319
|
+
// Tier 2 follow-up · rehydrate idempotency cache (un-expired entries only).
|
|
320
|
+
//
|
|
321
|
+
// Review fix-up · CONCERN-2. Add `ORDER BY cached_at DESC LIMIT N`.
|
|
322
|
+
// Newest cache entries are most likely to be re-hit by the next
|
|
323
|
+
// idempotent step; older ones the Janitor will sweep on its next
|
|
324
|
+
// pass. Without this LIMIT, deployments with 1M+ rows OOM at boot.
|
|
325
|
+
const now = Date.now();
|
|
326
|
+
const loadRecentLimit = this.getLoadRecentLimit();
|
|
327
|
+
try {
|
|
328
|
+
const { rows: idemRows } = await client.query(`SELECT * FROM idempotency_cache
|
|
329
|
+
WHERE expires_at IS NULL OR expires_at > $1
|
|
330
|
+
ORDER BY cached_at DESC
|
|
331
|
+
LIMIT $2`, [now, loadRecentLimit]);
|
|
332
|
+
for (const row of idemRows) {
|
|
333
|
+
this.memory.setIdempotencyCache(row.workflow_name, row.step_id, row.idempotency_key, {
|
|
334
|
+
data: typeof row.data_json === "string" ? JSON.parse(row.data_json) : row.data_json,
|
|
335
|
+
cachedAt: Number(row.cached_at),
|
|
336
|
+
expiresAt: row.expires_at !== null ? Number(row.expires_at) : null,
|
|
337
|
+
sourceRunId: row.source_run_id,
|
|
338
|
+
sourceNodeRunId: row.source_node_run_id,
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch (err) {
|
|
343
|
+
// Pre-v3 PG schema may not have the table yet — fall through quietly.
|
|
344
|
+
if (!String(err.message).match(/relation .* does not exist/i)) {
|
|
345
|
+
console.error("[PostgresRunStore] idempotency_cache load failed:", err.message);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
// Tier 2 follow-up · rehydrate concurrency leases (un-expired only).
|
|
349
|
+
//
|
|
350
|
+
// Review fix-up · CONCERN-2. Add `ORDER BY expires_at DESC LIMIT N`.
|
|
351
|
+
// Locks with the longest remaining lease are most likely still
|
|
352
|
+
// active and worth restoring; expired ones are filtered already.
|
|
353
|
+
try {
|
|
354
|
+
const { rows: lockRows } = await client.query(`SELECT * FROM concurrency_locks
|
|
355
|
+
WHERE expires_at > $1
|
|
356
|
+
ORDER BY expires_at DESC
|
|
357
|
+
LIMIT $2`, [now, loadRecentLimit]);
|
|
358
|
+
for (const row of lockRows) {
|
|
359
|
+
this.memory.acquireConcurrencySlot(row.workflow_name, row.concurrency_key, Number.MAX_SAFE_INTEGER, // skip the limit check — we're restoring, not granting
|
|
360
|
+
row.run_id, Number(row.expires_at));
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (err) {
|
|
364
|
+
if (!String(err.message).match(/relation .* does not exist/i)) {
|
|
365
|
+
console.error("[PostgresRunStore] concurrency_locks load failed:", err.message);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// Tier 2 follow-up · rehydrate scheduled dispatches.
|
|
369
|
+
// PR 2 A5 — ORDER BY scheduled_at ASC so past-due dispatches
|
|
370
|
+
// hydrate first. recoverDispatches's past-due → fire-immediately
|
|
371
|
+
// path benefits from the ordering.
|
|
372
|
+
//
|
|
373
|
+
// Review fix-up · CONCERN-2. Add LIMIT for defense-in-depth.
|
|
374
|
+
// Even with the 1MB payload cap (PR 2 A4), 100K dispatches × 1MB
|
|
375
|
+
// = 100GB of JSON-decode work at boot. Past-due first means the
|
|
376
|
+
// LIMIT caps how many recover per boot; the rest surface on the
|
|
377
|
+
// Janitor's next sweep or a subsequent boot.
|
|
378
|
+
try {
|
|
379
|
+
const { rows: dispatchRows } = await client.query("SELECT * FROM scheduled_dispatches ORDER BY scheduled_at ASC LIMIT $1", [loadRecentLimit]);
|
|
380
|
+
for (const row of dispatchRows) {
|
|
381
|
+
this.memory.upsertScheduledDispatch({
|
|
382
|
+
runId: row.run_id,
|
|
383
|
+
workflowName: row.workflow_name,
|
|
384
|
+
triggerType: row.trigger_type,
|
|
385
|
+
scheduledAt: Number(row.scheduled_at),
|
|
386
|
+
expiresAt: row.expires_at !== null ? Number(row.expires_at) : undefined,
|
|
387
|
+
dispatchStatus: row.dispatch_status,
|
|
388
|
+
payload: typeof row.payload_json === "string" ? JSON.parse(row.payload_json) : row.payload_json,
|
|
389
|
+
createdAt: Number(row.created_at),
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
catch (err) {
|
|
394
|
+
if (!String(err.message).match(/relation .* does not exist/i)) {
|
|
395
|
+
console.error("[PostgresRunStore] scheduled_dispatches load failed:", err.message);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
210
398
|
}
|
|
211
399
|
finally {
|
|
212
400
|
client.release();
|
|
@@ -215,12 +403,22 @@ export class PostgresRunStore {
|
|
|
215
403
|
// === Writes (sync via memory + async queue to PG) ===
|
|
216
404
|
saveRun(run) {
|
|
217
405
|
this.memory.saveRun(run);
|
|
406
|
+
// PR 1-5 polish · column set mirrors sqlite saveRun (24 columns).
|
|
407
|
+
// PG migration v5 added the trailing 9 (environment / replay_of /
|
|
408
|
+
// parent_run_id / parent_node_run_id / scheduled_at / expires_at /
|
|
409
|
+
// debounce_key / debounce_mode / ping_count); PG migration v4 added
|
|
410
|
+
// last_completed_step_index. Without these the PG mirror silently
|
|
411
|
+
// dropped scheduling + lineage + resume-cursor state across restart.
|
|
218
412
|
this.enqueueWrite(() => this.pool
|
|
219
413
|
.query(`INSERT INTO workflow_runs
|
|
220
414
|
(id, workflow_name, workflow_path, trigger_type, trigger_summary,
|
|
221
415
|
status, started_at, finished_at, duration_ms, error_json,
|
|
222
|
-
tags_json, metadata_json, node_count, completed_nodes
|
|
223
|
-
|
|
416
|
+
tags_json, metadata_json, node_count, completed_nodes,
|
|
417
|
+
environment, replay_of, parent_run_id, parent_node_run_id,
|
|
418
|
+
scheduled_at, expires_at, debounce_key, debounce_mode,
|
|
419
|
+
ping_count, last_completed_step_index)
|
|
420
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14,
|
|
421
|
+
$15, $16, $17, $18, $19, $20, $21, $22, $23, $24)
|
|
224
422
|
ON CONFLICT (id) DO UPDATE SET
|
|
225
423
|
status = EXCLUDED.status,
|
|
226
424
|
finished_at = EXCLUDED.finished_at,
|
|
@@ -228,7 +426,17 @@ export class PostgresRunStore {
|
|
|
228
426
|
error_json = EXCLUDED.error_json,
|
|
229
427
|
tags_json = EXCLUDED.tags_json,
|
|
230
428
|
metadata_json = EXCLUDED.metadata_json,
|
|
231
|
-
completed_nodes = EXCLUDED.completed_nodes
|
|
429
|
+
completed_nodes = EXCLUDED.completed_nodes,
|
|
430
|
+
environment = EXCLUDED.environment,
|
|
431
|
+
replay_of = EXCLUDED.replay_of,
|
|
432
|
+
parent_run_id = EXCLUDED.parent_run_id,
|
|
433
|
+
parent_node_run_id = EXCLUDED.parent_node_run_id,
|
|
434
|
+
scheduled_at = EXCLUDED.scheduled_at,
|
|
435
|
+
expires_at = EXCLUDED.expires_at,
|
|
436
|
+
debounce_key = EXCLUDED.debounce_key,
|
|
437
|
+
debounce_mode = EXCLUDED.debounce_mode,
|
|
438
|
+
ping_count = EXCLUDED.ping_count,
|
|
439
|
+
last_completed_step_index = EXCLUDED.last_completed_step_index`, [
|
|
232
440
|
run.id,
|
|
233
441
|
run.workflowName,
|
|
234
442
|
run.workflowPath,
|
|
@@ -243,6 +451,16 @@ export class PostgresRunStore {
|
|
|
243
451
|
run.metadata ? JSON.stringify(run.metadata) : null,
|
|
244
452
|
run.nodeCount,
|
|
245
453
|
run.completedNodes,
|
|
454
|
+
run.environment ?? null,
|
|
455
|
+
run.replayOf ?? null,
|
|
456
|
+
run.parentRunId ?? null,
|
|
457
|
+
run.parentNodeRunId ?? null,
|
|
458
|
+
run.scheduledAt ?? null,
|
|
459
|
+
run.expiresAt ?? null,
|
|
460
|
+
run.debounceKey ?? null,
|
|
461
|
+
run.debounceMode ?? null,
|
|
462
|
+
run.pingCount ?? null,
|
|
463
|
+
run.lastCompletedStepIndex ?? null,
|
|
246
464
|
])
|
|
247
465
|
.then(() => { }));
|
|
248
466
|
}
|
|
@@ -279,6 +497,55 @@ export class PostgresRunStore {
|
|
|
279
497
|
setClauses.push(`metadata_json = $${paramIdx++}`);
|
|
280
498
|
values.push(JSON.stringify(updates.metadata));
|
|
281
499
|
}
|
|
500
|
+
// PR 1-5 polish · scheduling, lineage, and resume-cursor fields
|
|
501
|
+
// updateRun must mirror sqlite. Each marker tracker method
|
|
502
|
+
// (markRunDelayed / markRunQueued / markRunDebounced / markRunExpired
|
|
503
|
+
// / recordDebouncePing / transitionRunToRunning / RunnerSteps wait
|
|
504
|
+
// branch) updates one or more of these. Without these clauses the
|
|
505
|
+
// in-memory mirror has the value but PG keeps the original (or
|
|
506
|
+
// NULL).
|
|
507
|
+
if (updates.replayOf !== undefined) {
|
|
508
|
+
setClauses.push(`replay_of = $${paramIdx++}`);
|
|
509
|
+
values.push(updates.replayOf);
|
|
510
|
+
}
|
|
511
|
+
if (updates.parentRunId !== undefined) {
|
|
512
|
+
setClauses.push(`parent_run_id = $${paramIdx++}`);
|
|
513
|
+
values.push(updates.parentRunId);
|
|
514
|
+
}
|
|
515
|
+
if (updates.parentNodeRunId !== undefined) {
|
|
516
|
+
setClauses.push(`parent_node_run_id = $${paramIdx++}`);
|
|
517
|
+
values.push(updates.parentNodeRunId);
|
|
518
|
+
}
|
|
519
|
+
if (updates.scheduledAt !== undefined) {
|
|
520
|
+
setClauses.push(`scheduled_at = $${paramIdx++}`);
|
|
521
|
+
values.push(updates.scheduledAt);
|
|
522
|
+
}
|
|
523
|
+
if (updates.expiresAt !== undefined) {
|
|
524
|
+
setClauses.push(`expires_at = $${paramIdx++}`);
|
|
525
|
+
values.push(updates.expiresAt);
|
|
526
|
+
}
|
|
527
|
+
if (updates.debounceKey !== undefined) {
|
|
528
|
+
setClauses.push(`debounce_key = $${paramIdx++}`);
|
|
529
|
+
values.push(updates.debounceKey);
|
|
530
|
+
}
|
|
531
|
+
if (updates.debounceMode !== undefined) {
|
|
532
|
+
setClauses.push(`debounce_mode = $${paramIdx++}`);
|
|
533
|
+
values.push(updates.debounceMode);
|
|
534
|
+
}
|
|
535
|
+
if (updates.pingCount !== undefined) {
|
|
536
|
+
setClauses.push(`ping_count = $${paramIdx++}`);
|
|
537
|
+
values.push(updates.pingCount);
|
|
538
|
+
}
|
|
539
|
+
if (updates.lastCompletedStepIndex !== undefined) {
|
|
540
|
+
setClauses.push(`last_completed_step_index = $${paramIdx++}`);
|
|
541
|
+
values.push(updates.lastCompletedStepIndex);
|
|
542
|
+
}
|
|
543
|
+
// `transitionRunToRunning` (Tier 2 #5+#7) preserves the original
|
|
544
|
+
// startedAt by updating it. Mirror sqlite, which also accepts it.
|
|
545
|
+
if (updates.startedAt !== undefined) {
|
|
546
|
+
setClauses.push(`started_at = $${paramIdx++}`);
|
|
547
|
+
values.push(updates.startedAt);
|
|
548
|
+
}
|
|
282
549
|
if (setClauses.length === 0)
|
|
283
550
|
return;
|
|
284
551
|
values.push(runId);
|
|
@@ -402,6 +669,12 @@ export class PostgresRunStore {
|
|
|
402
669
|
getNodeRun(nodeRunId) {
|
|
403
670
|
return this.memory.getNodeRun(nodeRunId);
|
|
404
671
|
}
|
|
672
|
+
getRunsByParent(parentRunId) {
|
|
673
|
+
// Tier 2 sub-workflow lineage. Same in-memory delegation strategy
|
|
674
|
+
// as the idempotency cache — durable PG schema for parent_run_id
|
|
675
|
+
// is deferred to a follow-up.
|
|
676
|
+
return this.memory.getRunsByParent(parentRunId);
|
|
677
|
+
}
|
|
405
678
|
getEvents(runId, since) {
|
|
406
679
|
return this.memory.getEvents(runId, since);
|
|
407
680
|
}
|
|
@@ -489,6 +762,23 @@ export class PostgresRunStore {
|
|
|
489
762
|
await this.pool.query("DELETE FROM node_runs");
|
|
490
763
|
await this.pool.query("DELETE FROM workflow_runs");
|
|
491
764
|
await this.pool.query("DELETE FROM dashboards");
|
|
765
|
+
// Tier 2 follow-up — wipe durable tables too. Wrapped in
|
|
766
|
+
// individual try blocks so a missing table (pre-v3 schema) on
|
|
767
|
+
// one doesn't abort the others.
|
|
768
|
+
for (const sql of [
|
|
769
|
+
"DELETE FROM idempotency_cache",
|
|
770
|
+
"DELETE FROM concurrency_locks",
|
|
771
|
+
"DELETE FROM scheduled_dispatches",
|
|
772
|
+
]) {
|
|
773
|
+
try {
|
|
774
|
+
await this.pool.query(sql);
|
|
775
|
+
}
|
|
776
|
+
catch (err) {
|
|
777
|
+
if (!String(err.message).match(/relation .* does not exist/i)) {
|
|
778
|
+
console.error(`[PostgresRunStore] ${sql} failed:`, err.message);
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}
|
|
492
782
|
});
|
|
493
783
|
return count;
|
|
494
784
|
}
|
|
@@ -513,6 +803,133 @@ export class PostgresRunStore {
|
|
|
513
803
|
});
|
|
514
804
|
this.closed = true;
|
|
515
805
|
}
|
|
806
|
+
// === Idempotency cache (Tier 1) ===
|
|
807
|
+
//
|
|
808
|
+
// PG durable cache is out of scope for this PR — delegate to the
|
|
809
|
+
// in-memory layer this store already uses for hot reads. Same-process
|
|
810
|
+
// hits work exactly like the SQLite store; cross-process / cross-restart
|
|
811
|
+
// hits are deferred to a follow-up PG schema migration. Operators
|
|
812
|
+
// running PG today retain pre-Phase-3 behaviour (no caching) on a fresh
|
|
813
|
+
// process and gain in-memory caching within a single process lifetime.
|
|
814
|
+
//
|
|
815
|
+
// Tier 2 follow-up (migration v3) — sync reads stay on the in-memory
|
|
816
|
+
// mirror; writes async-persist to PG. On boot, `loadRecent()` rehydrates
|
|
817
|
+
// the in-memory cache from PG so deferred dispatches + idempotency
|
|
818
|
+
// entries + concurrency leases survive restarts.
|
|
819
|
+
getIdempotencyCache(workflowName, stepId, key) {
|
|
820
|
+
return this.memory.getIdempotencyCache(workflowName, stepId, key);
|
|
821
|
+
}
|
|
822
|
+
setIdempotencyCache(workflowName, stepId, key, entry) {
|
|
823
|
+
this.memory.setIdempotencyCache(workflowName, stepId, key, entry);
|
|
824
|
+
this.enqueueWrite(() => this.pool
|
|
825
|
+
.query(`INSERT INTO idempotency_cache
|
|
826
|
+
(workflow_name, step_id, idempotency_key, data_json,
|
|
827
|
+
cached_at, expires_at, source_run_id, source_node_run_id)
|
|
828
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
|
829
|
+
ON CONFLICT (workflow_name, step_id, idempotency_key) DO UPDATE SET
|
|
830
|
+
data_json = EXCLUDED.data_json,
|
|
831
|
+
cached_at = EXCLUDED.cached_at,
|
|
832
|
+
expires_at = EXCLUDED.expires_at,
|
|
833
|
+
source_run_id = EXCLUDED.source_run_id,
|
|
834
|
+
source_node_run_id = EXCLUDED.source_node_run_id`, [
|
|
835
|
+
workflowName,
|
|
836
|
+
stepId,
|
|
837
|
+
key,
|
|
838
|
+
JSON.stringify(entry.data),
|
|
839
|
+
entry.cachedAt,
|
|
840
|
+
entry.expiresAt,
|
|
841
|
+
entry.sourceRunId,
|
|
842
|
+
entry.sourceNodeRunId,
|
|
843
|
+
])
|
|
844
|
+
.then(() => { }));
|
|
845
|
+
}
|
|
846
|
+
purgeExpiredIdempotencyCache(now) {
|
|
847
|
+
const removed = this.memory.purgeExpiredIdempotencyCache(now);
|
|
848
|
+
this.enqueueWrite(() => this.pool
|
|
849
|
+
.query("DELETE FROM idempotency_cache WHERE expires_at IS NOT NULL AND expires_at <= $1", [now])
|
|
850
|
+
.then(() => { }));
|
|
851
|
+
return removed;
|
|
852
|
+
}
|
|
853
|
+
// === Concurrency gating (Tier 2 #6) ===
|
|
854
|
+
// Sync grants happen on the in-memory mirror; PG mirror is async-only.
|
|
855
|
+
// Cross-process coordination via the gate itself requires the dedicated
|
|
856
|
+
// `BLOK_CONCURRENCY_BACKEND=nats-kv` backend (Tier 2 #6 follow-up).
|
|
857
|
+
// PG persistence here is purely for crash-recovery — boot loads active
|
|
858
|
+
// (un-expired) leases back into memory so a process restart doesn't
|
|
859
|
+
// over-grant.
|
|
860
|
+
acquireConcurrencySlot(workflowName, concurrencyKey, concurrencyLimit, runId, leaseExpiresAt) {
|
|
861
|
+
const result = this.memory.acquireConcurrencySlot(workflowName, concurrencyKey, concurrencyLimit, runId, leaseExpiresAt);
|
|
862
|
+
if (result.acquired) {
|
|
863
|
+
this.enqueueWrite(() => this.pool
|
|
864
|
+
.query(`INSERT INTO concurrency_locks
|
|
865
|
+
(workflow_name, concurrency_key, run_id, acquired_at, expires_at)
|
|
866
|
+
VALUES ($1, $2, $3, $4, $5)
|
|
867
|
+
ON CONFLICT (workflow_name, concurrency_key, run_id) DO UPDATE SET
|
|
868
|
+
expires_at = EXCLUDED.expires_at`, [workflowName, concurrencyKey, runId, Date.now(), leaseExpiresAt])
|
|
869
|
+
.then(() => { }));
|
|
870
|
+
}
|
|
871
|
+
return result;
|
|
872
|
+
}
|
|
873
|
+
releaseConcurrencySlot(workflowName, concurrencyKey, runId) {
|
|
874
|
+
this.memory.releaseConcurrencySlot(workflowName, concurrencyKey, runId);
|
|
875
|
+
this.enqueueWrite(() => this.pool
|
|
876
|
+
.query("DELETE FROM concurrency_locks WHERE workflow_name = $1 AND concurrency_key = $2 AND run_id = $3", [
|
|
877
|
+
workflowName,
|
|
878
|
+
concurrencyKey,
|
|
879
|
+
runId,
|
|
880
|
+
])
|
|
881
|
+
.then(() => { }));
|
|
882
|
+
}
|
|
883
|
+
purgeExpiredConcurrencySlots(now) {
|
|
884
|
+
const removed = this.memory.purgeExpiredConcurrencySlots(now);
|
|
885
|
+
this.enqueueWrite(() => this.pool.query("DELETE FROM concurrency_locks WHERE expires_at <= $1", [now]).then(() => { }));
|
|
886
|
+
return removed;
|
|
887
|
+
}
|
|
888
|
+
getConcurrencySnapshot(now) {
|
|
889
|
+
return this.memory.getConcurrencySnapshot(now);
|
|
890
|
+
}
|
|
891
|
+
// === Durable scheduling (Tier 2 #5+#7 follow-up) ===
|
|
892
|
+
// Tier 2 follow-up (migration v3) — PG mirror is now real durable
|
|
893
|
+
// storage. Boot recovery (`HttpTrigger.recoverDispatches`) reads the
|
|
894
|
+
// in-memory mirror, which is rehydrated from PG on init.
|
|
895
|
+
upsertScheduledDispatch(row) {
|
|
896
|
+
this.memory.upsertScheduledDispatch(row);
|
|
897
|
+
this.enqueueWrite(() => this.pool
|
|
898
|
+
.query(`INSERT INTO scheduled_dispatches
|
|
899
|
+
(run_id, workflow_name, trigger_type, scheduled_at, expires_at,
|
|
900
|
+
dispatch_status, payload_json, created_at)
|
|
901
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
|
902
|
+
ON CONFLICT (run_id) DO UPDATE SET
|
|
903
|
+
scheduled_at = EXCLUDED.scheduled_at,
|
|
904
|
+
expires_at = EXCLUDED.expires_at,
|
|
905
|
+
dispatch_status = EXCLUDED.dispatch_status,
|
|
906
|
+
payload_json = EXCLUDED.payload_json`, [
|
|
907
|
+
row.runId,
|
|
908
|
+
row.workflowName,
|
|
909
|
+
row.triggerType,
|
|
910
|
+
row.scheduledAt,
|
|
911
|
+
row.expiresAt ?? null,
|
|
912
|
+
row.dispatchStatus,
|
|
913
|
+
JSON.stringify(row.payload ?? null),
|
|
914
|
+
row.createdAt,
|
|
915
|
+
])
|
|
916
|
+
.then(() => { }));
|
|
917
|
+
}
|
|
918
|
+
deleteScheduledDispatch(runId) {
|
|
919
|
+
const removed = this.memory.deleteScheduledDispatch(runId);
|
|
920
|
+
this.enqueueWrite(() => this.pool.query("DELETE FROM scheduled_dispatches WHERE run_id = $1", [runId]).then(() => { }));
|
|
921
|
+
return removed;
|
|
922
|
+
}
|
|
923
|
+
getScheduledDispatches(opts) {
|
|
924
|
+
return this.memory.getScheduledDispatches(opts);
|
|
925
|
+
}
|
|
926
|
+
purgeExpiredScheduledDispatches(now) {
|
|
927
|
+
const removed = this.memory.purgeExpiredScheduledDispatches(now);
|
|
928
|
+
this.enqueueWrite(() => this.pool
|
|
929
|
+
.query("DELETE FROM scheduled_dispatches WHERE expires_at IS NOT NULL AND expires_at < $1", [now])
|
|
930
|
+
.then(() => { }));
|
|
931
|
+
return removed;
|
|
932
|
+
}
|
|
516
933
|
// === Write Queue ===
|
|
517
934
|
enqueueWrite(fn) {
|
|
518
935
|
if (this.closed)
|
|
@@ -565,6 +982,21 @@ export class PostgresRunStore {
|
|
|
565
982
|
metadata: row.metadata_json ? parseJson(row.metadata_json) : undefined,
|
|
566
983
|
nodeCount: Number(row.node_count),
|
|
567
984
|
completedNodes: Number(row.completed_nodes),
|
|
985
|
+
// PR 1-5 polish · pre-v5 PG rows have NULL on the columns added
|
|
986
|
+
// by migration v5. Mirror sqlite's `rowToRun`: NULL `environment`
|
|
987
|
+
// reads as "production" (the legacy default scope) so historical
|
|
988
|
+
// data still surfaces under the EnvChip default. Every other new
|
|
989
|
+
// column maps NULL → undefined.
|
|
990
|
+
environment: (row.environment ?? "production"),
|
|
991
|
+
replayOf: row.replay_of ?? undefined,
|
|
992
|
+
parentRunId: row.parent_run_id ?? undefined,
|
|
993
|
+
parentNodeRunId: row.parent_node_run_id ?? undefined,
|
|
994
|
+
scheduledAt: row.scheduled_at != null ? Number(row.scheduled_at) : undefined,
|
|
995
|
+
expiresAt: row.expires_at != null ? Number(row.expires_at) : undefined,
|
|
996
|
+
debounceKey: row.debounce_key ?? undefined,
|
|
997
|
+
debounceMode: (row.debounce_mode ?? undefined),
|
|
998
|
+
pingCount: row.ping_count != null ? Number(row.ping_count) : undefined,
|
|
999
|
+
lastCompletedStepIndex: row.last_completed_step_index != null ? Number(row.last_completed_step_index) : undefined,
|
|
568
1000
|
};
|
|
569
1001
|
}
|
|
570
1002
|
rowToNodeRun(row) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresRunStore.js","sourceRoot":"","sources":["../../src/tracing/PostgresRunStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA2BlD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAmB;IACzB,IAAI,CAAS;IACb,UAAU,GAA+B,EAAE,CAAC;IAC5C,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAA0C,IAAI,CAAC;IACzD,WAAW,CAAgB;IAC3B,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,MAAsB;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAErC,IAAI,IAA8B,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,KAAK,CACd,+CAA+C,GAAG,oBAAoB,GAAG,UAAU,GAAG,eAAe,CACrG,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC;YACpB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;YACpB,GAAG,EAAE,MAAM,CAAC,GAAG;SACf,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,yBAAyB;IAEjB,KAAK,CAAC,UAAU;QACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;IAKlB,CAAC,CAAC;YAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAwD;gBACvE;oBACC,OAAO,EAAE,CAAC;oBACV,EAAE,EAAE,KAAK,IAAI,EAAE;wBACd,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;OAiBlB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;wBACnG,MAAM,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;wBAC1F,MAAM,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;wBAElG,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;OAmBlB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;wBAEpF,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;OAWlB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;wBACtF,MAAM,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;wBAE/F,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;OAWlB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;oBACtF,CAAC;iBACD;gBACD;oBACC,OAAO,EAAE,CAAC;oBACV,EAAE,EAAE,KAAK,IAAI,EAAE;wBACd,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;OAUlB,CAAC,CAAC;oBACJ,CAAC;iBACD;aACD,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC5B,IAAI,CAAC;wBACJ,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;wBACb,MAAM,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACd,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAC/B,MAAM,GAAG,CAAC;oBACX,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,UAAU;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,+BAA+B;YAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAChH,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAExD,iCAAiC;gBACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5C,oEAAoE,EACpE,CAAC,MAAM,CAAC,CACR,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,cAAc;gBACd,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7C,oEAAoE,EACpE,CAAC,MAAM,CAAC,CACR,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAED,YAAY;gBACZ,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC3C,qEAAqE,EACrE,CAAC,MAAM,CAAC,CACR,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;YAED,kBAAkB;YAClB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnG,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,uDAAuD;IAEvD,OAAO,CAAC,GAAgB;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CACL;;;;;;;;;;;;gDAY2C,EAC3C;YACC,GAAG,CAAC,EAAE;YACN,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,WAAW;YACf,GAAG,CAAC,cAAc;YAClB,GAAG,CAAC,MAAM;YACV,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,UAAU,IAAI,IAAI;YACtB,GAAG,CAAC,UAAU,IAAI,IAAI;YACtB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAClD,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,cAAc;SAClB,CACD;aACA,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAA6B;QACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,oBAAoB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CAAC,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC;aAC1F,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,OAAgB;QAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CACL;;;;;;;;;;;;0CAYqC,EACrC;YACC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,WAAW,IAAI,IAAI;YAC3B,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,UAAU,IAAI,IAAI;YAC1B,OAAO,CAAC,UAAU,IAAI,IAAI;YAC1B,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACpE,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACtE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACpD,OAAO,CAAC,YAAY,IAAI,IAAI;YAC5B,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;SACxD,CACD;aACA,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,OAAyB;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAC/G,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAe;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CACL;;gCAE2B,EAC3B;YACC,KAAK,CAAC,EAAE;YACR,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,QAAQ,IAAI,IAAI;YACtB,KAAK,CAAC,MAAM,IAAI,IAAI;YACpB,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;SAClE,CACD;aACA,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAoB;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CACL;;gCAE2B,EAC3B;YACC,KAAK,CAAC,EAAE;YACR,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,MAAM,IAAI,IAAI;YACpB,KAAK,CAAC,QAAQ,IAAI,IAAI;YACtB,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9C,CACD;aACA,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,+CAA+C;IAE/C,MAAM,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,IAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,KAAc;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,MAAe;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,sDAAsD;IAEtD,oBAAoB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,QAAiB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,2DAA2D;IAE3D,aAAa,CAAC,SAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;aACP,KAAK,CACL;;;;;;;0CAOqC,EACrC;YACC,SAAS,CAAC,EAAE;YACZ,SAAS,CAAC,IAAI;YACd,SAAS,CAAC,WAAW,IAAI,IAAI;YAC7B,SAAS,CAAC,SAAS;YACnB,SAAS,CAAC,SAAS;YACnB,SAAS,CAAC,SAAS;YACnB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;SACjC,CACD;aACA,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,WAAmB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,WAAmB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,eAAe,CAAC,WAAmB,EAAE,OAA2B;QAC/D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,UAAU,GAAa,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,WAAW,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChH,CAAC;IACH,CAAC;IAED,kBAAkB;IAElB,QAAQ;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,SAAiB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CACtB,IAAI,CAAC,IAAI;iBACP,KAAK,CAAC,yEAAyE,EAAE,CAAC,SAAS,CAAC,CAAC;iBAC7F,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAChB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,8DAA8D;IAC/D,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,2CAA2C;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,sBAAsB;IAEd,YAAY,CAAC,EAAuB;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,KAAK;QAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,OAAO,CAAC,UAAU,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAChB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAChE,CAAC,CAAC,CACF,CACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,cAAc;QACrB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACF,CAAC;IAEO,aAAa;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,CAAC;IACF,CAAC;IAED,+BAA+B;IAEvB,QAAQ,CAAC,GAA4B;QAC5C,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,YAAY,EAAE,GAAG,CAAC,aAAuB;YACzC,YAAY,EAAE,GAAG,CAAC,aAAuB;YACzC,WAAW,EAAE,GAAG,CAAC,YAAsB;YACvC,cAAc,EAAE,GAAG,CAAC,eAAyB;YAC7C,MAAM,EAAE,GAAG,CAAC,MAA+B;YAC3C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAA0B,CAAC,CAAC,CAAC,SAAS;YACvF,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,SAAS;YACxE,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAA6B,CAAC,CAAC,CAAC,SAAS;YACnG,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;SAC3C,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAA4B;QAChD,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,KAAK,EAAE,GAAG,CAAC,MAAgB;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAmB;YACjC,QAAQ,EAAE,GAAG,CAAC,SAAmB;YACjC,WAAW,EAAG,GAAG,CAAC,YAAuB,IAAI,SAAS;YACtD,MAAM,EAAE,GAAG,CAAC,MAA2B;YACvC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAChE,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAsB,CAAC,CAAC,CAAC,SAAS;YACnF,YAAY,EAAG,GAAG,CAAC,cAAyB,IAAI,SAAS;YACzD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAwB,CAAC,CAAC,CAAC,SAAS;SAC3F,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,GAA4B;QAC9C,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAwB;YAClC,KAAK,EAAE,GAAG,CAAC,MAAgB;YAC3B,YAAY,EAAE,GAAG,CAAC,aAAuB;YACzC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,SAAS;YAChD,MAAM,EAAG,GAAG,CAAC,OAAkB,IAAI,SAAS;YAC5C,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,GAA4B;QAC5C,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,KAAK,EAAE,GAAG,CAAC,MAAgB;YAC3B,MAAM,EAAG,GAAG,CAAC,OAAkB,IAAI,SAAS;YAC5C,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,SAAS;YAChD,KAAK,EAAE,GAAG,CAAC,KAA+B;YAC1C,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAA6B,CAAC,CAAC,CAAC,SAAS;SACvF,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAA4B;QAClD,OAAO;YACN,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,IAAI,EAAE,GAAG,CAAC,IAAc;YACxB,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,SAAS;YACrD,SAAS,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI;YAClC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAA0B,CAAC,CAAC,CAAC,EAAE;SACtF,CAAC;IACH,CAAC;CACD;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"PostgresRunStore.js","sourceRoot":"","sources":["../../src/tracing/PostgresRunStore.ts"],"names":[],"mappings":"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"}
|