@nifrajs/core 3.1.0 → 3.3.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 (146) hide show
  1. package/README.md +21 -0
  2. package/dist/durable-adapters.d.ts.map +1 -1
  3. package/dist/durable-adapters.js +26 -3
  4. package/dist/durable-adapters.js.map +1 -1
  5. package/dist/durable-approval.d.ts +56 -0
  6. package/dist/durable-approval.d.ts.map +1 -0
  7. package/dist/durable-approval.js +233 -0
  8. package/dist/durable-approval.js.map +1 -0
  9. package/dist/durable-effect.d.ts +42 -0
  10. package/dist/durable-effect.d.ts.map +1 -0
  11. package/dist/durable-effect.js +234 -0
  12. package/dist/durable-effect.js.map +1 -0
  13. package/dist/durable-execution.d.ts +8 -346
  14. package/dist/durable-execution.d.ts.map +1 -1
  15. package/dist/durable-execution.js +7 -1150
  16. package/dist/durable-execution.js.map +1 -1
  17. package/dist/durable-saga.d.ts +94 -0
  18. package/dist/durable-saga.d.ts.map +1 -0
  19. package/dist/durable-saga.js +550 -0
  20. package/dist/durable-saga.js.map +1 -0
  21. package/dist/edge-kit.d.ts +2 -2
  22. package/dist/edge-kit.d.ts.map +1 -1
  23. package/dist/edge-kit.js +2 -2
  24. package/dist/edge-kit.js.map +1 -1
  25. package/dist/index.d.ts +23 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +18 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/durable-approval-protocol.d.ts +1 -1
  30. package/dist/internal/durable-approval-protocol.d.ts.map +1 -1
  31. package/dist/internal/durable-effect-protocol.d.ts +1 -1
  32. package/dist/internal/durable-effect-protocol.d.ts.map +1 -1
  33. package/dist/internal/durable-saga-protocol.d.ts +1 -1
  34. package/dist/internal/durable-saga-protocol.d.ts.map +1 -1
  35. package/dist/internal/durable-shared.d.ts +26 -0
  36. package/dist/internal/durable-shared.d.ts.map +1 -0
  37. package/dist/internal/durable-shared.js +131 -0
  38. package/dist/internal/durable-shared.js.map +1 -0
  39. package/dist/internal/durable-types.d.ts +159 -0
  40. package/dist/internal/durable-types.d.ts.map +1 -0
  41. package/dist/internal/durable-types.js +2 -0
  42. package/dist/internal/durable-types.js.map +1 -0
  43. package/dist/internal/route-compiler.d.ts +61 -0
  44. package/dist/internal/route-compiler.d.ts.map +1 -0
  45. package/dist/internal/route-compiler.js +121 -0
  46. package/dist/internal/route-compiler.js.map +1 -0
  47. package/dist/internal/route-execution.d.ts +6 -4
  48. package/dist/internal/route-execution.d.ts.map +1 -1
  49. package/dist/internal/route-execution.js +2 -17
  50. package/dist/internal/route-execution.js.map +1 -1
  51. package/dist/internal/route-lanes.d.ts +35 -0
  52. package/dist/internal/route-lanes.d.ts.map +1 -0
  53. package/dist/internal/route-lanes.js +150 -0
  54. package/dist/internal/route-lanes.js.map +1 -0
  55. package/dist/internal/route-program.d.ts +67 -0
  56. package/dist/internal/route-program.d.ts.map +1 -0
  57. package/dist/internal/route-program.js +199 -0
  58. package/dist/internal/route-program.js.map +1 -0
  59. package/dist/server/bare-error-lane.d.ts +1 -1
  60. package/dist/server/bare-error-lane.d.ts.map +1 -1
  61. package/dist/server/bare-error-lane.js +3 -3
  62. package/dist/server/bare-error-lane.js.map +1 -1
  63. package/dist/server/body-lane.d.ts +13 -0
  64. package/dist/server/body-lane.d.ts.map +1 -0
  65. package/dist/server/body-lane.js +134 -0
  66. package/dist/server/body-lane.js.map +1 -0
  67. package/dist/server/contract.d.ts +40 -14
  68. package/dist/server/contract.d.ts.map +1 -1
  69. package/dist/server/contract.js +7 -0
  70. package/dist/server/contract.js.map +1 -1
  71. package/dist/server/cookies.d.ts.map +1 -1
  72. package/dist/server/cookies.js +16 -2
  73. package/dist/server/cookies.js.map +1 -1
  74. package/dist/server/plugin.d.ts +2 -2
  75. package/dist/server/plugin.d.ts.map +1 -1
  76. package/dist/server/plugin.js +6 -1
  77. package/dist/server/plugin.js.map +1 -1
  78. package/dist/server/registry.d.ts +40 -12
  79. package/dist/server/registry.d.ts.map +1 -1
  80. package/dist/server/request-context.d.ts +4 -28
  81. package/dist/server/request-context.d.ts.map +1 -1
  82. package/dist/server/request-context.js +10 -185
  83. package/dist/server/request-context.js.map +1 -1
  84. package/dist/server/respond.d.ts.map +1 -1
  85. package/dist/server/respond.js +39 -2
  86. package/dist/server/respond.js.map +1 -1
  87. package/dist/server/runtime-core.d.ts +18 -2
  88. package/dist/server/runtime-core.d.ts.map +1 -1
  89. package/dist/server/runtime-core.js +0 -23
  90. package/dist/server/runtime-core.js.map +1 -1
  91. package/dist/server/server-types.d.ts +3 -0
  92. package/dist/server/server-types.d.ts.map +1 -1
  93. package/dist/server/server.d.ts +113 -84
  94. package/dist/server/server.d.ts.map +1 -1
  95. package/dist/server/server.js +506 -639
  96. package/dist/server/server.js.map +1 -1
  97. package/dist/server/validation.d.ts +5 -0
  98. package/dist/server/validation.d.ts.map +1 -0
  99. package/dist/server/validation.js +13 -0
  100. package/dist/server/validation.js.map +1 -0
  101. package/dist/server/ws-bun.d.ts +11 -3
  102. package/dist/server/ws-bun.d.ts.map +1 -1
  103. package/dist/server/ws-bun.js +42 -12
  104. package/dist/server/ws-bun.js.map +1 -1
  105. package/dist/server/ws-hook.d.ts +3 -2
  106. package/dist/server/ws-hook.d.ts.map +1 -1
  107. package/dist/server.d.ts +2 -2
  108. package/dist/server.d.ts.map +1 -1
  109. package/dist/server.js +1 -1
  110. package/dist/server.js.map +1 -1
  111. package/dist/single-copy.d.ts.map +1 -1
  112. package/dist/single-copy.js +3 -1
  113. package/dist/single-copy.js.map +1 -1
  114. package/package.json +6 -3
  115. package/src/durable-adapters.ts +20 -0
  116. package/src/durable-approval.ts +281 -0
  117. package/src/durable-effect.ts +300 -0
  118. package/src/durable-execution.ts +8 -1627
  119. package/src/durable-saga.ts +744 -0
  120. package/src/edge-kit.ts +2 -2
  121. package/src/index.ts +129 -2
  122. package/src/internal/durable-approval-protocol.ts +1 -1
  123. package/src/internal/durable-effect-protocol.ts +1 -1
  124. package/src/internal/durable-saga-protocol.ts +1 -1
  125. package/src/internal/durable-shared.ts +157 -0
  126. package/src/internal/durable-types.ts +194 -0
  127. package/src/internal/route-compiler.ts +234 -0
  128. package/src/internal/route-execution.ts +34 -84
  129. package/src/internal/route-lanes.ts +221 -0
  130. package/src/internal/route-program.ts +404 -0
  131. package/src/server/bare-error-lane.ts +3 -2
  132. package/src/server/body-lane.ts +203 -0
  133. package/src/server/contract.ts +70 -20
  134. package/src/server/cookies.ts +16 -2
  135. package/src/server/plugin.ts +11 -5
  136. package/src/server/registry.ts +71 -16
  137. package/src/server/request-context.ts +7 -262
  138. package/src/server/respond.ts +45 -2
  139. package/src/server/runtime-core.ts +28 -2
  140. package/src/server/server-types.ts +3 -0
  141. package/src/server/server.ts +1152 -1260
  142. package/src/server/validation.ts +19 -0
  143. package/src/server/ws-bun.ts +44 -11
  144. package/src/server/ws-hook.ts +3 -2
  145. package/src/server.ts +7 -2
  146. package/src/single-copy.ts +3 -1
package/README.md CHANGED
@@ -38,6 +38,27 @@ import { defineChannel, memoryChannelHub } from "@nifrajs/core/channel"
38
38
  - **Inline or contract-first.** Write routes inline (types inferred from the
39
39
  builder), or `defineContract(...)` + `implement(...)` for a decoupled, versionable
40
40
  surface - handlers lift over unchanged.
41
+
42
+ ### Scaling route tables
43
+
44
+ Fluent chains are the best fit for a small route surface. TypeScript's type-instantiation budget
45
+ usually becomes the limiting factor around 95-100 chained routes because every call both infers its
46
+ handler context and re-threads the growing typed registry. The runtime router is not the limit, and
47
+ the routes remain fully typed when you compose them as short domain groups:
48
+
49
+ ```ts
50
+ const listings = server()
51
+ .get("/listings", () => ({ ok: true }))
52
+ .get("/listings/:id", (c) => ({ id: c.params.id }))
53
+ const agents = server().get("/agents/:id", (c) => ({ id: c.params.id }))
54
+
55
+ const app = server().get("/health", () => ({ ok: true })).merge(listings).merge(agents)
56
+ ```
57
+
58
+ Each group's routes keep the middleware and assurance captured when that group was defined. For a
59
+ contract-owned surface, `defineContract(...)` + `implement(...)` is the other escape hatch: the
60
+ registry is declared as one object type, so it does not grow one fluent-instantiation level per
61
+ route. Split groups before the compiler reports `TS2589`, rather than weakening the route types.
41
62
  - **Validation at the boundary.** Per-route `body`/`query` is any
42
63
  [Standard Schema](https://standardschema.dev) (zod/valibot/arktype, or `@nifrajs/schema`'s
43
64
  `t`); invalid input is rejected with a structured `422` before the handler runs.
@@ -1 +1 @@
1
- {"version":3,"file":"durable-adapters.d.ts","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-adapters.d.ts","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"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"}
@@ -302,11 +302,15 @@ export class PostgresDurableRecordBackend {
302
302
  this.leasesTable = `${prefix}_leases`;
303
303
  }
304
304
  async migrate() {
305
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
305
306
  await this.client.query(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.recordsTable} (kind TEXT NOT NULL, id TEXT NOT NULL, state TEXT NOT NULL, updated_at BIGINT NOT NULL, version BIGINT NOT NULL, payload JSONB NOT NULL, PRIMARY KEY (kind, id))`);
307
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
306
308
  await this.client.query(sqlIdentifiers `CREATE INDEX IF NOT EXISTS ${this.recordsTable}_reconcile ON ${this.recordsTable} (kind, state, updated_at, id)`);
309
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
307
310
  await this.client.query(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.leasesTable} (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at BIGINT NOT NULL DEFAULT 0, cursor TEXT)`);
308
311
  }
309
312
  async create(kind, id, record) {
313
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
310
314
  const result = await this.client.query(sqlIdentifiers `INSERT INTO ${this.recordsTable} (kind,id,state,updated_at,version,payload) VALUES ($1,$2,$3,$4,$5,$6::jsonb) ON CONFLICT DO NOTHING RETURNING id`, [
311
315
  kind,
312
316
  id,
@@ -318,12 +322,14 @@ export class PostgresDurableRecordBackend {
318
322
  return result.rows.length === 1;
319
323
  }
320
324
  async get(kind, id) {
325
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
321
326
  const result = await this.client.query(sqlIdentifiers `SELECT payload FROM ${this.recordsTable} WHERE kind=$1 AND id=$2`, [kind, id]);
322
327
  return recordFromRow(result.rows[0]);
323
328
  }
324
329
  async compareAndSet(kind, id, expectedVersion, record) {
325
330
  if (record.version !== expectedVersion + 1)
326
331
  return false;
332
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
327
333
  const result = await this.client.query(sqlIdentifiers `UPDATE ${this.recordsTable} SET state=$4,updated_at=$5,version=$6,payload=$7::jsonb WHERE kind=$1 AND id=$2 AND version=$3 RETURNING id`, [
328
334
  kind,
329
335
  id,
@@ -336,6 +342,7 @@ export class PostgresDurableRecordBackend {
336
342
  return result.rows.length === 1;
337
343
  }
338
344
  async scan(kind, input) {
345
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
339
346
  const result = await this.client.query(sqlIdentifiers `SELECT id,payload FROM ${this.recordsTable} WHERE kind=$1 AND state = ANY($2::text[]) AND ($3::bigint IS NULL OR updated_at <= $3) AND ($4::text IS NULL OR id > $4) ORDER BY id LIMIT $5`, [kind, input.states, input.updatedBefore ?? null, input.cursor ?? null, input.limit + 1]);
340
347
  const hasMore = result.rows.length > input.limit;
341
348
  const rows = result.rows.slice(0, input.limit);
@@ -347,6 +354,7 @@ export class PostgresDurableRecordBackend {
347
354
  async acquireLease(input) {
348
355
  const token = crypto.randomUUID();
349
356
  const expiresAt = input.now + input.leaseMs;
357
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
350
358
  const result = await this.client.query(sqlIdentifiers `INSERT INTO ${this.leasesTable} (name,owner,token,expires_at) VALUES ($1,$2,$3,$4) ON CONFLICT (name) DO UPDATE SET owner=EXCLUDED.owner,token=EXCLUDED.token,expires_at=EXCLUDED.expires_at WHERE ${this.leasesTable}.expires_at <= $5 RETURNING name,owner,token,expires_at,cursor`, [input.name, input.owner, token, expiresAt, input.now]);
351
359
  const row = result.rows[0];
352
360
  if (row === undefined)
@@ -360,14 +368,17 @@ export class PostgresDurableRecordBackend {
360
368
  });
361
369
  }
362
370
  async renewLease(input) {
371
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
363
372
  const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET expires_at=$4 WHERE name=$1 AND owner=$2 AND token=$3 AND expires_at>$5 RETURNING name`, [input.name, input.owner, input.token, input.now + input.leaseMs, input.now]);
364
373
  return result.rows.length === 1;
365
374
  }
366
375
  async checkpointLease(input) {
376
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
367
377
  const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET cursor=$4 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name`, [input.name, input.owner, input.token, input.cursor ?? null]);
368
378
  return result.rows.length === 1;
369
379
  }
370
380
  async releaseLease(input) {
381
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
371
382
  const result = await this.client.query(sqlIdentifiers `UPDATE ${this.leasesTable} SET owner=NULL,token=NULL,expires_at=0 WHERE name=$1 AND owner=$2 AND token=$3 RETURNING name`, [input.name, input.owner, input.token]);
372
383
  return result.rows.length === 1;
373
384
  }
@@ -401,15 +412,18 @@ export class SQLiteDurableRecordBackend {
401
412
  this.leasesTable = `${prefix}_leases`;
402
413
  }
403
414
  migrate() {
415
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
404
416
  this.client.exec(sqlIdentifiers `CREATE TABLE IF NOT EXISTS ${this.recordsTable} (kind TEXT NOT NULL, id TEXT NOT NULL, state TEXT NOT NULL, updated_at INTEGER NOT NULL, version INTEGER NOT NULL, payload TEXT NOT NULL, PRIMARY KEY (kind,id));CREATE INDEX IF NOT EXISTS ${this.recordsTable}_reconcile ON ${this.recordsTable} (kind,state,updated_at,id);CREATE TABLE IF NOT EXISTS ${this.leasesTable} (name TEXT PRIMARY KEY, owner TEXT, token TEXT, expires_at INTEGER NOT NULL DEFAULT 0, cursor TEXT);`);
405
417
  }
406
418
  async create(kind, id, record) {
419
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
407
420
  const result = this.client
408
421
  .query(sqlIdentifiers `INSERT OR IGNORE INTO ${this.recordsTable} (kind,id,state,updated_at,version,payload) VALUES (?,?,?,?,?,?)`)
409
422
  .run(kind, id, record.state ?? "", record.updatedAt ?? 0, record.version, serializeRecord(record));
410
423
  return result.changes === 1;
411
424
  }
412
425
  async get(kind, id) {
426
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
413
427
  const row = this.client
414
428
  .query(sqlIdentifiers `SELECT payload FROM ${this.recordsTable} WHERE kind=? AND id=?`)
415
429
  .get(kind, id);
@@ -418,6 +432,7 @@ export class SQLiteDurableRecordBackend {
418
432
  async compareAndSet(kind, id, expectedVersion, record) {
419
433
  if (record.version !== expectedVersion + 1)
420
434
  return false;
435
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
421
436
  const result = this.client
422
437
  .query(sqlIdentifiers `UPDATE ${this.recordsTable} SET state=?,updated_at=?,version=?,payload=? WHERE kind=? AND id=? AND version=?`)
423
438
  .run(record.state ?? "", record.updatedAt ?? 0, record.version, serializeRecord(record), kind, id, expectedVersion);
@@ -427,6 +442,7 @@ export class SQLiteDurableRecordBackend {
427
442
  if (input.states.length === 0)
428
443
  return { records: [] };
429
444
  const placeholders = sqlPlaceholders(input.states.length);
445
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name (and static ?-placeholders), which SQL cannot bind as a parameter
430
446
  const rows = this.client
431
447
  .query(sqlIdentifiers `SELECT id,payload FROM ${this.recordsTable} WHERE kind=? AND state IN (${placeholders}) AND (? IS NULL OR updated_at <= ?) AND (? IS NULL OR id > ?) ORDER BY id LIMIT ?`)
432
448
  .all(kind, ...input.states, input.updatedBefore ?? null, input.updatedBefore ?? null, input.cursor ?? null, input.cursor ?? null, input.limit + 1);
@@ -441,6 +457,7 @@ export class SQLiteDurableRecordBackend {
441
457
  async acquireLease(input) {
442
458
  const token = crypto.randomUUID();
443
459
  const expiresAt = input.now + input.leaseMs;
460
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
444
461
  const row = this.client
445
462
  .query(sqlIdentifiers `INSERT INTO ${this.leasesTable} (name,owner,token,expires_at) VALUES (?,?,?,?) ON CONFLICT(name) DO UPDATE SET owner=excluded.owner,token=excluded.token,expires_at=excluded.expires_at WHERE ${this.leasesTable}.expires_at <= ? RETURNING name,owner,token,expires_at,cursor`)
446
463
  .get(input.name, input.owner, token, expiresAt, input.now);
@@ -455,18 +472,24 @@ export class SQLiteDurableRecordBackend {
455
472
  });
456
473
  }
457
474
  async renewLease(input) {
458
- return (this.client
475
+ return (
476
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
477
+ this.client
459
478
  .query(sqlIdentifiers `UPDATE ${this.leasesTable} SET expires_at=? WHERE name=? AND owner=? AND token=? AND expires_at>?`)
460
479
  .run(input.now + input.leaseMs, input.name, input.owner, input.token, input.now).changes ===
461
480
  1);
462
481
  }
463
482
  async checkpointLease(input) {
464
- return (this.client
483
+ return (
484
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
485
+ this.client
465
486
  .query(sqlIdentifiers `UPDATE ${this.leasesTable} SET cursor=? WHERE name=? AND owner=? AND token=?`)
466
487
  .run(input.cursor ?? null, input.name, input.owner, input.token).changes === 1);
467
488
  }
468
489
  async releaseLease(input) {
469
- return (this.client
490
+ return (
491
+ // nifra-expect sql-dynamic: interpolates a validated sqlIdentifier table name, which SQL cannot bind as a parameter
492
+ this.client
470
493
  .query(sqlIdentifiers `UPDATE ${this.leasesTable} SET owner=NULL,token=NULL,expires_at=0 WHERE name=? AND owner=? AND token=?`)
471
494
  .run(input.name, input.owner, input.token).changes === 1);
472
495
  }
@@ -1 +1 @@
1
- {"version":3,"file":"durable-adapters.js","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAA;AAiE1E,SAAS,KAAK,CAAI,KAAQ;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAA6B;IAE7B,MAAM,OAAO,GAAuB;QAClC,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5E,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAsB,QAAQ,EAAE,QAAQ,CAAC;QACvE,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAsB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YAChF,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7D,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACpC,OAAO,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,OAAO,CAAC,IAAI,CAAsB,QAAQ,EAAE,KAA0C,CAAC;KAC1F,CAAA;IAED,MAAM,SAAS,GAAkB;QAC/B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChF,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAiB,UAAU,EAAE,UAAU,CAAC;QACxE,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAiB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YAC/E,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC3D,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YAC7D,OAAO,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACzF,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK;YACjB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAiB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YAC/E,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAClE,IACE,OAAO,KAAK,SAAS;gBACrB,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU;gBACtC,UAAU,CAAC,IAAI,KAAK,SAAS;gBAE7B,OAAO,UAAU,CAAC,MAAM,CAAA;YAC1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAC1C,UAAU,EACV,KAAK,CAAC,UAAU,EAChB,OAAO,CAAC,OAAO,EACf,UAAU,CAAC,IAAI,CAChB,CAAA;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;QAC3D,CAAC;KACF,CAAA;IAED,MAAM,KAAK,GAAc;QACvB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAa,MAAM,EAAE,MAAM,CAAC;QACxD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC7D,OAAO,IAAI,KAAK,SAAS;gBACvB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAa,MAAM,EAAE,KAA0C,CAAC;KAC9F,CAAA;IAED,MAAM,MAAM,GAA6B;QACvC,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QAC/C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3C,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC;QACrD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;KAChD,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAC7D,CAAC;AAcD,6FAA6F;AAC7F,MAAM,OAAO,0BAA0B;IACpB,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IACzC,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;IAChD,GAAG,CAAC,IAAuB,EAAE,EAAU;QAC7C,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE,CAAA;IACxB,CAAC;IACD,KAAK,CAAC,MAAM,CACV,IAAuB,EACvB,EAAU,EACV,MAIC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,GAAG,CACP,IAAuB,EACvB,EAAU;QAEV,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAClD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAU,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,CAAC,aAAa,CACjB,IAAuB,EACvB,EAAU,EACV,eAAuB,EACvB,MAIC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,OAAO,EAAE,OAAO,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAChG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,IAAI,CACR,IAAuB,EACvB,KAAwC;QAExC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAA;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAA;YACtF,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,CAAA;QAC3F,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAqB,CAAC,CAAC,CAAC;YAC7E,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;gBAC9B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,KAA0D;QAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1F,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,SAAS;YACT,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACrE,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAwB,CAAA;IAC5E,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,KAAwD;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IACE,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAC9B,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YACtC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG;YAErC,OAAO,KAAK,CAAA;QACd,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,KAA6D;QAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC1F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,MAAM,CAAA;;YAChD,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAA0D;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC1F,OAAO,OAAO,CAAC,KAAK,CAAA;QACpB,OAAO,OAAO,CAAC,KAAK,CAAA;QACpB,OAAO,OAAO,CAAC,SAAS,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AASD,SAAS,kBAAkB,CAAC,SAAkB,EAAE,OAAe;IAC7D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;AAC5E,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,GAAG,MAAM,SAAS,CAAA;IACnC,MAAM,MAAM,GAAwB;QAClC,QAAQ;QACR,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;KACX,CAAA;IACD,kBAAkB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAA;IAClF,kBAAkB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAA;IAC/F,kBAAkB,CAChB,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/B,QAAQ;QACR,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,WAAW;QACjB,EAAE,EAAE,WAAW;QACf,SAAS,EAAE,CAAC;KACb,CAAC,EACF,qBAAqB,CACtB,CAAA;IACD,kBAAkB,CAChB,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,QAAQ;QACR,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,WAAW;QACjB,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,CAAC;KACb,CAAC,CAAC,EACH,2BAA2B,CAC5B,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,MAAM,WAAW,CAAA;IACvC,MAAM,QAAQ,GAAmB;QAC/B,UAAU;QACV,QAAQ;QACR,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;KACX,CAAA;IACD,kBAAkB,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAA;IACxF,kBAAkB,CAChB,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7B,UAAU;QACV,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,UAAU;QACrB,GAAG,EAAE,CAAC;KACP,CAAC,EACF,4BAA4B,CAC7B,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/C,UAAU;QACV,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,CAAC;KACP,CAAC,CAAA;IACF,kBAAkB,CAAC,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;QAC7C,UAAU;QACV,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,MAAM;QACjB,GAAG,EAAE,CAAC;KACP,CAAC,CAAA;IACF,kBAAkB,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,8BAA8B,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAG,GAAG,MAAM,OAAO,CAAA;IAC/B,MAAM,IAAI,GAAe;QACvB,MAAM;QACN,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;KACX,CAAA;IACD,kBAAkB,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAC5E,kBAAkB,CAChB,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAChC,MAAM;QACN,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KAClE,CAAC,EACF,mBAAmB,CACpB,CAAA;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,GAAG,MAAM,SAAS;QACxB,KAAK,EAAE,GAAG;QACV,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,GAAG;KACb,CAAC,CAAA;IACF,kBAAkB,CAAC,KAAK,KAAK,SAAS,EAAE,wBAAwB,CAAC,CAAA;IACjE,kBAAkB,CAChB,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,GAAG,MAAM,SAAS;QACxB,KAAK,EAAE,GAAG;QACV,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,GAAG;KACb,CAAC,CAAC,KAAK,SAAS,EACjB,mBAAmB,CACpB,CAAA;IACD,kBAAkB,CAChB,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,MAAM;KACf,CAAC,EACF,2BAA2B,CAC5B,CAAA;IACD,kBAAkB,CAChB,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAC1F,wBAAwB,CACzB,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACtE,CAAC;AAcD,SAAS,aAAa,CAAC,KAAa;IAClC,6FAA6F;IAC7F,gGAAgG;IAChG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAA;IAC5F,OAAO,KAAK,CAAA;AACd,CAAC;AAED,mGAAmG;AACnG,SAAS,cAAc,CAAC,OAA6B,EAAE,GAAG,MAAyB;IACjF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,aAAa,CAAI,GAAwC;IAChE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5E,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAM,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,OAAO,4BAA4B;IAIpB;IAHV,YAAY,CAAQ;IACpB,WAAW,CAAQ;IAC5B,YACmB,MAAsB,EACvC,UAA6C,EAAE;QAD9B,WAAM,GAAN,MAAM,CAAgB;QAGvC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,CAAA;QACpE,IAAI,CAAC,YAAY,GAAG,GAAG,MAAM,UAAU,CAAA;QACvC,IAAI,CAAC,WAAW,GAAG,GAAG,MAAM,SAAS,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB,cAAc,CAAA,8BAA8B,IAAI,CAAC,YAAY,mKAAmK,CACjO,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB,cAAc,CAAA,8BAA8B,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,YAAY,gCAAgC,CAChI,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrB,cAAc,CAAA,8BAA8B,IAAI,CAAC,WAAW,qGAAqG,CAClK,CAAA;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAuB,EACvB,EAAU,EACV,MAA0F;QAE1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,eAAe,IAAI,CAAC,YAAY,mHAAmH,EACjK;YACE,IAAI;YACJ,EAAE;YACF,MAAM,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,SAAS,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO;YACd,eAAe,CAAC,MAAM,CAAC;SACxB,CACF,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,GAAG,CACP,IAAuB,EACvB,EAAU;QAEV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,uBAAuB,IAAI,CAAC,YAAY,0BAA0B,EAChF,CAAC,IAAI,EAAE,EAAE,CAAC,CACX,CAAA;QACD,OAAO,aAAa,CAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,KAAK,CAAC,aAAa,CACjB,IAAuB,EACvB,EAAU,EACV,eAAuB,EACvB,MAA0F;QAE1F,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,UAAU,IAAI,CAAC,YAAY,8GAA8G,EACvJ;YACE,IAAI;YACJ,EAAE;YACF,eAAe;YACf,MAAM,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,SAAS,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO;YACd,eAAe,CAAC,MAAM,CAAC;SACxB,CACF,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,IAAI,CACR,IAAuB,EACvB,KAAwC;QAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,0BAA0B,IAAI,CAAC,YAAY,gJAAgJ,EACzM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CACzF,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAI,GAAG,CAAM,CAAC,CAAC;YACrE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,KAA0D;QAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,eAAe,IAAI,CAAC,WAAW,uKAAuK,IAAI,CAAC,WAAW,gEAAgE,EACpS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CACvD,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACvC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,KAAwD;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,6FAA6F,EACrI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAC7E,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,KAA6D;QAE7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,uEAAuE,EAC/G,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAC7D,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAA0D;QAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,gGAAgG,EACxI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CACvC,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,+BAA+B;IACjC,OAAO,CAAoB;IAC3B,SAAS,CAAe;IACxB,KAAK,CAAW;IAChB,MAAM,CAA0B;IAChC,OAAO,CAA8B;IAC9C,YAAY,MAAsB,EAAE,UAA6C,EAAE;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IAC/B,CAAC;CACF;AAkBD,MAAM,OAAO,0BAA0B;IAIlB;IAHV,YAAY,CAAQ;IACpB,WAAW,CAAQ;IAC5B,YACmB,MAAoB,EACrC,UAA6C,EAAE;QAD9B,WAAM,GAAN,MAAM,CAAc;QAGrC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,CAAA;QACpE,IAAI,CAAC,YAAY,GAAG,GAAG,MAAM,UAAU,CAAA;QACvC,IAAI,CAAC,WAAW,GAAG,GAAG,MAAM,SAAS,CAAA;IACvC,CAAC;IACD,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,cAAc,CAAA,8BAA8B,IAAI,CAAC,YAAY,gMAAgM,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,YAAY,0DAA0D,IAAI,CAAC,WAAW,uGAAuG,CACle,CAAA;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CACV,IAAuB,EACvB,EAAU,EACV,MAA0F;QAE1F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;aACvB,KAAK,CACJ,cAAc,CAAA,yBAAyB,IAAI,CAAC,YAAY,kEAAkE,CAC3H;aACA,GAAG,CACF,IAAI,EACJ,EAAE,EACF,MAAM,CAAC,KAAK,IAAI,EAAE,EAClB,MAAM,CAAC,SAAS,IAAI,CAAC,EACrB,MAAM,CAAC,OAAO,EACd,eAAe,CAAC,MAAM,CAAC,CACxB,CAAA;QACH,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,CAAA;IAC7B,CAAC;IACD,KAAK,CAAC,GAAG,CACP,IAAuB,EACvB,EAAU;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;aACpB,KAAK,CAAC,cAAc,CAAA,uBAAuB,IAAI,CAAC,YAAY,wBAAwB,CAAC;aACrF,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChB,OAAO,aAAa,CAAI,GAAG,IAAI,SAAS,CAAC,CAAA;IAC3C,CAAC;IACD,KAAK,CAAC,aAAa,CACjB,IAAuB,EACvB,EAAU,EACV,eAAuB,EACvB,MAA0F;QAE1F,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;aACvB,KAAK,CACJ,cAAc,CAAA,UAAU,IAAI,CAAC,YAAY,mFAAmF,CAC7H;aACA,GAAG,CACF,MAAM,CAAC,KAAK,IAAI,EAAE,EAClB,MAAM,CAAC,SAAS,IAAI,CAAC,EACrB,MAAM,CAAC,OAAO,EACd,eAAe,CAAC,MAAM,CAAC,EACvB,IAAI,EACJ,EAAE,EACF,eAAe,CAChB,CAAA;QACH,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,CAAA;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CACR,IAAuB,EACvB,KAAwC;QAExC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;aACrB,KAAK,CACJ,cAAc,CAAA,0BAA0B,IAAI,CAAC,YAAY,+BAA+B,YAAY,oFAAoF,CACzL;aACA,GAAG,CACF,IAAI,EACJ,GAAG,KAAK,CAAC,MAAM,EACf,KAAK,CAAC,aAAa,IAAI,IAAI,EAC3B,KAAK,CAAC,aAAa,IAAI,IAAI,EAC3B,KAAK,CAAC,MAAM,IAAI,IAAI,EACpB,KAAK,CAAC,MAAM,IAAI,IAAI,EACpB,KAAK,CAAC,KAAK,GAAG,CAAC,CAChB,CAAA;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;QACvF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAI,GAAG,CAAM,CAAC,CAAC;YACrE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,KAA0D;QAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;aACpB,KAAK,CACJ,cAAc,CAAA,eAAe,IAAI,CAAC,WAAW,kKAAkK,IAAI,CAAC,WAAW,+DAA+D,CAC/R;aACA,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,KAAwD;QACvE,OAAO,CACL,IAAI,CAAC,MAAM;aACR,KAAK,CACJ,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,yEAAyE,CAClH;aACA,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO;YAC1F,CAAC,CACF,CAAA;IACH,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,KAA6D;QAE7D,OAAO,CACL,IAAI,CAAC,MAAM;aACR,KAAK,CACJ,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,oDAAoD,CAC7F;aACA,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CACjF,CAAA;IACH,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAA0D;QAC3E,OAAO,CACL,IAAI,CAAC,MAAM;aACR,KAAK,CACJ,cAAc,CAAA,UAAU,IAAI,CAAC,WAAW,8EAA8E,CACvH;aACA,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAC3D,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,6BAA6B;IAC/B,OAAO,CAAoB;IAC3B,SAAS,CAAe;IACxB,KAAK,CAAW;IAChB,MAAM,CAA0B;IAChC,OAAO,CAA4B;IAC5C,YAAY,MAAoB,EAAE,UAA6C,EAAE;QAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;CACF;AAyBD,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAAG,CAAC;IACtD,SAAS,CAAC,IAAuB,EAAE,EAAU;QACnD,OAAO,UAAU,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAA;IACnD,CAAC;IACO,QAAQ,CAAC,IAAY;QAC3B,OAAO,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,MAAM,CACV,IAAuB,EACvB,EAAU,EACV,MAIC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACpD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CACP,IAAuB,EACvB,EAAU;QAEV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC;IACD,KAAK,CAAC,aAAa,CACjB,IAAuB,EACvB,EAAU,EACV,eAAuB,EACvB,MAIC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACxD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAA+B,GAAG,CAAC,CAAA;YAChE,IAAI,OAAO,EAAE,OAAO,KAAK,eAAe;gBAAE,OAAO,KAAK,CAAA;YACtD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;YACjC,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,IAAuB,EACvB,KAAwC;QAExC,MAAM,MAAM,GAAG,UAAU,IAAI,GAAG,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAI;YACxC,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;SACvB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAqC,EAAE,CAAA;QACrD,IAAI,WAA+B,CAAA;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1D,IACE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,EAC9E,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;gBAAE,MAAK;QAC1C,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAA;QAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,GAAG,CAAC,OAAO,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,KAA0D;QAE1D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,GAAG,CAAC,CAAA;YAC3D,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAA;YACnF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACjC,MAAM,IAAI,GAA4B;gBACpC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK;gBACL,SAAS,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO;gBACpC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;aACrE,CAAA;YACD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACxB,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC9D,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,KAAwD;QACvE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,GAAG,CAAC,CAAA;YAC3D,IACE,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;gBAC9B,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBACtC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG;gBAE9B,OAAO,KAAK,CAAA;YACd,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,KAA6D;QAE7D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,GAAG,CAAC,CAAA;YAC3D,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC1F,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAA;;gBAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,KAA0D;QAC3E,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAA0B,GAAG,CAAC,CAAA;YAC3D,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAC1F,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;YACzC,OAAO,IAAI,CAAC,KAAK,CAAA;YACjB,OAAO,IAAI,CAAC,KAAK,CAAA;YACjB,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,OAAO,6BAA6B;IAC/B,OAAO,CAAoB;IAC3B,SAAS,CAAe;IACxB,KAAK,CAAW;IAChB,MAAM,CAA0B;IAChC,OAAO,CAA4B;IAC5C,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"durable-adapters.js","sourceRoot":"","sources":["../src/durable-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { CapabilityApprovalGate } from "./internal/capability-runtime.js";
2
+ import type { ApprovalConsumeResult, ApprovalRecord, ApprovalStore } from "./internal/durable-types.js";
3
+ export declare class ApprovalRequiredError extends Error {
4
+ readonly approvalId: string;
5
+ readonly effectId: string;
6
+ readonly resumeToken: string;
7
+ readonly expiresAt: number;
8
+ constructor(approvalId: string, effectId: string, resumeToken: string, expiresAt: number);
9
+ }
10
+ export declare class ApprovalTokenInvalidError extends Error {
11
+ constructor();
12
+ }
13
+ export declare class ApprovalTokenExpiredError extends Error {
14
+ constructor();
15
+ }
16
+ export declare class ApprovalTokenReplayError extends Error {
17
+ constructor();
18
+ }
19
+ export declare class ApprovalBindingError extends Error {
20
+ constructor();
21
+ }
22
+ export declare class ApprovalPendingError extends Error {
23
+ constructor();
24
+ }
25
+ export declare class ApprovalDeniedError extends Error {
26
+ constructor();
27
+ }
28
+ export interface ApprovalCoordinator extends CapabilityApprovalGate {
29
+ decide(input: {
30
+ readonly approvalId: string;
31
+ readonly tenantId: string;
32
+ readonly decision: "approved" | "denied";
33
+ readonly decidedBy: string;
34
+ }): Promise<void>;
35
+ get(approvalId: string): Promise<ApprovalRecord | undefined>;
36
+ }
37
+ export interface ApprovalCoordinatorOptions {
38
+ readonly store: ApprovalStore;
39
+ /** At least 32 random bytes, kept separately from the approval store. */
40
+ readonly secret: Uint8Array;
41
+ readonly ttlMs?: number;
42
+ readonly now?: () => number;
43
+ /** Tests/local development only. Production approval records require a durable store. */
44
+ readonly allowMemoryStore?: boolean;
45
+ }
46
+ export declare function createApprovalCoordinator(options: ApprovalCoordinatorOptions): ApprovalCoordinator;
47
+ export declare class MemoryApprovalStore implements ApprovalStore {
48
+ readonly durability: "memory";
49
+ private readonly records;
50
+ create(record: ApprovalRecord): boolean;
51
+ get(approvalId: string): ApprovalRecord | undefined;
52
+ decide(input: Parameters<ApprovalStore["decide"]>[0]): boolean;
53
+ consume(input: Parameters<ApprovalStore["consume"]>[0]): ApprovalConsumeResult;
54
+ list(): readonly ApprovalRecord[];
55
+ }
56
+ //# sourceMappingURL=durable-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-approval.d.ts","sourceRoot":"","sources":["../src/durable-approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAY9E,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,aAAa,EACd,MAAM,6BAA6B,CAAA;AAoBpC,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAazF;AAED,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AACD,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD;AACD,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD;AACD,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AACD,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AACD,qBAAa,mBAAoB,SAAQ,KAAK;;CAK7C;AASD,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,MAAM,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAA;QACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAyHrB;AAED,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,UAAU,EAAG,QAAQ,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAKvC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInD,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAO9D,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB;IAO9E,IAAI,IAAI,SAAS,cAAc,EAAE;CAKlC"}
@@ -0,0 +1,233 @@
1
+ import { durableApprovalProtocol } from "./internal/durable-approval-protocol.js";
2
+ import { addDuration, assertPositiveMs, assertToken, bytesToBase64Url, cloneValue, encoder, readClock, sha256, } from "./internal/durable-shared.js";
3
+ const decoder = new TextDecoder();
4
+ function base64UrlToBytes(value) {
5
+ if (!/^[A-Za-z0-9_-]+$/u.test(value))
6
+ throw new ApprovalTokenInvalidError();
7
+ const padded = value
8
+ .replaceAll("-", "+")
9
+ .replaceAll("_", "/")
10
+ .padEnd(Math.ceil(value.length / 4) * 4, "=");
11
+ let binary;
12
+ try {
13
+ binary = atob(padded);
14
+ }
15
+ catch {
16
+ throw new ApprovalTokenInvalidError();
17
+ }
18
+ return Uint8Array.from(binary, (character) => character.charCodeAt(0));
19
+ }
20
+ // Durable human approval with signed, single-use resume tokens
21
+ export class ApprovalRequiredError extends Error {
22
+ approvalId;
23
+ effectId;
24
+ resumeToken;
25
+ expiresAt;
26
+ constructor(approvalId, effectId, resumeToken, expiresAt) {
27
+ super("capability approval is required");
28
+ this.approvalId = approvalId;
29
+ this.effectId = effectId;
30
+ this.expiresAt = expiresAt;
31
+ Object.defineProperty(this, "resumeToken", {
32
+ value: resumeToken,
33
+ enumerable: false,
34
+ configurable: false,
35
+ writable: false,
36
+ });
37
+ this.name = "ApprovalRequiredError";
38
+ }
39
+ }
40
+ export class ApprovalTokenInvalidError extends Error {
41
+ constructor() {
42
+ super("approval resume token is invalid");
43
+ this.name = "ApprovalTokenInvalidError";
44
+ }
45
+ }
46
+ export class ApprovalTokenExpiredError extends Error {
47
+ constructor() {
48
+ super("approval resume token has expired");
49
+ this.name = "ApprovalTokenExpiredError";
50
+ }
51
+ }
52
+ export class ApprovalTokenReplayError extends Error {
53
+ constructor() {
54
+ super("approval resume token has already been consumed");
55
+ this.name = "ApprovalTokenReplayError";
56
+ }
57
+ }
58
+ export class ApprovalBindingError extends Error {
59
+ constructor() {
60
+ super("approval resume token is bound to another tenant or principal");
61
+ this.name = "ApprovalBindingError";
62
+ }
63
+ }
64
+ export class ApprovalPendingError extends Error {
65
+ constructor() {
66
+ super("capability approval is still pending");
67
+ this.name = "ApprovalPendingError";
68
+ }
69
+ }
70
+ export class ApprovalDeniedError extends Error {
71
+ constructor() {
72
+ super("capability approval was denied");
73
+ this.name = "ApprovalDeniedError";
74
+ }
75
+ }
76
+ export function createApprovalCoordinator(options) {
77
+ if (options.store.durability !== "durable" && options.allowMemoryStore !== true) {
78
+ throw new TypeError('approval coordinator requires store.durability === "durable"');
79
+ }
80
+ if (!(options.secret instanceof Uint8Array) || options.secret.byteLength < 32) {
81
+ throw new TypeError("approval secret must contain at least 32 random bytes");
82
+ }
83
+ const secret = new Uint8Array(options.secret);
84
+ const ttlMs = options.ttlMs ?? 15 * 60_000;
85
+ assertPositiveMs(ttlMs, "approval ttlMs");
86
+ const clock = options.now ?? Date.now;
87
+ const now = () => readClock(clock, "approval clock");
88
+ const key = crypto.subtle.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, [
89
+ "sign",
90
+ "verify",
91
+ ]);
92
+ const sign = async (claims) => {
93
+ const payload = bytesToBase64Url(encoder.encode(JSON.stringify(claims)));
94
+ const signature = new Uint8Array(await crypto.subtle.sign("HMAC", await key, encoder.encode(payload)));
95
+ return `v1.${payload}.${bytesToBase64Url(signature)}`;
96
+ };
97
+ const verify = async (token) => {
98
+ if (typeof token !== "string" || token.length > 2048)
99
+ throw new ApprovalTokenInvalidError();
100
+ const parts = token.split(".");
101
+ if (parts.length !== 3 || parts[0] !== "v1")
102
+ throw new ApprovalTokenInvalidError();
103
+ const payload = parts[1];
104
+ const valid = await crypto.subtle.verify("HMAC", await key, base64UrlToBytes(parts[2]).buffer, encoder.encode(payload));
105
+ if (!valid)
106
+ throw new ApprovalTokenInvalidError();
107
+ let claims;
108
+ try {
109
+ claims = JSON.parse(decoder.decode(base64UrlToBytes(payload)));
110
+ }
111
+ catch {
112
+ throw new ApprovalTokenInvalidError();
113
+ }
114
+ if (typeof claims !== "object" || claims === null)
115
+ throw new ApprovalTokenInvalidError();
116
+ const candidate = claims;
117
+ if (candidate.v !== 1 ||
118
+ typeof candidate.id !== "string" ||
119
+ typeof candidate.nonce !== "string" ||
120
+ !Number.isSafeInteger(candidate.exp)) {
121
+ throw new ApprovalTokenInvalidError();
122
+ }
123
+ assertToken(candidate.id, "approval id", 128);
124
+ assertToken(candidate.nonce, "approval nonce", 128);
125
+ if (candidate.exp <= now())
126
+ throw new ApprovalTokenExpiredError();
127
+ return candidate;
128
+ };
129
+ const coordinator = {
130
+ async authorize(input) {
131
+ if (input.signal.aborted)
132
+ throw input.signal.reason;
133
+ assertToken(input.identity.tenantId, "approval tenantId");
134
+ assertToken(input.identity.principalId, "approval principalId");
135
+ if (input.resumeToken === undefined) {
136
+ const approvalId = crypto.randomUUID();
137
+ const nonce = bytesToBase64Url(crypto.getRandomValues(new Uint8Array(18)));
138
+ const issuedAt = now();
139
+ const expiresAt = addDuration(issuedAt, ttlMs, "approval expiry");
140
+ const resumeToken = await sign({ v: 1, id: approvalId, nonce, exp: expiresAt });
141
+ const accepted = await options.store.create(Object.freeze({
142
+ approvalId,
143
+ effectId: input.effectId,
144
+ capability: input.capability,
145
+ ...(input.target === undefined ? {} : { target: input.target }),
146
+ ...(input.digest === undefined ? {} : { digest: input.digest }),
147
+ tenantId: input.identity.tenantId,
148
+ principalId: input.identity.principalId,
149
+ tokenHash: await sha256(resumeToken),
150
+ state: "pending",
151
+ createdAt: issuedAt,
152
+ expiresAt,
153
+ updatedAt: issuedAt,
154
+ version: 1,
155
+ }));
156
+ if (!accepted)
157
+ throw new Error("approval store rejected a unique approval id");
158
+ throw new ApprovalRequiredError(approvalId, input.effectId, resumeToken, expiresAt);
159
+ }
160
+ const claims = await verify(input.resumeToken);
161
+ const consumed = await options.store.consume({
162
+ approvalId: claims.id,
163
+ tenantId: input.identity.tenantId,
164
+ principalId: input.identity.principalId,
165
+ capability: input.capability,
166
+ ...(input.target === undefined ? {} : { target: input.target }),
167
+ ...(input.digest === undefined ? {} : { digest: input.digest }),
168
+ tokenHash: await sha256(input.resumeToken),
169
+ now: now(),
170
+ });
171
+ if (consumed.state === "consumed")
172
+ return;
173
+ if (consumed.state === "replay")
174
+ throw new ApprovalTokenReplayError();
175
+ if (consumed.state === "binding")
176
+ throw new ApprovalBindingError();
177
+ if (consumed.state === "expired")
178
+ throw new ApprovalTokenExpiredError();
179
+ if (consumed.state === "pending")
180
+ throw new ApprovalPendingError();
181
+ if (consumed.state === "denied")
182
+ throw new ApprovalDeniedError();
183
+ throw new ApprovalTokenInvalidError();
184
+ },
185
+ async decide(input) {
186
+ assertToken(input.approvalId, "approval id", 128);
187
+ assertToken(input.tenantId, "approval tenantId");
188
+ assertToken(input.decidedBy, "approval decidedBy");
189
+ const accepted = await options.store.decide({ ...input, now: now() });
190
+ if (!accepted)
191
+ throw new Error("approval decision rejected");
192
+ },
193
+ async get(approvalId) {
194
+ assertToken(approvalId, "approval id", 128);
195
+ return await options.store.get(approvalId);
196
+ },
197
+ };
198
+ return Object.freeze(coordinator);
199
+ }
200
+ export class MemoryApprovalStore {
201
+ durability = "memory";
202
+ records = new Map();
203
+ create(record) {
204
+ if (this.records.has(record.approvalId))
205
+ return false;
206
+ this.records.set(record.approvalId, Object.freeze(cloneValue(record)));
207
+ return true;
208
+ }
209
+ get(approvalId) {
210
+ const record = this.records.get(approvalId);
211
+ return record === undefined ? undefined : Object.freeze(cloneValue(record));
212
+ }
213
+ decide(input) {
214
+ const record = this.records.get(input.approvalId);
215
+ const next = durableApprovalProtocol.decide(record, input);
216
+ if (next === undefined)
217
+ return false;
218
+ this.records.set(input.approvalId, Object.freeze(next));
219
+ return true;
220
+ }
221
+ consume(input) {
222
+ const record = this.records.get(input.approvalId);
223
+ const transition = durableApprovalProtocol.consume(record, input);
224
+ if (transition.next !== undefined)
225
+ this.records.set(input.approvalId, Object.freeze(transition.next));
226
+ return transition.result;
227
+ }
228
+ list() {
229
+ return Object.freeze([...this.records.values()].map((record) => Object.freeze(cloneValue(record))));
230
+ }
231
+ }
232
+ // -------------------------------------------------------------------------------------------------
233
+ //# sourceMappingURL=durable-approval.js.map