@agirails/sdk 4.4.8 → 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.
Files changed (99) hide show
  1. package/dist/builders/DeliveryProofBuilder.d.ts +224 -13
  2. package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
  3. package/dist/builders/DeliveryProofBuilder.js +247 -13
  4. package/dist/builders/DeliveryProofBuilder.js.map +1 -1
  5. package/dist/cli/agirails.d.ts +85 -1
  6. package/dist/cli/agirails.d.ts.map +1 -1
  7. package/dist/cli/agirails.js +429 -154
  8. package/dist/cli/agirails.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts +54 -0
  10. package/dist/cli/commands/init.d.ts.map +1 -1
  11. package/dist/cli/commands/init.js +193 -1
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/receipt.d.ts +70 -2
  14. package/dist/cli/commands/receipt.d.ts.map +1 -1
  15. package/dist/cli/commands/receipt.js +218 -3
  16. package/dist/cli/commands/receipt.js.map +1 -1
  17. package/dist/cli/commands/test.d.ts +77 -1
  18. package/dist/cli/commands/test.d.ts.map +1 -1
  19. package/dist/cli/commands/test.js +264 -2
  20. package/dist/cli/commands/test.js.map +1 -1
  21. package/dist/cli/lib/runRequest.d.ts +90 -0
  22. package/dist/cli/lib/runRequest.d.ts.map +1 -1
  23. package/dist/cli/lib/runRequest.js +300 -9
  24. package/dist/cli/lib/runRequest.js.map +1 -1
  25. package/dist/cli/lib/sentinelReflections.d.ts +111 -0
  26. package/dist/cli/lib/sentinelReflections.d.ts.map +1 -0
  27. package/dist/cli/lib/sentinelReflections.js +193 -0
  28. package/dist/cli/lib/sentinelReflections.js.map +1 -0
  29. package/dist/delivery/MockDeliveryChannel.d.ts +208 -0
  30. package/dist/delivery/MockDeliveryChannel.d.ts.map +1 -0
  31. package/dist/delivery/MockDeliveryChannel.js +445 -0
  32. package/dist/delivery/MockDeliveryChannel.js.map +1 -0
  33. package/dist/delivery/RelayDeliveryChannel.d.ts +176 -0
  34. package/dist/delivery/RelayDeliveryChannel.d.ts.map +1 -0
  35. package/dist/delivery/RelayDeliveryChannel.js +377 -0
  36. package/dist/delivery/RelayDeliveryChannel.js.map +1 -0
  37. package/dist/delivery/channel.d.ts +282 -0
  38. package/dist/delivery/channel.d.ts.map +1 -0
  39. package/dist/delivery/channel.js +76 -0
  40. package/dist/delivery/channel.js.map +1 -0
  41. package/dist/delivery/channelLog.d.ts +115 -0
  42. package/dist/delivery/channelLog.d.ts.map +1 -0
  43. package/dist/delivery/channelLog.js +94 -0
  44. package/dist/delivery/channelLog.js.map +1 -0
  45. package/dist/delivery/crypto.d.ts +312 -0
  46. package/dist/delivery/crypto.d.ts.map +1 -0
  47. package/dist/delivery/crypto.js +495 -0
  48. package/dist/delivery/crypto.js.map +1 -0
  49. package/dist/delivery/eip712.d.ts +248 -0
  50. package/dist/delivery/eip712.d.ts.map +1 -0
  51. package/dist/delivery/eip712.js +397 -0
  52. package/dist/delivery/eip712.js.map +1 -0
  53. package/dist/delivery/envelopeBuilder.d.ts +531 -0
  54. package/dist/delivery/envelopeBuilder.d.ts.map +1 -0
  55. package/dist/delivery/envelopeBuilder.js +832 -0
  56. package/dist/delivery/envelopeBuilder.js.map +1 -0
  57. package/dist/delivery/index.d.ts +53 -0
  58. package/dist/delivery/index.d.ts.map +1 -0
  59. package/dist/delivery/index.js +143 -0
  60. package/dist/delivery/index.js.map +1 -0
  61. package/dist/delivery/keys.d.ts +344 -0
  62. package/dist/delivery/keys.d.ts.map +1 -0
  63. package/dist/delivery/keys.js +513 -0
  64. package/dist/delivery/keys.js.map +1 -0
  65. package/dist/delivery/nonce-keys.d.ts +93 -0
  66. package/dist/delivery/nonce-keys.d.ts.map +1 -0
  67. package/dist/delivery/nonce-keys.js +88 -0
  68. package/dist/delivery/nonce-keys.js.map +1 -0
  69. package/dist/delivery/setupBuilder.d.ts +403 -0
  70. package/dist/delivery/setupBuilder.d.ts.map +1 -0
  71. package/dist/delivery/setupBuilder.js +554 -0
  72. package/dist/delivery/setupBuilder.js.map +1 -0
  73. package/dist/delivery/types.d.ts +722 -0
  74. package/dist/delivery/types.d.ts.map +1 -0
  75. package/dist/delivery/types.js +150 -0
  76. package/dist/delivery/types.js.map +1 -0
  77. package/dist/delivery/validate.d.ts +288 -0
  78. package/dist/delivery/validate.d.ts.map +1 -0
  79. package/dist/delivery/validate.js +648 -0
  80. package/dist/delivery/validate.js.map +1 -0
  81. package/dist/level1/Agent.d.ts +130 -0
  82. package/dist/level1/Agent.d.ts.map +1 -1
  83. package/dist/level1/Agent.js +248 -0
  84. package/dist/level1/Agent.js.map +1 -1
  85. package/dist/level1/types/Options.d.ts +62 -0
  86. package/dist/level1/types/Options.d.ts.map +1 -1
  87. package/dist/level1/types/Options.js +22 -0
  88. package/dist/level1/types/Options.js.map +1 -1
  89. package/dist/runtime/MockRuntime.d.ts +32 -0
  90. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  91. package/dist/runtime/MockRuntime.js +44 -0
  92. package/dist/runtime/MockRuntime.js.map +1 -1
  93. package/dist/wallet/aa/BundlerClient.d.ts.map +1 -1
  94. package/dist/wallet/aa/BundlerClient.js +18 -3
  95. package/dist/wallet/aa/BundlerClient.js.map +1 -1
  96. package/dist/wallet/aa/PaymasterClient.d.ts.map +1 -1
  97. package/dist/wallet/aa/PaymasterClient.js +4 -1
  98. package/dist/wallet/aa/PaymasterClient.js.map +1 -1
  99. package/package.json +6 -1
@@ -8,11 +8,14 @@
8
8
  */
9
9
  /// <reference types="node" />
10
10
  import { EventEmitter } from 'events';
11
+ import { type Signer } from 'ethers';
11
12
  import { ACTPClient } from '../ACTPClient';
12
13
  import type { ProviderOrchestrator } from '../negotiation/ProviderOrchestrator';
13
14
  import { Job, JobHandler } from './types/Job';
14
15
  import { RequestOptions, RequestResult, NetworkOption } from './types/Options';
16
+ import './types/Options';
15
17
  import { PricingStrategy } from './pricing/PricingStrategy';
18
+ import type { DeliveryChannel } from '../delivery/channel';
16
19
  /**
17
20
  * Agent lifecycle states
18
21
  */
@@ -137,6 +140,66 @@ export interface AgentConfig {
137
140
  logging?: {
138
141
  level?: 'debug' | 'info' | 'warn' | 'error';
139
142
  };
143
+ /**
144
+ * AIP-16 delivery channel transport. When provided together with
145
+ * {@link deliverySigner}, {@link kernelAddress}, and {@link chainId},
146
+ * `Agent.processJob` will (after the handler returns and before the
147
+ * `transitionState(DELIVERED)` hop) build a `DeliveryEnvelopeWireV1` for
148
+ * the handler result and publish it on this channel.
149
+ *
150
+ * Pass a {@link MockDeliveryChannel} for tests / in-process flows or a
151
+ * {@link RelayDeliveryChannel} for production HTTP relay transport.
152
+ *
153
+ * Optional. When omitted (or any sibling field below is omitted) the
154
+ * hook is a no-op. Channel publish failures are logged and swallowed —
155
+ * they MUST NOT block the on-chain settlement path.
156
+ */
157
+ deliveryChannel?: DeliveryChannel;
158
+ /**
159
+ * EOA signer used to sign delivery envelopes (AIP-16 EIP-712 payload).
160
+ *
161
+ * For smart-wallet flows this is the underlying EOA — not the smart-
162
+ * wallet address. The envelope's `providerAddress` is the on-chain
163
+ * identity acting as the provider (e.g. this agent's `address`), and
164
+ * `signerAddress` is the EOA address derived from this signer.
165
+ *
166
+ * Optional. When omitted the delivery hook is a no-op.
167
+ */
168
+ deliverySigner?: Signer;
169
+ /**
170
+ * ACTP kernel contract address on {@link chainId}. Used as the EIP-712
171
+ * `verifyingContract` for the envelope domain.
172
+ *
173
+ * Optional. When omitted the delivery hook is a no-op.
174
+ */
175
+ kernelAddress?: string;
176
+ /**
177
+ * EVM chain id for the kernel (e.g. 8453 Base mainnet, 84532 Base
178
+ * Sepolia). Used in both the EIP-712 domain and the signed envelope
179
+ * payload.
180
+ *
181
+ * Optional. When omitted the delivery hook is a no-op.
182
+ */
183
+ chainId?: number;
184
+ /**
185
+ * CoinbaseSmartWallet factory nonce used to derive this agent's
186
+ * (provider's) on-chain `providerAddress` from the EOA backing
187
+ * {@link deliverySigner}. Defaults to `0` (the first wallet per owner).
188
+ *
189
+ * H4 fix (AIP-16 Phase 3 HIGH) — high-level surface. Providers whose
190
+ * Smart Wallet was deployed at a non-zero factory nonce MUST pass that
191
+ * nonce here so the AIP-16 server-side derivation lands on the correct
192
+ * address. Omitting it (or passing `0`) reproduces the legacy behavior
193
+ * and yields byte-identical signing for the vast majority of providers
194
+ * (auto-wallet deploys at nonce=0).
195
+ *
196
+ * Threaded into {@link DeliveryEnvelopeBuilder.buildPublic} and
197
+ * {@link DeliveryEnvelopeBuilder.buildEncrypted}. Negative or
198
+ * non-integer values cause the builder to throw
199
+ * `BUILDER_INVALID_SMART_WALLET_NONCE`, which the `processJob` hook
200
+ * logs at `warn` and swallows — settlement is unaffected.
201
+ */
202
+ smartWalletNonce?: number;
140
203
  }
141
204
  /**
142
205
  * Agent statistics
@@ -278,6 +341,38 @@ export declare class Agent extends EventEmitter {
278
341
  * Logger instance
279
342
  */
280
343
  private logger;
344
+ /**
345
+ * AIP-16 Phase 2e — delivery channel transport. Captured from
346
+ * {@link AgentConfig.deliveryChannel} at construction time. Read by
347
+ * the `processJob` delivery hook. `undefined` disables the hook.
348
+ */
349
+ private readonly deliveryChannel?;
350
+ /**
351
+ * AIP-16 Phase 2e — EOA signer for delivery envelopes. Captured from
352
+ * {@link AgentConfig.deliverySigner} at construction time. Read by
353
+ * the `processJob` delivery hook. `undefined` disables the hook.
354
+ */
355
+ private readonly deliverySigner?;
356
+ /**
357
+ * AIP-16 Phase 2e — kernel address for the EIP-712 verifying contract.
358
+ * Captured from {@link AgentConfig.kernelAddress}. `undefined` disables
359
+ * the hook.
360
+ */
361
+ private readonly kernelAddress?;
362
+ /**
363
+ * AIP-16 Phase 2e — chain id for the EIP-712 domain. Captured from
364
+ * {@link AgentConfig.chainId}. `undefined` disables the hook.
365
+ */
366
+ private readonly chainId?;
367
+ /**
368
+ * AIP-16 Phase 3 (H4 fix) — CoinbaseSmartWallet factory nonce used to
369
+ * derive `providerAddress` from `signerAddress` server-side. Captured
370
+ * from {@link AgentConfig.smartWalletNonce}. Defaults to `0` when the
371
+ * caller omits the field at construction.
372
+ *
373
+ * Threaded into every envelope build inside `maybePublishDeliveryEnvelope`.
374
+ */
375
+ private readonly smartWalletNonce?;
281
376
  /**
282
377
  * Creates a new Agent instance
283
378
  *
@@ -538,6 +633,41 @@ export declare class Agent extends EventEmitter {
538
633
  *Security: Uses semaphore to limit concurrent execution
539
634
  */
540
635
  private processJob;
636
+ /**
637
+ * AIP-16 Phase 2e — Publish a `DeliveryEnvelopeWireV1` for `job` on the
638
+ * configured delivery channel, between handler completion and the
639
+ * on-chain `transitionState(DELIVERED)` hop.
640
+ *
641
+ * Behavior:
642
+ * * Returns immediately (no-op) unless ALL of the following hold:
643
+ * - `process.env.ACTP_DELIVERY_CHANNEL === 'v1'`
644
+ * - `this.deliveryChannel`, `this.deliverySigner`,
645
+ * `this.kernelAddress`, and `this.chainId` are all present
646
+ * - the service's `delivery.mode === 'channel'` (default per
647
+ * {@link DEFAULT_DELIVERY_CONFIG})
648
+ * - the on-chain tx state is `COMMITTED` (idempotency guard
649
+ * against poll re-delivery)
650
+ * * For `delivery.privacy === 'encrypted'`: requires the buyer's
651
+ * setup to already be visible on the channel (otherwise the
652
+ * encrypted path cannot derive the shared secret); when missing
653
+ * the call logs a warning and returns without publishing.
654
+ * * Channel publish failures are caught, logged at `warn`, and
655
+ * swallowed. They MUST NOT throw out of this method.
656
+ * * Any unexpected failure (signer error, builder error, etc.) is
657
+ * caught and logged. The on-chain settlement path continues
658
+ * unaffected.
659
+ *
660
+ * The hook is a single seam — every wall-clock read inside the
661
+ * envelope builder flows through `secondsNow()` per the timing-
662
+ * discipline rule.
663
+ *
664
+ * @param job The job whose handler just returned. Its `service` field
665
+ * selects the {@link DeliveryServiceConfig}.
666
+ * @param result The handler's return value. JSON-serialized into the
667
+ * envelope body (UTF-8 for `public-v1`, AES-GCM ciphertext for
668
+ * `x25519-aes256gcm-v1`).
669
+ */
670
+ private maybePublishDeliveryEnvelope;
541
671
  /**
542
672
  * Create JobContext for handler execution
543
673
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":"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"}
@@ -39,12 +39,14 @@ const fs = __importStar(require("fs"));
39
39
  const ethers_1 = require("ethers");
40
40
  const ACTPClient_1 = require("../ACTPClient");
41
41
  const keystore_1 = require("../wallet/keystore");
42
+ const Options_1 = require("./types/Options");
42
43
  const errors_1 = require("../errors");
43
44
  const security_1 = require("../utils/security");
44
45
  const Logger_1 = require("../utils/Logger");
45
46
  const Helpers_1 = require("../utils/Helpers");
46
47
  const Semaphore_1 = require("../utils/Semaphore");
47
48
  const ProofGenerator_1 = require("../protocol/ProofGenerator");
49
+ const envelopeBuilder_1 = require("../delivery/envelopeBuilder");
48
50
  /**
49
51
  * Agent class - Standard API
50
52
  *
@@ -168,6 +170,18 @@ class Agent extends events_1.EventEmitter {
168
170
  const maxConcurrency = config.behavior?.concurrency || 10;
169
171
  this.concurrencySemaphore = new Semaphore_1.Semaphore(maxConcurrency);
170
172
  this.logger.debug('Initialized concurrency semaphore', { maxConcurrency });
173
+ // AIP-16 Phase 2e — capture optional delivery hook dependencies. The
174
+ // hook activates only when ALL four are present AND the
175
+ // `ACTP_DELIVERY_CHANNEL=v1` env flag is set; otherwise it is a
176
+ // no-op and the legacy settlement path runs verbatim.
177
+ this.deliveryChannel = config.deliveryChannel;
178
+ this.deliverySigner = config.deliverySigner;
179
+ this.kernelAddress = config.kernelAddress;
180
+ this.chainId = config.chainId;
181
+ // H4 (AIP-16 Phase 3) — capture optional Smart Wallet factory nonce.
182
+ // Defaults to undefined → `this.smartWalletNonce ?? 0` at the build
183
+ // call sites preserves byte-identical signing for pre-H4 callers.
184
+ this.smartWalletNonce = config.smartWalletNonce;
171
185
  }
172
186
  // =========================================================================
173
187
  // Lifecycle Methods
@@ -1175,6 +1189,34 @@ class Agent extends events_1.EventEmitter {
1175
1189
  ...deliveryProof,
1176
1190
  result, // Include original result for convenience
1177
1191
  });
1192
+ // ---------------------------------------------------------------------
1193
+ // AIP-16 Phase 2e — Delivery envelope hook
1194
+ // ---------------------------------------------------------------------
1195
+ //
1196
+ // Build + publish a DeliveryEnvelopeWireV1 between the handler result
1197
+ // and the on-chain `transitionState(DELIVERED)` hop. Strictly opt-in:
1198
+ //
1199
+ // * Gated by `ACTP_DELIVERY_CHANNEL=v1` env flag (off in tests by
1200
+ // default; flipped on once Sentinel migrates in Phase 2f).
1201
+ // * Requires ALL four constructor fields: deliveryChannel,
1202
+ // deliverySigner, kernelAddress, chainId.
1203
+ // * Service config opts in via `delivery.mode === "channel"`
1204
+ // (default for backward compatibility — see
1205
+ // DEFAULT_DELIVERY_CONFIG).
1206
+ //
1207
+ // Idempotency: pollForJobs can re-deliver the same job. We read the
1208
+ // current on-chain state and only publish when it is still
1209
+ // `COMMITTED`. After we have transitioned to IN_PROGRESS the
1210
+ // envelope has already been (or is being) published — a second
1211
+ // call would just produce a redundant envelope. A no-op here keeps
1212
+ // the surface stable.
1213
+ //
1214
+ // Failure handling: channel publish failures are logged and SWALLOWED.
1215
+ // The on-chain settlement path is the source of truth for state
1216
+ // transitions; an envelope publish failure must NEVER block
1217
+ // `transitionState(DELIVERED)`. The provider may republish later or
1218
+ // the buyer may fall back to the on-chain `deliveryProof`.
1219
+ await this.maybePublishDeliveryEnvelope(job, result);
1178
1220
  // Transition transaction through IN_PROGRESS → DELIVERED states
1179
1221
  if (this._client) {
1180
1222
  // MockRuntime exposes its in-memory state directly so the agent can
@@ -1309,6 +1351,212 @@ class Agent extends events_1.EventEmitter {
1309
1351
  this.concurrencySemaphore.release();
1310
1352
  }
1311
1353
  }
1354
+ /**
1355
+ * AIP-16 Phase 2e — Publish a `DeliveryEnvelopeWireV1` for `job` on the
1356
+ * configured delivery channel, between handler completion and the
1357
+ * on-chain `transitionState(DELIVERED)` hop.
1358
+ *
1359
+ * Behavior:
1360
+ * * Returns immediately (no-op) unless ALL of the following hold:
1361
+ * - `process.env.ACTP_DELIVERY_CHANNEL === 'v1'`
1362
+ * - `this.deliveryChannel`, `this.deliverySigner`,
1363
+ * `this.kernelAddress`, and `this.chainId` are all present
1364
+ * - the service's `delivery.mode === 'channel'` (default per
1365
+ * {@link DEFAULT_DELIVERY_CONFIG})
1366
+ * - the on-chain tx state is `COMMITTED` (idempotency guard
1367
+ * against poll re-delivery)
1368
+ * * For `delivery.privacy === 'encrypted'`: requires the buyer's
1369
+ * setup to already be visible on the channel (otherwise the
1370
+ * encrypted path cannot derive the shared secret); when missing
1371
+ * the call logs a warning and returns without publishing.
1372
+ * * Channel publish failures are caught, logged at `warn`, and
1373
+ * swallowed. They MUST NOT throw out of this method.
1374
+ * * Any unexpected failure (signer error, builder error, etc.) is
1375
+ * caught and logged. The on-chain settlement path continues
1376
+ * unaffected.
1377
+ *
1378
+ * The hook is a single seam — every wall-clock read inside the
1379
+ * envelope builder flows through `secondsNow()` per the timing-
1380
+ * discipline rule.
1381
+ *
1382
+ * @param job The job whose handler just returned. Its `service` field
1383
+ * selects the {@link DeliveryServiceConfig}.
1384
+ * @param result The handler's return value. JSON-serialized into the
1385
+ * envelope body (UTF-8 for `public-v1`, AES-GCM ciphertext for
1386
+ * `x25519-aes256gcm-v1`).
1387
+ */
1388
+ async maybePublishDeliveryEnvelope(job, result) {
1389
+ // --- Feature flag gate ---
1390
+ //
1391
+ // The flag is read on every call (rather than at construction time)
1392
+ // so test suites can flip it per-test without re-constructing the
1393
+ // agent. Sentinel migration in Phase 2f will set it process-wide.
1394
+ if (process.env.ACTP_DELIVERY_CHANNEL !== 'v1') {
1395
+ return;
1396
+ }
1397
+ // --- Constructor-side dependency gate ---
1398
+ //
1399
+ // Pre-AIP-16 callers do not pass these fields. Missing any one of
1400
+ // them disables the hook entirely — the agent behaves exactly like
1401
+ // the prior SDK.
1402
+ if (!this.deliveryChannel ||
1403
+ !this.deliverySigner ||
1404
+ !this.kernelAddress ||
1405
+ typeof this.chainId !== 'number') {
1406
+ return;
1407
+ }
1408
+ // --- Service config gate ---
1409
+ //
1410
+ // Read the per-service delivery config; fall back to the canonical
1411
+ // default (channel + public) so a service that does NOT specify
1412
+ // `delivery` still uses the channel mode. Sentinel + smoke flows
1413
+ // that want to skip the envelope set `delivery.mode = 'none'`.
1414
+ const service = this.services.get(job.service);
1415
+ const deliveryCfg = service?.config.delivery ?? Options_1.DEFAULT_DELIVERY_CONFIG;
1416
+ if (deliveryCfg.mode !== 'channel') {
1417
+ return;
1418
+ }
1419
+ // --- Idempotency: current tx state MUST be COMMITTED ---
1420
+ //
1421
+ // pollForJobs may re-deliver the same job (e.g. orphan-recovery
1422
+ // path). When the tx has already advanced past COMMITTED, an
1423
+ // envelope publish at this point would either duplicate an
1424
+ // already-posted envelope or arrive after the buyer has stopped
1425
+ // listening — neither is useful. Best-effort read; if the runtime
1426
+ // cannot answer, skip the publish (the next poll's settlement path
1427
+ // will still run).
1428
+ try {
1429
+ const currentTx = await this._client?.runtime
1430
+ .getTransaction(job.id)
1431
+ .catch(() => null);
1432
+ if (!currentTx || currentTx.state !== 'COMMITTED') {
1433
+ this.logger.debug('AIP-16: skipping envelope publish (tx not in COMMITTED)', { jobId: job.id, state: currentTx?.state });
1434
+ return;
1435
+ }
1436
+ }
1437
+ catch (stateErr) {
1438
+ // A failure to *read* the state is non-fatal. Log + bail rather
1439
+ // than risk a duplicate publish.
1440
+ this.logger.warn('AIP-16: failed to read tx state before envelope publish; skipping hook', {
1441
+ jobId: job.id,
1442
+ error: stateErr instanceof Error ? stateErr.message : String(stateErr),
1443
+ });
1444
+ return;
1445
+ }
1446
+ // --- Resolve addresses ---
1447
+ //
1448
+ // providerAddress is the on-chain identity acting as the provider
1449
+ // (this agent). signerAddress is the EOA backing this.deliverySigner.
1450
+ // Smart-wallet flows pass a distinct provider address; non-smart-
1451
+ // wallet flows have providerAddress === signerAddress. The SDK does
1452
+ // NOT derive one from the other — both are sourced explicitly.
1453
+ let signerAddress;
1454
+ try {
1455
+ signerAddress = await this.deliverySigner.getAddress();
1456
+ }
1457
+ catch (signerErr) {
1458
+ this.logger.warn('AIP-16: deliverySigner.getAddress() failed; skipping envelope publish', {
1459
+ jobId: job.id,
1460
+ error: signerErr instanceof Error ? signerErr.message : String(signerErr),
1461
+ });
1462
+ return;
1463
+ }
1464
+ // Default providerAddress: the agent's on-chain address (this.address).
1465
+ // For smart-wallet flows where providerAddress != signerAddress the
1466
+ // caller should override via the deliverySigner-side address — but
1467
+ // for the common single-EOA case the agent address IS the signer.
1468
+ const providerAddress = (this.address || signerAddress);
1469
+ if (!providerAddress ||
1470
+ !providerAddress.startsWith('0x') ||
1471
+ providerAddress.length !== 42) {
1472
+ this.logger.warn('AIP-16: unable to resolve providerAddress; skipping envelope publish', { jobId: job.id, providerAddress });
1473
+ return;
1474
+ }
1475
+ // --- Build + publish ---
1476
+ //
1477
+ // The whole block is wrapped in a try/catch: per the contract,
1478
+ // channel publish failures and builder errors NEVER throw out of
1479
+ // this hook. They are logged at `warn` and swallowed so the
1480
+ // on-chain settlement path continues unaffected.
1481
+ try {
1482
+ const builder = new envelopeBuilder_1.DeliveryEnvelopeBuilder(this.deliverySigner);
1483
+ const txIdHex = job.id;
1484
+ const kernelHex = this.kernelAddress;
1485
+ const signerHex = signerAddress;
1486
+ if (deliveryCfg.privacy === 'encrypted') {
1487
+ // Encrypted path requires the buyer's setup (carrying their
1488
+ // ephemeral X25519 pubkey). If the channel cannot enumerate
1489
+ // prior setups, or no setup has been posted yet, we cannot
1490
+ // derive the shared secret — log and skip. The buyer will
1491
+ // either re-post setup or fall back to on-chain dispute.
1492
+ if (!this.deliveryChannel.getSetups) {
1493
+ this.logger.warn('AIP-16: encrypted service requires channel.getSetups; skipping envelope publish', { jobId: job.id });
1494
+ return;
1495
+ }
1496
+ const setups = await this.deliveryChannel
1497
+ .getSetups(txIdHex)
1498
+ .catch(() => []);
1499
+ // `setups[0]` is the canonical first setup. The dedup-after-
1500
+ // verify discipline on the channel side guarantees order
1501
+ // stability across multiple poll cycles.
1502
+ const setup = setups[0];
1503
+ const buyerPubkey = setup?.signed?.buyerEphemeralPubkey;
1504
+ if (!buyerPubkey) {
1505
+ this.logger.warn('AIP-16: encrypted service has no setup on channel; skipping envelope publish', { jobId: job.id, setupsFound: setups.length });
1506
+ return;
1507
+ }
1508
+ const { wire } = await builder.buildEncrypted({
1509
+ txId: txIdHex,
1510
+ chainId: this.chainId,
1511
+ kernelAddress: kernelHex,
1512
+ providerAddress,
1513
+ signerAddress: signerHex,
1514
+ payload: result,
1515
+ buyerEphemeralPubkey: buyerPubkey,
1516
+ // H4 (AIP-16 Phase 3): thread the constructor-supplied Smart
1517
+ // Wallet factory nonce. Defaults to 0 → byte-identical signing
1518
+ // vs. pre-H4 SDK builds.
1519
+ smartWalletNonce: this.smartWalletNonce ?? 0,
1520
+ });
1521
+ await this.deliveryChannel.publishEnvelope(wire);
1522
+ this.logger.info('AIP-16: encrypted envelope published', {
1523
+ jobId: job.id,
1524
+ scheme: wire.signed.scheme,
1525
+ });
1526
+ }
1527
+ else {
1528
+ // Public scheme — no setup lookup required. The body travels
1529
+ // as plaintext UTF-8 JSON; verification on the buyer side is
1530
+ // signature + payloadHash binding only.
1531
+ const { wire } = await builder.buildPublic({
1532
+ txId: txIdHex,
1533
+ chainId: this.chainId,
1534
+ kernelAddress: kernelHex,
1535
+ providerAddress,
1536
+ signerAddress: signerHex,
1537
+ payload: result,
1538
+ // H4 (AIP-16 Phase 3): thread the constructor-supplied Smart
1539
+ // Wallet factory nonce. Defaults to 0 → byte-identical signing
1540
+ // vs. pre-H4 SDK builds.
1541
+ smartWalletNonce: this.smartWalletNonce ?? 0,
1542
+ });
1543
+ await this.deliveryChannel.publishEnvelope(wire);
1544
+ this.logger.info('AIP-16: public envelope published', {
1545
+ jobId: job.id,
1546
+ scheme: wire.signed.scheme,
1547
+ });
1548
+ }
1549
+ }
1550
+ catch (publishErr) {
1551
+ // CRITICAL: must NOT re-throw. Settlement is the source of truth;
1552
+ // the envelope is an optimization on top. Log at `warn` so the
1553
+ // operator sees the problem without an outage signal.
1554
+ this.logger.warn('AIP-16: envelope publish failed; settlement continues', {
1555
+ jobId: job.id,
1556
+ error: publishErr instanceof Error ? publishErr.message : String(publishErr),
1557
+ });
1558
+ }
1559
+ }
1312
1560
  /**
1313
1561
  * Create JobContext for handler execution
1314
1562
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/level1/Agent.ts"],"names":[],"mappings":"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"}