@agirails/sdk 3.2.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +12 -14
- package/dist/ACTPClient.d.ts +8 -11
- package/dist/ACTPClient.d.ts.map +1 -1
- package/dist/ACTPClient.js +79 -20
- package/dist/ACTPClient.js.map +1 -1
- package/dist/__tests__/helpers/mockX402Server.d.ts +67 -0
- package/dist/__tests__/helpers/mockX402Server.d.ts.map +1 -0
- package/dist/__tests__/helpers/mockX402Server.js +121 -0
- package/dist/__tests__/helpers/mockX402Server.js.map +1 -0
- package/dist/adapters/BaseAdapter.d.ts +7 -1
- package/dist/adapters/BaseAdapter.d.ts.map +1 -1
- package/dist/adapters/BaseAdapter.js +11 -6
- package/dist/adapters/BaseAdapter.js.map +1 -1
- package/dist/adapters/BasicAdapter.d.ts.map +1 -1
- package/dist/adapters/BasicAdapter.js +12 -2
- package/dist/adapters/BasicAdapter.js.map +1 -1
- package/dist/adapters/StandardAdapter.d.ts.map +1 -1
- package/dist/adapters/StandardAdapter.js +12 -2
- package/dist/adapters/StandardAdapter.js.map +1 -1
- package/dist/adapters/X402Adapter.d.ts +161 -199
- package/dist/adapters/X402Adapter.d.ts.map +1 -1
- package/dist/adapters/X402Adapter.js +603 -414
- package/dist/adapters/X402Adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js.map +1 -1
- 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/DeliveryProofBuilder.d.ts.map +1 -1
- package/dist/builders/DeliveryProofBuilder.js +3 -2
- package/dist/builders/DeliveryProofBuilder.js.map +1 -1
- package/dist/builders/QuoteBuilder.d.ts.map +1 -1
- package/dist/builders/QuoteBuilder.js +8 -3
- 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 +34 -6
- package/dist/cli/agirails.js.map +1 -1
- package/dist/cli/commands/autopublish.js +9 -1
- package/dist/cli/commands/autopublish.js.map +1 -1
- package/dist/cli/commands/config.js +1 -12
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/deploy-env.js +1 -1
- package/dist/cli/commands/deploy-env.js.map +1 -1
- package/dist/cli/commands/diff.js +38 -4
- package/dist/cli/commands/diff.js.map +1 -1
- package/dist/cli/commands/health.js +24 -6
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +100 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pay.d.ts.map +1 -1
- package/dist/cli/commands/pay.js +23 -0
- package/dist/cli/commands/pay.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 +266 -83
- package/dist/cli/commands/publish.js.map +1 -1
- package/dist/cli/commands/pull.js +3 -1
- package/dist/cli/commands/pull.js.map +1 -1
- package/dist/cli/commands/receipt.d.ts +17 -3
- package/dist/cli/commands/receipt.d.ts.map +1 -1
- package/dist/cli/commands/receipt.js +95 -33
- package/dist/cli/commands/receipt.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.d.ts.map +1 -1
- package/dist/cli/commands/test.js +222 -60
- 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 +9 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/receiptUpload.d.ts +52 -0
- package/dist/cli/receiptUpload.d.ts.map +1 -0
- package/dist/cli/receiptUpload.js +134 -0
- package/dist/cli/receiptUpload.js.map +1 -0
- package/dist/cli/utils/banner.d.ts +31 -0
- package/dist/cli/utils/banner.d.ts.map +1 -0
- package/dist/cli/utils/banner.js +92 -0
- package/dist/cli/utils/banner.js.map +1 -0
- package/dist/cli/utils/config.d.ts +0 -2
- package/dist/cli/utils/config.d.ts.map +1 -1
- package/dist/cli/utils/config.js +40 -25
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/cli/utils/output.d.ts +2 -0
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +7 -1
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/cli/utils/share.d.ts +51 -0
- package/dist/cli/utils/share.d.ts.map +1 -0
- package/dist/cli/utils/share.js +133 -0
- package/dist/cli/utils/share.js.map +1 -0
- package/dist/config/agirailsmd.d.ts.map +1 -1
- package/dist/config/agirailsmd.js +2 -1
- package/dist/config/agirailsmd.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 +12 -2
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +19 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/networks.d.ts +7 -0
- package/dist/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +20 -11
- package/dist/config/networks.js.map +1 -1
- package/dist/config/pendingPublish.d.ts.map +1 -1
- package/dist/config/pendingPublish.js +10 -3
- package/dist/config/pendingPublish.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/config/syncOperations.d.ts.map +1 -1
- package/dist/config/syncOperations.js +4 -2
- package/dist/config/syncOperations.js.map +1 -1
- package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -1
- package/dist/erc8004/ERC8004Bridge.js +0 -1
- package/dist/erc8004/ERC8004Bridge.js.map +1 -1
- package/dist/errors/ACTPError.d.ts +24 -0
- package/dist/errors/ACTPError.d.ts.map +1 -0
- package/dist/errors/ACTPError.js +35 -0
- package/dist/errors/ACTPError.js.map +1 -0
- package/dist/errors/X402Errors.d.ts +106 -0
- package/dist/errors/X402Errors.d.ts.map +1 -0
- package/dist/errors/X402Errors.js +160 -0
- package/dist/errors/X402Errors.js.map +1 -0
- package/dist/errors/index.d.ts +3 -9
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +38 -33
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +22 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -3
- package/dist/index.js.map +1 -1
- package/dist/level0/Provider.d.ts +5 -0
- package/dist/level0/Provider.d.ts.map +1 -1
- package/dist/level0/ServiceDirectory.d.ts.map +1 -1
- package/dist/level0/ServiceDirectory.js +3 -2
- package/dist/level0/ServiceDirectory.js.map +1 -1
- package/dist/level0/provide.d.ts.map +1 -1
- package/dist/level0/provide.js +11 -8
- package/dist/level0/provide.js.map +1 -1
- package/dist/level0/request.d.ts.map +1 -1
- package/dist/level0/request.js +14 -6
- package/dist/level0/request.js.map +1 -1
- package/dist/level1/Agent.d.ts +28 -1
- package/dist/level1/Agent.d.ts.map +1 -1
- package/dist/level1/Agent.js +89 -12
- package/dist/level1/Agent.js.map +1 -1
- package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -1
- package/dist/level1/pricing/PriceCalculator.js +4 -12
- package/dist/level1/pricing/PriceCalculator.js.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts +103 -1
- package/dist/negotiation/BuyerOrchestrator.d.ts.map +1 -1
- package/dist/negotiation/BuyerOrchestrator.js +499 -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/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 +108 -0
- package/dist/negotiation/ProviderOrchestrator.d.ts.map +1 -0
- package/dist/negotiation/ProviderOrchestrator.js +136 -0
- package/dist/negotiation/ProviderOrchestrator.js.map +1 -0
- package/dist/negotiation/ProviderPolicy.d.ts +143 -0
- package/dist/negotiation/ProviderPolicy.d.ts.map +1 -0
- package/dist/negotiation/ProviderPolicy.js +207 -0
- package/dist/negotiation/ProviderPolicy.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 +4 -1
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +2 -1
- package/dist/protocol/ACTPKernel.js.map +1 -1
- package/dist/protocol/EventMonitor.d.ts +27 -1
- package/dist/protocol/EventMonitor.d.ts.map +1 -1
- package/dist/protocol/EventMonitor.js +11 -9
- package/dist/protocol/EventMonitor.js.map +1 -1
- package/dist/protocol/ProofGenerator.d.ts.map +1 -1
- package/dist/protocol/ProofGenerator.js +3 -2
- package/dist/protocol/ProofGenerator.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts +15 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +42 -6
- 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 +14 -2
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +55 -22
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +14 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/server/buildX402Server.d.ts +131 -0
- package/dist/server/buildX402Server.d.ts.map +1 -0
- package/dist/server/buildX402Server.js +151 -0
- package/dist/server/buildX402Server.js.map +1 -0
- package/dist/server/index.d.ts +33 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +36 -0
- package/dist/server/index.js.map +1 -0
- 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 +64 -34
- package/dist/types/adapter.d.ts.map +1 -1
- package/dist/types/adapter.js +6 -1
- package/dist/types/adapter.js.map +1 -1
- package/dist/types/eip712.d.ts +20 -0
- package/dist/types/eip712.d.ts.map +1 -1
- package/dist/types/x402.d.ts +8 -8
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +4 -6
- package/dist/utils/security.js.map +1 -1
- package/dist/wallet/AutoWalletProvider.d.ts +45 -1
- package/dist/wallet/AutoWalletProvider.d.ts.map +1 -1
- package/dist/wallet/AutoWalletProvider.js +154 -1
- package/dist/wallet/AutoWalletProvider.js.map +1 -1
- package/dist/wallet/EOAWalletProvider.d.ts +13 -1
- package/dist/wallet/EOAWalletProvider.d.ts.map +1 -1
- package/dist/wallet/EOAWalletProvider.js +24 -0
- package/dist/wallet/EOAWalletProvider.js.map +1 -1
- package/dist/wallet/IWalletProvider.d.ts +34 -0
- package/dist/wallet/IWalletProvider.d.ts.map +1 -1
- package/dist/wallet/SmartWalletRouter.d.ts.map +1 -1
- package/dist/wallet/SmartWalletRouter.js +3 -1
- package/dist/wallet/SmartWalletRouter.js.map +1 -1
- package/dist/wallet/aa/BundlerClient.js +8 -4
- package/dist/wallet/aa/BundlerClient.js.map +1 -1
- package/dist/wallet/aa/DualNonceManager.d.ts +4 -1
- package/dist/wallet/aa/DualNonceManager.d.ts.map +1 -1
- package/dist/wallet/aa/DualNonceManager.js +3 -0
- package/dist/wallet/aa/DualNonceManager.js.map +1 -1
- package/dist/wallet/keystore.d.ts.map +1 -1
- package/dist/wallet/keystore.js +6 -4
- package/dist/wallet/keystore.js.map +1 -1
- package/package.json +31 -3
- package/dist/adapters/BeginnerAdapter.d.ts +0 -152
- package/dist/adapters/BeginnerAdapter.d.ts.map +0 -1
- package/dist/adapters/BeginnerAdapter.js +0 -168
- package/dist/adapters/BeginnerAdapter.js.map +0 -1
- package/dist/adapters/IntermediateAdapter.d.ts +0 -211
- package/dist/adapters/IntermediateAdapter.d.ts.map +0 -1
- package/dist/adapters/IntermediateAdapter.js +0 -260
- package/dist/adapters/IntermediateAdapter.js.map +0 -1
|
@@ -49,19 +49,40 @@ function buildV4Config(fm, body) {
|
|
|
49
49
|
}
|
|
50
50
|
// Slug: from YAML or generated from name
|
|
51
51
|
const slug = getString(fm, 'slug') || (0, slugUtils_1.generateSlug)(name);
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
// Intent — earn (default), pay, or both. Drives whether services are
|
|
53
|
+
// required and whether the agent registers as a provider on-chain.
|
|
54
|
+
const intentRaw = (getString(fm, 'intent') || defaults_1.V4_DEFAULTS.intent).toLowerCase();
|
|
55
|
+
const intent = defaults_1.V4_CONSTRAINTS.VALID_INTENTS.includes(intentRaw)
|
|
56
|
+
? intentRaw
|
|
57
|
+
: defaults_1.V4_DEFAULTS.intent;
|
|
58
|
+
// Services — accept both legacy ["code-review", ...] (plain strings)
|
|
59
|
+
// and canonical [{type, price, min_price, max_price}, ...] (objects).
|
|
60
|
+
// Lift everything to AgirailsMdV4ServiceEntry so downstream code has
|
|
61
|
+
// one shape to reason about. Pay-only agents may have no services.
|
|
62
|
+
const services = parseServices(fm);
|
|
63
|
+
if (services.length === 0 && intent !== 'pay') {
|
|
57
64
|
throw new Error('Missing required field: services (must be a non-empty array)');
|
|
58
65
|
}
|
|
59
|
-
//
|
|
66
|
+
// Services this agent wants to BUY. Required when intent is pay/both.
|
|
67
|
+
// Spec field: `servicesNeeded` (also accept `services_needed`).
|
|
68
|
+
let servicesNeeded = getStringArray(fm, 'servicesNeeded');
|
|
69
|
+
if (servicesNeeded.length === 0)
|
|
70
|
+
servicesNeeded = getStringArray(fm, 'services_needed');
|
|
71
|
+
if (intent !== 'earn' && servicesNeeded.length === 0) {
|
|
72
|
+
throw new Error(`Missing required field: servicesNeeded (intent: ${intent} requires at least one capability to buy)`);
|
|
73
|
+
}
|
|
74
|
+
// Default budget per request — top-level, only meaningful for pay/both.
|
|
75
|
+
const budget = getNumber(fm, 'budget');
|
|
76
|
+
// Pricing — required for earn/both (you set your selling price); for
|
|
77
|
+
// pay-only the file may legitimately omit pricing.base, in which case
|
|
78
|
+
// we fall back to the budget so downstream consumers always have a
|
|
79
|
+
// numeric anchor (UI cards, fee math, etc.).
|
|
60
80
|
const pricingRaw = getObject(fm, 'pricing');
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
81
|
+
const baseRaw = getNumber(pricingRaw, 'base');
|
|
82
|
+
if (baseRaw === undefined && intent !== 'pay') {
|
|
63
83
|
throw new Error('Missing required field: pricing.base');
|
|
64
84
|
}
|
|
85
|
+
const base = baseRaw ?? budget ?? 0;
|
|
65
86
|
const pricing = {
|
|
66
87
|
base,
|
|
67
88
|
currency: 'USDC',
|
|
@@ -104,7 +125,10 @@ function buildV4Config(fm, body) {
|
|
|
104
125
|
return {
|
|
105
126
|
name,
|
|
106
127
|
slug,
|
|
128
|
+
intent,
|
|
107
129
|
services,
|
|
130
|
+
servicesNeeded,
|
|
131
|
+
budget,
|
|
108
132
|
pricing,
|
|
109
133
|
network,
|
|
110
134
|
sla,
|
|
@@ -128,6 +152,39 @@ function buildV4Config(fm, body) {
|
|
|
128
152
|
* - `howToRequest` = from that heading to next ## or EOF
|
|
129
153
|
* - If heading missing, entire body = description
|
|
130
154
|
*/
|
|
155
|
+
/**
|
|
156
|
+
* Parse `services` (or fall back to legacy `capabilities`) into a uniform
|
|
157
|
+
* AgirailsMdV4ServiceEntry[] regardless of whether the YAML used the
|
|
158
|
+
* legacy plain-string form or the canonical object form.
|
|
159
|
+
*/
|
|
160
|
+
function parseServices(fm) {
|
|
161
|
+
const raw = (Array.isArray(fm.services) && fm.services.length > 0)
|
|
162
|
+
? fm.services
|
|
163
|
+
: (Array.isArray(fm.capabilities) ? fm.capabilities : []);
|
|
164
|
+
return raw.flatMap((entry) => {
|
|
165
|
+
if (typeof entry === 'string') {
|
|
166
|
+
const type = entry.trim();
|
|
167
|
+
return type ? [{ type }] : [];
|
|
168
|
+
}
|
|
169
|
+
if (entry && typeof entry === 'object') {
|
|
170
|
+
const obj = entry;
|
|
171
|
+
const type = String(obj.type ?? obj.service_type ?? '').trim();
|
|
172
|
+
if (!type)
|
|
173
|
+
return [];
|
|
174
|
+
const out = { type };
|
|
175
|
+
if (obj.price !== undefined)
|
|
176
|
+
out.price = String(obj.price);
|
|
177
|
+
if (obj.min_price !== undefined && Number.isFinite(Number(obj.min_price))) {
|
|
178
|
+
out.min_price = Number(obj.min_price);
|
|
179
|
+
}
|
|
180
|
+
if (obj.max_price !== undefined && Number.isFinite(Number(obj.max_price))) {
|
|
181
|
+
out.max_price = Number(obj.max_price);
|
|
182
|
+
}
|
|
183
|
+
return [out];
|
|
184
|
+
}
|
|
185
|
+
return [];
|
|
186
|
+
});
|
|
187
|
+
}
|
|
131
188
|
function parseBody(body) {
|
|
132
189
|
const heading = defaults_1.V4_CONSTRAINTS.HOW_TO_REQUEST_HEADING;
|
|
133
190
|
const idx = body.indexOf(heading);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agirailsmdV4.js","sourceRoot":"","sources":["../../src/config/agirailsmdV4.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6CAA+C;AAC/C,yCAAyD;AACzD,2CAAyD;
|
|
1
|
+
{"version":3,"file":"agirailsmdV4.js","sourceRoot":"","sources":["../../src/config/agirailsmdV4.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6CAA+C;AAC/C,yCAAyD;AACzD,2CAAyD;AAyGzD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAHD,8CAGC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,EAA2B,EAC3B,IAAY;IAEZ,iBAAiB;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,yCAAyC;IACzC,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;IAEzD,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,sBAAW,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAChF,MAAM,MAAM,GAAwB,yBAAc,CAAC,aAAmC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxG,CAAC,CAAE,SAAgC;QACnC,CAAC,CAAC,sBAAW,CAAC,MAAM,CAAC;IAEvB,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,sEAAsE;IACtE,gEAAgE;IAChE,IAAI,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,cAAc,GAAG,cAAc,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACxF,IAAI,MAAM,KAAK,MAAM,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,mDAAmD,MAAM,2CAA2C,CACrG,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEvC,qEAAqE;IACrE,sEAAsE;IACtE,mEAAmE;IACnE,6CAA6C;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,IAAI,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAwB;QACnC,IAAI;QACJ,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,sBAAW,CAAC,OAAO,CAAC,IAAI;QAC/D,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,sBAAW,CAAC,OAAO,CAAC,UAAU;QAClF,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI;QACrD,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI;KACtD,CAAC;IAEF,UAAU;IACV,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,sBAAW,CAAC,OAAO,CAAC;IACnE,MAAM,OAAO,GAAG,yBAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,UAA4C,CAAC;QAClG,CAAC,CAAE,UAA6C;QAChD,CAAC,CAAC,sBAAW,CAAC,OAAO,CAAC;IAExB,MAAM;IACN,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAoB;QAC3B,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,sBAAW,CAAC,GAAG,CAAC,QAAQ;QACnE,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,sBAAW,CAAC,GAAG,CAAC,QAAQ;QACnE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,sBAAW,CAAC,GAAG,CAAC,WAAW;QAC5E,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,sBAAW,CAAC,GAAG,CAAC,cAAc;KACtF,CAAC;IAEF,WAAW;IACX,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAyB;QACrC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC;QAChD,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC;KACjD,CAAC;IAEF,UAAU;IACV,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAErF,sBAAsB;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IAExD,+BAA+B;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IACxD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC;IAE9C,4CAA4C;IAC5C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,cAAc;QACd,MAAM;QACN,OAAO;QACP,OAAO;QACP,GAAG;QACH,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;;;GAMG;AACH;;;;GAIG;AACH,SAAS,aAAa,CAAC,EAA2B;IAChD,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC,QAAQ;QACb,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5D,OAAQ,GAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAA8B,EAAE;QACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,MAAM,GAAG,GAA6B,EAAE,IAAI,EAAE,CAAC;YAC/C,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,OAAO,GAAG,yBAAc,CAAC,sBAAsB,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtD,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,gBAAgB;QACnC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;QACtD,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAExB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,MAA0B;IAC7D,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,kBAAkB;IAClB,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,0BAA0B;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,yBAAc,CAAC,SAAS,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,qBAAqB,yBAAc,CAAC,SAAS,OAAO;YAC7D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,gCAAgC;gBACzC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,gCAAgC;YACzC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,mDAAmD;YAC5D,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,sDAAsD;YAC/D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;QAClD,MAAM;KACP,CAAC;AACJ,CAAC;AAlED,oDAkEC;AAED,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E,SAAS,SAAS,CAAC,GAAwC,EAAE,GAAW;IACtE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,GAAwC,EAAE,GAAW;IACtE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,UAAU,CAAC,GAAwC,EAAE,GAAW;IACvE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,GAAwC,EAAE,GAAW;IAC3E,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,OAAQ,GAAG,CAAC,GAAG,CAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,CAAC,MAAM,CAAE,IAAgC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,GAAwC,EAAE,GAAW;IACtE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACzE,OAAO,GAAG,CAAC,GAAG,CAA4B,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,GAAwC,EAAE,GAAW;IAC5E,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* @module config/defaults
|
|
8
8
|
*/
|
|
9
9
|
export declare const V4_DEFAULTS: {
|
|
10
|
+
/**
|
|
11
|
+
* What this agent does on the network:
|
|
12
|
+
* earn — provides services and gets paid (default)
|
|
13
|
+
* pay — only requests services from other agents (no on-chain provider role)
|
|
14
|
+
* both — provides AND requests
|
|
15
|
+
* Spec: AGIRAILS.md > Step 4 > intent.
|
|
16
|
+
*/
|
|
17
|
+
readonly intent: "earn";
|
|
10
18
|
readonly pricing: {
|
|
11
19
|
readonly currency: "USDC";
|
|
12
20
|
readonly unit: "job";
|
|
@@ -36,12 +44,14 @@ export declare const V4_CONSTRAINTS: {
|
|
|
36
44
|
readonly VALID_NETWORKS: readonly ["mock", "testnet", "mainnet"];
|
|
37
45
|
/** Valid payment modes */
|
|
38
46
|
readonly VALID_PAYMENT_MODES: readonly ["actp", "x402"];
|
|
47
|
+
/** Valid intent values */
|
|
48
|
+
readonly VALID_INTENTS: readonly ["earn", "pay", "both"];
|
|
39
49
|
/** Heading that splits description from howToRequest */
|
|
40
50
|
readonly HOW_TO_REQUEST_HEADING: "## How to Request This Service";
|
|
41
51
|
};
|
|
42
52
|
/**
|
|
43
|
-
* Compute display fee for receipt rendering.
|
|
44
|
-
*
|
|
53
|
+
* Compute display fee for receipt rendering. Also used by the share-flow
|
|
54
|
+
* upload payload (test command) so the printed and uploaded numbers match.
|
|
45
55
|
*
|
|
46
56
|
* @param amountWei - Transaction amount in USDC wei (6 decimals)
|
|
47
57
|
* @returns Fee in USDC wei
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,eAAO,MAAM,WAAW;IACtB;;;;;;OAMG;;;;;;;;;;;;;;;;;CAiBK,CAAC;AAMX,eAAO,MAAM,cAAc;IACzB,4BAA4B;;IAE5B,0BAA0B;;IAE1B,iCAAiC;;IAEjC,kDAAkD;;IAUlD,2BAA2B;;IAE3B,0BAA0B;;IAE1B,0BAA0B;;IAE1B,wDAAwD;;CAEhD,CAAC;AAgBX;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG3D"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -13,6 +13,14 @@ exports.computeDisplayFee = exports.V4_CONSTRAINTS = exports.V4_DEFAULTS = void
|
|
|
13
13
|
// Default Values
|
|
14
14
|
// ============================================================================
|
|
15
15
|
exports.V4_DEFAULTS = {
|
|
16
|
+
/**
|
|
17
|
+
* What this agent does on the network:
|
|
18
|
+
* earn — provides services and gets paid (default)
|
|
19
|
+
* pay — only requests services from other agents (no on-chain provider role)
|
|
20
|
+
* both — provides AND requests
|
|
21
|
+
* Spec: AGIRAILS.md > Step 4 > intent.
|
|
22
|
+
*/
|
|
23
|
+
intent: 'earn',
|
|
16
24
|
pricing: {
|
|
17
25
|
currency: 'USDC',
|
|
18
26
|
unit: 'job',
|
|
@@ -53,18 +61,26 @@ exports.V4_CONSTRAINTS = {
|
|
|
53
61
|
VALID_NETWORKS: ['mock', 'testnet', 'mainnet'],
|
|
54
62
|
/** Valid payment modes */
|
|
55
63
|
VALID_PAYMENT_MODES: ['actp', 'x402'],
|
|
64
|
+
/** Valid intent values */
|
|
65
|
+
VALID_INTENTS: ['earn', 'pay', 'both'],
|
|
56
66
|
/** Heading that splits description from howToRequest */
|
|
57
67
|
HOW_TO_REQUEST_HEADING: '## How to Request This Service',
|
|
58
68
|
};
|
|
59
69
|
// ============================================================================
|
|
60
70
|
// Display Fee Calculation (cosmetic only — MockRuntime pays full amount)
|
|
71
|
+
//
|
|
72
|
+
// Protocol contract: fee = max(amount * 1% , $0.05).
|
|
73
|
+
// **Must stay in sync** with:
|
|
74
|
+
// - web canonical: agirails.app/web/lib/receipts/fees.ts
|
|
75
|
+
// - public spec: agirails.app/web/public/protocol/AGIRAILS.md
|
|
76
|
+
// The web repo's `tests/unit/receipts-fees.test.ts` is a parity lock — it
|
|
77
|
+
// will fail loudly if either side drifts.
|
|
61
78
|
// ============================================================================
|
|
62
|
-
/** Platform fee: 1% with $0.05 minimum (in USDC wei, 6 decimals) */
|
|
63
79
|
const MIN_FEE_WEI = 50000n; // $0.05
|
|
64
80
|
const FEE_BPS = 100n; // 1%
|
|
65
81
|
/**
|
|
66
|
-
* Compute display fee for receipt rendering.
|
|
67
|
-
*
|
|
82
|
+
* Compute display fee for receipt rendering. Also used by the share-flow
|
|
83
|
+
* upload payload (test command) so the printed and uploaded numbers match.
|
|
68
84
|
*
|
|
69
85
|
* @param amountWei - Transaction amount in USDC wei (6 decimals)
|
|
70
86
|
* @returns Fee in USDC wei
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAElE,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAe;QACzB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE,MAAe;IACxB,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,KAAK;KACtB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,MAAM,CAAC;KAChB;CACO,CAAC;AAEX,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAElE,QAAA,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,IAAI;IACf,0BAA0B;IAC1B,eAAe,EAAE,EAAE;IACnB,iCAAiC;IACjC,YAAY,EAAE,yCAAyC;IACvD,kDAAkD;IAClD,cAAc,EAAE;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,YAAY;KACJ;IACV,2BAA2B;IAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAU;IACvD,0BAA0B;IAC1B,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAU;IAC9C,wDAAwD;IACxD,sBAAsB,EAAE,gCAAgC;CAChD,CAAC;AAEX,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAE/E,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAElE,QAAA,WAAW,GAAG;IACzB;;;;;;OAMG;IACH,MAAM,EAAE,MAAe;IACvB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAe;QACzB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE,MAAe;IACxB,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,KAAK;KACtB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,MAAM,CAAC;KAChB;CACO,CAAC;AAEX,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAElE,QAAA,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,IAAI;IACf,0BAA0B;IAC1B,eAAe,EAAE,EAAE;IACnB,iCAAiC;IACjC,YAAY,EAAE,yCAAyC;IACvD,kDAAkD;IAClD,cAAc,EAAE;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,YAAY;KACJ;IACV,2BAA2B;IAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAU;IACvD,0BAA0B;IAC1B,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAU;IAC9C,0BAA0B;IAC1B,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU;IAC/C,wDAAwD;IACxD,sBAAsB,EAAE,gCAAgC;CAChD,CAAC;AAEX,+EAA+E;AAC/E,yEAAyE;AACzE,EAAE;AACF,qDAAqD;AACrD,8BAA8B;AAC9B,2DAA2D;AAC3D,kEAAkE;AAClE,0EAA0E;AAC1E,0CAA0C;AAC1C,+EAA+E;AAE/E,MAAM,WAAW,GAAG,MAAO,CAAC,CAAC,QAAQ;AACrC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAQ,KAAK;AAElC;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,SAAiB;IACjD,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,MAAO,CAAC;IACnD,OAAO,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7D,CAAC;AAHD,8CAGC"}
|
|
@@ -15,6 +15,13 @@ export interface NetworkConfig {
|
|
|
15
15
|
agentRegistry?: string;
|
|
16
16
|
identityRegistry?: string;
|
|
17
17
|
archiveTreasury?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated Legacy fee-splitting relay from the pre-v2 x402 flow.
|
|
20
|
+
* The current X402Adapter routes payments directly buyer→seller via
|
|
21
|
+
* @x402/fetch + facilitator (EIP-3009 / Permit2); this address is
|
|
22
|
+
* retained only for third parties still calling the relay directly.
|
|
23
|
+
* Scheduled for removal in the next breaking SDK major.
|
|
24
|
+
*/
|
|
18
25
|
x402Relay?: string;
|
|
19
26
|
erc8004IdentityRegistry?: string;
|
|
20
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;;;;;WAMG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,GAAG,EAAE;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,EAAE,CAAC,EAAE;QACH,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,0CAA0C;QAC1C,kBAAkB,EAAE,MAAM,CAAC;QAC3B,uBAAuB;QACvB,WAAW,EAAE;YACX,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,oCAAoC;QACpC,aAAa,EAAE;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aAwC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aAyC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAGlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAgDzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA0BjE"}
|
package/dist/config/networks.js
CHANGED
|
@@ -15,9 +15,16 @@ const ethers_1 = require("ethers");
|
|
|
15
15
|
// ============================================================================
|
|
16
16
|
const BASE_SEPOLIA_RPC_URL = process.env.BASE_SEPOLIA_RPC || 'https://sepolia.base.org';
|
|
17
17
|
const BASE_MAINNET_RPC_URL = process.env.BASE_MAINNET_RPC || 'https://mainnet.base.org';
|
|
18
|
-
// Shared AA keys for out-of-the-box UX
|
|
19
|
-
//
|
|
20
|
-
//
|
|
18
|
+
// Shared AA keys for out-of-the-box UX. These are PUBLIC keys — equivalent
|
|
19
|
+
// to Firebase web apiKey or a Stripe publishable key. The actual security
|
|
20
|
+
// boundary is enforced server-side by paymaster policies on the provider
|
|
21
|
+
// dashboards: gas sponsorship is restricted to AgentRegistry + X402Relay
|
|
22
|
+
// contract addresses, so a third party reusing these keys cannot drain
|
|
23
|
+
// the paymaster balance against arbitrary destinations.
|
|
24
|
+
//
|
|
25
|
+
// Heavy users should still set CDP_API_KEY / PIMLICO_API_KEY env vars to
|
|
26
|
+
// route through their own account for billing isolation and rate-limit
|
|
27
|
+
// headroom.
|
|
21
28
|
const CDP_CLIENT_KEY = process.env.CDP_API_KEY?.trim() || '2txciN85t41erCjveqgNnXYyHRcoo5xP';
|
|
22
29
|
const PIMLICO_KEY = process.env.PIMLICO_API_KEY?.trim() || 'pim_YiHmeAijzTPUvo1UMmXUiN';
|
|
23
30
|
function resolveOverrideUrl(url) {
|
|
@@ -45,15 +52,17 @@ exports.BASE_SEPOLIA = {
|
|
|
45
52
|
rpcUrl: BASE_SEPOLIA_RPC_URL,
|
|
46
53
|
blockExplorer: 'https://sepolia.basescan.org',
|
|
47
54
|
contracts: {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
// Redeployed 2026-04-15: kernel + vault + registry + treasury + relay.
|
|
56
|
+
// See agirails/actp-kernel deployments/base-sepolia.json for details.
|
|
57
|
+
actpKernel: '0xE83cba71C445B4f658D88E4F179FccB9E1454F97',
|
|
58
|
+
escrowVault: '0x0DAbBF59C40C1804488a84237C87971b2a7f5f5f',
|
|
59
|
+
usdc: '0x444b4e1A65949AB2ac75979D5d0166Eb7A248Ccb', // MockUSDC (unchanged)
|
|
51
60
|
eas: '0x4200000000000000000000000000000000000021',
|
|
52
61
|
easSchemaRegistry: '0x4200000000000000000000000000000000000020',
|
|
53
|
-
agentRegistry: '
|
|
54
|
-
identityRegistry: '0xce9749c768b425fab0daa0331047d1340ec99a88',
|
|
55
|
-
archiveTreasury: '
|
|
56
|
-
x402Relay: '
|
|
62
|
+
agentRegistry: '0x40ca9b043220ecc26b0b280fe6a02861eadc2448',
|
|
63
|
+
identityRegistry: '0xce9749c768b425fab0daa0331047d1340ec99a88', // unchanged (no kernel ref)
|
|
64
|
+
archiveTreasury: '0x6acb954550b6a5135da9df5ac224cff33d697351',
|
|
65
|
+
x402Relay: '0x110b25bb3d45c40dfcf34bb451aa7069b2a1cb3b',
|
|
57
66
|
erc8004IdentityRegistry: '0x8004A818BFB912233c491871b3d84c89A494BD9e',
|
|
58
67
|
},
|
|
59
68
|
eas: {
|
|
@@ -63,7 +72,7 @@ exports.BASE_SEPOLIA = {
|
|
|
63
72
|
maxFeePerGas: ethers_1.ethers.parseUnits('2', 'gwei'),
|
|
64
73
|
maxPriorityFeePerGas: ethers_1.ethers.parseUnits('1', 'gwei')
|
|
65
74
|
},
|
|
66
|
-
actpKernelDeploymentBlock:
|
|
75
|
+
actpKernelDeploymentBlock: 40239703, // 2026-04-15 redeploy
|
|
67
76
|
// AIP-12: Account Abstraction
|
|
68
77
|
aa: {
|
|
69
78
|
entryPoint: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAC/E,+DAA+D;AAC/D,2EAA2E;AAC3E,8DAA8D;AAC9D,EAAE;AACF,gEAAgE;AAChE,2DAA2D;AAC3D,mDAAmD;AACnD,+EAA+E;AAE/E,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;AACxF,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;AAExF
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendingPublish.d.ts","sourceRoot":"","sources":["../../src/config/pendingPublish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAoBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+CD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"pendingPublish.d.ts","sourceRoot":"","sources":["../../src/config/pendingPublish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAoBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA+CD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAmChE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAgB1E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAkB3D"}
|
|
@@ -81,13 +81,20 @@ exports.getPendingPublishPath = getPendingPublishPath;
|
|
|
81
81
|
function savePendingPublish(pending) {
|
|
82
82
|
const dir = getActpDir();
|
|
83
83
|
// Verify .actp/ is a real directory (not a symlink — symlink attack prevention)
|
|
84
|
-
|
|
84
|
+
// Use lstatSync (does NOT follow symlinks) to catch both real and broken symlinks.
|
|
85
|
+
let dirExists = false;
|
|
86
|
+
try {
|
|
85
87
|
const stat = (0, fs_1.lstatSync)(dir);
|
|
86
|
-
if (
|
|
88
|
+
if (stat.isSymbolicLink() || !stat.isDirectory()) {
|
|
87
89
|
throw new Error(`Security: ${dir} is not a real directory (symlink attack prevention)`);
|
|
88
90
|
}
|
|
91
|
+
dirExists = true;
|
|
92
|
+
}
|
|
93
|
+
catch (e) {
|
|
94
|
+
if (e.code !== 'ENOENT')
|
|
95
|
+
throw e; // Re-throw security errors and unexpected failures
|
|
89
96
|
}
|
|
90
|
-
|
|
97
|
+
if (!dirExists) {
|
|
91
98
|
(0, fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
|
|
92
99
|
}
|
|
93
100
|
const serialized = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendingPublish.js","sourceRoot":"","sources":["../../src/config/pendingPublish.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2BAA2G;AAC3G,+BAA4B;AAsD5B,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,SAAS,mBAAmB,CAAC,EAAqB;IAChD,OAAO;QACL,eAAe,EAAE,EAAE,CAAC,eAAe;QACnC,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAChC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;QACvC,WAAW,EAAE,EAAE,CAAC,WAAW;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,EAA+B;IAC5D,OAAO;QACL,eAAe,EAAE,EAAE,CAAC,eAAe;QACnC,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC7B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;QACvC,WAAW,EAAE,EAAE,CAAC,WAAW;KAC5B,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAFD,gCAEC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAA,WAAI,EAAC,UAAU,EAAE,EAAE,mBAAmB,OAAO,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAA,WAAI,EAAC,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACpD,CAAC;AALD,sDAKC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAAC,OAAuB;IACxD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IAEzB,gFAAgF;IAChF,IAAI,
|
|
1
|
+
{"version":3,"file":"pendingPublish.js","sourceRoot":"","sources":["../../src/config/pendingPublish.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,23 @@ export interface PublishResult {
|
|
|
51
51
|
/** Whether the agent was auto-registered during this publish */
|
|
52
52
|
registered?: boolean;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Use `defaultDiscoveryEndpoint(slug)` instead. Kept for
|
|
56
|
+
* backward compatibility with code that compares against this exact
|
|
57
|
+
* sentinel — new agents should never see this URL because we now
|
|
58
|
+
* default to the agent's agirails.app profile when no endpoint is set.
|
|
59
|
+
*/
|
|
54
60
|
export declare const PENDING_ENDPOINT = "https://pending.agirails.io";
|
|
61
|
+
/**
|
|
62
|
+
* Default discovery endpoint when the owner doesn't set one.
|
|
63
|
+
*
|
|
64
|
+
* Spec: endpoint is OPTIONAL. AgentRegistry.registerAgent requires a
|
|
65
|
+
* non-empty string at the contract level (kernel guard), so we send
|
|
66
|
+
* the agent's public profile URL as a meaningful default — anyone
|
|
67
|
+
* resolving the endpoint can navigate to the agent's page and learn
|
|
68
|
+
* how to interact off-protocol. Beats `pending.agirails.io` (404).
|
|
69
|
+
*/
|
|
70
|
+
export declare function defaultDiscoveryEndpoint(slug: string | undefined): string;
|
|
55
71
|
/**
|
|
56
72
|
* Extract registration params from AGIRAILS.md frontmatter.
|
|
57
73
|
*
|
|
@@ -59,7 +75,13 @@ export declare const PENDING_ENDPOINT = "https://pending.agirails.io";
|
|
|
59
75
|
* - `services`: full ServiceDescriptor objects with pricing
|
|
60
76
|
* - `capabilities`: simple string list, auto-converted with defaults
|
|
61
77
|
*
|
|
62
|
-
*
|
|
78
|
+
* Pay-only intent: returns an empty serviceDescriptors[] regardless of
|
|
79
|
+
* any `services` field that may be present. Pay-only agents do not
|
|
80
|
+
* register as providers on AgentRegistry — they only call request().
|
|
81
|
+
* This guard is the protocol-level safeguard; CLI front-ends should
|
|
82
|
+
* also reject the misshape upstream with a clearer error.
|
|
83
|
+
*
|
|
84
|
+
* @throws Error if intent is earn/both and neither services nor capabilities are present
|
|
63
85
|
*/
|
|
64
86
|
export declare function extractRegistrationParams(frontmatter: Record<string, unknown>): {
|
|
65
87
|
endpoint: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishPipeline.d.ts","sourceRoot":"","sources":["../../src/config/publishPipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,MAAM,EAA0B,MAAM,QAAQ,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,cAAc,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"publishPipeline.d.ts","sourceRoot":"","sources":["../../src/config/publishPipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,MAAM,EAA0B,MAAM,QAAQ,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,cAAc,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAI9D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGzE;AAkCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAmF/D;AAMD,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,cAAc,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyClG;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuGvF"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module config/publishPipeline
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.publishAgirailsMd = exports.preparePublish = exports.extractRegistrationParams = exports.PENDING_ENDPOINT = void 0;
|
|
15
|
+
exports.publishAgirailsMd = exports.preparePublish = exports.extractRegistrationParams = exports.defaultDiscoveryEndpoint = exports.PENDING_ENDPOINT = void 0;
|
|
16
16
|
const fs_1 = require("fs");
|
|
17
17
|
const ethers_1 = require("ethers");
|
|
18
18
|
const agirailsmd_1 = require("./agirailsmd");
|
|
@@ -21,7 +21,29 @@ const AgentRegistry_1 = require("../protocol/AgentRegistry");
|
|
|
21
21
|
// ============================================================================
|
|
22
22
|
// Registration Helpers
|
|
23
23
|
// ============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use `defaultDiscoveryEndpoint(slug)` instead. Kept for
|
|
26
|
+
* backward compatibility with code that compares against this exact
|
|
27
|
+
* sentinel — new agents should never see this URL because we now
|
|
28
|
+
* default to the agent's agirails.app profile when no endpoint is set.
|
|
29
|
+
*/
|
|
24
30
|
exports.PENDING_ENDPOINT = 'https://pending.agirails.io';
|
|
31
|
+
const AGIRAILS_PROFILE_BASE = 'https://agirails.app/a';
|
|
32
|
+
/**
|
|
33
|
+
* Default discovery endpoint when the owner doesn't set one.
|
|
34
|
+
*
|
|
35
|
+
* Spec: endpoint is OPTIONAL. AgentRegistry.registerAgent requires a
|
|
36
|
+
* non-empty string at the contract level (kernel guard), so we send
|
|
37
|
+
* the agent's public profile URL as a meaningful default — anyone
|
|
38
|
+
* resolving the endpoint can navigate to the agent's page and learn
|
|
39
|
+
* how to interact off-protocol. Beats `pending.agirails.io` (404).
|
|
40
|
+
*/
|
|
41
|
+
function defaultDiscoveryEndpoint(slug) {
|
|
42
|
+
if (!slug)
|
|
43
|
+
return exports.PENDING_ENDPOINT;
|
|
44
|
+
return `${AGIRAILS_PROFILE_BASE}/${slug}`;
|
|
45
|
+
}
|
|
46
|
+
exports.defaultDiscoveryEndpoint = defaultDiscoveryEndpoint;
|
|
25
47
|
/** Default values for capabilities-to-services conversion */
|
|
26
48
|
const SERVICE_DEFAULTS = {
|
|
27
49
|
schemaURI: '',
|
|
@@ -57,17 +79,36 @@ function usdcToBaseUnits(value, fieldName) {
|
|
|
57
79
|
* - `services`: full ServiceDescriptor objects with pricing
|
|
58
80
|
* - `capabilities`: simple string list, auto-converted with defaults
|
|
59
81
|
*
|
|
60
|
-
*
|
|
82
|
+
* Pay-only intent: returns an empty serviceDescriptors[] regardless of
|
|
83
|
+
* any `services` field that may be present. Pay-only agents do not
|
|
84
|
+
* register as providers on AgentRegistry — they only call request().
|
|
85
|
+
* This guard is the protocol-level safeguard; CLI front-ends should
|
|
86
|
+
* also reject the misshape upstream with a clearer error.
|
|
87
|
+
*
|
|
88
|
+
* @throws Error if intent is earn/both and neither services nor capabilities are present
|
|
61
89
|
*/
|
|
62
90
|
function extractRegistrationParams(frontmatter) {
|
|
91
|
+
const slug = typeof frontmatter.slug === 'string' ? frontmatter.slug : undefined;
|
|
92
|
+
const fallbackEndpoint = defaultDiscoveryEndpoint(slug);
|
|
93
|
+
// Pay-only short-circuit: never register as provider on-chain.
|
|
94
|
+
const intent = typeof frontmatter.intent === 'string'
|
|
95
|
+
? frontmatter.intent.toLowerCase()
|
|
96
|
+
: 'earn';
|
|
97
|
+
if (intent === 'pay') {
|
|
98
|
+
const endpoint = typeof frontmatter.endpoint === 'string' && frontmatter.endpoint
|
|
99
|
+
? frontmatter.endpoint
|
|
100
|
+
: fallbackEndpoint;
|
|
101
|
+
return { endpoint, serviceDescriptors: [] };
|
|
102
|
+
}
|
|
63
103
|
// Normalize legacy serviceTypes → capabilities (backward compat)
|
|
64
104
|
if (Array.isArray(frontmatter.serviceTypes) && !frontmatter.capabilities) {
|
|
65
105
|
frontmatter = { ...frontmatter, capabilities: frontmatter.serviceTypes };
|
|
66
106
|
}
|
|
67
|
-
// Endpoint: use frontmatter field or
|
|
107
|
+
// Endpoint: use frontmatter field or default to the agent's profile URL
|
|
108
|
+
// (slug-derived). Beats the legacy `pending.agirails.io` sentinel.
|
|
68
109
|
const endpoint = typeof frontmatter.endpoint === 'string' && frontmatter.endpoint
|
|
69
110
|
? frontmatter.endpoint
|
|
70
|
-
:
|
|
111
|
+
: fallbackEndpoint;
|
|
71
112
|
// Try explicit services first
|
|
72
113
|
if (Array.isArray(frontmatter.services) && frontmatter.services.length > 0) {
|
|
73
114
|
const serviceDescriptors = frontmatter.services.map(svc => {
|
|
@@ -194,19 +235,33 @@ async function publishAgirailsMd(options) {
|
|
|
194
235
|
]);
|
|
195
236
|
arweaveTxId = arweaveResult.txId;
|
|
196
237
|
}
|
|
197
|
-
// Step 4: Auto-register if needed, then publish on-chain
|
|
198
|
-
|
|
199
|
-
|
|
238
|
+
// Step 4: Auto-register if needed, then publish on-chain.
|
|
239
|
+
//
|
|
240
|
+
// Pay-only short-circuit: AgentRegistry.registerAgent requires
|
|
241
|
+
// serviceDescriptors > 0 (contract guard), so a buyer-only agent
|
|
242
|
+
// cannot be on-chain at all under the current kernel. We skip both
|
|
243
|
+
// registerAgent and publishConfig — pay-only identity lives off-chain
|
|
244
|
+
// (wallet + agirails.app DB record). IPFS upload above already gave
|
|
245
|
+
// them a content-addressed config; that's enough.
|
|
246
|
+
const intent = typeof frontmatter.intent === 'string'
|
|
247
|
+
? frontmatter.intent.toLowerCase()
|
|
248
|
+
: 'earn';
|
|
200
249
|
let registered = false;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
await registry.
|
|
207
|
-
|
|
250
|
+
let txHash;
|
|
251
|
+
if (intent !== 'pay') {
|
|
252
|
+
const registry = new AgentRegistry_1.AgentRegistry(registryAddress, signer, gasSettings);
|
|
253
|
+
const registryClient = new AgentRegistryClient_1.AgentRegistryClient(registryAddress, signer, gasSettings);
|
|
254
|
+
const signerAddress = await signer.getAddress();
|
|
255
|
+
const profile = await registry.getAgent(signerAddress);
|
|
256
|
+
if (!profile) {
|
|
257
|
+
// Not registered — extract params from frontmatter and auto-register
|
|
258
|
+
const regParams = extractRegistrationParams(frontmatter);
|
|
259
|
+
await registry.registerAgent(regParams);
|
|
260
|
+
registered = true;
|
|
261
|
+
}
|
|
262
|
+
const result = await registryClient.publishConfig(cid, configHash);
|
|
263
|
+
txHash = result.txHash;
|
|
208
264
|
}
|
|
209
|
-
const { txHash } = await registryClient.publishConfig(cid, configHash);
|
|
210
265
|
// Step 5: Update frontmatter with publish metadata
|
|
211
266
|
const updatedFrontmatter = {
|
|
212
267
|
...frontmatter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishPipeline.js","sourceRoot":"","sources":["../../src/config/publishPipeline.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,2BAAiD;AACjD,mCAAwD;AACxD,6CAAuF;AACvF,yEAAsE;AACtE,6DAA0D;AAgD1D,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;
|
|
1
|
+
{"version":3,"file":"publishPipeline.js","sourceRoot":"","sources":["../../src/config/publishPipeline.ts"],"names":[],"mappings":"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"}
|