@wix/agent-skills 1.18.1 → 1.19.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.
Files changed (74) hide show
  1. package/package.json +1 -1
  2. package/skills/wix-app/SKILL.md +13 -13
  3. package/skills/wix-app/references/APP_VALIDATION.md +7 -33
  4. package/skills/wix-app/references/BACKEND_API.md +151 -152
  5. package/skills/wix-app/references/DASHBOARD_PAGE.md +18 -14
  6. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +6 -3
  7. package/skills/wix-app/references/EXTENSION_REGISTRATION.md +12 -8
  8. package/skills/wix-app/references/WIX_PATTERNS_DOCS.md +23 -26
  9. package/skills/wix-app/references/dashboard-page/COLLECTION_TOOLKIT.md +7 -6
  10. package/skills/wix-app/references/dashboard-page/ENTITY_PAGE_TOOLKIT.md +71 -4
  11. package/skills/wix-app/references/dashboard-page/PATTERNS_BUNDLE_READING.md +67 -7
  12. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +1 -1
  13. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +9 -6
  14. package/skills/wix-app/references/editor-react-component/COMPONENT-CONTRACT.md +59 -89
  15. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +23 -4
  16. package/skills/wix-base44-connector/SKILL.md +168 -48
  17. package/skills/wix-base44-connector/scripts/{utils.js → utils.cjs} +69 -48
  18. package/skills/wix-docs/SKILL.md +109 -111
  19. package/skills/wix-docs/references/API_SPEC_SEARCH.md +35 -23
  20. package/skills/wix-docs/references/CALLING.md +91 -0
  21. package/skills/wix-docs/references/EXTRACTING.md +5 -3
  22. package/skills/wix-headless/references/DOC_DISCOVERY.md +9 -3
  23. package/skills/wix-manage/SKILL.md +8 -2
  24. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +59 -33
  25. package/skills/wix-manage/references/bookings/bookings-staff-setup.md +45 -22
  26. package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +70 -12
  27. package/skills/wix-manage/references/calendar/configure-default-business-hours.md +53 -17
  28. package/skills/wix-manage/references/seo/manage-content-plan.md +247 -0
  29. package/skills/wix-manage/references/seo/manage-seo-tags.md +59 -6
  30. package/skills/wix-manage/references/stores/change-store-currency.md +10 -0
  31. package/skills/wix-manage/references/stores/create-product-catalog-v3.md +17 -1
  32. package/skills/wix-manage/references/stores/update-product-with-options.md +9 -0
  33. package/skills/wix-vibe-headless/SKILL.md +17 -18
  34. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +1 -1
  35. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +119 -0
  36. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +61 -67
  37. package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +31 -29
  38. package/skills/wix-vibe-headless/platforms/base44.md +18 -7
  39. package/skills/wix-vibe-headless/platforms/generic.md +13 -12
  40. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +4 -13
  41. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +4 -8
  42. package/skills/wix-vibe-headless/references/blog/seed/{seed-blog.js → seed-blog.cjs} +2 -3
  43. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +5 -14
  44. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +5 -9
  45. package/skills/wix-vibe-headless/references/bookings/seed/{seed-bookings.js → seed-bookings.cjs} +2 -2
  46. package/skills/wix-vibe-headless/references/bookings/seed/{seed-rentals.js → seed-rentals.cjs} +3 -3
  47. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +1 -1
  48. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +2 -2
  49. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +4 -13
  50. package/skills/wix-vibe-headless/references/events/seed/SEED.md +3 -7
  51. package/skills/wix-vibe-headless/references/events/seed/{seed-events.js → seed-events.cjs} +2 -2
  52. package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +2 -1
  53. package/skills/wix-vibe-headless/references/forms/seed/SEED.md +1 -1
  54. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +4 -13
  55. package/skills/wix-vibe-headless/references/members/seed/SEED.md +2 -3
  56. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +4 -13
  57. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +1 -1
  58. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +3 -7
  59. package/skills/wix-vibe-headless/references/portfolio/seed/{seed-portfolio.js → seed-portfolio.cjs} +2 -2
  60. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +5 -14
  61. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +1 -1
  62. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +3 -7
  63. package/skills/wix-vibe-headless/references/pricing-plans/seed/{seed-pricing-plans.js → seed-pricing-plans.cjs} +2 -2
  64. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -15
  65. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +3 -7
  66. package/skills/wix-vibe-headless/references/restaurants/seed/{seed-restaurants.js → seed-restaurants.cjs} +2 -2
  67. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +363 -327
  68. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +1 -0
  69. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +2 -2
  70. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +63 -78
  71. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +59 -43
  72. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +51 -14
  73. package/skills/wix-vibe-headless/references/storefront/seed/{seed-store.js → seed-store.cjs} +194 -28
  74. package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +0 -75
@@ -3,65 +3,65 @@
3
3
  You are building a **Wix Managed** headless storefront inside Base44 — the business is described in your
4
4
  initial prompt, and the Wix connector is already configured.
5
5
 
6
- Your Wix client id is in your prompt — a public, buyer-facing credential (anonymous visitor tokens
7
- only), safe in the frontend; use it directly for the Wix client setup.
6
+ The shipped client is already configured. Use its documented hooks and components; no ID lookup
7
+ or configuration changes are needed.
8
8
 
9
- > **The Wix skills installed below are the complete build and seed path for this app.** **Do NOT use the Base44 commerce kit (or any Base44 solution kit).**
9
+ > **The installed Wix skills are the complete build and seed path for this app.** **Do NOT use the Base44 commerce kit (or any Base44 solution kit).**
10
10
 
11
- Follow STEPs 1–4 below exactly (run STEP 3 in parallel with STEP 2).
11
+ **Banner disabled for this entry flow:** do not add `<WixManageBanner/>`; skip the shared
12
+ storefront instructions' optional banner integration.
12
13
 
13
- ## STEP 1 — Install the Wix skills and deploy the storefront vertical to the app
14
+ ## STEP 0 — Setup already completed by Base44
14
15
 
15
- Install three skills — they land under `.agents/skills/`:
16
- - **`wix-vibe-headless`** — the storefront build + seed guide (STEPs 2–3): your main source of truth.
17
- - **`wix-manage`** — REST recipes for managing and configuring the site (install apps, seed
18
- catalogs, business setup).
19
- - **`wix-base44-connector`** — building on Wix from the Base44 sandbox: site context, API
20
- contracts, and the docs **fallback** — find + read the Wix API docs for anything
21
- `wix-vibe-headless` doesn't cover.
16
+ These skills are already installed under `.agents/skills/`:
17
+ - **`wix-vibe-headless`** — storefront build instructions, hook/component contracts, and seeding modules.
18
+ - **`wix-manage`** — REST recipes for managing and configuring the Wix site.
19
+ - **`wix-base44-connector`** — Wix connector usage, API contracts, and documentation discovery.
22
20
 
23
- Run this through exec_tool, exactly as written — installs all three skills, deploys the `storefront` REST scaffolds + UI into `src/`, and pins the AGENTS.md note.
21
+ Base44 has also deployed the storefront hooks, cart components/context, image helpers, and REST
22
+ scaffolds into `src/`, configured the Wix connector/client, and added the Wix note to `AGENTS.md`.
23
+ No installation, deployment, or AGENTS.md update is needed.
24
+ The deployed implementation and configuration files do not need to be read; use the build and seed
25
+ guides below for their contracts and usage. Continue with STEP 1.
24
26
 
25
- ```js
26
- const { execSync } = require('child_process');
27
- const { existsSync, readdirSync } = require('fs');
28
- const results = {};
29
- for (const skill of ['wix-vibe-headless', 'wix-manage', 'wix-base44-connector']) {
30
- if (existsSync(`/app/.agents/skills/${skill}/SKILL.md`)) { results[skill] = 'already_installed'; continue; }
31
- try {
32
- const out = execSync(`CI=1 npx -y skills add wix/skills/skills/${skill} --yes 2>&1`,
33
- { cwd: '/app', timeout: 60000, shell: '/bin/bash' }).toString().replace(/\x1b\[[0-9;]*m/g, '');
34
- results[skill] = /installed 1 skill|found 1 skill/i.test(out) ? 'success'
35
- : out.includes('No valid skills') ? 'not_found' : 'unknown';
36
- } catch (e) { results[skill] = 'error: ' + e.message; }
37
- }
38
- const deploy = execSync(`node /app/.agents/skills/wix-vibe-headless/install/deploy.cjs storefront`, { cwd: '/app' }).toString();
39
- const agentsMd = execSync(`node /app/.agents/skills/wix-vibe-headless/install/pin-agents-md.cjs`, { cwd: '/app' }).toString();
40
- return { results, installed: readdirSync('/app/.agents/skills'), deploy: JSON.parse(deploy), agentsMd: JSON.parse(agentsMd) };
41
- ```
42
-
43
- Read skills with **`read_file`** using workspace-relative paths (e.g. `.agents/skills/wix-vibe-headless/SKILL.md`) — absolute `/app/...` fails. Always read from `.agents/skills/` exactly on every turn; ignore stray copies like `agent/skills/`.
27
+ Follow STEPs 1–3 below exactly. Fire product image generations first, then build the client
28
+ (STEP 1), and seed (STEP 2) **after** the client is built — generation finishes while you build.
44
29
 
45
- ## STEP 2 — Build the client
30
+ ## STEP 1 — Build the client
46
31
 
47
32
  Read `.agents/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md` and follow it **EXACTLY** — the single source of truth for how the storefront client is built.
48
33
 
49
- **REST scaffolds are already in `src/rest/`** (STEP 1 deployed them). The storefront also ships a ready UI client in `src/` — theme + wire it per `INSTRUCTIONS.md`, don't rebuild. **Don't `read_file` deployed files** — every field shape is in `INSTRUCTIONS.md`; read one only on a real error or gap.
34
+ The shipped storefront provides catalog, cart, and checkout. Identify the additional workflows
35
+ in the user's request and implement them alongside the storefront. If a workflow needs an
36
+ external service or missing information, continue the work you can complete and identify the
37
+ remaining dependency.
50
38
 
51
- **`src/App.jsx`: edit surgically, never rewrite.** It carries required platform auth scaffolding
52
- (`AuthProvider`/`useAuth` from `@/lib/AuthContext`); a full rewrite drops them → the validator
53
- rejects the write. Wire routes/imports in with `find_replace`, leave the rest as-is.
39
+ For code or actions not covered by this skill, read and follow the installed connector skill at
40
+ `.agents/skills/wix-base44-connector/SKILL.md` to find Wix documentation and APIs.
54
41
 
55
- ## STEP 3 — Seed the storefront
42
+ Build the client using the component outlines, interfaces, and theme guidance in `INSTRUCTIONS.md`.
43
+ The shipped files are already deployed and configured; you do not need to read their source or
44
+ rebuild them. If you encounter an error after building the client, read or change whatever you
45
+ need to diagnose and fix it.
46
+
47
+ ## STEP 2 — Seed the storefront
56
48
 
57
49
  **Never delete or clean up anything on the user's site — seeding is additive only.** It's a live
58
50
  user-owned business, so never delete or overwrite existing content, even apparent sample data. If a
59
51
  cleanup truly seems needed, ask the user first.
60
52
 
61
- Seed by calling the storefront's ready-made seed module — read
62
- `.agents/skills/wix-vibe-headless/references/storefront/seed/SEED.md` and load its `seed-*.js` via
63
- its loader snippet (build-time exec_tool); call its functions with your data. Gaps or an unexpected
64
- shape → the **`wix-base44-connector`** skill's doc discovery.
53
+ Seed by calling the storefront's ready-made seed module, `seed-store.cjs` — `require()` it and use its
54
+ one-call `setupStore` (build-time exec_tool). Read
55
+ `.agents/skills/wix-vibe-headless/references/storefront/seed/SEED.md` for the full `setupStore`
56
+ contract — the `ctx` and the product/category shapes.
57
+
58
+ ```js
59
+ const seed = require(require("path").resolve(".agents/skills/wix-vibe-headless/references/storefront/seed/seed-store.cjs"));
60
+ const result = await seed.setupStore(ctx, { products, categories }); // one call: install → products → categories → images
61
+ ```
62
+
63
+ For code or actions not covered by this skill, read and follow the installed connector skill at
64
+ `.agents/skills/wix-base44-connector/SKILL.md` to find Wix documentation and APIs.
65
65
 
66
66
  **Auth for these admin calls is the already-configured Wix headless connector — nothing else.** Get its
67
67
  access token and send it as a bearer token:
@@ -75,36 +75,30 @@ Inline via exec_tool, `base44` is already declared — use it directly; do **not
75
75
  `@base44/sdk`, re-declare it, or call `createClient()` (that's for standalone `.js` files only;
76
76
  inline it throws *"Identifier 'base44' has already been declared."*).
77
77
 
78
- **Product images.** Generate with **Base44's built-in image generation**, then attach via the
79
- storefront seed module's image-attach step — `wix-base44-connector` doc discovery if the module
80
- doesn't cover it.
81
-
82
- **Seed images with the FINAL url, in one call.** Use the real `https://media.base44.com/...` url
83
- from the **completed** `generate_image` result and pass it straight into your single `setupStore`
84
- call (images included). A still-generating `/__generating__/<id>.png` placeholder is not a real url
85
- — Wix can't fetch it. `generate_image` runs in the background while you build the client, so the
86
- urls are ready by the time you seed.
78
+ **Product images.** Fire every `generate_image` **before you build the client**, and seed **after**
79
+ it — generation finishes while you build, so by the time you write the seed call your images are
80
+ ready: each finished result now reads `status: "completed"` with its final
81
+ `https://media.base44.com/...` url. Read every `imageUrl` from the results **as they read at that
82
+ moment** — not from what they said when you called the tool — and pass them in the single
83
+ `setupStore` call. A result without a final url by then (still running, or failed) → seed that
84
+ product **without** `imageUrl` and attach it afterwards with `attachProductImages`.
87
85
 
88
- ## STEP 4 — Wrap up
86
+ ## STEP 3 — Wrap up
89
87
 
90
- **Do NOT add the `<WixManageBanner/>` component** and never paste a Wix dashboard link or path.
88
+ ### Preview
91
89
 
92
- **Hand off with one call, before you write anything** — `search_base44_docs(query="how do I manage my store's products, orders and inventory?", prefer_dashboard=true)`. It comes back telling you what to say; add only that the catalog you seeded is mock data they can edit, replace or delete.
90
+ Images that are still generating may show `/__generating__/…` placeholders;
91
+ the platform replaces these automatically at turn end, with a stock fallback if generation
92
+ fails. You can finish without waiting for those images or replacing their placeholder URLs.
93
93
 
94
- **Preview briefly, don't chase images.** Broken images are expected — `generate_image` returns a `/__generating__/…` placeholder that the platform swaps for the final url automatically at turn end (failures get a stock fallback). **Do NOT edit or debug image urls.** Leave them and finish.
94
+ ### Final text response
95
95
 
96
- ## Later admin requests
96
+ **Never paste a Wix dashboard link or path.**
97
97
 
98
- When the user asks for follow-up changes (next iterations), use the already-connected Wix headless connector — get an access token and call the Wix API directly:
98
+ **Before writing your final text response, make one handoff call** — `search_base44_docs(query="how do I manage my store's products, orders and inventory?", prefer_dashboard=true)`. Use its handoff guidance, note that the seeded catalog is mock data they can edit, replace or delete, and state any requested workflows that remain unfinished and what is needed to complete them.
99
99
 
100
- ```js
101
- const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
102
- const res = await fetch("https://www.wixapis.com/<api-path>", {
103
- method: "POST",
104
- headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json" },
105
- body: JSON.stringify({ /* request body */ }),
106
- });
107
- return await res.json();
108
- ```
100
+ ## Additional Wix functionality
109
101
 
110
- `base44` is already declared inline in exec_tool — use it directly; do **not** import `@base44/sdk` or call `createClient()`. For what to call, check the storefront seed module (`.agents/skills/wix-vibe-headless/references/storefront/seed/SEED.md`) or look up the endpoint via the `wix-base44-connector` skill's doc discovery.
102
+ During the initial build or later, use the installed connector skill at
103
+ `.agents/skills/wix-base44-connector/SKILL.md` to find Wix documentation and APIs for writing code
104
+ or performing actions not covered by this skill.
@@ -3,22 +3,23 @@
3
3
  You are building a **Wix Managed** headless storefront inside Base44 — the business is described in your
4
4
  initial prompt, and the Wix connector is already configured.
5
5
 
6
- Your Wix client id is in your prompt — a public, buyer-facing credential (anonymous visitor tokens
7
- only), safe in the frontend; use it directly for the Wix client setup.
6
+ The shipped client is already configured. Use its documented hooks and components; no ID lookup
7
+ or configuration changes are needed.
8
8
 
9
9
  > **The Wix skills installed below are the complete build path for this app.** **Do NOT use the Base44 commerce kit (or any Base44 solution kit).** **This flow builds the client only — there is no seeding step.**
10
10
 
11
+ **Banner disabled for this entry flow:** do not add `<WixManageBanner/>`; skip the shared
12
+ storefront instructions' optional banner integration.
13
+
11
14
  Follow STEPs 1–3 below exactly.
12
15
 
13
16
  ## STEP 1 — Install the Wix skills and deploy the storefront vertical to the app
14
17
 
15
18
  Install three skills — they land under `.agents/skills/`:
16
- - **`wix-vibe-headless`** — the storefront build guide (STEP 2): your main source of truth.
17
- - **`wix-manage`** — REST recipes for managing and configuring the site (install apps, seed
18
- catalogs, business setup).
19
- - **`wix-base44-connector`** — building on Wix from the Base44 sandbox: site context, API
20
- contracts, and the docs **fallback** — find + read the Wix API docs for anything
21
- `wix-vibe-headless` doesn't cover.
19
+ - **`wix-vibe-headless`** — storefront build instructions, hook/component contracts, and seeding modules.
20
+ - **`wix-manage`** — REST recipes for managing and configuring the Wix site.
21
+ - **`wix-base44-connector`** — Wix connector usage, API contracts, and documentation discovery.
22
+
22
23
 
23
24
  Run this through exec_tool, exactly as written — installs all three skills, deploys the `storefront` REST scaffolds + UI into `src/`, and pins the AGENTS.md note.
24
25
 
@@ -40,40 +41,41 @@ const agentsMd = execSync(`node /app/.agents/skills/wix-vibe-headless/install/pi
40
41
  return { results, installed: readdirSync('/app/.agents/skills'), deploy: JSON.parse(deploy), agentsMd: JSON.parse(agentsMd) };
41
42
  ```
42
43
 
43
- Read skills with **`read_file`** using workspace-relative paths (e.g. `.agents/skills/wix-vibe-headless/SKILL.md`) — absolute `/app/...` fails. Always read from `.agents/skills/` exactly on every turn; ignore stray copies like `agent/skills/`.
44
-
45
44
  ## STEP 2 — Build the client
46
45
 
47
46
  Read `.agents/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md` and follow it **EXACTLY** — the single source of truth for how the storefront client is built.
48
47
 
49
- **REST scaffolds are already in `src/rest/`** (STEP 1 deployed them). The storefront also ships a ready UI client in `src/` — theme + wire it per `INSTRUCTIONS.md`, don't rebuild. **Don't `read_file` deployed files** — every field shape is in `INSTRUCTIONS.md`; read one only on a real error or gap.
48
+ The shipped storefront provides catalog, cart, and checkout. Identify the additional workflows
49
+ in the user's request and implement them alongside the storefront. If a workflow needs an
50
+ external service or missing information, continue the work you can complete and identify the
51
+ remaining dependency.
50
52
 
51
- **`src/App.jsx`: edit surgically, never rewrite.** It carries required platform auth scaffolding
52
- (`AuthProvider`/`useAuth` from `@/lib/AuthContext`); a full rewrite drops them → the validator
53
- rejects the write. Wire routes/imports in with `find_replace`, leave the rest as-is.
53
+ For code or actions not covered by this skill, read and follow the installed connector skill at
54
+ `.agents/skills/wix-base44-connector/SKILL.md` to find Wix documentation and APIs.
55
+
56
+ Build the client using the component outlines, interfaces, and theme guidance in `INSTRUCTIONS.md`.
57
+ The shipped files are already deployed and configured; you do not need to read their source or
58
+ rebuild them. If you encounter an error after building the client, read or change whatever you
59
+ need to diagnose and fix it.
54
60
 
55
61
  ## STEP 3 — Wrap up
56
62
 
57
63
  **No seeding in this flow** — the client is the only deliverable. Do not seed, populate, or write data to Wix.
58
64
 
59
- **Do NOT add the `<WixManageBanner/>` component** and never paste a Wix dashboard link or path.
65
+ ### Preview
60
66
 
61
- **Hand off with one call, before you write anything** — `search_base44_docs(query="how do I manage my store's products, orders and inventory?", prefer_dashboard=true)`. It comes back telling you what to say.
67
+ Images that are still generating may show `/__generating__/…` placeholders;
68
+ the platform replaces these automatically at turn end, with a stock fallback if generation
69
+ fails. You can finish without waiting for those images or replacing their placeholder URLs.
62
70
 
63
- **Preview briefly, don't chase images.** Broken images are expected — `generate_image` returns a `/__generating__/…` placeholder that the platform swaps for the final url automatically at turn end (failures get a stock fallback). **Do NOT edit or debug image urls.** Leave them and finish.
71
+ ### Final text response
64
72
 
65
- ## Later admin requests
73
+ **Never paste a Wix dashboard link or path.**
66
74
 
67
- When the user asks for follow-up changes (next iterations), use the already-connected Wix headless connector — get an access token and call the Wix API directly:
75
+ **Before writing your final text response, make one handoff call** — `search_base44_docs(query="how do I manage my store's products, orders and inventory?", prefer_dashboard=true)`. Use its handoff guidance, state any requested workflows that remain unfinished and what is needed to complete them.
68
76
 
69
- ```js
70
- const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
71
- const res = await fetch("https://www.wixapis.com/<api-path>", {
72
- method: "POST",
73
- headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json" },
74
- body: JSON.stringify({ /* request body */ }),
75
- });
76
- return await res.json();
77
- ```
77
+ ## Additional Wix functionality
78
78
 
79
- `base44` is already declared inline in exec_tool — use it directly; do **not** import `@base44/sdk` or call `createClient()`. For what to call, check the storefront seed module (`.agents/skills/wix-vibe-headless/references/storefront/seed/SEED.md`) or look up the endpoint via the `wix-base44-connector` skill's doc discovery.
79
+ During the initial build or later, use the installed connector skill at
80
+ `.agents/skills/wix-base44-connector/SKILL.md` to find Wix documentation and APIs for writing code
81
+ or performing actions not covered by this skill.
@@ -8,11 +8,15 @@ only), safe in the frontend; use it directly for the Wix client setup.
8
8
 
9
9
  > **The Wix skills installed below are the complete build and seed path for this app — the Wix connector supplies the token for admin API calls.** **Do NOT use the Base44 commerce kit (or any Base44 solution kit).**
10
10
 
11
- Follow STEPs 1–5 below exactly (run STEP 4 in parallel with STEP 3 — **except `forms`**, see STEP 3).
11
+ **Banner enabled for this entry flow:** mount `<WixManageBanner/>` once in the Layout, above
12
+ the header in the fixed top region, per the vertical instructions. It is preview-only.
13
+
14
+ Follow STEPs 1–5 below exactly (run STEP 4 in parallel with STEP 3 — **except `forms`**, see
15
+ STEP 3, and **except a seed that attaches entity images**, which runs after the build; see STEP 4).
12
16
 
13
17
  ## STEP 1 — Install the Wix skills locally
14
18
 
15
- Install three skills under `.agents/skills/`: **`wix-vibe-headless`** (the client build + seed guide — your main source of truth), **`wix-manage`** (REST recipes to manage/configure the site), and **`wix-base44-connector`** (site context + API-doc discovery, the fallback for anything the others don't cover).
19
+ Install three skills under `.agents/skills/`: **`wix-vibe-headless`** (the client build + seed guide — your main source of truth), **`wix-manage`** (REST recipes to manage/configure the site), and **`wix-base44-connector`** (site context + API-doc discovery).
16
20
 
17
21
  Run this through exec_tool, exactly as written — installs all three skills, deploys REST scaffolds + UI into `src/`, writes `wix-config.js`, and pins the AGENTS.md note.
18
22
 
@@ -95,8 +99,15 @@ rejects the write. Wire routes/imports in with `find_replace`, leave the rest as
95
99
 
96
100
  Seed by calling your vertical's ready-made seed module — read
97
101
  `.agents/skills/wix-vibe-headless/references/<vertical>/seed/SEED.md` and follow it (the loader
98
- snippet, admin connector token, entity images with the final `media.base44.com` url, and every field
99
- shape are there). Gaps or an unexpected shape → the **`wix-base44-connector`** skill's doc discovery.
102
+ snippet, admin connector token, and every field shape are there). Gaps or an unexpected shape → the
103
+ documentation skill available in your environment.
104
+
105
+ **Entity images:** fire every image generation **before you build the client**, and run an
106
+ image-carrying seed **after** the build — generation finishes while you build, and each finished
107
+ result then reads `status: "completed"` with its final `https://media.base44.com/...` url. Read
108
+ every image url from the results **as they read at that moment**, not from what they said when you
109
+ called the tool. No final url by then (still running, or failed) → seed without that image and
110
+ attach it afterwards per the vertical's `SEED.md`.
100
111
  Seeding is **admin-only** — not part of the client, which is built solely per the `wix-vibe-headless` skill.
101
112
 
102
113
  - **Additive only:** never delete or overwrite the user's content, even apparent sample data; ask first if a cleanup truly seems needed.
@@ -104,15 +115,15 @@ Seeding is **admin-only** — not part of the client, which is built solely per
104
115
 
105
116
  ## STEP 5 — Wrap up
106
117
 
107
- 1. **Mount `<WixManageBanner/>`** (required) in your Layout's fixed top region, above the header, per your vertical's INSTRUCTIONS — it links the app to its Wix back office, self-gates to the preview, and never shows on the published site.
108
- 2. **Ask the user to open** `https://manage.wix.com/dashboard/{metaSiteId}` (your metasite id) to complete setup in Wix.
118
+ **Ask the user to open** `https://manage.wix.com/dashboard/{metaSiteId}` (your metasite id) to complete setup in Wix.
109
119
 
110
120
  **Don't chase images.** A `/__generating__/…` placeholder is swapped for the final url automatically at turn end — do **not** edit, re-seed, or debug image urls.
111
121
 
112
122
  ## Later admin requests
113
123
 
114
124
  For any later admin/management request, work as in STEP 4: your vertical's seed module first, else
115
- `wix-base44-connector` doc discovery — all over the connector.
125
+ consult official Wix API documentation using the documentation skill available in your environment.
126
+ Keep admin calls on the connected Wix connector.
116
127
 
117
128
  **A change to what the business data COLLECTS is one of these, however UI it sounds** — a new form
118
129
  field, product option or service setting. Change it on Wix first per the vertical's `seed/SEED.md`,
@@ -23,7 +23,7 @@ Everything is under `.agents/skills/wix-vibe-headless/references/`.
23
23
  **shapes**, fieldsets, and paging.
24
24
  - `app/{components,pages,hooks,context}/…` — a **reference UI** (+ hooks/providers) built on that data
25
25
  layer; the field shapes and route patterns it uses (e.g. `/product/:slug`) are the data contract.
26
- - `seed/seed-*.js` — build-time **seeding functions** that create content.
26
+ - `seed/seed-*.cjs` — build-time **seeding functions** that create content.
27
27
  - `INSTRUCTIONS.md` — the vertical's build guide + field-shape snippets; `seed/SEED.md` — how the seed
28
28
  module is run.
29
29
 
@@ -31,15 +31,15 @@ Everything is under `.agents/skills/wix-vibe-headless/references/`.
31
31
 
32
32
  | vertical | `app/rest/` data layer | seed module |
33
33
  |---|---|---|
34
- | storefront | `wix-store-catalog.js`, `wix-store-cart.js` — products & variants; server cart + checkout redirect | `seed-store.js` |
35
- | bookings | `wix-bookings-services.js`, `wix-bookings-checkout.js` — services/categories/slots; booking + checkout | `seed-bookings.js` |
36
- | blog | `wix-blog.js` — posts (list + by-slug), categories, tags | `seed-blog.js` |
37
- | events | `wix-events-browse.js`, `wix-events-registration.js` — events & categories; RSVP / ticketing + checkout | `seed-events.js` |
38
- | portfolio | `wix-portfolio.js` — collections, projects, galleries | `seed-portfolio.js` |
39
- | restaurants | `wix-restaurants-menu.js`, `-ordering.js`, `-reservations.js` — menu; online ordering; table reservations | `seed-restaurants.js` |
34
+ | storefront | `wix-store-catalog.js`, `wix-store-cart.js` — products & variants; server cart + checkout redirect | `seed-store.cjs` |
35
+ | bookings | `wix-bookings-services.js`, `wix-bookings-checkout.js` — services/categories/slots; booking + checkout | `seed-bookings.cjs` |
36
+ | blog | `wix-blog.js` — posts (list + by-slug), categories, tags | `seed-blog.cjs` |
37
+ | events | `wix-events-browse.js`, `wix-events-registration.js` — events & categories; RSVP / ticketing + checkout | `seed-events.cjs` |
38
+ | portfolio | `wix-portfolio.js` — collections, projects, galleries | `seed-portfolio.cjs` |
39
+ | restaurants | `wix-restaurants-menu.js`, `-ordering.js`, `-reservations.js` — menu; online ordering; table reservations | `seed-restaurants.cjs` |
40
40
  | forms | `wix-forms.js`, `wix-forms-submissions.js` — any visitor-fillable form: read the schema; upload attachments, create a submission (schema accessors ship alongside in `lib/wix-form-schema-utils.js`) | *(none — REST shapes in `seed/SEED.md`)* |
41
- | cms | `wix-cms.js` — Wix Data collections: list / detail / filter | `seed-cms.js` |
42
- | pricing-plans | `wix-pricing-plans.js` — plans list + subscribe/checkout | `seed-pricing-plans.js` |
41
+ | cms | `wix-cms.js` — Wix Data collections: list / detail / filter | *(none — see `seed/SEED.md`)* |
42
+ | pricing-plans | `wix-pricing-plans.js` — plans list + subscribe/checkout | `seed-pricing-plans.cjs` |
43
43
  | members | `wix-members-auth.js` — custom login/signup (email+password, social, SSO), session, account | *(none — members sign up at runtime; nothing to seed)* |
44
44
 
45
45
  Anything in the docs about the **host's own setup** — copying files into `src/`, its `@/` alias, its
@@ -57,7 +57,7 @@ within each. **One exception — `forms` must be seeded before its UI is built;
57
57
  ### 1 · Install the skills
58
58
 
59
59
  Two skills, into `.agents/skills/`: **`wix-vibe-headless`** (this build guide + the seed modules —
60
- self-contained) and **`wix-docs`** (fallback to search/read the Wix API reference).
60
+ self-contained) and **`wix-docs`** (search/read the Wix API reference).
61
61
 
62
62
  ```bash
63
63
  CI=1 npx skills@latest add wix/skills/skills/wix-vibe-headless --yes
@@ -110,8 +110,9 @@ V=<vertical>
110
110
  find .agents/skills/wix-vibe-headless/references/$V/seed -name '*.js' -exec tail -n +1 {} +
111
111
  ```
112
112
 
113
- They encode the Wix API sequences (incl. app-install + provisioning-race handling); use `wix-docs`
114
- for anything they don't cover. Content queries return `REQUIRED_APP_NOT_INSTALLED` until the app is
113
+ They encode the Wix API sequences (incl. app-install + provisioning-race handling). For anything
114
+ they don't cover, consult the official Wix API documentation using the documentation skill available
115
+ in your environment. Content queries return `REQUIRED_APP_NOT_INSTALLED` until the app is
115
116
  installed + seeded (expected; the seed modules install it first). Image seeding = two Wix Media calls
116
117
  (`generate-upload-url` → `PUT` the bytes) before attaching.
117
118
 
@@ -40,16 +40,9 @@ end). (Files missing? the install's `deploy` result lists what it wrote; re-run
40
40
  `references/blog/app/` → `src/`.)
41
41
 
42
42
 
43
- ## STEP 2 — Theme (nothing to style on the shipped components)
44
- The shipped components carry **no palette of their own** — they render from base44's design tokens in
45
- `src/index.css` (`:root`/`.dark`: `--background`, `--foreground`, `--card`, `--primary`, `--muted`,
46
- `--border`, `--radius`, `--font-*`) via shadcn Tailwind classes (`bg-card`, `text-foreground`,
47
- `bg-primary`, `text-muted-foreground`, `border-border`, `rounded-lg`, `font-display`). Those tokens
48
- are **already set to the brand by the design phase**, so the shipped pages are themed with zero work
49
- here. To adjust the palette, edit `index.css` (`:root` **and** `.dark`) — the base44 way; **never add
50
- a parallel theme file (e.g. a `theme.css`) or restyle the shipped JSX.** Build the Home/Header you add
51
- (STEP 3) from the **same** base44 tokens/classes so it matches automatically. A dark brand is just
52
- base44's dark palette in `index.css` — no per-component work.
43
+ ## STEP 2 — Theme
44
+ Use the existing Base44 theme in `src/index.css` so your pages and the shipped components
45
+ share the same colors and typography.
53
46
 
54
47
  ## STEP 3 — Wire routes + provider (surgical `find_replace` on `src/App.jsx`, never a rewrite)
55
48
  **No file reads needed to wire this.** Every shipped page and `WixManageBanner` is a default export that takes **no props** — wire them exactly as the snippet shows; nothing in those files needs looking up.
@@ -206,10 +199,9 @@ reference page inline.
206
199
  included; add them as an authenticated `wixApiRequest` call).
207
200
 
208
201
  Fallback only — when you hit an error or need something not shown here: read the relevant shipped file
209
- under `src/`, or look it up via the **`wix-docs`** skill.
202
+ under `src/`, or look it up via the documentation skill available in your environment.
210
203
 
211
204
  ## Hard rules
212
- - Style via base44 design tokens (`index.css` / shadcn Tailwind classes), never by rewriting the shipped components or adding a parallel theme file.
213
205
  - Header/footer live in a `Layout` around `<Outlet/>` (STEP 3) — never edit the shipped `Blog`/`PostDetail`/category/tag pages to add chrome.
214
206
  - The Layout's fixed top region owns positioning: `<WixManageBanner/>` above `<Header/>`; your `Header` is plain in-flow markup (not `position:fixed`).
215
207
  - Route by `slug` through the shipped helpers — never hand-build a post/category/tag URL. Display categories/tags by `.label` (not `.name`).
@@ -226,7 +218,6 @@ connector) — separate from this client build; run in parallel.
226
218
 
227
219
  ## Verify (before declaring done)
228
220
  - [ ] Client files copied into `src/`; `WIX_CLIENT_ID` set (not the placeholder).
229
- - [ ] Brand palette lives in `index.css` (`:root`/`.dark`); no parallel theme file; shipped components/pages not restyled or rewritten.
230
221
  - [ ] **Opened the vertical's data route(s)** (not just the home page) — `/blog` and a post detail page (plus a category/tag page) — and confirmed the shipped components render themed (surface, text, brand) with images.
231
222
  - [ ] `Layout` (fixed `<WixManageBanner/>` + `<Header/>` region, then `<Outlet/>` + Footer) wraps all routes; shipped `Blog`/`PostDetail`/`CategoryPage`/`TagPage` untouched; content clears the fixed chrome; `<TaxonomyProvider>` wraps the tree.
232
223
  - [ ] Feed lists live published posts (newest first) and paginates via `nextCursor`; post detail loads by `slug`; a bad slug shows the not-found state (no invented post).
@@ -1,11 +1,11 @@
1
1
  # Blog — seeding
2
2
 
3
- Seed a Wix Blog (Blog V3) by **calling `seed-blog.js`** — don't hand-write the REST calls. It's
3
+ Seed a Wix Blog (Blog V3) by **calling `seed-blog.cjs`** — don't hand-write the REST calls. It's
4
4
  a build-time module (run via `exec_tool`, not shipped in the app) that abstracts every Wix Blog
5
5
  seed operation. `require` it and call the functions with plain data.
6
6
 
7
7
  > **NOT yet live-verified — transcribed from `setup-blog.md`.** Endpoints/fields mirror the recipe
8
- > exactly; if a call returns an unexpected shape, use the **`wix-docs`** skill (never guess).
8
+ > exactly; if a call returns an unexpected shape, use the documentation skill available in your environment (never guess).
9
9
 
10
10
  **DEFAULT — one call.** `setupBlog(ctx, plan)` runs the whole flow (memberId → categories/tags →
11
11
  posts → covers), keeping every id in memory. Pass category/tag **names** and it resolves them to
@@ -15,11 +15,7 @@ for you (Blog binds the cover by the Wix Media file id, not a url).
15
15
  ```js
16
16
  // build-time exec_tool
17
17
  const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
18
- const fs = require("fs");
19
- // exec_tool's require can return EMPTY exports for these build-time modules — load the file itself:
20
- const seed = (() => { const m = { exports: {} };
21
- new Function("module", "exports", "require", fs.readFileSync("/app/.agents/skills/wix-vibe-headless/references/blog/seed/seed-blog.js", "utf8"))(m, m.exports, require);
22
- return m.exports; })();
18
+ const seed = require(require("path").resolve(".agents/skills/wix-vibe-headless/references/blog/seed/seed-blog.cjs"));
23
19
  const ctx = { token: accessToken, siteId: WIX_METASITE_ID };
24
20
 
25
21
  const result = await seed.setupBlog(ctx, {
@@ -88,7 +84,7 @@ first** (`installBlogApp`, idempotent), so seeding works even if the site doesn'
88
84
 
89
85
  ## Reference
90
86
  If a call returns a shape you didn't expect, or you need an operation this module doesn't cover,
91
- use the **`wix-docs`** skill to search + read the live Wix Blog API reference — never guess. The
87
+ use the documentation skill available in your environment to search + read the live Wix Blog API reference — never guess. The
92
88
  authoritative source recipe is `wix-headless/references/inline-recipes/setup-blog.md`.
93
89
 
94
90
  Read a method's page before writing its call: it carries the exact body shape, the required
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // Usage (build-time exec_tool):
8
8
  // const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix"); // Base44
9
- // const seed = require("/app/.agents/skills/wix-vibe-headless/references/blog/seed/seed-blog.js");
9
+ // const seed = require("/app/.agents/skills/wix-vibe-headless/references/blog/seed/seed-blog.cjs");
10
10
  // const ctx = { token: accessToken, siteId: WIX_METASITE_ID };
11
11
  // const memberId = await seed.getAuthorMemberId(ctx); // STEP 1 — required for every post
12
12
  // const cats = await seed.createCategories(ctx, ["Recipes", "Brewing"]); // STEP 3 — only if the brief groups posts
@@ -22,8 +22,7 @@
22
22
  // await seed.attachPostCovers(ctx, posts.map((p, i) => ({ postId: p.id, fileId: files[i].id })));
23
23
  //
24
24
  // Live-verified end-to-end (members author, categories, posts single+bulk, tags, covers, idempotent
25
- // re-runs). If any call ever fails with a shape the caller didn't expect, fall back to the wix-docs
26
- // skill (search + read the live Wix Blog API reference) — never guess. Source recipe:
25
+ // re-runs). If any call ever fails with a shape the caller didn't expect, fall back to the documentation skill available in your environment (search + read the live Wix Blog API reference) — never guess. Source recipe:
27
26
  // wix-headless/references/inline-recipes/setup-blog.md.
28
27
 
29
28
  const API = "https://www.wixapis.com";
@@ -51,16 +51,9 @@ the end). (Files missing? the install's `deploy` result lists what it wrote; re-
51
51
  `references/bookings/app/` → `src/`.)
52
52
 
53
53
 
54
- ## STEP 2 — Theme (nothing to style on the shipped components)
55
- The shipped components carry **no palette of their own** — they render from base44's design tokens
56
- in `src/index.css` (`:root`/`.dark`: `--background`, `--foreground`, `--card`, `--primary`,
57
- `--muted`, `--border`, `--radius`, `--font-*`) via shadcn Tailwind classes (`bg-card`,
58
- `text-foreground`, `bg-primary`, `text-muted-foreground`, `border-border`, `rounded-lg`,
59
- `font-display`). Those tokens are **already set to the brand by the design phase**, so the shipped
60
- pages are themed with zero work here. To adjust the palette, edit `index.css` (`:root` **and**
61
- `.dark`) — the base44 way; **never add a parallel theme file (e.g. a `theme.css`) or restyle the
62
- shipped JSX.** Build the Home/Header you add (STEP 3) from the **same** base44 tokens/classes so it
63
- matches automatically. A dark brand is just base44's dark palette in `index.css` — no per-component work.
54
+ ## STEP 2 — Theme
55
+ Use the existing Base44 theme in `src/index.css` so your pages and the shipped components
56
+ share the same colors and typography.
64
57
 
65
58
  ## STEP 3 — Wire routes (surgical `find_replace` on `src/App.jsx`, never a rewrite)
66
59
  **No file reads needed to wire this.** Every shipped page and `WixManageBanner` is a default export that takes **no props** — wire them exactly as the snippet shows; nothing in those files needs looking up.
@@ -207,7 +200,7 @@ window.location.href = checkoutUrl; // hosted checkout; on return the booking
207
200
  ## Extending the client
208
201
  The shipped flow covers **APPOINTMENT and CLASS** services (`listSlotsForService` routes by
209
202
  `service.type`). For anything beyond that, add a helper on `wixApiRequest`, looking the endpoint up
210
- in the **`wix-docs`** skill first (never guess):
203
+ using the documentation skill available in your environment first (never guess):
211
204
  - **COURSE** enrollment — a course is enrolled as a *whole*, not per session; `listEventTimeSlots`
212
205
  returns no slots for it, so the slot-picker flow doesn't apply (course-specific flow).
213
206
  - **Service variants / participants** (duration- or person-based pricing), **add-ons**, and
@@ -217,7 +210,7 @@ in the **`wix-docs`** skill first (never guess):
217
210
  them see their own appointments.
218
211
 
219
212
  Fallback only — when you hit an error or need something not shown here: read the relevant shipped
220
- file under `src/`, or look it up via the **`wix-docs`** skill. Each helper in
213
+ file under `src/`, or look it up via the documentation skill available in your environment. Each helper in
221
214
  `wix-bookings-services.js` / `wix-bookings-checkout.js` links its own reference page inline; these are
222
215
  the areas they sit in:
223
216
  - Bookings (services, categories, bookings): https://dev.wix.com/docs/api-reference/business-solutions/bookings.md
@@ -269,7 +262,6 @@ identical.
269
262
  - **One unit type per service.** A room rented by the hour *and* by the day is two services.
270
263
 
271
264
  ## Hard rules
272
- - Style via base44 design tokens (`index.css` / shadcn Tailwind classes), never by rewriting the shipped components or adding a parallel theme file.
273
265
  - Header/footer live in a `Layout` around `<Outlet/>` (STEP 3) — never edit the shipped
274
266
  `Services`/`ServiceDetail` to add chrome.
275
267
  - The Layout's fixed top region owns positioning: `<WixManageBanner/>` above `<Header/>`; your
@@ -297,7 +289,6 @@ build; run in parallel.
297
289
 
298
290
  ## Verify (before declaring done)
299
291
  - [ ] Client files copied into `src/`; `WIX_CLIENT_ID` set (not the placeholder).
300
- - [ ] Brand palette lives in `index.css` (`:root`/`.dark`); no parallel theme file; shipped components/pages not restyled or rewritten.
301
292
  - [ ] **Opened `/services` and a service detail page** (not just the home page) and confirmed the shipped cards render themed (surface, text, brand color) with images.
302
293
  - [ ] `Layout` (fixed `<WixManageBanner/>` + `<Header/>` region, then `<Outlet/>` + Footer) wraps all
303
294
  routes; shipped `Services`/`ServiceDetail` untouched; content clears the fixed chrome.
@@ -1,6 +1,6 @@
1
1
  # Bookings — seeding
2
2
 
3
- Seed a Wix Bookings catalog by **calling `seed-bookings.js`** — don't hand-write the REST calls.
3
+ Seed a Wix Bookings catalog by **calling `seed-bookings.cjs`** — don't hand-write the REST calls.
4
4
  It's a build-time module (run via `exec_tool`, not shipped in the app) that abstracts every Wix
5
5
  Bookings seed operation. Load it and call **`setupBookings` — the one-call path** — with plain data.
6
6
 
@@ -9,11 +9,7 @@ Bookings seed operation. Load it and call **`setupBookings` — the one-call pat
9
9
  ```js
10
10
  // build-time exec_tool
11
11
  const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix");
12
- const fs = require("fs");
13
- // exec_tool's require can return EMPTY exports for these build-time modules — load the file itself:
14
- const seed = (() => { const m = { exports: {} };
15
- new Function("module", "exports", "require", fs.readFileSync("/app/.agents/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js", "utf8"))(m, m.exports, require);
16
- return m.exports; })();
12
+ const seed = require(require("path").resolve(".agents/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.cjs"));
17
13
  const ctx = { token: accessToken, siteId: WIX_METASITE_ID };
18
14
 
19
15
  // ONE call: install → resolve staff → categories → services → CLASS sessions → images, all in the
@@ -103,12 +99,12 @@ same body; don't loop and don't re-create the ones that already succeeded.
103
99
 
104
100
  ## Rentals
105
101
 
106
- `seed-rentals.js` is the rentals half — the same transport, a different create order and payload.
102
+ `seed-rentals.cjs` is the rentals half — the same transport, a different create order and payload.
107
103
  Wix Rentals has no APIs of its own, so a rental is a Bookings service with rentals-specific
108
104
  field values.
109
105
 
110
106
  ```js
111
- const seed = require("…/references/bookings/seed/seed-rentals.js");
107
+ const seed = require(require("path").resolve(".agents/skills/wix-vibe-headless/references/bookings/seed/seed-rentals.cjs"));
112
108
  await seed.setupRentals(ctx, {
113
109
  resourceTypeName: "Meeting rooms",
114
110
  resources: ["Room A", "Room B"], // parallel capacity = MORE RESOURCES
@@ -144,7 +140,7 @@ than a multi-service group. Pass `workingHours` only when the brief names openin
144
140
 
145
141
  ## Reference
146
142
  If a call returns a shape you didn't expect, or you need an operation this module doesn't cover,
147
- use the **`wix-docs`** skill to search + read the live Wix API reference — never guess. The
143
+ use the documentation skill available in your environment to search + read the live Wix API reference — never guess. The
148
144
  authoritative source recipe is `wix-headless/references/inline-recipes/setup-bookings.md`.
149
145
 
150
146
  Read a method's page before writing its call: it carries the exact body shape, the required
@@ -8,7 +8,7 @@
8
8
  //
9
9
  // Usage (build-time exec_tool):
10
10
  // const { accessToken } = await base44.asServiceRole.connectors.getConnection("wix"); // Base44 (generic: use $TOKEN)
11
- // const seed = require("/app/.agents/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.js");
11
+ // const seed = require("/app/.agents/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.cjs");
12
12
  // const ctx = { token: accessToken, siteId: WIX_METASITE_ID };
13
13
  //
14
14
  // await seed.installBookingsApp(ctx); // if the site doesn't have Wix Bookings yet
@@ -32,7 +32,7 @@
32
32
  // // await seed.attachServiceImage(ctx, { serviceId: s.id, revision: s.revision, image: { id: file.id, url: file.url, width: 1024, height: 1024 } });
33
33
  //
34
34
  // If any call fails with a shape the caller didn't expect, or you need an operation this module
35
- // doesn't cover, fall back to the wix-docs skill (search + read the live Wix API reference) —
35
+ // doesn't cover, fall back to the documentation skill available in your environment (search + read the live Wix API reference) —
36
36
  // never guess. Source recipe (authoritative): wix-headless/references/inline-recipes/setup-bookings.md.
37
37
 
38
38
  const API = "https://www.wixapis.com";