@artos-commerce/ucp-client 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,7 +41,7 @@ npm install @artos-commerce/ucp-client
41
41
  npm install @mysten/sui
42
42
  ```
43
43
 
44
- Requires Node 20+ (for global `fetch` and `base64url`). `@mysten/sui` is an
44
+ Requires Node 22+ (for global `fetch` and `base64url`). `@mysten/sui` is an
45
45
  **optional** peer dependency — card-only integrations don't need it.
46
46
 
47
47
  ## Quickstart
@@ -51,8 +51,10 @@ import {
51
51
  UcpClient,
52
52
  Ap2Signer,
53
53
  createCheckoutHandlers,
54
- resolveCryptoDeps,
55
54
  } from '@artos-commerce/ucp-client';
55
+ // The crypto rail is import-isolated on the `/crypto` subpath so a card-only
56
+ // import of the root barrel never pulls in the optional `@mysten/sui` peer.
57
+ import { resolveCryptoDeps } from '@artos-commerce/ucp-client/crypto';
56
58
 
57
59
  const client = new UcpClient(
58
60
  {
@@ -188,9 +190,17 @@ Never send both for a buyer-bound call.
188
190
  - `createCheckoutHandlers` — read tools + `confirmPurchase`.
189
191
  - `createAccountHandlers` — typed buyer-account tools (buyer-bound).
190
192
  - `OAuthClient`, `createPkce`, `DEFAULT_BUYER_SCOPE` — buyer OAuth (PKCE).
191
- - `SuiSigner`, `resolveCryptoDeps` (crypto rail; need `@mysten/sui`).
192
193
  - Helpers: `toMinorUnits`, `normalizeSearchFilters`, `resolveRail`,
193
- `grandTotal`, `currencyOf`, `asAllowanceId`, `isUcpError`, `messageOf`.
194
+ `availableRails`, `grandTotal`, `currencyOf`, `asAllowanceId`, `isUcpError`,
195
+ `messageOf`.
196
+
197
+ The crypto settlement rail is **not** on the root barrel (it would eagerly pull
198
+ the optional `@mysten/sui` peer into card-only consumers). Import it from its
199
+ dedicated subpaths instead:
200
+
201
+ - `@artos-commerce/ucp-client/crypto` — `resolveCryptoDeps`, `CryptoDeps`.
202
+ - `@artos-commerce/ucp-client/sui` — `SuiSigner`, `SuiSignerError` (needs
203
+ `@mysten/sui`).
194
204
 
195
205
  Subpath entries are also published: `@artos-commerce/ucp-client/ucp`,
196
206
  `/ap2`, `/checkout`, `/account`, `/oauth`, `/sui`, `/crypto`.
package/dist/index.d.ts CHANGED
@@ -4,5 +4,3 @@ export { canonicalJson, verifyDetachedJws, verifyMerchantAuthorization, Ap2Signe
4
4
  export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, availableRails, resolveRail, railKind, grandTotal, currencyOf, asAllowanceId, type CheckoutHandlers, type CheckoutDeps, type CheckoutLineItem, type ConfirmPurchaseInput, type CheckoutErrorCode, type CheckoutOutcome, type SearchFilters, type ResolvedRail, } from './checkout/index.js';
5
5
  export { createAccountHandlers, type AccountHandlers, type AccountDeps, } from './account/handlers.js';
6
6
  export { OAuthClient, OAuthClientError, createPkce, DEFAULT_BUYER_SCOPE, type AuthorizationServerMetadata, type OAuthTokens, type Pkce, type OAuthClientConfig, type OAuthClientOptions, } from './oauth/client.js';
7
- export { resolveCryptoDeps, type CryptoDeps } from './crypto/deps.js';
8
- export { SuiSigner, SuiSignerError } from './sui/signer.js';
package/dist/index.js CHANGED
@@ -10,7 +10,12 @@ export { createCheckoutHandlers, toMinorUnits, normalizeSearchFilters, available
10
10
  export { createAccountHandlers, } from './account/handlers.js';
11
11
  // Buyer OAuth (PKCE authorize + token exchange/refresh)
12
12
  export { OAuthClient, OAuthClientError, createPkce, DEFAULT_BUYER_SCOPE, } from './oauth/client.js';
13
- // Crypto rail (requires the optional `@mysten/sui` peer dependency)
14
- export { resolveCryptoDeps } from './crypto/deps.js';
15
- export { SuiSigner, SuiSignerError } from './sui/signer.js';
13
+ // Crypto rail: deliberately NOT re-exported here. `./crypto/deps.js` statically
14
+ // imports `./sui/signer.js`, which imports the OPTIONAL `@mysten/sui` peer — so
15
+ // re-exporting from this root barrel would make a card-only `import … from
16
+ // '@artos-commerce/ucp-client'` eagerly load (and require) `@mysten/sui`. Import
17
+ // the crypto rail from the dedicated subpaths instead, which card-only consumers
18
+ // never touch:
19
+ // import { resolveCryptoDeps } from '@artos-commerce/ucp-client/crypto';
20
+ // import { SuiSigner } from '@artos-commerce/ucp-client/sui';
16
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAMhB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,iBAAiB,CAAC;AAEzB,MAAM;AACN,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,yBAAyB;AACzB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,GASd,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,oEAAoE;AACpE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAMhB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EACL,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,GAOX,MAAM,iBAAiB,CAAC;AAEzB,MAAM;AACN,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,yBAAyB;AACzB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,GASd,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAMpB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,iFAAiF;AACjF,eAAe;AACf,2EAA2E;AAC3E,gEAAgE"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@artos-commerce/ucp-client",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "Build-track Direct UCP client for Artos: typed UCP transport, AP2 mandate signing, checkout orchestration, buyer-account tools, and buyer OAuth so you can build your own commerce-grade UCP client without hand-rolling the envelope, signing, and credential rules.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "engines": {
8
- "node": ">=20"
8
+ "node": ">=22"
9
9
  },
10
10
  "files": [
11
11
  "dist",
@@ -44,7 +44,7 @@
44
44
  "devDependencies": {
45
45
  "@eslint/js": "^9.39.4",
46
46
  "@mysten/sui": "^2.17.0",
47
- "@types/node": "^20.19.42",
47
+ "@types/node": "^22.19.0",
48
48
  "@vitest/coverage-v8": "^4.1.9",
49
49
  "eslint": "^9.39.4",
50
50
  "eslint-config-prettier": "^10.1.8",