@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 +25 -6
- package/dist/index.d.ts +5 -0
- package/dist/index.js +15 -6
- package/dist/openai-camera/index.html +332 -0
- package/package.json +6 -3
- package/src/openai-camera/index.html +258 -0
- package/src/openai-camera/main.ts +442 -0
- package/src/print/main.ts +8 -0
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
|
|
207
|
-
Hollow shows its price and turns the button
|
|
208
|
-
which calls `prepare_print` and opens the
|
|
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
|
|
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;
|