@agirails/sdk 4.4.9 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builders/DeliveryProofBuilder.d.ts +224 -13
- package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
- package/dist/builders/DeliveryProofBuilder.js +247 -13
- package/dist/builders/DeliveryProofBuilder.js.map +1 -1
- package/dist/cli/agirails.d.ts +85 -1
- package/dist/cli/agirails.d.ts.map +1 -1
- package/dist/cli/agirails.js +429 -154
- package/dist/cli/agirails.js.map +1 -1
- package/dist/cli/commands/init.d.ts +54 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +193 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/receipt.d.ts +70 -2
- package/dist/cli/commands/receipt.d.ts.map +1 -1
- package/dist/cli/commands/receipt.js +218 -3
- package/dist/cli/commands/receipt.js.map +1 -1
- package/dist/cli/commands/test.d.ts +77 -1
- package/dist/cli/commands/test.d.ts.map +1 -1
- package/dist/cli/commands/test.js +264 -2
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/lib/runRequest.d.ts +90 -0
- package/dist/cli/lib/runRequest.d.ts.map +1 -1
- package/dist/cli/lib/runRequest.js +300 -9
- package/dist/cli/lib/runRequest.js.map +1 -1
- package/dist/cli/lib/sentinelReflections.d.ts +111 -0
- package/dist/cli/lib/sentinelReflections.d.ts.map +1 -0
- package/dist/cli/lib/sentinelReflections.js +193 -0
- package/dist/cli/lib/sentinelReflections.js.map +1 -0
- package/dist/delivery/MockDeliveryChannel.d.ts +208 -0
- package/dist/delivery/MockDeliveryChannel.d.ts.map +1 -0
- package/dist/delivery/MockDeliveryChannel.js +445 -0
- package/dist/delivery/MockDeliveryChannel.js.map +1 -0
- package/dist/delivery/RelayDeliveryChannel.d.ts +176 -0
- package/dist/delivery/RelayDeliveryChannel.d.ts.map +1 -0
- package/dist/delivery/RelayDeliveryChannel.js +377 -0
- package/dist/delivery/RelayDeliveryChannel.js.map +1 -0
- package/dist/delivery/channel.d.ts +282 -0
- package/dist/delivery/channel.d.ts.map +1 -0
- package/dist/delivery/channel.js +76 -0
- package/dist/delivery/channel.js.map +1 -0
- package/dist/delivery/channelLog.d.ts +115 -0
- package/dist/delivery/channelLog.d.ts.map +1 -0
- package/dist/delivery/channelLog.js +94 -0
- package/dist/delivery/channelLog.js.map +1 -0
- package/dist/delivery/crypto.d.ts +312 -0
- package/dist/delivery/crypto.d.ts.map +1 -0
- package/dist/delivery/crypto.js +495 -0
- package/dist/delivery/crypto.js.map +1 -0
- package/dist/delivery/eip712.d.ts +248 -0
- package/dist/delivery/eip712.d.ts.map +1 -0
- package/dist/delivery/eip712.js +397 -0
- package/dist/delivery/eip712.js.map +1 -0
- package/dist/delivery/envelopeBuilder.d.ts +531 -0
- package/dist/delivery/envelopeBuilder.d.ts.map +1 -0
- package/dist/delivery/envelopeBuilder.js +832 -0
- package/dist/delivery/envelopeBuilder.js.map +1 -0
- package/dist/delivery/index.d.ts +53 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +143 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/keys.d.ts +344 -0
- package/dist/delivery/keys.d.ts.map +1 -0
- package/dist/delivery/keys.js +513 -0
- package/dist/delivery/keys.js.map +1 -0
- package/dist/delivery/nonce-keys.d.ts +93 -0
- package/dist/delivery/nonce-keys.d.ts.map +1 -0
- package/dist/delivery/nonce-keys.js +88 -0
- package/dist/delivery/nonce-keys.js.map +1 -0
- package/dist/delivery/setupBuilder.d.ts +403 -0
- package/dist/delivery/setupBuilder.d.ts.map +1 -0
- package/dist/delivery/setupBuilder.js +554 -0
- package/dist/delivery/setupBuilder.js.map +1 -0
- package/dist/delivery/types.d.ts +722 -0
- package/dist/delivery/types.d.ts.map +1 -0
- package/dist/delivery/types.js +150 -0
- package/dist/delivery/types.js.map +1 -0
- package/dist/delivery/validate.d.ts +288 -0
- package/dist/delivery/validate.d.ts.map +1 -0
- package/dist/delivery/validate.js +648 -0
- package/dist/delivery/validate.js.map +1 -0
- package/dist/level1/Agent.d.ts +130 -0
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +248 -0
- package/dist/level1/Agent.js.map +1 -1
- package/dist/level1/types/Options.d.ts +62 -0
- package/dist/level1/types/Options.d.ts.map +1 -1
- package/dist/level1/types/Options.js +22 -0
- package/dist/level1/types/Options.js.map +1 -1
- package/dist/runtime/MockRuntime.d.ts +32 -0
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +44 -0
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/package.json +6 -1
|
@@ -69,6 +69,28 @@ const ethers_1 = require("ethers");
|
|
|
69
69
|
const ACTPClient_1 = require("../../ACTPClient");
|
|
70
70
|
const keystore_1 = require("../../wallet/keystore");
|
|
71
71
|
const Logger_1 = require("../../utils/Logger");
|
|
72
|
+
const delivery_1 = require("../../delivery");
|
|
73
|
+
// ============================================================================
|
|
74
|
+
// Time helpers (single seam — do NOT inline wall-clock primitives elsewhere)
|
|
75
|
+
// ============================================================================
|
|
76
|
+
//
|
|
77
|
+
// AIP-16 Phase 2e discipline: every wall-clock or monotonic-time read in this
|
|
78
|
+
// module flows through these helpers. Tests inject deterministic clocks via
|
|
79
|
+
// the helpers in `setupBuilder` / `envelopeBuilder`; this module's own timing
|
|
80
|
+
// (envelope grace period, elapsed bookkeeping) sticks to these two named seams
|
|
81
|
+
// so a future test harness can swap them without grepping for literals.
|
|
82
|
+
//
|
|
83
|
+
// `secondsNow()` — integer Unix seconds, used wherever EIP-712 `uint64`
|
|
84
|
+
// timestamps or display-friendly elapsed values are needed.
|
|
85
|
+
// `monoMillisNow()` — monotonic milliseconds, used for in-process timers and
|
|
86
|
+
// elapsed-budget checks. Backed by `Date.now()` (Node lacks `process.hrtime`
|
|
87
|
+
// in browser builds, and we don't need sub-ms resolution here).
|
|
88
|
+
function secondsNow() {
|
|
89
|
+
return Math.floor(Date.now() / 1000);
|
|
90
|
+
}
|
|
91
|
+
function monoMillisNow() {
|
|
92
|
+
return Date.now();
|
|
93
|
+
}
|
|
72
94
|
class QuoteTimeoutError extends Error {
|
|
73
95
|
constructor(txId, timeoutMs) {
|
|
74
96
|
super(`No quote received within ${timeoutMs}ms. Provider may be offline. ` +
|
|
@@ -173,7 +195,7 @@ async function runRequest(opts) {
|
|
|
173
195
|
// when AutoWallet is active, or the EOA otherwise.
|
|
174
196
|
// `amount` is the human-readable USDC string (parseAmount handles
|
|
175
197
|
// units internally); do NOT pass amountWei here.
|
|
176
|
-
const startedAt =
|
|
198
|
+
const startedAt = monoMillisNow();
|
|
177
199
|
const txId = await client.standard.createTransaction({
|
|
178
200
|
provider: providerAddress,
|
|
179
201
|
amount: opts.amount,
|
|
@@ -182,6 +204,168 @@ async function runRequest(opts) {
|
|
|
182
204
|
serviceDescription: serviceHash, // PRD §5.6
|
|
183
205
|
});
|
|
184
206
|
opts.onTransition?.('INITIATED', txId, new Date());
|
|
207
|
+
// ----------------------------------------------------------------------
|
|
208
|
+
// 7a. AIP-16 Phase 2e — Delivery surface: setup POST + envelope subscribe
|
|
209
|
+
// ----------------------------------------------------------------------
|
|
210
|
+
//
|
|
211
|
+
// Conditions for AIP-16 activation in this call:
|
|
212
|
+
// - caller passed `deliveryChannel`
|
|
213
|
+
// - caller passed `expectedKernelAddress`
|
|
214
|
+
// - caller passed `expectedChainId`
|
|
215
|
+
// - caller passed a `privateKey` (we need a Signer for the EIP-712
|
|
216
|
+
// setup signature — Smart Wallet mode is not yet wired here; if a
|
|
217
|
+
// caller lacks a raw signer, the delivery surface is skipped and
|
|
218
|
+
// legacy `tx.deliveryProof` decoding is the only payload path).
|
|
219
|
+
//
|
|
220
|
+
// Failure of either the setup POST OR the envelope subscription is
|
|
221
|
+
// STRICTLY non-fatal: settlement always proceeds. Errors are captured
|
|
222
|
+
// into `deliveryError` for caller visibility.
|
|
223
|
+
const deliveryEnabled = !!opts.deliveryChannel &&
|
|
224
|
+
!!opts.expectedKernelAddress &&
|
|
225
|
+
typeof opts.expectedChainId === 'number' &&
|
|
226
|
+
!!privateKey;
|
|
227
|
+
// Closure-scoped delivery state. Buyer ephemeral private key is held
|
|
228
|
+
// ONLY in this closure and is never logged, returned, or persisted.
|
|
229
|
+
let deliveryError;
|
|
230
|
+
let envelopePayload = undefined;
|
|
231
|
+
let envelopePayloadResolved = false;
|
|
232
|
+
let envelopeSubscription;
|
|
233
|
+
let buyerEphemeralPrivKey;
|
|
234
|
+
let deliveryScheme;
|
|
235
|
+
const txIdHex = txId;
|
|
236
|
+
if (deliveryEnabled) {
|
|
237
|
+
const privacy = opts.deliveryPrivacy ?? 'public';
|
|
238
|
+
deliveryScheme = privacy;
|
|
239
|
+
const channel = opts.deliveryChannel;
|
|
240
|
+
const kernelAddr = opts.expectedKernelAddress;
|
|
241
|
+
const chainId = opts.expectedChainId;
|
|
242
|
+
// Generate ephemeral keypair only for encrypted privacy. Public uses
|
|
243
|
+
// CANONICAL_EMPTY_BYTES32 (EIP-712 has no "absent field" notion).
|
|
244
|
+
let buyerEphemeralPubkey = delivery_1.CANONICAL_EMPTY_BYTES32;
|
|
245
|
+
if (privacy === 'encrypted') {
|
|
246
|
+
try {
|
|
247
|
+
const kp = (0, delivery_1.generateEphemeralKeyPair)();
|
|
248
|
+
buyerEphemeralPubkey = kp.publicKeyHex;
|
|
249
|
+
buyerEphemeralPrivKey = kp.privateKey;
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
deliveryError = {
|
|
253
|
+
code: 'crypto_keygen_failed',
|
|
254
|
+
message: err instanceof Error ? err.message : String(err),
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// Proceed with setup only if keygen (if attempted) succeeded.
|
|
259
|
+
if (!deliveryError) {
|
|
260
|
+
try {
|
|
261
|
+
const signer = new ethers_1.Wallet(privateKey);
|
|
262
|
+
const signerAddress = (0, ethers_1.getAddress)(signer.address);
|
|
263
|
+
// `requesterAddress` here is the on-chain participant address. We
|
|
264
|
+
// pass `client.info.address` so smart-wallet flows put the SW
|
|
265
|
+
// address into the signed payload, while EOA flows put the EOA.
|
|
266
|
+
const requesterOnChain = (0, ethers_1.getAddress)(client.info.address);
|
|
267
|
+
const builder = new delivery_1.DeliverySetupBuilder(signer);
|
|
268
|
+
const { wire: setupWire } = await builder.build({
|
|
269
|
+
txId: txIdHex,
|
|
270
|
+
chainId,
|
|
271
|
+
kernelAddress: kernelAddr,
|
|
272
|
+
requesterAddress: requesterOnChain,
|
|
273
|
+
signerAddress,
|
|
274
|
+
buyerEphemeralPubkey,
|
|
275
|
+
expectedPrivacy: privacy,
|
|
276
|
+
// H4 (AIP-16 Phase 3): thread caller-supplied Smart Wallet
|
|
277
|
+
// factory nonce. Defaults to 0 to preserve byte-identical
|
|
278
|
+
// signing for the common nonce=0 case.
|
|
279
|
+
smartWalletNonce: opts.smartWalletNonce ?? 0,
|
|
280
|
+
});
|
|
281
|
+
// Non-blocking POST: race against a 3s timeout. Timeout means we
|
|
282
|
+
// proceed with state polling and let the envelope subscription
|
|
283
|
+
// catch up if the setup eventually lands on the relay.
|
|
284
|
+
const SETUP_POST_TIMEOUT_MS = 3000;
|
|
285
|
+
const postPromise = channel.publishSetup(setupWire);
|
|
286
|
+
let timeoutId;
|
|
287
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
288
|
+
timeoutId = setTimeout(() => resolve('timeout'), SETUP_POST_TIMEOUT_MS);
|
|
289
|
+
});
|
|
290
|
+
try {
|
|
291
|
+
const outcome = await Promise.race([
|
|
292
|
+
postPromise.then(() => 'ok'),
|
|
293
|
+
timeoutPromise,
|
|
294
|
+
]);
|
|
295
|
+
if (outcome === 'timeout') {
|
|
296
|
+
deliveryError = {
|
|
297
|
+
code: 'setup_post_failed',
|
|
298
|
+
message: `Delivery setup POST exceeded ${SETUP_POST_TIMEOUT_MS}ms; proceeding without setup.`,
|
|
299
|
+
details: { txId },
|
|
300
|
+
};
|
|
301
|
+
logger.warn('Delivery setup POST timed out; proceeding', {
|
|
302
|
+
txId,
|
|
303
|
+
timeoutMs: SETUP_POST_TIMEOUT_MS,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
catch (err) {
|
|
308
|
+
deliveryError = {
|
|
309
|
+
code: 'setup_post_failed',
|
|
310
|
+
message: err instanceof Error ? err.message : String(err),
|
|
311
|
+
details: { txId },
|
|
312
|
+
};
|
|
313
|
+
logger.warn('Delivery setup POST failed; proceeding', {
|
|
314
|
+
txId,
|
|
315
|
+
err: err instanceof Error ? err.message : String(err),
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
finally {
|
|
319
|
+
if (timeoutId)
|
|
320
|
+
clearTimeout(timeoutId);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
// Builder-side failure (signer/address mismatch, canonical-empty
|
|
325
|
+
// rule violation, etc.). Treat as setup_post_failed semantically:
|
|
326
|
+
// the buyer's intent to use the delivery surface did not land.
|
|
327
|
+
deliveryError = {
|
|
328
|
+
code: 'setup_post_failed',
|
|
329
|
+
message: err instanceof Error ? err.message : String(err),
|
|
330
|
+
details: { txId, stage: 'build' },
|
|
331
|
+
};
|
|
332
|
+
logger.warn('Delivery setup build failed; proceeding', {
|
|
333
|
+
txId,
|
|
334
|
+
err: err instanceof Error ? err.message : String(err),
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
// Envelope subscription: parallel to the state-polling loop. The
|
|
339
|
+
// callback only stores the first envelope it sees; the channel's
|
|
340
|
+
// dedup-after-verify discipline (and the `getEnvelopes` snapshot
|
|
341
|
+
// poll in the grace period below) handle any race against pollForJobs
|
|
342
|
+
// re-delivery on the provider side. We tolerate subscription errors
|
|
343
|
+
// here: if the channel cannot subscribe, we fall through to the
|
|
344
|
+
// legacy `tx.deliveryProof` payload path.
|
|
345
|
+
try {
|
|
346
|
+
envelopeSubscription = await channel.subscribeEnvelopes(txIdHex, (env) => {
|
|
347
|
+
// Always keep the FIRST envelope seen — later ones are
|
|
348
|
+
// either dupes (dedup) or out-of-order retries. Mutating
|
|
349
|
+
// the holder is sync and side-effect-free wrt settlement.
|
|
350
|
+
if (envelopePayloadResolved)
|
|
351
|
+
return;
|
|
352
|
+
envelopePayloadResolved = true;
|
|
353
|
+
// Decode lazily: we only parse/decrypt once we know it's
|
|
354
|
+
// the one we'll surface. Parse happens after DELIVERED so
|
|
355
|
+
// we don't burn cycles for a tx that aborts mid-flight.
|
|
356
|
+
// Stash the wire object onto the holder via a transient
|
|
357
|
+
// closure variable shared with the post-DELIVERED block.
|
|
358
|
+
envelopePayload = env; // wire, decoded later
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
catch (err) {
|
|
362
|
+
// Non-fatal — settlement still proceeds.
|
|
363
|
+
logger.warn('Delivery envelope subscription failed; proceeding', {
|
|
364
|
+
txId,
|
|
365
|
+
err: err instanceof Error ? err.message : String(err),
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
}
|
|
185
369
|
// 7b. linkEscrow → COMMITTED.
|
|
186
370
|
// ACTPKernel.linkEscrow requires `msg.sender == txn.requester`
|
|
187
371
|
// ("Only requester" — ACTPKernel.sol:328). The kernel will reject
|
|
@@ -232,8 +416,99 @@ async function runRequest(opts) {
|
|
|
232
416
|
throw new DeliveryTimeoutError(txId, deliveryTimeoutMs, lastState);
|
|
233
417
|
}
|
|
234
418
|
// 10. Decode delivery payload, if present.
|
|
419
|
+
//
|
|
420
|
+
// Precedence (DELIVERED → "what bytes does the buyer actually surface?"):
|
|
421
|
+
// 1. AIP-16 envelope payload (when delivery surface was active and an
|
|
422
|
+
// envelope landed within the grace period). Preferred — it's the
|
|
423
|
+
// cryptographically-bound, scheme-aware payload.
|
|
424
|
+
// 2. Legacy `tx.deliveryProof` parse. Backward-compat path; covers all
|
|
425
|
+
// pre-AIP-16 providers (including Sentinel pre-Phase 2f).
|
|
235
426
|
const tx = await client.runtime.getTransaction(txId);
|
|
236
|
-
|
|
427
|
+
let payload = undefined;
|
|
428
|
+
if (deliveryEnabled) {
|
|
429
|
+
// Bounded grace period after DELIVERED to let the channel deliver the
|
|
430
|
+
// envelope. NEVER blocks settlement: even if the wait elapses with no
|
|
431
|
+
// envelope, we proceed with the legacy payload (or none).
|
|
432
|
+
const envelopeWaitMs = opts.envelopeWaitMs ?? 30000;
|
|
433
|
+
const ENVELOPE_POLL_MS = 250;
|
|
434
|
+
const graceStart = monoMillisNow();
|
|
435
|
+
// If the subscription already fired during state polling, this loop
|
|
436
|
+
// exits immediately on the first iteration.
|
|
437
|
+
while (!envelopePayloadResolved && monoMillisNow() - graceStart < envelopeWaitMs) {
|
|
438
|
+
// Belt-and-suspenders: some channel implementations (mock + relay)
|
|
439
|
+
// expose `getEnvelopes` so we can snapshot in case the subscription
|
|
440
|
+
// missed a write that arrived between subscribe and now.
|
|
441
|
+
if (opts.deliveryChannel?.getEnvelopes) {
|
|
442
|
+
try {
|
|
443
|
+
const snap = await opts.deliveryChannel.getEnvelopes(txIdHex);
|
|
444
|
+
if (snap.length > 0 && !envelopePayloadResolved) {
|
|
445
|
+
envelopePayloadResolved = true;
|
|
446
|
+
envelopePayload = snap[0];
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
catch {
|
|
451
|
+
// Ignore — subscription path is still active.
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
await sleep(ENVELOPE_POLL_MS);
|
|
455
|
+
}
|
|
456
|
+
// Decode the (wire) envelope into a payload, OR fall back.
|
|
457
|
+
if (envelopePayloadResolved && envelopePayload) {
|
|
458
|
+
const wire = envelopePayload;
|
|
459
|
+
try {
|
|
460
|
+
if (wire.signed?.scheme === 'x25519-aes256gcm-v1' &&
|
|
461
|
+
buyerEphemeralPrivKey) {
|
|
462
|
+
payload = await delivery_1.DeliveryEnvelopeBuilder.decryptPayload(wire, buyerEphemeralPrivKey);
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
// public-v1: body is hex-encoded UTF-8 JSON OR plaintext JSON
|
|
466
|
+
// (depending on relay vs mock channel). Try parsing as JSON
|
|
467
|
+
// directly first; if the body is hex-prefixed, decode then parse.
|
|
468
|
+
const body = wire.body;
|
|
469
|
+
if (typeof body === 'string' && body.startsWith('0x')) {
|
|
470
|
+
const { bytesFromHex } = await Promise.resolve().then(() => __importStar(require('../../delivery/crypto')));
|
|
471
|
+
const bytes = bytesFromHex(body);
|
|
472
|
+
const decoder = new TextDecoder('utf-8', { fatal: true });
|
|
473
|
+
payload = JSON.parse(decoder.decode(bytes));
|
|
474
|
+
}
|
|
475
|
+
else if (typeof body === 'string') {
|
|
476
|
+
payload = JSON.parse(body);
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
payload = body;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
catch (err) {
|
|
484
|
+
// Decryption / parse failure is non-fatal — settlement still runs.
|
|
485
|
+
deliveryError = {
|
|
486
|
+
code: 'envelope_decrypt_failed',
|
|
487
|
+
message: err instanceof Error ? err.message : String(err),
|
|
488
|
+
details: { txId, scheme: deliveryScheme },
|
|
489
|
+
};
|
|
490
|
+
logger.warn('Delivery envelope decode failed; proceeding', {
|
|
491
|
+
txId,
|
|
492
|
+
err: err instanceof Error ? err.message : String(err),
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else if (!deliveryError) {
|
|
497
|
+
// Grace period elapsed with no envelope and no prior error. Mark
|
|
498
|
+
// informational `envelope_missing` so the caller can surface a hint.
|
|
499
|
+
deliveryError = {
|
|
500
|
+
code: 'envelope_missing',
|
|
501
|
+
message: `No envelope received within ${envelopeWaitMs}ms grace period`,
|
|
502
|
+
details: { txId, waitedMs: envelopeWaitMs },
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
// Legacy fallback: only consult `tx.deliveryProof` when the AIP-16 path
|
|
507
|
+
// did NOT produce a payload. This keeps Sentinel + pre-AIP-16 callers
|
|
508
|
+
// on the same code path they had before.
|
|
509
|
+
if (payload === undefined) {
|
|
510
|
+
payload = tx?.deliveryProof ? safeParse(tx.deliveryProof) : undefined;
|
|
511
|
+
}
|
|
237
512
|
// 11. Requester-immediate settle. ACTPKernel allows DELIVERED → SETTLED
|
|
238
513
|
// by the requester without waiting for the dispute window
|
|
239
514
|
// (ACTPKernel.sol:700-704). Other parties must wait. We drive the
|
|
@@ -299,7 +574,7 @@ async function runRequest(opts) {
|
|
|
299
574
|
netWei: netWeiBig.toString(),
|
|
300
575
|
serviceHash,
|
|
301
576
|
service: normalizedService,
|
|
302
|
-
durationMs:
|
|
577
|
+
durationMs: monoMillisNow() - startedAt,
|
|
303
578
|
});
|
|
304
579
|
receiptUrl = push.receiptUrl;
|
|
305
580
|
}
|
|
@@ -311,13 +586,29 @@ async function runRequest(opts) {
|
|
|
311
586
|
});
|
|
312
587
|
}
|
|
313
588
|
}
|
|
589
|
+
// Close the envelope subscription before returning. Idempotent per the
|
|
590
|
+
// DeliverySubscription contract; safe to call even if we never bound one.
|
|
591
|
+
if (envelopeSubscription) {
|
|
592
|
+
try {
|
|
593
|
+
await envelopeSubscription.close();
|
|
594
|
+
}
|
|
595
|
+
catch (err) {
|
|
596
|
+
// Subscription teardown failure is purely cosmetic — the subscriber
|
|
597
|
+
// callback already won't fire (we have the payload or we don't).
|
|
598
|
+
logger.warn('Delivery envelope subscription close failed', {
|
|
599
|
+
txId,
|
|
600
|
+
err: err instanceof Error ? err.message : String(err),
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
}
|
|
314
604
|
return {
|
|
315
605
|
txId,
|
|
316
606
|
finalState,
|
|
317
|
-
elapsedMs:
|
|
607
|
+
elapsedMs: monoMillisNow() - startedAt,
|
|
318
608
|
payload,
|
|
319
609
|
settled,
|
|
320
610
|
receiptUrl,
|
|
611
|
+
deliveryError,
|
|
321
612
|
};
|
|
322
613
|
}
|
|
323
614
|
exports.runRequest = runRequest;
|
|
@@ -343,7 +634,7 @@ function humanAmountToUSDCWei(amount) {
|
|
|
343
634
|
}
|
|
344
635
|
function resolveDeadline(deadline) {
|
|
345
636
|
if (deadline === undefined) {
|
|
346
|
-
return
|
|
637
|
+
return secondsNow() + 3600;
|
|
347
638
|
}
|
|
348
639
|
if (typeof deadline === 'number') {
|
|
349
640
|
// Sanity check: any value past year-3000 in seconds is implausible and
|
|
@@ -365,8 +656,8 @@ function resolveDeadline(deadline) {
|
|
|
365
656
|
return Math.floor(parsed / 1000);
|
|
366
657
|
}
|
|
367
658
|
async function waitForStateChange(client, txId, initial, timeoutMs, onTick) {
|
|
368
|
-
const start =
|
|
369
|
-
while (
|
|
659
|
+
const start = monoMillisNow();
|
|
660
|
+
while (monoMillisNow() - start < timeoutMs) {
|
|
370
661
|
const tx = await client.runtime.getTransaction(txId);
|
|
371
662
|
if (!tx) {
|
|
372
663
|
await sleep(POLL_INTERVAL_MS);
|
|
@@ -380,8 +671,8 @@ async function waitForStateChange(client, txId, initial, timeoutMs, onTick) {
|
|
|
380
671
|
return false;
|
|
381
672
|
}
|
|
382
673
|
async function waitForTargetState(client, txId, targets, timeoutMs, onTick) {
|
|
383
|
-
const start =
|
|
384
|
-
while (
|
|
674
|
+
const start = monoMillisNow();
|
|
675
|
+
while (monoMillisNow() - start < timeoutMs) {
|
|
385
676
|
const tx = await client.runtime.getTransaction(txId);
|
|
386
677
|
if (!tx) {
|
|
387
678
|
await sleep(POLL_INTERVAL_MS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runRequest.js","sourceRoot":"","sources":["../../../src/cli/lib/runRequest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runRequest.js","sourceRoot":"","sources":["../../../src/cli/lib/runRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vendored copy of Sentinel's reflection table for local-fallback display.
|
|
3
|
+
*
|
|
4
|
+
* ## Why vendored?
|
|
5
|
+
*
|
|
6
|
+
* The Sentinel seed agent (`Public Agents/seed-sentinel/src/reflections.ts`)
|
|
7
|
+
* is the canonical source of these one-liners — when a buyer hits Sentinel
|
|
8
|
+
* via `actp test`, the AIP-16 delivery channel returns the day's reflection
|
|
9
|
+
* inside `result.payload.reflection`. That is the happy path and remains
|
|
10
|
+
* the source of truth at runtime.
|
|
11
|
+
*
|
|
12
|
+
* This file is a **byte-equivalent vendored copy** kept inside the SDK so
|
|
13
|
+
* the CLI can render a local reflection when the channel delivery is
|
|
14
|
+
* dormant (envelope subscription missed, relay was slow, decoding failed,
|
|
15
|
+
* or the buyer ran offline against a cached state). The intent: even when
|
|
16
|
+
* the delivery surface is silent, the buyer's "wow moment" still lands —
|
|
17
|
+
* a quiet quote in their terminal instead of a blank receipt.
|
|
18
|
+
*
|
|
19
|
+
* ## Determinism contract
|
|
20
|
+
*
|
|
21
|
+
* Selection is deterministic per UTC day. `todaysReflection(now)` returns
|
|
22
|
+
* the same entry for any `now` that falls inside the same UTC calendar
|
|
23
|
+
* day, across the SDK and Sentinel, because both use the same:
|
|
24
|
+
* - djb2-style hash (Bernstein) of `YYYY-MM-DD`
|
|
25
|
+
* - modulo over the same 76-entry table in the same order
|
|
26
|
+
*
|
|
27
|
+
* This means a buyer who sees a local-fallback reflection on day D and
|
|
28
|
+
* then re-runs `actp test` later that same day (after the channel
|
|
29
|
+
* recovers) will receive **the same** quote from Sentinel. No
|
|
30
|
+
* synchronicity is broken by the fallback.
|
|
31
|
+
*
|
|
32
|
+
* ## Sync policy
|
|
33
|
+
*
|
|
34
|
+
* Last synced: 2026-06-09 (against `Public Agents/seed-sentinel/src/reflections.ts`).
|
|
35
|
+
*
|
|
36
|
+
* When the upstream Sentinel table changes in a meaningful way (entries
|
|
37
|
+
* added, removed, reworded, or reordered), port those changes here and
|
|
38
|
+
* bump the "Last synced" date. The two tables MUST stay byte-identical
|
|
39
|
+
* for the determinism contract to hold — if they diverge, buyers will
|
|
40
|
+
* see one quote in fallback and a different quote on retry.
|
|
41
|
+
*
|
|
42
|
+
* The fallback path is the safety net, not the canonical render. If you
|
|
43
|
+
* find yourself wanting to add SDK-only reflections here that are NOT in
|
|
44
|
+
* Sentinel, stop: add them to Sentinel first, then port.
|
|
45
|
+
*
|
|
46
|
+
* @module cli/lib/sentinelReflections
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* A single curated reflection.
|
|
50
|
+
*
|
|
51
|
+
* Field-compatible with `Public Agents/seed-sentinel/src/reflections.ts`.
|
|
52
|
+
* Only `id` and `text` are part of the determinism contract — any
|
|
53
|
+
* additional fields would have to be ported to Sentinel too to keep the
|
|
54
|
+
* tables byte-identical.
|
|
55
|
+
*/
|
|
56
|
+
export interface Reflection {
|
|
57
|
+
/** Original ACIM Workbook lesson number (1–365). Stable across SDK versions. */
|
|
58
|
+
id: number;
|
|
59
|
+
/** The reflection text — exactly what Sentinel would have streamed. */
|
|
60
|
+
text: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The curated table. 76 entries.
|
|
64
|
+
*
|
|
65
|
+
* Byte-equivalent to the upstream Sentinel table. Do not reorder, edit
|
|
66
|
+
* text, or drop entries without porting the same change to Sentinel
|
|
67
|
+
* first — both tables drive the same `hashDateKey(YYYY-MM-DD) % 76`
|
|
68
|
+
* selection, so any divergence yields different reflections on the same
|
|
69
|
+
* day.
|
|
70
|
+
*/
|
|
71
|
+
export declare const REFLECTIONS: ReadonlyArray<Reflection>;
|
|
72
|
+
/**
|
|
73
|
+
* djb2-style additive hash over a string. Matches Sentinel's
|
|
74
|
+
* implementation exactly: shift-subtract loop with `|= 0` to coerce back
|
|
75
|
+
* to int32, then `Math.abs` to drop the sign. Two different inputs
|
|
76
|
+
* yielding the same hash are vanishingly rare across YYYY-MM-DD keys
|
|
77
|
+
* over the next 1000 years, so this is fine for the deterministic
|
|
78
|
+
* "quote of the day" use case (NOT for cryptographic purposes).
|
|
79
|
+
*
|
|
80
|
+
* Exported for tests (the determinism contract is observable, not
|
|
81
|
+
* hidden) and so callers verifying "same key → same hash" don't have to
|
|
82
|
+
* reimplement it.
|
|
83
|
+
*/
|
|
84
|
+
export declare function djb2hash(key: string): number;
|
|
85
|
+
/**
|
|
86
|
+
* Format `YYYY-MM-DD` in **UTC**.
|
|
87
|
+
*
|
|
88
|
+
* UTC matters here: if we used local-tz date, two callers running the
|
|
89
|
+
* same `actp test` at the same wall-clock instant from Zagreb and San
|
|
90
|
+
* Francisco might land on different dates near midnight and see
|
|
91
|
+
* different reflections — breaking the "everyone onboarding today shares
|
|
92
|
+
* the same quote" property.
|
|
93
|
+
*
|
|
94
|
+
* Exported so tests can assert the slicing format directly.
|
|
95
|
+
*/
|
|
96
|
+
export declare function utcDateKey(d: Date): string;
|
|
97
|
+
/**
|
|
98
|
+
* Select today's reflection. Deterministic per UTC day.
|
|
99
|
+
*
|
|
100
|
+
* Matches Sentinel's `todaysReflection(now)` exactly: hash the UTC
|
|
101
|
+
* YYYY-MM-DD key, modulo over the table length, return the entry. Same
|
|
102
|
+
* day, same entry — across Sentinel and the local fallback.
|
|
103
|
+
*
|
|
104
|
+
* @param now - Defaults to `new Date()`. Tests pass a fixed Date.
|
|
105
|
+
* Per project rules: timing is injected, never inlined as
|
|
106
|
+
* a wall-clock primitive at a call site that needs to be
|
|
107
|
+
* deterministic — callers should pass an explicit Date when
|
|
108
|
+
* the result is being asserted.
|
|
109
|
+
*/
|
|
110
|
+
export declare function todaysReflection(now?: Date): Reflection;
|
|
111
|
+
//# sourceMappingURL=sentinelReflections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentinelReflections.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/sentinelReflections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,UAAU,CA6EhD,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,IAAiB,GAAG,UAAU,CAInE"}
|