@womp/mcp-ui 0.1.10 → 0.1.12

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
@@ -19,8 +19,16 @@ get_print_order ──► ui://womp/order-<version>.html (258 KB) status chips
19
19
  list_print_orders ─► ui://womp/order-<version>.html
20
20
  create_upload ──► ui://womp/upload-<version>.html (266 KB) drop zone: the user's mesh file goes to the ticket URL from the chat
21
21
  get_upload ──► ui://womp/upload-<version>.html (app-callable — the card polls it)
22
+ design_camera ──► ui://openai-mcp/camera-<version>.html the camera project's card for the OpenAI MCP
23
+ checkout_camera ──► ui://openai-mcp/camera-<version>.html (opens on the order form; place_order is app-callable)
22
24
  ```
23
25
 
26
+ The `openai-camera` card is the odd one out: it belongs to the OpenAI MCP
27
+ (swan-backend `src/docs/OPENAI_MCP.md`), the white-label server at
28
+ `/openai-mcp/v1`, not to Womp's `/mcp/v1` — so it names no Womp, in its copy or
29
+ its URI, and it has its own local stand-in server (`dev/openai-mcp/`,
30
+ `yarn dev:openai-mcp`).
31
+
24
32
  ## What it exports
25
33
 
26
34
  The package ships the built HTML **as a string**, not as files:
@@ -203,10 +211,17 @@ recognises it. Where the card differs, it is because MCP differs:
203
211
  `scripts/gen-pantone.mjs <path to swan-frontend's PantoneCoatedColors.js>`;
204
212
  regenerate it if the frontend's list changes. Colour never re-quotes — it
205
213
  never changes the price.
206
- - **Hollow never orders.** Escape holes are placed in the editor, so choosing
207
- Hollow shows its price and turns the button into "Continue on womp.com",
208
- which calls `prepare_print` and opens the project. The backend refuses
209
- `hollow: true` outright; the card never sends it.
214
+ - **Hollow never orders, and since v1 is not even shown.** Escape holes are
215
+ placed in the editor, so choosing Hollow shows its price and turns the button
216
+ into "Continue on womp.com", which calls `prepare_print` and opens the
217
+ project. The backend refuses `hollow: true` outright; the card never sends it.
218
+ The whole section is driven by the quote's `hollow` row, which swan-backend
219
+ stopped publishing (`gc.mcp.printHollowPricing`, off) — so the card hides it
220
+ with no change of its own, published version included.
221
+ - **Which materials appear is the backend's call.** The tiles are the quote's
222
+ `materials` array verbatim, and swan-backend now sends only what chat sells
223
+ (`gc.mcp.printMaterials`; v1 is Clear + Tinted clear). With no Enterprise entry
224
+ in the list the disclosure below hides itself — again, no card change.
210
225
  - **Gated Enterprise materials stay visible**, with a crown, behind a
211
226
  disclosure. Tapping one keeps the current selection and shows the
212
227
  contact-sales note (the backend's `contactUrl`) — the panel's dialog, flattened.
@@ -248,9 +263,13 @@ the card itself stayed 360px. Every grid in the card is
248
263
  `grid-template-columns: minmax(0, 1fr)` and the inputs have `width: 0` as their
249
264
  flex basis. If a row overflows, look there first.
250
265
 
251
- The stub takes three switches for the states a default account never shows:
266
+ The stub takes five switches for the states a default account never shows:
252
267
  `FAKE_ENTERPRISE=1` (Enterprise materials orderable), `FAKE_PRO=1` (hollow
253
- priced as available), `FAKE_REPAIRED=1` (the repaired / non-manifold callouts).
268
+ priced as available), `FAKE_REPAIRED=1` (the repaired / non-manifold callouts),
269
+ `FAKE_ALL_MATERIALS=1` (the whole catalog, i.e. before the v1 narrowing) and
270
+ `FAKE_HOLLOW=1` (quotes carry the hollow row again, which brings the card's
271
+ Solid/Hollow section back). The last two default to what swan-backend now
272
+ defaults to, so the card meets the shipped contract here.
254
273
  It also keeps the last `sync_print_config` and merges it into `add_to_cart` /
255
274
  `prepare_print` the way the server does — module scope, not inside
256
275
  `buildServer()`, which runs per request exactly as swan-backend's does.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare const APP_MIME_TYPE: "text/html;profile=mcp-app";
5
5
  export interface AppCsp {
6
6
  resourceDomains?: string[];
7
7
  connectDomains?: string[];
8
+ frameDomains?: string[];
8
9
  }
9
10
 
10
11
  export declare const IMAGE_APP_URI: string;
@@ -30,3 +31,7 @@ export declare const ORDER_APP_HTML: string;
30
31
  export declare const UPLOAD_APP_URI: string;
31
32
  export declare const UPLOAD_APP_CSP: AppCsp;
32
33
  export declare const UPLOAD_APP_HTML: string;
34
+
35
+ export declare const OPENAI_CAMERA_APP_URI: string;
36
+ export declare const OPENAI_CAMERA_APP_CSP: AppCsp;
37
+ export declare const OPENAI_CAMERA_APP_HTML: string;