@agirails/sdk 3.3.0 → 3.5.3
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/api/agirailsApp.d.ts +21 -1
- package/dist/api/agirailsApp.d.ts.map +1 -1
- package/dist/api/agirailsApp.js.map +1 -1
- package/dist/builders/CounterAcceptBuilder.d.ts +96 -0
- package/dist/builders/CounterAcceptBuilder.d.ts.map +1 -0
- package/dist/builders/CounterAcceptBuilder.js +226 -0
- package/dist/builders/CounterAcceptBuilder.js.map +1 -0
- package/dist/builders/CounterOfferBuilder.d.ts +143 -0
- package/dist/builders/CounterOfferBuilder.d.ts.map +1 -0
- package/dist/builders/CounterOfferBuilder.js +329 -0
- package/dist/builders/CounterOfferBuilder.js.map +1 -0
- package/dist/builders/QuoteBuilder.d.ts +9 -3
- package/dist/builders/QuoteBuilder.d.ts.map +1 -1
- package/dist/builders/QuoteBuilder.js +22 -6
- package/dist/builders/QuoteBuilder.js.map +1 -1
- package/dist/builders/index.d.ts +2 -0
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/index.js +7 -1
- package/dist/builders/index.js.map +1 -1
- package/dist/cli/agirails.js +22 -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 +209 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/health.js +21 -5
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +25 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/publish.d.ts +34 -0
- package/dist/cli/commands/publish.d.ts.map +1 -1
- package/dist/cli/commands/publish.js +256 -80
- package/dist/cli/commands/publish.js.map +1 -1
- package/dist/cli/commands/repair.d.ts +23 -0
- package/dist/cli/commands/repair.d.ts.map +1 -0
- package/dist/cli/commands/repair.js +210 -0
- package/dist/cli/commands/repair.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +38 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +308 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/test.js +2 -2
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/agirailsmdV4.d.ts +46 -1
- package/dist/config/agirailsmdV4.d.ts.map +1 -1
- package/dist/config/agirailsmdV4.js +65 -8
- package/dist/config/agirailsmdV4.js.map +1 -1
- package/dist/config/defaults.d.ts +10 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +10 -0
- package/dist/config/defaults.js.map +1 -1
- 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/config/publishPipeline.d.ts +23 -1
- package/dist/config/publishPipeline.d.ts.map +1 -1
- package/dist/config/publishPipeline.js +70 -15
- package/dist/config/publishPipeline.js.map +1 -1
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -3
- package/dist/index.js.map +1 -1
- package/dist/level1/Agent.d.ts +27 -0
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +77 -6
- package/dist/level1/Agent.js.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts +115 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.js +530 -4
- package/dist/negotiation/BuyerOrchestrator.js.map +1 -1
- package/dist/negotiation/DecisionEngine.d.ts +69 -1
- package/dist/negotiation/DecisionEngine.d.ts.map +1 -1
- package/dist/negotiation/DecisionEngine.js +140 -1
- package/dist/negotiation/DecisionEngine.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/PolicyEngine.d.ts +32 -0
- package/dist/negotiation/PolicyEngine.d.ts.map +1 -1
- package/dist/negotiation/PolicyEngine.js.map +1 -1
- package/dist/negotiation/ProviderOrchestrator.d.ts +158 -0
- package/dist/negotiation/ProviderOrchestrator.d.ts.map +1 -0
- package/dist/negotiation/ProviderOrchestrator.js +286 -0
- package/dist/negotiation/ProviderOrchestrator.js.map +1 -0
- package/dist/negotiation/ProviderPolicy.d.ts +188 -0
- package/dist/negotiation/ProviderPolicy.d.ts.map +1 -0
- package/dist/negotiation/ProviderPolicy.js +259 -0
- package/dist/negotiation/ProviderPolicy.js.map +1 -0
- 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/negotiation/index.d.ts +8 -1
- package/dist/negotiation/index.d.ts.map +1 -1
- package/dist/negotiation/index.js +8 -1
- package/dist/negotiation/index.js.map +1 -1
- package/dist/negotiation/verifyQuoteOnChain.d.ts +58 -0
- package/dist/negotiation/verifyQuoteOnChain.d.ts.map +1 -0
- package/dist/negotiation/verifyQuoteOnChain.js +83 -0
- package/dist/negotiation/verifyQuoteOnChain.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/runtime/BlockchainRuntime.d.ts +13 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +33 -2
- package/dist/runtime/BlockchainRuntime.js.map +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +35 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.d.ts +11 -0
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +39 -0
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +10 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/transport/QuoteChannel.d.ts +201 -0
- package/dist/transport/QuoteChannel.d.ts.map +1 -0
- package/dist/transport/QuoteChannel.js +358 -0
- package/dist/transport/QuoteChannel.js.map +1 -0
- package/dist/types/adapter.d.ts +24 -24
- package/package.json +16 -1
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CounterOfferBuilder — AIP-2.1 counter-offer message construction.
|
|
4
|
+
*
|
|
5
|
+
* AIP-2 covers the provider's first quote (`agirails.quote.v1`). AIP-2.1
|
|
6
|
+
* adds the buyer's reply: a signed counter-offer message that proposes a
|
|
7
|
+
* different price than what the provider quoted. The buyer can ping-pong
|
|
8
|
+
* counter-offers with the provider off-chain; the final agreed amount is
|
|
9
|
+
* pinned on-chain when the buyer eventually calls `acceptQuote(txId, amount)`
|
|
10
|
+
* followed by `linkEscrow`.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors QuoteBuilder.ts shape so the verification path is symmetric:
|
|
13
|
+
* - EIP-712 signed message (buyer signs)
|
|
14
|
+
* - Canonical JSON hash (deterministic across implementations)
|
|
15
|
+
* - Same DID extraction + signature recovery pattern
|
|
16
|
+
*
|
|
17
|
+
* @module builders/CounterOfferBuilder
|
|
18
|
+
* @see Protocol/aips/AIP-2.1-DRAFT.md §8 (security model + transport)
|
|
19
|
+
* @see src/builders/QuoteBuilder.ts (sibling, provider side)
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.CounterOfferBuilder = exports.AIP21CounterOfferTypes = void 0;
|
|
23
|
+
const ethers_1 = require("ethers");
|
|
24
|
+
const canonicalJson_1 = require("../utils/canonicalJson");
|
|
25
|
+
const errors_1 = require("../errors");
|
|
26
|
+
/**
|
|
27
|
+
* EIP-712 type definitions for `agirails.counteroffer.v1`.
|
|
28
|
+
*
|
|
29
|
+
* The justification object is hashed (single bytes32 field) instead of
|
|
30
|
+
* inlined — same pattern as AIP-2 quotes — so callers can omit large
|
|
31
|
+
* justification blobs without changing the signed payload structure.
|
|
32
|
+
*/
|
|
33
|
+
exports.AIP21CounterOfferTypes = {
|
|
34
|
+
CounterOffer: [
|
|
35
|
+
{ name: 'txId', type: 'bytes32' },
|
|
36
|
+
{ name: 'consumer', type: 'string' },
|
|
37
|
+
{ name: 'provider', type: 'string' },
|
|
38
|
+
{ name: 'quoteAmount', type: 'string' },
|
|
39
|
+
{ name: 'counterAmount', type: 'string' },
|
|
40
|
+
{ name: 'maxPrice', type: 'string' },
|
|
41
|
+
{ name: 'currency', type: 'string' },
|
|
42
|
+
{ name: 'decimals', type: 'uint8' },
|
|
43
|
+
{ name: 'inReplyTo', type: 'bytes32' },
|
|
44
|
+
{ name: 'counteredAt', type: 'uint256' },
|
|
45
|
+
{ name: 'expiresAt', type: 'uint256' },
|
|
46
|
+
{ name: 'justificationHash', type: 'bytes32' },
|
|
47
|
+
{ name: 'chainId', type: 'uint256' },
|
|
48
|
+
{ name: 'nonce', type: 'uint256' },
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
const MESSAGE_TYPE = 'agirails.counteroffer.v1';
|
|
52
|
+
const DEFAULT_TTL_SECONDS = 3600; // 1 hour
|
|
53
|
+
const MAX_TTL_SECONDS = 86400; // 24 hours
|
|
54
|
+
const TIMESTAMP_GRACE_SECONDS = 300; // 5 minutes (matches QuoteBuilder)
|
|
55
|
+
const PLATFORM_MIN_BASE_UNITS = 50000n; // $0.05 USDC
|
|
56
|
+
const ZERO_HASH = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
57
|
+
const VALID_CHAIN_IDS = new Set([84532, 8453]);
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Builder
|
|
60
|
+
// ============================================================================
|
|
61
|
+
class CounterOfferBuilder {
|
|
62
|
+
/**
|
|
63
|
+
* `signer` and `nonceManager` are only required for `build()`.
|
|
64
|
+
* `verify()` and `computeHash()` are signer-independent — pass
|
|
65
|
+
* `undefined` to construct a verify-only instance.
|
|
66
|
+
*/
|
|
67
|
+
constructor(signer, nonceManager) {
|
|
68
|
+
this.signer = signer;
|
|
69
|
+
this.nonceManager = nonceManager;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build and sign a counter-offer message.
|
|
73
|
+
* @throws Error on validation failure (amount bands, formats, expiry).
|
|
74
|
+
*/
|
|
75
|
+
async build(params) {
|
|
76
|
+
if (!this.signer || !this.nonceManager) {
|
|
77
|
+
throw new Error('CounterOfferBuilder.build requires signer + nonceManager');
|
|
78
|
+
}
|
|
79
|
+
this.validateParams(params);
|
|
80
|
+
const counteredAt = Math.floor(Date.now() / 1000);
|
|
81
|
+
const expiresAt = params.expiresAt ?? counteredAt + DEFAULT_TTL_SECONDS;
|
|
82
|
+
if (expiresAt <= counteredAt) {
|
|
83
|
+
throw new Error('expiresAt must be after counteredAt');
|
|
84
|
+
}
|
|
85
|
+
if (expiresAt > counteredAt + MAX_TTL_SECONDS) {
|
|
86
|
+
throw new Error(`expiresAt cannot exceed ${MAX_TTL_SECONDS}s from counteredAt`);
|
|
87
|
+
}
|
|
88
|
+
const message = {
|
|
89
|
+
type: MESSAGE_TYPE,
|
|
90
|
+
version: '1.0.0',
|
|
91
|
+
txId: params.txId,
|
|
92
|
+
consumer: params.consumer,
|
|
93
|
+
provider: params.provider,
|
|
94
|
+
quoteAmount: params.quoteAmount,
|
|
95
|
+
counterAmount: params.counterAmount,
|
|
96
|
+
maxPrice: params.maxPrice,
|
|
97
|
+
currency: 'USDC',
|
|
98
|
+
decimals: 6,
|
|
99
|
+
inReplyTo: params.inReplyTo,
|
|
100
|
+
counteredAt,
|
|
101
|
+
expiresAt,
|
|
102
|
+
justification: params.justification,
|
|
103
|
+
chainId: params.chainId,
|
|
104
|
+
nonce: this.nonceManager.getNextNonce(MESSAGE_TYPE),
|
|
105
|
+
signature: '',
|
|
106
|
+
};
|
|
107
|
+
message.signature = await this.signMessage(message, params.kernelAddress);
|
|
108
|
+
this.nonceManager.recordNonce(MESSAGE_TYPE, message.nonce);
|
|
109
|
+
return message;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Verify a counter-offer:
|
|
113
|
+
* 1. Schema is well-formed
|
|
114
|
+
* 2. EIP-712 signature recovers to the consumer DID's address
|
|
115
|
+
* 3. Amount band: counterAmount within [platformMin, maxPrice], not above quoteAmount
|
|
116
|
+
* 4. Not expired (with TIMESTAMP_GRACE_SECONDS slack on counteredAt)
|
|
117
|
+
*
|
|
118
|
+
* @returns true on success; throws otherwise.
|
|
119
|
+
*/
|
|
120
|
+
async verify(message, kernelAddress) {
|
|
121
|
+
this.validateMessageSchema(message);
|
|
122
|
+
const recovered = this.recoverSigner(message, kernelAddress);
|
|
123
|
+
const expected = this.extractAddressFromDID(message.consumer);
|
|
124
|
+
if (recovered.toLowerCase() !== expected.toLowerCase()) {
|
|
125
|
+
throw new errors_1.SignatureVerificationError(message.consumer, 'unknown');
|
|
126
|
+
}
|
|
127
|
+
const counterAmount = BigInt(message.counterAmount);
|
|
128
|
+
const quoteAmount = BigInt(message.quoteAmount);
|
|
129
|
+
const maxPrice = BigInt(message.maxPrice);
|
|
130
|
+
if (counterAmount < PLATFORM_MIN_BASE_UNITS) {
|
|
131
|
+
throw new Error('counterAmount below platform minimum ($0.05)');
|
|
132
|
+
}
|
|
133
|
+
// A counter that meets or exceeds the existing quote is not a counter —
|
|
134
|
+
// accept the quote instead.
|
|
135
|
+
if (counterAmount >= quoteAmount) {
|
|
136
|
+
throw new Error('counterAmount must be less than quoteAmount (otherwise just accept the quote)');
|
|
137
|
+
}
|
|
138
|
+
if (counterAmount > maxPrice) {
|
|
139
|
+
// Defensive — should never happen if buyer policy is consistent.
|
|
140
|
+
throw new Error('counterAmount exceeds maxPrice');
|
|
141
|
+
}
|
|
142
|
+
const now = Math.floor(Date.now() / 1000);
|
|
143
|
+
if (message.expiresAt < now) {
|
|
144
|
+
throw new Error('Counter-offer expired');
|
|
145
|
+
}
|
|
146
|
+
// One-sided skew — only reject timestamps claiming the future.
|
|
147
|
+
// The "too old" side is bounded by expiresAt (checked above).
|
|
148
|
+
// Mirrors QuoteBuilder post-audit behavior so long-TTL counters
|
|
149
|
+
// (15-30 min, common in real negotiation) don't get rejected
|
|
150
|
+
// just because the buyer paused 6 minutes to decide.
|
|
151
|
+
if (message.counteredAt > now + TIMESTAMP_GRACE_SECONDS) {
|
|
152
|
+
throw new Error('counteredAt is in the future beyond skew tolerance');
|
|
153
|
+
}
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Compute the canonical hash of a counter-offer (signature stripped).
|
|
158
|
+
*
|
|
159
|
+
* This is the value that should be used for any on-chain anchoring or
|
|
160
|
+
* off-chain dedup keys. Identical counter content → identical hash on
|
|
161
|
+
* any implementation that uses fast-json-stable-stringify.
|
|
162
|
+
*/
|
|
163
|
+
computeHash(message) {
|
|
164
|
+
const { signature: _sig, ...withoutSig } = message;
|
|
165
|
+
void _sig;
|
|
166
|
+
return (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)((0, canonicalJson_1.canonicalJsonStringify)(withoutSig)));
|
|
167
|
+
}
|
|
168
|
+
// --------------------------------------------------------------------------
|
|
169
|
+
// Internals
|
|
170
|
+
// --------------------------------------------------------------------------
|
|
171
|
+
async signMessage(message, kernelAddress) {
|
|
172
|
+
const domain = {
|
|
173
|
+
name: 'AGIRAILS',
|
|
174
|
+
version: '1',
|
|
175
|
+
chainId: message.chainId,
|
|
176
|
+
verifyingContract: kernelAddress,
|
|
177
|
+
};
|
|
178
|
+
const justificationHash = this.computeJustificationHash(message.justification);
|
|
179
|
+
const signed = this.toSignedShape(message, justificationHash);
|
|
180
|
+
// Call as method (preserve `this` binding) — detaching the function ref
|
|
181
|
+
// breaks ethers' Wallet which reaches for `this.signingKey`.
|
|
182
|
+
const signerWithTypedData = this.signer;
|
|
183
|
+
if (typeof signerWithTypedData.signTypedData === 'function') {
|
|
184
|
+
return signerWithTypedData.signTypedData(domain, exports.AIP21CounterOfferTypes, signed);
|
|
185
|
+
}
|
|
186
|
+
throw new Error('Signer does not support EIP-712 typed data signing');
|
|
187
|
+
}
|
|
188
|
+
recoverSigner(message, kernelAddress) {
|
|
189
|
+
const domain = {
|
|
190
|
+
name: 'AGIRAILS',
|
|
191
|
+
version: '1',
|
|
192
|
+
chainId: message.chainId,
|
|
193
|
+
verifyingContract: kernelAddress,
|
|
194
|
+
};
|
|
195
|
+
const justificationHash = this.computeJustificationHash(message.justification);
|
|
196
|
+
const signed = this.toSignedShape(message, justificationHash);
|
|
197
|
+
try {
|
|
198
|
+
return (0, ethers_1.verifyTypedData)(domain, exports.AIP21CounterOfferTypes, signed, message.signature);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
throw new errors_1.SignatureVerificationError(message.consumer, 'unknown');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/** Build the exact object EIP-712 sees (justificationHash field, no inline justification). */
|
|
205
|
+
toSignedShape(message, justificationHash) {
|
|
206
|
+
return {
|
|
207
|
+
txId: message.txId,
|
|
208
|
+
consumer: message.consumer,
|
|
209
|
+
provider: message.provider,
|
|
210
|
+
quoteAmount: message.quoteAmount,
|
|
211
|
+
counterAmount: message.counterAmount,
|
|
212
|
+
maxPrice: message.maxPrice,
|
|
213
|
+
currency: message.currency,
|
|
214
|
+
decimals: message.decimals,
|
|
215
|
+
inReplyTo: message.inReplyTo,
|
|
216
|
+
counteredAt: message.counteredAt,
|
|
217
|
+
expiresAt: message.expiresAt,
|
|
218
|
+
justificationHash,
|
|
219
|
+
chainId: message.chainId,
|
|
220
|
+
nonce: message.nonce,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
computeJustificationHash(justification) {
|
|
224
|
+
if (!justification || Object.keys(justification).length === 0) {
|
|
225
|
+
return ZERO_HASH;
|
|
226
|
+
}
|
|
227
|
+
return (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)((0, canonicalJson_1.canonicalJsonStringify)(justification)));
|
|
228
|
+
}
|
|
229
|
+
extractAddressFromDID(did) {
|
|
230
|
+
const parts = did.replace('did:ethr:', '').split(':');
|
|
231
|
+
const address = parts.length === 2 ? parts[1] : parts[0];
|
|
232
|
+
if (!address.startsWith('0x') || address.length !== 42) {
|
|
233
|
+
throw new Error(`Invalid DID format: ${did}`);
|
|
234
|
+
}
|
|
235
|
+
return address;
|
|
236
|
+
}
|
|
237
|
+
validateParams(params) {
|
|
238
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(params.txId)) {
|
|
239
|
+
throw new Error('txId must be valid bytes32 hex string');
|
|
240
|
+
}
|
|
241
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(params.inReplyTo)) {
|
|
242
|
+
throw new Error('inReplyTo must be valid bytes32 hex string (the quote hash)');
|
|
243
|
+
}
|
|
244
|
+
if (!/^0x[a-fA-F0-9]{40}$/.test(params.kernelAddress)) {
|
|
245
|
+
throw new Error('kernelAddress must be valid Ethereum address');
|
|
246
|
+
}
|
|
247
|
+
if (!params.consumer.startsWith('did:ethr:')) {
|
|
248
|
+
throw new Error('consumer must be valid did:ethr format');
|
|
249
|
+
}
|
|
250
|
+
if (!params.provider.startsWith('did:ethr:')) {
|
|
251
|
+
throw new Error('provider must be valid did:ethr format');
|
|
252
|
+
}
|
|
253
|
+
if (!VALID_CHAIN_IDS.has(params.chainId)) {
|
|
254
|
+
throw new Error('chainId must be 84532 (Base Sepolia) or 8453 (Base Mainnet)');
|
|
255
|
+
}
|
|
256
|
+
let counter;
|
|
257
|
+
let quote;
|
|
258
|
+
let max;
|
|
259
|
+
try {
|
|
260
|
+
counter = BigInt(params.counterAmount);
|
|
261
|
+
quote = BigInt(params.quoteAmount);
|
|
262
|
+
max = BigInt(params.maxPrice);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
throw new Error('counterAmount, quoteAmount, maxPrice must be numeric strings');
|
|
266
|
+
}
|
|
267
|
+
if (counter < PLATFORM_MIN_BASE_UNITS) {
|
|
268
|
+
throw new Error('counterAmount below platform minimum ($0.05)');
|
|
269
|
+
}
|
|
270
|
+
if (counter >= quote) {
|
|
271
|
+
throw new Error('counterAmount must be strictly less than quoteAmount');
|
|
272
|
+
}
|
|
273
|
+
if (counter > max) {
|
|
274
|
+
throw new Error('counterAmount exceeds maxPrice');
|
|
275
|
+
}
|
|
276
|
+
if (params.expiresAt !== undefined) {
|
|
277
|
+
const now = Math.floor(Date.now() / 1000);
|
|
278
|
+
if (params.expiresAt <= now) {
|
|
279
|
+
throw new Error('expiresAt must be in the future');
|
|
280
|
+
}
|
|
281
|
+
if (params.expiresAt > now + MAX_TTL_SECONDS) {
|
|
282
|
+
throw new Error(`expiresAt cannot be more than ${MAX_TTL_SECONDS}s in the future`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
validateMessageSchema(message) {
|
|
287
|
+
if (message.type !== MESSAGE_TYPE) {
|
|
288
|
+
throw new Error(`Invalid message type (expected ${MESSAGE_TYPE}, got ${message.type})`);
|
|
289
|
+
}
|
|
290
|
+
if (!/^\d+\.\d+\.\d+$/.test(message.version)) {
|
|
291
|
+
throw new Error('Invalid version format');
|
|
292
|
+
}
|
|
293
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(message.txId)) {
|
|
294
|
+
throw new Error('Invalid txId format');
|
|
295
|
+
}
|
|
296
|
+
if (!/^0x[a-fA-F0-9]{64}$/.test(message.inReplyTo)) {
|
|
297
|
+
throw new Error('Invalid inReplyTo format');
|
|
298
|
+
}
|
|
299
|
+
if (!message.consumer.startsWith('did:ethr:')) {
|
|
300
|
+
throw new Error('Invalid consumer DID format');
|
|
301
|
+
}
|
|
302
|
+
if (!message.provider.startsWith('did:ethr:')) {
|
|
303
|
+
throw new Error('Invalid provider DID format');
|
|
304
|
+
}
|
|
305
|
+
if (!/^\d+$/.test(message.counterAmount)) {
|
|
306
|
+
throw new Error('Invalid counterAmount format');
|
|
307
|
+
}
|
|
308
|
+
if (!/^\d+$/.test(message.quoteAmount)) {
|
|
309
|
+
throw new Error('Invalid quoteAmount format');
|
|
310
|
+
}
|
|
311
|
+
if (!/^\d+$/.test(message.maxPrice)) {
|
|
312
|
+
throw new Error('Invalid maxPrice format');
|
|
313
|
+
}
|
|
314
|
+
if (message.currency !== 'USDC') {
|
|
315
|
+
throw new Error('Only USDC currency is supported');
|
|
316
|
+
}
|
|
317
|
+
if (message.decimals !== 6) {
|
|
318
|
+
throw new Error('USDC must use 6 decimals');
|
|
319
|
+
}
|
|
320
|
+
if (!VALID_CHAIN_IDS.has(message.chainId)) {
|
|
321
|
+
throw new Error('Invalid chainId');
|
|
322
|
+
}
|
|
323
|
+
if (!/^0x[a-fA-F0-9]{130}$/.test(message.signature)) {
|
|
324
|
+
throw new Error('Invalid signature format');
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
exports.CounterOfferBuilder = CounterOfferBuilder;
|
|
329
|
+
//# sourceMappingURL=CounterOfferBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CounterOfferBuilder.js","sourceRoot":"","sources":["../../src/builders/CounterOfferBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -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);
|
|
@@ -126,9 +135,14 @@ class QuoteBuilder {
|
|
|
126
135
|
if (quote.expiresAt < now) {
|
|
127
136
|
throw new Error('Quote expired');
|
|
128
137
|
}
|
|
129
|
-
// 5. Timestamp freshness
|
|
130
|
-
|
|
131
|
-
|
|
138
|
+
// 5. Timestamp freshness — one-sided: the signed `quotedAt` must not
|
|
139
|
+
// claim a time in the future beyond clock-skew tolerance. "Too old"
|
|
140
|
+
// is bounded by `expiresAt` (checked above); rejecting on past
|
|
141
|
+
// timestamps breaks any negotiation where the buyer takes longer
|
|
142
|
+
// than 5 min to inspect a 15-minute quote. AIP-2 §2.2.1 only
|
|
143
|
+
// specifies the future side ("Must be ≤ current time + 300s").
|
|
144
|
+
if (quote.quotedAt > now + 300) {
|
|
145
|
+
throw new Error('Quote timestamp is in the future beyond skew tolerance');
|
|
132
146
|
}
|
|
133
147
|
return true;
|
|
134
148
|
}
|
|
@@ -192,9 +206,11 @@ class QuoteBuilder {
|
|
|
192
206
|
chainId: quote.chainId,
|
|
193
207
|
nonce: quote.nonce
|
|
194
208
|
};
|
|
195
|
-
// Sign using ethers.js signTypedData (v6 API)
|
|
196
|
-
|
|
197
|
-
|
|
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);
|
|
198
214
|
return signature;
|
|
199
215
|
}
|
|
200
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/builders/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { DeliveryProofBuilder, DeliveryProofParams, AGIRAILS_DELIVERY_SCHEMA_UID } from './DeliveryProofBuilder';
|
|
6
6
|
export { QuoteBuilder, QuoteParams, QuoteMessage, AIP2QuoteTypes } from './QuoteBuilder';
|
|
7
|
+
export { CounterOfferBuilder, CounterOfferParams, CounterOfferMessage, AIP21CounterOfferTypes } from './CounterOfferBuilder';
|
|
8
|
+
export { CounterAcceptBuilder, CounterAcceptParams, CounterAcceptMessage, AIP21CounterAcceptTypes } from './CounterAcceptBuilder';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC"}
|
package/dist/builders/index.js
CHANGED
|
@@ -4,11 +4,17 @@
|
|
|
4
4
|
* High-level builder classes for constructing ACTP messages
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.AIP2QuoteTypes = exports.QuoteBuilder = exports.AGIRAILS_DELIVERY_SCHEMA_UID = exports.DeliveryProofBuilder = void 0;
|
|
7
|
+
exports.AIP21CounterAcceptTypes = exports.CounterAcceptBuilder = exports.AIP21CounterOfferTypes = exports.CounterOfferBuilder = exports.AIP2QuoteTypes = exports.QuoteBuilder = exports.AGIRAILS_DELIVERY_SCHEMA_UID = exports.DeliveryProofBuilder = void 0;
|
|
8
8
|
var DeliveryProofBuilder_1 = require("./DeliveryProofBuilder");
|
|
9
9
|
Object.defineProperty(exports, "DeliveryProofBuilder", { enumerable: true, get: function () { return DeliveryProofBuilder_1.DeliveryProofBuilder; } });
|
|
10
10
|
Object.defineProperty(exports, "AGIRAILS_DELIVERY_SCHEMA_UID", { enumerable: true, get: function () { return DeliveryProofBuilder_1.AGIRAILS_DELIVERY_SCHEMA_UID; } });
|
|
11
11
|
var QuoteBuilder_1 = require("./QuoteBuilder");
|
|
12
12
|
Object.defineProperty(exports, "QuoteBuilder", { enumerable: true, get: function () { return QuoteBuilder_1.QuoteBuilder; } });
|
|
13
13
|
Object.defineProperty(exports, "AIP2QuoteTypes", { enumerable: true, get: function () { return QuoteBuilder_1.AIP2QuoteTypes; } });
|
|
14
|
+
var CounterOfferBuilder_1 = require("./CounterOfferBuilder");
|
|
15
|
+
Object.defineProperty(exports, "CounterOfferBuilder", { enumerable: true, get: function () { return CounterOfferBuilder_1.CounterOfferBuilder; } });
|
|
16
|
+
Object.defineProperty(exports, "AIP21CounterOfferTypes", { enumerable: true, get: function () { return CounterOfferBuilder_1.AIP21CounterOfferTypes; } });
|
|
17
|
+
var CounterAcceptBuilder_1 = require("./CounterAcceptBuilder");
|
|
18
|
+
Object.defineProperty(exports, "CounterAcceptBuilder", { enumerable: true, get: function () { return CounterAcceptBuilder_1.CounterAcceptBuilder; } });
|
|
19
|
+
Object.defineProperty(exports, "AIP21CounterAcceptTypes", { enumerable: true, get: function () { return CounterAcceptBuilder_1.AIP21CounterAcceptTypes; } });
|
|
14
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAIgC;AAH9B,4HAAA,oBAAoB,OAAA;AAEpB,oIAAA,4BAA4B,OAAA;AAG9B,+CAKwB;AAJtB,4GAAA,YAAY,OAAA;AAGZ,8GAAA,cAAc,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAIgC;AAH9B,4HAAA,oBAAoB,OAAA;AAEpB,oIAAA,4BAA4B,OAAA;AAG9B,+CAKwB;AAJtB,4GAAA,YAAY,OAAA;AAGZ,8GAAA,cAAc,OAAA;AAGhB,6DAK+B;AAJ7B,0HAAA,mBAAmB,OAAA;AAGnB,6HAAA,sBAAsB,OAAA;AAGxB,+DAKgC;AAJ9B,4HAAA,oBAAoB,OAAA;AAGpB,+HAAA,uBAAuB,OAAA"}
|
package/dist/cli/agirails.js
CHANGED
|
@@ -112,17 +112,37 @@ async function main() {
|
|
|
112
112
|
output.error(`Invalid agent name: ${slugError}`);
|
|
113
113
|
process.exit(output_1.ExitCode.INVALID_INPUT);
|
|
114
114
|
}
|
|
115
|
-
// Build frontmatter
|
|
115
|
+
// Build frontmatter.
|
|
116
|
+
//
|
|
117
|
+
// Services emit as objects { type, price, min_price, max_price } —
|
|
118
|
+
// not plain strings — because the SDK publish pipeline
|
|
119
|
+
// (`extractRegistrationParams`) reads `svc.type` and `svc.min_price`/
|
|
120
|
+
// `svc.max_price` to populate per-service on-chain price bands on
|
|
121
|
+
// AgentRegistry. Plain strings throw "Empty service type" at publish.
|
|
122
|
+
// Default band is 1% around base price to avoid the 0..1000 USDC
|
|
123
|
+
// fallback when min/max are absent.
|
|
124
|
+
const minPrice = Math.max(0.01, price * 0.99);
|
|
125
|
+
const maxPrice = price * 1.01;
|
|
116
126
|
const frontmatter = {
|
|
117
127
|
name: name.trim(),
|
|
118
128
|
slug,
|
|
119
129
|
version: '1.0.0',
|
|
120
130
|
network: defaults_1.V4_DEFAULTS.network,
|
|
121
|
-
services: [
|
|
131
|
+
services: [
|
|
132
|
+
{
|
|
133
|
+
type: service,
|
|
134
|
+
price: String(price),
|
|
135
|
+
min_price: minPrice,
|
|
136
|
+
max_price: maxPrice,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
122
139
|
pricing: {
|
|
123
140
|
base: price,
|
|
124
141
|
currency: defaults_1.V4_DEFAULTS.pricing.currency,
|
|
125
142
|
unit: defaults_1.V4_DEFAULTS.pricing.unit,
|
|
143
|
+
min_price: minPrice,
|
|
144
|
+
max_price: maxPrice,
|
|
145
|
+
negotiable: false,
|
|
126
146
|
},
|
|
127
147
|
sla: { ...defaults_1.V4_DEFAULTS.sla },
|
|
128
148
|
payment: { modes: [...defaults_1.V4_DEFAULTS.payment.modes] },
|
package/dist/cli/agirails.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agirails.js","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agirails.js","sourceRoot":"","sources":["../../src/cli/agirails.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,mDAAqC;AACrC,mCAAgC;AAChC,2CAAuD;AACvD,2CAA+G;AAC/G,2CAAgD;AAChD,mDAAmD;AACnD,0CAA0C;AAC1C,mDAAmD;AACnD,qDAA2D;AAC3D,iDAAiE;AACjE,yCAAoC;AACpC,0CAAoD;AAEpD,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,SAAS,GAAG,CAAC,EAAsB,EAAE,QAAgB;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,YAAY,GAAG,yBAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhG,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,IAAA,4BAAmB,GAAE,CAAC;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,YAAG,CAAC,GAAG,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,YAAG,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,wBAAwB;QACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,YAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kCAAkC,GAAG,YAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;YAED,mBAAmB;YACnB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,YAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,YAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,GAAG,YAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC7G,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,yBAAc,CAAC,cAAc,CAAC,MAAM,CAAC;gBACrF,CAAC,CAAC,yBAAc,CAAC,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC;YAEnF,iBAAiB;YACjB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,YAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,GAAG,YAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC1G,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;YAE7C,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,6BAA6B;YAC7B,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;YAED,qBAAqB;YACrB,EAAE;YACF,mEAAmE;YACnE,uDAAuD;YACvD,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,iEAAiE;YACjE,oCAAoC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;YAC9B,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,IAAI;gBACJ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,sBAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;wBACpB,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,QAAQ;qBACpB;iBACF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,sBAAW,CAAC,OAAO,CAAC,QAAQ;oBACtC,IAAI,EAAE,sBAAW,CAAC,OAAO,CAAC,IAAI;oBAC9B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,KAAK;iBAClB;gBACD,GAAG,EAAE,EAAE,GAAG,sBAAW,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;aACnD,CAAC;YAEF,aAAa;YACb,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,qIAAqI,CAAC;YAErK,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,yCAAyC,CAAC,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,OAAO,GAAG,IAAA,gCAAmB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,WAAW,YAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEhD,gDAAgD;YAChD,IAAI,CAAC,IAAA,sBAAa,GAAE,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,eAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;gBAC3D,IAAA,mBAAU,EAAC;oBACT,GAAG,wBAAe;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBACH,IAAA,uBAAc,GAAE,CAAC;gBACjB,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,CAAC,IAAA,4BAAmB,GAAE,EAAE,CAAC;gBAClC,yDAAyD;gBACzD,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YACpE,CAAC;YAED,wBAAwB;YACxB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC;YAEtB,aAAa;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,IAAI,YAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;KAAM,CAAC;IACN,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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;AAapC,wBAAgB,kBAAkB,IAAI,OAAO,CAwB5C"}
|