@agirails/sdk 3.5.3 → 4.0.0-beta.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/dist/cli/agirails.d.ts +4 -1
- package/dist/cli/agirails.d.ts.map +1 -1
- package/dist/cli/agirails.js +34 -2
- package/dist/cli/agirails.js.map +1 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +62 -21
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +7 -0
- package/dist/cli/commands/pay.d.ts.map +1 -1
- package/dist/cli/commands/pay.js +34 -1
- package/dist/cli/commands/pay.js.map +1 -1
- package/dist/cli/commands/request.d.ts +19 -0
- package/dist/cli/commands/request.d.ts.map +1 -0
- package/dist/cli/commands/request.js +167 -0
- package/dist/cli/commands/request.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +12 -7
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +12 -7
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/test.d.ts +22 -4
- package/dist/cli/commands/test.d.ts.map +1 -1
- package/dist/cli/commands/test.js +139 -292
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/tx.js +13 -0
- package/dist/cli/commands/tx.js.map +1 -1
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/resolveAgent.d.ts +67 -0
- package/dist/cli/lib/resolveAgent.d.ts.map +1 -0
- package/dist/cli/lib/resolveAgent.js +121 -0
- package/dist/cli/lib/resolveAgent.js.map +1 -0
- package/dist/cli/lib/runRequest.d.ts +114 -0
- package/dist/cli/lib/runRequest.d.ts.map +1 -0
- package/dist/cli/lib/runRequest.js +324 -0
- package/dist/cli/lib/runRequest.js.map +1 -0
- package/dist/cli/lib/serviceNameForHash.d.ts +48 -0
- package/dist/cli/lib/serviceNameForHash.d.ts.map +1 -0
- package/dist/cli/lib/serviceNameForHash.js +62 -0
- package/dist/cli/lib/serviceNameForHash.js.map +1 -0
- package/dist/level0/request.d.ts.map +1 -1
- package/dist/level0/request.js +18 -6
- package/dist/level0/request.js.map +1 -1
- package/dist/level1/Agent.d.ts +72 -8
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +242 -110
- package/dist/level1/Agent.js.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.js +10 -1
- package/dist/negotiation/BuyerOrchestrator.js.map +1 -1
- package/dist/protocol/EventMonitor.d.ts +26 -1
- package/dist/protocol/EventMonitor.d.ts.map +1 -1
- package/dist/protocol/EventMonitor.js +18 -4
- package/dist/protocol/EventMonitor.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts +73 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +121 -1
- package/dist/runtime/BlockchainRuntime.js.map +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +29 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +21 -4
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/MockStateManager.d.ts.map +1 -1
- package/dist/runtime/MockStateManager.js +18 -0
- package/dist/runtime/MockStateManager.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +12 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/types/agent.d.ts +6 -1
- package/dist/types/agent.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,324 @@
|
|
|
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
|
+
const startedAt = Date.now();
|
|
166
|
+
const txId = await client.runtime.createTransaction({
|
|
167
|
+
provider: providerAddress,
|
|
168
|
+
requester: requesterAddress,
|
|
169
|
+
amount: amountWei,
|
|
170
|
+
deadline: deadlineUnix,
|
|
171
|
+
disputeWindow: 172800, // 2 days; kernel enforces ≥ 1h.
|
|
172
|
+
serviceDescription: serviceHash, // PRD §5.6
|
|
173
|
+
});
|
|
174
|
+
opts.onTransition?.('INITIATED', txId, new Date());
|
|
175
|
+
// 8. Quote phase — wait for INITIATED → QUOTED / COMMITTED / IN_PROGRESS / DELIVERED.
|
|
176
|
+
// Sentinel + autoAccept may skip QUOTED entirely and fast-path through.
|
|
177
|
+
const quoteTimeoutMs = opts.quoteTimeoutMs ?? 30000;
|
|
178
|
+
let lastState = 'INITIATED';
|
|
179
|
+
const passedQuote = await waitForStateChange(client, txId, 'INITIATED', quoteTimeoutMs, (state) => {
|
|
180
|
+
if (state !== lastState) {
|
|
181
|
+
lastState = state;
|
|
182
|
+
opts.onTransition?.(state, txId, new Date());
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
if (!passedQuote) {
|
|
186
|
+
throw new QuoteTimeoutError(txId, quoteTimeoutMs);
|
|
187
|
+
}
|
|
188
|
+
if (TERMINAL_FAILURE.includes(lastState)) {
|
|
189
|
+
throw new Error(`Transaction ${lastState.toLowerCase()} before delivery`);
|
|
190
|
+
}
|
|
191
|
+
// 9. Delivery phase — wait for DELIVERED (or SETTLED, if provider already settled).
|
|
192
|
+
const deliveryTimeoutMs = opts.deliveryTimeoutMs ?? 300000;
|
|
193
|
+
const reachedDelivery = await waitForTargetState(client, txId, ['DELIVERED', 'SETTLED'], deliveryTimeoutMs, (state) => {
|
|
194
|
+
if (state !== lastState) {
|
|
195
|
+
lastState = state;
|
|
196
|
+
opts.onTransition?.(state, txId, new Date());
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
if (!reachedDelivery) {
|
|
200
|
+
if (TERMINAL_FAILURE.includes(lastState)) {
|
|
201
|
+
throw new Error(`Transaction ${lastState.toLowerCase()} before delivery`);
|
|
202
|
+
}
|
|
203
|
+
throw new DeliveryTimeoutError(txId, deliveryTimeoutMs, lastState);
|
|
204
|
+
}
|
|
205
|
+
// 10. Decode delivery payload, if present.
|
|
206
|
+
const tx = await client.runtime.getTransaction(txId);
|
|
207
|
+
const payload = tx?.deliveryProof ? safeParse(tx.deliveryProof) : undefined;
|
|
208
|
+
// 11. Requester-immediate settle. ACTPKernel allows DELIVERED → SETTLED
|
|
209
|
+
// by the requester without waiting for the dispute window
|
|
210
|
+
// (ACTPKernel.sol:700-704). Other parties must wait. We drive the
|
|
211
|
+
// decision from the freshly-fetched `tx.state` to avoid stale
|
|
212
|
+
// closure-bound state from the polling callback above.
|
|
213
|
+
let finalState = tx?.state ?? lastState;
|
|
214
|
+
let settled = finalState === 'SETTLED';
|
|
215
|
+
if (!settled && tx && tx.state === 'DELIVERED' && tx.escrowId) {
|
|
216
|
+
try {
|
|
217
|
+
await client.runtime.releaseEscrow(tx.escrowId);
|
|
218
|
+
settled = true;
|
|
219
|
+
finalState = 'SETTLED';
|
|
220
|
+
opts.onTransition?.('SETTLED', txId, new Date());
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
logger.warn('Requester settle failed; settlement will fall back to dispute-window auto-settle', {
|
|
224
|
+
txId,
|
|
225
|
+
err: err instanceof Error ? err.message : String(err),
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
txId,
|
|
231
|
+
finalState,
|
|
232
|
+
elapsedMs: Date.now() - startedAt,
|
|
233
|
+
payload,
|
|
234
|
+
settled,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
exports.runRequest = runRequest;
|
|
238
|
+
// ============================================================================
|
|
239
|
+
// Internal helpers
|
|
240
|
+
// ============================================================================
|
|
241
|
+
function deterministicMockAddress() {
|
|
242
|
+
// Mirrors src/level0/request.ts getRequesterAddress() mock fallback so
|
|
243
|
+
// mock-mode runRequest reuses the same default requester slot.
|
|
244
|
+
return '0x' + Buffer.from('requester').toString('hex').padEnd(40, '0');
|
|
245
|
+
}
|
|
246
|
+
function humanAmountToUSDCWei(amount) {
|
|
247
|
+
const parts = amount.split('.');
|
|
248
|
+
if (parts.length > 2 || !/^\d+$/.test(parts[0]) || (parts[1] !== undefined && !/^\d+$/.test(parts[1]))) {
|
|
249
|
+
throw new Error(`Invalid amount: "${amount}" — expected decimal string like "0.05".`);
|
|
250
|
+
}
|
|
251
|
+
const whole = BigInt(parts[0]) * 1000000n;
|
|
252
|
+
const decimal = parts[1] ? BigInt(parts[1].slice(0, 6).padEnd(6, '0')) : 0n;
|
|
253
|
+
const wei = whole + decimal;
|
|
254
|
+
if (wei <= 0n)
|
|
255
|
+
throw new Error(`Amount must be positive (got "${amount}").`);
|
|
256
|
+
return wei.toString();
|
|
257
|
+
}
|
|
258
|
+
function resolveDeadline(deadline) {
|
|
259
|
+
if (deadline === undefined) {
|
|
260
|
+
return Math.floor(Date.now() / 1000) + 3600;
|
|
261
|
+
}
|
|
262
|
+
if (typeof deadline === 'number') {
|
|
263
|
+
// Sanity check: any value past year-3000 in seconds is implausible and
|
|
264
|
+
// probably a JS millisecond timestamp passed by accident
|
|
265
|
+
// (`Date.now()` instead of `Math.floor(Date.now()/1000)`). Reject loudly
|
|
266
|
+
// — the kernel would otherwise accept an immortal-deadline TX.
|
|
267
|
+
// 32_503_680_000 ≈ 3000-01-01T00:00:00Z. JS ms timestamps clear this
|
|
268
|
+
// bound from year 2001 onward (1e12 ≈ 2001-09-09).
|
|
269
|
+
if (deadline > 32503680000) {
|
|
270
|
+
throw new Error(`Invalid deadline: ${deadline} appears to be a millisecond timestamp. ` +
|
|
271
|
+
`runRequest expects unix seconds — pass Math.floor(Date.now() / 1000) instead.`);
|
|
272
|
+
}
|
|
273
|
+
return deadline;
|
|
274
|
+
}
|
|
275
|
+
const parsed = Date.parse(deadline);
|
|
276
|
+
if (Number.isNaN(parsed)) {
|
|
277
|
+
throw new Error(`Invalid deadline: "${deadline}" — expected ISO 8601 or unix seconds.`);
|
|
278
|
+
}
|
|
279
|
+
return Math.floor(parsed / 1000);
|
|
280
|
+
}
|
|
281
|
+
async function waitForStateChange(client, txId, initial, timeoutMs, onTick) {
|
|
282
|
+
const start = Date.now();
|
|
283
|
+
while (Date.now() - start < timeoutMs) {
|
|
284
|
+
const tx = await client.runtime.getTransaction(txId);
|
|
285
|
+
if (!tx) {
|
|
286
|
+
await sleep(POLL_INTERVAL_MS);
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
onTick(tx.state);
|
|
290
|
+
if (tx.state !== initial)
|
|
291
|
+
return true;
|
|
292
|
+
await sleep(POLL_INTERVAL_MS);
|
|
293
|
+
}
|
|
294
|
+
return false;
|
|
295
|
+
}
|
|
296
|
+
async function waitForTargetState(client, txId, targets, timeoutMs, onTick) {
|
|
297
|
+
const start = Date.now();
|
|
298
|
+
while (Date.now() - start < timeoutMs) {
|
|
299
|
+
const tx = await client.runtime.getTransaction(txId);
|
|
300
|
+
if (!tx) {
|
|
301
|
+
await sleep(POLL_INTERVAL_MS);
|
|
302
|
+
continue;
|
|
303
|
+
}
|
|
304
|
+
onTick(tx.state);
|
|
305
|
+
if (targets.includes(tx.state))
|
|
306
|
+
return true;
|
|
307
|
+
if (TERMINAL_FAILURE.includes(tx.state))
|
|
308
|
+
return false;
|
|
309
|
+
await sleep(POLL_INTERVAL_MS);
|
|
310
|
+
}
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
function safeParse(raw) {
|
|
314
|
+
try {
|
|
315
|
+
return JSON.parse(raw);
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
return raw;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
function sleep(ms) {
|
|
322
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
323
|
+
}
|
|
324
|
+
//# 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,
|
|
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,CAyQxB"}
|
package/dist/level0/request.js
CHANGED
|
@@ -133,18 +133,30 @@ async function request(service, options) {
|
|
|
133
133
|
await mockRuntime.mintTokens(requesterAddress, toMint);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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));
|
|
141
153
|
const txId = await client.runtime.createTransaction({
|
|
142
154
|
provider,
|
|
143
155
|
requester: requesterAddress,
|
|
144
156
|
amount: amountWei,
|
|
145
157
|
deadline,
|
|
146
158
|
disputeWindow: options.disputeWindow ?? 172800,
|
|
147
|
-
serviceDescription:
|
|
159
|
+
serviceDescription: serviceHash,
|
|
148
160
|
});
|
|
149
161
|
// Call onProgress if provided
|
|
150
162
|
if (options.onProgress) {
|
|
@@ -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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"}
|