@agirails/sdk 3.5.3 → 4.0.0-beta.1

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 (74) hide show
  1. package/dist/cli/agirails.d.ts +4 -1
  2. package/dist/cli/agirails.d.ts.map +1 -1
  3. package/dist/cli/agirails.js +34 -2
  4. package/dist/cli/agirails.js.map +1 -1
  5. package/dist/cli/commands/agent.d.ts.map +1 -1
  6. package/dist/cli/commands/agent.js +62 -21
  7. package/dist/cli/commands/agent.js.map +1 -1
  8. package/dist/cli/commands/negotiate.js +4 -1
  9. package/dist/cli/commands/negotiate.js.map +1 -1
  10. package/dist/cli/commands/pay.d.ts +7 -0
  11. package/dist/cli/commands/pay.d.ts.map +1 -1
  12. package/dist/cli/commands/pay.js +34 -1
  13. package/dist/cli/commands/pay.js.map +1 -1
  14. package/dist/cli/commands/request.d.ts +19 -0
  15. package/dist/cli/commands/request.d.ts.map +1 -0
  16. package/dist/cli/commands/request.js +167 -0
  17. package/dist/cli/commands/request.js.map +1 -0
  18. package/dist/cli/commands/serve.d.ts +12 -7
  19. package/dist/cli/commands/serve.d.ts.map +1 -1
  20. package/dist/cli/commands/serve.js +12 -7
  21. package/dist/cli/commands/serve.js.map +1 -1
  22. package/dist/cli/commands/test.d.ts +22 -4
  23. package/dist/cli/commands/test.d.ts.map +1 -1
  24. package/dist/cli/commands/test.js +139 -292
  25. package/dist/cli/commands/test.js.map +1 -1
  26. package/dist/cli/commands/tx.js +13 -0
  27. package/dist/cli/commands/tx.js.map +1 -1
  28. package/dist/cli/index.js +7 -2
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/lib/resolveAgent.d.ts +67 -0
  31. package/dist/cli/lib/resolveAgent.d.ts.map +1 -0
  32. package/dist/cli/lib/resolveAgent.js +121 -0
  33. package/dist/cli/lib/resolveAgent.js.map +1 -0
  34. package/dist/cli/lib/runRequest.d.ts +114 -0
  35. package/dist/cli/lib/runRequest.d.ts.map +1 -0
  36. package/dist/cli/lib/runRequest.js +336 -0
  37. package/dist/cli/lib/runRequest.js.map +1 -0
  38. package/dist/cli/lib/serviceNameForHash.d.ts +48 -0
  39. package/dist/cli/lib/serviceNameForHash.d.ts.map +1 -0
  40. package/dist/cli/lib/serviceNameForHash.js +62 -0
  41. package/dist/cli/lib/serviceNameForHash.js.map +1 -0
  42. package/dist/level0/request.d.ts.map +1 -1
  43. package/dist/level0/request.js +34 -11
  44. package/dist/level0/request.js.map +1 -1
  45. package/dist/level1/Agent.d.ts +72 -8
  46. package/dist/level1/Agent.d.ts.map +1 -1
  47. package/dist/level1/Agent.js +242 -110
  48. package/dist/level1/Agent.js.map +1 -1
  49. package/dist/negotiation/BuyerOrchestrator.d.ts +24 -2
  50. package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
  51. package/dist/negotiation/BuyerOrchestrator.js +100 -14
  52. package/dist/negotiation/BuyerOrchestrator.js.map +1 -1
  53. package/dist/protocol/EventMonitor.d.ts +26 -1
  54. package/dist/protocol/EventMonitor.d.ts.map +1 -1
  55. package/dist/protocol/EventMonitor.js +18 -4
  56. package/dist/protocol/EventMonitor.js.map +1 -1
  57. package/dist/runtime/BlockchainRuntime.d.ts +73 -0
  58. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  59. package/dist/runtime/BlockchainRuntime.js +121 -1
  60. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  61. package/dist/runtime/IACTPRuntime.d.ts +29 -0
  62. package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
  63. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  64. package/dist/runtime/MockRuntime.js +21 -4
  65. package/dist/runtime/MockRuntime.js.map +1 -1
  66. package/dist/runtime/MockStateManager.d.ts.map +1 -1
  67. package/dist/runtime/MockStateManager.js +18 -0
  68. package/dist/runtime/MockStateManager.js.map +1 -1
  69. package/dist/runtime/types/MockState.d.ts +12 -0
  70. package/dist/runtime/types/MockState.d.ts.map +1 -1
  71. package/dist/runtime/types/MockState.js.map +1 -1
  72. package/dist/types/agent.d.ts +6 -1
  73. package/dist/types/agent.d.ts.map +1 -1
  74. package/package.json +2 -1
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ /**
3
+ * runRequest — Level 1 requester flow (PRD §5.6).
4
+ *
5
+ * Shared helper for `actp request` and (via §5.7) `actp test`. Distinct from
6
+ * `src/level0/request.ts`: that function is the Level 0 simple API with one
7
+ * monolithic delivery timeout; runRequest splits the lifecycle into a
8
+ * **quote phase** (capped by `quoteTimeoutMs`, default 30s) and a **delivery
9
+ * phase** (capped by `deliveryTimeoutMs`, default 5min), and reports each
10
+ * state transition so the CLI can show progress.
11
+ *
12
+ * ## Scope (4.0.0): poll-only, autoAccept-friendly path
13
+ *
14
+ * `runRequest` polls `runtime.getTransaction(txId)` to observe state
15
+ * transitions and relies on a provider whose `shouldAutoAccept` returns
16
+ * `true` to drive INITIATED → COMMITTED on its own side (provider calls
17
+ * `linkEscrow` from `Agent.handleIncomingTransaction`). This is the
18
+ * Sentinel onboarding path the PRD targets.
19
+ *
20
+ * It does **not** implement PRD §5.6 step 6's `counteraccept.v1` envelope
21
+ * over `NegotiationChannel`. Multi-round counter-offer negotiation (which
22
+ * BuyerOrchestrator uses) is out of scope here. A future commit on the
23
+ * 4.x track will wire `subscribeTxId` + send the envelope when:
24
+ * - the provider returns a quote that differs from the requester's offer, or
25
+ * - the requester wants explicit accept-with-different-amount control.
26
+ *
27
+ * For Sentinel + autoAccept, the polling path is functionally equivalent
28
+ * to the negotiated path and ~80 LOC simpler.
29
+ *
30
+ * ## PRD §5.6 invariants enforced here
31
+ * - On-chain `serviceDescription` is the bytes32 routing key
32
+ * `keccak256(toUtf8Bytes(serviceName.trim()))`. Never JSON.
33
+ * - Requester immediately settles after DELIVERED (kernel allows this
34
+ * without waiting for the dispute window; ACTPKernel.sol:700-704).
35
+ * - Quote-timeout exit is non-zero (code 2 at the CLI layer). The TX
36
+ * remains on-chain INITIATED for the caller to cancel manually.
37
+ * - `--input` / `--metadata` are out of scope for 4.0.0; provider sees
38
+ * `job.input = {}`. Future `agirails.request.v1` envelope on
39
+ * `NegotiationChannel` will restore that path (PRD §11).
40
+ *
41
+ * @module cli/lib/runRequest
42
+ */
43
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
44
+ if (k2 === undefined) k2 = k;
45
+ var desc = Object.getOwnPropertyDescriptor(m, k);
46
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
47
+ desc = { enumerable: true, get: function() { return m[k]; } };
48
+ }
49
+ Object.defineProperty(o, k2, desc);
50
+ }) : (function(o, m, k, k2) {
51
+ if (k2 === undefined) k2 = k;
52
+ o[k2] = m[k];
53
+ }));
54
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
55
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
56
+ }) : function(o, v) {
57
+ o["default"] = v;
58
+ });
59
+ var __importStar = (this && this.__importStar) || function (mod) {
60
+ if (mod && mod.__esModule) return mod;
61
+ var result = {};
62
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
63
+ __setModuleDefault(result, mod);
64
+ return result;
65
+ };
66
+ Object.defineProperty(exports, "__esModule", { value: true });
67
+ exports.runRequest = exports.DeliveryTimeoutError = exports.QuoteTimeoutError = void 0;
68
+ const ethers_1 = require("ethers");
69
+ const ACTPClient_1 = require("../../ACTPClient");
70
+ const keystore_1 = require("../../wallet/keystore");
71
+ const Logger_1 = require("../../utils/Logger");
72
+ class QuoteTimeoutError extends Error {
73
+ constructor(txId, timeoutMs) {
74
+ super(`No quote received within ${timeoutMs}ms. Provider may be offline. ` +
75
+ `TX ${txId} remains on-chain INITIATED — cancel with ` +
76
+ `'actp tx cancel ${txId}' or retry.`);
77
+ this.txId = txId;
78
+ this.timeoutMs = timeoutMs;
79
+ this.name = 'QuoteTimeoutError';
80
+ }
81
+ }
82
+ exports.QuoteTimeoutError = QuoteTimeoutError;
83
+ class DeliveryTimeoutError extends Error {
84
+ constructor(txId, timeoutMs, lastState) {
85
+ super(`No delivery within ${timeoutMs}ms (last state: ${lastState}). ` +
86
+ `TX ${txId} may still be in flight; check 'actp tx status ${txId}'.`);
87
+ this.txId = txId;
88
+ this.timeoutMs = timeoutMs;
89
+ this.lastState = lastState;
90
+ this.name = 'DeliveryTimeoutError';
91
+ }
92
+ }
93
+ exports.DeliveryTimeoutError = DeliveryTimeoutError;
94
+ const TERMINAL_FAILURE = ['CANCELLED', 'DISPUTED'];
95
+ const POLL_INTERVAL_MS = 1000;
96
+ /**
97
+ * Execute a Level 1 negotiated request end-to-end.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const r = await runRequest({
102
+ * provider: '0x3813...d64',
103
+ * amount: '0.05',
104
+ * service: 'onboarding',
105
+ * network: 'testnet',
106
+ * onTransition: (state, txId, ts) =>
107
+ * console.log(`[${ts.toISOString()}] ${state.padEnd(12)} ${txId}`),
108
+ * });
109
+ * console.log(r.payload);
110
+ * ```
111
+ */
112
+ async function runRequest(opts) {
113
+ const logger = new Logger_1.Logger({ source: 'runRequest' });
114
+ // 1. Validate provider address.
115
+ if (!(0, ethers_1.isAddress)(opts.provider)) {
116
+ throw new Error(`Invalid provider address: ${opts.provider}`);
117
+ }
118
+ const providerAddress = (0, ethers_1.getAddress)(opts.provider);
119
+ // 2. Resolve requester key + address.
120
+ const network = opts.network ?? 'testnet';
121
+ let privateKey = opts.privateKey;
122
+ if (!privateKey && (network === 'testnet' || network === 'mainnet')) {
123
+ privateKey = await (0, keystore_1.resolvePrivateKey)(opts.stateDirectory, { network });
124
+ }
125
+ const requesterAddress = privateKey
126
+ ? (0, ethers_1.getAddress)(new ethers_1.Wallet(privateKey).address)
127
+ : deterministicMockAddress();
128
+ // 3. Resolve RPC URL.
129
+ let rpcUrl = opts.rpcUrl;
130
+ if (!rpcUrl && (network === 'testnet' || network === 'mainnet')) {
131
+ const { getNetwork } = await Promise.resolve().then(() => __importStar(require('../../config/networks')));
132
+ const networkName = network === 'testnet' ? 'base-sepolia' : 'base-mainnet';
133
+ rpcUrl = getNetwork(networkName).rpcUrl;
134
+ }
135
+ // 4. Build client.
136
+ const client = await ACTPClient_1.ACTPClient.create({
137
+ mode: network === 'testnet' ? 'testnet' : network === 'mainnet' ? 'mainnet' : 'mock',
138
+ requesterAddress,
139
+ stateDirectory: opts.stateDirectory,
140
+ privateKey,
141
+ rpcUrl,
142
+ });
143
+ // 5. Compute on-chain inputs.
144
+ // Service-name normalization: trim incidental whitespace before hashing
145
+ // so callers passing " onboarding " from a YAML config or shell paste
146
+ // get the same routing key as `Agent.provide('onboarding')`. Matches
147
+ // the trimming `level0/request.ts` performs via `validateServiceName`.
148
+ const normalizedService = opts.service.trim();
149
+ if (normalizedService.length === 0) {
150
+ throw new Error('runRequest: `service` must be a non-empty name.');
151
+ }
152
+ const serviceHash = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(normalizedService));
153
+ const amountWei = humanAmountToUSDCWei(opts.amount);
154
+ const deadlineUnix = resolveDeadline(opts.deadline);
155
+ // 6. Mock-mode requester top-up (mirrors level0/request convenience).
156
+ if (client.runtime && 'mintTokens' in client.runtime) {
157
+ const mockRuntime = client.runtime;
158
+ const balance = BigInt(await mockRuntime.getBalance(requesterAddress));
159
+ if (balance < BigInt(amountWei)) {
160
+ const topUp = (BigInt(amountWei) - balance + 10000000n).toString();
161
+ await mockRuntime.mintTokens(requesterAddress, topUp);
162
+ }
163
+ }
164
+ // 7. createTransaction → INITIATED.
165
+ // Route through StandardAdapter so AA-enabled requesters use the
166
+ // SmartWalletRouter (Paymaster-sponsored UserOps) — `client.runtime`
167
+ // directly would force-sign with the raw EOA and break the AGIRAILS
168
+ // gasless model for requesters who hold no ETH.
169
+ // (Mock + EOA modes fall through to runtime.createTransaction inside
170
+ // the adapter, so behaviour is preserved.)
171
+ // `requester` is derived from `this.requesterAddress` inside the
172
+ // adapter — which ACTPClient.create sets to the smart-wallet address
173
+ // when AutoWallet is active, or the EOA otherwise.
174
+ // `amount` is the human-readable USDC string (parseAmount handles
175
+ // units internally); do NOT pass amountWei here.
176
+ const startedAt = Date.now();
177
+ const txId = await client.standard.createTransaction({
178
+ provider: providerAddress,
179
+ amount: opts.amount,
180
+ deadline: deadlineUnix,
181
+ disputeWindow: 172800, // 2 days; kernel enforces ≥ 1h.
182
+ serviceDescription: serviceHash, // PRD §5.6
183
+ });
184
+ opts.onTransition?.('INITIATED', txId, new Date());
185
+ // 8. Quote phase — wait for INITIATED → QUOTED / COMMITTED / IN_PROGRESS / DELIVERED.
186
+ // Sentinel + autoAccept may skip QUOTED entirely and fast-path through.
187
+ const quoteTimeoutMs = opts.quoteTimeoutMs ?? 30000;
188
+ let lastState = 'INITIATED';
189
+ const passedQuote = await waitForStateChange(client, txId, 'INITIATED', quoteTimeoutMs, (state) => {
190
+ if (state !== lastState) {
191
+ lastState = state;
192
+ opts.onTransition?.(state, txId, new Date());
193
+ }
194
+ });
195
+ if (!passedQuote) {
196
+ throw new QuoteTimeoutError(txId, quoteTimeoutMs);
197
+ }
198
+ if (TERMINAL_FAILURE.includes(lastState)) {
199
+ throw new Error(`Transaction ${lastState.toLowerCase()} before delivery`);
200
+ }
201
+ // 9. Delivery phase — wait for DELIVERED (or SETTLED, if provider already settled).
202
+ const deliveryTimeoutMs = opts.deliveryTimeoutMs ?? 300000;
203
+ const reachedDelivery = await waitForTargetState(client, txId, ['DELIVERED', 'SETTLED'], deliveryTimeoutMs, (state) => {
204
+ if (state !== lastState) {
205
+ lastState = state;
206
+ opts.onTransition?.(state, txId, new Date());
207
+ }
208
+ });
209
+ if (!reachedDelivery) {
210
+ if (TERMINAL_FAILURE.includes(lastState)) {
211
+ throw new Error(`Transaction ${lastState.toLowerCase()} before delivery`);
212
+ }
213
+ throw new DeliveryTimeoutError(txId, deliveryTimeoutMs, lastState);
214
+ }
215
+ // 10. Decode delivery payload, if present.
216
+ const tx = await client.runtime.getTransaction(txId);
217
+ const payload = tx?.deliveryProof ? safeParse(tx.deliveryProof) : undefined;
218
+ // 11. Requester-immediate settle. ACTPKernel allows DELIVERED → SETTLED
219
+ // by the requester without waiting for the dispute window
220
+ // (ACTPKernel.sol:700-704). Other parties must wait. We drive the
221
+ // decision from the freshly-fetched `tx.state` to avoid stale
222
+ // closure-bound state from the polling callback above.
223
+ let finalState = tx?.state ?? lastState;
224
+ let settled = finalState === 'SETTLED';
225
+ if (!settled && tx && tx.state === 'DELIVERED' && tx.escrowId) {
226
+ try {
227
+ // Route via StandardAdapter so AA requesters settle via Paymaster
228
+ // (sendSettle UserOp), not a raw EOA tx that needs ETH for gas.
229
+ await client.standard.releaseEscrow(tx.escrowId);
230
+ settled = true;
231
+ finalState = 'SETTLED';
232
+ opts.onTransition?.('SETTLED', txId, new Date());
233
+ }
234
+ catch (err) {
235
+ logger.warn('Requester settle failed; settlement will fall back to dispute-window auto-settle', {
236
+ txId,
237
+ err: err instanceof Error ? err.message : String(err),
238
+ });
239
+ }
240
+ }
241
+ return {
242
+ txId,
243
+ finalState,
244
+ elapsedMs: Date.now() - startedAt,
245
+ payload,
246
+ settled,
247
+ };
248
+ }
249
+ exports.runRequest = runRequest;
250
+ // ============================================================================
251
+ // Internal helpers
252
+ // ============================================================================
253
+ function deterministicMockAddress() {
254
+ // Mirrors src/level0/request.ts getRequesterAddress() mock fallback so
255
+ // mock-mode runRequest reuses the same default requester slot.
256
+ return '0x' + Buffer.from('requester').toString('hex').padEnd(40, '0');
257
+ }
258
+ function humanAmountToUSDCWei(amount) {
259
+ const parts = amount.split('.');
260
+ if (parts.length > 2 || !/^\d+$/.test(parts[0]) || (parts[1] !== undefined && !/^\d+$/.test(parts[1]))) {
261
+ throw new Error(`Invalid amount: "${amount}" — expected decimal string like "0.05".`);
262
+ }
263
+ const whole = BigInt(parts[0]) * 1000000n;
264
+ const decimal = parts[1] ? BigInt(parts[1].slice(0, 6).padEnd(6, '0')) : 0n;
265
+ const wei = whole + decimal;
266
+ if (wei <= 0n)
267
+ throw new Error(`Amount must be positive (got "${amount}").`);
268
+ return wei.toString();
269
+ }
270
+ function resolveDeadline(deadline) {
271
+ if (deadline === undefined) {
272
+ return Math.floor(Date.now() / 1000) + 3600;
273
+ }
274
+ if (typeof deadline === 'number') {
275
+ // Sanity check: any value past year-3000 in seconds is implausible and
276
+ // probably a JS millisecond timestamp passed by accident
277
+ // (`Date.now()` instead of `Math.floor(Date.now()/1000)`). Reject loudly
278
+ // — the kernel would otherwise accept an immortal-deadline TX.
279
+ // 32_503_680_000 ≈ 3000-01-01T00:00:00Z. JS ms timestamps clear this
280
+ // bound from year 2001 onward (1e12 ≈ 2001-09-09).
281
+ if (deadline > 32503680000) {
282
+ throw new Error(`Invalid deadline: ${deadline} appears to be a millisecond timestamp. ` +
283
+ `runRequest expects unix seconds — pass Math.floor(Date.now() / 1000) instead.`);
284
+ }
285
+ return deadline;
286
+ }
287
+ const parsed = Date.parse(deadline);
288
+ if (Number.isNaN(parsed)) {
289
+ throw new Error(`Invalid deadline: "${deadline}" — expected ISO 8601 or unix seconds.`);
290
+ }
291
+ return Math.floor(parsed / 1000);
292
+ }
293
+ async function waitForStateChange(client, txId, initial, timeoutMs, onTick) {
294
+ const start = Date.now();
295
+ while (Date.now() - start < timeoutMs) {
296
+ const tx = await client.runtime.getTransaction(txId);
297
+ if (!tx) {
298
+ await sleep(POLL_INTERVAL_MS);
299
+ continue;
300
+ }
301
+ onTick(tx.state);
302
+ if (tx.state !== initial)
303
+ return true;
304
+ await sleep(POLL_INTERVAL_MS);
305
+ }
306
+ return false;
307
+ }
308
+ async function waitForTargetState(client, txId, targets, timeoutMs, onTick) {
309
+ const start = Date.now();
310
+ while (Date.now() - start < timeoutMs) {
311
+ const tx = await client.runtime.getTransaction(txId);
312
+ if (!tx) {
313
+ await sleep(POLL_INTERVAL_MS);
314
+ continue;
315
+ }
316
+ onTick(tx.state);
317
+ if (targets.includes(tx.state))
318
+ return true;
319
+ if (TERMINAL_FAILURE.includes(tx.state))
320
+ return false;
321
+ await sleep(POLL_INTERVAL_MS);
322
+ }
323
+ return false;
324
+ }
325
+ function safeParse(raw) {
326
+ try {
327
+ return JSON.parse(raw);
328
+ }
329
+ catch {
330
+ return raw;
331
+ }
332
+ }
333
+ function sleep(ms) {
334
+ return new Promise((resolve) => setTimeout(resolve, ms));
335
+ }
336
+ //# sourceMappingURL=runRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runRequest.js","sourceRoot":"","sources":["../../../src/cli/lib/runRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * serviceNameForHash — reverse-lookup a service name from its on-chain hash.
3
+ *
4
+ * PRD-event-driven-provider-listening §5.8. Used by `actp agent` to map
5
+ * `tx.serviceHash` (the bytes32 routing key the kernel emits on
6
+ * TransactionCreated) back to one of the provider's configured service
7
+ * names, so the orchestrator's IncomingRequest carries the right value
8
+ * for policy enforcement.
9
+ *
10
+ * Pre-4.0.0 the agent CLI fell back to `policy.services[0] ?? 'default'`
11
+ * whenever it couldn't infer the service name. With hash routing that
12
+ * fallback can quote the wrong service entirely (caller asked for
13
+ * 'translate', policy returned the default 'echo' price). The correct
14
+ * behavior is: hash didn't match any configured service → skip the
15
+ * request and log, never silently fall through.
16
+ *
17
+ * Match formula matches `Agent.provide()` exactly:
18
+ * `keccak256(toUtf8Bytes(serviceName))` — no `.toLowerCase()`, no trim
19
+ * here (`actp request` and `runRequest` both trim before hashing, so
20
+ * the on-chain hash is already from the trimmed form).
21
+ *
22
+ * @module cli/lib/serviceNameForHash
23
+ */
24
+ /**
25
+ * Return the configured service name whose `keccak256(toUtf8Bytes(name))`
26
+ * equals the given on-chain hash, or `undefined` when no service matches.
27
+ *
28
+ * Comparison is case-insensitive on the hex hash (both stored and queried
29
+ * values are normalized to lowercase) but case-sensitive on the service
30
+ * name (since `Agent.provide(name)` and `actp request --service name` both
31
+ * hash the name as-is per PRD §5.11).
32
+ *
33
+ * @param onChainHash - bytes32 hex string from `tx.serviceHash`. May be
34
+ * undefined when reading a legacy ABI; treated as a miss.
35
+ * @param services - the provider's configured service list (e.g.
36
+ * `policy.services`).
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const name = serviceNameForHash(tx.serviceHash, ['onboarding', 'translate']);
41
+ * if (!name) {
42
+ * logger.warn('Unknown service hash, skipping quote', { txId: tx.id });
43
+ * continue;
44
+ * }
45
+ * ```
46
+ */
47
+ export declare function serviceNameForHash(onChainHash: string | undefined, services: readonly string[]): string | undefined;
48
+ //# sourceMappingURL=serviceNameForHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceNameForHash.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/serviceNameForHash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,GAAG,SAAS,CAOpB"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * serviceNameForHash — reverse-lookup a service name from its on-chain hash.
4
+ *
5
+ * PRD-event-driven-provider-listening §5.8. Used by `actp agent` to map
6
+ * `tx.serviceHash` (the bytes32 routing key the kernel emits on
7
+ * TransactionCreated) back to one of the provider's configured service
8
+ * names, so the orchestrator's IncomingRequest carries the right value
9
+ * for policy enforcement.
10
+ *
11
+ * Pre-4.0.0 the agent CLI fell back to `policy.services[0] ?? 'default'`
12
+ * whenever it couldn't infer the service name. With hash routing that
13
+ * fallback can quote the wrong service entirely (caller asked for
14
+ * 'translate', policy returned the default 'echo' price). The correct
15
+ * behavior is: hash didn't match any configured service → skip the
16
+ * request and log, never silently fall through.
17
+ *
18
+ * Match formula matches `Agent.provide()` exactly:
19
+ * `keccak256(toUtf8Bytes(serviceName))` — no `.toLowerCase()`, no trim
20
+ * here (`actp request` and `runRequest` both trim before hashing, so
21
+ * the on-chain hash is already from the trimmed form).
22
+ *
23
+ * @module cli/lib/serviceNameForHash
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.serviceNameForHash = void 0;
27
+ const ethers_1 = require("ethers");
28
+ /**
29
+ * Return the configured service name whose `keccak256(toUtf8Bytes(name))`
30
+ * equals the given on-chain hash, or `undefined` when no service matches.
31
+ *
32
+ * Comparison is case-insensitive on the hex hash (both stored and queried
33
+ * values are normalized to lowercase) but case-sensitive on the service
34
+ * name (since `Agent.provide(name)` and `actp request --service name` both
35
+ * hash the name as-is per PRD §5.11).
36
+ *
37
+ * @param onChainHash - bytes32 hex string from `tx.serviceHash`. May be
38
+ * undefined when reading a legacy ABI; treated as a miss.
39
+ * @param services - the provider's configured service list (e.g.
40
+ * `policy.services`).
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const name = serviceNameForHash(tx.serviceHash, ['onboarding', 'translate']);
45
+ * if (!name) {
46
+ * logger.warn('Unknown service hash, skipping quote', { txId: tx.id });
47
+ * continue;
48
+ * }
49
+ * ```
50
+ */
51
+ function serviceNameForHash(onChainHash, services) {
52
+ if (!onChainHash)
53
+ return undefined;
54
+ const target = onChainHash.toLowerCase();
55
+ for (const name of services) {
56
+ if ((0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(name)).toLowerCase() === target)
57
+ return name;
58
+ }
59
+ return undefined;
60
+ }
61
+ exports.serviceNameForHash = serviceNameForHash;
62
+ //# sourceMappingURL=serviceNameForHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceNameForHash.js","sourceRoot":"","sources":["../../../src/cli/lib/serviceNameForHash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAEH,mCAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,kBAAkB,CAChC,WAA+B,EAC/B,QAA2B;IAE3B,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAA,kBAAS,EAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,gDAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/level0/request.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AASxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CA2PxB"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/level0/request.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AASxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAoRxB"}
@@ -133,18 +133,37 @@ async function request(service, options) {
133
133
  await mockRuntime.mintTokens(requesterAddress, toMint);
134
134
  }
135
135
  }
136
- const serviceMetadata = JSON.stringify({
137
- service: validatedService,
138
- input: options.input,
139
- timestamp: Date.now(),
140
- });
141
- const txId = await client.runtime.createTransaction({
136
+ // PRD §5.6: put the bytes32 routing key on-chain, not JSON metadata.
137
+ //
138
+ // Pre-4.0.0 this site passed JSON.stringify({ service, input, timestamp }).
139
+ // BlockchainRuntime.validateServiceHash then hashed the whole JSON string,
140
+ // so the on-chain serviceHash was keccak256(JSON) — which never matched
141
+ // `agent.provide(serviceName)` and routing failed silently on real chains.
142
+ //
143
+ // Also: `options.input` is dropped for 4.0.0. The handler will see
144
+ // `job.input = {}`. The forthcoming `agirails.request.v1` envelope on
145
+ // NegotiationChannel is the future path for requester→provider payloads
146
+ // (PRD §11). Until then, callers needing input transport must use the
147
+ // legacy SDK ≤ 3.5.3 directly or wait for the envelope release.
148
+ if (options.input !== undefined && options.input !== null) {
149
+ logger.warn('options.input is not transported in 4.0.0 — handler will receive job.input = {}. ' +
150
+ 'A future agirails.request.v1 envelope will restore this path. See PRD §11.');
151
+ }
152
+ const serviceHash = ethers_1.ethers.keccak256(ethers_1.ethers.toUtf8Bytes(validatedService));
153
+ // Route through StandardAdapter so AA-enabled requesters use the
154
+ // SmartWalletRouter (Paymaster-sponsored UserOps). Going through
155
+ // `client.runtime` directly would force-sign with the raw EOA, which
156
+ // holds no ETH under the AGIRAILS gasless model. Mock + EOA modes
157
+ // fall through to runtime.createTransaction inside the adapter, so
158
+ // behaviour is preserved. `requester` is derived from
159
+ // `this.requesterAddress` inside the adapter; `amount` is the
160
+ // human-readable budget (parseAmount handles unit conversion).
161
+ const txId = await client.standard.createTransaction({
142
162
  provider,
143
- requester: requesterAddress,
144
- amount: amountWei,
163
+ amount: options.budget,
145
164
  deadline,
146
165
  disputeWindow: options.disputeWindow ?? 172800,
147
- serviceDescription: serviceMetadata,
166
+ serviceDescription: serviceHash,
148
167
  });
149
168
  // Call onProgress if provided
150
169
  if (options.onProgress) {
@@ -196,7 +215,9 @@ async function request(service, options) {
196
215
  throw error;
197
216
  }
198
217
  else {
199
- await client.runtime.transitionState(txId, 'CANCELLED');
218
+ // Route through StandardAdapter for AA-aware cancel; falls
219
+ // through to runtime.transitionState on EOA/mock paths.
220
+ await client.standard.transitionState(txId, 'CANCELLED');
200
221
  logger.info('Transaction cancelled successfully (via transitionState)', { txId });
201
222
  const error = new errors_1.TimeoutError(maxWaitTime, `Transaction cancelled after timeout`);
202
223
  error.txId = txId;
@@ -245,7 +266,9 @@ async function request(service, options) {
245
266
  const isMockMode = options.network !== 'testnet' && options.network !== 'mainnet';
246
267
  if (isMockMode) {
247
268
  try {
248
- await client.runtime.releaseEscrow(tx.escrowId);
269
+ // Use StandardAdapter for consistency with the rest of the
270
+ // request flow; mock falls through to runtime.releaseEscrow.
271
+ await client.standard.releaseEscrow(tx.escrowId);
249
272
  }
250
273
  catch (error) {
251
274
  // Ignore if already released or dispute window still active
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/level0/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/level0/request.ts"],"names":[],"mappings":"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"}