@wix/agent-skills 1.33.1 → 1.34.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 (616) hide show
  1. package/README.md +2 -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 +13 -3
  181. package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +2 -1
  182. package/skills/wix-manage/references/dashboard-navigation/routes.json +249 -0
  183. package/skills/wix-manage/references/donations/create-and-update-donation-campaigns.md +139 -0
  184. package/skills/wix-manage/references/events/events-dashboard-navigation.md +81 -0
  185. package/skills/wix-manage/references/sites/manage-oauth-apps.md +1 -0
  186. package/skills/wix-manage/references/sites/upload-static-site.md +127 -8
  187. package/skills/wix-replatform/.publish-manifest.json +5 -5
  188. package/skills/wix-replatform/CLI.md +162 -0
  189. package/skills/wix-replatform/README.md +52 -0
  190. package/skills/wix-replatform/SKILL.md +229 -684
  191. package/skills/wix-replatform/console/account.css +1 -0
  192. package/skills/wix-replatform/console/app.css +1 -0
  193. package/skills/wix-replatform/console/app.js +117 -0
  194. package/skills/wix-replatform/console/index.html +4 -0
  195. package/skills/wix-replatform/console/json.css +11 -0
  196. package/skills/wix-replatform/lib/agent-adapters/index.js +71 -0
  197. package/skills/wix-replatform/lib/app-page-routing.js +75 -0
  198. package/skills/wix-replatform/lib/artifact-freshness.js +11 -1
  199. package/skills/wix-replatform/lib/blocked-data-requests.js +427 -0
  200. package/skills/wix-replatform/lib/census-reconciliation.js +426 -0
  201. package/skills/wix-replatform/lib/completion-report.js +1393 -13
  202. package/skills/wix-replatform/lib/config-env.js +85 -11
  203. package/skills/wix-replatform/lib/confirmed-pictures.js +212 -0
  204. package/skills/wix-replatform/lib/dependency-readiness.js +423 -0
  205. package/skills/wix-replatform/lib/dependency-recovery.js +21 -0
  206. package/skills/wix-replatform/lib/destination-choice.js +163 -0
  207. package/skills/wix-replatform/lib/destination-handoff.js +62 -0
  208. package/skills/wix-replatform/lib/destination-http.js +81 -0
  209. package/skills/wix-replatform/lib/destination-route.js +98 -0
  210. package/skills/wix-replatform/lib/destination.js +919 -0
  211. package/skills/wix-replatform/lib/discovered-census.js +231 -0
  212. package/skills/wix-replatform/lib/discovered-set-status.js +255 -0
  213. package/skills/wix-replatform/lib/document-url-guard.js +203 -0
  214. package/skills/wix-replatform/lib/entity-qa-attestation.js +339 -0
  215. package/skills/wix-replatform/lib/entity-verification.js +18 -0
  216. package/skills/wix-replatform/lib/execution-capability.js +120 -0
  217. package/skills/wix-replatform/lib/execution-log.js +170 -0
  218. package/skills/wix-replatform/lib/execution-manifest.js +20 -2
  219. package/skills/wix-replatform/lib/execution-state.js +22 -0
  220. package/skills/wix-replatform/lib/expectations-ledger.js +96 -0
  221. package/skills/wix-replatform/lib/generated-plugin-handoff.js +140 -0
  222. package/skills/wix-replatform/lib/import-readiness-contract.js +23 -0
  223. package/skills/wix-replatform/lib/import-recovery.js +800 -6
  224. package/skills/wix-replatform/lib/imported-redirect-targets.js +608 -0
  225. package/skills/wix-replatform/lib/internal-link-reconciliation.js +166 -0
  226. package/skills/wix-replatform/lib/link-audit.js +173 -0
  227. package/skills/wix-replatform/lib/link-census.js +194 -0
  228. package/skills/wix-replatform/lib/link-plan.js +148 -0
  229. package/skills/wix-replatform/lib/link-verification.js +274 -0
  230. package/skills/wix-replatform/lib/link-write-journal.js +42 -0
  231. package/skills/wix-replatform/lib/local-state.js +869 -30
  232. package/skills/wix-replatform/lib/member-completion.js +658 -0
  233. package/skills/wix-replatform/lib/member-crosswalk.js +69 -0
  234. package/skills/wix-replatform/lib/member-outcome-registry.js +265 -0
  235. package/skills/wix-replatform/lib/migration-completion.js +311 -0
  236. package/skills/wix-replatform/lib/operator-identity.js +47 -0
  237. package/skills/wix-replatform/lib/orchestration-decisions.js +248 -0
  238. package/skills/wix-replatform/lib/orchestration-preflight.js +401 -19
  239. package/skills/wix-replatform/lib/orchestration-router.js +608 -32
  240. package/skills/wix-replatform/lib/orchestration-state.js +188 -12
  241. package/skills/wix-replatform/lib/order-reference-readiness.js +30 -0
  242. package/skills/wix-replatform/lib/payments-outcome-registry.js +200 -0
  243. package/skills/wix-replatform/lib/plugin-cms-fallback.js +618 -0
  244. package/skills/wix-replatform/lib/preservation-approval-stamp.js +54 -0
  245. package/skills/wix-replatform/lib/product-media-deferral.js +96 -0
  246. package/skills/wix-replatform/lib/progress-log.js +19 -3
  247. package/skills/wix-replatform/lib/read-back-approval.js +184 -0
  248. package/skills/wix-replatform/lib/read-back-comparison.js +136 -0
  249. package/skills/wix-replatform/lib/read-back-contract.js +243 -0
  250. package/skills/wix-replatform/lib/read-back-extract.js +118 -0
  251. package/skills/wix-replatform/lib/read-back-gate.js +734 -0
  252. package/skills/wix-replatform/lib/read-back-reads.js +94 -0
  253. package/skills/wix-replatform/lib/read-back-state.js +107 -0
  254. package/skills/wix-replatform/lib/read-back-summary.js +81 -0
  255. package/skills/wix-replatform/lib/rerun-conflicts.js +334 -0
  256. package/skills/wix-replatform/lib/run-controller.js +401 -0
  257. package/skills/wix-replatform/lib/seo-outcome-registry.js +45 -0
  258. package/skills/wix-replatform/lib/setup-verification.js +148 -0
  259. package/skills/wix-replatform/lib/source-access.js +231 -0
  260. package/skills/wix-replatform/lib/source-coverage.js +1130 -0
  261. package/skills/wix-replatform/lib/source-secrets.js +277 -0
  262. package/skills/wix-replatform/lib/structured-link-patch.js +59 -0
  263. package/skills/wix-replatform/lib/task-state.js +110 -0
  264. package/skills/wix-replatform/lib/url-preservation-report.js +319 -0
  265. package/skills/wix-replatform/lib/url-preservation-state.js +349 -1
  266. package/skills/wix-replatform/lib/url-redirect-plan.js +728 -0
  267. package/skills/wix-replatform/lib/url-verification.js +315 -0
  268. package/skills/wix-replatform/lib/user-action-effects.js +42 -0
  269. package/skills/wix-replatform/lib/user-actions.js +264 -0
  270. package/skills/wix-replatform/lib/website-handoff.js +1220 -0
  271. package/skills/wix-replatform/lib/wix-client-callers.js +54 -0
  272. package/skills/wix-replatform/lib/wix-dashboard-url.js +35 -0
  273. package/skills/wix-replatform/lib/write-verification-state.js +92 -0
  274. package/skills/wix-replatform/lib/write-verification.js +274 -0
  275. package/skills/wix-replatform/resources/rp-destination/SKILL.md +137 -0
  276. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +189 -16
  277. package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +47 -0
  278. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +869 -29
  279. package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +70 -0
  280. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +195 -29
  281. package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +442 -0
  282. package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +112 -0
  283. package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +143 -0
  284. package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +244 -0
  285. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +2082 -38
  286. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +528 -11
  287. package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +303 -0
  288. package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +88 -0
  289. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +6 -5
  290. package/skills/wix-replatform/resources/rp-preflight/SKILL.md +40 -0
  291. package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +55 -0
  292. package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +60 -0
  293. package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +89 -0
  294. package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +36 -0
  295. package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +123 -0
  296. package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +124 -0
  297. package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +522 -0
  298. package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +56 -0
  299. package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +91 -0
  300. package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +255 -0
  301. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +80 -10
  302. package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +44 -0
  303. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +3 -0
  304. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  305. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +21 -1
  306. package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +66 -0
  307. package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +153 -0
  308. package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +394 -0
  309. package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +200 -0
  310. package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +34 -0
  311. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +44 -0
  312. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +1470 -0
  313. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +446 -0
  314. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +474 -0
  315. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +879 -0
  316. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +426 -0
  317. package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +24 -0
  318. package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +18 -0
  319. package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +40 -0
  320. package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +76 -0
  321. package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +51 -0
  322. package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +35 -0
  323. package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +20 -0
  324. package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +18 -0
  325. package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +31 -0
  326. package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +21 -0
  327. package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +21 -0
  328. package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +30 -0
  329. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +150 -0
  330. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +36 -0
  331. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +48 -0
  332. package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +20 -0
  333. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +8 -0
  334. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +6 -0
  335. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +8 -0
  336. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +8 -0
  337. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +12 -0
  338. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +6 -0
  339. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +13 -0
  340. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +13 -0
  341. package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +73 -0
  342. package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +13 -0
  343. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +693 -0
  344. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +283 -0
  345. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +191 -0
  346. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +115 -0
  347. package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +201 -0
  348. package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +146 -0
  349. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +736 -22
  350. package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +73 -0
  351. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +115 -0
  352. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +91 -0
  353. package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +440 -0
  354. package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +125 -0
  355. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +252 -0
  356. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +183 -0
  357. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +333 -0
  358. package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +426 -0
  359. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +400 -0
  360. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +633 -0
  361. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +1127 -0
  362. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +194 -0
  363. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +100 -0
  364. package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +157 -0
  365. package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +234 -0
  366. package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +101 -0
  367. package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +755 -0
  368. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +1074 -0
  369. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +149 -0
  370. package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +25 -0
  371. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +204 -9
  372. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +186 -0
  373. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +1422 -0
  374. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +343 -0
  375. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +262 -26
  376. package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +272 -0
  377. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +373 -0
  378. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +101 -0
  379. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +81 -0
  380. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +128 -0
  381. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +18 -0
  382. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +104 -0
  383. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +44 -0
  384. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +49 -0
  385. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +94 -0
  386. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +863 -0
  387. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +52 -0
  388. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +161 -0
  389. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +180 -0
  390. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +286 -0
  391. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +79 -0
  392. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +120 -0
  393. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +128 -0
  394. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +88 -0
  395. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +80 -0
  396. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +46 -0
  397. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +55 -0
  398. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +99 -0
  399. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +55 -0
  400. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +160 -0
  401. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +81 -0
  402. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +60 -0
  403. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +74 -0
  404. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +75 -0
  405. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +60 -0
  406. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +44 -0
  407. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +57 -0
  408. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +141 -0
  409. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +54 -0
  410. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +158 -0
  411. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +97 -0
  412. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +86 -0
  413. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +90 -0
  414. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +51 -0
  415. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +103 -0
  416. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +1668 -33
  417. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +273 -0
  418. package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +11 -0
  419. package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +13 -0
  420. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +446 -32
  421. package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +36 -0
  422. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +38 -2
  423. package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +322 -0
  424. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +70 -0
  425. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -9
  426. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +42 -8
  427. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +54 -8
  428. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +66 -10
  429. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +38 -7
  430. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +332 -0
  431. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +75 -0
  432. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +181 -0
  433. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +130 -0
  434. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +180 -0
  435. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +161 -0
  436. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +15 -4
  437. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +39 -7
  438. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +47 -8
  439. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +7 -1
  440. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +204 -0
  441. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +17 -4
  442. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +159 -15
  443. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +80 -12
  444. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +48 -8
  445. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +306 -0
  446. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +30 -7
  447. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +171 -0
  448. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +182 -0
  449. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +129 -0
  450. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +192 -0
  451. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +123 -0
  452. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +60 -12
  453. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +112 -0
  454. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +191 -0
  455. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +140 -13
  456. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +383 -18
  457. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +122 -0
  458. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +98 -0
  459. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +86 -0
  460. package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +128 -0
  461. package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +38 -0
  462. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +73 -0
  463. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +107 -0
  464. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +89 -0
  465. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +118 -0
  466. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +93 -0
  467. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +86 -0
  468. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +56 -0
  469. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +121 -0
  470. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +134 -0
  471. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +41 -0
  472. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +50 -0
  473. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +87 -0
  474. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +130 -0
  475. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +914 -24
  476. package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +41 -0
  477. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -4
  478. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +45 -8
  479. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +41 -7
  480. package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +119 -0
  481. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -3
  482. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +41 -7
  483. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +82 -0
  484. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +77 -0
  485. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +165 -13
  486. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +41 -0
  487. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +46 -0
  488. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +137 -0
  489. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +133 -0
  490. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +7 -0
  491. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +36 -0
  492. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +71 -0
  493. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +67 -0
  494. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +72 -0
  495. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +74 -0
  496. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +69 -0
  497. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +61 -0
  498. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +28 -1
  499. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +109 -0
  500. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +73 -0
  501. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +148 -0
  502. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +91 -0
  503. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +79 -0
  504. package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +32 -0
  505. package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +49 -0
  506. package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +103 -0
  507. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +203 -0
  508. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +27 -10
  509. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +119 -0
  510. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +111 -0
  511. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +52 -8
  512. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +214 -10
  513. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +93 -13
  514. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +111 -0
  515. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +52 -10
  516. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +145 -14
  517. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +84 -0
  518. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +178 -0
  519. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +87 -0
  520. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +106 -0
  521. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +64 -0
  522. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +119 -0
  523. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +94 -0
  524. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +113 -0
  525. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +65 -0
  526. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +165 -0
  527. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +60 -0
  528. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +201 -0
  529. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +306 -0
  530. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +229 -0
  531. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +55 -0
  532. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +715 -0
  533. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +567 -0
  534. package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +73 -0
  535. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +194 -0
  536. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +133 -0
  537. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +13 -4
  538. package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +491 -0
  539. package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +104 -0
  540. package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +673 -0
  541. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +453 -2
  542. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +119 -0
  543. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +566 -0
  544. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +249 -0
  545. package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +63 -0
  546. package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +187 -0
  547. package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +64 -0
  548. package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +1027 -0
  549. package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +90 -0
  550. package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +420 -0
  551. package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +177 -0
  552. package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +151 -0
  553. package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +723 -0
  554. package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +353 -0
  555. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +1437 -0
  556. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +354 -0
  557. package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +134 -0
  558. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +221 -0
  559. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +248 -0
  560. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +86 -3
  561. package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +231 -0
  562. package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +28 -0
  563. package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +14 -0
  564. package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +34 -0
  565. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +166 -15
  566. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +19 -2
  567. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +4079 -257
  568. package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +3 -0
  569. package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +150 -0
  570. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +40 -2
  571. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +6 -1
  572. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +148 -8
  573. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +83 -15
  574. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1119 -215
  575. package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +318 -0
  576. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +2 -2
  577. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +106 -4
  578. package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +94 -0
  579. package/skills/wix-replatform/scripts/census-reconciliation.js +25 -0
  580. package/skills/wix-replatform/scripts/cms-fallback.js +89 -0
  581. package/skills/wix-replatform/scripts/discovered-census.js +26 -0
  582. package/skills/wix-replatform/scripts/discovered-set-status.js +33 -0
  583. package/skills/wix-replatform/scripts/entity-qa-attestation.js +130 -0
  584. package/skills/wix-replatform/scripts/execution-health-check.js +415 -0
  585. package/skills/wix-replatform/scripts/execution-manifest-validate.js +1 -1
  586. package/skills/wix-replatform/scripts/execution-state-prepare.js +1 -1
  587. package/skills/wix-replatform/scripts/expectations-ledger.js +44 -0
  588. package/skills/wix-replatform/scripts/import-contract-verify.js +183 -0
  589. package/skills/wix-replatform/scripts/internal-link-audit.js +90 -0
  590. package/skills/wix-replatform/scripts/item-seo-tags-verify.js +205 -0
  591. package/skills/wix-replatform/scripts/migration-completion.js +76 -0
  592. package/skills/wix-replatform/scripts/orchestration-preflight.js +21 -2
  593. package/skills/wix-replatform/scripts/orchestration-route.js +32 -1
  594. package/skills/wix-replatform/scripts/orchestration-state.js +146 -10
  595. package/skills/wix-replatform/scripts/read-back-gate.js +175 -0
  596. package/skills/wix-replatform/scripts/replatform-console.js +146 -0
  597. package/skills/wix-replatform/scripts/replatform.js +436 -0
  598. package/skills/wix-replatform/scripts/source-secrets.js +77 -0
  599. package/skills/wix-replatform/scripts/url-redirects.js +286 -0
  600. package/skills/wix-replatform/scripts/user-action.js +58 -0
  601. package/skills/wix-replatform/scripts/website-handoff-generate.js +64 -0
  602. package/skills/wix-replatform/scripts/wix-dashboard-url.js +54 -0
  603. package/skills/wix-replatform/scripts/wix-destination.js +143 -0
  604. package/skills/wix-replatform/scripts/wix-headless-scaffold.js +762 -0
  605. package/skills/wix-vibe-headless/SKILL.md +7 -3
  606. package/skills/wix-vibe-headless/install/deploy.cjs +61 -34
  607. package/skills/wix-vibe-headless/platforms/base44.md +1 -0
  608. package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +88 -0
  609. package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +112 -0
  610. package/skills/wix-vibe-headless/references/donations/seed/SEED.md +11 -0
  611. package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +258 -0
  612. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -2
  613. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +4 -1
  614. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +67 -3
  615. package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +4 -3
  616. package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +0 -330
@@ -0,0 +1,128 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "description": "Capabilities we have profiled but not yet resolved to a Wix target. PENDING IS THE DEFAULT: any capability without a target entity is pending, whether or not it is listed here. Listing it adds our working note — why we think a target does or does not exist, and what to author.\n\n`suspected` is OUR guess and carries no authority:\n - target-exists : we believe Wix can receive this; `plannedTarget` names the entity to author.\n - no-target : we believe Wix cannot represent this. This is still PENDING. Only a human can turn it into a verdict, and there are exactly two signed destinations, both mutually exclusive with this file: requires-development.json (\"Wix has no surface — build it first\") and the `capabilities[]` register in no-migration-needed.json (\"nothing to move\" — the outcome exists in Wix or was never data).\n\nAn agent may never conclude that Wix cannot do something. Two such conclusions have already been wrong (gift cards and events both had a create API), so the automation is limited to 'profiled' or 'pending' and the impossibility verdict is reserved for a named human.",
4
+ "capabilities": [
5
+ {
6
+ "capability": "commerce.gift-card-activity",
7
+ "reason": "PW WooCommerce Gift Cards keeps a per-card activity ledger (issuance, redemptions, adjustments — the rows its balances are summed from) in the same plugin-owned custom tables as the cards. Durable historical data, doubly unplaced: the source side is db-only (free v2.47 registers no REST surface at all, VERIFIED LIVE 2026-08-16), and Wix has no public method to write historical gift-card transactions (gift-cards/gift-card pitfall no-transaction-history-import).",
8
+ "searched": "gift card transaction history, redemption history, gift card activity, stored value ledger — dev.wix.com business-solutions/gift-cards (docs-survey sweep evidence on gift-cards/gift-card, 2026-08-11): create accepts initialValue only; balance is derived; no historical-transaction write. The domain entity's documented fallback for history is a CMS archive.",
9
+ "suspected": "target-exists",
10
+ "plannedTarget": "cms/data-item — a CMS archive collection per gift-cards/gift-card fallbacks[0]; needs a human to confirm whether an archive is wanted or history is accepted as reportable loss (the sibling woocommerce-gift-cards profile records it as reportable loss).",
11
+ "note": "Authored 2026-08-16 with the pw-woocommerce-gift-cards profile. Deliberately NOT declared in the profile's capabilities[]: classifyCoverage associates capabilities with ALL of a plugin's entities (per-plugin union), so a declared-but-unplaced capability on a profile whose other entities carry known refs would misclassify as migration-planned via api instead of pending — a classifier coarseness worth a finding."
12
+ },
13
+ {
14
+ "capability": "members.domain-restricted-login",
15
+ "reason": "Social-login / SSO plugins (Nextend Social Login, miniOrange, OAuth/OIDC client plugins) configured with an organization-restricted identity source — e.g. a Google OAuth client limited to one Workspace domain ('internal' app type / hd claim), or a corporate OIDC/SAML IdP — so only organization users can log in. Wix's native social login is the consumer Google/Facebook toggle on the default signup form with no domain-restriction setting, so migrating to the native toggles silently downgrades 'internal only' to 'anyone with a Google account'. The open (unrestricted) social-login case is NOT this capability — that is reconfigure-in-wix via the native toggles, with the caveat that Wix supports Google and Facebook only (default form only) and every other provider a plugin offers (Apple, X, LinkedIn, Kakao, ...) is a reportable loss.",
16
+ "searched": "social login, SSO, site members, restrict login to organization, OIDC — searched support.wix.com and dev.wix.com 2026-08-16 (WebSearch/WebFetch). Found: support.wix.com/en/article/managing-signup-login-and-security-settings-for-your-site-members (native social login = Google + Facebook toggles, no restriction settings); support.wix.com/en/article/request-social-login-buttons-on-the-custom-signup-form (social buttons on default form only); support.wix.com/en/article/sso-setting-up-single-sign-on-sso-login-for-your-site-members (member SSO via OIDC IdP exists but is Wix Studio Enterprise / Wix Channels only — the domain restriction is enforced at the IdP); dev.wix.com/docs/develop-websites/articles/code-tutorials/wix-editor-elements/using-oauth-sso-with-velo (hand-built alternative = development, not migration).",
17
+ "suspected": "target-exists",
18
+ "plannedTarget": "Members SSO (Wix Studio Enterprise / Wix Channels): connect the organization IdP over OIDC and keep the restriction enforced at the IdP — but this is PLAN-GATED, so it is not a mapping the planner can apply unconditionally. A human must decide how the plan surfaces the choice when the target site is not Enterprise: (a) recommend Enterprise, (b) native Google login + manual member approval (administrative gate, not auth-time enforcement), or (c) Velo custom OAuth (requires-development). Silent downgrade to open social login must not be an option.",
19
+ "note": "Observed with Nextend Social Login on a live WordPress installation. Detection caveat: the restriction lives in the IdP-side OAuth client configuration, not in any WordPress-readable setting — REST discovery can see the plugin but cannot see that its client is org-restricted, so this capability likely needs an operator question or login-page probing to detect at all. No data moves in either variant: members migrate via the member import and re-associate by email match at first social/SSO login."
20
+ },
21
+ {
22
+ "capability": "commerce.composite-products",
23
+ "reason": "WPC Composite Products defines a CUSTOMER-ASSEMBLED kit: a WooCommerce product of type `composite` whose `wooco_components` meta declares component groups (sourced from explicit product lists or whole categories/tags, with min/max quantities and an optional flag), from which the buyer picks at purchase time. The product shell migrates as a plain stores/product; the component structure has no native Wix Stores target — Catalog V3 productType is PHYSICAL | DIGITAL only, with no composed-product entity, no child-product references and no component-group construct. THIS IS DELIBERATELY NOT FILED AS A VERDICT. It is adjacent to the signed commerce.product-bundles entry in requires-development.json (signed 2026-08-16), which explicitly names 'Composite Products' in its scope — but that verdict rejected Wix's mix-and-match on the grounds that it is 'a category + automatic-discount pattern for customer-assembled combos' with no fixed-bundle SKU, and customer-assembled combos is precisely the shape a composite has, not the shape a woosb bundle has. Mix-and-match is therefore a nearer (though still configuration-only, non-API) parallel here than it was for bundles. Extending the bundles verdict by inference would re-run the exact failure mode the human-signature rule exists to prevent, so this stays pending for a human to co-sign — either folded into commerce.product-bundles or decided separately.",
24
+ "searched": "composite product, product kit, configurable product, component group, mix and match, customer-assembled bundle — dev.wix.com 2026-08-16 (WebSearch + WebFetch): catalog-v3/products-v3/product-object.md read in full — `productType` enum is exactly `PHYSICAL, DIGITAL`; nearest structural fields are `options`/`modifiers` (variant- and free-text customizations that never reference another product) and `purchaseEligibility.userCriteria: MEMBERS_ONLY`; no bundled/composed/child-product field anywhere on the object. Also checked dev.wix.com/docs/velo/articles/velo-package-readmes/wix-stores-bundle-products (Velo site-code pattern: plain product + CMS collection, not a write API) and the business-solutions/stores tree. Inherits the support.wix.com mix-and-match evaluation recorded on the commerce.product-bundles entry (2026-08-16).",
25
+ "suspected": "no-target",
26
+ "plannedTarget": null,
27
+ "note": "Authored 2026-08-16 with the wpc-composite-products profile. Parallel case: requires-development.json[commerce.product-bundles] (decidedBy Product Owner, 2026-08-16). Interim path is the same as bundles — product migrates plain, composition lands in a CMS collection keyed by the product crosswalk — so a working workaround means this earns no standalone operator task. If a human co-signs, the destination is requires-development.json with decidedBy/decidedOn; validation will reject the entry automatically if Catalog V3 ever gains a composed-product primitive."
28
+ },
29
+ {
30
+ "capability": "commerce.membership-content-access",
31
+ "reason": "The access-control half of a WooCommerce membership plan, which is the larger half. A WP Swings membership plan carries wps_membership_plan_target_ids / _target_categories / _target_tags (gated products), _post_target_ids / _target_post_categories / _target_post_tags (gated posts), _page_target_ids (gated pages), member-benefit rules (wps_membership_plan_offer_price_type + wps_memebership_plan_discount_price member discount, wps_memebership_plan_free_shipping, wps_membership_plan_hide_products, wps_set_maximum_product_purchase_limit) and delayed-access controls (wps_membership_plan_access_type, _time_duration/_type). Wix has the OUTCOME but not an importable target: page permissions can be gated on a purchased Pricing Plan, and Blog and Groups can be limited to plan holders, but all of it is Editor/dashboard configuration with no documented public write API mapping 'plan X unlocks page/product/post Y'. The one API-writable fragment is stores/product `purchaseEligibility.userCriteria: MEMBERS_ONLY`, which is binary members-only with no per-plan granularity and does not cover posts, pages, discounts or shipping. So the plan and the enrollment migrate (pricing-plans/plan and pricing-plans/plan-order), and what they unlock does not travel with them — members would land holding plans that gate nothing until an owner reconfigures.",
32
+ "searched": "members-only content, restrict page access, content gating, paywall, member discount, plan-gated pages — dev.wix.com and support.wix.com 2026-08-16 (WebSearch + WebFetch). dev.wix.com: api-reference/business-solutions/pricing-plans (Plans V3 + Orders — plan objects carry no entitlement/benefit/target field); catalog-v3/products-v3/product-object.md (purchaseEligibility.userCriteria enum MEMBERS_ONLY, no plan reference); business-solutions and app-management permission trees searched for a page-permissions write API — only app authorization scopes surfaced, no site-page permission endpoint. support.wix.com: pricing-plans-making-site-pages-members-only, wix-editor-applying-page-permissions, cms-restricting-access-to-dynamic-content-by-member-roles-or-by-paying-subscribers, pricing-plans-limiting-your-blog-to-members-who-purchased-a-pricing-plan, wix-stores-creating-restricted-store-pages — all describe Editor/dashboard configuration, none an API.",
33
+ "suspected": "no-target",
34
+ "plannedTarget": null,
35
+ "note": "Authored 2026-08-16 with the membership-for-woocommerce profile. 'no-target' here means no importable target, NOT that Wix lacks the feature — the likely signed destination is the capabilities[] register in no-migration-needed.json with reason reconfigure-in-wix, listing the gated-object inventory as an owner task, rather than requires-development.json. A human picks. Deliberately NOT declared in the profile's capabilities[], following the precedent recorded on commerce.gift-card-activity: classifyCoverage unions capabilities across all of a plugin's entities, and this profile's other entities do carry pricing-plans refs, so declaring it would misclassify the whole plugin as migration-planned via api instead of pending. It stays visible through the profile's content-access-fidelity-caveat and content-access-gating-has-no-plan-field pitfalls."
36
+ },
37
+ {
38
+ "capability": "content.form-notification-templates",
39
+ "reason": "Every WordPress form plugin stores owner-notification and auto-reply email templates next to the field list (CF7 properties.mail / mail_2 with recipient/sender/subject/body/additional_headers in mail-tag syntax; WPForms settings.notifications). Wix Forms' Create Form has no equivalent input — submitSettings only carries submitSuccessAction (NO_ACTION/THANK_YOU_MESSAGE/REDIRECT/POPUP). Owners who migrate silently stop receiving their enquiry emails.",
40
+ "searched": "dev.wix.com api-reference menu walk 2026-08-16: api-reference/crm/forms.md (all 8 surfaces — no notification/email surface anywhere in the tree); form-schemas/form-object.md and create-form.md (no mail/notification field); business-solutions does NOT contain Forms at all; api-reference.md root searched for 'automation'/'notification' -> business-management/automations and business-management/notifications. business-management/automations/automations/automations-v2/create-automation.md: POST https://www.wixapis.com/automations-service/v2/automations, scope SCOPE.CRM.SETUP-AUTOMATIONS, and its own worked example uses triggerKey 'wix_form_app-form_submitted' with an APP_DEFINED send-email action (actionKey 'send-email', appId 0217a814-bf20-4c08-9da9-e14545da7e2f, inputMapping contactId + messageId). Synonyms tried: notification template, triggered email, autoresponder, form notification, automation.",
41
+ "suspected": "target-exists",
42
+ "plannedTarget": "automations/automation — a NEW domain (none exists today), via Create Automation bound to triggerKey wix_form_app-form_submitted with a send-email action. Caveat for the human: the send-email action references a pre-existing messageId (a Triggered Email template), so recreating a CF7 mail body verbatim may need a second surface. This is a new-domain decision, not just a new entity.",
43
+ "note": "Authored 2026-08-16 with the forms vertical (contact-form-7 + wpforms-lite profiles, forms domain)."
44
+ },
45
+ {
46
+ "capability": "commerce.form-payments",
47
+ "reason": "WPForms Lite 2.0.0.4 ships real payment storage — src/Db/Payments/Payment.php and Meta.php create wp_wpforms_payments / wp_wpforms_payment_meta for Stripe, Square and PayPal Commerce form payments (VERIFIED IN SOURCE 2026-08-16). These are money records, not form answers, they have no REST surface in either tier, and Wix's Form Submissions object exposes orderDetails only as read-only fields tied to a Wix Payments checkout. Deliberately left out of the wpforms-lite profile rather than folded into content.form-submissions.",
48
+ "searched": "api-reference/crm/forms/form-submissions/submission-object.md (orderDetails: orderId/number/currency/itemSubtotal/checkoutId, ALL read-only, 'only applicable when submitting a form in the Wix Payments app'); form-submissions/create-submission.md (orderDetails accepted only as a container of read-only fields); about-submission-values.md PAYMENT section (productId must reference a product declared in the field's paymentOptions.validation.products, i.e. a live purchase, not a historical record). Not yet searched: the ecom/orders and Wix Payments trees for a standalone historical-payment write path — that is the next step for whoever picks this up.",
49
+ "suspected": "no-target",
50
+ "plannedTarget": null,
51
+ "note": "Authored 2026-08-16 with the forms vertical. The recorded search is deliberately incomplete (ecom/orders + Wix Payments trees unsearched) — finish it before any human signs a verdict."
52
+ },
53
+ {
54
+ "capability": "commerce.service-availability-rules",
55
+ "reason": "Per-service daily window, holidays, slot table and booking horizon (mwb_mbfw_daily_calendar_start_time/_end_time, mwb_mbfw_choose_holiday, wps_mbfw_time_slots, wps_mbfw_set_availability_upto). bookings/service carries only session durations, so a migrated service has no working hours and is effectively unbookable until an owner reconfigures.",
56
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: availability, business hours, working hours, schedule, time slots, time frames.",
57
+ "suspected": "target-exists",
58
+ "plannedTarget": "bookings/<new entity> on Schedules V3 (+ Schedule Time Frames V3, Availability Time Slots Config SPI)",
59
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
60
+ },
61
+ {
62
+ "capability": "commerce.service-sessions",
63
+ "reason": "Create Booking requires bookedEntity.slot.eventId for CLASS bookings, so any source with class or course schedules must create sessions before bookings. WPS Bookings has no session concept, so nothing maps from THIS source — the capability is recorded because the next booking source will need it.",
64
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: session, class session, calendar event, recurring event.",
65
+ "suspected": "target-exists",
66
+ "plannedTarget": "bookings/<new entity> on Events V3 (Create Event / Bulk Create Event, recurrencePattern MASTER/INSTANCE)",
67
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
68
+ },
69
+ {
70
+ "capability": "commerce.booking-policies",
71
+ "reason": "mwb_mbfw_cancellation_allowed, mwb_bfwp_order_statuses_to_cancel and mwb_mbfw_minimum_no_days_booking are per-service cancellation and advance-notice rules with a real Wix home. Only mwb_mbfw_admin_confirmation has a target today (service.onlineBooking.requireManualApproval); the rest silently vanish.",
72
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: cancellation policy, booking window, advance notice, reschedule policy.",
73
+ "suspected": "target-exists",
74
+ "plannedTarget": "bookings/<new entity> on Booking Policies (full CRUD)",
75
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
76
+ },
77
+ {
78
+ "capability": "commerce.service-providers",
79
+ "reason": "Every APPOINTMENT service requires a staffMemberIds resource GUID, so a provider must exist before ANY service import — this is a hard prerequisite, not an optional fidelity item. WPS Bookings does not model providers, but sources that do (Amelia, Bookly, BookingPress) map directly.",
80
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: staff, provider, resource, employee, room, equipment.",
81
+ "suspected": "target-exists",
82
+ "plannedTarget": "bookings/<new entity> on Staff Members + Resources V2",
83
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
84
+ },
85
+ {
86
+ "capability": "commerce.bookable-service-categories",
87
+ "reason": "A Wix service without category.id is invisible on the live site (documented on Create Service), so this is a correctness prerequisite rather than a nicety. Source product_cat terms map directly. Currently only a setupRequirement note on bookings/service.",
88
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: service category, catalog category.",
89
+ "suspected": "target-exists",
90
+ "plannedTarget": "bookings/<new entity> on Categories V2",
91
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
92
+ },
93
+ {
94
+ "capability": "commerce.bookable-service-variants",
95
+ "reason": "Per-person and per-duration pricing (mwb_mbfw_is_booking_unit_cost_per_people, _is_booking_base_cost_per_people, min/max people) is a real source capability currently ledgered as fidelity loss; Wix has a matching construct.",
96
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: service variant, service option, price by duration, price per person.",
97
+ "suspected": "target-exists",
98
+ "plannedTarget": "bookings/<new entity> on Service Options And Variants",
99
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
100
+ },
101
+ {
102
+ "capability": "commerce.appointment-attendance",
103
+ "reason": "Check-in and no-show state per session. WPS Bookings 3.12.0 has none (only _item_cancelled), so nothing maps from this source, but the write path is real and any booking source with check-in lands here.",
104
+ "searched": "Menu walk of dev.wix.com api-reference/business-solutions/bookings and business-management/calendar, 2026-08-16 (.md forms). Terms: attendance, check-in, no-show.",
105
+ "suspected": "target-exists",
106
+ "plannedTarget": "bookings/<new entity> on Attendance (Set / Bulk Set Attendance)",
107
+ "note": "Authored 2026-08-16 with the bookings vertical (mwb-bookings-for-woocommerce profile + new bookings domain); tracked by a `gap` verdict in domains/bookings/docs-survey.json. Deliberately NOT declared in the profile's capabilities[] — classifyCoverage unions capabilities across all of a plugin's entities, so a declared-but-unplaced capability on a profile whose other entities carry refs would misclassify as migration-planned (the pw-woocommerce-gift-cards precedent)."
108
+ },
109
+ {
110
+ "capability": "content.url-redirects",
111
+ "reason": "Source-authored redirect maps are durable data needed to preserve inbound links. Wix publicly documents the SEO Redirects API in Developer Preview. The remaining gap is RePlatform integration: source-rule extraction, safe application and verification on the actual destination frontend. Wix-internal slug auto-redirects do not replace a source-to-target migration map. Current import execution records plans only.",
112
+ "searched": "Public SEO Redirects Create Redirect and Bulk Create Redirects references: https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect and https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/bulk-create-redirects . These manage URL rules, unlike Headless Redirect Sessions.",
113
+ "suspected": "target-exists",
114
+ "plannedTarget": "SEO Redirects API (Developer Preview); target entity and safe writer still to be authored",
115
+ "note": "Keep this capability pending until application and frontend verification are confirmed by a live acceptance run. Source-rule extraction (lib/wp-redirect-sources.js) and the deterministic plan/apply/verify helper (scripts/url-redirects.js) exist but are not live-verified. Do not classify it as supported from API availability alone. Report outstanding link-preservation work to the operator. The source route classifier excludes /redirection/* REST routes; rules are read from the plugins' tables instead, never treated as absent."
116
+ }
117
+ ],
118
+ "resolved": [
119
+ {
120
+ "capability": "commerce.free-gift-rules",
121
+ "resolvedOn": "2026-08-31",
122
+ "resolution": "NATIVE TARGET FOUND — ecom/discount-rule, via targetType BUY_X_GET_Y + buyXGetYInfo. Profile routing updated in plugins/free-gifts-for-woocommerce.json.",
123
+ "why": "The pending reason said Wix DiscountRule's QUANTITY_BASED form discounts only the items its own trigger counted, so a different-product gift had no target. QUANTITY_BASED was the wrong axis to read: BOGO lives on `targetType`, whose live enum is [SPECIFIC_ITEMS, BUY_X_GET_Y]. It looked absent because buyXGetYInfo appears nowhere in the published Create Discount Rule schema and the docs' own Buy-X-Get-Y example returns HTTP 500; the shape is only visible in the API spec's component schemas.",
124
+ "note": "This file's own preamble says an agent may never conclude that Wix cannot do something, because two such conclusions (gift cards, events) were already wrong. This was the third — the preamble was right.",
125
+ "stillNotMappable": "A cart COUPON CODE gate. Wix has no coupon trigger, so a coupon-gated gift rule imported `active` gives the gift to every shopper. Import inactive and flag it, or rebuild it as a Wix coupon."
126
+ }
127
+ ]
128
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "description": "The CMS-fallback eligibility register: recognized plugin capabilities for which a NAMED HUMAN has determined that nothing native in Wix fits, so a Wix CMS (Wix Data) collection is an acceptable place to keep the records. Eligibility alone never plans a write: each migration keeps the capability pending until the merchant approves or declines that specific fallback at the mapping review, recorded in that project's orchestration/decisions.json under pluginCmsFallback:<capability> (written only by `orchestration-state.js decide-cms-fallback`). CMS keeps the records; it does not bring back what the plugin did, and `featureLoss` says what the merchant loses, verbatim, at the approval ask and in reports.\n\nRules (enforced by plugin-knowledge-validate.js): every entry is signed (`decidedBy`, `decidedOn`); `targetRefsByEntity` keys cover exactly the profile entities of the capability, and only a capability whose every declaring profile declares exactly one capability may appear; every ref starts with cms/ and is a known target ref; a capability may not also appear in requires-development.json or no-migration-needed.json capabilities[]; and an entry is rejected once a Wix target entity claims the capability. Plugin profiles never name cms/* refs in candidateTargetRefs.",
4
+ "capabilities": [
5
+ {
6
+ "capability": "content.podcast",
7
+ "targetRefsByEntity": {
8
+ "seriously-simple-podcasting/episode": ["cms/collection", "cms/data-item"]
9
+ },
10
+ "reason": "Wix has no native podcast entity: no Wix target entity claims content.podcast, so episodes can only be kept as CMS data (a collection of episodes, with audio files referenced as media).",
11
+ "nativeAlternativesChecked": "Bundled Wix target knowledge (rp-target-wix domains capabilityIndex) has no entity claiming content.podcast and no podcast, episode or feed target; reviewed with the original 2026-08-16 signature, which recorded CMS as the migration model for this capability.",
12
+ "featureLoss": "Episodes arrive as CMS data; no podcast player or RSS feed is recreated.",
13
+ "decidedBy": "Product Owner",
14
+ "decidedOn": "2026-08-16",
15
+ "note": "Replaces the CMS refs formerly declared in seriously-simple-podcasting.json's episode entity and the signature recorded in its no-native-podcast-target pitfall; the signature is scoped to this capability only."
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "plugin": "contact-form-7",
4
+ "displayName": "Contact Form 7",
5
+ "profileVersion": "2026-08",
6
+ "sourceOfTruth": "https://contactform7.com/rest-api/",
7
+ "distribution": "wordpress-org",
8
+ "capabilities": [
9
+ "content.form-definitions"
10
+ ],
11
+ "detect": {
12
+ "pluginFileIds": [
13
+ "contact-form-7/wp-contact-form-7"
14
+ ],
15
+ "routes": [
16
+ "/contact-form-7/v1/contact-forms"
17
+ ],
18
+ "restNamespaces": [
19
+ "contact-form-7/v1"
20
+ ],
21
+ "assetPathSlugs": [
22
+ "contact-form-7"
23
+ ]
24
+ },
25
+ "entities": [
26
+ {
27
+ "entity": "contact-form",
28
+ "channel": "plugin-rest",
29
+ "route": "/contact-form-7/v1/contact-forms",
30
+ "context": "edit",
31
+ "recordKeyField": "id",
32
+ "candidateTargetRefs": [
33
+ "forms/form"
34
+ ],
35
+ "pitfalls": [
36
+ {
37
+ "code": "collection-is-a-stub",
38
+ "severity": "blocker",
39
+ "summary": "[VERIFIED LIVE 2026-08-16] The collection returns only an index row per form — `{id, hash, slug, title, locale}` — and NO field data at all. Reading this route alone yields a list of form names with nothing to build a Wix schema from. The definition lives on the per-form route; see the contact-form-definition entity, which is why this profile declares a plugin-rest-child alongside the collection instead of treating the list as the record."
40
+ },
41
+ {
42
+ "code": "route-is-admin-gated",
43
+ "severity": "warning",
44
+ "summary": "[VERIFIED LIVE 2026-08-16] Anonymous GET returns 403 `wpcf7_forbidden` ('You are not allowed to access contact forms.'); the same GET with an administrator application password returns 200. Discovery must therefore treat an empty/failed CF7 read as a CREDENTIALS problem, not as 'the site has no forms'. The route is nonetheless listed in the public REST index (both authed and anonymous), so DETECTION works with no credentials even though READING does not."
45
+ },
46
+ {
47
+ "code": "collection-also-accepts-post",
48
+ "severity": "warning",
49
+ "summary": "[VERIFIED LIVE 2026-08-16] OPTIONS on /contact-form-7/v1/contact-forms reports methods GET and POST — POST on this route CREATES a contact form. This is a read-only source adapter: never issue anything but GET here. Recorded because the route's own shape is the trap, not the profile."
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "entity": "contact-form-definition",
55
+ "channel": "plugin-rest-child",
56
+ "route": "/contact-form-7/v1/contact-forms/{parentId}",
57
+ "parentRoute": "/contact-form-7/v1/contact-forms",
58
+ "requiresParent": "contact-form",
59
+ "recordKeyField": "id",
60
+ "candidateTargetRefs": [
61
+ "forms/form"
62
+ ],
63
+ "pitfalls": [
64
+ {
65
+ "code": "form-tag-syntax-is-the-real-schema",
66
+ "severity": "blocker",
67
+ "summary": "[VERIFIED LIVE 2026-08-16] The durable definition is `properties.form.content` — CF7's own form-tag markup, e.g. `[text* your-name autocomplete:name]` interleaved with raw HTML labels. CF7 also ships a PARSED view at `properties.form.fields[]`, each entry `{type, basetype, name, options[], raw_values[], labels[], values[], pipes[], content}`. Consume `fields[]`, not the markup: a trailing `*` on `type` (`text*` vs `text`) is how CF7 encodes REQUIRED, `basetype` is the type without it, `name` is the stable machine key that becomes the Wix field `target`, and `values`/`labels`/`pipes` carry the choices for select/radio/checkbox tags. The surrounding HTML labels are NOT in fields[] — a field's human label lives in the markup, so a definition read that ignores `content` produces Wix fields with machine names and no captions."
68
+ },
69
+ {
70
+ "code": "mail-templates-are-not-form-fields",
71
+ "severity": "warning",
72
+ "summary": "[VERIFIED LIVE 2026-08-16] `properties` carries five keys: `form`, `mail`, `mail_2`, `messages`, `additional_settings`. Only `form` is field data. `mail` / `mail_2` are the notification email templates (subject, sender, body, recipient, additional_headers, attachments, use_html, exclude_blank — with CF7 mail-tags like `[_site_admin_email]` and `[your-subject]` interpolated), `messages` is the 23 validation/status strings, `additional_settings` is free-form config. None of these map to a Wix Form Schema create input: Wix notification behaviour is Automations, and the confirmation text is `submitSettings.submitSuccessAction`. Treat mail_* as reconfigure-in-wix and ledger it — do not attempt to translate a mail template into anything on forms/form."
73
+ },
74
+ {
75
+ "code": "cf7-does-not-store-submissions",
76
+ "severity": "blocker",
77
+ "summary": "[VERIFIED LIVE 2026-08-16] CF7 persists NOTHING a visitor submits. Its delivery model is email-only: on submit it renders `mail` / `mail_2` and sends them. There is no submissions collection on this route, no submissions table, and no submissions CPT belonging to this plugin. On sites that also run Flamingo, the messages are stored by FLAMINGO, under Flamingo's own plugin id and CPTs — a different plugin owning different data, so it is deliberately NOT covered by this profile. See quirks for the ownership decision and what Flamingo needs."
78
+ }
79
+ ]
80
+ }
81
+ ],
82
+ "excludeRoutes": [
83
+ {
84
+ "route": "/contact-form-7/v1/contact-forms/{parentId}/feedback",
85
+ "reason": "runtime submit endpoint — a POST here SUBMITS the form for real, firing CF7's mail templates to the site owner. Must never be touched by a read-only source adapter."
86
+ },
87
+ {
88
+ "route": "/contact-form-7/v1/contact-forms/{parentId}/feedback/schema",
89
+ "reason": "client-side validation schema for the live form widget; derivable from the definition we already read, and carries no durable business data."
90
+ },
91
+ {
92
+ "route": "/contact-form-7/v1/contact-forms/{parentId}/refill",
93
+ "reason": "runtime helper that refreshes CAPTCHA/quiz values for a rendered form; ephemeral, no durable data."
94
+ }
95
+ ],
96
+ "quirks": [
97
+ "[VERIFIED LIVE 2026-08-16, CF7 6.1.6] The plugin file id is `contact-form-7/wp-contact-form-7` — directory and main-file basename DIFFER. Constructing it as `contact-form-7/contact-form-7` (the obvious guess) yields a signal that never matches. Read from GET /wp/v2/plugins, never assemble.",
98
+ "[VERIFIED LIVE 2026-08-16] The `wpcf7_contact_form` CPT is NOT REST-visible: it is absent from /wp/v2/types even with an administrator application password, and GET /wp/v2/wpcf7_contact_form returns 404. [DOCUMENTED, source 6.1.6 includes/contact-form.php] register_post_type() is called with public=false and no `show_in_rest`, which defaults to false. So core-cpt is not a channel here and the plugin's own namespace is the only REST way in.",
99
+ "[DOCUMENTED, source 6.1.6] The CPT does NOT set `can_export`, so it defaults to true and CF7 form definitions ARE carried in a standard WXR export. That is a viable credential-free fallback channel if the operator can supply an export but not an admin application password; not declared as an entity because the live REST channel is present and richer (it hands back CF7's own parsed fields[], where WXR hands back raw post_content the adapter would have to parse itself).",
100
+ "OWNERSHIP DECISION 2026-08-16 — Flamingo is a separate profile, not entities here. Flamingo ships as its own plugin (`flamingo/flamingo`, 2.6.3) and stores CF7 submissions in ITS OWN CPTs (`flamingo_inbound` for messages, `flamingo_contact` for the derived address book). It also stores messages from senders other than CF7. Folding those into contact-form-7.json would attribute one plugin's data to another and would break the moment a site runs Flamingo without CF7 or CF7 without Flamingo — so `content.form-submissions` is deliberately NOT claimed by this profile, and CF7's submissions capability is UNREACHABLE WITHOUT A FLAMINGO PROFILE.",
101
+ "[VERIFIED LIVE 2026-08-16] Flamingo is not reachable over REST at all: no `flamingo` namespace appears in the REST index, `flamingo_inbound`/`flamingo_contact` are absent from authed /wp/v2/types, and GET /wp/v2/flamingo_inbound returns 404. [DOCUMENTED, source 2.6.3 includes/class-inbound-message.php + class-contact.php] both CPTs register with an explicit `'show_in_rest' => false`, as do their taxonomies. A future flamingo.json therefore cannot use plugin-rest or core-cpt — its channels are `export-file` (the CPTs do not set can_export, so WXR carries them; Flamingo also ships an admin CSV export, includes/csv.php) or `db-only`. Stored per message: `_fields` (the submitted values map), `_subject`, `_from`, `_from_name`, `_from_email`, `_meta`, `_akismet`, `_recaptcha`, `_spam_log`, `_consent`, `_hash`, plus post_date as the original timestamp — and a dedicated `flamingo-spam` post status that a migration must filter out rather than recreate.",
102
+ "The Wix side of the submissions path already exists and is NOT the blocker: forms/form-submission claims content.form-submissions, accepts a backdated `createdDate`, and is authored and ready. The gap is purely source-side reachability. Because a Wix target entity already claims that capability, this cannot be filed in capabilities-pending-decision.json (the validator rejects a pending entry once a target claims it) — the correct next action is a flamingo.json profile, not a pending register entry."
103
+ ]
104
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "plugin": "facebook-for-woocommerce",
4
+ "displayName": "Meta for WooCommerce",
5
+ "profileVersion": "2026-08",
6
+ "sourceOfTruth": "https://woocommerce.com/products/facebook/",
7
+ "distribution": "wordpress-org",
8
+ "capabilities": [
9
+ "commerce.facebook-catalog-sync"
10
+ ],
11
+ "detect": {
12
+ "pluginFileIds": [
13
+ "facebook-for-woocommerce/facebook-for-woocommerce.php"
14
+ ],
15
+ "recordProperties": [
16
+ "_wc_facebook_sync_enabled",
17
+ "fb_visibility",
18
+ "_wc_facebook_google_product_category"
19
+ ],
20
+ "assetPathSlugs": [
21
+ "facebook-for-woocommerce"
22
+ ]
23
+ },
24
+ "entities": [
25
+ {
26
+ "entity": "facebook-catalog-sync",
27
+ "channel": "core-meta",
28
+ "embeddedIn": ["/wc/v3/products"],
29
+ "propertyPath": "_wc_facebook_sync_enabled",
30
+ "candidateTargetRefs": ["sales-channels/meta-catalog-connect"],
31
+ "pitfalls": [
32
+ {
33
+ "code": "manual-mapping-per-product-settings-not-portable",
34
+ "severity": "warning",
35
+ "summary": "Migration-planned via manual-mapping, superseding the earlier reconfigure-in-wix/no-need-to-migrate verdict (2026-08-16) now that rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json exists: the sync outcome is a real, numbered merchant runbook (connect the native Meta catalog feed), not just a one-line reason. The per-product settings in wc/v3/products meta_data — including _wc_facebook_google_product_category — still do not carry over; see that entity's per-product-settings-not-portable pitfall for the live-verified reason (no facebookProductOverrides arm in wix.stores_channels.marketplace_overrides.v1.product_override)."
36
+ }
37
+ ]
38
+ }
39
+ ],
40
+ "quirks": [
41
+ "No REST route at all — data is only visible as meta_data entries on wc/v3/products (verified in source, includes/Products.php, 2026-08-11: not directly network-verified against a live site's actual meta_data payload; confirm on next live run).",
42
+ "sync-enabled/visibility/category fields are per-product configuration for the Facebook/Instagram/WhatsApp shops integration, not customer-facing commerce data like orders or reviews."
43
+ ]
44
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "description": "Alias map for the fingerprinted tier: public evidence tokens — a wp-content/plugins/<slug> asset path or the first segment of an unrecognized REST namespace — resolved to a plugin display name. No entities, no channels, no target refs: carrying a name never requires authoring a migration profile. The tier makes no completeness claim and never feeds route selection; it exists so an unauthenticated run stops understating what it can plainly see. Entries grow from real runs, like the no-migration-needed list.",
4
+ "aliases": {
5
+ "cky": { "displayName": "CookieYes", "slug": "cookie-law-info" },
6
+ "nextend-social-login": { "displayName": "Nextend Social Login", "slug": "nextend-facebook-connect" },
7
+ "fgf": { "displayName": "Free Gifts for WooCommerce", "slug": "free-gifts-for-woocommerce" },
8
+ "mc4wp": { "displayName": "MC4WP: Mailchimp for WordPress", "slug": "mailchimp-for-wp" },
9
+ "mailpoet": { "displayName": "MailPoet", "slug": "mailpoet" },
10
+ "ai1wm": { "displayName": "All-in-One WP Migration and Backup", "slug": "all-in-one-wp-migration" },
11
+ "dinekit": { "displayName": "DineKit", "slug": "dinekit" },
12
+ "zprint": { "displayName": "BizPrint Print Manager for WooCommerce", "slug": "print-google-cloud-print-gcp-woocommerce" },
13
+ "syncee": { "displayName": "Syncee Premium Dropshipping & Wholesale", "slug": "syncee-global-dropshipping" },
14
+ "wc-facebook": { "displayName": "Meta for WooCommerce", "slug": "facebook-for-woocommerce" },
15
+ "fb_api": { "displayName": "Meta for WooCommerce", "slug": "facebook-for-woocommerce" },
16
+ "google-site-kit": { "displayName": "Site Kit by Google", "slug": "google-site-kit" },
17
+ "regenerate-thumbnails": { "displayName": "Regenerate Thumbnails", "slug": "regenerate-thumbnails" },
18
+ "wp-rollback": { "displayName": "WP Rollback", "slug": "wp-rollback" },
19
+ "meow-mailer": { "displayName": "Meow Mailer", "slug": "meow-mailer" },
20
+ "jetpack-boost": { "displayName": "Jetpack Boost", "slug": "jetpack-boost" },
21
+ "jetpack": { "displayName": "Jetpack", "slug": "jetpack" },
22
+ "crowdsignal-forms": { "displayName": "Crowdsignal Forms", "slug": "crowdsignal-forms" },
23
+ "newspack-blocks": { "displayName": "Newspack Blocks", "slug": "newspack-blocks" },
24
+ "health-check": { "displayName": "Health Check & Troubleshooting", "slug": "health-check" },
25
+ "woocommerce_aliexpress_dropship": { "displayName": "ALD - Dropshipping and Fulfillment for AliExpress", "slug": "woo-alidropship" },
26
+ "woocommerce-products-filter": { "displayName": "HUSKY - Products Filter Professional for WooCommerce", "slug": "woocommerce-products-filter" },
27
+ "sharemypost": { "displayName": "ShareMyPost", "slug": "sharemypost" },
28
+ "npcink-ad": { "displayName": "Npcink Ad", "slug": "npcink-ad" },
29
+ "itboffins-live-opening-hours": { "displayName": "ITBoffins Live Opening Hours Banner & Table", "slug": "itboffins-live-opening-hours" },
30
+ "disclaimer-popup": { "displayName": "Disclaimer Popup", "slug": "disclaimer-popup" },
31
+ "contact-form-7": { "displayName": "Contact Form 7", "slug": "contact-form-7" },
32
+ "wordpress-seo": { "displayName": "Yoast SEO", "slug": "wordpress-seo" },
33
+ "yoast": { "displayName": "Yoast SEO", "slug": "wordpress-seo" },
34
+ "elementor": { "displayName": "Elementor", "slug": "elementor" },
35
+ "wpforms": { "displayName": "WPForms", "slug": "wpforms-lite" },
36
+ "gravityforms": { "displayName": "Gravity Forms", "slug": "gravityforms" },
37
+ "gf": { "displayName": "Gravity Forms", "slug": "gravityforms" },
38
+ "buddypress": { "displayName": "BuddyPress", "slug": "buddypress" },
39
+ "tribe": { "displayName": "The Events Calendar", "slug": "the-events-calendar" },
40
+ "ssp": { "displayName": "Seriously Simple Podcasting", "slug": "seriously-simple-podcasting" },
41
+ "gutenberg": { "displayName": "Gutenberg", "slug": "gutenberg" },
42
+ "akismet": { "displayName": "Akismet Anti-spam", "slug": "akismet" },
43
+ "my-jetpack": { "displayName": "Jetpack", "slug": "jetpack" },
44
+ "jetpack-global-styles": { "displayName": "Jetpack", "slug": "jetpack" },
45
+ "videopress": { "displayName": "Jetpack VideoPress", "slug": "jetpack-videopress" },
46
+ "wpjm-internal": { "displayName": "WP Job Manager", "slug": "wp-job-manager" },
47
+ "pw-woocommerce-gift-cards": { "displayName": "PW WooCommerce Gift Cards", "slug": "pw-woocommerce-gift-cards" }
48
+ }
49
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "plugin": "free-gifts-for-woocommerce",
4
+ "displayName": "Free Gifts for WooCommerce",
5
+ "profileVersion": "2026-08",
6
+ "sourceOfTruth": "https://woocommerce.com/products/free-gifts-for-woocommerce/",
7
+ "distribution": "premium-or-unlisted",
8
+ "capabilities": [
9
+ "commerce.coupons",
10
+ "commerce.free-gift-rules"
11
+ ],
12
+ "detect": {
13
+ "pluginFileIds": [
14
+ "free-gifts-for-woocommerce/free-gifts-for-woocommerce.php"
15
+ ],
16
+ "assetPathSlugs": [
17
+ "free-gifts-for-woocommerce"
18
+ ]
19
+ },
20
+ "entities": [
21
+ {
22
+ "entity": "coupon-gift-rule-definition",
23
+ "capability": "commerce.coupons",
24
+ "channel": "admin-page-only",
25
+ "candidateTargetRefs": [
26
+ "stores/coupon"
27
+ ],
28
+ "pitfalls": [
29
+ {
30
+ "code": "plugin-identity-ambiguous",
31
+ "severity": "warning",
32
+ "summary": "Two distinct plugins both document an install folder literally named `free-gifts-for-woocommerce`: the closed-source WooCommerce.com Marketplace extension 'Free Gifts for WooCommerce' (woocommerce.com/products/free-gifts-for-woocommerce/, active development through v12.8.0 as of 2025-12-19 per wpspring.com's changelog mirror), and the free wordpress.org plugin now listed under a DIFFERENT current slug, `free-gifts-product-for-woocommerce` ('Free Gift Product For WooCommerce'). This profile assumes the WooCommerce.com Marketplace extension, matching both the requested slug and the existing `fgf` alias in fingerprint-aliases.json — but neither plugin's source was reachable (closed/paid, not GitHub-mirrored; wordpress.org network fetches failed in the research pass behind this profile). Re-verify plugin identity against the live site's `GET /wp/v2/plugins` name/description before trusting this profile's specifics.",
33
+ "unverified": true
34
+ },
35
+ {
36
+ "code": "rest-crud-added-2025-unverified-route",
37
+ "severity": "warning",
38
+ "summary": "Per the vendor's own changelog (v12.2.0, released 2025-07-02, mirrored at wpspring.com/free-gifts-for-woocommerce-changelog/): 'REST API endpoints support was added to enable full CRUD operation for Free Gift rule(s) and Master Log', with a response-key rename in the same release. This means current installs (v12.2.0+) may have a genuine plugin-rest channel for rule definitions — a materially better position than woo-discount-rules ever had. No route path, namespace, or auth requirement was discoverable without source access (closed-source, no live site to probe). Classified admin-page-only here as the conservative default; the highest-value follow-up for this profile is a live `GET /wp-json` route-index check on an actual install running v12.2.0+ before assuming no REST path.",
39
+ "unverified": true
40
+ },
41
+ {
42
+ "code": "gift-is-not-auto-added-on-wix",
43
+ "severity": "warning",
44
+ "summary": "A rebuilt Wix coupon does NOT reproduce this plugin's central behaviour, and the loss is easy to miss because the mapping otherwise looks clean. On the source, applying the Coupon Gift code ADDS the gift product to the cart. The Wix equivalent — `percentOffRate: 100` scoped to that product — only discounts the gift if the buyer has already put it in the cart, so a buyer who enters the code and adds nothing receives nothing. There is no platform fallback: no Wix service plugin mutates a cart (every extension returns a decision — eligible triggers, rates, fees, validations, tax — and none can insert a line item). So the outcome is either the lossy coupon plus an explicit note to the merchant, or custom storefront/app development outside the migration. Surface this at mapping review rather than after go-live. See rp-target-wix/domains/stores/entities/coupon.json's free-gift-coupons-are-a-lossy-mapping-the-gift-is-not-auto-added."
45
+ },
46
+ {
47
+ "code": "admin-page-not-reachable-with-application-password",
48
+ "severity": "blocker",
49
+ "summary": "Coupon Gift is standing configuration and maps to a product-scoped Wix coupon, not an Automatic Discount. The source rule is still admin-page-only unless the unverified REST CRUD route is present; Application Passwords cannot authenticate a wp-admin settings-page render.",
50
+ "blocked": [
51
+ {
52
+ "kind": "user-file",
53
+ "resolution": "First check whether the live site's REST index exposes a Free Gifts namespace (v12.2.0+ may have one). If not, ask the site owner to transcribe or screenshot each Coupon Gift rule, including its code, trigger threshold, and eligible gift product. Rebuild it as a product-scoped Wix coupon — and see the gift-is-not-auto-added-on-wix pitfall below before telling anyone the rebuild is equivalent.",
54
+ "declined": false
55
+ }
56
+ ]
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "entity": "automatic-or-bogo-gift-rule-definition",
62
+ "capability": "commerce.free-gift-rules",
63
+ "channel": "admin-page-only",
64
+ "candidateTargetRefs": [
65
+ "ecom/discount-rule"
66
+ ],
67
+ "pitfalls": [
68
+ {
69
+ "code": "different-product-gift-maps-to-buy-x-get-y",
70
+ "severity": "warning",
71
+ "summary": "CORRECTED 2026-08-31 — this pitfall previously said no native Wix target existed for granting a DIFFERENT product, and that was WRONG. Automatic Gift and Buy X Get Y both map natively: DiscountRule `discounts.values[].targetType` accepts BUY_X_GET_Y with a `buyXGetYInfo` payload ({customerBuys: {scopes[], minimumQuantity|minimumSpend}, customerGets: {scopes[], quantity}, limit?}). Set customerBuys to the threshold scope and customerGets to the gift product with discountType FIXED_PRICE / fixedPrice '0'. So route these definitions to ecom/discount-rule rather than keeping the capability pending. The old conclusion came from reading QUANTITY_BASED, which is the wrong axis — BOGO lives on targetType, not discountType — and from buyXGetYInfo being absent from the published method schema while the docs' own Buy-X-Get-Y example returns HTTP 500. WHAT STILL DOES NOT MAP is a gate Wix has no trigger for, a cart COUPON CODE being the common one: such a rule imported `active` applies to every shopper unconditionally, so import it inactive and flag it, or rebuild it as a Wix coupon. See rp-target-wix/domains/ecom/entities/discount-rule.json's buy-x-get-y-is-supported-but-undocumented pitfall."
72
+ },
73
+ {
74
+ "code": "admin-page-not-reachable-with-application-password",
75
+ "severity": "blocker",
76
+ "summary": "The rule definitions are admin-page-only unless the vendor's unverified v12.2.0+ REST CRUD route is present. Application Passwords cannot authenticate a wp-admin settings-page render.",
77
+ "blocked": [
78
+ {
79
+ "kind": "user-file",
80
+ "resolution": "First check whether the live site's REST index exposes a Free Gifts namespace. If not, ask the site owner to transcribe or screenshot each Automatic Gift and Buy X Get Y rule so the unsupported behavior is visible at mapping review.",
81
+ "declined": false
82
+ }
83
+ ]
84
+ }
85
+ ]
86
+ }
87
+ ],
88
+ "quirks": [
89
+ "Functional scope (vendor docs, woocommerce.com/document/free-gifts/): Coupon Gift is standing configuration mapped to stores/coupon; Automatic Gift and Buy X Get Y are tracked separately as the commerce.free-gift-rules capability, which routes to ecom/discount-rule via targetType BUY_X_GET_Y (corrected 2026-08-31; it was recorded as pending until then). The rule DEFINITIONS are still admin-page-only, so having a target does not make them readable; Manual Gift is a merchant action on an individual order, not standing configuration or an entity to migrate.",
90
+ "Vendor docs and third-party summaries consistently describe the applied gift as landing on the order as a real $0.00 line item for the gift product (either via a zero-price line or a $0 coupon restricted to that product) — this is NOT a distinct entity here because a $0 product line item already migrates generically through the existing commerce.order-line-items capability (ecom/order-line-item, sourceEntity woocommerce:order_line_item, confidence high) with no plugin-specific channel required. What is NOT captured anywhere in this profile is a marker distinguishing 'this $0 line was a promotional gift' from 'the merchant manually priced this product at $0' — no meta key was found (no source access); if a future live run finds one (search sampled order line_items[].meta_data for anything gift-related), add it here as a core-meta entity under a new applied-discount-style capability rather than folding it into commerce.order-line-items.",
91
+ "fingerprint-aliases.json already maps the observed `fgf` asset-path token to `free-gifts-for-woocommerce`, promoting that otherwise named-only signal to this profile's deterministic detection path.",
92
+ "This profile has not been verified against a running installation of the assumed WooCommerce.com Marketplace extension. Every behavioral claim above is vendor-documentation-tier, not source- or live-verified."
93
+ ]
94
+ }