@wix/agent-skills 1.33.1 → 1.35.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 (619) hide show
  1. package/README.md +3 -0
  2. package/package.json +1 -1
  3. package/skills/wix-export/SKILL.md +83 -0
  4. package/skills/wix-harmony-editor/.publish-manifest.json +8 -0
  5. package/skills/wix-harmony-editor/COPY-SITE.md +494 -0
  6. package/skills/wix-harmony-editor/SKILL.md +317 -0
  7. package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +249 -0
  8. package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +225 -0
  9. package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +89 -0
  10. package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +76 -0
  11. package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +212 -0
  12. package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +44 -0
  13. package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +45 -0
  14. package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +53 -0
  15. package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +76 -0
  16. package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +16 -0
  17. package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +150 -0
  18. package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +27 -0
  19. package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +56 -0
  20. package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +211 -0
  21. package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +29 -0
  22. package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +92 -0
  23. package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +56 -0
  24. package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +73 -0
  25. package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +67 -0
  26. package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +102 -0
  27. package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +40 -0
  28. package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +191 -0
  29. package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +61 -0
  30. package/skills/wix-harmony-editor/scripts/launch.sh +359 -0
  31. package/skills/wix-headless/SKILL.md +7 -2
  32. package/skills/wix-headless/references/CAPABILITIES.md +6 -1
  33. package/skills/wix-headless/references/DISCOVERY.md +2 -1
  34. package/skills/wix-headless/references/SDK_HANDOFF.md +6 -1
  35. package/skills/wix-headless/references/SEED.md +3 -2
  36. package/skills/wix-headless/references/SETUP.md +1 -0
  37. package/skills/wix-headless/references/inline-recipes/experience-donations.md +102 -0
  38. package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +146 -0
  39. package/skills/wix-headless/references/inline-recipes/setup-donations.md +15 -0
  40. package/skills/wix-headless/references/managed/CREATE.md +1 -1
  41. package/skills/wix-headless-kit/SKILL.md +110 -21
  42. package/skills/wix-headless-kit/guides/api-run.md +15 -13
  43. package/skills/wix-headless-kit/guides/existing-site.md +31 -0
  44. package/skills/wix-headless-kit/guides/migration.md +49 -17
  45. package/skills/wix-headless-kit/install/agents-md.mjs +1 -1
  46. package/skills/wix-headless-kit/install/context.mjs +61 -6
  47. package/skills/wix-headless-kit/install/pins.json +1 -1
  48. package/skills/wix-headless-kit/install/setup.mjs +107 -12
  49. package/skills/wix-headless-replatform/.publish-manifest.json +8 -0
  50. package/skills/wix-headless-replatform/SKILL.md +116 -0
  51. package/skills/wix-headless-replatform/agents/openai.yaml +6 -0
  52. package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +43 -0
  53. package/skills/wix-headless-replatform/references/extraction-schema.md +187 -0
  54. package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +137 -0
  55. package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +41 -0
  56. package/skills/wix-headless-replatform/references/output-contract.md +93 -0
  57. package/skills/wix-headless-replatform/references/post-build-gap-contract.md +125 -0
  58. package/skills/wix-headless-replatform/references/qa-checklist.md +83 -0
  59. package/skills/wix-headless-replatform/references/safety.md +19 -0
  60. package/skills/wix-headless-replatform/references/ui-normalization-contract.md +70 -0
  61. package/skills/wix-headless-replatform/references/workflow.md +157 -0
  62. package/skills/wix-headless-replatform/registry/README.md +20 -0
  63. package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +28 -0
  64. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +54 -0
  65. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +60 -0
  66. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +48 -0
  67. package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +21 -0
  68. package/skills/wix-headless-replatform/registry/registry.json +36 -0
  69. package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +32 -0
  70. package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +62 -0
  71. package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +64 -0
  72. package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +42 -0
  73. package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +73 -0
  74. package/skills/wix-headless-replatform/schemas/build-plan.schema.json +10 -0
  75. package/skills/wix-headless-replatform/schemas/candidate.schema.json +19 -0
  76. package/skills/wix-headless-replatform/schemas/common.schema.json +33 -0
  77. package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +10 -0
  78. package/skills/wix-headless-replatform/schemas/decision-request.schema.json +10 -0
  79. package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +28 -0
  80. package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +34 -0
  81. package/skills/wix-headless-replatform/schemas/final-report.schema.json +10 -0
  82. package/skills/wix-headless-replatform/schemas/foundation.schema.json +11 -0
  83. package/skills/wix-headless-replatform/schemas/metadata.schema.json +11 -0
  84. package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +17 -0
  85. package/skills/wix-headless-replatform/schemas/page-capture.schema.json +11 -0
  86. package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +33 -0
  87. package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +11 -0
  88. package/skills/wix-headless-replatform/schemas/unit.schema.json +40 -0
  89. package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +844 -0
  90. package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +163 -0
  91. package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +42 -0
  92. package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +228 -0
  93. package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +87 -0
  94. package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +505 -0
  95. package/skills/wix-headless-replatform/scripts/discover-urls.mjs +142 -0
  96. package/skills/wix-headless-replatform/scripts/extract-assets.mjs +140 -0
  97. package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +637 -0
  98. package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +1903 -0
  99. package/skills/wix-headless-replatform/scripts/extract-page.mjs +2461 -0
  100. package/skills/wix-headless-replatform/scripts/extract-seo.mjs +25 -0
  101. package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +63 -0
  102. package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +126 -0
  103. package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +180 -0
  104. package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +98 -0
  105. package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +103 -0
  106. package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +176 -0
  107. package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +261 -0
  108. package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +25 -0
  109. package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +342 -0
  110. package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +140 -0
  111. package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +22 -0
  112. package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +143 -0
  113. package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +288 -0
  114. package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +266 -0
  115. package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +111 -0
  116. package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +570 -0
  117. package/skills/wix-headless-replatform/scripts/lib/common.mjs +329 -0
  118. package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +121 -0
  119. package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +282 -0
  120. package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +61 -0
  121. package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +374 -0
  122. package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +243 -0
  123. package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +1139 -0
  124. package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +326 -0
  125. package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +184 -0
  126. package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +396 -0
  127. package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +168 -0
  128. package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +10 -0
  129. package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +194 -0
  130. package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +348 -0
  131. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +141 -0
  132. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +43 -0
  133. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +18 -0
  134. package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +64 -0
  135. package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +31 -0
  136. package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +358 -0
  137. package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +25 -0
  138. package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +39 -0
  139. package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +107 -0
  140. package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +96 -0
  141. package/skills/wix-headless-replatform/scripts/site-clone.mjs +658 -0
  142. package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +29 -0
  143. package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +669 -0
  144. package/skills/wix-headless-replatform/scripts/visual-qa.mjs +370 -0
  145. package/skills/wix-headless-templates/donations/INSTRUCTIONS.md +37 -24
  146. package/skills/wix-headless-templates/donations/app/components/donations/DonateForm.tsx +49 -23
  147. package/skills/wix-headless-templates/donations/app/components/donations/DonationReceipt.tsx +6 -5
  148. package/skills/wix-headless-templates/donations/app/components/donations/GoalProgress.tsx +5 -5
  149. package/skills/wix-headless-templates/donations/app/wix/donations/campaigns.ts +4 -4
  150. package/skills/wix-headless-templates/donations/app/wix/donations/donate.ts +7 -3
  151. package/skills/wix-headless-templates/donations/app/wix/donations/donation-store.ts +2 -2
  152. package/skills/wix-headless-templates/donations/app/wix/donations/donations-core.ts +12 -9
  153. package/skills/wix-headless-templates/donations/project/src/components/donations/DonateForm.tsx +49 -23
  154. package/skills/wix-headless-templates/donations/project/src/components/donations/DonationReceipt.tsx +6 -5
  155. package/skills/wix-headless-templates/donations/project/src/components/donations/GoalProgress.tsx +5 -5
  156. package/skills/wix-headless-templates/donations/project/src/wix/donations/campaigns.ts +4 -4
  157. package/skills/wix-headless-templates/donations/project/src/wix/donations/donate.ts +7 -3
  158. package/skills/wix-headless-templates/donations/project/src/wix/donations/donation-store.ts +2 -2
  159. package/skills/wix-headless-templates/donations/project/src/wix/donations/donations-core.ts +12 -9
  160. package/skills/wix-headless-templates/donations/rest/campaigns.ts +4 -4
  161. package/skills/wix-headless-templates/donations/rest/donate.ts +7 -3
  162. package/skills/wix-headless-templates/donations/seed/SEED.md +12 -7
  163. package/skills/wix-headless-templates/donations/tests/donation-contract.test.mjs +71 -0
  164. package/skills/wix-headless-templates/donations/tests/donation-form.test.cjs +137 -0
  165. package/skills/wix-headless-templates/restaurants/INSTRUCTIONS.md +28 -14
  166. package/skills/wix-headless-templates/restaurants/app/components/restaurants/OrderCartDrawer.tsx +87 -5
  167. package/skills/wix-headless-templates/restaurants/app/hooks/restaurants/useOrderCart.ts +9 -1
  168. package/skills/wix-headless-templates/restaurants/app/wix/restaurants/order-store.ts +33 -4
  169. package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering-core.ts +100 -5
  170. package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering.ts +101 -15
  171. package/skills/wix-headless-templates/restaurants/app/wix/restaurants/types.ts +35 -1
  172. package/skills/wix-headless-templates/restaurants/project/src/components/restaurants/OrderCartDrawer.tsx +87 -5
  173. package/skills/wix-headless-templates/restaurants/project/src/hooks/restaurants/useOrderCart.ts +9 -1
  174. package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/order-store.ts +33 -4
  175. package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering-core.ts +100 -5
  176. package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering.ts +101 -15
  177. package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/types.ts +35 -1
  178. package/skills/wix-headless-templates/restaurants/rest/ordering.ts +91 -14
  179. package/skills/wix-import/SKILL.md +90 -0
  180. package/skills/wix-manage/SKILL.md +14 -4
  181. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +2 -0
  182. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +2 -1
  183. package/skills/wix-manage/references/dashboard-navigation/routes.json +249 -0
  184. package/skills/wix-manage/references/donations/create-and-update-donation-campaigns.md +139 -0
  185. package/skills/wix-manage/references/events/events-dashboard-navigation.md +81 -0
  186. package/skills/wix-manage/references/seo/manage-content-plan.md +207 -222
  187. package/skills/wix-manage/references/sites/manage-oauth-apps.md +1 -0
  188. package/skills/wix-manage/references/sites/upload-static-site.md +128 -8
  189. package/skills/wix-readme/SKILL.md +166 -0
  190. package/skills/wix-replatform/.publish-manifest.json +5 -5
  191. package/skills/wix-replatform/CLI.md +162 -0
  192. package/skills/wix-replatform/README.md +52 -0
  193. package/skills/wix-replatform/SKILL.md +229 -684
  194. package/skills/wix-replatform/console/account.css +1 -0
  195. package/skills/wix-replatform/console/app.css +1 -0
  196. package/skills/wix-replatform/console/app.js +117 -0
  197. package/skills/wix-replatform/console/index.html +4 -0
  198. package/skills/wix-replatform/console/json.css +11 -0
  199. package/skills/wix-replatform/lib/agent-adapters/index.js +71 -0
  200. package/skills/wix-replatform/lib/app-page-routing.js +75 -0
  201. package/skills/wix-replatform/lib/artifact-freshness.js +11 -1
  202. package/skills/wix-replatform/lib/blocked-data-requests.js +427 -0
  203. package/skills/wix-replatform/lib/census-reconciliation.js +426 -0
  204. package/skills/wix-replatform/lib/completion-report.js +1393 -13
  205. package/skills/wix-replatform/lib/config-env.js +85 -11
  206. package/skills/wix-replatform/lib/confirmed-pictures.js +212 -0
  207. package/skills/wix-replatform/lib/dependency-readiness.js +423 -0
  208. package/skills/wix-replatform/lib/dependency-recovery.js +21 -0
  209. package/skills/wix-replatform/lib/destination-choice.js +163 -0
  210. package/skills/wix-replatform/lib/destination-handoff.js +62 -0
  211. package/skills/wix-replatform/lib/destination-http.js +81 -0
  212. package/skills/wix-replatform/lib/destination-route.js +98 -0
  213. package/skills/wix-replatform/lib/destination.js +919 -0
  214. package/skills/wix-replatform/lib/discovered-census.js +231 -0
  215. package/skills/wix-replatform/lib/discovered-set-status.js +255 -0
  216. package/skills/wix-replatform/lib/document-url-guard.js +203 -0
  217. package/skills/wix-replatform/lib/entity-qa-attestation.js +339 -0
  218. package/skills/wix-replatform/lib/entity-verification.js +18 -0
  219. package/skills/wix-replatform/lib/execution-capability.js +120 -0
  220. package/skills/wix-replatform/lib/execution-log.js +170 -0
  221. package/skills/wix-replatform/lib/execution-manifest.js +20 -2
  222. package/skills/wix-replatform/lib/execution-state.js +22 -0
  223. package/skills/wix-replatform/lib/expectations-ledger.js +96 -0
  224. package/skills/wix-replatform/lib/generated-plugin-handoff.js +140 -0
  225. package/skills/wix-replatform/lib/import-readiness-contract.js +23 -0
  226. package/skills/wix-replatform/lib/import-recovery.js +800 -6
  227. package/skills/wix-replatform/lib/imported-redirect-targets.js +608 -0
  228. package/skills/wix-replatform/lib/internal-link-reconciliation.js +166 -0
  229. package/skills/wix-replatform/lib/link-audit.js +173 -0
  230. package/skills/wix-replatform/lib/link-census.js +194 -0
  231. package/skills/wix-replatform/lib/link-plan.js +148 -0
  232. package/skills/wix-replatform/lib/link-verification.js +274 -0
  233. package/skills/wix-replatform/lib/link-write-journal.js +42 -0
  234. package/skills/wix-replatform/lib/local-state.js +869 -30
  235. package/skills/wix-replatform/lib/member-completion.js +658 -0
  236. package/skills/wix-replatform/lib/member-crosswalk.js +69 -0
  237. package/skills/wix-replatform/lib/member-outcome-registry.js +265 -0
  238. package/skills/wix-replatform/lib/migration-completion.js +311 -0
  239. package/skills/wix-replatform/lib/operator-identity.js +47 -0
  240. package/skills/wix-replatform/lib/orchestration-decisions.js +248 -0
  241. package/skills/wix-replatform/lib/orchestration-preflight.js +401 -19
  242. package/skills/wix-replatform/lib/orchestration-router.js +608 -32
  243. package/skills/wix-replatform/lib/orchestration-state.js +188 -12
  244. package/skills/wix-replatform/lib/order-reference-readiness.js +30 -0
  245. package/skills/wix-replatform/lib/payments-outcome-registry.js +200 -0
  246. package/skills/wix-replatform/lib/plugin-cms-fallback.js +618 -0
  247. package/skills/wix-replatform/lib/preservation-approval-stamp.js +54 -0
  248. package/skills/wix-replatform/lib/product-media-deferral.js +96 -0
  249. package/skills/wix-replatform/lib/progress-log.js +19 -3
  250. package/skills/wix-replatform/lib/read-back-approval.js +184 -0
  251. package/skills/wix-replatform/lib/read-back-comparison.js +136 -0
  252. package/skills/wix-replatform/lib/read-back-contract.js +243 -0
  253. package/skills/wix-replatform/lib/read-back-extract.js +118 -0
  254. package/skills/wix-replatform/lib/read-back-gate.js +734 -0
  255. package/skills/wix-replatform/lib/read-back-reads.js +94 -0
  256. package/skills/wix-replatform/lib/read-back-state.js +107 -0
  257. package/skills/wix-replatform/lib/read-back-summary.js +81 -0
  258. package/skills/wix-replatform/lib/rerun-conflicts.js +334 -0
  259. package/skills/wix-replatform/lib/run-controller.js +401 -0
  260. package/skills/wix-replatform/lib/seo-outcome-registry.js +45 -0
  261. package/skills/wix-replatform/lib/setup-verification.js +148 -0
  262. package/skills/wix-replatform/lib/source-access.js +231 -0
  263. package/skills/wix-replatform/lib/source-coverage.js +1130 -0
  264. package/skills/wix-replatform/lib/source-secrets.js +277 -0
  265. package/skills/wix-replatform/lib/structured-link-patch.js +59 -0
  266. package/skills/wix-replatform/lib/task-state.js +110 -0
  267. package/skills/wix-replatform/lib/url-preservation-report.js +319 -0
  268. package/skills/wix-replatform/lib/url-preservation-state.js +349 -1
  269. package/skills/wix-replatform/lib/url-redirect-plan.js +728 -0
  270. package/skills/wix-replatform/lib/url-verification.js +315 -0
  271. package/skills/wix-replatform/lib/user-action-effects.js +42 -0
  272. package/skills/wix-replatform/lib/user-actions.js +264 -0
  273. package/skills/wix-replatform/lib/website-handoff.js +1220 -0
  274. package/skills/wix-replatform/lib/wix-client-callers.js +54 -0
  275. package/skills/wix-replatform/lib/wix-dashboard-url.js +35 -0
  276. package/skills/wix-replatform/lib/write-verification-state.js +92 -0
  277. package/skills/wix-replatform/lib/write-verification.js +274 -0
  278. package/skills/wix-replatform/resources/rp-destination/SKILL.md +137 -0
  279. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +189 -16
  280. package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +47 -0
  281. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +869 -29
  282. package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +70 -0
  283. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +195 -29
  284. package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +442 -0
  285. package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +112 -0
  286. package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +143 -0
  287. package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +244 -0
  288. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +2082 -38
  289. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +528 -11
  290. package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +303 -0
  291. package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +88 -0
  292. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +6 -5
  293. package/skills/wix-replatform/resources/rp-preflight/SKILL.md +40 -0
  294. package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +55 -0
  295. package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +60 -0
  296. package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +89 -0
  297. package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +36 -0
  298. package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +123 -0
  299. package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +124 -0
  300. package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +522 -0
  301. package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +56 -0
  302. package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +91 -0
  303. package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +255 -0
  304. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +80 -10
  305. package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +44 -0
  306. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +3 -0
  307. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  308. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +21 -1
  309. package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +66 -0
  310. package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +153 -0
  311. package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +394 -0
  312. package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +200 -0
  313. package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +34 -0
  314. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +44 -0
  315. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +1470 -0
  316. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +446 -0
  317. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +474 -0
  318. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +879 -0
  319. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +426 -0
  320. package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +24 -0
  321. package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +18 -0
  322. package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +40 -0
  323. package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +76 -0
  324. package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +51 -0
  325. package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +35 -0
  326. package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +20 -0
  327. package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +18 -0
  328. package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +31 -0
  329. package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +21 -0
  330. package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +21 -0
  331. package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +30 -0
  332. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +150 -0
  333. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +36 -0
  334. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +48 -0
  335. package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +20 -0
  336. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +8 -0
  337. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +6 -0
  338. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +8 -0
  339. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +8 -0
  340. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +12 -0
  341. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +6 -0
  342. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +13 -0
  343. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +13 -0
  344. package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +73 -0
  345. package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +13 -0
  346. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +693 -0
  347. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +283 -0
  348. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +191 -0
  349. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +115 -0
  350. package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +201 -0
  351. package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +146 -0
  352. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +736 -22
  353. package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +73 -0
  354. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +115 -0
  355. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +91 -0
  356. package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +440 -0
  357. package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +125 -0
  358. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +252 -0
  359. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +183 -0
  360. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +333 -0
  361. package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +426 -0
  362. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +400 -0
  363. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +633 -0
  364. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +1127 -0
  365. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +194 -0
  366. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +100 -0
  367. package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +157 -0
  368. package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +234 -0
  369. package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +101 -0
  370. package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +755 -0
  371. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +1074 -0
  372. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +149 -0
  373. package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +25 -0
  374. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +204 -9
  375. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +186 -0
  376. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +1422 -0
  377. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +343 -0
  378. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +262 -26
  379. package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +272 -0
  380. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +373 -0
  381. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +101 -0
  382. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +81 -0
  383. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +128 -0
  384. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +18 -0
  385. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +104 -0
  386. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +44 -0
  387. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +49 -0
  388. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +94 -0
  389. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +863 -0
  390. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +52 -0
  391. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +161 -0
  392. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +180 -0
  393. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +286 -0
  394. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +79 -0
  395. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +120 -0
  396. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +128 -0
  397. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +88 -0
  398. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +80 -0
  399. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +46 -0
  400. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +55 -0
  401. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +99 -0
  402. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +55 -0
  403. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +160 -0
  404. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +81 -0
  405. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +60 -0
  406. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +74 -0
  407. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +75 -0
  408. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +60 -0
  409. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +44 -0
  410. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +57 -0
  411. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +141 -0
  412. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +54 -0
  413. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +158 -0
  414. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +97 -0
  415. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +86 -0
  416. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +90 -0
  417. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +51 -0
  418. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +103 -0
  419. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +1668 -33
  420. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +273 -0
  421. package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +11 -0
  422. package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +13 -0
  423. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +446 -32
  424. package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +36 -0
  425. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +38 -2
  426. package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +322 -0
  427. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +70 -0
  428. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -9
  429. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +42 -8
  430. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +54 -8
  431. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +66 -10
  432. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +38 -7
  433. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +332 -0
  434. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +75 -0
  435. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +181 -0
  436. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +130 -0
  437. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +180 -0
  438. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +161 -0
  439. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +15 -4
  440. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +39 -7
  441. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +47 -8
  442. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +7 -1
  443. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +204 -0
  444. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +17 -4
  445. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +159 -15
  446. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +80 -12
  447. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +48 -8
  448. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +306 -0
  449. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +30 -7
  450. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +171 -0
  451. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +182 -0
  452. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +129 -0
  453. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +192 -0
  454. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +123 -0
  455. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +60 -12
  456. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +112 -0
  457. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +191 -0
  458. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +140 -13
  459. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +383 -18
  460. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +122 -0
  461. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +98 -0
  462. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +86 -0
  463. package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +128 -0
  464. package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +38 -0
  465. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +73 -0
  466. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +107 -0
  467. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +89 -0
  468. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +118 -0
  469. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +93 -0
  470. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +86 -0
  471. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +56 -0
  472. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +121 -0
  473. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +134 -0
  474. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +41 -0
  475. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +50 -0
  476. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +87 -0
  477. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +130 -0
  478. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +914 -24
  479. package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +41 -0
  480. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -4
  481. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +45 -8
  482. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +41 -7
  483. package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +119 -0
  484. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -3
  485. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +41 -7
  486. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +82 -0
  487. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +77 -0
  488. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +165 -13
  489. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +41 -0
  490. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +46 -0
  491. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +137 -0
  492. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +133 -0
  493. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +7 -0
  494. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +36 -0
  495. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +71 -0
  496. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +67 -0
  497. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +72 -0
  498. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +74 -0
  499. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +69 -0
  500. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +61 -0
  501. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +28 -1
  502. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +109 -0
  503. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +73 -0
  504. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +148 -0
  505. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +91 -0
  506. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +79 -0
  507. package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +32 -0
  508. package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +49 -0
  509. package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +103 -0
  510. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +203 -0
  511. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +27 -10
  512. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +119 -0
  513. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +111 -0
  514. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +52 -8
  515. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +214 -10
  516. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +93 -13
  517. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +111 -0
  518. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +52 -10
  519. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +145 -14
  520. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +84 -0
  521. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +178 -0
  522. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +87 -0
  523. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +106 -0
  524. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +64 -0
  525. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +119 -0
  526. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +94 -0
  527. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +113 -0
  528. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +65 -0
  529. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +165 -0
  530. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +60 -0
  531. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +201 -0
  532. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +306 -0
  533. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +229 -0
  534. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +55 -0
  535. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +715 -0
  536. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +567 -0
  537. package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +73 -0
  538. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +194 -0
  539. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +133 -0
  540. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +13 -4
  541. package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +491 -0
  542. package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +104 -0
  543. package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +673 -0
  544. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +453 -2
  545. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +119 -0
  546. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +566 -0
  547. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +249 -0
  548. package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +63 -0
  549. package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +187 -0
  550. package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +64 -0
  551. package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +1027 -0
  552. package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +90 -0
  553. package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +420 -0
  554. package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +177 -0
  555. package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +151 -0
  556. package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +723 -0
  557. package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +353 -0
  558. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +1437 -0
  559. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +354 -0
  560. package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +134 -0
  561. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +221 -0
  562. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +248 -0
  563. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +86 -3
  564. package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +231 -0
  565. package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +28 -0
  566. package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +14 -0
  567. package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +34 -0
  568. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +166 -15
  569. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +19 -2
  570. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +4079 -257
  571. package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +3 -0
  572. package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +150 -0
  573. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +40 -2
  574. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +6 -1
  575. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +148 -8
  576. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +83 -15
  577. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1119 -215
  578. package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +318 -0
  579. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +2 -2
  580. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +106 -4
  581. package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +94 -0
  582. package/skills/wix-replatform/scripts/census-reconciliation.js +25 -0
  583. package/skills/wix-replatform/scripts/cms-fallback.js +89 -0
  584. package/skills/wix-replatform/scripts/discovered-census.js +26 -0
  585. package/skills/wix-replatform/scripts/discovered-set-status.js +33 -0
  586. package/skills/wix-replatform/scripts/entity-qa-attestation.js +130 -0
  587. package/skills/wix-replatform/scripts/execution-health-check.js +415 -0
  588. package/skills/wix-replatform/scripts/execution-manifest-validate.js +1 -1
  589. package/skills/wix-replatform/scripts/execution-state-prepare.js +1 -1
  590. package/skills/wix-replatform/scripts/expectations-ledger.js +44 -0
  591. package/skills/wix-replatform/scripts/import-contract-verify.js +183 -0
  592. package/skills/wix-replatform/scripts/internal-link-audit.js +90 -0
  593. package/skills/wix-replatform/scripts/item-seo-tags-verify.js +205 -0
  594. package/skills/wix-replatform/scripts/migration-completion.js +76 -0
  595. package/skills/wix-replatform/scripts/orchestration-preflight.js +21 -2
  596. package/skills/wix-replatform/scripts/orchestration-route.js +32 -1
  597. package/skills/wix-replatform/scripts/orchestration-state.js +146 -10
  598. package/skills/wix-replatform/scripts/read-back-gate.js +175 -0
  599. package/skills/wix-replatform/scripts/replatform-console.js +146 -0
  600. package/skills/wix-replatform/scripts/replatform.js +436 -0
  601. package/skills/wix-replatform/scripts/source-secrets.js +77 -0
  602. package/skills/wix-replatform/scripts/url-redirects.js +286 -0
  603. package/skills/wix-replatform/scripts/user-action.js +58 -0
  604. package/skills/wix-replatform/scripts/website-handoff-generate.js +64 -0
  605. package/skills/wix-replatform/scripts/wix-dashboard-url.js +54 -0
  606. package/skills/wix-replatform/scripts/wix-destination.js +143 -0
  607. package/skills/wix-replatform/scripts/wix-headless-scaffold.js +762 -0
  608. package/skills/wix-vibe-headless/SKILL.md +7 -3
  609. package/skills/wix-vibe-headless/install/deploy.cjs +61 -34
  610. package/skills/wix-vibe-headless/platforms/base44.md +1 -0
  611. package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +88 -0
  612. package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +112 -0
  613. package/skills/wix-vibe-headless/references/donations/seed/SEED.md +11 -0
  614. package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +258 -0
  615. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -2
  616. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +4 -1
  617. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +67 -3
  618. package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +4 -3
  619. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +0 -330
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: "Events Dashboard Navigation"
3
+ description: "Builds direct links to Wix Events dashboard pages on manage.wix.com — the published and draft event lists, a new event, categories, staff, a recurring series' occurrences, and one event's pages: overview, edit, tickets, guests (RSVP or ticketed), orders, schedule, registration settings and form, and policies. Pairs each Events entity with its read API so you can fetch an entity and hand back a 'view it in your dashboard' link. Use when the user asks where something is in the Wix dashboard, wants a direct link to a dashboard page, or you need a dashboard URL to include with the result of an API operation."
4
+ ---
5
+
6
+ # Events Dashboard Navigation
7
+
8
+ Build direct links into the Wix Events pages of a site's dashboard. For the general URL contract
9
+ (metaSiteId, fallbacks, redirects), see [Dashboard Navigation](../dashboard-navigation/dashboard-navigation.md).
10
+
11
+ Every Events page is under the `events` namespace of the Wix Events app
12
+ (`140603ad-af8d-84a5-2c80-a0f60cb47351`). Take routes from these tables — don't build one from an
13
+ API path or a page title.
14
+
15
+ ## Main Pages
16
+
17
+ | Page | URL after `/dashboard/{metaSiteId}/` | What it manages |
18
+ |---|---|---|
19
+ | Events list | `events` | Published events (upcoming, past, cancelled) |
20
+ | Drafts | `events/drafts` | Unpublished events |
21
+ | New event | `events/new` | Create an event; add `?eventType=RSVP` or `?eventType=TICKETS`, and `&recurrenceStatus=RECURRING` for a series. `TICKETS` is the dashboard's value — the API's `registration.initialType` is `TICKETING`; don't swap them |
22
+ | Categories | `events/categories` | Site-wide event categories |
23
+ | Staff | `events/staff` | Staff who check guests in |
24
+ | Occurrences | `events/occurrences/{categoryId}` | All occurrences of a recurring series — `dateAndTimeSettings.recurringEvents.categoryId` |
25
+
26
+ ## One Event's Pages
27
+
28
+ An event's pages are `events/event/{eventId}/{tab}`. For an event whose `status` is `DRAFT`, insert
29
+ `draft/`: `events/event/draft/{eventId}/{tab}`. An unknown tab redirects to the overview.
30
+
31
+ | Page | `{tab}` | Notes |
32
+ |---|---|---|
33
+ | Overview | `overview` | |
34
+ | Edit details | `edit` | Title, date, location, description |
35
+ | Tickets | `tickets` | Ticketed events only |
36
+ | One ticket | `tickets/{ticketDefinitionId}` | Edit a ticket type |
37
+ | New ticket | `tickets/new` | |
38
+ | Guests — RSVP event | `rsvp-guests` | `registration.initialType` `RSVP` |
39
+ | One RSVP | `rsvp-guests/{rsvpId}` | |
40
+ | Guests — ticketed event | `ticketed-guests` | `registration.initialType` `TICKETING` |
41
+ | One ticket holder | `ticketed-guests/{ticketNumber}` | e.g. `FM9X-EHKF-ZO1P` |
42
+ | Orders | `orders` | Ticketed events only |
43
+ | One order | `orders/{orderNumber}` | e.g. `FM9X-EHKF-ZO` |
44
+ | Schedule (agenda) | `features/schedule` | |
45
+ | Video conferencing | `features/video-conferencing` | |
46
+ | Promotion | `promotions` | |
47
+ | Settings | `settings` | |
48
+ | Registration settings | `settings/registration-settings` | Open/close registration, guest limit, waitlist |
49
+ | Registration form | `settings/registration-form` | Form questions |
50
+ | Registration messages | `settings/registration-messages` | Confirmation texts; also `settings/registration-closed`, `settings/tickets-unavailable` |
51
+ | Policies | `settings/policies` | One policy: `settings/policies/{policyId}` |
52
+ | Ticket settings | `settings/tickets-settings` | Tickets per order, tax |
53
+ | Guest emails | `settings/rsvp-confirmation-email`, `settings/order-confirmation-email`, `settings/reminder-email`, `settings/cancellation-email`, `settings/waitlist-email` | |
54
+
55
+ Pick the guests tab from the event's type: `rsvp-guests` for RSVP events, `ticketed-guests` for
56
+ ticketed ones. Read it with `"fields": ["REGISTRATION"]` when you don't already have it.
57
+
58
+ ## Pairing Entities with Their Read APIs
59
+
60
+ Fetch the entity, then link its page.
61
+
62
+ | Entity | Read API | Dashboard link |
63
+ |---|---|---|
64
+ | Event | `POST https://www.wixapis.com/events/v3/events/query` · `GET https://www.wixapis.com/events/v3/events/{eventId}` | `events/event/{eventId}/overview` (`draft/` inserted for a draft) |
65
+ | Ticket definition | `POST https://www.wixapis.com/events/v3/ticket-definitions/query` | `events/event/{eventId}/tickets/{ticketDefinitionId}` |
66
+ | RSVP | `POST https://www.wixapis.com/events/v2/rsvps/search` | `events/event/{eventId}/rsvp-guests/{rsvpId}` |
67
+ | Order | `GET https://www.wixapis.com/events/v1/events/{eventId}/orders/{orderNumber}` · list: `GET https://www.wixapis.com/events/v1/orders?eventId={eventId}` | `events/event/{eventId}/orders/{orderNumber}` |
68
+ | Ticket | `GET https://www.wixapis.com/events/v1/tickets/{ticketNumber}?eventId={eventId}` · list: `GET https://www.wixapis.com/events/v1/tickets?eventId={eventId}` | `events/event/{eventId}/ticketed-guests/{ticketNumber}` |
69
+ | Policy | `POST https://www.wixapis.com/events/v2/policies/query` | `events/event/{eventId}/settings/policies/{policyId}` |
70
+ | Category | `POST https://www.wixapis.com/events/v1/categories/query` | `events/categories` |
71
+ | Recurring series | the event's `dateAndTimeSettings.recurringEvents.categoryId` | `events/occurrences/{categoryId}` |
72
+
73
+ See [Manage Wix Events](https://dev.wix.com/docs/api-reference/business-solutions/events/skills/manage-events#find-an-event) for finding an event by title, and
74
+ [Manage Event Guests](https://dev.wix.com/docs/api-reference/business-solutions/events/skills/manage-event-guests) for the guest reads.
75
+
76
+ Example — after adding a guest to a ticketed event:
77
+
78
+ ```
79
+ Added Sam Lee to Winter Gala.
80
+ Guest list: https://manage.wix.com/dashboard/{metaSiteId}/events/event/{eventId}/ticketed-guests
81
+ ```
@@ -1,293 +1,278 @@
1
1
  ---
2
2
  name: "Generate and Read a Wix Site's Content Plan"
3
- description: "Generate an SEO content plan and read its blog post topics, or troubleshoot an existing content plan flow stuck at KEYWORD_RESEARCH while polling GetContentPlanFlow. Use this recipe for both generation and stalled-flow questions: it explains the intentional pause, the Create Content Plan release request, missing flow IDs, and the exact public API paths and response fields."
3
+ description: "Generate an SEO content plan for a Wix site, read suggested blog post topics and keywords, or diagnose and continue an existing stalled generation flow, including requests with missing flow identifiers."
4
4
  ---
5
5
 
6
6
  # Generate and Read a Wix Site's Content Plan
7
7
 
8
- A **content plan** is a set of suggested blog post briefs, including titles,
9
- keywords, and the existing site pages they support. A **content plan flow** is
10
- the asynchronous job that generates those briefs. Its `contentPlanFlowId` is
11
- a flow UUID, distinct from the site's ID, and its `status` reports progress.
12
- Generation creates briefs, not published posts.
13
-
14
- `KEYWORD_RESEARCH` means keyword research is complete and the job is waiting
15
- for the **Create Content Plan** request to generate the briefs. This request
16
- releases the intentional pause; polling alone does not advance it.
17
-
18
- Use the selected site's authorization context. Trigger and Create Content Plan
19
- are writes requiring **Manage SEO Settings**; execute them when the user has
20
- requested generation or explicitly confirmed it.
21
-
22
- ## Resume or read an existing flow
23
-
24
- An existing flow is a job already started by a previous trigger, including one
25
- discussed earlier in the conversation. To finish it or read its results:
26
-
27
- 1. Find its actual `contentPlanFlowId` in the conversation or a previous
28
- trigger/status response. A site ID is not a flow ID, even though both are
29
- UUIDs. If the ID is missing, explain the intentional pause when the user
30
- reports `KEYWORD_RESEARCH`, ask for the flow ID, and end the turn without an
31
- API call. Never submit a placeholder. Do not offer a new flow or a different
32
- site as an alternative to recovering the ID.
33
- 2. Read that flow with
34
- `GET https://www.wixapis.com/promote/seo/v1/content-plan-flows/{contentPlanFlowId}`.
35
- Read `contentPlanFlow.status`; see the response and status table in
36
- [Check the flow status](#2-poll-until-keyword_research).
37
- 3. At `SUCCESS`, go directly to [Read the briefs](#5-read-the-briefs).
38
- At `KEYWORD_RESEARCH`, when completion is requested, call
39
- [Create Content Plan](#3-release-the-flow) once with this flow ID.
40
- For an earlier in-progress status, continue checking this same flow until
41
- it reaches the pause. If already at `CONTENT_PLAN`, continue to step 4
42
- without calling Create Content Plan again. For a terminal or unmet-requirement
43
- status, follow the status table and stop.
44
- 4. After Create Content Plan succeeds, retain its returned flow ID and
45
- [check until SUCCESS](#4-poll-until-success), then
46
- [read the briefs](#5-read-the-briefs). Do not trigger a replacement or release
47
- a successful flow just to retrieve its results.
48
-
49
- ## Generate a new plan
50
-
51
- When the user requests a new plan, follow these steps in order. The request and
52
- response examples for each step are in [API steps](#api-steps).
53
-
54
- 1. [Trigger](#1-trigger) once and retain the returned flow ID.
55
- 2. [Check the flow status](#2-poll-until-keyword_research) until `KEYWORD_RESEARCH`.
56
- 3. [Call Create Content Plan](#3-release-the-flow) once to continue generation.
57
- 4. [Check until SUCCESS](#4-poll-until-success).
58
- 5. [Read the briefs](#5-read-the-briefs) and report the actual returned topics.
59
-
60
- Only Trigger and Create Content Plan write data in the generation path. Do not
61
- change the site's business profile, name, description, categories, or publication
62
- state to accelerate it. Those are separate tasks requiring real user data and
63
- authorization. `CREATED` can mean queued work, not missing setup.
64
-
65
- ## Polling without losing progress
66
-
67
- **One API execution makes one HTTP request and returns.** The sequence below
68
- is a series of separate calls, with a decision after each response. It is not
69
- one code block containing the entire workflow. Never wrap API calls in a
70
- `for`/`while` loop, a timer, or a function that polls until a target status.
71
-
72
- Retain each response's flow ID before the next call. Wait between status checks
73
- using the client's supported waiting capability, outside the API execution;
74
- do not assume timers exist inside that execution or busy-wait there.
75
-
76
- Keep checking while work progresses. If waiting cannot continue, report the
77
- flow ID and last observed status as incomplete; do not claim success or merely
78
- promise to finish later. Identify trigger and release as writes if asked
79
- whether an execution changes data.
80
-
81
- ## API steps
82
-
83
- ### 1. Trigger
8
+ A content plan contains suggested blog post briefs, not published posts.
9
+ `contentPlanFlowId` identifies the generation job, not the site.
10
+
11
+ For an existing job, require its `contentPlanFlowId` before any API call. Ask
12
+ for it; if no user can answer, report incomplete and stop. A site ID, an ID-less
13
+ flow GET or the latest successful flow cannot identify the user's job. Explain
14
+ that continuation follows [step 3](#3-check-research-and-release-once): check the
15
+ flow's own `keywordResearchId` research for `SUCCESS`, then release once only if
16
+ a fresh flow read still shows `KEYWORD_RESEARCH`.
17
+
18
+ `KEYWORD_RESEARCH` means research has started, not finished. Some flows advance
19
+ automatically; `CONTENT_PLAN` or `SUCCESS` needs no release. Polling alone does
20
+ not release a flow that is waiting for Create Content Plan.
21
+
22
+ Use the selected site's authorization context. Writes require **Manage SEO
23
+ Settings**; execute them when the user requests the change or confirms it. Never
24
+ change business data or publication state just to accelerate generation.
25
+
26
+ Use only IDs and values that the API returned or the user supplied; every example
27
+ value is a placeholder. If a request tool needs `siteId`, use the selected or
28
+ supplied site ID, never `contentPlanFlowId`.
29
+
30
+ Each path below is the endpoint shown on its linked public reference, except
31
+ Get Site Keyword Research, whose own page is not public yet (see
32
+ [step 3](#read-the-matching-research)). All use the
33
+ `https://www.wixapis.com/seo-content-plan-service/v1` base. Every call here was
34
+ sent live on this base. Trigger, Get Content Plan Flow, Get Site Keyword
35
+ Research, List Blog Post Candidates and List Keyword Research Items returned
36
+ data. Create Content Plan and Update Keyword Research Item were sent with IDs
37
+ that match no record and returned the service's own errors (for example
38
+ `CONTENT_PLAN_FLOW_NOT_FOUND`), not a missing-route error. A `404` on one of
39
+ these paths is an error to report, not a reason to try another base.
40
+
41
+ ## 1. Trigger or inspect an existing flow
42
+
43
+ For new generation, trigger once:
84
44
 
85
45
  ```
86
- POST https://www.wixapis.com/promote/seo/v1/content-plan-flows/trigger
46
+ POST https://www.wixapis.com/seo-content-plan-service/v1/content-plan-flows/trigger
87
47
  {}
88
48
  ```
89
49
 
90
- Response:
50
+ Response: `{ "contentPlanFlowId": "<flow-uuid>" }`. Save the ID.
51
+ [Trigger Content Plan Generation Flow](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/trigger-content-plan-generation-flow).
91
52
 
92
- ```json
93
- { "contentPlanFlowId": "<flow-uuid>" }
94
- ```
53
+ For an existing flow, apply the entry gate above. Keep its ID, last observed
54
+ status and release history for a later resume.
95
55
 
96
- `<flow-uuid>` and other angle-bracket values in these examples are placeholders;
97
- substitute actual returned values before making requests. Return this response
98
- and end this execution here. Save the ID before making any status request.
99
- Do not append step 2 to the trigger script.
100
- See [Trigger Content Plan Generation Flow](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/trigger-content-plan-generation-flow).
101
-
102
- ### 2. Poll until KEYWORD_RESEARCH
56
+ ## 2. Read status with bounded waiting
103
57
 
104
58
  ```
105
- GET https://www.wixapis.com/promote/seo/v1/content-plan-flows/{contentPlanFlowId}
59
+ GET https://www.wixapis.com/seo-content-plan-service/v1/content-plan-flows/{contentPlanFlowId}
106
60
  ```
107
61
 
108
- Execute this GET once and return its response. This execution contains no
109
- `for`/`while` loop and no timer. Repeat it as a separate call when another
110
- status check is needed. Keep the response compact: flow ID and status suffice.
111
-
112
- Example response, showing the public flow fields (optional fields may be absent):
62
+ Read nested `contentPlanFlow.status`. Example:
113
63
 
114
64
  ```json
115
65
  {
116
66
  "contentPlanFlow": {
117
67
  "id": "<flow-uuid>",
118
- "createdAt": "2026-09-08T10:00:00.000Z",
119
- "updatedAt": "2026-09-08T10:01:00.000Z",
120
68
  "status": "KEYWORD_RESEARCH",
121
- "origin": "AGENT",
122
- "summaryId": "<summary-uuid>",
123
- "keywordResearchId": "<keyword-research-uuid>"
69
+ "keywordResearchId": "<research-uuid>"
124
70
  }
125
71
  }
126
72
  ```
127
73
 
128
- Read `contentPlanFlow.status`, not a top-level `status`. If it is missing,
129
- inspect the response instead of silently looping. Always use this generation's
130
- flow ID; if it stays `CREATED`, report the ID and observed status without
131
- inventing missing business prerequisites.
132
- See [Get Content Plan Flow](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/get-content-plan-flow).
74
+ Pacing:
75
+
76
+ 1. The first check needs no pause. Set an end time with a supported clock: five
77
+ minutes by default, or a shorter runtime limit or user-requested window.
78
+ 2. Between checks, wait about 15 seconds with the client's supported delay. Use
79
+ a separate wait or scheduling tool if one exists. Only if you run code
80
+ yourself and have no such tool, put one awaited sleep of about 15 seconds in
81
+ that code, before its single GET (for example,
82
+ `await new Promise(r => setTimeout(r, 15000))` in JavaScript or
83
+ `time.sleep(15)` in Python). A sleep that is not awaited does not pause. With
84
+ neither a wait tool nor code execution, go to step 4. Sending checks back to
85
+ back with no pause is not pacing. This is client pacing, not an API rate
86
+ limit or a completion-time promise.
87
+ 3. **Each execution makes one HTTP request and returns.** Before each later
88
+ check, confirm the pause fits the window and wait once. Then read the clock
89
+ again: if the window has ended, go to step 4 without sending. Otherwise send
90
+ one GET and read its result. Never loop requests, busy-wait, or use API or doc calls as a
91
+ pause; request counts and frozen `updatedAt` values do not measure time.
92
+ 4. If no usable clock or waiting exists, or the window ends, report incomplete
93
+ with the saved ID, status and release history. Expiry does not prove failure.
94
+ End the turn for a later requested resume; do not restart automatically.
95
+
96
+ | Observed status | Action |
97
+ | --- | --- |
98
+ | `CREATED`, `SITE_ANALYSIS`, `SITE_SUMMARY` | Continue paced checks within the window. |
99
+ | `KEYWORD_RESEARCH` | Follow [Check research and release once](#3-check-research-and-release-once), within the same monitoring window. |
100
+ | `CONTENT_PLAN` | Continue paced checks; skip release. |
101
+ | `SUCCESS` | Stop waiting and read candidates. |
102
+ | `PENDING_REQUIREMENTS` | Stop; report the unmet requirement. Never invent site data. |
103
+ | `FAIL`, `CANCELED` | Report the ID and result, then stop. |
104
+ | Missing or unrecognized status | Report uncertainty; do not silently poll. |
133
105
 
134
- `contentPlanFlow.status` is a string enum. Status checks may skip intermediate
135
- states; decide from the returned value rather than requiring every transition.
136
- Typical status progression: `CREATED` → `SITE_ANALYSIS` → `KEYWORD_RESEARCH`
137
- → **call Create Content Plan** → `CONTENT_PLAN` → `SUCCESS`.
106
+ [Get Content Plan Flow](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/get-content-plan-flow).
138
107
 
139
- | Status | Meaning and next action |
140
- | --- | --- |
141
- | `CREATED` | Queued or starting. Check the same flow again; do not change site settings. |
142
- | `SITE_ANALYSIS` | Analyzing site pages. Continue separate checks. |
143
- | `SITE_SUMMARY` | Summarizing existing content. Continue separate checks. |
144
- | `KEYWORD_RESEARCH` | Waiting for Create Content Plan. Release once when generation is requested. |
145
- | `CONTENT_PLAN` | Generating briefs. Continue separate checks; do not release again. |
146
- | `SUCCESS` | Ready. Read candidates in step 5. |
147
- | `PENDING_REQUIREMENTS` | Missing business information. Stop polling and report the actual unmet requirement from evidence. Do not invent or update business data, or repeatedly trigger replacements. |
148
- | `FAIL` | Generation failed. Report the flow ID and failure; do not silently start a replacement. |
149
- | `CANCELED` | Canceled and cannot be resumed. Report it and stop. |
150
- | `UNKNOWN` | No usable status. Inspect the response and report uncertainty instead of guessing progress. |
108
+ ## 3. Check research and release once
109
+
110
+ Create Content Plan is an action on Blog Post Candidate, distinct from the
111
+ flow-status read. It requires matching research `SUCCESS`; elapsed time at this
112
+ stage proves neither readiness nor failure.
151
113
 
152
- Check every few seconds using separate calls. Completion time varies.
114
+ 1. No `keywordResearchId` on the flow: report it missing and stop; do not guess it.
115
+ 2. Read **that exact research** (below), not the latest research. Not `SUCCESS`
116
+ yet: pause, then read again.
117
+ 3. Research `SUCCESS`: read the same flow again, with no extra delay.
118
+ 4. Flow still `KEYWORD_RESEARCH` with the same research ID: [release once](#release-once).
119
+ `CONTENT_PLAN` or `SUCCESS`: skip release and follow the status. A changed
120
+ research ID: check the new research; the old success does not authorize it.
153
121
 
154
- ### 3. Release the flow
122
+ ### Read the matching research
155
123
 
156
124
  ```
157
- POST https://www.wixapis.com/promote/seo/v1/create-content-plan
158
- { "contentPlanFlowId": "<flow-uuid>" }
125
+ GET https://www.wixapis.com/seo-content-plan-service/v1/site-keyword-research?keywordResearchId={keywordResearchId}
159
126
  ```
160
127
 
161
- Successful response:
128
+ Require `siteKeywordResearch.id` and `contentPlanFlowId` to match the flow being
129
+ followed, then read `status`. Never omit the query ID: the ID-less read returns
130
+ the latest successful research, not this job's. Keyword-list items are not a
131
+ research-status check.
132
+
133
+ Minimal matching response:
162
134
 
163
135
  ```json
164
136
  {
165
- "success": true,
166
- "contentPlanFlowId": "<flow-uuid>"
137
+ "siteKeywordResearch": {
138
+ "id": "<research-uuid>",
139
+ "status": "SUCCESS",
140
+ "contentPlanFlowId": "<flow-uuid>"
141
+ }
167
142
  }
168
143
  ```
169
144
 
170
- Failure response fields (the diagnostic text comes from the API):
145
+ This check is the published procedure: the [Create Content Plan reference](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-blog-post-candidate-v1/create-content-plan)
146
+ says to poll Get Site Keyword Research with the flow's `keywordResearchId` until
147
+ `SUCCESS`, then re-read the flow before releasing, and the
148
+ [Get Content Plan Flow reference](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-content-plan-flow-v1/get-content-plan-flow)
149
+ says the same.
171
150
 
172
- ```json
173
- {
174
- "success": false,
175
- "message": "<reason returned by the API>"
176
- }
151
+ Get Site Keyword Research itself is a BETA method with no public reference page
152
+ of its own. It requires `wix-seo.read`. The query parameter, response fields and
153
+ statuses above match its API definition and live responses on this base.
154
+
155
+ **Fallback:** if this call fails, is unavailable, or returns a response without
156
+ the matching `id`, `contentPlanFlowId` and a `status` shown above, do not
157
+ release. Keep paced flow reads only: a flow that reaches `CONTENT_PLAN` or
158
+ `SUCCESS` needs no release; one still at `KEYWORD_RESEARCH` when the window ends
159
+ is reported incomplete with its IDs. This follows the Create Content Plan
160
+ reference, which requires research `SUCCESS` before release.
161
+
162
+ ### Release once
163
+
164
+ When the user requested generation or continuation, and no release has already
165
+ been attempted for this flow, call Create Content Plan **once**:
166
+
167
+ ```
168
+ POST https://www.wixapis.com/seo-content-plan-service/v1/create-content-plan
169
+ { "contentPlanFlowId": "<flow-uuid>" }
177
170
  ```
178
171
 
179
- The response fields are `success` (boolean), `message` (failure reason, only
180
- when `success` is false), and `contentPlanFlowId` (flow UUID when returned).
181
- Check `success` as well as the HTTP status. If false, report `message` and stop;
182
- a successful HTTP response alone is not a completed plan.
172
+ Minimal response examples:
173
+
174
+ ```json
175
+ { "success": true, "contentPlanFlowId": "<returned-flow-uuid>" }
176
+ ```
183
177
 
184
- On success, retain the returned `contentPlanFlowId` for the next status check
185
- and candidate read. This response is not the list of briefs: continue to steps
186
- 4 and 5. Do not call release again to retrieve results; on an already successful
187
- flow it regenerates a plan under a new flow ID.
188
- See [Create Content Plan](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-blog-post-candidate-v1/create-content-plan).
178
+ ```json
179
+ { "success": false, "message": "<failure-message>" }
180
+ ```
189
181
 
190
- ### 4. Poll until SUCCESS
182
+ Record the attempt before sending. Concurrent/repeated calls can duplicate plans.
183
+ If release history is uncertain, ask rather than send another POST. Check HTTP
184
+ status and response `success`; `false` requires reporting `message`, not claiming
185
+ completion. On HTTP `428` with application code
186
+ `FLOW_NOT_READY_FOR_CONTENT_PLAN` (listed in the Create Content Plan reference's
187
+ errors), inspect the error and make a paced
188
+ status recheck; do not retry the POST in a loop. Other errors or an
189
+ uncertain response require reporting the attempt, not repeating it.
190
+
191
+ On success, retain the returned `contentPlanFlowId` and monitor it with the same
192
+ bounded, single-request approach. A different returned ID is a separate flow;
193
+ explain that and never claim the original completed. Completion still requires
194
+ observed `SUCCESS` and returned candidates. Do not release an already successful
195
+ flow to recover it: that action regenerates a separate plan.
196
+ [Create Content Plan](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-blog-post-candidate-v1/create-content-plan).
197
+
198
+ ### Edge cases
199
+
200
+ | Situation | Action |
201
+ | --- | --- |
202
+ | Research briefly not found | The flow can link the ID before its research record exists. Read again after a pause within the window, then inspect the flow if it persists; do not release or restart. |
203
+ | Research `FAIL`, `CANCELED`, `REVERTED`, missing/unknown status, or mismatched IDs | Stop and report the result; no release or replacement. |
204
+ | Get Site Keyword Research unavailable | Keep the error and IDs. Continue paced flow reads only: `CONTENT_PLAN`/`SUCCESS` needs no release; still `KEYWORD_RESEARCH` when the window ends means report incomplete, because readiness cannot be verified. Never release from flow status or keyword-list items. |
205
+ | Authorization denied or other error | Report the specific error and keep the IDs; no private fallback or readiness guess. |
191
206
 
192
- Same single-GET execution and nested response as step 2, using the release
193
- response's flow ID and returning after each check. Typical status progression:
194
- `CONTENT_PLAN` → `SUCCESS`. Read candidates in a subsequent execution after
195
- observing `SUCCESS`.
207
+ ## 4. Read and present briefs
196
208
 
197
- ### 5. Read the briefs
209
+ Only after observing `SUCCESS` for the same flow:
198
210
 
199
211
  ```
200
- GET https://www.wixapis.com/promote/seo/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates
212
+ GET https://www.wixapis.com/seo-content-plan-service/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates
201
213
  ```
202
214
 
203
- Example response showing the fields needed to display one topic:
215
+ Omit `paging` to return all candidates. Read titles and keywords from `briefData`:
204
216
 
205
217
  ```json
206
218
  {
207
- "blogPostCandidates": [
208
- {
209
- "id": "<candidate-id>",
210
- "briefData": {
211
- "h1Title": "How to Care for Handmade Ceramic Mugs",
212
- "keyword": "ceramic mug care",
213
- "mainKeyword": "handmade ceramic mugs",
214
- "pageUrl": "https://www.example.com/mugs"
215
- }
219
+ "blogPostCandidates": [{
220
+ "id": "<candidate-id>",
221
+ "briefData": {
222
+ "h1Title": "How to Care for Handmade Ceramic Mugs",
223
+ "keyword": "ceramic mug care",
224
+ "mainKeyword": "handmade ceramic mugs",
225
+ "pageUrl": "https://www.example.com/mugs"
216
226
  }
217
- ],
218
- "pagingMetadata": { "count": 1, "cursors": {}, "hasNext": false }
227
+ }],
228
+ "pagingMetadata": { "count": 1, "hasNext": false }
219
229
  }
220
230
  ```
221
231
 
222
- This is illustrative data, not the user's results. Candidates can contain
223
- additional fields; see the linked reference for the full contract. Omitting
224
- `paging` returns all candidates in a single response. Each candidate's brief
225
- fields are nested under `briefData`, not at the candidate's top level. Map them
226
- directly:
227
-
228
- ```js
229
- const topics = response.blogPostCandidates.map(candidate => ({
230
- id: candidate.id,
231
- title: candidate.briefData?.h1Title,
232
- keyword: candidate.briefData?.keyword,
233
- mainKeyword: candidate.briefData?.mainKeyword,
234
- supportingPageUrl: candidate.briefData?.pageUrl
235
- }));
236
- ```
232
+ The final reply must give the flow ID, observed completion and count,
233
+ followed by a table with **Title | Keyword | Main keyword | Supporting URL**.
234
+ Populate all four columns from `briefData`, with clickable supporting URLs;
235
+ a titles-only or titles/main-keywords table is incomplete. Label any shortened subset.
236
+ Absent fields are unavailable; do not invent them. `pageUrl` supports an existing
237
+ page, not a newly published post. Explain weak or repetitive results honestly;
238
+ successful generation does not establish editorial quality or promise rankings.
239
+ [List Blog Post Candidates](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-blog-post-candidate-v1/list-blog-post-candidates).
240
+
241
+ ## Editing keywords after completion (optional)
237
242
 
238
- `pageUrl` identifies the existing site page the proposed post supports; it is
239
- not the URL of a newly published blog post. Generation creates briefs, not
240
- published posts. Do not read `candidate.title`, `candidate.keyword`, or
241
- `candidate.pageUrl`, or infer missing data from those nonexistent top-level
242
- fields. If a nested field is absent, report it as unavailable and inspect the
243
- raw candidate before making another request. Report the actual returned
244
- titles and available keywords/supporting page URLs. Do not invent briefs or
245
- claim completion from the release response.
246
- See [List Blog Post Candidates](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-blog-post-candidate-v1/list-blog-post-candidates).
247
-
248
- ### Present the result
249
-
250
- Start with the flow ID, observed `SUCCESS` status, and returned candidate count.
251
- Use a compact table with one row per topic: suggested title, target keyword,
252
- main keyword, and supporting page URL. Include the actual returned URL as a
253
- link; do not merely say that each brief contains a URL. Avoid repeating SEO
254
- titles and descriptions unless requested. If the answer must be shortened,
255
- label the displayed subset and total explicitly instead of claiming to show all
256
- topics. These are AI-generated suggestions; do not promise rankings or traffic.
257
- Assess the returned topics before recommending them: if they are repetitive,
258
- mostly restate the site name, or lack a clear connection to the site's business,
259
- say so plainly. Successful generation does not establish editorial quality.
260
- Still show the actual results; do not silently replace weak titles with invented
261
- ones or call them optimized without evidence. Explain what business context
262
- would help assess or refine them, without modifying the site's settings.
263
-
264
- ## Editing keywords (optional)
265
-
266
- After step 2, before or after step 3, read the keywords:
243
+ After observed flow `SUCCESS`, read research once:
267
244
 
268
245
  ```
269
- GET https://www.wixapis.com/promote/seo/v1/content-plan-keyword-research-items
246
+ GET https://www.wixapis.com/seo-content-plan-service/v1/content-plan-keyword-research-items
270
247
  ```
271
248
 
272
- Edit one keyword (field-masked, only `keyword` and `main_keyword` writable):
249
+ No parameters are required; omit optional `paging` for all items. Match returned
250
+ `keywordResearchId` to the completed flow and use returned `keywordResearchItems`
251
+ item IDs before editing. A mismatch or HTTP `404` is not permission to edit or
252
+ retry immediately. This is a post-completion read, not a pre-completion readiness
253
+ test.
254
+ The list is site-scoped and returns the latest research, not per-research status.
255
+ Its reserved `contentPlanFlowId` query field is ignored; it cannot target an older
256
+ flow or prove that flow's readiness.
257
+ [List Keyword Research Items](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-keyword-research-v1/list-keyword-research-items).
258
+
259
+ Only `keyword` and `mainKeyword` are writable, using a field mask.
260
+ Set `mainKeyword: true` to promote an existing item. Whether `false` demotes one
261
+ is not verified; do not rely on it, and read the item back after any change.
262
+ [Update Keyword Research Item](https://dev.wix.com/docs/api-reference/business-management/seo/content-plan-keyword-research-v1/update-keyword-research-item).
263
+
264
+ List uses `content-plan-keyword-research-items`, while Update uses
265
+ `keyword-research-items/{itemId}`. Preserve that difference. Use the returned
266
+ `item.id` for `{itemId}` and the same value in the Update body.
273
267
 
274
268
  ```
275
- PATCH https://www.wixapis.com/promote/seo/v1/keyword-research-items/{itemId}
269
+ PATCH https://www.wixapis.com/seo-content-plan-service/v1/keyword-research-items/{itemId}
276
270
  {
277
- "keywordResearchId": "...",
278
- "item": { "id": "...", "keyword": "new keyword" },
271
+ "keywordResearchId": "<research-uuid>",
272
+ "item": { "id": "<item-id>", "keyword": "new keyword" },
279
273
  "fieldMask": "keyword"
280
274
  }
281
275
  ```
282
276
 
283
- **Copy-on-write:** the response may carry a different `keywordResearchId`.
284
- Always use the one from the response for the next write. Edits are not
285
- durable across generations.
286
-
287
- ## Do not
288
-
289
- - Poll forever without calling Create Content Plan (step 3).
290
- - Read candidates before `SUCCESS`.
291
- - Retry after `PENDING_REQUIREMENTS`.
292
- - Ask for a site ID.
293
- - Retry after a 403 — the caller lacks **Manage SEO Settings**.
277
+ The copy-on-write response can return a new `keywordResearchId`; use it for the
278
+ next write. Edits do not persist across generations.
@@ -25,6 +25,7 @@ curl -X POST \
25
25
  -d '{
26
26
  "oAuthApp": {
27
27
  "name": "My Storefront",
28
+ "origin": "agent",
28
29
  "loginUrl": "https://example.com/login",
29
30
  "allowedRedirectUris": ["https://example.com/callback"],
30
31
  "allowedRedirectDomains": ["example.com"]