cascrow-sdk 0.4.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +48 -12
- package/dist/client.d.ts +177 -64
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +191 -46
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/signature.d.ts +52 -0
- package/dist/signature.d.ts.map +1 -0
- package/dist/signature.js +50 -0
- package/dist/signature.js.map +1 -0
- package/dist/types.d.ts +159 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/v3.d.ts +130 -0
- package/dist/v3.d.ts.map +1 -0
- package/dist/v3.js +107 -0
- package/dist/v3.js.map +1 -0
- package/package.json +2 -2
package/dist/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TX_HASH_RE, V3_CLIENT_TEXT, v3HintFor, v3RefusalDetail } from "./v3.js";
|
|
1
2
|
/**
|
|
2
3
|
* Client deadlines, mirrored from `src/lib/latency-budget.ts` (SEC-073).
|
|
3
4
|
*
|
|
@@ -53,6 +54,17 @@ function makeApiError(status, body, headers) {
|
|
|
53
54
|
err.watchUrl = b.watch_url;
|
|
54
55
|
if (typeof b.expected_done_in_seconds === "number")
|
|
55
56
|
err.expectedDoneInSeconds = b.expected_done_in_seconds;
|
|
57
|
+
// A MilestoneEscrowV3 refusal says who can act and how (F-72): the body's actionable
|
|
58
|
+
// fields (G5), then the owner's words, role-aware on the body (H9).
|
|
59
|
+
const detail = v3RefusalDetail(body);
|
|
60
|
+
if (detail && !err.message.includes(detail))
|
|
61
|
+
err.message += ` — ${detail}`;
|
|
62
|
+
const hint = v3HintFor(err.code, body);
|
|
63
|
+
if (hint) {
|
|
64
|
+
err.hint = hint;
|
|
65
|
+
if (!err.message.includes(hint))
|
|
66
|
+
err.message += ` — ${hint}`;
|
|
67
|
+
}
|
|
56
68
|
return err;
|
|
57
69
|
}
|
|
58
70
|
/** A body parsed without trusting it to be JSON: an HTML 502 is "HTTP 502 (non-JSON response from server)". */
|
|
@@ -147,7 +159,7 @@ function normalizeCriteria(value) {
|
|
|
147
159
|
/** Every `action` the verification stream can send. Kept next to the check so the
|
|
148
160
|
* two cannot drift: adding a value to `VerificationResult["action"]` without adding
|
|
149
161
|
* it here makes this file fail to compile. */
|
|
150
|
-
const STREAM_ACTIONS = ["VERIFIED", "PENDING_REVIEW", "REJECTED", "COMPLETED", "SUPERSEDED"];
|
|
162
|
+
const STREAM_ACTIONS = ["VERIFIED", "PENDING_REVIEW", "REJECTED", "COMPLETED", "SUPERSEDED", "V3_RECOMMENDATION", "NOT_COMPLETABLE_WITHOUT_ESCROW"];
|
|
151
163
|
/**
|
|
152
164
|
* The stream's `action`, or a thrown error — never an invented verdict.
|
|
153
165
|
*
|
|
@@ -209,7 +221,10 @@ function approvedWithoutThisVerdict(s) {
|
|
|
209
221
|
* without `running` (an older server) the old reading stays.
|
|
210
222
|
*/
|
|
211
223
|
function parkedForHuman(s) {
|
|
212
|
-
|
|
224
|
+
// Never a MilestoneEscrowV3 proof (post-review L2): no human review decides one — the
|
|
225
|
+
// milestone's status is the fold's, from the chain, and a PENDING_REVIEW there is no
|
|
226
|
+
// queue this proof waits in.
|
|
227
|
+
return s.escrowVersion !== 3 && Boolean(s.pending) && s.running !== true && s.milestoneStatus === "PENDING_REVIEW";
|
|
213
228
|
}
|
|
214
229
|
export class CascrowClient {
|
|
215
230
|
apiKey;
|
|
@@ -218,6 +233,42 @@ export class CascrowClient {
|
|
|
218
233
|
this.apiKey = options.apiKey;
|
|
219
234
|
this.baseUrl = options.baseUrl ?? "https://cascrow.com";
|
|
220
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* MilestoneEscrowV3 — the remote half. cascrow prepares and reads; YOU sign and
|
|
238
|
+
* send with your own key. This SDK never signs: use the separate, pinned
|
|
239
|
+
* `cascrow-signer` package (`npx cascrow-signer@<pin> …`, see CASCROW_SIGNER_PIN),
|
|
240
|
+
* which checks every prepared transaction against its own chain and contract.
|
|
241
|
+
*/
|
|
242
|
+
v3 = {
|
|
243
|
+
/** As PAYER: offer terms for a milestone. 409 `OFFER_EXISTS` names the open offer. */
|
|
244
|
+
offer: (input) => this.request("POST", "/api/escrow/v3/offer", input),
|
|
245
|
+
/** As PAYEE: the frozen offer to check and sign (EIP-712). 409 `V3_NOT_OFFERED` before the payer offered. */
|
|
246
|
+
acceptance: (milestoneId) => this.request("GET", `/api/escrow/v3/acceptance?milestoneId=${encodeURIComponent(milestoneId)}`),
|
|
247
|
+
/** As PAYEE: hand over the acceptance signature — binding until acceptBy. */
|
|
248
|
+
submitAcceptance: (offerId, signature) => this.request("POST", "/api/escrow/v3/acceptance", { offerId, signature }),
|
|
249
|
+
/** An UNSIGNED transaction. Rebuild `data` and check `to`/`chainId` yourself before signing. */
|
|
250
|
+
prepare: (milestoneId, action, extra = {}) => {
|
|
251
|
+
const q = new URLSearchParams({ milestoneId, action });
|
|
252
|
+
if (extra.proofHash)
|
|
253
|
+
q.set("proofHash", extra.proofHash);
|
|
254
|
+
if (extra.reasonHash)
|
|
255
|
+
q.set("reasonHash", extra.reasonHash);
|
|
256
|
+
if (extra.newDeadline !== undefined)
|
|
257
|
+
q.set("newDeadline", String(extra.newDeadline));
|
|
258
|
+
return this.request("GET", `/api/escrow/v3/prepare?${q.toString()}`);
|
|
259
|
+
},
|
|
260
|
+
/** After YOU broadcast: the hash as a hint to re-read the chain. Only a hash — never a signed transaction. */
|
|
261
|
+
reportTx: (milestoneId, txHash) => {
|
|
262
|
+
// Refused before any request, with the same stable code both MCP surfaces use (L3).
|
|
263
|
+
if (!TX_HASH_RE.test(txHash))
|
|
264
|
+
return Promise.reject(makeApiError(0, { error: V3_CLIENT_TEXT.reportTxOnlyHash, code: "NOT_A_TX_HASH" }));
|
|
265
|
+
return this.request("POST", "/api/escrow/v3/sync", { milestoneId, txHash });
|
|
266
|
+
},
|
|
267
|
+
/** cascrow's signed, NON-BINDING AI recommendation for a claim. 409 `ATTESTATION_PENDING` while the panel runs. */
|
|
268
|
+
attestation: (escrowId, claimIndex) => this.request("GET", `/api/escrow/v3/attestation?${new URLSearchParams({ escrowId, claimIndex: String(claimIndex) }).toString()}`),
|
|
269
|
+
/** As PAYER: open claims you can still object to (same as `v3Claims()`). */
|
|
270
|
+
claims: () => this.request("GET", "/api/agent/v3-claims"),
|
|
271
|
+
};
|
|
221
272
|
authHeaders() {
|
|
222
273
|
return this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {};
|
|
223
274
|
}
|
|
@@ -287,7 +338,7 @@ export class CascrowClient {
|
|
|
287
338
|
if (!res.ok || isNonJson(data)) {
|
|
288
339
|
const err = makeApiError(res.status, data, res.headers);
|
|
289
340
|
// A platform error page on a POST (the 504 when a route hits its own
|
|
290
|
-
// maxDuration — escrow
|
|
341
|
+
// maxDuration — escrow/finish waits on the chain) does not mean the call failed: the
|
|
291
342
|
// function may have moved money before it was killed.
|
|
292
343
|
if (method !== "GET" && res.status >= 500 && isNonJson(data)) {
|
|
293
344
|
err.message += ". The request may still have completed on the server — check the contract (getContract) before repeating it.";
|
|
@@ -343,11 +394,14 @@ export class CascrowClient {
|
|
|
343
394
|
};
|
|
344
395
|
}),
|
|
345
396
|
agentReviewMode: input.agentReviewMode,
|
|
397
|
+
...(input.reviewWindowDays !== undefined ? { reviewWindowDays: input.reviewWindowDays } : {}),
|
|
398
|
+
...(input.panelDecidesAlone !== undefined ? { panelDecidesAlone: input.panelDecidesAlone } : {}),
|
|
346
399
|
});
|
|
347
400
|
return {
|
|
348
401
|
contractId: data.contractId,
|
|
349
402
|
inviteCode: data.inviteLink ?? null,
|
|
350
403
|
inviteLink: data.inviteLink ?? null,
|
|
404
|
+
reviewTerms: data.reviewTerms ?? null,
|
|
351
405
|
};
|
|
352
406
|
}
|
|
353
407
|
/** Get a contract's current status and all milestone states. */
|
|
@@ -359,7 +413,16 @@ export class CascrowClient {
|
|
|
359
413
|
const qs = options.role ? `?role=${encodeURIComponent(options.role)}` : "";
|
|
360
414
|
return this.request("GET", `/api/agent/my-contracts${qs}`);
|
|
361
415
|
}
|
|
362
|
-
/**
|
|
416
|
+
/**
|
|
417
|
+
* Join an existing contract as the Builder using an invite code.
|
|
418
|
+
*
|
|
419
|
+
* `activated: true` — a $0 verification contract: it is active (`status: "FUNDED"`)
|
|
420
|
+
* and you can submit proof now. `activated: false` — the milestones carry an amount:
|
|
421
|
+
* wait for the payer's MilestoneEscrowV3 offer and accept it with your own wallet key
|
|
422
|
+
* (`npx cascrow-signer@0.2.0 accept --milestone <id>`, or `client.v3.acceptance` +
|
|
423
|
+
* `client.v3.submitAcceptance`); proof is accepted once the payer has funded it.
|
|
424
|
+
* `joinedLine(result)` renders that as one sentence.
|
|
425
|
+
*/
|
|
363
426
|
async joinContract(inviteCode) {
|
|
364
427
|
return this.request("POST", "/api/contracts/join", { inviteCode });
|
|
365
428
|
}
|
|
@@ -384,14 +447,47 @@ export class CascrowClient {
|
|
|
384
447
|
async reviewContract(contractId, decision, milestoneId) {
|
|
385
448
|
return this.request("POST", "/api/contracts/review", milestoneId ? { contractId, decision, milestoneId } : { contractId, decision });
|
|
386
449
|
}
|
|
450
|
+
/**
|
|
451
|
+
* Ask for a person at cascrow to review a verification outcome (Art. 22(3) GDPR) —
|
|
452
|
+
* as the funder OR the builder, at any time, on any milestone the panel decided. A
|
|
453
|
+
* person decides within one month (`dueAt`); both parties receive the decision with
|
|
454
|
+
* its reasons (webhook `human_review.decided`, or read it with {@link humanReviews}).
|
|
455
|
+
* On a verification-only contract the decision can complete, reject or revoke a
|
|
456
|
+
* completion (withdrawing its certificate); on a MilestoneEscrowV3 milestone it is a
|
|
457
|
+
* statement and changes nothing on chain. `milestoneId` is required once the contract
|
|
458
|
+
* has more than one milestone. A request already open on that milestone is NOT
|
|
459
|
+
* thrown: it returns `{ status: "ALREADY_OPEN", dueAt }` — there is nothing to retry.
|
|
460
|
+
*/
|
|
461
|
+
async requestHumanReview(contractId, opts = {}) {
|
|
462
|
+
try {
|
|
463
|
+
return await this.request("POST", "/api/human-review", {
|
|
464
|
+
contractId,
|
|
465
|
+
...(opts.milestoneId ? { milestoneId: opts.milestoneId } : {}),
|
|
466
|
+
...(opts.reason ? { reason: opts.reason } : {}),
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
catch (err) {
|
|
470
|
+
const e = err;
|
|
471
|
+
if (e && e.code === "HUMAN_REVIEW_ALREADY_OPEN") {
|
|
472
|
+
const dueAt = e.body?.dueAt;
|
|
473
|
+
return { status: "ALREADY_OPEN", dueAt: typeof dueAt === "string" ? dueAt : null };
|
|
474
|
+
}
|
|
475
|
+
throw err;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
/** The human-review requests on a contract you are a party to, newest first, with their decisions. */
|
|
479
|
+
async humanReviews(contractId) {
|
|
480
|
+
return this.request("GET", `/api/human-review?contractId=${encodeURIComponent(contractId)}`);
|
|
481
|
+
}
|
|
387
482
|
/**
|
|
388
483
|
* The contracts on which THIS agent, as funder, still owes a manual verdict.
|
|
389
484
|
*
|
|
390
485
|
* The pull behind the `manual_review.required` webhook. A webhook that does
|
|
391
486
|
* not arrive — the agent was down, the endpoint 500'd, the subscription was
|
|
392
487
|
* never made — is a decision that never gets made, and `cron/cancel-expired`
|
|
393
|
-
* then
|
|
394
|
-
*
|
|
488
|
+
* then completes the milestone after 48 h (agent contracts in MANUAL_AUTO or
|
|
489
|
+
* AUTO) or 14 days (every other contract) — verification-only contracts, so
|
|
490
|
+
* no money moves, and nobody decided it. The whole point of the 60–85 confidence
|
|
395
491
|
* band is that somebody looks.
|
|
396
492
|
*
|
|
397
493
|
* Every browser surface the funder has for this asks
|
|
@@ -410,6 +506,16 @@ export class CascrowClient {
|
|
|
410
506
|
async reviewQueue() {
|
|
411
507
|
return this.request("GET", "/api/agent/review-queue");
|
|
412
508
|
}
|
|
509
|
+
/**
|
|
510
|
+
* As the PAYER of a MilestoneEscrowV3 escrow: the claims that release it to the
|
|
511
|
+
* builder unless your own wallet calls `object(escrowId)` before
|
|
512
|
+
* `objectionDeadline` — the pull behind the `claim.submitted` webhook. cascrow
|
|
513
|
+
* cannot object for you. Throws with code `V3_INDEX_STALE` (503) while the index
|
|
514
|
+
* is not current; read the chain directly then.
|
|
515
|
+
*/
|
|
516
|
+
async v3Claims() {
|
|
517
|
+
return this.request("GET", "/api/agent/v3-claims");
|
|
518
|
+
}
|
|
413
519
|
/** Check for pending contract invites sent to this agent. */
|
|
414
520
|
async checkInvites() {
|
|
415
521
|
return this.request("GET", "/api/agent/pending-invites");
|
|
@@ -419,35 +525,16 @@ export class CascrowClient {
|
|
|
419
525
|
return this.request("POST", "/api/agent/handoff", input);
|
|
420
526
|
}
|
|
421
527
|
// ─── Funding ────────────────────────────────────────────────────────────────
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
* `milestone.amountUSD`; a body `amountUSD` has never been read.
|
|
433
|
-
*
|
|
434
|
-
* SEC-120 removed the parameter from both MCP tool schemas, the OpenAPI spec
|
|
435
|
-
* and the CLI — and stopped here, at the one surface where the demand was
|
|
436
|
-
* enforced by the COMPILER rather than merely written down: `amountUSD:
|
|
437
|
-
* number`, no `?`, and `input` forwarded whole. That is the same defect the
|
|
438
|
-
* removal was about, at the door that states it most strongly, and it
|
|
439
|
-
* survived because the correction was checked against the places that
|
|
440
|
-
* document the parameter rather than against the places that require it.
|
|
441
|
-
*
|
|
442
|
-
* It is deprecated rather than deleted: deleting it would break compilation
|
|
443
|
-
* for every existing caller, which is a worse answer than telling them the
|
|
444
|
-
* truth. It is no longer forwarded, so the request body now says what the
|
|
445
|
-
* server actually reads.
|
|
446
|
-
*/
|
|
447
|
-
async escrowFund(input) {
|
|
448
|
-
const { contractId, agentPrivateKey, milestoneId } = input;
|
|
449
|
-
return this.request("POST", "/api/agent/escrow-fund", { contractId, agentPrivateKey, milestoneId });
|
|
450
|
-
}
|
|
528
|
+
// `fundMilestone()` was removed in 0.7.0 (cascrow Phase 6, owner decision 16): a
|
|
529
|
+
// $0 verification contract is active by itself once the builder has joined, and a
|
|
530
|
+
// milestone with an amount is a MilestoneEscrowV3 escrow its payer funds with one
|
|
531
|
+
// transaction from their own machine (`npx cascrow-signer fund --milestone <id>`,
|
|
532
|
+
// after `client.v3.offer` and the builder's acceptance). The SDK signs nothing.
|
|
533
|
+
//
|
|
534
|
+
// `escrowFund()` was removed in 0.5.0 (cascrow Phase 5): it sent the agent's
|
|
535
|
+
// private key to cascrow, which signed the deposit server-side. cascrow never
|
|
536
|
+
// accepts, creates, stores or signs with anyone's key; the server answers the old
|
|
537
|
+
// path with 410 CUSTODY_PATH_REMOVED.
|
|
451
538
|
// ─── Proof & verification ───────────────────────────────────────────────────
|
|
452
539
|
/**
|
|
453
540
|
* Submit a text proof report for a milestone. Verification starts by itself —
|
|
@@ -576,13 +663,29 @@ export class CascrowClient {
|
|
|
576
663
|
// a VERIFIED with a hold or a compliance block did not, and a COMPLETED
|
|
577
664
|
// that someone else released did. SEC-058 / SEC-059.
|
|
578
665
|
...(msg.alreadyReleased === true ? { alreadyReleased: true } : {}),
|
|
579
|
-
|
|
666
|
+
// The panel approved a milestone nothing can complete (an amount without a
|
|
667
|
+
// MilestoneEscrowV3 escrow): the server's sentence and remedy, forwarded.
|
|
668
|
+
...(msg.action === "NOT_COMPLETABLE_WITHOUT_ESCROW"
|
|
669
|
+
? {
|
|
670
|
+
...(typeof msg.error === "string" ? { error: msg.error } : {}),
|
|
671
|
+
...(typeof msg.remedy === "string" ? { remedy: msg.remedy } : {}),
|
|
672
|
+
}
|
|
673
|
+
: {}),
|
|
580
674
|
...(msg.complianceBlocked === true ? { complianceBlocked: true } : {}),
|
|
581
675
|
...(msg.timedOut === true ? { timedOut: true } : {}),
|
|
582
676
|
// With `action: "SUPERSEDED"`: the milestone was closed (e.g. EXPIRED)
|
|
583
677
|
// before this verification could settle it, rather than decided by
|
|
584
678
|
// another proof.
|
|
585
679
|
...(typeof msg.settledAs === "string" ? { settledAs: msg.settledAs } : {}),
|
|
680
|
+
// MilestoneEscrowV3: the claim-relevant answer is the SUBMISSION's verdict,
|
|
681
|
+
// not `decision` (the panel on this one file). Absent → PENDING, never YES.
|
|
682
|
+
...(msg.action === "V3_RECOMMENDATION"
|
|
683
|
+
? {
|
|
684
|
+
manifestHash: typeof msg.manifestHash === "string" ? msg.manifestHash : null,
|
|
685
|
+
submissionVerdict: msg.submissionVerdict === "YES" || msg.submissionVerdict === "NO" ? msg.submissionVerdict : "PENDING",
|
|
686
|
+
claimReady: msg.claimReady === true,
|
|
687
|
+
}
|
|
688
|
+
: {}),
|
|
586
689
|
};
|
|
587
690
|
}
|
|
588
691
|
else if (msg.type === "error") {
|
|
@@ -616,7 +719,9 @@ export class CascrowClient {
|
|
|
616
719
|
}
|
|
617
720
|
/**
|
|
618
721
|
* Submit proof and get an immediate verdict in one call — runs the full
|
|
619
|
-
* 5-model pipeline
|
|
722
|
+
* 5-model pipeline. On approval a verification-only milestone completes and its NFT
|
|
723
|
+
* is minted; for a MilestoneEscrowV3 milestone the verdict is a recommendation
|
|
724
|
+
* (`verdict: "v3_recommendation"`) and moves no money.
|
|
620
725
|
*/
|
|
621
726
|
async mcpSubmit(input) {
|
|
622
727
|
const data = await this.request("POST", "/api/mcp/submit", {
|
|
@@ -633,11 +738,13 @@ export class CascrowClient {
|
|
|
633
738
|
// Ordered so the two verdict-less responses are classified before the field that
|
|
634
739
|
// is missing on both is read. A `?? "rejected"` here would be the same
|
|
635
740
|
// wrong-direction default `requireAction` above was written to remove.
|
|
636
|
-
const verdict = data.
|
|
637
|
-
? "
|
|
638
|
-
: data.
|
|
639
|
-
? "
|
|
640
|
-
: data.
|
|
741
|
+
const verdict = data.action === "V3_RECOMMENDATION"
|
|
742
|
+
? "v3_recommendation"
|
|
743
|
+
: data.decided === "elsewhere"
|
|
744
|
+
? "decided_elsewhere"
|
|
745
|
+
: data.panelUnavailable
|
|
746
|
+
? "panel_unavailable"
|
|
747
|
+
: data.verdict;
|
|
641
748
|
if (!verdict) {
|
|
642
749
|
throw new Error("mcp/submit answered 200 with no verdict and no known refusal state — upgrade cascrow-sdk.");
|
|
643
750
|
}
|
|
@@ -647,8 +754,15 @@ export class CascrowClient {
|
|
|
647
754
|
reasoning: data.reasoning ?? "",
|
|
648
755
|
onChainUrl: data.on_chain_url ?? null,
|
|
649
756
|
proofId: data.proof_id ?? null,
|
|
650
|
-
releaseHoldUntil: data.release_hold_until ?? null,
|
|
651
757
|
settledAs: verdict === "decided_elsewhere" && typeof data.settledAs === "string" ? data.settledAs : null,
|
|
758
|
+
...(verdict === "v3_recommendation"
|
|
759
|
+
? {
|
|
760
|
+
decision: data.decision ?? null,
|
|
761
|
+
manifestHash: data.manifestHash ?? null,
|
|
762
|
+
submissionVerdict: data.submissionVerdict === "YES" || data.submissionVerdict === "NO" ? data.submissionVerdict : "PENDING",
|
|
763
|
+
claimReady: data.claimReady === true,
|
|
764
|
+
}
|
|
765
|
+
: {}),
|
|
652
766
|
};
|
|
653
767
|
}
|
|
654
768
|
/**
|
|
@@ -752,7 +866,9 @@ export class CascrowClient {
|
|
|
752
866
|
// Approved or paid without a YES from this proof: nothing is left for it to
|
|
753
867
|
// decide, whether or not it has a verdict of its own.
|
|
754
868
|
const elsewhere = status ? approvedWithoutThisVerdict(status) : false;
|
|
755
|
-
|
|
869
|
+
// No verdict can complete this milestone: final, whatever `pending` says.
|
|
870
|
+
const notCompletable = status?.notCompletableWithoutEscrow === true && closed === null;
|
|
871
|
+
if (status && (!status.pending || closed || elsewhere || notCompletable)) {
|
|
756
872
|
return {
|
|
757
873
|
pending: false,
|
|
758
874
|
// `?? "NO"` before: an ABSENT decision was reported as a rejection, the one
|
|
@@ -766,11 +882,22 @@ export class CascrowClient {
|
|
|
766
882
|
// contestable, unpaid approval reached a caller as a completed payout
|
|
767
883
|
// (SEC-058, at the fourth door of three that were fixed).
|
|
768
884
|
milestoneStatus: status.milestoneStatus,
|
|
769
|
-
|
|
885
|
+
notCompletableWithoutEscrow: notCompletable,
|
|
770
886
|
milestoneClosed: closed !== null,
|
|
771
887
|
terminalStatus: closed,
|
|
772
888
|
terminalReason: closed ? (status.terminalReason ?? null) : null,
|
|
773
889
|
approvedWithoutThisVerdict: elsewhere,
|
|
890
|
+
// MilestoneEscrowV3: the claim-relevant answer is the SUBMISSION's verdict, not
|
|
891
|
+
// this proof's `decision` (post-review G4) — forwarded, never derived here.
|
|
892
|
+
...(status.escrowVersion !== undefined ? { escrowVersion: status.escrowVersion } : {}),
|
|
893
|
+
...(status.escrowVersion === 3
|
|
894
|
+
? {
|
|
895
|
+
submissionId: status.submissionId ?? null,
|
|
896
|
+
manifestHash: status.manifestHash ?? null,
|
|
897
|
+
submissionVerdict: status.submissionVerdict ?? "PENDING",
|
|
898
|
+
claimReady: status.claimReady === true,
|
|
899
|
+
}
|
|
900
|
+
: {}),
|
|
774
901
|
reasoning: status.reasoning,
|
|
775
902
|
};
|
|
776
903
|
}
|
|
@@ -818,9 +945,27 @@ export class CascrowClient {
|
|
|
818
945
|
const qs = params.toString();
|
|
819
946
|
return this.request("GET", `/api/agent/discover${qs ? `?${qs}` : ""}`);
|
|
820
947
|
}
|
|
821
|
-
/**
|
|
948
|
+
/**
|
|
949
|
+
* Configure this agent's discovery settings, whether its name is shown on the
|
|
950
|
+
* public check page of its certificates, skills, and callback URL.
|
|
951
|
+
*
|
|
952
|
+
* Turning `discoverable` or `showNameOnCertificates` ON publishes the account
|
|
953
|
+
* holder's name and needs their consent. Without `consentVersion` the server
|
|
954
|
+
* changes nothing and answers 400 `CONSENT_REQUIRED` with the exact text to
|
|
955
|
+
* show and the version to send; `GET /api/agent/settings` returns the same texts.
|
|
956
|
+
* Send `consentVersion` only after the account holder agreed. Turning either
|
|
957
|
+
* off needs nothing.
|
|
958
|
+
*/
|
|
822
959
|
async setDiscoverable(options) {
|
|
823
960
|
return this.request("PATCH", "/api/agent/settings", options);
|
|
824
961
|
}
|
|
962
|
+
/**
|
|
963
|
+
* Replace this agent's callback signing secret and return the new one, once.
|
|
964
|
+
* The previous secret stops verifying immediately. 409 `NO_CALLBACK_URL` when
|
|
965
|
+
* no callback URL is set (set one with `setDiscoverable({ callbackUrl })`).
|
|
966
|
+
*/
|
|
967
|
+
async rotateCallbackSecret() {
|
|
968
|
+
return this.request("POST", "/api/agent/settings/callback-secret", {});
|
|
969
|
+
}
|
|
825
970
|
}
|
|
826
971
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export { CascrowClient } from "./client.js";
|
|
2
2
|
export type { CascrowClientOptions, WatchResult } from "./client.js";
|
|
3
3
|
export * from "./types.js";
|
|
4
|
+
export { V3_CLIENT_TEXT, CASCROW_SIGNER_PIN, v3HintFor, v3RefusalDetail, joinedLine } from "./v3.js";
|
|
5
|
+
export type { V3Action, V3PreparedTx, V3OfferInput, V3AcceptanceData, V3Attestation } from "./v3.js";
|
|
6
|
+
export { verifyCascrowSignature, CASCROW_SIGNATURE_HEADER, CASCROW_TIMESTAMP_HEADER, CASCROW_REPLAY_WINDOW_SECONDS } from "./signature.js";
|
|
7
|
+
export type { CascrowSignatureCheck } from "./signature.js";
|
|
4
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrG,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC3I,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { CascrowClient } from "./client.js";
|
|
2
2
|
export * from "./types.js";
|
|
3
|
+
export { V3_CLIENT_TEXT, CASCROW_SIGNER_PIN, v3HintFor, v3RefusalDetail, joinedLine } from "./v3.js";
|
|
4
|
+
export { verifyCascrowSignature, CASCROW_SIGNATURE_HEADER, CASCROW_TIMESTAMP_HEADER, CASCROW_REPLAY_WINDOW_SECONDS } from "./signature.js";
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify a webhook or agent callback from cascrow.
|
|
3
|
+
*
|
|
4
|
+
* Every outbound POST carries two headers:
|
|
5
|
+
*
|
|
6
|
+
* X-Cascrow-Timestamp: 2026-10-20T12:00:00.000Z (ISO 8601)
|
|
7
|
+
* X-Cascrow-Signature: sha256=<hex HMAC-SHA256(secret, "t=" + <unix ms of that timestamp> + "." + <raw body>)>
|
|
8
|
+
*
|
|
9
|
+
* The secret is the endpoint's (POST /api/webhooks) or the agent's callback
|
|
10
|
+
* secret (PATCH /api/agent/settings when the callback URL is first set, or
|
|
11
|
+
* POST /api/agent/settings/callback-secret). Pass the RAW body — the exact bytes
|
|
12
|
+
* received, before any JSON parsing — or the MAC will not match.
|
|
13
|
+
*
|
|
14
|
+
* A request whose timestamp is more than `toleranceSeconds` (default 300) away
|
|
15
|
+
* from now is refused: that is the replay window. Dedupe on the event's
|
|
16
|
+
* `data.outboxId` where present; a signature proves origin and freshness, not
|
|
17
|
+
* that you have not seen the request before.
|
|
18
|
+
*
|
|
19
|
+
* Uses WebCrypto (`globalThis.crypto.subtle`, Node 19+ and every browser/edge
|
|
20
|
+
* runtime); on Node 18 it falls back to `node:crypto`'s webcrypto.
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { verifyCascrowSignature } from "cascrow-sdk";
|
|
24
|
+
* const ok = await verifyCascrowSignature({
|
|
25
|
+
* secret: process.env.CASCROW_CALLBACK_SECRET!,
|
|
26
|
+
* body: rawBody,
|
|
27
|
+
* signature: req.headers["x-cascrow-signature"],
|
|
28
|
+
* timestamp: req.headers["x-cascrow-timestamp"],
|
|
29
|
+
* });
|
|
30
|
+
* if (!ok.ok) return res.status(401).end();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export type CascrowSignatureCheck = {
|
|
34
|
+
ok: true;
|
|
35
|
+
} | {
|
|
36
|
+
ok: false;
|
|
37
|
+
reason: "missing_header" | "bad_timestamp" | "outside_window" | "bad_signature";
|
|
38
|
+
};
|
|
39
|
+
export declare const CASCROW_SIGNATURE_HEADER = "X-Cascrow-Signature";
|
|
40
|
+
export declare const CASCROW_TIMESTAMP_HEADER = "X-Cascrow-Timestamp";
|
|
41
|
+
export declare const CASCROW_REPLAY_WINDOW_SECONDS = 300;
|
|
42
|
+
export declare function verifyCascrowSignature(params: {
|
|
43
|
+
secret: string;
|
|
44
|
+
body: string | Uint8Array;
|
|
45
|
+
signature: string | string[] | null | undefined;
|
|
46
|
+
timestamp: string | string[] | null | undefined;
|
|
47
|
+
/** Seconds a timestamp may be off in either direction. Default 300. */
|
|
48
|
+
toleranceSeconds?: number;
|
|
49
|
+
/** For tests. Default: the current time. */
|
|
50
|
+
now?: Date;
|
|
51
|
+
}): Promise<CascrowSignatureCheck>;
|
|
52
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,GAAG,gBAAgB,GAAG,eAAe,CAAA;CAAE,CAAC;AAEnG,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,MAAM,CAAC;AA4BjD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgBjC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export const CASCROW_SIGNATURE_HEADER = "X-Cascrow-Signature";
|
|
2
|
+
export const CASCROW_TIMESTAMP_HEADER = "X-Cascrow-Timestamp";
|
|
3
|
+
export const CASCROW_REPLAY_WINDOW_SECONDS = 300;
|
|
4
|
+
async function subtle() {
|
|
5
|
+
const g = globalThis.crypto;
|
|
6
|
+
if (g?.subtle)
|
|
7
|
+
return g.subtle;
|
|
8
|
+
const spec = "node:crypto";
|
|
9
|
+
const mod = (await import(spec));
|
|
10
|
+
if (!mod.webcrypto?.subtle)
|
|
11
|
+
throw new Error("no WebCrypto available to verify a cascrow signature");
|
|
12
|
+
return mod.webcrypto.subtle;
|
|
13
|
+
}
|
|
14
|
+
function toHex(buf) {
|
|
15
|
+
return [...new Uint8Array(buf)].map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
16
|
+
}
|
|
17
|
+
/** Constant-time over equal lengths; unequal lengths are unequal. */
|
|
18
|
+
function equal(a, b) {
|
|
19
|
+
if (a.length !== b.length)
|
|
20
|
+
return false;
|
|
21
|
+
let diff = 0;
|
|
22
|
+
for (let i = 0; i < a.length; i++)
|
|
23
|
+
diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
24
|
+
return diff === 0;
|
|
25
|
+
}
|
|
26
|
+
function headerValue(v) {
|
|
27
|
+
if (Array.isArray(v))
|
|
28
|
+
return v.length === 1 ? v[0] : null;
|
|
29
|
+
return v ?? null;
|
|
30
|
+
}
|
|
31
|
+
export async function verifyCascrowSignature(params) {
|
|
32
|
+
const signature = headerValue(params.signature)?.trim() ?? null;
|
|
33
|
+
const timestamp = headerValue(params.timestamp)?.trim() ?? null;
|
|
34
|
+
if (!signature || !timestamp || !params.secret)
|
|
35
|
+
return { ok: false, reason: "missing_header" };
|
|
36
|
+
const ms = Date.parse(timestamp);
|
|
37
|
+
if (!Number.isFinite(ms))
|
|
38
|
+
return { ok: false, reason: "bad_timestamp" };
|
|
39
|
+
const now = (params.now ?? new Date()).getTime();
|
|
40
|
+
const tolerance = (params.toleranceSeconds ?? CASCROW_REPLAY_WINDOW_SECONDS) * 1000;
|
|
41
|
+
if (Math.abs(now - ms) > tolerance)
|
|
42
|
+
return { ok: false, reason: "outside_window" };
|
|
43
|
+
const enc = new TextEncoder();
|
|
44
|
+
const body = typeof params.body === "string" ? params.body : new TextDecoder().decode(params.body);
|
|
45
|
+
const s = await subtle();
|
|
46
|
+
const key = await s.importKey("raw", enc.encode(params.secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
47
|
+
const mac = await s.sign("HMAC", key, enc.encode(`t=${ms}.${body}`));
|
|
48
|
+
return equal(`sha256=${toHex(mac)}`, signature) ? { ok: true } : { ok: false, reason: "bad_signature" };
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=signature.js.map
|