@agirails/sdk 2.2.3 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +65 -31
  2. package/dist/ACTPClient.d.ts +42 -1
  3. package/dist/ACTPClient.d.ts.map +1 -1
  4. package/dist/ACTPClient.js +207 -22
  5. package/dist/ACTPClient.js.map +1 -1
  6. package/dist/abi/AgentRegistry.json +133 -0
  7. package/dist/adapters/AdapterRouter.d.ts.map +1 -1
  8. package/dist/adapters/AdapterRouter.js.map +1 -1
  9. package/dist/adapters/BasicAdapter.d.ts +10 -1
  10. package/dist/adapters/BasicAdapter.d.ts.map +1 -1
  11. package/dist/adapters/BasicAdapter.js +36 -1
  12. package/dist/adapters/BasicAdapter.js.map +1 -1
  13. package/dist/adapters/X402Adapter.d.ts +34 -7
  14. package/dist/adapters/X402Adapter.d.ts.map +1 -1
  15. package/dist/adapters/X402Adapter.js +36 -8
  16. package/dist/adapters/X402Adapter.js.map +1 -1
  17. package/dist/adapters/index.d.ts +1 -1
  18. package/dist/adapters/index.d.ts.map +1 -1
  19. package/dist/adapters/index.js.map +1 -1
  20. package/dist/cli/commands/diff.d.ts +11 -0
  21. package/dist/cli/commands/diff.d.ts.map +1 -0
  22. package/dist/cli/commands/diff.js +115 -0
  23. package/dist/cli/commands/diff.js.map +1 -0
  24. package/dist/cli/commands/init.d.ts +1 -0
  25. package/dist/cli/commands/init.d.ts.map +1 -1
  26. package/dist/cli/commands/init.js +260 -19
  27. package/dist/cli/commands/init.js.map +1 -1
  28. package/dist/cli/commands/publish.d.ts +11 -0
  29. package/dist/cli/commands/publish.d.ts.map +1 -0
  30. package/dist/cli/commands/publish.js +170 -0
  31. package/dist/cli/commands/publish.js.map +1 -0
  32. package/dist/cli/commands/pull.d.ts +12 -0
  33. package/dist/cli/commands/pull.d.ts.map +1 -0
  34. package/dist/cli/commands/pull.js +99 -0
  35. package/dist/cli/commands/pull.js.map +1 -0
  36. package/dist/cli/commands/register.d.ts +16 -0
  37. package/dist/cli/commands/register.d.ts.map +1 -0
  38. package/dist/cli/commands/register.js +211 -0
  39. package/dist/cli/commands/register.js.map +1 -0
  40. package/dist/cli/index.js +10 -0
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/utils/config.d.ts +6 -0
  43. package/dist/cli/utils/config.d.ts.map +1 -1
  44. package/dist/cli/utils/config.js.map +1 -1
  45. package/dist/config/agirailsmd.d.ts +94 -0
  46. package/dist/config/agirailsmd.d.ts.map +1 -0
  47. package/dist/config/agirailsmd.js +209 -0
  48. package/dist/config/agirailsmd.js.map +1 -0
  49. package/dist/config/networks.d.ts +22 -4
  50. package/dist/config/networks.d.ts.map +1 -1
  51. package/dist/config/networks.js +64 -26
  52. package/dist/config/networks.js.map +1 -1
  53. package/dist/config/publishPipeline.d.ts +75 -0
  54. package/dist/config/publishPipeline.d.ts.map +1 -0
  55. package/dist/config/publishPipeline.js +193 -0
  56. package/dist/config/publishPipeline.js.map +1 -0
  57. package/dist/config/syncOperations.d.ts +67 -0
  58. package/dist/config/syncOperations.d.ts.map +1 -0
  59. package/dist/config/syncOperations.js +208 -0
  60. package/dist/config/syncOperations.js.map +1 -0
  61. package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -1
  62. package/dist/erc8004/ERC8004Bridge.js +6 -5
  63. package/dist/erc8004/ERC8004Bridge.js.map +1 -1
  64. package/dist/erc8004/ReputationReporter.d.ts.map +1 -1
  65. package/dist/erc8004/ReputationReporter.js +9 -12
  66. package/dist/erc8004/ReputationReporter.js.map +1 -1
  67. package/dist/index.d.ts +5 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +11 -3
  70. package/dist/index.js.map +1 -1
  71. package/dist/level0/request.d.ts.map +1 -1
  72. package/dist/level0/request.js +23 -86
  73. package/dist/level0/request.js.map +1 -1
  74. package/dist/level1/Agent.d.ts +0 -11
  75. package/dist/level1/Agent.d.ts.map +1 -1
  76. package/dist/level1/Agent.js +19 -36
  77. package/dist/level1/Agent.js.map +1 -1
  78. package/dist/protocol/ACTPKernel.d.ts +7 -1
  79. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  80. package/dist/protocol/ACTPKernel.js +13 -10
  81. package/dist/protocol/ACTPKernel.js.map +1 -1
  82. package/dist/protocol/EventMonitor.d.ts +14 -0
  83. package/dist/protocol/EventMonitor.d.ts.map +1 -1
  84. package/dist/protocol/EventMonitor.js +14 -0
  85. package/dist/protocol/EventMonitor.js.map +1 -1
  86. package/dist/registry/AgentRegistryClient.d.ts +75 -0
  87. package/dist/registry/AgentRegistryClient.d.ts.map +1 -0
  88. package/dist/registry/AgentRegistryClient.js +160 -0
  89. package/dist/registry/AgentRegistryClient.js.map +1 -0
  90. package/dist/runtime/BlockchainRuntime.d.ts +5 -0
  91. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  92. package/dist/runtime/BlockchainRuntime.js +1 -1
  93. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  94. package/dist/storage/ArchiveBundleBuilder.d.ts.map +1 -1
  95. package/dist/storage/ArchiveBundleBuilder.js.map +1 -1
  96. package/dist/storage/ArweaveClient.d.ts.map +1 -1
  97. package/dist/storage/ArweaveClient.js +2 -0
  98. package/dist/storage/ArweaveClient.js.map +1 -1
  99. package/dist/storage/FilebaseClient.d.ts.map +1 -1
  100. package/dist/storage/FilebaseClient.js +2 -0
  101. package/dist/storage/FilebaseClient.js.map +1 -1
  102. package/dist/types/adapter.d.ts +39 -0
  103. package/dist/types/adapter.d.ts.map +1 -1
  104. package/dist/types/adapter.js +7 -0
  105. package/dist/types/adapter.js.map +1 -1
  106. package/dist/types/x402.d.ts +23 -0
  107. package/dist/types/x402.d.ts.map +1 -1
  108. package/dist/types/x402.js.map +1 -1
  109. package/dist/utils/ErrorRecoveryGuide.d.ts.map +1 -1
  110. package/dist/utils/ErrorRecoveryGuide.js +3 -2
  111. package/dist/utils/ErrorRecoveryGuide.js.map +1 -1
  112. package/dist/utils/IPFSClient.d.ts +3 -2
  113. package/dist/utils/IPFSClient.d.ts.map +1 -1
  114. package/dist/utils/IPFSClient.js +7 -5
  115. package/dist/utils/IPFSClient.js.map +1 -1
  116. package/dist/utils/computeTypeHash.js +1 -3
  117. package/dist/utils/computeTypeHash.js.map +1 -1
  118. package/dist/utils/retry.d.ts.map +1 -1
  119. package/dist/utils/retry.js +0 -1
  120. package/dist/utils/retry.js.map +1 -1
  121. package/dist/utils/validation.d.ts +2 -2
  122. package/dist/utils/validation.d.ts.map +1 -1
  123. package/dist/utils/validation.js +2 -2
  124. package/dist/utils/validation.js.map +1 -1
  125. package/dist/wallet/AutoWalletProvider.d.ts +77 -0
  126. package/dist/wallet/AutoWalletProvider.d.ts.map +1 -0
  127. package/dist/wallet/AutoWalletProvider.js +197 -0
  128. package/dist/wallet/AutoWalletProvider.js.map +1 -0
  129. package/dist/wallet/EOAWalletProvider.d.ts +21 -0
  130. package/dist/wallet/EOAWalletProvider.d.ts.map +1 -0
  131. package/dist/wallet/EOAWalletProvider.js +57 -0
  132. package/dist/wallet/EOAWalletProvider.js.map +1 -0
  133. package/dist/wallet/IWalletProvider.d.ts +115 -0
  134. package/dist/wallet/IWalletProvider.d.ts.map +1 -0
  135. package/dist/wallet/IWalletProvider.js +12 -0
  136. package/dist/wallet/IWalletProvider.js.map +1 -0
  137. package/dist/wallet/aa/BundlerClient.d.ts +70 -0
  138. package/dist/wallet/aa/BundlerClient.d.ts.map +1 -0
  139. package/dist/wallet/aa/BundlerClient.js +183 -0
  140. package/dist/wallet/aa/BundlerClient.js.map +1 -0
  141. package/dist/wallet/aa/DualNonceManager.d.ts +55 -0
  142. package/dist/wallet/aa/DualNonceManager.d.ts.map +1 -0
  143. package/dist/wallet/aa/DualNonceManager.js +131 -0
  144. package/dist/wallet/aa/DualNonceManager.js.map +1 -0
  145. package/dist/wallet/aa/PaymasterClient.d.ts +52 -0
  146. package/dist/wallet/aa/PaymasterClient.d.ts.map +1 -0
  147. package/dist/wallet/aa/PaymasterClient.js +115 -0
  148. package/dist/wallet/aa/PaymasterClient.js.map +1 -0
  149. package/dist/wallet/aa/TransactionBatcher.d.ts +87 -0
  150. package/dist/wallet/aa/TransactionBatcher.d.ts.map +1 -0
  151. package/dist/wallet/aa/TransactionBatcher.js +148 -0
  152. package/dist/wallet/aa/TransactionBatcher.js.map +1 -0
  153. package/dist/wallet/aa/UserOpBuilder.d.ts +71 -0
  154. package/dist/wallet/aa/UserOpBuilder.d.ts.map +1 -0
  155. package/dist/wallet/aa/UserOpBuilder.js +196 -0
  156. package/dist/wallet/aa/UserOpBuilder.js.map +1 -0
  157. package/dist/wallet/aa/constants.d.ts +54 -0
  158. package/dist/wallet/aa/constants.d.ts.map +1 -0
  159. package/dist/wallet/aa/constants.js +18 -0
  160. package/dist/wallet/aa/constants.js.map +1 -0
  161. package/dist/wallet/keystore.d.ts +16 -0
  162. package/dist/wallet/keystore.d.ts.map +1 -0
  163. package/dist/wallet/keystore.js +132 -0
  164. package/dist/wallet/keystore.js.map +1 -0
  165. package/package.json +5 -2
  166. package/src/ACTPClient.ts +275 -27
  167. package/src/abi/AgentRegistry.json +133 -0
  168. package/src/adapters/AdapterRouter.ts +0 -1
  169. package/src/adapters/BasicAdapter.ts +41 -1
  170. package/src/adapters/X402Adapter.ts +94 -16
  171. package/src/adapters/index.ts +9 -1
  172. package/src/cli/commands/diff.ts +141 -0
  173. package/src/cli/commands/init.ts +311 -22
  174. package/src/cli/commands/publish.ts +208 -0
  175. package/src/cli/commands/pull.ts +124 -0
  176. package/src/cli/commands/register.ts +233 -0
  177. package/src/cli/index.ts +12 -0
  178. package/src/cli/utils/config.ts +9 -0
  179. package/src/config/agirailsmd.ts +262 -0
  180. package/src/config/networks.ts +89 -26
  181. package/src/config/publishPipeline.ts +276 -0
  182. package/src/config/syncOperations.ts +279 -0
  183. package/src/erc8004/ERC8004Bridge.ts +6 -5
  184. package/src/erc8004/ReputationReporter.ts +14 -18
  185. package/src/index.ts +15 -0
  186. package/src/level0/request.ts +27 -88
  187. package/src/level1/Agent.ts +21 -37
  188. package/src/protocol/ACTPKernel.ts +20 -10
  189. package/src/protocol/EventMonitor.ts +14 -0
  190. package/src/registry/AgentRegistryClient.ts +202 -0
  191. package/src/runtime/BlockchainRuntime.ts +7 -1
  192. package/src/storage/ArchiveBundleBuilder.ts +0 -2
  193. package/src/storage/ArweaveClient.ts +2 -1
  194. package/src/storage/FilebaseClient.ts +3 -3
  195. package/src/types/adapter.ts +14 -0
  196. package/src/types/x402.ts +32 -0
  197. package/src/utils/ErrorRecoveryGuide.ts +4 -2
  198. package/src/utils/IPFSClient.ts +9 -7
  199. package/src/utils/computeTypeHash.ts +1 -3
  200. package/src/utils/retry.ts +0 -1
  201. package/src/utils/validation.ts +2 -2
  202. package/src/wallet/AutoWalletProvider.ts +294 -0
  203. package/src/wallet/EOAWalletProvider.ts +69 -0
  204. package/src/wallet/IWalletProvider.ts +133 -0
  205. package/src/wallet/aa/BundlerClient.ts +273 -0
  206. package/src/wallet/aa/DualNonceManager.ts +163 -0
  207. package/src/wallet/aa/PaymasterClient.ts +173 -0
  208. package/src/wallet/aa/TransactionBatcher.ts +240 -0
  209. package/src/wallet/aa/UserOpBuilder.ts +246 -0
  210. package/src/wallet/aa/constants.ts +60 -0
  211. package/src/wallet/keystore.ts +119 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * AGIRAILS.md Parser + Canonical Hash
3
+ *
4
+ * Parses AGIRAILS.md files (YAML frontmatter + markdown body),
5
+ * computes deterministic canonical hashes for on-chain verification.
6
+ *
7
+ * ## Canonical Hash Algorithm
8
+ *
9
+ * 1. Parse YAML frontmatter into a plain object
10
+ * 2. **Strip publish metadata keys** (config_hash, published_at, config_cid, arweave_tx)
11
+ * — these are written back by the publish pipeline and must not affect the hash
12
+ * 3. Canonicalize frontmatter:
13
+ * - Object keys: sorted lexicographically (recursive)
14
+ * - Primitive arrays: sorted lexicographically by `String(value).localeCompare()`
15
+ * - Object arrays: order preserved (semantic ordering matters)
16
+ * - Date objects: converted to ISO-8601 string (`.toISOString()`)
17
+ * - null/undefined: preserved as-is
18
+ * 4. `structuredHash = keccak256(JSON.stringify(canonical))`
19
+ * 5. Normalize body: CRLF→LF, strip trailing whitespace per line, trim
20
+ * 6. `bodyHash = keccak256(normalizedBody)`
21
+ * 7. `configHash = keccak256(structuredHash ++ bodyHash)` (byte concatenation)
22
+ *
23
+ * @module config/agirailsmd
24
+ */
25
+ export interface AgirailsMdConfig {
26
+ /** Parsed YAML frontmatter as a plain object */
27
+ frontmatter: Record<string, unknown>;
28
+ /** Markdown body (everything after the closing ---) */
29
+ body: string;
30
+ }
31
+ export interface AgirailsMdHashResult {
32
+ /** Final configHash = keccak256(structuredHash + bodyHash) */
33
+ configHash: string;
34
+ /** Hash of the canonical JSON representation of frontmatter */
35
+ structuredHash: string;
36
+ /** Hash of the normalized markdown body */
37
+ bodyHash: string;
38
+ }
39
+ /**
40
+ * Frontmatter keys written by the publish pipeline.
41
+ * These are stripped before hash computation to prevent self-reference drift:
42
+ * publish writes config_hash back → changes frontmatter → changes hash → never in sync.
43
+ */
44
+ export declare const PUBLISH_METADATA_KEYS: readonly ["config_hash", "published_at", "config_cid", "arweave_tx", "template_source"];
45
+ /**
46
+ * Strip publish metadata keys from a frontmatter object.
47
+ * Returns a shallow copy with the metadata keys removed.
48
+ */
49
+ export declare function stripPublishMetadata(frontmatter: Record<string, unknown>): Record<string, unknown>;
50
+ /**
51
+ * Parse an AGIRAILS.md file into frontmatter + body.
52
+ *
53
+ * @param content - Raw file content (string)
54
+ * @returns Parsed config with frontmatter object and body string
55
+ * @throws Error if content has no valid YAML frontmatter
56
+ */
57
+ export declare function parseAgirailsMd(content: string): AgirailsMdConfig;
58
+ /**
59
+ * Recursively canonicalize a value for deterministic JSON serialization.
60
+ *
61
+ * - Object keys: sorted lexicographically
62
+ * - Primitive arrays: sorted by String(x).localeCompare()
63
+ * - Object arrays: order preserved
64
+ * - Date objects: converted to ISO-8601 string
65
+ * - null/undefined: preserved
66
+ */
67
+ export declare function canonicalize(value: unknown): unknown;
68
+ /**
69
+ * Compute the canonical config hash from raw AGIRAILS.md content.
70
+ *
71
+ * @param content - Raw AGIRAILS.md file content
72
+ * @returns Hash result with configHash, structuredHash, and bodyHash
73
+ */
74
+ export declare function computeConfigHash(content: string): AgirailsMdHashResult;
75
+ /**
76
+ * Compute the canonical config hash from parsed parts.
77
+ *
78
+ * Publish metadata keys (config_hash, published_at, config_cid, arweave_tx)
79
+ * are automatically stripped before hashing to prevent self-reference drift.
80
+ *
81
+ * @param frontmatter - Parsed YAML frontmatter object
82
+ * @param body - Markdown body string
83
+ * @returns Hash result with configHash, structuredHash, and bodyHash
84
+ */
85
+ export declare function computeConfigHashFromParts(frontmatter: Record<string, unknown>, body: string): AgirailsMdHashResult;
86
+ /**
87
+ * Serialize config back to AGIRAILS.md format.
88
+ *
89
+ * @param frontmatter - YAML frontmatter object
90
+ * @param body - Markdown body string
91
+ * @returns Complete AGIRAILS.md file content
92
+ */
93
+ export declare function serializeAgirailsMd(frontmatter: Record<string, unknown>, body: string): string;
94
+ //# sourceMappingURL=agirailsmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agirailsmd.d.ts","sourceRoot":"","sources":["../../src/config/agirailsmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,yFAMxB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAiCjE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAqCpD;AAkBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAGvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,EAAE,MAAM,GACX,oBAAoB,CAmBtB;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,EAAE,MAAM,GACX,MAAM,CASR"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ /**
3
+ * AGIRAILS.md Parser + Canonical Hash
4
+ *
5
+ * Parses AGIRAILS.md files (YAML frontmatter + markdown body),
6
+ * computes deterministic canonical hashes for on-chain verification.
7
+ *
8
+ * ## Canonical Hash Algorithm
9
+ *
10
+ * 1. Parse YAML frontmatter into a plain object
11
+ * 2. **Strip publish metadata keys** (config_hash, published_at, config_cid, arweave_tx)
12
+ * — these are written back by the publish pipeline and must not affect the hash
13
+ * 3. Canonicalize frontmatter:
14
+ * - Object keys: sorted lexicographically (recursive)
15
+ * - Primitive arrays: sorted lexicographically by `String(value).localeCompare()`
16
+ * - Object arrays: order preserved (semantic ordering matters)
17
+ * - Date objects: converted to ISO-8601 string (`.toISOString()`)
18
+ * - null/undefined: preserved as-is
19
+ * 4. `structuredHash = keccak256(JSON.stringify(canonical))`
20
+ * 5. Normalize body: CRLF→LF, strip trailing whitespace per line, trim
21
+ * 6. `bodyHash = keccak256(normalizedBody)`
22
+ * 7. `configHash = keccak256(structuredHash ++ bodyHash)` (byte concatenation)
23
+ *
24
+ * @module config/agirailsmd
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.serializeAgirailsMd = exports.computeConfigHashFromParts = exports.computeConfigHash = exports.canonicalize = exports.parseAgirailsMd = exports.stripPublishMetadata = exports.PUBLISH_METADATA_KEYS = void 0;
28
+ const ethers_1 = require("ethers");
29
+ const yaml_1 = require("yaml");
30
+ // ============================================================================
31
+ // Publish Metadata (excluded from hash computation)
32
+ // ============================================================================
33
+ /**
34
+ * Frontmatter keys written by the publish pipeline.
35
+ * These are stripped before hash computation to prevent self-reference drift:
36
+ * publish writes config_hash back → changes frontmatter → changes hash → never in sync.
37
+ */
38
+ exports.PUBLISH_METADATA_KEYS = [
39
+ 'config_hash',
40
+ 'published_at',
41
+ 'config_cid',
42
+ 'arweave_tx',
43
+ 'template_source',
44
+ ];
45
+ /**
46
+ * Strip publish metadata keys from a frontmatter object.
47
+ * Returns a shallow copy with the metadata keys removed.
48
+ */
49
+ function stripPublishMetadata(frontmatter) {
50
+ const stripped = { ...frontmatter };
51
+ for (const key of exports.PUBLISH_METADATA_KEYS) {
52
+ delete stripped[key];
53
+ }
54
+ return stripped;
55
+ }
56
+ exports.stripPublishMetadata = stripPublishMetadata;
57
+ // ============================================================================
58
+ // Parser
59
+ // ============================================================================
60
+ /**
61
+ * Parse an AGIRAILS.md file into frontmatter + body.
62
+ *
63
+ * @param content - Raw file content (string)
64
+ * @returns Parsed config with frontmatter object and body string
65
+ * @throws Error if content has no valid YAML frontmatter
66
+ */
67
+ function parseAgirailsMd(content) {
68
+ const trimmed = content.trimStart();
69
+ if (!trimmed.startsWith('---')) {
70
+ throw new Error('AGIRAILS.md must start with YAML frontmatter (---)');
71
+ }
72
+ // Find closing ---
73
+ const closingIndex = trimmed.indexOf('\n---', 3);
74
+ if (closingIndex === -1) {
75
+ throw new Error('AGIRAILS.md frontmatter is not closed (missing closing ---)');
76
+ }
77
+ const yamlContent = trimmed.slice(4, closingIndex); // skip opening ---\n
78
+ const body = trimmed.slice(closingIndex + 4); // skip \n---
79
+ // Parse YAML
80
+ let frontmatter;
81
+ try {
82
+ frontmatter = (0, yaml_1.parse)(yamlContent);
83
+ }
84
+ catch (err) {
85
+ const message = err instanceof Error ? err.message : String(err);
86
+ throw new Error(`Failed to parse YAML frontmatter: ${message}`);
87
+ }
88
+ if (typeof frontmatter !== 'object' || frontmatter === null) {
89
+ throw new Error('YAML frontmatter must be an object');
90
+ }
91
+ return {
92
+ frontmatter,
93
+ body: body.startsWith('\n') ? body.slice(1) : body,
94
+ };
95
+ }
96
+ exports.parseAgirailsMd = parseAgirailsMd;
97
+ // ============================================================================
98
+ // Canonical Hash
99
+ // ============================================================================
100
+ /**
101
+ * Recursively canonicalize a value for deterministic JSON serialization.
102
+ *
103
+ * - Object keys: sorted lexicographically
104
+ * - Primitive arrays: sorted by String(x).localeCompare()
105
+ * - Object arrays: order preserved
106
+ * - Date objects: converted to ISO-8601 string
107
+ * - null/undefined: preserved
108
+ */
109
+ function canonicalize(value) {
110
+ if (value === null || value === undefined) {
111
+ return value;
112
+ }
113
+ // Handle Date objects deterministically (YAML parser may auto-create these)
114
+ if (value instanceof Date) {
115
+ return value.toISOString();
116
+ }
117
+ if (Array.isArray(value)) {
118
+ // Canonicalize each element, then sort arrays of primitives lexicographically
119
+ const canonicalized = value.map(canonicalize);
120
+ // Only sort arrays of primitives (strings, numbers, booleans)
121
+ // Arrays of objects maintain order (e.g., onboarding questions have semantic ordering)
122
+ const allPrimitive = canonicalized.every((item) => typeof item === 'string' || typeof item === 'number' || typeof item === 'boolean');
123
+ if (allPrimitive) {
124
+ return canonicalized.sort((a, b) => String(a).localeCompare(String(b)));
125
+ }
126
+ return canonicalized;
127
+ }
128
+ if (typeof value === 'object') {
129
+ const sorted = {};
130
+ const keys = Object.keys(value).sort();
131
+ for (const key of keys) {
132
+ sorted[key] = canonicalize(value[key]);
133
+ }
134
+ return sorted;
135
+ }
136
+ return value;
137
+ }
138
+ exports.canonicalize = canonicalize;
139
+ /**
140
+ * Normalize markdown body for deterministic hashing.
141
+ * - Strip trailing whitespace from each line
142
+ * - Ensure \n line endings
143
+ * - Trim leading/trailing whitespace
144
+ */
145
+ function normalizeBody(body) {
146
+ return body
147
+ .replace(/\r\n/g, '\n') // CRLF → LF
148
+ .replace(/\r/g, '\n') // CR → LF
149
+ .split('\n')
150
+ .map((line) => line.trimEnd()) // strip trailing whitespace per line
151
+ .join('\n')
152
+ .trim(); // trim leading/trailing
153
+ }
154
+ /**
155
+ * Compute the canonical config hash from raw AGIRAILS.md content.
156
+ *
157
+ * @param content - Raw AGIRAILS.md file content
158
+ * @returns Hash result with configHash, structuredHash, and bodyHash
159
+ */
160
+ function computeConfigHash(content) {
161
+ const { frontmatter, body } = parseAgirailsMd(content);
162
+ return computeConfigHashFromParts(frontmatter, body);
163
+ }
164
+ exports.computeConfigHash = computeConfigHash;
165
+ /**
166
+ * Compute the canonical config hash from parsed parts.
167
+ *
168
+ * Publish metadata keys (config_hash, published_at, config_cid, arweave_tx)
169
+ * are automatically stripped before hashing to prevent self-reference drift.
170
+ *
171
+ * @param frontmatter - Parsed YAML frontmatter object
172
+ * @param body - Markdown body string
173
+ * @returns Hash result with configHash, structuredHash, and bodyHash
174
+ */
175
+ function computeConfigHashFromParts(frontmatter, body) {
176
+ // Step 0: Strip publish metadata to prevent self-reference drift
177
+ const stripped = stripPublishMetadata(frontmatter);
178
+ // Step 1: Canonical JSON of frontmatter (with metadata stripped)
179
+ const canonical = canonicalize(stripped);
180
+ const canonicalJson = JSON.stringify(canonical);
181
+ const structuredHash = ethers_1.ethers.keccak256(ethers_1.ethers.toUtf8Bytes(canonicalJson));
182
+ // Step 2: Normalized body hash
183
+ const normalized = normalizeBody(body);
184
+ const bodyHash = ethers_1.ethers.keccak256(ethers_1.ethers.toUtf8Bytes(normalized));
185
+ // Step 3: Combined hash
186
+ const configHash = ethers_1.ethers.keccak256(ethers_1.ethers.concat([ethers_1.ethers.getBytes(structuredHash), ethers_1.ethers.getBytes(bodyHash)]));
187
+ return { configHash, structuredHash, bodyHash };
188
+ }
189
+ exports.computeConfigHashFromParts = computeConfigHashFromParts;
190
+ // ============================================================================
191
+ // Serializer
192
+ // ============================================================================
193
+ /**
194
+ * Serialize config back to AGIRAILS.md format.
195
+ *
196
+ * @param frontmatter - YAML frontmatter object
197
+ * @param body - Markdown body string
198
+ * @returns Complete AGIRAILS.md file content
199
+ */
200
+ function serializeAgirailsMd(frontmatter, body) {
201
+ const yamlStr = (0, yaml_1.stringify)(frontmatter, {
202
+ lineWidth: 120,
203
+ singleQuote: false,
204
+ }).trimEnd();
205
+ const normalizedBody = body.startsWith('\n') ? body : `\n${body}`;
206
+ return `---\n${yamlStr}\n---\n${normalizedBody}`;
207
+ }
208
+ exports.serializeAgirailsMd = serializeAgirailsMd;
209
+ //# sourceMappingURL=agirailsmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agirailsmd.js","sourceRoot":"","sources":["../../src/config/agirailsmd.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,11 @@ export interface NetworkConfig {
15
15
  agentRegistry?: string;
16
16
  identityRegistry?: string;
17
17
  archiveTreasury?: string;
18
+ x402Relay?: string;
18
19
  };
19
20
  eas: {
20
21
  deliverySchemaUID: string;
22
+ configSnapshotSchemaUID?: string;
21
23
  };
22
24
  gasSettings: {
23
25
  maxFeePerGas: bigint;
@@ -30,6 +32,26 @@ export interface NetworkConfig {
30
32
  * Set to undefined for no limit (testnet only).
31
33
  */
32
34
  maxTransactionAmount?: number;
35
+ /**
36
+ * AIP-12: Account Abstraction (AA) configuration.
37
+ * EntryPoint v0.6 + CoinbaseSmartWallet.
38
+ */
39
+ aa?: {
40
+ /** ERC-4337 EntryPoint v0.6 address */
41
+ entryPoint: string;
42
+ /** CoinbaseSmartWallet factory address */
43
+ smartWalletFactory: string;
44
+ /** Bundler RPC URLs */
45
+ bundlerUrls: {
46
+ coinbase: string;
47
+ pimlico?: string;
48
+ };
49
+ /** Paymaster RPC URLs (ERC-7677) */
50
+ paymasterUrls: {
51
+ coinbase: string;
52
+ pimlico?: string;
53
+ };
54
+ };
33
55
  }
34
56
  /**
35
57
  * Base Sepolia Testnet Configuration
@@ -37,10 +59,6 @@ export interface NetworkConfig {
37
59
  export declare const BASE_SEPOLIA: NetworkConfig;
38
60
  /**
39
61
  * Base Mainnet Configuration
40
- *
41
- * WARNING: Mainnet contracts are NOT YET DEPLOYED.
42
- * Using 'base-mainnet' will throw an error until contracts are deployed.
43
- * Use 'base-sepolia' for testnet development.
44
62
  */
45
63
  export declare const BASE_MAINNET: NetworkConfig;
46
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AAiBA;;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;KAC1B,CAAC;IACF,GAAG,EAAE;QACH,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,aA4B1B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,aA+B1B,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,CAmCzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA0BjE"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AA2BA;;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,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,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;;;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,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,oCAAoC;QACpC,aAAa,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,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,aA2C1B,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,CA6CzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CA0BjE"}
@@ -15,6 +15,14 @@ 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
+ // AGIRAILS CDP Client API Key — safe to embed, cannot access funds/portfolios.
19
+ // Developers can override with their own key via CDP_API_KEY env var.
20
+ // Paymaster policy restricts sponsorship to AGIRAILS contracts only.
21
+ const CDP_CLIENT_KEY = process.env.CDP_API_KEY || '2txciN85t41erCjveqgNnXYyHRcoo5xP';
22
+ // Pimlico failover — bundler/paymaster backup if Coinbase CDP is down.
23
+ // Safe to embed: restricted by contract allowlist (AGIRAILS contracts only).
24
+ // Developers can override with their own key via PIMLICO_API_KEY env var.
25
+ const PIMLICO_KEY = process.env.PIMLICO_API_KEY || 'pim_YiHmeAijzTPUvo1UMmXUiN';
18
26
  /**
19
27
  * Base Sepolia Testnet Configuration
20
28
  */
@@ -24,35 +32,43 @@ exports.BASE_SEPOLIA = {
24
32
  rpcUrl: BASE_SEPOLIA_RPC_URL,
25
33
  blockExplorer: 'https://sepolia.basescan.org',
26
34
  contracts: {
27
- // Redeployed 2026-02-06 with agentId support
28
35
  actpKernel: '0x469CBADbACFFE096270594F0a31f0EEC53753411',
29
36
  escrowVault: '0x57f888261b629bB380dfb983f5DA6c70Ff2D49E5',
30
37
  usdc: '0x444b4e1A65949AB2ac75979D5d0166Eb7A248Ccb', // MockUSDC
31
- // EAS contracts (Base native deployment)
32
38
  eas: '0x4200000000000000000000000000000000000021',
33
39
  easSchemaRegistry: '0x4200000000000000000000000000000000000020',
34
- // AIP-7 Agent Registry (deployed 2025-12-11)
35
- agentRegistry: '0xFed6914Aa70c0a53E9c7Cc4d2Ae159e4748fb09D',
36
- // AIP-7 Identity Registry - ERC-1056 DID Registry (deployed 2026-01-09)
40
+ agentRegistry: '0xDd6D66924B43419F484aE981F174b803487AF25A',
37
41
  identityRegistry: '0xF64F748C7802a68Cb936a9213881fE74e83FDA97',
38
- // AIP-7 Archive Treasury - Arweave funding (deployed 2026-01-09)
39
- archiveTreasury: '0xeB75DE7cF5ce77ab15BB0fFa3a2A79e6aaa554B0'
42
+ archiveTreasury: '0xeB75DE7cF5ce77ab15BB0fFa3a2A79e6aaa554B0',
43
+ x402Relay: '0x4DCD02b276Dbeab57c265B72435e90507b6Ac81A',
40
44
  },
41
45
  eas: {
42
- // Deployed 2025-11-23 - AIP-4 delivery proof schema
43
46
  deliverySchemaUID: '0x1b0ebdf0bd20c28ec9d5362571ce8715a55f46e81c3de2f9b0d8e1b95fb5ffce'
44
47
  },
45
48
  gasSettings: {
46
49
  maxFeePerGas: ethers_1.ethers.parseUnits('2', 'gwei'),
47
50
  maxPriorityFeePerGas: ethers_1.ethers.parseUnits('1', 'gwei')
48
- }
51
+ },
52
+ // AIP-12: Account Abstraction
53
+ aa: {
54
+ entryPoint: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789',
55
+ smartWalletFactory: '0xBA5ED110eFDBa3D005bfC882d75358ACBbB85842',
56
+ bundlerUrls: {
57
+ // Coinbase CDP bundler — set CDP_API_KEY env var
58
+ coinbase: process.env.CDP_BUNDLER_URL || `https://api.developer.coinbase.com/rpc/v1/base-sepolia/${CDP_CLIENT_KEY}`,
59
+ // Pimlico backup bundler — set PIMLICO_API_KEY env var
60
+ pimlico: process.env.PIMLICO_BUNDLER_URL || `https://api.pimlico.io/v2/84532/rpc?apikey=${PIMLICO_KEY}`,
61
+ },
62
+ paymasterUrls: {
63
+ // Coinbase CDP paymaster — same endpoint as bundler
64
+ coinbase: process.env.CDP_PAYMASTER_URL || `https://api.developer.coinbase.com/rpc/v1/base-sepolia/${CDP_CLIENT_KEY}`,
65
+ // Pimlico failover paymaster
66
+ pimlico: process.env.PIMLICO_PAYMASTER_URL || `https://api.pimlico.io/v2/84532/rpc?apikey=${PIMLICO_KEY}`,
67
+ },
68
+ },
49
69
  };
50
70
  /**
51
71
  * Base Mainnet Configuration
52
- *
53
- * WARNING: Mainnet contracts are NOT YET DEPLOYED.
54
- * Using 'base-mainnet' will throw an error until contracts are deployed.
55
- * Use 'base-sepolia' for testnet development.
56
72
  */
57
73
  exports.BASE_MAINNET = {
58
74
  name: 'Base Mainnet',
@@ -60,19 +76,16 @@ exports.BASE_MAINNET = {
60
76
  rpcUrl: BASE_MAINNET_RPC_URL,
61
77
  blockExplorer: 'https://basescan.org',
62
78
  contracts: {
63
- // Deployed 2026-02-03
64
- actpKernel: '0xeaE4D6925510284dbC45C8C64bb8104a079D4c60',
65
- escrowVault: '0xb7bCadF7F26f0761995d95105DFb2346F81AF02D',
66
- usdc: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // Official USDC on Base
67
- // EAS contracts (Base native deployment)
79
+ actpKernel: '0x132B9eB321dBB57c828B083844287171BDC92d29',
80
+ escrowVault: '0x6aAF45882c4b0dD34130ecC790bb5Ec6be7fFb99',
81
+ usdc: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
68
82
  eas: '0x4200000000000000000000000000000000000021',
69
83
  easSchemaRegistry: '0x4200000000000000000000000000000000000020',
70
- // AIP-7 contracts
71
- agentRegistry: '0xbf9Aa0FC291A06A4dFA943c3E0Ad41E7aE20DF02',
72
- archiveTreasury: '0x64B8f93fef2D2E749F5E88586753343F73246012'
84
+ agentRegistry: '0x6fB222CF3DDdf37Bcb248EE7BBBA42Fb41901de8',
85
+ archiveTreasury: '0x0516C411C0E8d75D17A768022819a0a4FB3cA2f2',
86
+ x402Relay: '0x81DFb954A3D58FEc24Fc9c946aC2C71a911609F8',
73
87
  },
74
88
  eas: {
75
- // Registered 2026-02-03
76
89
  deliverySchemaUID: '0x166501e7476e2fcf9214c4c5144533c2957d56fe59d639effc1719a0658d9c9a'
77
90
  },
78
91
  gasSettings: {
@@ -84,7 +97,22 @@ exports.BASE_MAINNET = {
84
97
  * This limits exposure in case of undiscovered vulnerabilities.
85
98
  * Will be removed/increased after formal security audit.
86
99
  */
87
- maxTransactionAmount: 1000
100
+ maxTransactionAmount: 1000,
101
+ // AIP-12: Account Abstraction
102
+ aa: {
103
+ entryPoint: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789',
104
+ smartWalletFactory: '0xBA5ED110eFDBa3D005bfC882d75358ACBbB85842',
105
+ bundlerUrls: {
106
+ coinbase: process.env.CDP_BUNDLER_URL || `https://api.developer.coinbase.com/rpc/v1/base/${CDP_CLIENT_KEY}`,
107
+ // Pimlico backup bundler — set PIMLICO_API_KEY env var
108
+ pimlico: process.env.PIMLICO_BUNDLER_URL || `https://api.pimlico.io/v2/8453/rpc?apikey=${PIMLICO_KEY}`,
109
+ },
110
+ paymasterUrls: {
111
+ coinbase: process.env.CDP_PAYMASTER_URL || `https://api.developer.coinbase.com/rpc/v1/base/${CDP_CLIENT_KEY}`,
112
+ // Pimlico failover paymaster
113
+ pimlico: process.env.PIMLICO_PAYMASTER_URL || `https://api.pimlico.io/v2/8453/rpc?apikey=${PIMLICO_KEY}`,
114
+ },
115
+ },
88
116
  };
89
117
  /**
90
118
  * All supported networks
@@ -117,15 +145,25 @@ function getNetwork(network) {
117
145
  easSchemaRegistry: config.contracts.easSchemaRegistry,
118
146
  agentRegistry: config.contracts.agentRegistry,
119
147
  identityRegistry: config.contracts.identityRegistry,
120
- archiveTreasury: config.contracts.archiveTreasury
148
+ archiveTreasury: config.contracts.archiveTreasury,
149
+ x402Relay: config.contracts.x402Relay
121
150
  },
122
151
  eas: {
123
- deliverySchemaUID: config.eas.deliverySchemaUID
152
+ deliverySchemaUID: config.eas.deliverySchemaUID,
153
+ configSnapshotSchemaUID: config.eas.configSnapshotSchemaUID
124
154
  },
125
155
  gasSettings: {
126
156
  maxFeePerGas: config.gasSettings.maxFeePerGas,
127
157
  maxPriorityFeePerGas: config.gasSettings.maxPriorityFeePerGas
128
- }
158
+ },
159
+ ...(config.aa ? {
160
+ aa: {
161
+ entryPoint: config.aa.entryPoint,
162
+ smartWalletFactory: config.aa.smartWalletFactory,
163
+ bundlerUrls: { ...config.aa.bundlerUrls },
164
+ paymasterUrls: { ...config.aa.paymasterUrls },
165
+ }
166
+ } : {}),
129
167
  };
130
168
  }
131
169
  exports.getNetwork = getNetwork;
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Publish Pipeline - AGIRAILS.md → IPFS → Arweave → On-Chain
3
+ *
4
+ * Orchestrates the full publish flow:
5
+ * 1. Read AGIRAILS.md → parse → compute configHash
6
+ * 2. Upload to Filebase (IPFS pinning)
7
+ * 3. Upload to Arweave (permanent storage) [optional]
8
+ * 4. Call AgentRegistry.publishConfig(cid, hash) on-chain
9
+ * 5. Update AGIRAILS.md frontmatter with config_hash and published_at
10
+ *
11
+ * @module config/publishPipeline
12
+ */
13
+ import { Signer } from 'ethers';
14
+ import { FilebaseClient } from '../storage/FilebaseClient';
15
+ import { ArweaveClient } from '../storage/ArweaveClient';
16
+ import { ServiceDescriptor } from '../types';
17
+ export interface PublishOptions {
18
+ /** Path to AGIRAILS.md file */
19
+ path: string;
20
+ /** Network name (for registry address lookup) */
21
+ network: string;
22
+ /** AgentRegistry contract address */
23
+ registryAddress: string;
24
+ /** Signer for on-chain transactions */
25
+ signer: Signer;
26
+ /** Filebase client for IPFS upload */
27
+ filebaseClient: FilebaseClient;
28
+ /** Arweave client for permanent storage (optional) */
29
+ arweaveClient?: ArweaveClient;
30
+ /** Skip Arweave upload (dev mode) */
31
+ skipArweave?: boolean;
32
+ /** Dry run - compute and show but don't execute */
33
+ dryRun?: boolean;
34
+ /** Gas settings */
35
+ gasSettings?: {
36
+ maxFeePerGas?: bigint;
37
+ maxPriorityFeePerGas?: bigint;
38
+ };
39
+ }
40
+ export interface PublishResult {
41
+ /** IPFS CID of the uploaded AGIRAILS.md */
42
+ cid: string;
43
+ /** Canonical config hash (bytes32) */
44
+ configHash: string;
45
+ /** On-chain transaction hash */
46
+ txHash?: string;
47
+ /** Arweave transaction ID (if uploaded) */
48
+ arweaveTxId?: string;
49
+ /** Whether this was a dry run */
50
+ dryRun: boolean;
51
+ /** Whether the agent was auto-registered during this publish */
52
+ registered?: boolean;
53
+ }
54
+ export declare const PENDING_ENDPOINT = "https://pending.agirails.io";
55
+ /**
56
+ * Extract registration params from AGIRAILS.md frontmatter.
57
+ *
58
+ * Supports two formats:
59
+ * - `services`: full ServiceDescriptor objects with pricing
60
+ * - `capabilities`: simple string list, auto-converted with defaults
61
+ *
62
+ * @throws Error if neither services nor capabilities are present
63
+ */
64
+ export declare function extractRegistrationParams(frontmatter: Record<string, unknown>): {
65
+ endpoint: string;
66
+ serviceDescriptors: ServiceDescriptor[];
67
+ };
68
+ /**
69
+ * Execute the full publish pipeline.
70
+ *
71
+ * @param options - Publish configuration
72
+ * @returns Publish result with CID, hash, and transaction hashes
73
+ */
74
+ export declare function publishAgirailsMd(options: PublishOptions): Promise<PublishResult>;
75
+ //# sourceMappingURL=publishPipeline.d.ts.map
@@ -0,0 +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;AAkC9D;;;;;;;;GAQG;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,CA6D/D;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAwFvF"}