@azeth/common 0.2.0 → 0.2.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.
@@ -67,7 +67,8 @@ export declare function getBundlerUrl(chainName: SupportedChainName, apiKey?: st
67
67
  * proxies bundler requests using its own API key (testnet only).
68
68
  *
69
69
  * @param serverUrl - Azeth server URL (e.g. 'https://api.azeth.ai')
70
+ * @param chainId - Optional chain ID to route to the correct bundler (e.g. 11155111 for Eth Sepolia)
70
71
  */
71
- export declare function getServerBundlerUrl(serverUrl: string): string;
72
+ export declare function getServerBundlerUrl(serverUrl: string, chainId?: number): string;
72
73
  export declare function getPaymasterUrl(chainName: SupportedChainName, apiKey?: string): string | undefined;
73
74
  //# sourceMappingURL=chains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/constants/chains.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;kFAC8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBmB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIhG;AAED;;;;;;;;;GASG;AACH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlG"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/constants/chains.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;kFAC8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBmB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIhG;AAED;;;;;;;;;GASG;AACH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlG"}
@@ -52,9 +52,11 @@ export function getBundlerUrl(chainName, apiKey) {
52
52
  * proxies bundler requests using its own API key (testnet only).
53
53
  *
54
54
  * @param serverUrl - Azeth server URL (e.g. 'https://api.azeth.ai')
55
+ * @param chainId - Optional chain ID to route to the correct bundler (e.g. 11155111 for Eth Sepolia)
55
56
  */
56
- export function getServerBundlerUrl(serverUrl) {
57
- return `${serverUrl.replace(/\/$/, '')}/api/v1/bundler/rpc`;
57
+ export function getServerBundlerUrl(serverUrl, chainId) {
58
+ const base = `${serverUrl.replace(/\/$/, '')}/api/v1/bundler/rpc`;
59
+ return chainId ? `${base}?chainId=${chainId}` : base;
58
60
  }
59
61
  export function getPaymasterUrl(chainName, apiKey) {
60
62
  const chain = SUPPORTED_CHAINS[chainName];
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/constants/chains.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE;QACJ,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,0BAA0B;QACtC,cAAc,EAAE,oCAAoC;KACrD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,0BAA0B;QACtC,cAAc,EAAE,qCAAqC;KACtD;IACD,eAAe,EAAE;QACf,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,yBAAyB;QACrC,cAAc,EAAE,wCAAwC;KACzD;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,4BAA4B;QACxC,cAAc,EAAE,iCAAiC;KAClD;CAC6C,CAAC;AAIjD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAA6B,EAAE,MAAe;IAC1E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,GAAG,KAAK,CAAC,cAAc,WAAW,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA6B,EAAE,MAAe;IAC5E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,qEAAqE;IACrE,OAAO,GAAG,KAAK,CAAC,cAAc,WAAW,MAAM,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/constants/chains.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE;QACJ,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,0BAA0B;QACtC,cAAc,EAAE,oCAAoC;KACrD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,0BAA0B;QACtC,cAAc,EAAE,qCAAqC;KACtD;IACD,eAAe,EAAE;QACf,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,yBAAyB;QACrC,cAAc,EAAE,wCAAwC;KACzD;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,4BAA4B;QACxC,cAAc,EAAE,iCAAiC;KAClD;CAC6C,CAAC;AAIjD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,SAA6B,EAAE,MAAe;IAC1E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,GAAG,KAAK,CAAC,cAAc,WAAW,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAgB;IACrE,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC;IAClE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA6B,EAAE,MAAe;IAC5E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,qEAAqE;IACrE,OAAO,GAAG,KAAK,CAAC,cAAc,WAAW,MAAM,EAAE,CAAC;AACpD,CAAC"}
@@ -1,18 +1,72 @@
1
1
  import type { EntityType } from './participant.js';
2
2
  import type { WeightedReputation } from './reputation.js';
3
+ /** Accepted payment method for a catalog entry.
4
+ * Providers can accept payments on multiple chains and tokens. */
5
+ export interface CatalogAccepts {
6
+ /** CAIP-2 network identifier (e.g., "eip155:84532" for Base Sepolia) */
7
+ network: string;
8
+ /** ERC-20 token contract address on the specified network.
9
+ * Use "0x0000000000000000000000000000000000000000" for native ETH. */
10
+ asset: `0x${string}`;
11
+ /** Human-readable token symbol for display (e.g., "USDC", "ETH") */
12
+ symbol?: string;
13
+ }
14
+ /** HTTP methods supported by catalog entries */
15
+ export type CatalogMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
3
16
  /** A single offering in a service provider's catalog.
17
+ *
4
18
  * Multi-service providers list their offerings here, each with its own
5
- * path (relative to the base endpoint), pricing, and description. */
19
+ * path, pricing, capabilities, and accepted payment methods.
20
+ *
21
+ * Catalogs are OFF-CHAIN — served from the provider's endpoint (e.g.,
22
+ * `GET {endpoint}/.well-known/azeth-catalog.json`). They may be included
23
+ * in the initial tokenURI as a snapshot/fallback, but are NOT updated
24
+ * on-chain. Providers update their catalog by updating their endpoint.
25
+ *
26
+ * Design rationale:
27
+ * - Catalogs are operational (change frequently) vs identity (change rarely).
28
+ * - x402 V2 has no catalog/directory standard — its Discovery extension
29
+ * is facilitator-facing, not agent-facing.
30
+ * - Google A2A x402 targets single resources per task, no catalog concept.
31
+ * - This schema fills the gap: structured enough for autonomous agent
32
+ * routing, lightweight enough for off-chain provider responses. */
6
33
  export interface CatalogEntry {
7
34
  /** Display name for this offering */
8
35
  name: string;
9
- /** URL path relative to the provider's base endpoint (e.g., "/v1/price/{coin}") */
36
+ /** URL path relative to the provider's base endpoint.
37
+ * Supports path parameters in curly braces (e.g., "/{coinId}").
38
+ * The full URL is constructed as `${endpoint}${path}`. */
10
39
  path: string;
11
- /** Listed price (e.g., "$0.001/request", "Free") */
12
- pricing?: string;
40
+ /** HTTP method. Defaults to "GET" when omitted. */
41
+ method?: CatalogMethod;
13
42
  /** What this offering does */
14
43
  description?: string;
44
+ /** Listed price (e.g., "$0.01/request", "Free", "$10/month").
45
+ * Informational — actual settlement price comes from the x402 402 response. */
46
+ pricing?: string;
47
+ /** Response content type. Defaults to "application/json" when omitted. */
48
+ mimeType?: string;
49
+ /** Capabilities specific to this catalog entry for granular smart_pay matching.
50
+ * If omitted, the entry inherits from the parent service's capabilities. */
51
+ capabilities?: string[];
52
+ /** Path parameter descriptions. Keys are parameter names (matching `{param}` in path),
53
+ * values are human-readable descriptions with valid options.
54
+ * Example: `{ "coinId": "bitcoin, ethereum, solana, usd-coin" }` */
55
+ params?: Record<string, string>;
56
+ /** Whether this endpoint requires x402 payment. Defaults to true when omitted.
57
+ * Set to false for free endpoints (health checks, listings, metadata). */
58
+ paid?: boolean;
59
+ /** Accepted payment methods for this offering. Each entry specifies a
60
+ * network + asset pair the provider will accept.
61
+ * If omitted, inherits from the x402 402 response at call time. */
62
+ accepts?: CatalogAccepts[];
15
63
  }
64
+ /** Maximum number of entries in a service catalog (practical limit for API responses) */
65
+ export declare const CATALOG_MAX_ENTRIES = 20;
66
+ /** Maximum path length for a catalog entry */
67
+ export declare const CATALOG_MAX_PATH_LENGTH = 512;
68
+ /** Valid HTTP methods for catalog entries */
69
+ export declare const CATALOG_METHODS: readonly CatalogMethod[];
16
70
  export interface RegistryEntry {
17
71
  tokenId: bigint;
18
72
  owner: `0x${string}`;
@@ -25,8 +79,9 @@ export interface RegistryEntry {
25
79
  /** Listed service price (e.g., "$0.01/request"). Informational — actual
26
80
  * settlement price comes from the x402 402 response at transaction time. */
27
81
  pricing?: string;
28
- /** Service catalog for multi-service providers. Each entry describes one
29
- * offering with its own path, pricing, and description. Optional single-service
82
+ /** Off-chain service catalog for multi-service providers. Each entry describes
83
+ * one offering with its own path, pricing, and description. Populated from the
84
+ * provider's endpoint, not from on-chain storage. Optional — single-service
30
85
  * providers use the top-level endpoint and pricing instead. */
31
86
  catalog?: CatalogEntry[];
32
87
  active: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;sEAEsE;AACtE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iFAC6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;oEAEgE;IAChE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB;4DACwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;yEACqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC;;iGAE6F;IAC7F,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAED,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- export {};
1
+ /** Maximum number of entries in a service catalog (practical limit for API responses) */
2
+ export const CATALOG_MAX_ENTRIES = 20;
3
+ /** Maximum path length for a catalog entry */
4
+ export const CATALOG_MAX_PATH_LENGTH = 512;
5
+ /** Valid HTTP methods for catalog entries */
6
+ export const CATALOG_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'];
2
7
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAmEA,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azeth/common",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "Shared types, constants, ABIs, and errors for the Azeth trust infrastructure",
6
6
  "license": "MIT",
@@ -35,23 +35,21 @@
35
35
  "README.md",
36
36
  "LICENSE"
37
37
  ],
38
+ "scripts": {
39
+ "build": "tsc --project tsconfig.json",
40
+ "typecheck": "tsc --noEmit",
41
+ "clean": "rm -rf dist"
42
+ },
38
43
  "dependencies": {
39
44
  "viem": "^2.21.0"
40
45
  },
41
46
  "devDependencies": {
42
- "typescript": "^5.7.0",
43
- "@changesets/cli": "^2.27.0"
47
+ "typescript": "^5.7.0"
44
48
  },
45
49
  "publishConfig": {
46
50
  "access": "public"
47
51
  },
48
52
  "engines": {
49
53
  "node": ">=20.0.0"
50
- },
51
- "scripts": {
52
- "build": "tsc --project tsconfig.json",
53
- "typecheck": "tsc --noEmit",
54
- "clean": "rm -rf dist",
55
- "release": "pnpm build && changeset publish"
56
54
  }
57
- }
55
+ }