@ixo/decision-oracle 0.2.28 → 0.2.29

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/db/schema.d.ts +17 -0
  3. package/dist/db/schema.d.ts.map +1 -1
  4. package/dist/db/schema.js +10 -0
  5. package/dist/db/schema.js.map +1 -1
  6. package/dist/lib/api-lane/accept.d.ts.map +1 -1
  7. package/dist/lib/api-lane/accept.js +27 -10
  8. package/dist/lib/api-lane/accept.js.map +1 -1
  9. package/dist/lib/api-lane/notify.d.ts +9 -0
  10. package/dist/lib/api-lane/notify.d.ts.map +1 -1
  11. package/dist/lib/api-lane/notify.js +10 -3
  12. package/dist/lib/api-lane/notify.js.map +1 -1
  13. package/dist/lib/api-lane/record.d.ts.map +1 -1
  14. package/dist/lib/api-lane/record.js +6 -3
  15. package/dist/lib/api-lane/record.js.map +1 -1
  16. package/dist/lib/engine/client.d.ts +14 -2
  17. package/dist/lib/engine/client.d.ts.map +1 -1
  18. package/dist/lib/engine/client.js +90 -11
  19. package/dist/lib/engine/client.js.map +1 -1
  20. package/dist/lib/work-order/index.d.ts +4 -2
  21. package/dist/lib/work-order/index.d.ts.map +1 -1
  22. package/dist/lib/work-order/index.js +19 -4
  23. package/dist/lib/work-order/index.js.map +1 -1
  24. package/dist/middleware/api/keys.d.ts.map +1 -1
  25. package/dist/middleware/api/keys.js +10 -2
  26. package/dist/middleware/api/keys.js.map +1 -1
  27. package/dist/middleware/api/rate-limit.js +3 -4
  28. package/dist/middleware/api/rate-limit.js.map +1 -1
  29. package/dist/middleware/api/wait.d.ts +17 -2
  30. package/dist/middleware/api/wait.d.ts.map +1 -1
  31. package/dist/middleware/api/wait.js +80 -19
  32. package/dist/middleware/api/wait.js.map +1 -1
  33. package/dist/routes/v1/api/claims.d.ts +15 -3
  34. package/dist/routes/v1/api/claims.d.ts.map +1 -1
  35. package/dist/routes/v1/api/claims.js +85 -14
  36. package/dist/routes/v1/api/claims.js.map +1 -1
  37. package/dist/workflows/claim-ingest.d.ts +19 -125
  38. package/dist/workflows/claim-ingest.d.ts.map +1 -1
  39. package/dist/workflows/claim-ingest.js +49 -765
  40. package/dist/workflows/claim-ingest.js.map +1 -1
  41. package/dist/workflows/evaluate.d.ts +193 -0
  42. package/dist/workflows/evaluate.d.ts.map +1 -0
  43. package/dist/workflows/evaluate.js +980 -0
  44. package/dist/workflows/evaluate.js.map +1 -0
  45. package/docs/api.md +24 -4
  46. package/docs/guide.md +19 -1
  47. package/migrations/0029_inline_lease.sql +1 -0
  48. package/migrations/meta/0029_snapshot.json +3021 -0
  49. package/migrations/meta/_journal.json +7 -0
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/middleware/api/wait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/middleware/api/wait.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,22 @@
3
3
  * `startApiClaim` seam's, and every step before `recordApiClaims` is free for the caller:
4
4
  *
5
5
  * repeat? → paused? → protocol allowed? → work order + answers (§4.3) → pay (402 / verify,
6
- * which reserves) → recordApiClaims → startApiClaims → wait → 200 record | 202
6
+ * which reserves) → recordApiClaims → startApiClaims → (inline evaluate) → wait → 200 | 202
7
7
  *
8
- * The money moves on the engine's receipt (contracts v1.3): the workflow settles after the decision
9
- * row, and a `200` carrying a decision carries that settle answer as `PAYMENT-RESPONSE`.
8
+ * The work order is read BESIDE the repeat check (it is a cache read or a Blocksync + engine read,
9
+ * the repeat a D1 read); every refusal still comes out in the order above.
10
+ *
11
+ * **A caller that waits gets its decision from this request** (`Prefer: wait=N`, N > 0): after the
12
+ * claim's workflow is created — it stays the durable fallback and runs every step — the request runs
13
+ * the claim's `evaluate` itself (`evaluateInline`, workflows/evaluate.ts) instead of polling the
14
+ * ledger through the workflow's queue time, and answers `200` with the record the moment it lands.
15
+ * A run that fails leaves the claim to the workflow's retries and the caller to the poll. Not for
16
+ * `wait=0` (an async submit asks nothing) nor a repeat (its claim already started), nor past the
17
+ * isolate's / source's caps (`inlineSlot`): those poll, as before.
18
+ *
19
+ * The money moves on the engine's receipt (contracts v1.3): whichever `evaluate` records the
20
+ * decision row (the workflow's, or this request's inline run) settles after it, and a `200` carrying
21
+ * a decision carries that settle answer as `PAYMENT-RESPONSE`.
10
22
  *
11
23
  * **Idempotency is the claim's own id** (§4.6): with an `Idempotency-Key` the claimId is
12
24
  * `apc_` + 40 hex of sha256(sourceId|key), so a repeat finds the claim and answers its CURRENT
@@ -1 +1 @@
1
- {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAGL,KAAK,WAAW,EAEhB,KAAK,mBAAmB,EACxB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAiB,KAAK,SAAS,EAAa,MAAM,oBAAoB,CAAC;AAO9E,OAAO,EACL,iBAAiB,EAIlB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAY,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAMtF,eAAO,MAAM,MAAM,qDAAqB,CAAC;AA2TzC,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjD;gGACgG;AAChG,wBAAsB,OAAO,CAC3B,CAAC,EAAE,UAAU,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CAsBpF;AAcD;yEACyE;AACzE,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY;;;;;UAYrB;AAED,mGAAmG;AACnG,eAAO,MAAM,OAAO,QACb,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,UAC7C,MAAM,UACN,YAAY;;;;;EAInB,CAAC;AAEJ;4EAC4E;AAC5E,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,GAAG,QAAQ,CAKlF;AA+BD,2FAA2F;AAC3F,eAAO,MAAM,WAAW,WAAY,YAAY,kBACE,CAAC;AAEnD,eAAO,MAAM,UAAU,SACf,kBAAkB,UAChB,SAAS,aACN,SAAS,MAAM,EAAE,aAEjB,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;CAQxB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,SAAc,GACjB,IAAI,CAON;AAED;sFACsF;AACtF,eAAO,MAAM,aAAa,WAAY,YAAY,kBACL,CAAC;AAE9C;;4FAE4F;AAC5F,eAAO,MAAM,cAAc,WAAY,YAAY,KAAG,WAAW,CAAC,cAAc,CAMtE,CAAC;AASX,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAU7D;AAED,iGAAiG;AACjG,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjF;AAED,eAAO,MAAM,SAAS,OAAQ,QAAQ,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACkB,CAAC;AAE1E,2FAA2F;AAC3F,eAAO,MAAM,eAAe,gBAKzB,CAAC;AAEJ,mFAAmF;AACnF,eAAO,MAAM,YAAY,WAAY,MAAM,GAAG,IAAI,aAK/C,CAAC;AAEJ,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,WACsD,CAAC;AAE7G,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAyBxF"}
@@ -3,10 +3,22 @@
3
3
  * `startApiClaim` seam's, and every step before `recordApiClaims` is free for the caller:
4
4
  *
5
5
  * repeat? → paused? → protocol allowed? → work order + answers (§4.3) → pay (402 / verify,
6
- * which reserves) → recordApiClaims → startApiClaims → wait → 200 record | 202
6
+ * which reserves) → recordApiClaims → startApiClaims → (inline evaluate) → wait → 200 | 202
7
7
  *
8
- * The money moves on the engine's receipt (contracts v1.3): the workflow settles after the decision
9
- * row, and a `200` carrying a decision carries that settle answer as `PAYMENT-RESPONSE`.
8
+ * The work order is read BESIDE the repeat check (it is a cache read or a Blocksync + engine read,
9
+ * the repeat a D1 read); every refusal still comes out in the order above.
10
+ *
11
+ * **A caller that waits gets its decision from this request** (`Prefer: wait=N`, N > 0): after the
12
+ * claim's workflow is created — it stays the durable fallback and runs every step — the request runs
13
+ * the claim's `evaluate` itself (`evaluateInline`, workflows/evaluate.ts) instead of polling the
14
+ * ledger through the workflow's queue time, and answers `200` with the record the moment it lands.
15
+ * A run that fails leaves the claim to the workflow's retries and the caller to the poll. Not for
16
+ * `wait=0` (an async submit asks nothing) nor a repeat (its claim already started), nor past the
17
+ * isolate's / source's caps (`inlineSlot`): those poll, as before.
18
+ *
19
+ * The money moves on the engine's receipt (contracts v1.3): whichever `evaluate` records the
20
+ * decision row (the workflow's, or this request's inline run) settles after it, and a `200` carrying
21
+ * a decision carries that settle answer as `PAYMENT-RESPONSE`.
10
22
  *
11
23
  * **Idempotency is the claim's own id** (§4.6): with an `Idempotency-Key` the claimId is
12
24
  * `apc_` + 40 hex of sha256(sourceId|key), so a repeat finds the claim and answers its CURRENT
@@ -35,7 +47,8 @@ import { validate } from "../../../lib/validator.js";
35
47
  import { access, sourceOf } from "../../../middleware/api/auth.js";
36
48
  import { ApiError, count402 } from "../../../middleware/api/errors.js";
37
49
  import { noteReserving } from "../../../middleware/api/oauth.js";
38
- import { awaitLanding, preferredWait } from "../../../middleware/api/wait.js";
50
+ import { awaitLanding, inlineSlot, preferredWait } from "../../../middleware/api/wait.js";
51
+ import { evaluateInline, INLINE_AFTERLIFE_MS } from "../../../workflows/evaluate.js";
39
52
  import { ClaimParam, claimOf, readableClaimOf } from "./claims-read.js";
40
53
  import { checkSubmission, workOrderFor } from "./work-orders.js";
41
54
  export const claims = new Hono();
@@ -51,6 +64,12 @@ claims.post("/claims", access({ op: "submitClaim", scope: "claims:write", capabi
51
64
  const requestDigest = idempotencyKey ? await sha256Hex(canonicalJson(body)) : null;
52
65
  const paymentHeader = c.req.header("PAYMENT-SIGNATURE") ?? null;
53
66
  const wait = preferredWait(c.req.header("Prefer"));
67
+ const { source } = caller;
68
+ // The work order, started now and awaited in its turn below: a refusal before it still wins,
69
+ // and a repeat never looks at it (its rejection is swallowed until then).
70
+ const protocol = attempt(() => protocolOf(body.protocolDid, source.allowedProtocols));
71
+ const workOrder = protocol.ok ? workOrderFor(c.env, protocol.value) : null;
72
+ workOrder?.catch(() => { });
54
73
  let claimId = idempotencyKey
55
74
  ? await keyedClaimId(caller.source.sourceId, idempotencyKey)
56
75
  : null;
@@ -59,17 +78,18 @@ claims.post("/claims", access({ op: "submitClaim", scope: "claims:write", capabi
59
78
  if (existing)
60
79
  return answerRepeat(c, caller, existing, requestDigest, wait);
61
80
  }
62
- const { source } = caller;
63
81
  if (source.status === "paused") {
64
82
  throw sourcePaused(source.pausedReason);
65
83
  }
66
- const protocolDid = protocolOf(body.protocolDid, source.allowedProtocols);
84
+ if (!protocol.ok)
85
+ throw protocol.error;
86
+ const protocolDid = protocol.value;
67
87
  // `claims/submit` is never narrowed itself, but a grant's `nb.protocols` is the grant's word.
68
88
  if (caller.kind !== "key" && caller.protocols && !caller.protocols.includes(protocolDid)) {
69
89
  throw new ApiError("FORBIDDEN", protocolOutOfReach(protocolDid));
70
90
  }
71
91
  checkOAuthSubmitter(caller, body.submitter);
72
- const work = await workOrderFor(c.env, protocolDid);
92
+ const work = await workOrder;
73
93
  // Who the claim is about: the caller's own word, else the company's `payeeField` answer.
74
94
  const submitter = submitterFor(body, source.payeeField);
75
95
  // The payment first names the claim when no key did; the work-order check needs the id to
@@ -169,24 +189,51 @@ claims.post("/claims", access({ op: "submitClaim", scope: "claims:write", capabi
169
189
  // Counted before the start: a claim taken is a submit even if its start fails (the reconcile
170
190
  // starts it). `wait=0` asks nothing, so it is async.
171
191
  c.get("metrics").count("api.submit", 1, { op: wait ? "sync" : "async" });
192
+ const deadline = Date.now() + (wait ?? 0) * 1000;
193
+ // A caller that waits: this request decides the claim itself (header) — AFTER the workflow is
194
+ // created, so the durable fallback exists before anything is evaluated here. The run's lease
195
+ // (how long it may still be alive: the wait, then `waitUntil`'s window) goes on the ledger row
196
+ // in the statement that takes it, never in the instance's params — a repeat may have created
197
+ // the instance.
198
+ const lease = deadline + INLINE_AFTERLIFE_MS;
172
199
  await startApiClaims(c.env, [claimId]);
173
- return answerState(c, caller, claimId, wait);
200
+ const inline = wait ? inlineSlot(source.sourceId, lease) : null;
201
+ if (inline) {
202
+ const run = evaluateInline(c.env, claimId, {
203
+ lease,
204
+ background: (p) => c.executionCtx.waitUntil(p),
205
+ })
206
+ // It answers every outcome itself; a throw here is its setup's, and the poll still runs.
207
+ .catch((err) => c.get("logger").error("api.inline.crashed", { claimId, detail: String(err) }))
208
+ .finally(inline);
209
+ // A caller that hangs up, or a wait that runs out first, never cuts the run short: it
210
+ // finishes under `waitUntil`, inside its lease.
211
+ c.executionCtx.waitUntil(run);
212
+ await settledBy(run, deadline);
213
+ }
214
+ return answerState(c, caller, claimId, wait, deadline);
174
215
  });
175
216
  claims.get("/claims/:claimId", access({ op: "getClaim", scope: "claims:read", capability: "claims/read" }), validate("param", ClaimParam), validate("query", z.object({ wait: z.coerce.number().int().min(0).optional() })), async (c) => {
176
217
  const caller = sourceOf(c);
177
- const claim = await readableClaimOf(c, c.req.valid("param").claimId);
218
+ const claimId = c.req.valid("param").claimId;
178
219
  // `?wait=N` or `Prefer: wait=N`, capped at 90 like the submit's (§4.1).
179
220
  const asked = c.req.valid("query").wait ?? preferredWait(c.req.header("Prefer"));
180
221
  const wait = asked === null ? null : Math.min(asked, MAX_WAIT_SECONDS);
181
222
  const db = await c.var.db();
223
+ // A linked collection's chain claim carries the reading source (record.ts). Without a wait the
224
+ // record is read BESIDE the read gate and shown only once the gate passed — one round trip
225
+ // fewer on every poll; a gate that refuses discards it unseen.
226
+ const early = wait ? null : claimRecord(db, claimId, { sourceId: caller.source.sourceId });
227
+ early?.catch(() => { });
228
+ const claim = await readableClaimOf(c, claimId);
182
229
  if (wait) {
183
230
  const landed = await awaitLanding(db, caller.source.sourceId, claim.claimId, wait);
184
231
  c.get("metrics").count("api.wait", 1, { op: "get", outcome: landed ? "hit" : "miss" });
185
232
  if (landed)
186
233
  c.header("Preference-Applied", `wait=${wait}`);
187
234
  }
188
- // A linked collection's chain claim carries the reading source (record.ts).
189
- return c.json(await recordOf(db, claim.claimId, caller.source.sourceId));
235
+ const record = early ? await early : null;
236
+ return c.json(record ?? (await recordOf(db, claim.claimId, caller.source.sourceId)));
190
237
  });
191
238
  /**
192
239
  * Ask the facilitator now whether this claim's card payment was refunded, record it, and answer
@@ -224,10 +271,12 @@ async function answerRepeat(c, caller, claim, requestDigest, wait) {
224
271
  await startApiClaims(c.env, [claim.claimId]);
225
272
  return answerState(c, caller, claim.claimId, wait);
226
273
  }
227
- /** `200` + the record when the decision has landed (within `wait`, if asked), else `202`. */
228
- async function answerState(c, caller, claimId, wait) {
274
+ /** `200` + the record when the decision has landed (within `wait`, if asked — by `deadline`, when
275
+ * part of it was already spent), else `202`. */
276
+ async function answerState(c, caller, claimId, wait, deadline) {
229
277
  const db = await c.var.db();
230
- const landed = await awaitLanding(db, caller.source.sourceId, claimId, wait ?? 0);
278
+ const budget = deadline === undefined ? (wait ?? 0) : Math.max(0, (deadline - Date.now()) / 1000);
279
+ const landed = await awaitLanding(db, caller.source.sourceId, claimId, budget);
231
280
  if (wait) {
232
281
  c.get("metrics").count("api.wait", 1, { op: "submit", outcome: landed ? "hit" : "miss" });
233
282
  }
@@ -235,6 +284,8 @@ async function answerState(c, caller, claimId, wait) {
235
284
  if (wait !== null)
236
285
  c.header("Preference-Applied", `wait=${wait}`);
237
286
  // Payments spec §4 step 8: the decision's settle answer (for PAY usually `settlement_pending`).
287
+ // Before the record, never beside it: a charge still `reserved` is settled by this read, and
288
+ // the record shows what it wrote.
238
289
  const settled = c.get("config").X402_FACILITATOR_URL
239
290
  ? await paymentResponse({
240
291
  config: c.get("config"),
@@ -326,6 +377,26 @@ const offerFor = (caller, claimId, protocolDid) => ({
326
377
  items: [{ claimId, protocolDid }],
327
378
  });
328
379
  // --- small readers -----------------------------------------------------------------------------------
380
+ /** A synchronous throw as a value, to be rethrown in its turn (the submit's refusal order). */
381
+ function attempt(f) {
382
+ try {
383
+ return { ok: true, value: f() };
384
+ }
385
+ catch (error) {
386
+ return { ok: false, error };
387
+ }
388
+ }
389
+ /** Resolves when `p` settles or at `deadline` (epoch ms), whichever is first. */
390
+ async function settledBy(p, deadline) {
391
+ let timer;
392
+ await Promise.race([
393
+ p,
394
+ new Promise((r) => {
395
+ timer = setTimeout(r, Math.max(0, deadline - Date.now()));
396
+ }),
397
+ ]);
398
+ clearTimeout(timer);
399
+ }
329
400
  /** A console submit has no key: only the payment delegation caps it (§4.1 `SPEND_CAP`). */
330
401
  export const keyPrefixOf = (caller) => caller.kind === "key" ? caller.key.prefix : null;
331
402
  export const submission = (body, source, ownClaims,
@@ -1 +1 @@
1
- {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,gBAAgB,EAEhB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAiC,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,IAAI,EAAU,CAAC;AAEzC,qEAAqE;AACrE,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,yFAAyF;AACzF,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,CAAC,IAAI,CACT,SAAS,EACT,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,EACjF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAChE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,IAAI,OAAO,GAAG,cAAc;QAC1B,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1E,8FAA8F;IAC9F,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpD,yFAAyF;IACzF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAExD,0FAA0F;IAC1F,sDAAsD;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,IAAI,MAAM,GAA+B,IAAI,CAAC;IAC9C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YACtF,OAAO,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,2FAA2F;QAC3F,0FAA0F;QAC1F,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,CAAC;YAClF,0FAA0F;YAC1F,8EAA8E;YAC9E,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAChF,OAAO,eAAe,CACpB,CAAC,EACD,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,4IAA4I,EAC5I;gBACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aACpF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,oFAAoF;YACpF,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,QAAQ;gBAAE,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChF,6FAA6F;QAC7F,yFAAyF;QACzF,IACE,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO;YACpD,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAC1D,CAAC;YACD,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,uFAAuF;YACvF,IAAI,CAAC,YAAY;gBAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,GAAG;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,aAAa;SACd,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;QAC9C;YACE,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;YACnC,cAAc;YACd,aAAa;YACb,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;YACxC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;YAC9B,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC;YAClC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBACzB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE;gBACnE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM;SACP;KACF,CAAC,CAAC;IACH,iFAAiF;IACjF,IAAI,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;QACzF,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,6FAA6F;IAC7F,qDAAqD;IACrD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,GAAG,CACR,kBAAkB,EAClB,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAC3E,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAChF,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACrE,wEAAwE;IACxE,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,MAAM;YAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,4EAA4E;IAC5E,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3E,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAI,CACT,kCAAkC,EAClC,MAAM,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EACtF,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,aAAa,CACjB;QACE,EAAE;QACF,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;KACtB,EACD,KAAK,CAAC,OAAO,CACd,CAAC;IACF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3E,CAAC,CACF,CAAC;AAEF,qGAAqG;AAErG;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,CAAa,EACb,MAAoB,EACpB,KAAe,EACf,aAA4B,EAC5B,IAAmB;IAEnB,IACE,aAAa,KAAK,IAAI;QACtB,KAAK,CAAC,aAAa,KAAK,IAAI;QAC5B,KAAK,CAAC,aAAa,KAAK,aAAa,EACrC,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;IACD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,4FAA4F;IAC5F,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,WAAW,CACxB,CAAa,EACb,MAAoB,EACpB,OAAe,EACf,IAAmB;IAEnB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;IAClF,IAAI,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,IAAI,KAAK,IAAI;YAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClE,gGAAgG;QAChG,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,oBAAoB;YAClD,CAAC,CAAC,MAAM,eAAe,CACnB;gBACE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACvB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACrB,EAAE;aACH,EACD,OAAO,CACR;YACH,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,OAAO;YAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,eAAe,kBAAkB,OAAO,EAAE,CAAC;IACtF,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAqB,EAAE,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,EAAY,EAAE,OAAe,EAAE,QAAiB;IACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAMD;gGACgG;AAChG,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,CAAa;IAEb,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,YAAY;QAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAC7B,MAAM;QACN,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;QACrB,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;KAC9B,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACf,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa;oBAAE,MAAM,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1F,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAa,EAAE,KAAe;IACtD,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACpD,IAAI,KAAK;QAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF,OAAO,IAAI,QAAQ,CACjB,eAAe,EACf,mMAAmM,EACnM;QACE,MAAM,EAAE,mBAAmB;KAC5B,CACF,CAAC;AACJ,CAAC;AAED;yEACyE;AACzE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAqD,EACrD,MAAc,EACd,MAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAC1F,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GACV,GAAG,YAAY,QAAQ,IAAK,GAAG,CAAC,OAA2C,EAAE,MAAM,CAAC;QACtF,IAAI,MAAM,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,GAAqD,EACrD,MAAc,EACd,MAAoB,EACpB,EAAE,CACF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CACvF,CAAC;AAEJ;4EAC4E;AAC5E,MAAM,UAAU,eAAe,CAAC,CAAa,EAAE,IAAyB;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;IACnD,IAAI,OAAO;QAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,MAAoB,EAAE,OAAe,EAAE,WAAmB,EAAE,EAAE,CAAC,CAAC;IAChF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;IAChC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,wGAAwG;AAExG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAoB,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAEnD,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAwB,EACxB,MAAiB,EACjB,SAA4B;AAC5B,2FAA2F;AAC3F,SAAwB,EACxB,EAAE,CAAC,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,SAAS;IACT,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;IACnC,SAAS;IACT,UAAU,EAAE,MAAM,CAAC,UAAU;CAC9B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,SAA6B,EAC7B,IAAI,GAAG,WAAW;IAElB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,GAAG;QAAE,OAAO;IAC3F,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,sHAAsH,EACtH,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CACzD,CAAC;AACJ,CAAC;AAED;sFACsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAoB,EAAE,EAAE,CACpD,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAE9C;;4FAE4F;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAoB,EAA+B,EAAE,CAClF,MAAM,CAAC,IAAI,KAAK,OAAO;IACrB,CAAC,CAAC;QACE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC1D,QAAQ,EAAE,MAAM,CAAC,cAAc;KAChC;IACH,CAAC,CAAC,IAAI,CAAC;AAEX;uDACuD;AACvD,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAa;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,GAAW;IAC9D,OAAO,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAY,EAAE,OAAe,EAAE,EAAE,CACzD,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAE1E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAClC,IAAI,QAAQ,CACV,WAAW,EACX,yDAAyD,YAAY,CAAC,uBAAuB,CAAC,wEAAwE,EACtK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAC9B,CAAC;AAEJ,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAE,EAAE,CACpD,IAAI,QAAQ,CACV,eAAe,EACf,0BAA0B,MAAM,IAAI,UAAU,4GAA4G,EAC1J,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,CACjC,CAAC;AAEJ,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,EAAE,CACxD,mDAAmD,WAAW,4CAA4C,CAAC;AAE7G,mGAAmG;AACnG,MAAM,UAAU,UAAU,CAAC,KAAyB,EAAE,OAA0B;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,oHAAoH,CACrH,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,2FAA2F,EAC3F;YACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACvD,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,YAAY,KAAK,wGAAwG,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,16 @@
4
4
  * each step checkpointed and auto-retried, so a crash/redeploy/transient failure never re-does
5
5
  * work or drops a claim.
6
6
  *
7
- * THE WORKFLOW OWNS ITS LEDGER ROW — one writer, whole lifecycle:
7
+ * THE WORKFLOW OWNS ITS LEDGER ROW for its whole lifecycle — the one other writer is the API
8
+ * lane's inline run (`evaluateInline`, workflows/evaluate.ts), the same `evaluate` body run by the
9
+ * accepting request for a caller that waits; it takes the row only from `queued` (writing its lease,
10
+ * `inlineUntil`, in the same statement), and the steps below find what it wrote:
8
11
  * step "record-queued" → upsert the `claim_ingests` row as `queued` (durable: the row exists
9
- * iff the instance started, so nothing can ever strand a row)
10
- * step "evaluate" → mark the row `processing` (so a later attempt knows one ran), then
12
+ * iff the instance started, so nothing can ever strand a row) — never
13
+ * over a row already `processing` / `processed`, which an inline run
14
+ * (or an earlier run of this instance) wrote and a rerun must not undo
15
+ * step "evaluate" → (workflows/evaluate.ts) a recorded decision is returned as is; else
16
+ * mark the row `processing` (so a later attempt knows one ran), then
11
17
  * ONE pull (chain metadata + body + attachment descriptors), the facts
12
18
  * lane over the same in-memory claim (`buildFacts`: read the engine's
13
19
  * rubric manifest, run the producer, freeze the FactSet), and `POST /v1/decisions` on
@@ -28,7 +34,11 @@
28
34
  * ingest — the decision is recorded, and an operator rerun re-enters
29
35
  * delivery idempotently. A `pending_review` decision waits for the
30
36
  * review lane (routes/v1/reviews.ts → ReviewComplete) to act instead
31
- * step "mark-processed" → row → `processed`
37
+ * step "mark-processed" → row → `processed` — right after the decision (and the act), so the
38
+ * ledger reads `processed` beside it without waiting on a receiver;
39
+ * AFTER the notify for a `pending_review`, whose record reads its
40
+ * tasks off the `review_required` event the notify writes
41
+ * step "notify-review" → the source's notify lane (fail-soft, its own delivery ledger)
32
42
  * terminal catch → row → `failed` (+ the message), instance shows Errored in the dashboard
33
43
  * The cron (cron/) only discovers claims and creates instances; it never writes this table.
34
44
  *
@@ -85,6 +95,7 @@
85
95
  import { WorkflowEntrypoint, type WorkflowEvent, type WorkflowStep } from "cloudflare:workers";
86
96
  import type { ClaimLaneKind } from "../contracts/index.js";
87
97
  import type { OracleEnv } from "../env.js";
98
+ export { type EvaluateResult, GRANT_RETRY_DELAY, PAYER_BILLING } from "./evaluate.js";
88
99
  export interface ClaimIngestParams {
89
100
  claimId: string;
90
101
  /** Known at cron discovery time; absent on manual runs (resolved on-chain in `record-queued`). */
@@ -104,28 +115,6 @@ export interface ClaimIngestParams {
104
115
  /** The accepting request's id, API lane only. */
105
116
  requestId?: string;
106
117
  }
107
- /** What leaves the evaluate step: small, log-safe, enough to reason about the run — never the facts. */
108
- export interface EvaluateResult {
109
- status: string;
110
- verdict: string | null;
111
- resultDigest: string | null;
112
- receiptCid: string | null;
113
- }
114
- /**
115
- * How a review-billing trouble is told apart in the ledger's `error` (a run that gave up while its
116
- * collection was paused for payment): the resume cron restarts exactly those.
117
- */
118
- export declare const PAYER_BILLING = "payer-billing:";
119
- /**
120
- * `403 NO_EVALUATE_GRANT` is retry-ONCE (docs/ENGINE-CONTRACT.md): the grant may have landed on
121
- * chain seconds ago — the portal grants and registers in one flow — so wait about a block and ask
122
- * again before calling it a real "not hired". In-step on purpose: the FactSet may not leave the
123
- * step, so a step-level sleep would cost a full rebuild (connectors, AI charges). An object so a
124
- * test can shorten it.
125
- */
126
- export declare const GRANT_RETRY_DELAY: {
127
- ms: number;
128
- };
129
118
  export declare class ClaimIngest extends WorkflowEntrypoint<OracleEnv, ClaimIngestParams> {
130
119
  run(event: WorkflowEvent<ClaimIngestParams>, step: WorkflowStep): Promise<{
131
120
  status: string;
@@ -136,104 +125,6 @@ export declare class ClaimIngest extends WorkflowEntrypoint<OracleEnv, ClaimInge
136
125
  ok: boolean;
137
126
  }>;
138
127
  private ingest;
139
- /**
140
- * The evaluate step's body: pull → facts → decide → the `decisions` row. Reads the DB, not step
141
- * results, so an operator rerun converges — and a retry that finds the row is done.
142
- */
143
- private evaluate;
144
- /**
145
- * Who pays for this chain claim's review (header): null when its collection pays by its
146
- * evaluation leg (or the oracle no longer bills per review); `reserved` when a charge already
147
- * holds it (a retry); else the payer, resolved fresh — never a guess: the engine's or the chain's
148
- * trouble retries the step, and no usable delegation pauses the collection `payer-delegation`.
149
- */
150
- private billingFor;
151
- /**
152
- * A billing pause. The payer's two: the owner's notice, never a page (a customer's condition).
153
- * `oracle-plan`: IXO's to fix — paged, no notice to the owner or the payer.
154
- */
155
- private pausePayer;
156
- /** The normal path: pull → build → (reserve) → decide → the `decisions` row. */
157
- private decideFresh;
158
- /** Reserve the review (payments/review-billing.ts), or say why not — a pause, a retry, a stop. */
159
- private reserve;
160
- /**
161
- * A decision recovered from the engine's store → its `decisions` row.
162
- *
163
- * It is FINAL for this claim — the engine will not judge it twice — so it outranks anything this
164
- * attempt would have concluded, including a build that failed. What it lacks is the facts it was
165
- * decided on: the attempt that produced them died before writing the row, and the engine keeps a
166
- * trace, not a FactSet. So they are rebuilt here — and stand in for the originals only if the
167
- * rebuild is PROVABLY the same one, which is exactly what the engine's `factsDigest` proves.
168
- * Anything else (a non-deterministic fact, a re-anchored rubric, a failed rebuild) is written as
169
- * a park with its reason, at write time: better an explicit blocked row naming the drift than a
170
- * decided row the act lane refuses later without knowing why.
171
- *
172
- * The rebuild may not even be ATTEMPTABLE: the owner's delegation can expire while the claim
173
- * sits between attempts, and then the pull fail-closes 403. A deterministic "no" there is NOT a
174
- * reason to lose the decision — the ingest would be marked `failed` with no row at all, while
175
- * the engine holds a final answer it will never issue again. So it is recorded parked, facts
176
- * null, and the act lane refuses to sign it (src/act.ts reads those facts). Only a transient
177
- * failure is rethrown, so the step still retries and a later attempt can record the real facts.
178
- */
179
- private recordRecovered;
180
- /**
181
- * The engine's answer → the `decisions` row, the collection's rubric pin and the `unusable`
182
- * pause: ONE path whether the answer came from `POST /v1/decisions` just now or was recovered
183
- * from the engine's store on a retry (see `evaluate`), so the two can never drift apart.
184
- *
185
- * `sent` is the FactSet this decision was made on — its `ext`/`ai` are frozen onto the row for
186
- * the act policy to read at signing time (schema.ts `decisions.facts`), and nothing else of it
187
- * is: `answers`/`attachments` are the claim's erasable surface and never persisted here. Null
188
- * only on the recovery path when the rebuild could not be proven to be the same facts, which is
189
- * what `park` says: the row is written `blocked` with that reason instead of `pending`, so the
190
- * claim read explains itself and the act lane never has to guess.
191
- */
192
- private record;
193
- /**
194
- * `api.decision.latency` — accept → decision row, the SLO metric. Accepted is the API claim's
195
- * `receivedAt`, or the chain claim's ledger `createdAt` (its first `record-queued`). `status` says
196
- * whether the protocol's rubric runs AI checks: the frozen FactSet's `ai` keys are exactly the
197
- * work order's (validate.ts holds them to the manifest), so no extra read; `-` only when a
198
- * recovered decision's facts could not be rebuilt. Best-effort: a metric never fails the step.
199
- */
200
- private decisionLatency;
201
- /**
202
- * `POST /v1/decisions`, with the one recoverable refusal handled here: `RUBRIC_PIN_MISMATCH` —
203
- * our pin ≠ the chain's `#rub` proof as the engine read it, i.e. `#rub` was re-anchored between
204
- * our (KV-cached) manifest read and theirs. Invalidate and re-read the manifest ONCE: a changed
205
- * pin is a new work order (new facts, so a rebuild — connectors run again; the fact cache is
206
- * keyed by the pin, fact-cache.ts), the same pin means the engine and the chain disagree, which
207
- * no retry of ours fixes. The manifest may also have turned `unusable` under the new anchor —
208
- * then the rebuild records that, and never decides.
209
- */
210
- private decide;
211
- /** One decide call, with the contract's retry-once on `NO_EVALUATE_GRANT` (see `GRANT_RETRY_DELAY`). */
212
- private ask;
213
- /**
214
- * The engine said no (docs/ENGINE-CONTRACT.md "Errors"): do what the table says, then hand back
215
- * the error to throw — NonRetryable for a deterministic refusal, the original for a retryable
216
- * one. Non-engine errors pass through for `stepError` to classify.
217
- */
218
- private engineFailure;
219
- /**
220
- * Facts that don't match the rubric's work order (lib/facts/validate.ts) — the producer's bug,
221
- * never a claim outcome: the issue list is codes and paths (identifiers), logged and paged so the
222
- * fix is one grep away, and the error to throw is NonRetryable (a retry would re-run the same
223
- * producer). The row is already recorded by the caller.
224
- */
225
- private invalidFacts;
226
- /**
227
- * A claim the facts lane could not build for — recorded WITHOUT a decide call (schema.ts
228
- * `decisions`): `status` names the reason, `explanation` the issues, and nothing will ever be
229
- * acted on, so `chainStatus` is `skipped` from the start. Then the reason's consequence:
230
- * `rubric-unusable` is the engine's manifest saying the rubric cannot be bound — the same
231
- * handling as its decide-time `unusable` (pause the collection; steps.ts), minus the receipt, and
232
- * the ingest completes; `invalid-facts` is OUR (or the provider's) bug, never a claim outcome —
233
- * recorded so the claim read says why, then failed loudly, like the engine's own `VALIDATION`
234
- * refusal this check exists to catch first.
235
- */
236
- private buildFailure;
237
128
  /**
238
129
  * A terminal failure's class — the API lane's §5 code (lib/api-lane/record.ts `claimErrorCode`,
239
130
  * read off the same message the ledger stores), for either lane. Best-effort like the rest of
@@ -243,7 +134,10 @@ export declare class ClaimIngest extends WorkflowEntrypoint<OracleEnv, ClaimInge
243
134
  private ledgerRow;
244
135
  /**
245
136
  * Upsert this claim's ledger row. `error` is null unless `failed` (schema.ts), so a rerun that
246
- * succeeds clears the old message.
137
+ * succeeds clears the old message. `queued` never lands on a row already `processing` or
138
+ * `processed`: the inline run (or an earlier run of this instance) got that far, and moving it
139
+ * back would hide an inline run in flight from `evaluate` (two runs, the handlers paid twice) and
140
+ * show a decided claim as `queued` until the run caught up.
247
141
  */
248
142
  private recordStatus;
249
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claim-ingest.d.ts","sourceRoot":"","sources":["../../src/workflows/claim-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAUlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAoDxC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wGAAwG;AACxG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAOD;;;GAGG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAsB9C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAAK,EAAE;CAAU,CAAC;AAchD,qBAAa,WAAY,SAAQ,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY;gBA3DtE,MAAM;iBACL,MAAM,GAAG,IAAI;sBACR,MAAM,GAAG,IAAI;oBACf,MAAM,GAAG,IAAI;;;OA8ExB;YAEa,MAAM;IA+KpB;;;OAGG;YACW,QAAQ;IAkHtB;;;;;OAKG;YACW,UAAU;IA6CxB;;;OAGG;YACW,UAAU;IAyBxB,gFAAgF;YAClE,WAAW;IAyHzB,kGAAkG;YACpF,OAAO;IAgBrB;;;;;;;;;;;;;;;;;;OAkBG;YACW,eAAe;IA2D7B;;;;;;;;;;;OAWG;YACW,MAAM;IA0HpB;;;;;;OAMG;YACW,eAAe;IAmC7B;;;;;;;;OAQG;YACW,MAAM;IAoCpB,wGAAwG;YAC1F,GAAG;IAmBjB;;;;OAIG;YACW,aAAa;IAmI3B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAmBpB;;;;;;;;;OASG;YACW,YAAY;IAwC1B;;;;OAIG;YACW,YAAY;IAa1B,OAAO,CAAC,SAAS;IAMjB;;;OAGG;YACW,YAAY;CA4B3B"}
1
+ {"version":3,"file":"claim-ingest.d.ts","sourceRoot":"","sources":["../../src/workflows/claim-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAaxC,OAAO,EAAE,KAAK,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,qBAAa,WAAY,SAAQ,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY;;;;;;;OAsB7E;YAEa,MAAM;IA0LpB;;;;OAIG;YACW,YAAY;IAa1B,OAAO,CAAC,SAAS;IAMjB;;;;;;OAMG;YACW,YAAY;CA+B3B"}