@wix/agent-skills 1.18.0 → 1.18.2
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/package.json +1 -1
- package/skills/wix-app/SKILL.md +4 -4
- package/skills/wix-app/references/APP_VALIDATION.md +7 -33
- package/skills/wix-app/references/DASHBOARD_PAGE.md +18 -14
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +75 -92
- package/skills/wix-app/references/WIX_PATTERNS_DOCS.md +23 -26
- package/skills/wix-app/references/dashboard-page/COLLECTION_TOOLKIT.md +7 -6
- package/skills/wix-app/references/dashboard-page/ENTITY_PAGE_TOOLKIT.md +71 -4
- package/skills/wix-app/references/dashboard-page/PATTERNS_BUNDLE_READING.md +67 -7
- package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +1 -1
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +9 -6
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONTRACT.md +59 -89
- package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +23 -4
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +29 -14
- package/skills/wix-base44-connector/SKILL.md +168 -48
- package/skills/wix-base44-connector/scripts/{utils.js → utils.cjs} +69 -48
- package/skills/wix-docs/SKILL.md +109 -111
- package/skills/wix-docs/references/API_SPEC_SEARCH.md +35 -23
- package/skills/wix-docs/references/CALLING.md +91 -0
- package/skills/wix-docs/references/EXTRACTING.md +5 -3
- package/skills/wix-headless/references/DOC_DISCOVERY.md +9 -3
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +57 -10
- package/skills/wix-manage/SKILL.md +106 -92
- package/skills/wix-manage/references/dashboard-navigation/routes.json +12 -52
- package/skills/wix-manage/references/ecommerce/shipping/ecom-shipping-api.md +0 -2
- package/skills/wix-manage/references/forms/create-form.md +272 -184
- package/skills/wix-manage/references/forms/forms-dashboard-navigation.md +13 -10
- package/skills/wix-manage/references/forms/update-form.md +122 -0
- package/skills/wix-manage/references/media/generate-image-with-ai.md +86 -0
- package/skills/wix-manage/references/seo/manage-content-plan.md +247 -0
- package/skills/wix-manage/references/seo/manage-seo-tags.md +59 -6
- package/skills/wix-manage/references/stores/change-store-currency.md +10 -0
- package/skills/wix-manage/references/stores/create-product-catalog-v3.md +16 -1
- package/skills/wix-manage/references/stores/update-product-with-options.md +9 -0
- package/skills/wix-vibe-headless/SKILL.md +17 -18
- package/skills/wix-vibe-headless/install/pin-agents-md.cjs +1 -1
- package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +118 -0
- package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +55 -62
- package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +31 -29
- package/skills/wix-vibe-headless/platforms/base44.md +12 -5
- package/skills/wix-vibe-headless/platforms/generic.md +13 -12
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +4 -13
- package/skills/wix-vibe-headless/references/blog/seed/SEED.md +4 -8
- package/skills/wix-vibe-headless/references/blog/seed/{seed-blog.js → seed-blog.cjs} +2 -3
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +5 -14
- package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +5 -9
- package/skills/wix-vibe-headless/references/bookings/seed/{seed-bookings.js → seed-bookings.cjs} +2 -2
- package/skills/wix-vibe-headless/references/bookings/seed/{seed-rentals.js → seed-rentals.cjs} +3 -3
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +1 -1
- package/skills/wix-vibe-headless/references/cms/seed/SEED.md +2 -2
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +4 -13
- package/skills/wix-vibe-headless/references/events/seed/SEED.md +3 -7
- package/skills/wix-vibe-headless/references/events/seed/{seed-events.js → seed-events.cjs} +2 -2
- package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +24 -7
- package/skills/wix-vibe-headless/references/forms/seed/SEED.md +91 -17
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +4 -13
- package/skills/wix-vibe-headless/references/members/seed/SEED.md +2 -3
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +4 -13
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +1 -1
- package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +3 -7
- package/skills/wix-vibe-headless/references/portfolio/seed/{seed-portfolio.js → seed-portfolio.cjs} +2 -2
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +5 -14
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +1 -1
- package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +3 -7
- package/skills/wix-vibe-headless/references/pricing-plans/seed/{seed-pricing-plans.js → seed-pricing-plans.cjs} +2 -2
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -15
- package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +3 -7
- package/skills/wix-vibe-headless/references/restaurants/seed/{seed-restaurants.js → seed-restaurants.cjs} +2 -2
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +359 -327
- package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +1 -0
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +2 -2
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +63 -78
- package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +59 -43
- package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +46 -10
- package/skills/wix-vibe-headless/references/storefront/seed/{seed-store.js → seed-store.cjs} +163 -25
- package/skills/wix-vibe-headless/references/storefront/app/pages/Shop.jsx +0 -75
|
@@ -71,12 +71,25 @@ exhaust the site's form allowance (read it from
|
|
|
71
71
|
[List Forms Providers Configs](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/list-forms-providers-configs)),
|
|
72
72
|
which is also why you must **never create throwaway forms to probe the shape.**
|
|
73
73
|
|
|
74
|
+
> **⚠️ `providers-config` tells you which namespaces the site can create in — NOT its limits.** A
|
|
75
|
+
> provider app declares `restrictions` **once, for all sites**, in its app dashboard; the Wix Forms
|
|
76
|
+
> app separately derives the site's real form/field/step limits from its **premium plan** and
|
|
77
|
+
> enforces them on every create. (A missing `restrictions` means default platform limits, not
|
|
78
|
+
> unlimited.) That is why free and unpublished sites report `maxFields: 150` / `maxForms: 150` here
|
|
79
|
+
> while the create rejects with `Field count reached its limit of 10` and
|
|
80
|
+
> `Steps count reached its limit of 3`. **The create call is the only authority** — when it returns
|
|
81
|
+
> a count error, go to "Plan gates" below.
|
|
82
|
+
|
|
74
83
|
### STEP 2: Create each form schema
|
|
75
84
|
|
|
76
85
|
**One POST per form** to `https://www.wixapis.com/form-schema-service/v4/forms`. How many forms, and
|
|
77
86
|
each form's fields and labels, come from the request you're fulfilling; this step gives the call and
|
|
78
87
|
the required format. Forms are independent (no shared revision), so concurrent creates are safe.
|
|
79
88
|
|
|
89
|
+
**Every body carries `"namespace": "wix.form_app.form"`** — the same literal the reads below take as
|
|
90
|
+
their required `?namespace=`. A form created under anything else is reachable over the API and
|
|
91
|
+
invisible in the dashboard and Editor.
|
|
92
|
+
|
|
80
93
|
**⚠️ Generate every `id` in the shell as a lowercase UUID v4 — never type one from memory**
|
|
81
94
|
(`uuidgen | tr 'A-Z' 'a-z'`). Supply them at create rather than omitting them: `steps` must
|
|
82
95
|
reference each field by `fieldId` in the same request.
|
|
@@ -96,9 +109,18 @@ step unless the request needs multiple pages.
|
|
|
96
109
|
beside `target`/`inputType`:
|
|
97
110
|
|
|
98
111
|
```jsonc
|
|
99
|
-
"inputOptions": {
|
|
100
|
-
"
|
|
101
|
-
|
|
112
|
+
"inputOptions": {
|
|
113
|
+
"target": "first_name",
|
|
114
|
+
"required": true, // HERE — beside target/inputType
|
|
115
|
+
"pii": true,
|
|
116
|
+
"contactMapping": { "contactField": "FIRST_NAME" }, // per field; this is what creates the contact
|
|
117
|
+
"inputType": "STRING",
|
|
118
|
+
"stringOptions": {
|
|
119
|
+
"validation": {}, // always present, even empty — never `required`
|
|
120
|
+
"componentType": "TEXT_INPUT",
|
|
121
|
+
"textInputOptions": { "label": "First name", "showLabel": true }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
102
124
|
```
|
|
103
125
|
|
|
104
126
|
A `required` key inside `stringOptions.validation` — or any `<inputType>Options.validation`, since no
|
|
@@ -126,12 +148,21 @@ surface in the dashboard or on the first real submission.
|
|
|
126
148
|
Three plan-tier limits return a real `400` on create. **Do not work around any of them; tell the user
|
|
127
149
|
to reduce or upgrade.**
|
|
128
150
|
|
|
129
|
-
-
|
|
130
|
-
|
|
151
|
+
- **Field count — two caps, counting different things.** `Field count reached its limit of N` is the
|
|
152
|
+
**premium** cap the Wix Forms app enforces from the site's plan, and it counts **`INPUT` fields
|
|
153
|
+
only** (display elements and the `SUBMIT_BUTTON` don't count). `FORM_FIELDS_COUNT_EXCEEDED` /
|
|
154
|
+
`FIELDS_COUNT_RESTRICTIONS_ERROR` is the schema-service cap, which counts **every** field
|
|
155
|
+
including display elements. **Do NOT split the form into multiple schemas** to dodge either — that
|
|
156
|
+
trades one submission record for several and consumes more of the site's form allowance. Reduce
|
|
157
|
+
the field count, or upgrade.
|
|
158
|
+
- **`Steps count reached its limit of N`** — the premium cap on `steps.length`. Collapse the form
|
|
159
|
+
into fewer pages, or upgrade. Conditions (`formRules`) are capped the same way. Neither has a
|
|
160
|
+
schema-service equivalent, so neither appears in the Create Form error table.
|
|
131
161
|
- **`FILE_UPLOAD_RESTRICTIONS_ERROR`** — a file upload, signature, or payment field on a plan below
|
|
132
162
|
Core. **Do NOT suggest inlining files as base64** — it stores no real file, gives the owner nothing
|
|
133
163
|
usable, and blows past submission size limits. Drop the field, or upgrade.
|
|
134
|
-
- **`FORMS_COUNT_RESTRICTIONS_ERROR`**
|
|
164
|
+
- **`FORMS_COUNT_RESTRICTIONS_ERROR`** / **`NAMESPACE_FORMS_COUNT_EXCEEDED`** (and
|
|
165
|
+
`NAMESPACE_DELETED_FORMS_COUNT_EXCEEDED` for the trash bin) — the site hit its plan's total-form cap. Upgrade, or free a
|
|
135
166
|
slot (STEP 1's list-then-delete — but only delete forms that are clearly install sample data; ask
|
|
136
167
|
before deleting anything that could be the owner's real form).
|
|
137
168
|
|
|
@@ -167,10 +198,19 @@ A `200` on create is not proof the form is queryable or that the dashboard will
|
|
|
167
198
|
`formSummary.fields` is NON-EMPTY**, with a count equal to **every input field you sent** (i.e.
|
|
168
199
|
`formFields[]` minus the `SUBMIT_BUTTON`). A 6-input form returns all 6 — **including non-contact
|
|
169
200
|
`DROPDOWN` and `TEXT_AREA` fields** — so do *not* expect only the contact-mapped ones. This is
|
|
170
|
-
the
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
201
|
+
the dashboard-truth check for *placement*. A `summary.fields: []`, or a count short of your
|
|
202
|
+
inputs, means the form renders blank (or partly blank) for the owner even though the public site
|
|
203
|
+
submits fine — **do not report success; fix the layout placement or the GUID casing and
|
|
204
|
+
re-create.**
|
|
205
|
+
|
|
206
|
+
**⚠️ This step does NOT prove the `identifier`s are right, so check them in step 1.** An
|
|
207
|
+
unrecognized `identifier` is accepted and stored: it comes back in `formFields[]` and accepts
|
|
208
|
+
submissions, so every API-level check passes — but the **Wix Forms editor cannot render a field
|
|
209
|
+
it doesn't recognize**, so the owner can't see or edit it, and a form built entirely from
|
|
210
|
+
invented identifiers opens **empty** in the editor. Whether such a field is also omitted from
|
|
211
|
+
`formSummary.fields` is unverified, so don't rely on this count to catch it. Assert every
|
|
212
|
+
returned `formFields[].identifier` against the known values in About Form Fields — a plain string
|
|
213
|
+
comparison, no extra call.
|
|
174
214
|
|
|
175
215
|
3. **⚠️ If the form has a multi-choice ARRAY field (`CHECKBOX_GROUP` / `TAGS`), the two checks above
|
|
176
216
|
are NOT enough — send one real `createSubmission`.** A malformed `arrayOptions.validation.items`
|
|
@@ -201,9 +241,16 @@ To change a form the request has since revised — add a field, relabel one, tig
|
|
|
201
241
|
[Update Form](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/update-form):
|
|
202
242
|
|
|
203
243
|
```
|
|
244
|
+
GET https://www.wixapis.com/form-schema-service/v4/forms?namespace=wix.form_app.form&formIds={formId}
|
|
204
245
|
PATCH https://www.wixapis.com/form-schema-service/v4/forms/{formId}
|
|
246
|
+
{ "form": { …the whole object you just read, with your change…, "revision": "<its current revision>" } }
|
|
205
247
|
```
|
|
206
248
|
|
|
249
|
+
**Read the form back first** — the `PATCH` needs its current `revision`, and `formFields` is replaced
|
|
250
|
+
wholesale (anything missing from the array you send moves to `deletedFormFields`), so the read-back
|
|
251
|
+
*is* the body. The read needs the **required** `?namespace=wix.form_app.form`; without it it `400`s
|
|
252
|
+
with `namespace must not be empty` — a violation naming a field, so it misreads as a body problem.
|
|
253
|
+
|
|
207
254
|
**Prefer updating over delete-and-recreate.** An update keeps the `formId` the handoff already
|
|
208
255
|
carries and consumes no additional slot against the site's form cap. **Re-run STEP 3 after any update**
|
|
209
256
|
— it can regress the layout or the dashboard summary exactly as a create can.
|