shopstack 0.2.6 → 0.3.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
@@ -1,42 +1,66 @@
1
1
  # shopstack
2
2
 
3
- JavaScript client and CLI for Shopstack's asynchronous checkout API.
3
+ Dependency-free JavaScript client and CLI for Shopstack checkouts and guided
4
+ guest restaurant reservations.
4
5
 
5
6
  ## Install
6
7
 
7
8
  ```bash
8
- npm install shopstack
9
+ npm install shopstack@0.3.0
9
10
  # or
10
- npm install -g shopstack
11
+ npm install -g shopstack@0.3.0
11
12
  ```
12
13
 
13
14
  Node.js 18 or newer is required.
14
15
 
15
- The CLI and client default to Shopstack's production API at
16
- `https://api.shopstack.ai/v1`. Set
17
- `SHOPSTACK_API_URL` only when targeting a different Shopstack environment.
16
+ `checkout run` uses WebSocket update notifications on runtimes that provide
17
+ WebSocket (Node.js 22 or newer). It reads the authenticated checkout resource
18
+ after each notification. Older runtimes, or a failed socket connection, use the
19
+ bounded HTTP update wait. The one-time socket token is never placed in a URL.
18
20
 
19
- ## Verified login
21
+ This preview release pairs `shopstack@0.3.0` with `shopstack-mcp@0.2.0`.
22
+ Both packages use the `preview` distribution tag. The `latest` versions are
23
+ unchanged. Use the exact versions above to install this release.
24
+
25
+ Set `SHOPSTACK_API_URL` to the Shopstack API address supplied for your environment,
26
+ including `/v1`. There is no staging or production default. Use a separate
27
+ `SHOPSTACK_CONFIG_FILE` for each environment. Both features use that one API and
28
+ verified profile; customers do not run a Worker, model, database, or proxy.
29
+
30
+ ```sh
31
+ # Isolated hosted release preview; not staging or production.
32
+ export SHOPSTACK_API_URL="https://shopstack-release-preview.shopstack.workers.dev/v1"
33
+ export SHOPSTACK_CONFIG_FILE="/absolute/private/path/shopstack-config.json"
34
+ ```
35
+
36
+ New profiles remember their API address. A conflicting environment override
37
+ fails before the credential is sent. Existing profiles without an address need
38
+ an explicit `SHOPSTACK_API_URL`; their keys and scopes are not changed.
39
+
40
+ ## Verified signup
20
41
 
21
42
  ```bash
22
- shopstack login [--email EMAIL] [--profile NAME] [--account-type personal|developer]
43
+ shopstack signup
23
44
  ```
24
45
 
25
- The command asks for an email when `--email` is absent. It uses the `default`
26
- profile and Personal account preference unless flags select other values. An
27
- existing account keeps its current account type. A new email creates the
28
- requested account type. The command waits for up to 15 minutes while you open
29
- the verification email. It does not issue a new API key until the link is
30
- consumed. The CLI privately persists all retry and polling capabilities before
31
- the first request, then retrieves a new key after verification and stores it in
46
+ The command asks for email and Personal or Developer account type. It starts a
47
+ 15-minute signup and waits while you open the verification email. No account or
48
+ API key exists until the link is consumed. The CLI generates and privately
49
+ persists all retry and polling capabilities before the first request, then
50
+ retrieves the first key after verification and stores it in
32
51
  `~/.config/shopstack/config.json` with file mode `0600`; it never prints the
33
52
  key, recovery capability, or polling capability. If the command is interrupted,
34
- rerun `shopstack login`; the matching pending attempt resumes automatically.
53
+ rerun `shopstack signup`; the matching pending attempt resumes automatically.
54
+ The explicit helper also remains available:
55
+
56
+ ```bash
57
+ shopstack signup resume sup_...
58
+ ```
35
59
 
36
60
  ## Developer account and users
37
61
 
38
62
  ```bash
39
- shopstack login
63
+ shopstack signup
40
64
  shopstack users create --external-id customer-123 --profile customer-123
41
65
  ```
42
66
 
@@ -52,22 +76,41 @@ Configure any stdio MCP client to run:
52
76
  "mcpServers": {
53
77
  "shopstack": {
54
78
  "command": "npx",
55
- "args": ["-y", "shopstack-mcp"]
79
+ "args": ["-y", "shopstack-mcp@0.2.0"],
80
+ "env": {
81
+ "SHOPSTACK_API_URL": "https://shopstack-release-preview.shopstack.workers.dev/v1",
82
+ "SHOPSTACK_CONFIG_FILE": "/absolute/private/path/shopstack-config.json"
83
+ }
56
84
  }
57
85
  }
58
86
  }
59
87
  ```
60
88
 
61
- The MCP server has one verified login tool, manages local profiles,
89
+ Use a different API address only when Shopstack supplies one for your environment.
90
+ That command uses the coordinated packages. See `packages/mcp/README.md` for the release
91
+ gate and local development setup. The old source-only launcher is not evidence
92
+ that a registry installation contains the current SDK.
93
+
94
+ The MCP server can start and poll verified signup, manage local profiles,
62
95
  create developer-owned users, list/connect Link, and create/poll/message/cancel
63
- checkouts. Checkout creation returns the exact live-view URL as a clickable MCP
64
- resource; `get_live_view` replaces a lost one-time link for an active checkout.
65
- It exposes status, activity, and the latest bounded mechanical intent phase. It
66
- deliberately has no card-input or payment-approval tool.
96
+ checkouts. It also creates, reads, continues, and cancels reservation
97
+ conversations. It exposes status, activity, and the latest bounded mechanical
98
+ intent phase. It deliberately has no card-input or payment-approval tool.
67
99
 
68
- The canonical agent skill ships as `SKILL.md` in this package. After
69
- publication it is available at
70
- `https://unpkg.com/shopstack@0.2.5/SKILL.md` with the release-pinned package.
100
+ ## Codex plugin
101
+
102
+ The repository contains one Shopstack plugin in `plugins/shopstack`. It uses
103
+ one MCP server and three focused skills:
104
+
105
+ - `shopstack-reservations` for natural restaurant search, selection, booking,
106
+ and cancellation;
107
+ - `shopstack-checkout` for checkout creation and monitoring;
108
+ - `shopstack-onboarding` for verified signup and private local profiles.
109
+
110
+ The plugin pins `shopstack-mcp@0.2.0`, which installs the matching
111
+ reservation-capable `shopstack` client. Configure the API address
112
+ before starting the plugin or use a profile already bound to that API. The existing top-level
113
+ `SKILL.md` remains in the npm client package for compatibility.
71
114
 
72
115
  ## Connections
73
116
 
@@ -77,10 +120,43 @@ shopstack connect link
77
120
  ```
78
121
 
79
122
  Link is currently the only persistent payment provider. Connecting it is
80
- optional. `shopstack connect link` opens the HTTPS Link setup page, displays the
81
- confirmation phrase, and checks the connection every five seconds for up to
82
- five minutes. It prints `Link connected` when the connection is ready. If a
83
- browser cannot open automatically, use the exact URL printed in the terminal.
123
+ optional.
124
+
125
+ ## Run a guest reservation
126
+
127
+ Create `reservation.json` with the diner details, location name, and a detailed
128
+ natural-language request. Do not add coordinates or a time zone:
129
+
130
+ ```json
131
+ {
132
+ "diner": {
133
+ "country": "US",
134
+ "first_name": "Ada",
135
+ "last_name": "Lovelace",
136
+ "phone_number": "+12125550123"
137
+ },
138
+ "location": {
139
+ "query": "Times Square, New York"
140
+ },
141
+ "request": "Dinner tomorrow for two around 7:30 PM. Quiet Italian, vegetarian choices required, about $80 per person."
142
+ }
143
+ ```
144
+
145
+ Then run:
146
+
147
+ ```bash
148
+ shopstack reservation run --file reservation.json
149
+ ```
150
+
151
+ The CLI asks natural follow-up questions and displays current location,
152
+ restaurant, and time IDs. It shows the exact locked booking summary before it
153
+ asks for confirmation. A clear confirmation is sent through the same
154
+ reservation message route; there is no separate reservation approval command.
155
+ Use `shopstack reservation get`, `message`, or `cancel` for individual API
156
+ operations. Use `shopstack reservation options RESERVATION_ID` for another
157
+ stored page and `shopstack reservation option RESERVATION_ID OPTION_ID` for
158
+ full provider details. These reads do not repeat model inference or restaurant
159
+ search.
84
160
 
85
161
  ## Run a checkout
86
162
 
@@ -115,19 +191,6 @@ Then run:
115
191
  shopstack checkout run --file checkout.json
116
192
  ```
117
193
 
118
- The CLI prints the private owner live-view URL as soon as checkout creation
119
- succeeds. Do not redirect it into shared logs or expose it to a model. The page
120
- is view-only unless the model explicitly requests human assistance; while that
121
- request is active, one owner viewer can use **Take control** and **Return
122
- control**. **Stop** is always available and never approves payment.
123
-
124
- Treat the printed URL as opaque and open it exactly as returned, including its
125
- `#token=...` fragment. If that fragment is lost while the checkout is active,
126
- run `shopstack checkout view CHECKOUT_ID` to receive a replacement URL. The
127
- replacement disconnects an older viewer session but does not restart checkout.
128
- Omit `model_handle` to use the production GLM route. Set it to `qwen` only when
129
- you explicitly need the fixed Qwen comparison route.
130
-
131
194
  When no provider is selected, the checkout runs normally until the payment
132
195
  form, then asks for card details through a no-echo terminal prompt. Card data is
133
196
  sent only to the protected payment-details endpoint. The CLI separately shows
@@ -144,11 +207,11 @@ Card values are never accepted as command-line flags.
144
207
  import { ShopstackClient } from "shopstack";
145
208
 
146
209
  const onboarding = new ShopstackClient();
147
- const account = await onboarding.login({
210
+ const account = await onboarding.signup({
148
211
  accountType: "developer",
149
212
  email: "developer@example.com",
150
213
  onProgress: ({ state }) => console.log(state),
151
- persistence: secureLoginPersistence,
214
+ persistence: secureSignupPersistence,
152
215
  });
153
216
 
154
217
  const shopstack = new ShopstackClient({
@@ -162,18 +225,36 @@ const result = await shopstack.runCheckout(checkoutRequest, {
162
225
  });
163
226
  ```
164
227
 
165
- `login` generates retry state internally and returns the authenticated account
166
- identity only after the new credential is stored. It never returns the API
228
+ `signup` generates retry state internally and returns the completed account
229
+ identity only after the one-time credential is stored. It never returns the API
167
230
  key, recovery key, or polling token. Pass a secure persistence adapter for
168
231
  restart recovery and durable credential storage; never use browser storage.
169
232
 
170
233
  `runCheckout` returns at a required input if its corresponding callback is
171
234
  omitted. Final payment approval is never inferred from a message or from
172
- supplying a card. While the checkout is active, the CLI and client use a one-time
173
- checkout-scoped WebSocket capability for change notification and always fetches
174
- the canonical resource after a signal. It falls back to bounded revision-aware
175
- HTTP waiting, then to fixed polling when either newer transport is unavailable.
176
- Neither the API key nor WebSocket capability is placed in the socket URL.
177
-
178
- Set `SHOPSTACK_API_URL` to target a different Shopstack API and
179
- `SHOPSTACK_CONFIG_FILE` to relocate CLI profiles.
235
+ supplying a card.
236
+
237
+ Set `SHOPSTACK_API_URL` to select the intended Shopstack API and
238
+ `SHOPSTACK_CONFIG_FILE` to select its private profile store.
239
+
240
+ ## Release verification
241
+
242
+ ```sh
243
+ npm test
244
+ npm run test:types
245
+ npm run test:coverage
246
+ npm run test:packed
247
+ ```
248
+
249
+ The packed test creates actual SDK and MCP archives, installs them in a clean
250
+ directory, and runs both features through TCP HTTP and stdio MCP. It checks
251
+ verified signup, shared private profiles, exact package versions, progress,
252
+ restaurant details, stale revisions, and single-attempt failure handling.
253
+ Only package dependency downloads use the public network. The API is a local
254
+ fixture; this does not create a real booking or order.
255
+ The coverage gate needs Node.js 22.7 or newer and excludes test files. It enforces
256
+ 80% source line/function coverage and 75% branch coverage.
257
+
258
+ Release order: validate the hosted preview, freeze the SDK archive, publish that
259
+ exact SDK archive, then publish the matching MCP archive. Do not publish only one
260
+ package or promote the hosted API before the release checks pass.
package/SKILL.md CHANGED
@@ -1,19 +1,26 @@
1
1
  ---
2
2
  name: shopstack-checkout
3
- description: Use Shopstack to onboard a verified personal account or a developer with independently scoped end users, inspect optional Link connectivity, and run asynchronous online checkouts while displaying status, activity, and mechanical intent. Trigger for buying products, automating checkout, integrating Shopstack into an agent, or managing developer-owned shopping users.
3
+ description: Use Shopstack to onboard a verified personal account or a developer with independently scoped end users, run guided guest restaurant reservations, inspect optional Link connectivity, and run asynchronous online checkouts. Trigger for restaurant search or booking, buying products, automating checkout, integrating Shopstack into an agent, or managing developer-owned users.
4
4
  ---
5
5
 
6
6
  # Shopstack Checkout
7
7
 
8
8
  Use Shopstack as the checkout execution layer. Keep account verification, user ownership, protected payment input, and final payment approval at their typed boundaries.
9
9
 
10
+ Use one Shopstack API and verified user profile for checkout and reservations.
11
+ Before signup, configure the issued API address, including `/v1`, through
12
+ `SHOPSTACK_API_URL`; the release has no staging or production default. Use a
13
+ separate private profile store for each environment. New profiles save their API
14
+ address and reject a conflicting override. Never ask the user to paste a key in
15
+ chat to fix an environment mismatch.
16
+
10
17
  ## Install
11
18
 
12
19
  For the JavaScript client and CLI:
13
20
 
14
21
  ```bash
15
- npm install shopstack
16
- npm install -g shopstack
22
+ npm install shopstack@0.3.0
23
+ npm install -g shopstack@0.3.0
17
24
  ```
18
25
 
19
26
  For MCP clients, configure the local stdio server:
@@ -23,13 +30,45 @@ For MCP clients, configure the local stdio server:
23
30
  "mcpServers": {
24
31
  "shopstack": {
25
32
  "command": "npx",
26
- "args": ["-y", "shopstack-mcp"]
33
+ "args": ["-y", "shopstack-mcp@0.2.0"]
27
34
  }
28
35
  }
29
36
  }
30
37
  ```
31
38
 
32
39
  Never ask the model to print or relay a Shopstack API key. The CLI and MCP server save verified keys in the private local Shopstack profile file.
40
+ The install commands require the coordinated published release. Use the
41
+ verified release archives while it is unpublished; an old registry package is
42
+ not equivalent to the current source.
43
+
44
+ ## Run a guest restaurant reservation
45
+
46
+ Give Shopstack the diner name, phone number, two-letter country, a location
47
+ name, and one detailed natural-language request. Do not supply coordinates or a
48
+ time zone. Shopstack resolves the valid OpenTable location and its time zone.
49
+ Include as much useful detail as possible: date, local time or range, party
50
+ size, cuisine, budget, travel distance, atmosphere, dietary needs, seating,
51
+ accessibility, occasion, and anything to avoid.
52
+
53
+ ```bash
54
+ shopstack reservation run --file reservation.json
55
+ ```
56
+
57
+ Shopstack resolves the location name, asks a natural follow-up when needed, and
58
+ returns the first six compact observed restaurants. Use
59
+ `list_reservation_options` or `shopstack reservation options` for another page.
60
+ Use `get_reservation_option` or `shopstack reservation option` for the exact
61
+ stored provider description, photos, facts, and time IDs. These reads do not
62
+ run another model inference or OpenTable search. Preserve every current
63
+ `option_id` and `time_id`. A new search makes older IDs stale.
64
+
65
+ Selection rechecks availability, locks the slot, and returns one exact booking
66
+ summary. Send a clear confirmation only when the user confirms that exact
67
+ summary. This confirmation is an ordinary reservation message and can create
68
+ the booking. There is no separate reservation approval endpoint or MCP tool.
69
+ An ambiguous reply must not be treated as confirmation. The anonymous guest
70
+ profile and temporary email are created only when booking. Cancel a confirmed
71
+ reservation with the typed reservation cancellation operation.
33
72
 
34
73
  ## Choose the account shape
35
74
 
@@ -38,22 +77,21 @@ Never ask the model to print or relay a Shopstack API key. The CLI and MCP serve
38
77
  - A developer management key creates and manages users but cannot run a user's checkout.
39
78
  - Every developer-owned user receives an independent user API key and profile.
40
79
 
41
- Start verified CLI login:
80
+ Start verified CLI signup:
42
81
 
43
82
  ```bash
44
- shopstack login [--email EMAIL] [--profile NAME] [--account-type personal|developer]
83
+ shopstack signup
45
84
  ```
46
85
 
47
- The command prompts only for a missing email. Personal and `default` are the
48
- default account preference and profile. An existing account keeps its current
49
- type. A new email creates the requested account type. The user must open the
50
- time-limited verification link. The CLI generates and privately stores its
51
- retry and polling capabilities before the request, polls login, saves the new
52
- key with mode `0600`, and prints none of those credentials. Rerunning
53
- `shopstack login` automatically resumes the matching pending attempt after an
54
- interruption.
86
+ The command prompts for email and Personal or Developer account type. The user
87
+ must open the time-limited verification link. No account or API key exists
88
+ before verification. The CLI generates and privately stores its retry and
89
+ polling capabilities before the request, polls signup, saves the verified key
90
+ with mode `0600`, and prints none of those credentials. Rerunning
91
+ `shopstack signup` automatically resumes the matching pending attempt after an
92
+ interruption; `shopstack signup resume SIGNUP_ID` remains an explicit helper.
55
93
 
56
- After developer login, create an end user:
94
+ After developer signup, create an end user:
57
95
 
58
96
  ```bash
59
97
  shopstack users create --external-id customer-123 --profile customer-123
@@ -70,11 +108,6 @@ shopstack connect list
70
108
  shopstack connect link
71
109
  ```
72
110
 
73
- The Link command opens the HTTPS setup page, displays the confirmation phrase,
74
- and checks every five seconds for up to five minutes. Continue only after it
75
- prints `Link connected` and reports `checkout_ready: true`. If the browser does
76
- not open automatically, open the exact URL printed in the terminal.
77
-
78
111
  Include `payment_provider: "link"` only when the active user's Link connection reports checkout-ready. Otherwise omit `payment_provider`. Shopstack will run until card entry and request one protected checkout-scoped card through the SDK or no-echo CLI prompt.
79
112
 
80
113
  Never put card data in MCP arguments, natural-language messages, model output, logs, or ordinary CLI flags.
@@ -115,39 +148,18 @@ shopstack checkout run --file checkout.json
115
148
  Or create with MCP, then call `poll_checkout`. Display these authoritative fields to the user when they change:
116
149
 
117
150
  - `status`: one of exactly `queued`, `started`, `help_required`, `approval_required`, `submitting`, `complete`, `failed`, `cancelled`;
118
- - `presentation_revision`: the monotonic revision for user-visible checkout state;
119
151
  - `activity`: bounded present-tense display text;
120
152
  - `intent.name`, `intent.phase`, and `intent.updated_at`: bounded mechanical action progress with no arguments or reasoning;
121
153
  - `required_input`: a typed handoff such as protected payment-card input;
122
154
  - `approval`: the exact amount-bound approval request when present.
123
155
 
124
- The CLI and JavaScript client subscribe with a one-time checkout-scoped
125
- WebSocket capability. Each valid notification means the presentation revision
126
- changed; the client then fetches the canonical checkout before displaying or
127
- acting on it. The notification is not checkout state truth and never grants
128
- payment authority. The capability belongs in the WebSocket subprotocol, never
129
- the URL, logs, model context, or messages. If WebSocket delivery is unavailable,
130
- the client falls back to bounded HTTP waiting and then fixed polling.
131
-
132
- MCP and manual integrations poll every two seconds for `queued`, `started`, and
133
- `submitting`; every five seconds for `help_required` and `approval_required`;
134
- stop at `complete`, `failed`, or `cancelled`.
135
-
136
- The optional `live_view_url` is a private owner-viewer capability. Show it only
137
- to the initiating user. Do not store it in browser storage, analytics, logs,
138
- model context, or ordinary messages.
139
-
140
- Present `live_view_url` exactly as returned, including its fragment; never
141
- construct a viewer URL from the checkout ID. MCP returns it as a clickable
142
- resource link. If it is lost while the checkout is active, call
143
- `get_live_view` (or `shopstack checkout view CHECKOUT_ID`) once and present the
144
- replacement verbatim.
156
+ Poll every two seconds for `queued`, `started`, and `submitting`; every five seconds for `help_required` and `approval_required`; stop at `complete`, `failed`, or `cancelled`.
145
157
 
146
158
  ## Respond at typed boundaries
147
159
 
148
160
  - Use `GET/POST /v1/checkout/{id}/messages` only for ordinary missing information.
149
161
  - Use protected SDK/CLI payment input when `required_input.type` is `payment_card`.
150
- - Use only the dedicated payment-approval endpoint with the owning user's credential.
162
+ - Use only the dedicated payment-approval endpoint from a separately scoped trusted backend.
151
163
  - MCP and messages cannot approve payment and expose no approval tool.
152
164
  - Never infer approval from a user's conversational message.
153
165
  - Cancel with the typed cancellation operation if the user withdraws the request.
package/bin/shopstack CHANGED
@@ -5,8 +5,6 @@ import { runCli } from "../src/cli.js";
5
5
  try {
6
6
  await runCli(process.argv.slice(2));
7
7
  } catch (error) {
8
- process.stderr.write(
9
- `${error instanceof Error ? error.message : String(error)}\n`,
10
- );
8
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
11
9
  process.exitCode = 1;
12
10
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shopstack",
3
- "version": "0.2.6",
4
- "description": "Production Shopstack SDK and CLI for agentic checkout.",
3
+ "version": "0.3.0",
4
+ "description": "Shopstack API client and command-line checkout and reservation tools.",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -11,24 +11,26 @@
11
11
  "./config": {
12
12
  "types": "./src/config.d.ts",
13
13
  "import": "./src/config.js"
14
- }
14
+ },
15
+ "./openapi": "./specs/openapi.json"
15
16
  },
16
17
  "types": "./src/client.d.ts",
17
18
  "files": [
18
19
  "SKILL.md",
19
20
  "bin",
21
+ "specs",
20
22
  "src"
21
23
  ],
22
24
  "bin": {
23
25
  "shopstack": "bin/shopstack"
24
26
  },
25
27
  "scripts": {
26
- "check": "npm run format:check && npm run test:coverage",
27
- "format:check": "prettier --check .",
28
28
  "shopstack": "node ./bin/shopstack",
29
- "test": "node --test test/*.test.js",
30
- "test:coverage": "node --test --experimental-test-coverage test/*.test.js",
31
- "prepublishOnly": "npm run check"
29
+ "test": "node --test",
30
+ "test:packed": "SHOPSTACK_PACKED_RELEASE_TEST=1 node --test test/packed-release.test.js",
31
+ "test:types": "tsc --noEmit --strict --module nodenext --moduleResolution nodenext --target es2022 --lib es2022,dom type-tests/public-contract.ts",
32
+ "sync:contract": "node scripts/sync-contract.mjs",
33
+ "test:coverage": "node --experimental-test-coverage --test --test-coverage-include='src/*.js' --test-coverage-include='packages/mcp/src/*.js' --test-coverage-lines=80 --test-coverage-functions=80 --test-coverage-branches=75"
32
34
  },
33
35
  "engines": {
34
36
  "node": ">=18"
@@ -37,27 +39,15 @@
37
39
  "type": "git",
38
40
  "url": "git+https://github.com/jimbo132/shopstack-cli.git"
39
41
  },
40
- "homepage": "https://github.com/jimbo132/shopstack-cli#readme",
41
- "bugs": {
42
- "url": "https://github.com/jimbo132/shopstack-cli/issues"
43
- },
44
- "publishConfig": {
45
- "access": "public"
46
- },
47
- "sideEffects": false,
48
- "dependencies": {
49
- "ws": "8.21.3"
50
- },
51
42
  "license": "MIT",
52
43
  "keywords": [
53
44
  "shopstack",
54
45
  "cli",
55
46
  "checkout",
56
- "payments",
57
- "agentic-commerce",
58
- "agents"
47
+ "payments"
59
48
  ],
60
49
  "devDependencies": {
61
- "prettier": "3.6.2"
50
+ "typescript": "6.0.3",
51
+ "yaml": "2.9.0"
62
52
  }
63
53
  }