@agirails/sdk 3.4.1 → 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/builders/QuoteBuilder.d.ts +9 -3
- package/dist/builders/QuoteBuilder.d.ts.map +1 -1
- package/dist/builders/QuoteBuilder.js +14 -3
- package/dist/builders/QuoteBuilder.js.map +1 -1
- 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 +22 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +250 -0
- package/dist/cli/commands/agent.js.map +1 -0
- 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 +10 -1
- 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/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +7 -1
- package/dist/config/networks.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- 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 +243 -111
- package/dist/level1/Agent.js.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts +73 -61
- package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.js +421 -381
- package/dist/negotiation/BuyerOrchestrator.js.map +1 -1
- package/dist/negotiation/MockChannel.d.ts +63 -0
- package/dist/negotiation/MockChannel.d.ts.map +1 -0
- package/dist/negotiation/MockChannel.js +175 -0
- package/dist/negotiation/MockChannel.js.map +1 -0
- package/dist/negotiation/NegotiationChannel.d.ts +142 -0
- package/dist/negotiation/NegotiationChannel.d.ts.map +1 -0
- package/dist/negotiation/NegotiationChannel.js +59 -0
- package/dist/negotiation/NegotiationChannel.js.map +1 -0
- package/dist/negotiation/ProviderOrchestrator.d.ts +85 -35
- package/dist/negotiation/ProviderOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/ProviderOrchestrator.js +199 -49
- package/dist/negotiation/ProviderOrchestrator.js.map +1 -1
- package/dist/negotiation/ProviderPolicy.d.ts +51 -6
- package/dist/negotiation/ProviderPolicy.d.ts.map +1 -1
- package/dist/negotiation/ProviderPolicy.js +61 -9
- package/dist/negotiation/ProviderPolicy.js.map +1 -1
- package/dist/negotiation/RelayChannel.d.ts +59 -0
- package/dist/negotiation/RelayChannel.d.ts.map +1 -0
- package/dist/negotiation/RelayChannel.js +208 -0
- package/dist/negotiation/RelayChannel.js.map +1 -0
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +51 -1
- package/dist/protocol/ACTPKernel.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 +131 -3
- 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
|
@@ -76,10 +76,16 @@ export declare const AIP2QuoteTypes: {
|
|
|
76
76
|
* Reference: AIP-2 §6.1
|
|
77
77
|
*/
|
|
78
78
|
export declare class QuoteBuilder {
|
|
79
|
-
private signer
|
|
80
|
-
private nonceManager
|
|
79
|
+
private signer?;
|
|
80
|
+
private nonceManager?;
|
|
81
81
|
private ipfs?;
|
|
82
|
-
|
|
82
|
+
/**
|
|
83
|
+
* `signer` and `nonceManager` are only required for `build()`.
|
|
84
|
+
* `verify()` and `computeHash()` are signer-independent — pass
|
|
85
|
+
* `undefined` to construct a verify-only instance (used by relay
|
|
86
|
+
* channel + handler dispatch on the receive side).
|
|
87
|
+
*/
|
|
88
|
+
constructor(signer?: Signer | undefined, nonceManager?: NonceManager | undefined, ipfs?: IPFSClient | undefined);
|
|
83
89
|
/**
|
|
84
90
|
* Build and sign a quote message
|
|
85
91
|
* Reference: AIP-2 §4.1 (Provider workflow)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAA2C,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;CAgB1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"QuoteBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,12 @@ exports.AIP2QuoteTypes = {
|
|
|
40
40
|
* Reference: AIP-2 §6.1
|
|
41
41
|
*/
|
|
42
42
|
class QuoteBuilder {
|
|
43
|
+
/**
|
|
44
|
+
* `signer` and `nonceManager` are only required for `build()`.
|
|
45
|
+
* `verify()` and `computeHash()` are signer-independent — pass
|
|
46
|
+
* `undefined` to construct a verify-only instance (used by relay
|
|
47
|
+
* channel + handler dispatch on the receive side).
|
|
48
|
+
*/
|
|
43
49
|
constructor(signer, nonceManager, ipfs) {
|
|
44
50
|
this.signer = signer;
|
|
45
51
|
this.nonceManager = nonceManager;
|
|
@@ -53,6 +59,9 @@ class QuoteBuilder {
|
|
|
53
59
|
* @returns Signed quote message
|
|
54
60
|
*/
|
|
55
61
|
async build(params) {
|
|
62
|
+
if (!this.signer || !this.nonceManager) {
|
|
63
|
+
throw new Error('QuoteBuilder.build requires signer + nonceManager');
|
|
64
|
+
}
|
|
56
65
|
// Validate parameters
|
|
57
66
|
this.validateParams(params);
|
|
58
67
|
const quotedAt = Math.floor(Date.now() / 1000);
|
|
@@ -197,9 +206,11 @@ class QuoteBuilder {
|
|
|
197
206
|
chainId: quote.chainId,
|
|
198
207
|
nonce: quote.nonce
|
|
199
208
|
};
|
|
200
|
-
// Sign using ethers.js signTypedData (v6 API)
|
|
201
|
-
|
|
202
|
-
|
|
209
|
+
// Sign using ethers.js signTypedData (v6 API). signMessage is only
|
|
210
|
+
// reachable from build() which already guards on signer presence.
|
|
211
|
+
const signer = this.signer;
|
|
212
|
+
if ('signTypedData' in signer && typeof signer.signTypedData === 'function') {
|
|
213
|
+
const signature = await signer.signTypedData(domain, exports.AIP2QuoteTypes, message);
|
|
203
214
|
return signature;
|
|
204
215
|
}
|
|
205
216
|
throw new Error('Signer does not support EIP-712 typed data signing');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuoteBuilder.js","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,mCAAyE;AACzE,0DAAgE;AAIhE,sCAAuD;AAsDvD;;;GAGG;AACU,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;QACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAa,YAAY;IACvB,YACU,
|
|
1
|
+
{"version":3,"file":"QuoteBuilder.js","sourceRoot":"","sources":["../../src/builders/QuoteBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/agirails.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* npx agirails — One Command Entry Point
|
|
3
3
|
*
|
|
4
|
-
* 60-second quickstart: ask 3 questions → generate {slug}.md →
|
|
4
|
+
* 60-second quickstart: ask 3 questions → generate {slug}.md → real Sentinel
|
|
5
|
+
* onboarding request on Base Sepolia → reflection. PRD-event-driven-provider-
|
|
6
|
+
* listening §5.7 replaced the prior MockRuntime earning-loop simulation with
|
|
7
|
+
* a live Level 1 request against the deployed Sentinel agent.
|
|
5
8
|
* Re-entrant: if identity already exists, skips onboarding and runs test.
|
|
6
9
|
*
|
|
7
10
|
* @module cli/agirails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agirails.d.ts","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agirails.d.ts","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
package/dist/cli/agirails.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* npx agirails — One Command Entry Point
|
|
4
4
|
*
|
|
5
|
-
* 60-second quickstart: ask 3 questions → generate {slug}.md →
|
|
5
|
+
* 60-second quickstart: ask 3 questions → generate {slug}.md → real Sentinel
|
|
6
|
+
* onboarding request on Base Sepolia → reflection. PRD-event-driven-provider-
|
|
7
|
+
* listening §5.7 replaced the prior MockRuntime earning-loop simulation with
|
|
8
|
+
* a live Level 1 request against the deployed Sentinel agent.
|
|
6
9
|
* Re-entrant: if identity already exists, skips onboarding and runs test.
|
|
7
10
|
*
|
|
8
11
|
* @module cli/agirails
|
|
@@ -176,7 +179,11 @@ async function main() {
|
|
|
176
179
|
(0, config_1.updateConfig)({ identity: filename });
|
|
177
180
|
output.success('Updated .actp/config.json with identity pointer');
|
|
178
181
|
}
|
|
179
|
-
// Run
|
|
182
|
+
// Run a real Sentinel onboarding request on Base Sepolia. Requires a
|
|
183
|
+
// wallet at ~/.actp/wallets/base-sepolia (or ACTP_KEYSTORE_BASE64) and
|
|
184
|
+
// small testnet ETH + USDC. The PRD §5.7 rewrite intentionally
|
|
185
|
+
// dropped the pre-4.0.0 MockRuntime simulation — "mock success" was a
|
|
186
|
+
// lie and onboarding deserves the real loop.
|
|
180
187
|
output.print('');
|
|
181
188
|
await (0, test_1.runTest)(output);
|
|
182
189
|
// Next steps
|
|
@@ -194,9 +201,34 @@ async function main() {
|
|
|
194
201
|
catch (error) {
|
|
195
202
|
const message = error instanceof Error ? error.message : String(error);
|
|
196
203
|
output.error(message);
|
|
204
|
+
// Surface the 4.0.0 setup expectation that runTest() now imposes. The
|
|
205
|
+
// common first-run failure modes — no keystore, no testnet ETH, no
|
|
206
|
+
// sentinel address — all flow through here, and a bare error message
|
|
207
|
+
// gives a new developer nothing to act on. The hint is conditional on
|
|
208
|
+
// the error shape so non-runtime errors (e.g. file-write failures
|
|
209
|
+
// earlier in onboarding) don't get the wrong remediation glued on.
|
|
210
|
+
if (looksLikeRunTestSetupError(message)) {
|
|
211
|
+
output.print('');
|
|
212
|
+
output.print('agirails now runs a real onboarding request against Sentinel on Base Sepolia.\n' +
|
|
213
|
+
'First-run setup:\n' +
|
|
214
|
+
" 1. `actp init` to generate a wallet (or set ACTP_KEYSTORE_BASE64).\n" +
|
|
215
|
+
" 2. Fund the wallet with a small amount of Base Sepolia ETH (gas) + test USDC.\n" +
|
|
216
|
+
" 3. Rerun `npx agirails`.\n" +
|
|
217
|
+
'Override Sentinel\'s address with ACTP_SENTINEL_ADDRESS=0x... if needed.');
|
|
218
|
+
}
|
|
197
219
|
process.exit(output_1.ExitCode.ERROR);
|
|
198
220
|
}
|
|
199
221
|
}
|
|
222
|
+
/** Heuristic — match the four most common runRequest / resolveAgent first-run
|
|
223
|
+
* failure-message shapes so the setup hint only fires when actionable. */
|
|
224
|
+
function looksLikeRunTestSetupError(message) {
|
|
225
|
+
return (/no wallet found/i.test(message) ||
|
|
226
|
+
/resolvePrivateKey/i.test(message) ||
|
|
227
|
+
/Agent ['"]?sentinel['"]?/i.test(message) ||
|
|
228
|
+
/ACTP_SENTINEL_ADDRESS/i.test(message) ||
|
|
229
|
+
/insufficient funds/i.test(message) ||
|
|
230
|
+
/BASE_SEPOLIA_RPC/i.test(message));
|
|
231
|
+
}
|
|
200
232
|
// ============================================================================
|
|
201
233
|
// Subcommand routing: agirails find [query] [options]
|
|
202
234
|
// ============================================================================
|
package/dist/cli/agirails.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agirails.js","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"agirails.js","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `actp agent` — long-running provider daemon (3.5.0).
|
|
3
|
+
*
|
|
4
|
+
* Replaces `actp serve` from 3.4.x. Differences:
|
|
5
|
+
* * No HTTP listener — channel-driven via NegotiationChannel
|
|
6
|
+
* (RelayChannel by default → polls agirails.app/api/v1/negotiations).
|
|
7
|
+
* * Auto-respond multi-round: provider's ProviderPolicy.counter_strategy
|
|
8
|
+
* governs accept / requote / walk on every incoming counter, with
|
|
9
|
+
* CounterAcceptMessage / new QuoteMessage signed and POSTed back
|
|
10
|
+
* automatically. No operator-mediated delivery.
|
|
11
|
+
* * Watches on-chain for new INITIATED txs addressed to the provider
|
|
12
|
+
* and quotes them per ProviderPolicy.
|
|
13
|
+
*
|
|
14
|
+
* Operationally: `actp agent --policy policy.json` runs forever until
|
|
15
|
+
* SIGINT/SIGTERM, prints negotiation events to the terminal, and never
|
|
16
|
+
* needs an open inbound port.
|
|
17
|
+
*
|
|
18
|
+
* @module cli/commands/agent
|
|
19
|
+
*/
|
|
20
|
+
import { Command } from 'commander';
|
|
21
|
+
export declare function createAgentCommand(): Command;
|
|
22
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,kBAAkB,IAAI,OAAO,CAwB5C"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* `actp agent` — long-running provider daemon (3.5.0).
|
|
4
|
+
*
|
|
5
|
+
* Replaces `actp serve` from 3.4.x. Differences:
|
|
6
|
+
* * No HTTP listener — channel-driven via NegotiationChannel
|
|
7
|
+
* (RelayChannel by default → polls agirails.app/api/v1/negotiations).
|
|
8
|
+
* * Auto-respond multi-round: provider's ProviderPolicy.counter_strategy
|
|
9
|
+
* governs accept / requote / walk on every incoming counter, with
|
|
10
|
+
* CounterAcceptMessage / new QuoteMessage signed and POSTed back
|
|
11
|
+
* automatically. No operator-mediated delivery.
|
|
12
|
+
* * Watches on-chain for new INITIATED txs addressed to the provider
|
|
13
|
+
* and quotes them per ProviderPolicy.
|
|
14
|
+
*
|
|
15
|
+
* Operationally: `actp agent --policy policy.json` runs forever until
|
|
16
|
+
* SIGINT/SIGTERM, prints negotiation events to the terminal, and never
|
|
17
|
+
* needs an open inbound port.
|
|
18
|
+
*
|
|
19
|
+
* @module cli/commands/agent
|
|
20
|
+
*/
|
|
21
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
24
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
25
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
26
|
+
}
|
|
27
|
+
Object.defineProperty(o, k2, desc);
|
|
28
|
+
}) : (function(o, m, k, k2) {
|
|
29
|
+
if (k2 === undefined) k2 = k;
|
|
30
|
+
o[k2] = m[k];
|
|
31
|
+
}));
|
|
32
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
33
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
34
|
+
}) : function(o, v) {
|
|
35
|
+
o["default"] = v;
|
|
36
|
+
});
|
|
37
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.createAgentCommand = void 0;
|
|
46
|
+
const commander_1 = require("commander");
|
|
47
|
+
const fs_1 = require("fs");
|
|
48
|
+
const ethers_1 = require("ethers");
|
|
49
|
+
const output_1 = require("../utils/output");
|
|
50
|
+
const client_1 = require("../utils/client");
|
|
51
|
+
const networks_1 = require("../../config/networks");
|
|
52
|
+
const BlockchainRuntime_1 = require("../../runtime/BlockchainRuntime");
|
|
53
|
+
const MockRuntime_1 = require("../../runtime/MockRuntime");
|
|
54
|
+
const MockStateManager_1 = require("../../runtime/MockStateManager");
|
|
55
|
+
const ProviderOrchestrator_1 = require("../../negotiation/ProviderOrchestrator");
|
|
56
|
+
const RelayChannel_1 = require("../../negotiation/RelayChannel");
|
|
57
|
+
const serviceNameForHash_1 = require("../lib/serviceNameForHash");
|
|
58
|
+
const ethers_2 = require("ethers");
|
|
59
|
+
function createAgentCommand() {
|
|
60
|
+
return new commander_1.Command('agent')
|
|
61
|
+
.description('Run a long-running provider daemon (channel-driven, no HTTP)')
|
|
62
|
+
.requiredOption('--policy <path>', 'Path to ProviderPolicy JSON file')
|
|
63
|
+
.option('--network <name>', 'Network — base-sepolia | base-mainnet | mock', 'base-sepolia')
|
|
64
|
+
.option('--rpc <url>', 'Custom RPC URL override (testnet/mainnet only)')
|
|
65
|
+
.option('--mock', 'Run with MockRuntime instead of BlockchainRuntime')
|
|
66
|
+
.option('--relay <url>', 'Negotiation relay base URL', 'https://agirails.app')
|
|
67
|
+
.option('--poll-ms <num>', 'Channel poll interval in ms', '1500')
|
|
68
|
+
.option('--watch-poll-ms <num>', 'On-chain INITIATED-tx watch interval', '5000')
|
|
69
|
+
.action(async (options) => {
|
|
70
|
+
const output = new output_1.Output('human');
|
|
71
|
+
try {
|
|
72
|
+
await runAgent(options, output);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
const structured = (0, client_1.mapError)(error);
|
|
76
|
+
output.errorResult({
|
|
77
|
+
code: structured.code,
|
|
78
|
+
message: structured.message,
|
|
79
|
+
details: structured.details,
|
|
80
|
+
});
|
|
81
|
+
process.exit(output_1.ExitCode.ERROR);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
exports.createAgentCommand = createAgentCommand;
|
|
86
|
+
async function runAgent(options, output) {
|
|
87
|
+
if (!(0, fs_1.existsSync)(options.policy))
|
|
88
|
+
throw new Error(`Policy file not found: ${options.policy}`);
|
|
89
|
+
const policy = JSON.parse((0, fs_1.readFileSync)(options.policy, 'utf-8'));
|
|
90
|
+
let runtime;
|
|
91
|
+
let kernelAddress;
|
|
92
|
+
let chainId;
|
|
93
|
+
let signerAddress;
|
|
94
|
+
let signer;
|
|
95
|
+
if (options.mock) {
|
|
96
|
+
const stateMgr = new MockStateManager_1.MockStateManager(process.cwd() + '/.actp-agent');
|
|
97
|
+
runtime = new MockRuntime_1.MockRuntime(stateMgr);
|
|
98
|
+
kernelAddress = '0x' + '0'.repeat(40);
|
|
99
|
+
chainId = 84532;
|
|
100
|
+
const w = ethers_1.Wallet.createRandom();
|
|
101
|
+
signer = w;
|
|
102
|
+
signerAddress = w.address;
|
|
103
|
+
output.info('Running in MOCK mode — no real on-chain interaction.');
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const networkCfg = (0, networks_1.getNetwork)(options.network);
|
|
107
|
+
if (options.rpc)
|
|
108
|
+
networkCfg.rpcUrl = options.rpc;
|
|
109
|
+
const { resolvePrivateKey } = await Promise.resolve().then(() => __importStar(require('../../wallet/keystore')));
|
|
110
|
+
const tier = options.network.includes('mainnet') ? 'mainnet'
|
|
111
|
+
: options.network.includes('sepolia') ? 'testnet' : 'mock';
|
|
112
|
+
const privateKey = await resolvePrivateKey(process.cwd(), {
|
|
113
|
+
network: tier,
|
|
114
|
+
});
|
|
115
|
+
if (!privateKey)
|
|
116
|
+
throw new Error('No wallet found. Run `actp init` or set ACTP_KEYSTORE_BASE64.');
|
|
117
|
+
const provider = new ethers_1.JsonRpcProvider(networkCfg.rpcUrl);
|
|
118
|
+
const w = new ethers_1.Wallet(privateKey, provider);
|
|
119
|
+
signer = w;
|
|
120
|
+
runtime = new BlockchainRuntime_1.BlockchainRuntime({
|
|
121
|
+
network: options.network,
|
|
122
|
+
signer: w, provider,
|
|
123
|
+
});
|
|
124
|
+
await runtime.initialize();
|
|
125
|
+
kernelAddress = networkCfg.contracts.actpKernel;
|
|
126
|
+
chainId = networkCfg.chainId;
|
|
127
|
+
signerAddress = await w.getAddress();
|
|
128
|
+
}
|
|
129
|
+
const providerDID = `did:ethr:${chainId}:${signerAddress.toLowerCase()}`;
|
|
130
|
+
const pollMs = Number(options.pollMs);
|
|
131
|
+
const watchPollMs = Number(options.watchPollMs);
|
|
132
|
+
const channel = new RelayChannel_1.RelayChannel({
|
|
133
|
+
baseUrl: options.relay,
|
|
134
|
+
kernelAddressByChainId: { [chainId]: kernelAddress },
|
|
135
|
+
pollIntervalMs: pollMs,
|
|
136
|
+
log: (level, msg) => {
|
|
137
|
+
if (level === 'error')
|
|
138
|
+
output.error(msg);
|
|
139
|
+
else if (level === 'warn')
|
|
140
|
+
output.warning(msg);
|
|
141
|
+
// 'info' suppressed — relay polling is chatty
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
const orchestrator = new ProviderOrchestrator_1.ProviderOrchestrator({
|
|
145
|
+
policy, runtime, signer, kernelAddress, chainId, providerDID,
|
|
146
|
+
negotiationChannel: channel,
|
|
147
|
+
log: (_level, msg) => output.info(msg),
|
|
148
|
+
});
|
|
149
|
+
const sub = await orchestrator.start();
|
|
150
|
+
output.success(`actp agent listening on relay ${options.relay} for ${providerDID}`);
|
|
151
|
+
output.print(` Network: ${options.network}${options.mock ? ' (mock)' : ''}`);
|
|
152
|
+
output.print(` Provider: ${signerAddress}`);
|
|
153
|
+
output.print(` Policy floor: $${policy.pricing.min_acceptable.amount} ${policy.pricing.min_acceptable.currency}/${policy.pricing.min_acceptable.unit}`);
|
|
154
|
+
output.print(` Policy ideal: $${policy.pricing.ideal_price.amount} ${policy.pricing.ideal_price.currency}/${policy.pricing.ideal_price.unit}`);
|
|
155
|
+
output.print(` counter_strat: ${policy.counter_strategy ?? 'walk'} (concede_pct=${policy.counter_strategy === 'concede' ? policy.concede_pct ?? 30 : 'n/a'})`);
|
|
156
|
+
output.print(` Relay poll: ${pollMs}ms`);
|
|
157
|
+
output.print(` Watch poll: ${watchPollMs}ms`);
|
|
158
|
+
output.print('');
|
|
159
|
+
output.print('Watching on-chain for INITIATED txs + auto-quoting per policy.');
|
|
160
|
+
output.print('Counter-offers from buyers auto-handled per counter_strategy.');
|
|
161
|
+
output.print('');
|
|
162
|
+
// Watch on-chain for new INITIATED txs addressed to us, auto-quote.
|
|
163
|
+
//
|
|
164
|
+
// PRD §5.8: pre-4.0.0 this loop called `getAllTransactions()`, which is a
|
|
165
|
+
// no-op on BlockchainRuntime — `actp agent` saw zero on-chain TXs on every
|
|
166
|
+
// real chain since BlockchainRuntime was introduced. The migration:
|
|
167
|
+
// - Use `getTransactionsByProvider(addr, 'INITIATED', 100)` (the
|
|
168
|
+
// bounded EventMonitor-backed sweep from PRD §5.2). It filters
|
|
169
|
+
// server-side, so the per-tx `provider` check the old loop did
|
|
170
|
+
// after the fact is no longer load-bearing.
|
|
171
|
+
// - Add an `inflight` set so a long-running `orchestrator.quote()`
|
|
172
|
+
// can't be re-entered by the next sweep tick for the same txId.
|
|
173
|
+
// - Only mark a TX `seen` *after* `orchestrator.quote()` resolves
|
|
174
|
+
// successfully. The old loop did `seen.add()` before the await,
|
|
175
|
+
// which meant a transient quote failure (relay 5xx, signer
|
|
176
|
+
// disconnect) permanently dropped the TX with no retry.
|
|
177
|
+
// - Replace the `policy.services[0] ?? 'default'` fallback with a
|
|
178
|
+
// hash-based `serviceNameForHash` lookup. The old fallback could
|
|
179
|
+
// quote the wrong service when the policy has more than one entry.
|
|
180
|
+
const seen = new Set();
|
|
181
|
+
const inflight = new Set();
|
|
182
|
+
const watchTimer = setInterval(async () => {
|
|
183
|
+
try {
|
|
184
|
+
const pending = await runtime.getTransactionsByProvider(signerAddress, 'INITIATED', 100);
|
|
185
|
+
for (const t of pending) {
|
|
186
|
+
if (seen.has(t.id) || inflight.has(t.id))
|
|
187
|
+
continue;
|
|
188
|
+
inflight.add(t.id);
|
|
189
|
+
try {
|
|
190
|
+
// Split the two no-handler paths so logs are diagnostic:
|
|
191
|
+
// - ZeroHash → Level 0 `actp pay` tx, never routed to a
|
|
192
|
+
// provider handler. Not a misconfiguration; documented per
|
|
193
|
+
// PRD §5.4. Still mark seen so we stop evaluating it.
|
|
194
|
+
// - Anything else with no policy match → either a typo in
|
|
195
|
+
// policy.services or an INITIATED tx for a service this
|
|
196
|
+
// provider doesn't offer. Operators should investigate.
|
|
197
|
+
const isLevel0Pay = typeof t.serviceHash === 'string' &&
|
|
198
|
+
t.serviceHash.toLowerCase() === ethers_2.ZeroHash.toLowerCase();
|
|
199
|
+
if (isLevel0Pay) {
|
|
200
|
+
output.info(`[init] tx=${t.id.slice(0, 12)}… Level 0 pay (ZeroHash) — not routed to any handler, skipping`);
|
|
201
|
+
seen.add(t.id);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const serviceType = (0, serviceNameForHash_1.serviceNameForHash)(t.serviceHash, policy.services);
|
|
205
|
+
if (!serviceType) {
|
|
206
|
+
// Unknown hash is a deterministic skip (not a transient
|
|
207
|
+
// failure) — mark seen so we don't re-evaluate it forever.
|
|
208
|
+
output.warning(`[init] tx=${t.id.slice(0, 12)}… unknown service hash ${t.serviceHash?.slice(0, 10) ?? '(missing)'}…, skipping (check policy.services)`);
|
|
209
|
+
seen.add(t.id);
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
const req = {
|
|
213
|
+
txId: t.id,
|
|
214
|
+
consumer: `did:ethr:${chainId}:${t.requester.toLowerCase()}`,
|
|
215
|
+
offeredAmount: String(t.amount),
|
|
216
|
+
maxPrice: String(t.amount), // best estimate without separate field
|
|
217
|
+
deadline: Number(t.deadline) || Math.floor(Date.now() / 1000) + 3600,
|
|
218
|
+
serviceType,
|
|
219
|
+
currency: policy.pricing.min_acceptable.currency,
|
|
220
|
+
unit: policy.pricing.min_acceptable.unit,
|
|
221
|
+
};
|
|
222
|
+
const result = await orchestrator.quote(req, providerDID);
|
|
223
|
+
output.info(`[init] tx=${t.id.slice(0, 12)}… ${result.decision.action}: ${result.decision.reason}`);
|
|
224
|
+
// Only mark seen after success; transient failures retry next sweep.
|
|
225
|
+
seen.add(t.id);
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
output.warning(`[init] tx=${t.id.slice(0, 12)}… quote failed (will retry next sweep): ${err instanceof Error ? err.message : String(err)}`);
|
|
229
|
+
}
|
|
230
|
+
finally {
|
|
231
|
+
inflight.delete(t.id);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
output.warning(`On-chain watch error: ${err instanceof Error ? err.message : String(err)}`);
|
|
237
|
+
}
|
|
238
|
+
}, watchPollMs);
|
|
239
|
+
const shutdown = async (signal) => {
|
|
240
|
+
output.info(`\n${signal} received — shutting down…`);
|
|
241
|
+
clearInterval(watchTimer);
|
|
242
|
+
sub.unsubscribe();
|
|
243
|
+
await channel.close().catch(() => undefined);
|
|
244
|
+
output.success('Stopped.');
|
|
245
|
+
setTimeout(() => process.exit(0), 100).unref();
|
|
246
|
+
};
|
|
247
|
+
process.once('SIGINT', () => void shutdown('SIGINT'));
|
|
248
|
+
process.once('SIGTERM', () => void shutdown('SIGTERM'));
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,2BAA8C;AAC9C,mCAA8D;AAC9D,4CAAmD;AACnD,4CAA2C;AAC3C,oDAAmD;AACnD,uEAAoE;AACpE,2DAAwD;AACxD,qEAAkE;AAClE,iFAA8E;AAE9E,iEAA8D;AAC9D,kEAA+D;AAC/D,mCAAkC;AAElC,SAAgB,kBAAkB;IAChC,OAAO,IAAI,mBAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,cAAc,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SACrE,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,EAAE,cAAc,CAAC;SAC1F,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,mDAAmD,CAAC;SACrE,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,sBAAsB,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,WAAW,CAAC;gBACjB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAxBD,gDAwBC;AAYD,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,MAAc;IAC3D,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAC;IAEnF,IAAI,OAAwC,CAAC;IAC7C,IAAI,aAAqB,CAAC;IAC1B,IAAI,OAAe,CAAC;IACpB,IAAI,aAAqB,CAAC;IAC1B,IAAI,MAAc,CAAC;IAEnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,mCAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;QACtE,OAAO,GAAG,IAAI,yBAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,aAAa,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,CAAC,GAAG,eAAM,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,CAAC;QAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAA,qBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG;YAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;YACxD,OAAO,EAAE,IAAsC;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAI,wBAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,IAAI,eAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,CAAC;QACX,OAAO,GAAG,IAAI,qCAAiB,CAAC;YAC9B,OAAO,EAAE,OAAO,CAAC,OAA0C;YAC3D,MAAM,EAAE,CAAC,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;QAChD,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,IAAI,2BAAY,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC,KAAK;QACtB,sBAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE;QACpD,cAAc,EAAE,MAAM;QACtB,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACpC,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,8CAA8C;QAChD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,2CAAoB,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW;QAC5D,kBAAkB,EAAE,OAAO;QAC3B,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAEvC,MAAM,CAAC,OAAO,CAAC,iCAAiC,OAAO,CAAC,KAAK,QAAQ,WAAW,EAAE,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3J,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAClJ,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,IAAI,MAAM,iBAAiB,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACjK,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjB,oEAAoE;IACpE,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,oEAAoE;IACpE,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,gDAAgD;IAChD,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,+DAA+D;IAC/D,4DAA4D;IAC5D,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,yBAAyB,CACrD,aAAa,EACb,WAAW,EACX,GAAG,CACJ,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACnD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,CAAC;oBACH,yDAAyD;oBACzD,0DAA0D;oBAC1D,+DAA+D;oBAC/D,0DAA0D;oBAC1D,4DAA4D;oBAC5D,4DAA4D;oBAC5D,4DAA4D;oBAC5D,MAAM,WAAW,GACf,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;wBACjC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,iBAAQ,CAAC,WAAW,EAAE,CAAC;oBACzD,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,IAAI,CACT,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gEAAgE,CAC/F,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACf,SAAS;oBACX,CAAC;oBACD,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACvE,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,wDAAwD;wBACxD,2DAA2D;wBAC3D,MAAM,CAAC,OAAO,CACZ,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,qCAAqC,CACxI,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACf,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,GAAoB;wBAC3B,IAAI,EAAE,CAAC,CAAC,EAAE;wBACV,QAAQ,EAAE,YAAY,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE;wBAC5D,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC/B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,uCAAuC;wBACnE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI;wBACpE,WAAW;wBACX,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ;wBAChD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI;qBACzC,CAAC;oBACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpG,qEAAqE;oBACrE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,CACZ,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5H,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,EAAE,WAAW,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;QACvD,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,4BAA4B,CAAC,CAAC;QACrD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -12,7 +12,14 @@ export declare function createPayCommand(): Command;
|
|
|
12
12
|
interface PayOptions {
|
|
13
13
|
deadline: string;
|
|
14
14
|
disputeWindow: string;
|
|
15
|
+
service?: string;
|
|
15
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Canonical directive emitted when a caller passes `--service` to `actp pay`.
|
|
19
|
+
* Exported so tests + future doc tooling can assert/inspect the exact wording.
|
|
20
|
+
* PRD §5.9.
|
|
21
|
+
*/
|
|
22
|
+
export declare const PAY_SERVICE_REJECTION_MESSAGE: string;
|
|
16
23
|
declare function runPay(to: string, amount: string, options: PayOptions, output: Output): Promise<void>;
|
|
17
24
|
export { runPay };
|
|
18
25
|
//# sourceMappingURL=pay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,gBAAgB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,gBAAgB,IAAI,OAAO,CAiC1C;AAMD,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QAIa,CAAC;AASxD,iBAAe,MAAM,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqFf;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/cli/commands/pay.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module cli/commands/pay
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.runPay = exports.createPayCommand = void 0;
|
|
11
|
+
exports.runPay = exports.PAY_SERVICE_REJECTION_MESSAGE = exports.createPayCommand = void 0;
|
|
12
12
|
const commander_1 = require("commander");
|
|
13
13
|
const output_1 = require("../utils/output");
|
|
14
14
|
const client_1 = require("../utils/client");
|
|
@@ -23,6 +23,11 @@ function createPayCommand() {
|
|
|
23
23
|
.argument('<amount>', 'Amount to pay (e.g., "100", "100.50", "100 USDC")')
|
|
24
24
|
.option('-d, --deadline <deadline>', 'Deadline (+24h, +7d, or Unix timestamp)', '+24h')
|
|
25
25
|
.option('-w, --dispute-window <seconds>', 'Dispute window in seconds', '172800')
|
|
26
|
+
// PRD §5.9: --service is parsed *only* to reject it with a canonical
|
|
27
|
+
// directive. `actp pay` is a Level 0 primitive — no handler routing,
|
|
28
|
+
// no quote/accept negotiation. Callers who want hashed service routing
|
|
29
|
+
// belong on `actp request --service <name>`.
|
|
30
|
+
.option('--service <name>', '(rejected — see actp request for Level 1 flow)')
|
|
26
31
|
.option('--json', 'Output as JSON')
|
|
27
32
|
.option('-q, --quiet', 'Output only the transaction ID')
|
|
28
33
|
.action(async (to, amount, options) => {
|
|
@@ -43,7 +48,35 @@ function createPayCommand() {
|
|
|
43
48
|
return cmd;
|
|
44
49
|
}
|
|
45
50
|
exports.createPayCommand = createPayCommand;
|
|
51
|
+
/**
|
|
52
|
+
* Canonical directive emitted when a caller passes `--service` to `actp pay`.
|
|
53
|
+
* Exported so tests + future doc tooling can assert/inspect the exact wording.
|
|
54
|
+
* PRD §5.9.
|
|
55
|
+
*/
|
|
56
|
+
exports.PAY_SERVICE_REJECTION_MESSAGE = `Error: 'actp pay' is a Level 0 primitive and does not accept --service.\n` +
|
|
57
|
+
`For negotiated Level 1 job flow (where a provider's handler runs after quote/accept),\n` +
|
|
58
|
+
`use 'actp request <provider> <amount> --service <name>' instead.\n` +
|
|
59
|
+
`See https://agirails.io/docs/sdk/level-0-vs-level-1`;
|
|
60
|
+
/**
|
|
61
|
+
* Exit code for `actp pay --service` rejection. 64 = `EX_USAGE` from
|
|
62
|
+
* sysexits.h — the standard signal for "command-line usage error" so
|
|
63
|
+
* scripts can distinguish a misuse from a generic ACTP failure.
|
|
64
|
+
*/
|
|
65
|
+
const EX_USAGE = 64;
|
|
46
66
|
async function runPay(to, amount, options, output) {
|
|
67
|
+
// PRD §5.9: --service belongs on `actp request`, not `actp pay`. The
|
|
68
|
+
// flag is parsed only so we can intercept and route the user.
|
|
69
|
+
// `errorResult` is used (not `output.error`) so the directive is visible
|
|
70
|
+
// in --json and --quiet modes too; a silent exit-64 would leave scripts
|
|
71
|
+
// guessing at the cause.
|
|
72
|
+
if (options.service !== undefined) {
|
|
73
|
+
output.errorResult({
|
|
74
|
+
code: 'PAY_SERVICE_REJECTED',
|
|
75
|
+
message: exports.PAY_SERVICE_REJECTION_MESSAGE,
|
|
76
|
+
details: { use: 'actp request <provider> <amount> --service <name>' },
|
|
77
|
+
});
|
|
78
|
+
process.exit(EX_USAGE);
|
|
79
|
+
}
|
|
47
80
|
// Resolve slug URLs (e.g. agirails.app/a/arha) to wallet addresses
|
|
48
81
|
const slugMatch = to.match(/^(?:https?:\/\/)?(?:www\.)?agirails\.app\/a\/([a-z0-9_-]+)$/i);
|
|
49
82
|
if (slugMatch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yCAAoC;AACpC,4CAAmD;AACnD,4CAAyD;AACzD,uDAAuD;AAEvD,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAgB,gBAAgB;IAC9B,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;SAC3B,WAAW,CAAC,6CAA6C,CAAC;SAC1D,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;SAChD,QAAQ,CAAC,UAAU,EAAE,mDAAmD,CAAC;SACzE,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,EAAE,MAAM,CAAC;SACtF,MAAM,CAAC,gCAAgC,EAAE,2BAA2B,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"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"}
|