@ixo/decision-oracle 0.2.28 → 0.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/db/schema.d.ts +17 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +10 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/lib/api-lane/accept.d.ts.map +1 -1
- package/dist/lib/api-lane/accept.js +27 -10
- package/dist/lib/api-lane/accept.js.map +1 -1
- package/dist/lib/api-lane/notify.d.ts +9 -0
- package/dist/lib/api-lane/notify.d.ts.map +1 -1
- package/dist/lib/api-lane/notify.js +10 -3
- package/dist/lib/api-lane/notify.js.map +1 -1
- package/dist/lib/api-lane/record.d.ts.map +1 -1
- package/dist/lib/api-lane/record.js +6 -3
- package/dist/lib/api-lane/record.js.map +1 -1
- package/dist/lib/engine/client.d.ts +14 -2
- package/dist/lib/engine/client.d.ts.map +1 -1
- package/dist/lib/engine/client.js +90 -11
- package/dist/lib/engine/client.js.map +1 -1
- package/dist/lib/ixo/grant-chain.js +6 -6
- package/dist/lib/ixo/grant-chain.js.map +1 -1
- package/dist/lib/openhands/why.d.ts.map +1 -1
- package/dist/lib/openhands/why.js +7 -2
- package/dist/lib/openhands/why.js.map +1 -1
- package/dist/lib/work-order/index.d.ts +4 -2
- package/dist/lib/work-order/index.d.ts.map +1 -1
- package/dist/lib/work-order/index.js +19 -4
- package/dist/lib/work-order/index.js.map +1 -1
- package/dist/middleware/api/keys.d.ts.map +1 -1
- package/dist/middleware/api/keys.js +10 -2
- package/dist/middleware/api/keys.js.map +1 -1
- package/dist/middleware/api/rate-limit.js +3 -4
- package/dist/middleware/api/rate-limit.js.map +1 -1
- package/dist/middleware/api/wait.d.ts +17 -2
- package/dist/middleware/api/wait.d.ts.map +1 -1
- package/dist/middleware/api/wait.js +80 -19
- package/dist/middleware/api/wait.js.map +1 -1
- package/dist/middleware/ucan-auth.d.ts.map +1 -1
- package/dist/middleware/ucan-auth.js +7 -2
- package/dist/middleware/ucan-auth.js.map +1 -1
- package/dist/routes/v1/api/claims.d.ts +15 -3
- package/dist/routes/v1/api/claims.d.ts.map +1 -1
- package/dist/routes/v1/api/claims.js +85 -14
- package/dist/routes/v1/api/claims.js.map +1 -1
- package/dist/workflows/claim-ingest.d.ts +19 -125
- package/dist/workflows/claim-ingest.d.ts.map +1 -1
- package/dist/workflows/claim-ingest.js +49 -765
- package/dist/workflows/claim-ingest.js.map +1 -1
- package/dist/workflows/evaluate.d.ts +193 -0
- package/dist/workflows/evaluate.d.ts.map +1 -0
- package/dist/workflows/evaluate.js +980 -0
- package/dist/workflows/evaluate.js.map +1 -0
- package/docs/api.md +24 -4
- package/docs/guide.md +19 -1
- package/migrations/0029_inline_lease.sql +1 -0
- package/migrations/meta/0029_snapshot.json +3021 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +4 -4
|
@@ -1,25 +1,88 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sync and async are one path (go-prod spec §4.6): every submission starts a `ClaimIngest`
|
|
3
3
|
* instance, and a caller that asked to wait (`Prefer: wait=N` on submit, `?wait=N` on GET) polls
|
|
4
|
-
* the ledger —
|
|
4
|
+
* the ledger — 250 ms rising to 2 s — until the decision lands or the budget runs out. The workflow
|
|
5
5
|
* never knows anyone is waiting, so a client that hangs up orphans nothing.
|
|
6
6
|
*
|
|
7
|
+
* A submit that waits first runs the claim's `evaluate` itself (`evaluateInline`,
|
|
8
|
+
* workflows/evaluate.ts) — the workflow stays the durable fallback — and only polls if that run did
|
|
9
|
+
* not land the decision. The inline run holds a waiter slot like a poll does (`inlineSlot`).
|
|
10
|
+
*
|
|
7
11
|
* At most 20 waiters per source in this isolate; past that the answer is an immediate `202`. The
|
|
8
12
|
* cap protects what a waiter holds — this isolate's open requests and D1 reads — so it is counted
|
|
9
|
-
* where that cost is paid, not globally.
|
|
13
|
+
* where that cost is paid, not globally. Inline runs are capped per isolate too
|
|
14
|
+
* (`MAX_INLINE_RUNS`): one holds a claim's body, attachment bytes and handler work in memory every
|
|
15
|
+
* request of the isolate shares; past the cap the caller polls the workflow instead, as before.
|
|
16
|
+
* Every slot lapses by itself (the wait's end, the run's lease), so a run the runtime cancels
|
|
17
|
+
* before its `finally` cannot pin one for the isolate's life.
|
|
10
18
|
*/
|
|
11
19
|
import * as Sentry from "@sentry/cloudflare";
|
|
12
20
|
import { eq } from "drizzle-orm";
|
|
13
21
|
import { MAX_WAIT_SECONDS } from "../../contracts/index.js";
|
|
14
22
|
import { claimIngests, decisions } from "../../db/schema.js";
|
|
23
|
+
import { decisionFailure } from "../../lib/api-lane/record.js";
|
|
15
24
|
export const MAX_WAITERS_PER_SOURCE = 20;
|
|
16
|
-
|
|
25
|
+
/** Inline runs at once in this isolate (header) — well under the per-source waiter cap. */
|
|
26
|
+
export const MAX_INLINE_RUNS = 8;
|
|
27
|
+
const FIRST_POLL_MS = 250;
|
|
17
28
|
const MAX_POLL_MS = 2000;
|
|
18
|
-
/** After the decision row lands, how long the ledger gets to catch up (the workflow's
|
|
19
|
-
* mark-processed
|
|
20
|
-
*
|
|
29
|
+
/** After the decision row lands, how long the ledger gets to catch up (the workflow's
|
|
30
|
+
* mark-processed step, which follows the decision directly — after the review event, for a
|
|
31
|
+
* `pending_review` — or the inline run's own mark)
|
|
32
|
+
* before the answer goes out anyway — so a sync 200 reads `processed` beside its decision, not a
|
|
33
|
+
* stale `processing` (S7, 2026-09-30). `decision` stays the truth. The wait ends the moment the
|
|
34
|
+
* ledger reads `processed`, so this bounds only a run that stalls between the two. */
|
|
21
35
|
const SETTLE_GRACE_MS = 3000;
|
|
22
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Held slots per key, each with the time it lapses by itself: a holder releases its slot when it
|
|
38
|
+
* ends, but a run the runtime cancels (past `waitUntil`'s window) never reaches its `finally`, and
|
|
39
|
+
* its slot must not stay held for the isolate's life. Only unexpired slots count.
|
|
40
|
+
*/
|
|
41
|
+
class Slots {
|
|
42
|
+
max;
|
|
43
|
+
held = new Map();
|
|
44
|
+
seq = 0;
|
|
45
|
+
constructor(max) {
|
|
46
|
+
this.max = max;
|
|
47
|
+
}
|
|
48
|
+
/** A slot until `until` (epoch ms), or null when `max` live ones are held; release is idempotent. */
|
|
49
|
+
take(key, until, now = Date.now()) {
|
|
50
|
+
const live = this.held.get(key) ?? new Map();
|
|
51
|
+
for (const [id, exp] of live)
|
|
52
|
+
if (exp <= now)
|
|
53
|
+
live.delete(id);
|
|
54
|
+
if (live.size >= this.max)
|
|
55
|
+
return null;
|
|
56
|
+
const id = ++this.seq;
|
|
57
|
+
live.set(id, until);
|
|
58
|
+
this.held.set(key, live);
|
|
59
|
+
return () => {
|
|
60
|
+
live.delete(id);
|
|
61
|
+
if (live.size === 0 && this.held.get(key) === live)
|
|
62
|
+
this.held.delete(key);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const waiters = new Slots(MAX_WAITERS_PER_SOURCE);
|
|
67
|
+
const inlineRuns = new Slots(MAX_INLINE_RUNS);
|
|
68
|
+
/**
|
|
69
|
+
* A slot for one inline run until its lease (`until`): a source waiter slot AND one of the
|
|
70
|
+
* isolate's `MAX_INLINE_RUNS`. Both lapse at the lease even if the run is cancelled.
|
|
71
|
+
*/
|
|
72
|
+
export function inlineSlot(sourceId, until) {
|
|
73
|
+
const run = inlineRuns.take("isolate", until);
|
|
74
|
+
if (!run)
|
|
75
|
+
return null;
|
|
76
|
+
const waiter = waiters.take(sourceId, until);
|
|
77
|
+
if (!waiter) {
|
|
78
|
+
run();
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
return () => {
|
|
82
|
+
run();
|
|
83
|
+
waiter();
|
|
84
|
+
};
|
|
85
|
+
}
|
|
23
86
|
/** `Prefer: wait=N` (RFC 7240, one of possibly several comma-separated preferences) → seconds,
|
|
24
87
|
* capped at 90; absent or malformed ⇒ null (no wait). */
|
|
25
88
|
export function preferredWait(prefer) {
|
|
@@ -27,16 +90,18 @@ export function preferredWait(prefer) {
|
|
|
27
90
|
return m ? Math.min(Number(m[1]), MAX_WAIT_SECONDS) : null;
|
|
28
91
|
}
|
|
29
92
|
/** Where the claim is: `stopped` once the ledger is `processed` / `failed`; `decided` once a
|
|
30
|
-
* decision row exists (any status, a pending review included)
|
|
31
|
-
*
|
|
93
|
+
* decision row exists (any status, a pending review included) — but not a row that records a
|
|
94
|
+
* FAILURE (`invalid_facts`, a content refusal): that claim is about to read `failed`, never
|
|
95
|
+
* `processed`, so the settle grace below is not its to take. Untraced: a waiter repeats this one
|
|
96
|
+
* read every 0.25–2 s by design, which Sentry's N+1 detector would flag on every sync submit. */
|
|
32
97
|
async function progress(db, claimId) {
|
|
33
98
|
const [row] = await Sentry.suppressTracing(() => db
|
|
34
|
-
.select({ status: claimIngests.status,
|
|
99
|
+
.select({ status: claimIngests.status, decision: decisions.status })
|
|
35
100
|
.from(claimIngests)
|
|
36
101
|
.leftJoin(decisions, eq(decisions.claimId, claimIngests.claimId))
|
|
37
102
|
.where(eq(claimIngests.claimId, claimId)));
|
|
38
103
|
return {
|
|
39
|
-
decided: !!row && row.
|
|
104
|
+
decided: !!row && row.decision !== null && !decisionFailure(row.decision),
|
|
40
105
|
stopped: !!row && (row.status === "processed" || row.status === "failed"),
|
|
41
106
|
};
|
|
42
107
|
}
|
|
@@ -50,10 +115,10 @@ export async function awaitLanding(db, sourceId, claimId, seconds) {
|
|
|
50
115
|
return true;
|
|
51
116
|
if (seconds <= 0)
|
|
52
117
|
return first.decided;
|
|
53
|
-
|
|
54
|
-
|
|
118
|
+
// Held no longer than the wait itself plus a last poll's margin, however the wait ends.
|
|
119
|
+
const release = waiters.take(sourceId, Date.now() + seconds * 1000 + MAX_POLL_MS);
|
|
120
|
+
if (!release)
|
|
55
121
|
return false;
|
|
56
|
-
waiters.set(sourceId, inFlight + 1);
|
|
57
122
|
try {
|
|
58
123
|
let deadline = Date.now() + seconds * 1000;
|
|
59
124
|
let decided = first.decided;
|
|
@@ -75,11 +140,7 @@ export async function awaitLanding(db, sourceId, claimId, seconds) {
|
|
|
75
140
|
return decided;
|
|
76
141
|
}
|
|
77
142
|
finally {
|
|
78
|
-
|
|
79
|
-
if (n > 0)
|
|
80
|
-
waiters.set(sourceId, n);
|
|
81
|
-
else
|
|
82
|
-
waiters.delete(sourceId);
|
|
143
|
+
release();
|
|
83
144
|
}
|
|
84
145
|
}
|
|
85
146
|
//# sourceMappingURL=wait.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/middleware/api/wait.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/middleware/api/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ucan-auth.d.ts","sourceRoot":"","sources":["../../src/middleware/ucan-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ucan-auth.d.ts","sourceRoot":"","sources":["../../src/middleware/ucan-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,YAAY,CAAC;AA8JpD,eAAO,MAAM,QAAQ,gEAwInB,CAAC"}
|
|
@@ -70,8 +70,13 @@ function getValidator(config) {
|
|
|
70
70
|
rootIssuers: ["*"],
|
|
71
71
|
didResolver,
|
|
72
72
|
// Replay off — a caller may reuse a token within its window; trust is bounded by that
|
|
73
|
-
// window (≤ MAX_LIFETIME_SEC, checked below) and our token cache, capped to it.
|
|
74
|
-
|
|
73
|
+
// window (≤ MAX_LIFETIME_SEC, checked below) and our token cache, capped to it. `addIfAbsent`
|
|
74
|
+
// too: without it @ixo/ucan (≥ 2.2.1) refuses a token presented twice at once as REPLAY.
|
|
75
|
+
invocationStore: {
|
|
76
|
+
has: async () => false,
|
|
77
|
+
add: async () => { },
|
|
78
|
+
addIfAbsent: async () => true,
|
|
79
|
+
},
|
|
75
80
|
}));
|
|
76
81
|
// `@ucanto/validator` compares `can` by exact string (`descriptor.can !== capability.can` →
|
|
77
82
|
// UnknownCapability), so an invocation is validated against a capability defined for ITS OWN
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ucan-auth.js","sourceRoot":"","sources":["../../src/middleware/ucan-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AACnC,kGAAkG;AAClG,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,sGAAsG;AACtG,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAgB7B,0FAA0F;AAC1F,IAAI,gBAAgB,GAMR,IAAI,CAAC;AAEjB,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACrC,MAAM,QAAQ,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,2EAA2E;QAC3E,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,SAAS,CACxD,MAAM,CAAC,wBAAwB,EAC/B,MAAM,CAAC,eAAe,CACvB,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,0BAA0B,CAAC;YAC/C,KAAK;YACL,CAAC,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACpE,CAAC,CAAC,oBAAoB,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;SAChF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC;YAC7C,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,CAAC,GAAG,CAAC;YAClB,WAAW;YACX,sFAAsF;YACtF,
|
|
1
|
+
{"version":3,"file":"ucan-auth.js","sourceRoot":"","sources":["../../src/middleware/ucan-auth.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
|
|
6
|
+
* which reserves) → recordApiClaims → startApiClaims → (inline evaluate) → wait → 200 | 202
|
|
7
7
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.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
|
|
6
|
+
* which reserves) → recordApiClaims → startApiClaims → (inline evaluate) → wait → 200 | 202
|
|
7
7
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
228
|
-
|
|
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
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../../src/routes/v1/api/claims.ts"],"names":[],"mappings":"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"}
|