@wix/agent-skills 1.33.0 → 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.
- package/README.md +23 -0
- package/package.json +2 -2
- package/skills/wix-app/references/DASHBOARD_PAGE.md +1 -1
- package/skills/wix-export/SKILL.md +83 -0
- package/skills/wix-harmony-editor/.publish-manifest.json +8 -0
- package/skills/wix-harmony-editor/COPY-SITE.md +494 -0
- package/skills/wix-harmony-editor/SKILL.md +317 -0
- package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +249 -0
- package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +225 -0
- package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +89 -0
- package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +76 -0
- package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +212 -0
- package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +44 -0
- package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +45 -0
- package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +53 -0
- package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +76 -0
- package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +16 -0
- package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +150 -0
- package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +27 -0
- package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +56 -0
- package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +211 -0
- package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +29 -0
- package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +92 -0
- package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +56 -0
- package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +73 -0
- package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +67 -0
- package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +102 -0
- package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +40 -0
- package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +191 -0
- package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +61 -0
- package/skills/wix-harmony-editor/scripts/launch.sh +359 -0
- package/skills/wix-headless/SKILL.md +7 -2
- package/skills/wix-headless/references/CAPABILITIES.md +6 -1
- package/skills/wix-headless/references/DISCOVERY.md +2 -1
- package/skills/wix-headless/references/SDK_HANDOFF.md +6 -1
- package/skills/wix-headless/references/SEED.md +3 -2
- package/skills/wix-headless/references/SETUP.md +1 -0
- package/skills/wix-headless/references/inline-recipes/experience-donations.md +102 -0
- package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +146 -0
- package/skills/wix-headless/references/inline-recipes/setup-donations.md +15 -0
- package/skills/wix-headless/references/managed/CREATE.md +1 -1
- package/skills/wix-headless-kit/SKILL.md +110 -21
- package/skills/wix-headless-kit/guides/api-run.md +15 -13
- package/skills/wix-headless-kit/guides/existing-site.md +31 -0
- package/skills/wix-headless-kit/guides/migration.md +49 -17
- package/skills/wix-headless-kit/install/agents-md.mjs +1 -1
- package/skills/wix-headless-kit/install/context.mjs +61 -6
- package/skills/wix-headless-kit/install/pins.json +1 -1
- package/skills/wix-headless-kit/install/setup.mjs +107 -12
- package/skills/wix-headless-replatform/.publish-manifest.json +8 -0
- package/skills/wix-headless-replatform/SKILL.md +116 -0
- package/skills/wix-headless-replatform/agents/openai.yaml +6 -0
- package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +43 -0
- package/skills/wix-headless-replatform/references/extraction-schema.md +187 -0
- package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +137 -0
- package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +41 -0
- package/skills/wix-headless-replatform/references/output-contract.md +93 -0
- package/skills/wix-headless-replatform/references/post-build-gap-contract.md +125 -0
- package/skills/wix-headless-replatform/references/qa-checklist.md +83 -0
- package/skills/wix-headless-replatform/references/safety.md +19 -0
- package/skills/wix-headless-replatform/references/ui-normalization-contract.md +70 -0
- package/skills/wix-headless-replatform/references/workflow.md +157 -0
- package/skills/wix-headless-replatform/registry/README.md +20 -0
- package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +28 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +54 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +60 -0
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +48 -0
- package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +21 -0
- package/skills/wix-headless-replatform/registry/registry.json +36 -0
- package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +32 -0
- package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +62 -0
- package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +64 -0
- package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +42 -0
- package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +73 -0
- package/skills/wix-headless-replatform/schemas/build-plan.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/candidate.schema.json +19 -0
- package/skills/wix-headless-replatform/schemas/common.schema.json +33 -0
- package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/decision-request.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +28 -0
- package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +34 -0
- package/skills/wix-headless-replatform/schemas/final-report.schema.json +10 -0
- package/skills/wix-headless-replatform/schemas/foundation.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/metadata.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +17 -0
- package/skills/wix-headless-replatform/schemas/page-capture.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +33 -0
- package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +11 -0
- package/skills/wix-headless-replatform/schemas/unit.schema.json +40 -0
- package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +844 -0
- package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +163 -0
- package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +42 -0
- package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +228 -0
- package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +87 -0
- package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +505 -0
- package/skills/wix-headless-replatform/scripts/discover-urls.mjs +142 -0
- package/skills/wix-headless-replatform/scripts/extract-assets.mjs +140 -0
- package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +637 -0
- package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +1903 -0
- package/skills/wix-headless-replatform/scripts/extract-page.mjs +2461 -0
- package/skills/wix-headless-replatform/scripts/extract-seo.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +63 -0
- package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +126 -0
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +180 -0
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +98 -0
- package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +103 -0
- package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +176 -0
- package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +261 -0
- package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +342 -0
- package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +140 -0
- package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +22 -0
- package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +143 -0
- package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +288 -0
- package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +266 -0
- package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +111 -0
- package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +570 -0
- package/skills/wix-headless-replatform/scripts/lib/common.mjs +329 -0
- package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +121 -0
- package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +282 -0
- package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +61 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +374 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +243 -0
- package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +1139 -0
- package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +326 -0
- package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +184 -0
- package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +396 -0
- package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +168 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +10 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +194 -0
- package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +348 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +141 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +43 -0
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +18 -0
- package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +64 -0
- package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +31 -0
- package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +358 -0
- package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +25 -0
- package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +39 -0
- package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +107 -0
- package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +96 -0
- package/skills/wix-headless-replatform/scripts/site-clone.mjs +658 -0
- package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +29 -0
- package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +669 -0
- package/skills/wix-headless-replatform/scripts/visual-qa.mjs +370 -0
- package/skills/wix-headless-templates/donations/INSTRUCTIONS.md +37 -24
- package/skills/wix-headless-templates/donations/app/components/donations/DonateForm.tsx +49 -23
- package/skills/wix-headless-templates/donations/app/components/donations/DonationReceipt.tsx +6 -5
- package/skills/wix-headless-templates/donations/app/components/donations/GoalProgress.tsx +5 -5
- package/skills/wix-headless-templates/donations/app/wix/donations/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/app/wix/donations/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/app/wix/donations/donation-store.ts +2 -2
- package/skills/wix-headless-templates/donations/app/wix/donations/donations-core.ts +12 -9
- package/skills/wix-headless-templates/donations/project/src/components/donations/DonateForm.tsx +49 -23
- package/skills/wix-headless-templates/donations/project/src/components/donations/DonationReceipt.tsx +6 -5
- package/skills/wix-headless-templates/donations/project/src/components/donations/GoalProgress.tsx +5 -5
- package/skills/wix-headless-templates/donations/project/src/wix/donations/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donation-store.ts +2 -2
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donations-core.ts +12 -9
- package/skills/wix-headless-templates/donations/rest/campaigns.ts +4 -4
- package/skills/wix-headless-templates/donations/rest/donate.ts +7 -3
- package/skills/wix-headless-templates/donations/seed/SEED.md +12 -7
- package/skills/wix-headless-templates/donations/tests/donation-contract.test.mjs +71 -0
- package/skills/wix-headless-templates/donations/tests/donation-form.test.cjs +137 -0
- package/skills/wix-headless-templates/restaurants/INSTRUCTIONS.md +28 -14
- package/skills/wix-headless-templates/restaurants/app/components/restaurants/OrderCartDrawer.tsx +87 -5
- package/skills/wix-headless-templates/restaurants/app/hooks/restaurants/useOrderCart.ts +9 -1
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/order-store.ts +33 -4
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering-core.ts +100 -5
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/ordering.ts +101 -15
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/types.ts +35 -1
- package/skills/wix-headless-templates/restaurants/project/src/components/restaurants/OrderCartDrawer.tsx +87 -5
- package/skills/wix-headless-templates/restaurants/project/src/hooks/restaurants/useOrderCart.ts +9 -1
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/order-store.ts +33 -4
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering-core.ts +100 -5
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/ordering.ts +101 -15
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/types.ts +35 -1
- package/skills/wix-headless-templates/restaurants/rest/ordering.ts +91 -14
- package/skills/wix-import/SKILL.md +90 -0
- package/skills/wix-manage/SKILL.md +38 -10
- package/skills/wix-manage/references/automations/actions.md +11 -11
- package/skills/wix-manage/references/automations/activation-status.md +6 -9
- package/skills/wix-manage/references/automations/api-catalog.md +48 -32
- package/skills/wix-manage/references/automations/automation-model.md +97 -22
- package/skills/wix-manage/references/automations/bracket-expressions.md +7 -7
- package/skills/wix-manage/references/automations/build-and-manage-automations.md +140 -309
- package/skills/wix-manage/references/automations/conditions.md +187 -0
- package/skills/wix-manage/references/automations/schemas-and-scheduling.md +191 -0
- package/skills/wix-manage/references/automations/special-actions.md +210 -0
- package/skills/wix-manage/references/automations/triggers.md +47 -10
- package/skills/wix-manage/references/automations/validation-and-verification.md +320 -0
- package/skills/wix-manage/references/custom-apps/use-app-tools.md +124 -0
- package/skills/wix-manage/references/dashboard-navigation/dashboard-navigation.md +2 -1
- package/skills/wix-manage/references/dashboard-navigation/routes.json +249 -0
- package/skills/wix-manage/references/donations/create-and-update-donation-campaigns.md +139 -0
- package/skills/wix-manage/references/events/create-wix-event.md +136 -73
- package/skills/wix-manage/references/events/events-dashboard-navigation.md +81 -0
- package/skills/wix-manage/references/events/manage-event-guests.md +366 -0
- package/skills/wix-manage/references/events/manage-event-tickets.md +293 -0
- package/skills/wix-manage/references/events/manage-wix-events.md +313 -55
- package/skills/wix-manage/references/sites/manage-oauth-apps.md +1 -0
- package/skills/wix-manage/references/sites/upload-static-site.md +127 -8
- package/skills/wix-manage/references/stores/update-product-with-options.md +58 -2
- package/skills/wix-replatform/.publish-manifest.json +5 -5
- package/skills/wix-replatform/CLI.md +162 -0
- package/skills/wix-replatform/README.md +52 -0
- package/skills/wix-replatform/SKILL.md +229 -684
- package/skills/wix-replatform/console/account.css +1 -0
- package/skills/wix-replatform/console/app.css +1 -0
- package/skills/wix-replatform/console/app.js +117 -0
- package/skills/wix-replatform/console/index.html +4 -0
- package/skills/wix-replatform/console/json.css +11 -0
- package/skills/wix-replatform/lib/agent-adapters/index.js +71 -0
- package/skills/wix-replatform/lib/app-page-routing.js +75 -0
- package/skills/wix-replatform/lib/artifact-freshness.js +11 -1
- package/skills/wix-replatform/lib/blocked-data-requests.js +427 -0
- package/skills/wix-replatform/lib/census-reconciliation.js +426 -0
- package/skills/wix-replatform/lib/completion-report.js +1393 -13
- package/skills/wix-replatform/lib/config-env.js +85 -11
- package/skills/wix-replatform/lib/confirmed-pictures.js +212 -0
- package/skills/wix-replatform/lib/dependency-readiness.js +423 -0
- package/skills/wix-replatform/lib/dependency-recovery.js +21 -0
- package/skills/wix-replatform/lib/destination-choice.js +163 -0
- package/skills/wix-replatform/lib/destination-handoff.js +62 -0
- package/skills/wix-replatform/lib/destination-http.js +81 -0
- package/skills/wix-replatform/lib/destination-route.js +98 -0
- package/skills/wix-replatform/lib/destination.js +919 -0
- package/skills/wix-replatform/lib/discovered-census.js +231 -0
- package/skills/wix-replatform/lib/discovered-set-status.js +255 -0
- package/skills/wix-replatform/lib/document-url-guard.js +203 -0
- package/skills/wix-replatform/lib/entity-qa-attestation.js +339 -0
- package/skills/wix-replatform/lib/entity-verification.js +18 -0
- package/skills/wix-replatform/lib/execution-capability.js +120 -0
- package/skills/wix-replatform/lib/execution-log.js +170 -0
- package/skills/wix-replatform/lib/execution-manifest.js +20 -2
- package/skills/wix-replatform/lib/execution-state.js +22 -0
- package/skills/wix-replatform/lib/expectations-ledger.js +96 -0
- package/skills/wix-replatform/lib/generated-plugin-handoff.js +140 -0
- package/skills/wix-replatform/lib/import-readiness-contract.js +23 -0
- package/skills/wix-replatform/lib/import-recovery.js +800 -6
- package/skills/wix-replatform/lib/imported-redirect-targets.js +608 -0
- package/skills/wix-replatform/lib/internal-link-reconciliation.js +166 -0
- package/skills/wix-replatform/lib/link-audit.js +173 -0
- package/skills/wix-replatform/lib/link-census.js +194 -0
- package/skills/wix-replatform/lib/link-plan.js +148 -0
- package/skills/wix-replatform/lib/link-verification.js +274 -0
- package/skills/wix-replatform/lib/link-write-journal.js +42 -0
- package/skills/wix-replatform/lib/local-state.js +869 -30
- package/skills/wix-replatform/lib/member-completion.js +658 -0
- package/skills/wix-replatform/lib/member-crosswalk.js +69 -0
- package/skills/wix-replatform/lib/member-outcome-registry.js +265 -0
- package/skills/wix-replatform/lib/migration-completion.js +311 -0
- package/skills/wix-replatform/lib/operator-identity.js +47 -0
- package/skills/wix-replatform/lib/orchestration-decisions.js +248 -0
- package/skills/wix-replatform/lib/orchestration-preflight.js +401 -19
- package/skills/wix-replatform/lib/orchestration-router.js +608 -32
- package/skills/wix-replatform/lib/orchestration-state.js +188 -12
- package/skills/wix-replatform/lib/order-reference-readiness.js +30 -0
- package/skills/wix-replatform/lib/payments-outcome-registry.js +200 -0
- package/skills/wix-replatform/lib/plugin-cms-fallback.js +618 -0
- package/skills/wix-replatform/lib/preservation-approval-stamp.js +54 -0
- package/skills/wix-replatform/lib/product-media-deferral.js +96 -0
- package/skills/wix-replatform/lib/progress-log.js +19 -3
- package/skills/wix-replatform/lib/read-back-approval.js +184 -0
- package/skills/wix-replatform/lib/read-back-comparison.js +136 -0
- package/skills/wix-replatform/lib/read-back-contract.js +243 -0
- package/skills/wix-replatform/lib/read-back-extract.js +118 -0
- package/skills/wix-replatform/lib/read-back-gate.js +734 -0
- package/skills/wix-replatform/lib/read-back-reads.js +94 -0
- package/skills/wix-replatform/lib/read-back-state.js +107 -0
- package/skills/wix-replatform/lib/read-back-summary.js +81 -0
- package/skills/wix-replatform/lib/rerun-conflicts.js +334 -0
- package/skills/wix-replatform/lib/run-controller.js +401 -0
- package/skills/wix-replatform/lib/seo-outcome-registry.js +45 -0
- package/skills/wix-replatform/lib/setup-verification.js +148 -0
- package/skills/wix-replatform/lib/source-access.js +231 -0
- package/skills/wix-replatform/lib/source-coverage.js +1130 -0
- package/skills/wix-replatform/lib/source-secrets.js +277 -0
- package/skills/wix-replatform/lib/structured-link-patch.js +59 -0
- package/skills/wix-replatform/lib/task-state.js +110 -0
- package/skills/wix-replatform/lib/url-preservation-report.js +319 -0
- package/skills/wix-replatform/lib/url-preservation-state.js +349 -1
- package/skills/wix-replatform/lib/url-redirect-plan.js +728 -0
- package/skills/wix-replatform/lib/url-verification.js +315 -0
- package/skills/wix-replatform/lib/user-action-effects.js +42 -0
- package/skills/wix-replatform/lib/user-actions.js +264 -0
- package/skills/wix-replatform/lib/website-handoff.js +1220 -0
- package/skills/wix-replatform/lib/wix-client-callers.js +54 -0
- package/skills/wix-replatform/lib/wix-dashboard-url.js +35 -0
- package/skills/wix-replatform/lib/write-verification-state.js +92 -0
- package/skills/wix-replatform/lib/write-verification.js +274 -0
- package/skills/wix-replatform/resources/rp-destination/SKILL.md +137 -0
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +189 -16
- package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +47 -0
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +869 -29
- package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +70 -0
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +195 -29
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +442 -0
- package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +112 -0
- package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +143 -0
- package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +244 -0
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +2082 -38
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +528 -11
- package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +303 -0
- package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +88 -0
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +6 -5
- package/skills/wix-replatform/resources/rp-preflight/SKILL.md +40 -0
- package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +55 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +60 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +89 -0
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +36 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +123 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +124 -0
- package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +522 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +56 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +91 -0
- package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +255 -0
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +80 -10
- package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +44 -0
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +3 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +21 -1
- package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +66 -0
- package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +153 -0
- package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +394 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +200 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +34 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +44 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +1470 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +446 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +474 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +879 -0
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +426 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +24 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +18 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +40 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +76 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +51 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +35 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +20 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +18 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +31 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +21 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +21 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +30 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +150 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +36 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +48 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +20 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +6 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +8 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +12 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +6 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +73 -0
- package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +13 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +693 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +283 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +191 -0
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +115 -0
- package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +201 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +146 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +736 -22
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +73 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +115 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +91 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +440 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +125 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +252 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +183 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +333 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +426 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +400 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +633 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +1127 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +194 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +100 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +157 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +234 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +101 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +755 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +1074 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +149 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +25 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +204 -9
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +186 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +1422 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +343 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +262 -26
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +272 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +373 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +101 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +81 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +128 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +18 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +104 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +44 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +49 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +94 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +863 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +52 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +161 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +180 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +286 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +79 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +120 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +128 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +88 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +80 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +46 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +55 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +99 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +55 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +160 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +81 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +60 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +74 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +75 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +60 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +44 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +57 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +141 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +54 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +158 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +97 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +86 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +90 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +51 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +103 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +1668 -33
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +273 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +11 -0
- package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +13 -0
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +446 -32
- package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +38 -2
- package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +322 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +70 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +19 -9
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +42 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +54 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +66 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +38 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +332 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +75 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +181 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +130 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +180 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +161 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +15 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +39 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +47 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +7 -1
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +204 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +17 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +159 -15
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +80 -12
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +48 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +306 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +30 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +171 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +182 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +129 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +192 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +123 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +60 -12
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +112 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +191 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +140 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +383 -18
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +122 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +98 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +86 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +128 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +38 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +107 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +89 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +118 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +93 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +86 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +56 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +121 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +134 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +50 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +87 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +130 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +914 -24
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +14 -4
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +45 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +41 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +13 -3
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +41 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +82 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +77 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +165 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +41 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +46 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +137 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +133 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +7 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +36 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +71 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +67 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +72 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +74 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +69 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +61 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +28 -1
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +109 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +148 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +91 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +79 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +32 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +49 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +103 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +203 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +27 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +111 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +52 -8
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +214 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +93 -13
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +111 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +52 -10
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +145 -14
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +84 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +178 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +87 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +106 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +94 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +113 -0
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +65 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +165 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +60 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +201 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +306 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +229 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +55 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +715 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +567 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +73 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +194 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +133 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +13 -4
- package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +491 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +104 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +673 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +453 -2
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +119 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +566 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +249 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +63 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +187 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +64 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +1027 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +90 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +420 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +177 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +151 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +723 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +353 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +1437 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +354 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +134 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +221 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +248 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +86 -3
- package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +231 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +28 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +14 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +34 -0
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +166 -15
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +19 -2
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +4079 -257
- package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +3 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +150 -0
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +40 -2
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +6 -1
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +148 -8
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +83 -15
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +1119 -215
- package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +318 -0
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +2 -2
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +106 -4
- package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +94 -0
- package/skills/wix-replatform/scripts/census-reconciliation.js +25 -0
- package/skills/wix-replatform/scripts/cms-fallback.js +89 -0
- package/skills/wix-replatform/scripts/discovered-census.js +26 -0
- package/skills/wix-replatform/scripts/discovered-set-status.js +33 -0
- package/skills/wix-replatform/scripts/entity-qa-attestation.js +130 -0
- package/skills/wix-replatform/scripts/execution-health-check.js +415 -0
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +1 -1
- package/skills/wix-replatform/scripts/execution-state-prepare.js +1 -1
- package/skills/wix-replatform/scripts/expectations-ledger.js +44 -0
- package/skills/wix-replatform/scripts/import-contract-verify.js +183 -0
- package/skills/wix-replatform/scripts/internal-link-audit.js +90 -0
- package/skills/wix-replatform/scripts/item-seo-tags-verify.js +205 -0
- package/skills/wix-replatform/scripts/migration-completion.js +76 -0
- package/skills/wix-replatform/scripts/orchestration-preflight.js +21 -2
- package/skills/wix-replatform/scripts/orchestration-route.js +32 -1
- package/skills/wix-replatform/scripts/orchestration-state.js +146 -10
- package/skills/wix-replatform/scripts/read-back-gate.js +175 -0
- package/skills/wix-replatform/scripts/replatform-console.js +146 -0
- package/skills/wix-replatform/scripts/replatform.js +436 -0
- package/skills/wix-replatform/scripts/source-secrets.js +77 -0
- package/skills/wix-replatform/scripts/url-redirects.js +286 -0
- package/skills/wix-replatform/scripts/user-action.js +58 -0
- package/skills/wix-replatform/scripts/website-handoff-generate.js +64 -0
- package/skills/wix-replatform/scripts/wix-dashboard-url.js +54 -0
- package/skills/wix-replatform/scripts/wix-destination.js +143 -0
- package/skills/wix-replatform/scripts/wix-headless-scaffold.js +762 -0
- package/skills/wix-vibe-headless/SKILL.md +7 -3
- package/skills/wix-vibe-headless/install/deploy.cjs +61 -34
- package/skills/wix-vibe-headless/platforms/base44.md +1 -0
- package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +88 -0
- package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +112 -0
- package/skills/wix-vibe-headless/references/donations/seed/SEED.md +11 -0
- package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +258 -0
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +5 -2
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +4 -1
- package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +67 -3
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +4 -3
- package/skills/wix-manage/references/custom-apps/use-app-skills-and-app-tools.md +0 -208
- package/skills/wix-replatform/resources/rp-target-wix/SPEC-product-reviews-and-blog-authorship.md +0 -330
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"description": "The Requires development register: capabilities a NAMED HUMAN has determined Wix has no surface for. This is the only place that verdict may live, and the only source of the requires-development status — automation is limited to migration-planned, no-need-to-migrate, or pending.\n\nWhy the restriction: an agent concluded twice that Wix had no target (gift cards, events) and was wrong both times, because Wix splits capabilities across doc trees and a service plugin reads like an absent write API. A wrong 'impossible' is the most expensive error in this system: it tells a customer to abandon data that could have moved.\n\nEvery entry needs `decidedBy` and `decidedOn` alongside the recorded search. Entries are reviewable and reversible: if a target later appears, validation rejects the entry.",
|
|
4
|
+
"capabilities": [
|
|
5
|
+
{
|
|
6
|
+
"capability": "commerce.product-bundles",
|
|
7
|
+
"reason": "Fixed product bundles (one purchasable product composed of specific child products with quantities at a set price — WPC Product Bundles' woosb_ids, and the official WooCommerce Product Bundles / Composite Products extensions alike) have no native Wix Stores target: Catalog V3 productType is PHYSICAL | DIGITAL only, with no composed-product entity or child-product references, and order history's parent/child line-item linkage (_woosb_ids / _woosb_parent_id) has no eCom order field to receive it. Interim migration path: the bundle product migrates as a plain stores/product with its derived price frozen at migration-time value, and the composition lands in a CMS collection keyed by the product crosswalk — the same shape Wix's own Velo 'Bundle Products' package uses.",
|
|
8
|
+
"searched": "bundle, composite product, product kit, product set, child products — dev.wix.com and support.wix.com (2026-08-16, WebSearch/WebFetch): Catalog V3 product-object.md (productType PHYSICAL|DIGITAL only); dev.wix.com/docs/velo/articles/velo-package-readmes/wix-stores-bundle-products (Velo site-code pattern: plain product + CMS Bundles collection, not a write API); support.wix.com/en/article/wix-stores-selling-mix-and-match-product-bundles — evaluated 2026-08-16: mix-and-match is a category + automatic-discount pattern for customer-assembled combos (no fixed-bundle SKU, no composed-product entity, no API) and does NOT receive fixed bundles.",
|
|
9
|
+
"decidedBy": "Product Owner",
|
|
10
|
+
"decidedOn": "2026-08-16",
|
|
11
|
+
"note": "The missing Wix capability is a bundle/composite product type writable at creation (Stores/Catalog). A gap with a working workaround (CMS composition) needs no standalone operator task. Reversible: if Catalog V3 gains a bundle primitive, validation rejects this entry once a target entity claims the capability."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"capability": "unknown-plugin:dropshipping-xml-for-woocommerce/dropshipping-xml-for-woocommerce",
|
|
15
|
+
"plugin": "dropshipping-xml-for-woocommerce/dropshipping-xml-for-woocommerce",
|
|
16
|
+
"project": "reference-migration",
|
|
17
|
+
"reason": "Dropshipping supplier-linkage: no general-merchant-facing Wix write API represents linking a store's products to an external dropshipping supplier's catalog/fulfillment feed.",
|
|
18
|
+
"evidence": [
|
|
19
|
+
{
|
|
20
|
+
"searched": "dropshipping supplier catalog sync; supplier fulfillment linkage; dropship product import API",
|
|
21
|
+
"method": "WebSearch + WebFetch against dev.wix.com, 2026-08-12",
|
|
22
|
+
"urls": [
|
|
23
|
+
"https://dev.wix.com/docs/api-reference/business-solutions/suppliers-hub/suppliers/introduction",
|
|
24
|
+
"https://dev.wix.com/docs/build-apps/get-started/tutorials/common-use-cases/extensions-and-apis-for-dropshipping-apps",
|
|
25
|
+
"https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/introduction"
|
|
26
|
+
],
|
|
27
|
+
"found": "The business-solutions tree does have a Marketplace Suppliers API (suppliers-hub) whose Supplier object carries a DROPSHIPPING/WHOLESALE type -- but per its own docs, quoted verbatim: \"This API is available only to approved Wix business partners and requires a signed business agreement with Wix. To apply for partnership, contact Wix.\" Its `Supplier` models the marketplace-provider relationship (an entity that supplies a Wix *marketplace provider*, who then resells to end users), not a per-product external-supplier link an ordinary merchant's own store can create on its own products. The other hits (\"Extensions and APIs for Dropshipping Apps\", Catalog V3) are for *building* a dropshipping-supplier app that provides products TO other Wix stores (an SPI direction), or for generic inventory/stock management -- neither is a write path for importing an existing store's own supplier-linkage configuration.",
|
|
28
|
+
"conclusion": "SPI / partner-gated surface, not a general write API reachable by a normal site migration. No import path exists today for this capability."
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"decidedBy": "user",
|
|
32
|
+
"decidedOn": "2026-08-12",
|
|
33
|
+
"decisionContext": "the mapping review gate, resolving a previously open question (left as a genuine open question in mapping-gaps.json rather than silently resolved).",
|
|
34
|
+
"searched": "dropshipping supplier catalog sync, supplier fulfillment linkage, dropship product import API — searched against dev.wix.com business-solutions tree (WebSearch/WebFetch, 2026-08-12). Found the Marketplace Suppliers API (suppliers-hub), but it is restricted to approved Wix business partners with a signed business agreement and models the marketplace-provider relationship, not a per-product external-supplier link on an existing store. No general write API found."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"capability": "unknown-plugin:woo-alidropship/woo-alidropship",
|
|
38
|
+
"plugin": "woo-alidropship/woo-alidropship",
|
|
39
|
+
"project": "reference-migration",
|
|
40
|
+
"reason": "Dropshipping supplier-linkage: same finding as dropshipping-xml-for-woocommerce -- no general-merchant-facing Wix write API for supplier catalog/fulfillment linkage.",
|
|
41
|
+
"evidence": [
|
|
42
|
+
{
|
|
43
|
+
"searched": "dropshipping supplier catalog sync; supplier fulfillment linkage; dropship product import API",
|
|
44
|
+
"method": "WebSearch + WebFetch against dev.wix.com, 2026-08-12",
|
|
45
|
+
"urls": [
|
|
46
|
+
"https://dev.wix.com/docs/api-reference/business-solutions/suppliers-hub/suppliers/introduction",
|
|
47
|
+
"https://dev.wix.com/docs/build-apps/get-started/tutorials/common-use-cases/extensions-and-apis-for-dropshipping-apps"
|
|
48
|
+
],
|
|
49
|
+
"found": "Same Marketplace Suppliers API finding as dropshipping-xml-for-woocommerce: partner-gated (signed business agreement required), and its Supplier object models the marketplace-provider relationship, not a per-product external-supplier link on an existing store.",
|
|
50
|
+
"conclusion": "SPI / partner-gated surface, not a general write API reachable by a normal site migration. No import path exists today for this capability."
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"decidedBy": "user",
|
|
54
|
+
"decidedOn": "2026-08-12",
|
|
55
|
+
"decisionContext": "the mapping review gate, resolving a previously open question (left as a genuine open question in mapping-gaps.json rather than silently resolved).",
|
|
56
|
+
"searched": "dropshipping supplier catalog sync, supplier fulfillment linkage, dropship product import API — searched against dev.wix.com business-solutions tree (WebSearch/WebFetch, 2026-08-12). Same Marketplace Suppliers API finding as dropshipping-xml-for-woocommerce: partner-gated, not a general write surface."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"capability": "unknown-plugin:syncee-global-dropshipping/plugin",
|
|
60
|
+
"plugin": "syncee-global-dropshipping/plugin",
|
|
61
|
+
"project": "reference-migration",
|
|
62
|
+
"reason": "Dropshipping supplier-linkage: same finding as dropshipping-xml-for-woocommerce -- no general-merchant-facing Wix write API for supplier catalog/fulfillment linkage.",
|
|
63
|
+
"evidence": [
|
|
64
|
+
{
|
|
65
|
+
"searched": "dropshipping supplier catalog sync; supplier fulfillment linkage; dropship product import API",
|
|
66
|
+
"method": "WebSearch + WebFetch against dev.wix.com, 2026-08-12",
|
|
67
|
+
"urls": [
|
|
68
|
+
"https://dev.wix.com/docs/api-reference/business-solutions/suppliers-hub/suppliers/introduction",
|
|
69
|
+
"https://dev.wix.com/docs/build-apps/get-started/tutorials/common-use-cases/extensions-and-apis-for-dropshipping-apps"
|
|
70
|
+
],
|
|
71
|
+
"found": "Same Marketplace Suppliers API finding as dropshipping-xml-for-woocommerce: partner-gated (signed business agreement required), and its Supplier object models the marketplace-provider relationship, not a per-product external-supplier link on an existing store. Note: Syncee is also independently available as a Wix App Market app for merchants, which is a separate reconfigure-in-wix path a merchant could adopt fresh in Wix -- but that is not a migration of this plugin's existing WooCommerce-side linkage/data, which is what this capability tracks.",
|
|
72
|
+
"conclusion": "SPI / partner-gated surface, not a general write API reachable by a normal site migration. No import path exists today for this capability's existing source-side configuration."
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"decidedBy": "user",
|
|
76
|
+
"decidedOn": "2026-08-12",
|
|
77
|
+
"decisionContext": "the mapping review gate, resolving a previously open question (left as a genuine open question in mapping-gaps.json rather than silently resolved).",
|
|
78
|
+
"searched": "dropshipping supplier catalog sync, supplier fulfillment linkage, dropship product import API — searched against dev.wix.com business-solutions tree (WebSearch/WebFetch, 2026-08-12). Same Marketplace Suppliers API finding: partner-gated, not a general write surface for migrating this plugin's existing source-side linkage/data (Syncee's own Wix App Market app is a separate reconfigure-in-wix path, not a migration of this data)."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"capability": "commerce.abandoned-carts",
|
|
82
|
+
"reason": "Historical abandoned carts cannot be imported into Wix. The eCommerce AbandonedCheckout entity has NO create, import or upsert method at any level — the whole public AbandonedCheckoutService is Get / Delete / BulkDelete / Query / Search / RedirectToCheckout — and the entity is only ever derived by the platform from a live shopper session that went incomplete. The documented workaround (recreate the antecedent cart and let the pipeline detect it) was piloted live and does not work: carts created live, including one carrying a genuine platform-assigned visitorId plus a Wix-resolved contactId, produced ZERO AbandonedCheckout records, however long they sat. Even had it worked, Cart.createdDate is readOnly, so every backfilled cart is stamped with the import date rather than the real abandonment date: a year of history would read as abandoned today and would trigger recovery mail about carts people left months ago. Do NOT attempt this path. The PEOPLE behind abandoned carts are a separate matter and remain migratable as crm/contact (email only, never a subscription status — an abandoned cart is not consent).",
|
|
83
|
+
"searched": "2026-09-07/08. (1) SearchWixRESTDocumentation 'create abandoned checkouts / import historical abandoned cart records' -> only Get/Query/Search/Delete/BulkDelete plus created/updated/recovered/deleted webhooks; the API introduction states the platform creates the entity itself when a customer starts a checkout or a member abandons a cart. (2) Full method enumeration of the AbandonedCheckout resource via the API spec (resourceId 078d1b42-5b92-4ad4-8160-01247260582e): 6 methods, no create at any level. (3) Cart schema inspection: buyerInfo.visitorId / memberId / userId are all readOnly (platform-assigned from the calling session) and Cart.createdDate is readOnly. buyerInfo.contactId is writable in the schema but REFUSED in practice on the admin path — sent at CreateCart and again at UpdateCart, read back null both times. (4) Live pilot: admin-token carts (no identity) and a visitor-token cart (contactId auto-resolved by Wix from the buyer email) — none classified. The Stores catalog gate passed, so the catalog was never the blocker. (5) The Wix Stores AbandonedCarts CMS collection is a read-only Wix App system collection, not an authorable target.",
|
|
84
|
+
"decidedBy": "user",
|
|
85
|
+
"decidedOn": "2026-09-08"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "seo-by-rank-math",
|
|
4
|
+
"displayName": "Rank Math SEO",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://wordpress.org/plugins/seo-by-rank-math/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"content.seo-meta"
|
|
10
|
+
],
|
|
11
|
+
"detect": {
|
|
12
|
+
"pluginFileIds": [
|
|
13
|
+
"seo-by-rank-math/rank-math"
|
|
14
|
+
],
|
|
15
|
+
"restNamespaces": [
|
|
16
|
+
"rankmath/v1"
|
|
17
|
+
],
|
|
18
|
+
"recordProperties": [
|
|
19
|
+
"rank_math_title",
|
|
20
|
+
"rank_math_description",
|
|
21
|
+
"rank_math_canonical_url",
|
|
22
|
+
"rank_math_focus_keyword",
|
|
23
|
+
"rank_math_robots",
|
|
24
|
+
"rankMath"
|
|
25
|
+
],
|
|
26
|
+
"assetPathSlugs": [
|
|
27
|
+
"seo-by-rank-math"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"entities": [
|
|
31
|
+
{
|
|
32
|
+
"entity": "post-seo-meta",
|
|
33
|
+
"channel": "export-file",
|
|
34
|
+
"candidateTargetRefs": [
|
|
35
|
+
"seo/item-seo-tags",
|
|
36
|
+
"blog/post",
|
|
37
|
+
"stores/product"
|
|
38
|
+
],
|
|
39
|
+
"pitfalls": [
|
|
40
|
+
{
|
|
41
|
+
"code": "unregistered-postmeta-invisible-to-rest",
|
|
42
|
+
"severity": "blocker",
|
|
43
|
+
"summary": "Rank Math calls register_meta ZERO times. [VERIFIED IN PLUGIN SOURCE v1.0.276 (wordpress.org, the exact version installed), grep -rn 'register_meta' across includes/ returns nothing, 2026-08-16.] Its per-post SEO therefore lives entirely in unregistered wp_postmeta rows and never appears in the REST `meta` object, in any context, with any credential. The only register_rest_field it declares is `rankMath` on the `page` post type, and only when Helper::is_site_editor() is true and the caller can `read` (includes/rest/class-post.php:53) - an editor-screen convenience, not a data surface. So there is NO REST read path for Rank Math SEO data; it is postmeta, which means a WXR export carries it, hence channel export-file rather than db-only."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"code": "capability-shared-with-yoast",
|
|
47
|
+
"severity": "info",
|
|
48
|
+
"summary": "This profile claims content.seo-meta, the same capability as wordpress-seo (Yoast), because it is the same business capability: per-item SEO title, meta description, canonical, Open Graph/Twitter overrides, robots directives and focus keyphrase. The Wix decision is identical for both, which is the point of keying knowledge on capability rather than plugin. Only the read channel differs - Yoast is REST-readable, Rank Math is not."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"code": "meta-keys-source-verified-not-live",
|
|
52
|
+
"severity": "warning",
|
|
53
|
+
"summary": "The per-record keys are rank_math_title, rank_math_description, rank_math_canonical_url, rank_math_focus_keyword, rank_math_robots (plus rank_math_advanced_robots), rank_math_facebook_title / _description / _image, rank_math_twitter_title / _description / _image, rank_math_permalink, rank_math_breadcrumb_title, rank_math_pillar_content, rank_math_rich_snippet / rank_math_schema_*, rank_math_seo_score and rank_math_exclude_sitemap. [VERIFIED IN PLUGIN SOURCE v1.0.276, string-frequency scan over includes/, 2026-08-16.] [NEEDS-VERIFICATION on a live site with Rank Math ACTIVE: an installed but INACTIVE plugin offers no payload, no route and no asset path could be observed - every claim here is source-derived.]"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"code": "detection-must-not-depend-on-being-active",
|
|
57
|
+
"severity": "warning",
|
|
58
|
+
"summary": "An inactive plugin registers no REST namespace, enqueues no asset and writes no record property, so restNamespaces / recordProperties / assetPathSlugs all fail. [VERIFIED LIVE 2026-08-16: no rankmath/v1 namespace in the REST index of a site where the plugin is installed at version 1.0.276, and no seo-by-rank-math asset path in the homepage HTML.] Detection here rests on pluginFileIds against the admin-gated /wp/v2/plugins list, which is exactly the 'strongest signal first' principle - without the Application Password an installed-but-inactive Rank Math is invisible. That is correct behaviour: an inactive SEO plugin's stale postmeta is not what the live site renders, and a run that cannot see it should say the plugin list was incomplete rather than guess."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"code": "both-seo-plugins-installed-is-ambiguous",
|
|
62
|
+
"severity": "warning",
|
|
63
|
+
"summary": "A site can have Yoast ACTIVE and Rank Math INACTIVE simultaneously - a common state, because Rank Math ships an importer for Yoast data and users trial one against the other. When both are detected, the ACTIVE one is the source of truth for what the site currently renders; the inactive one's postmeta may be stale, partial, or an abandoned import. Never merge the two into one SEO record. Surface the conflict at the mapping review rather than picking silently."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"code": "no-import-without-a-user-supplied-file",
|
|
67
|
+
"severity": "warning",
|
|
68
|
+
"summary": "channel export-file means this entity is Blocked - recoverable (kind: user-file) until the user supplies a WXR export, and never a limitation of Wix: seo/item-seo-tags is a verified write surface waiting for the data. Application Passwords authenticate REST and XML-RPC only, never wp-admin, so the WXR is something the user PRODUCES and supplies - we cannot fetch it. Rank Math's own Status & Tools > Import & Export exports plugin SETTINGS, not per-post meta, so it is not an alternative."
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"quirks": [
|
|
74
|
+
"Plugin file id is `seo-by-rank-math/rank-math` - the main-file basename differs from the directory and the /wp/v2/plugins id carries no .php suffix [VERIFIED LIVE 2026-08-16: status INACTIVE, version 1.0.276, textdomain seo-by-rank-math]. Never construct dir/dir.php. The directory exists and is served (GET /wp-content/plugins/seo-by-rank-math/rank-math.php returns HTTP 200 with an empty body), which confirms the directory slug but is not a detection signal.",
|
|
75
|
+
"Storage model: unregistered post meta. Decisive for this profile - it is the reason the channel is export-file and not core-meta, and it is the single fact that separates Rank Math from Yoast for migration purposes even though the two hold the same capability.",
|
|
76
|
+
"REST namespace is `rankmath/v1` when active [VERIFIED IN PLUGIN SOURCE v1.0.276, includes/rest/class-rest-helper.php:29 `const BASE = 'rankmath/v1'`]. Its routes are admin/editor actions and dashboards - /updateMetaBulk (POST, capability-gated write), /getHead (read-only URL-to-head helper, registered only when the headless_support setting is on), /getFeaturedImageId, /disconnectSite, /setupWizard/*. None is a readable collection of SEO records, so an active Rank Math would still not yield a plugin-rest data route; the same conclusion the live /yoast/v1 walk reached for Yoast.",
|
|
77
|
+
"Rank Math also owns custom tables (rank_math_redirections, rank_math_internal_links, rank_math_analytics_*) [VERIFIED IN PLUGIN SOURCE v1.0.276]. Redirections are durable content.url-redirects data not claimed by this profile. Wix has a public SEO Redirects API in Developer Preview, but RePlatform application and verification remain pending; see the seo domain url-redirect-api-not-yet-integrated pitfall. Internal-links and analytics tables are derived indexes and reports, not data to move.",
|
|
78
|
+
"Do not confuse the free plugin (this one, wordpress.org slug seo-by-rank-math) with Rank Math PRO (seo-by-rank-math-pro), which is a separate premium add-on directory and would appear as its own row in /wp/v2/plugins."
|
|
79
|
+
]
|
|
80
|
+
}
|
package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "seriously-simple-podcasting",
|
|
4
|
+
"displayName": "Seriously Simple Podcasting",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://wordpress.org/plugins/seriously-simple-podcasting/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": ["content.podcast"],
|
|
9
|
+
"detect": {
|
|
10
|
+
"pluginFileIds": ["seriously-simple-podcasting/seriously-simple-podcasting.php"],
|
|
11
|
+
"routes": ["/ssp/v1/episodes"],
|
|
12
|
+
"restNamespaces": ["ssp/v1"],
|
|
13
|
+
"restBases": ["podcast"],
|
|
14
|
+
"assetPathSlugs": ["seriously-simple-podcasting"]
|
|
15
|
+
},
|
|
16
|
+
"entities": [
|
|
17
|
+
{
|
|
18
|
+
"entity": "episode",
|
|
19
|
+
"channel": "plugin-rest",
|
|
20
|
+
"route": "/ssp/v1/episodes",
|
|
21
|
+
"recordKeyField": "id",
|
|
22
|
+
"candidateTargetRefs": [],
|
|
23
|
+
"pitfalls": [
|
|
24
|
+
{
|
|
25
|
+
"code": "no-native-podcast-target",
|
|
26
|
+
"severity": "warning",
|
|
27
|
+
"summary": "Wix has no native podcast entity. CMS archival is a signed eligible fallback for content.podcast (plugins/cms-fallback-eligible.json): each migration keeps the capability pending until the merchant approves or declines archiving the episodes in CMS at the mapping review. If approved, episodes arrive as CMS data and audio files as media; no podcast player or RSS feed reappears automatically on Wix."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"code": "podcast-route-is-settings-not-records",
|
|
31
|
+
"severity": "info",
|
|
32
|
+
"summary": "/ssp/v1/podcast (singular) is the show's settings/feed object, not a record collection; the durable records are the episodes (verified live 2026-08-10 on SSP 3.16.3 — the previously declared /ssp/v1/podcasts route does not exist)."
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"dataRoutePatterns": [
|
|
38
|
+
{
|
|
39
|
+
"pattern": "/ssp/v1/*",
|
|
40
|
+
"reason": "Seriously Simple Podcasting routes expose durable podcast records"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"quirks": [
|
|
44
|
+
"Episode audio is referenced by URL in record fields; media reachability rules apply as for any external media URL."
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "strong-testimonials",
|
|
4
|
+
"displayName": "Strong Testimonials",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://wordpress.org/plugins/strong-testimonials/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"content.testimonials"
|
|
10
|
+
],
|
|
11
|
+
"detect": {
|
|
12
|
+
"pluginFileIds": [
|
|
13
|
+
"strong-testimonials/strong-testimonials.php"
|
|
14
|
+
],
|
|
15
|
+
"assetPathSlugs": [
|
|
16
|
+
"strong-testimonials"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"entities": [
|
|
20
|
+
{
|
|
21
|
+
"entity": "testimonial",
|
|
22
|
+
"capability": "content.testimonials",
|
|
23
|
+
"channel": "db-only",
|
|
24
|
+
"candidateTargetRefs": [],
|
|
25
|
+
"pitfalls": [
|
|
26
|
+
{
|
|
27
|
+
"code": "shared-posts-table-requires-filter",
|
|
28
|
+
"severity": "warning",
|
|
29
|
+
"summary": "Testimonials are wp_posts rows (post_type=wpm-testimonial) with no dedicated table and no show_in_rest -- reading the posts table WITHOUT this entity's declared where-filter would return every post type on the site (products, pages, attachments, etc.), not just testimonials. sampleStructureRequest.where is mandatory here, not optional -- enforced by plugin-knowledge.js's SHARED_CORE_TABLES_REQUIRING_WHERE check."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"code": "extra-fields-in-key-scoped-postmeta",
|
|
33
|
+
"severity": "warning",
|
|
34
|
+
"summary": "Rating, category, and other structured fields (if used) live in postmeta keys. These are READABLE through wix-wp-plugin-v2, key-scoped: list the distinct meta_key values for these testimonials' post ids, then read the keys that matter with a scoped request (max 50 keys). Postmeta is not refused -- do not accept a metadata gap here without running the two-step read first. post_title/post_content/post_status/dates remain directly readable from wp_posts."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"code": "empty-on-real-test-site",
|
|
38
|
+
"severity": "info",
|
|
39
|
+
"summary": "VERIFIED LIVE 2026-08-29: a filtered query against the posts table (where post_type = wpm-testimonial) executes correctly and may return zero rows when the plugin is active but unused -- the mechanism is real and reachable; an empty result means there is nothing to migrate."
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"blocked": [
|
|
43
|
+
{
|
|
44
|
+
"kind": "structure-bridge-plugin",
|
|
45
|
+
"resolution": "wix-wp-plugin-v2 can read the shared posts table filtered to this plugin's post_type -- VERIFIED LIVE 2026-08-29: a filtered query (where post_type = wpm-testimonial) executes correctly and returns pagingMetadata.total (0 when no testimonials are configured). Reachability is confirmed; fulfillment wiring is deferred until a Wix target is researched and approved at the mapping review. The working filtered query, for reference once a target is approved: select ID/post_title/post_content/post_excerpt/post_status/post_date where post_type=wpm-testimonial, orderBy ID asc.",
|
|
46
|
+
"declined": false
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"quirks": [
|
|
52
|
+
"Registers custom post type wpm-testimonial: author (post_title), body (post_content). Confirmed via the plugin's own source (shortcode-form.php).",
|
|
53
|
+
"No native Wix target researched or approved yet -- do not assume a generic CMS collection is the right landing spot without that approval (see e.g. Wix Stores' native wishlist feature, which was nearly mis-defaulted to CMS the same way for a different plugin). Do not wire the testimonial entity's blocked[] fulfillment on your own judgment before that target decision is made."
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "subscriptions-for-woocommerce",
|
|
4
|
+
"displayName": "Subscriptions For WooCommerce",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://wordpress.org/plugins/subscriptions-for-woocommerce/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"commerce.subscription-products",
|
|
10
|
+
"commerce.subscription-contracts"
|
|
11
|
+
],
|
|
12
|
+
"detect": {
|
|
13
|
+
"pluginFileIds": [
|
|
14
|
+
"subscriptions-for-woocommerce/subscriptions-for-woocommerce"
|
|
15
|
+
],
|
|
16
|
+
"routes": [
|
|
17
|
+
"/wsp-route/v1/wsp-view-subscription"
|
|
18
|
+
],
|
|
19
|
+
"restNamespaces": [
|
|
20
|
+
"wsp-route/v1"
|
|
21
|
+
],
|
|
22
|
+
"recordProperties": [
|
|
23
|
+
"_wps_sfw_product"
|
|
24
|
+
],
|
|
25
|
+
"assetPathSlugs": [
|
|
26
|
+
"subscriptions-for-woocommerce"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"credentials": [
|
|
30
|
+
{
|
|
31
|
+
"key": "wsp_api_secret_key",
|
|
32
|
+
"description": "Plugin-specific API secret for /wsp-route/v1/wsp-view-subscription, passed as the consumer_secret query parameter. Generated in the plugin's own settings (WP Swings > Subscriptions > API settings) and stored in the wsp_api_secret_key option; the API must also be switched on there (wsp_enable_api_features option = 'on'). The admin Application Password does NOT authorize this route — [VERIFIED LIVE 2026-08-16] a GET with a valid admin Application Password returned 403 rest_forbidden; [DOCUMENTED] permission callback validates only consumer_secret (plugin source 2.0.1, package/rest-api/class-subscriptions-for-woocommerce-rest-api.php, plugins.svn.wordpress.org, read 2026-08-16)."
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"entities": [
|
|
36
|
+
{
|
|
37
|
+
"entity": "subscription-product-settings",
|
|
38
|
+
"channel": "core-meta",
|
|
39
|
+
"embeddedIn": ["/wc/v3/products"],
|
|
40
|
+
"propertyPath": "_wps_sfw_product",
|
|
41
|
+
"candidateTargetRefs": ["stores/subscription-product"],
|
|
42
|
+
"pitfalls": [
|
|
43
|
+
{
|
|
44
|
+
"code": "flag-plus-sibling-meta-keys",
|
|
45
|
+
"severity": "warning",
|
|
46
|
+
"summary": "_wps_sfw_product ('yes'/'no') only marks the product; the actual recurring-offer settings are sibling unregistered postmeta keys on the same product: wps_sfw_subscription_number (cadence count), wps_sfw_subscription_interval (day|week|month|year), wps_sfw_subscription_expiry_number + wps_sfw_subscription_expiry_interval (subscription length), wps_sfw_subscription_initial_signup_price, wps_sfw_subscription_free_trial_number + wps_sfw_subscription_free_trial_interval. [DOCUMENTED] plugin source 2.0.1 admin save handler (admin/class-subscriptions-for-woocommerce-admin.php lines 1046-1064, plugins.svn.wordpress.org, read 2026-08-16). All of them ride inside the product's meta_data[] array on /wc/v3/products, the same way this KB's other core-meta profiles read theirs. [NEEDS-VERIFICATION] live appearance in meta_data: no subscription product has been read live (a product scan on 2026-08-16 found no wps_sfw_* / _wps_sfw_* key), so the read has not been exercised against a real record."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"code": "cadence-maps-fields-do-not-all-fit",
|
|
50
|
+
"severity": "warning",
|
|
51
|
+
"summary": "The cadence pair maps cleanly to the verified Wix home: wps_sfw_subscription_interval (day|week|month|year) -> product.subscriptionDetails.subscriptions[].frequency (DAY|WEEK|MONTH|YEAR) and wps_sfw_subscription_number -> .interval (stores/product fieldContract, live-verified 2026-07-26; capability claimed by stores/subscription-product, confirmed 2026-08-16). Subscription length/expiry, initial signup price, and free trial have no subscriptionDetails field - DECIDED 2026-08-16: reported loss, ledgered as fidelity_loss per record, NOT CMS-carried."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"code": "one-time-purchase-toggle-semantics",
|
|
55
|
+
"severity": "info",
|
|
56
|
+
"summary": "The plugin makes a product either a subscription or a one-time purchase per product (checkbox), while Wix models both on one product via subscriptionDetails.allowOneTimePurchases; a migrated subscription product should set allowOneTimePurchases=false unless the source sells both forms."
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"entity": "subscription-record",
|
|
62
|
+
"channel": "plugin-rest",
|
|
63
|
+
"route": "/wsp-route/v1/wsp-view-subscription",
|
|
64
|
+
"recordKeyField": "subscription_id",
|
|
65
|
+
"responseEnvelope": {
|
|
66
|
+
"itemsPath": "data"
|
|
67
|
+
},
|
|
68
|
+
"candidateTargetRefs": ["pricing-plans/plan-order"],
|
|
69
|
+
"pitfalls": [
|
|
70
|
+
{
|
|
71
|
+
"code": "pricing-plans-recreation-semantics",
|
|
72
|
+
"severity": "warning",
|
|
73
|
+
"summary": "CONFIRMED DIRECTION (accepted 2026-08-16): active recurring-subscription contracts are RECREATED as Pricing Plans memberships via Create Offline Order (POST /pricing-plans/v2/checkout/orders/offline - planId + memberId + startDate, paid:true for contracts already collected) - target pricing-plans/plan-order. The Stores-product linkage is severed by design: product_name survives only as plan title/description, an accepted trade. stores/product.subscriptionDetails still covers the product OFFER only. Recurring BILLING never carries over (payment tokens do not migrate) - collection restarts on Wix; members must exist first (memberId via crosswalk)."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"code": "plugin-secret-gated-route",
|
|
77
|
+
"severity": "warning",
|
|
78
|
+
"summary": "[VERIFIED LIVE 2026-08-16] the route is advertised in the REST index but returns 403 rest_forbidden to the admin Application Password; it accepts only the plugin's own consumer_secret query parameter, and only when the API toggle is enabled in the plugin settings (see credentials[]). Treat a 403 here as Blocked - recoverable (credential), not surface drift."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"code": "summary-projection-only",
|
|
82
|
+
"severity": "warning",
|
|
83
|
+
"summary": "[DOCUMENTED] the route returns a 10-field summary per subscription (subscription_id, parent_order_id, status, product_name, recurring_amount, interval_number, interval_type, user_name, next_payment_date, subscriptions_expiry_date - plugin source 2.0.1, package/rest-api/version1/class-subscriptions-for-woocommerce-api-process.php, read 2026-08-16). Fuller state (customer id vs display name, trial/signup detail, payment gateway, billing history) lives in the wps_subscriptions record's meta and is NOT exposed here; user_name is a display nicename, not a stable customer key - crosswalk via parent_order_id -> /wc/v3/orders customer instead."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"code": "unpaginated-full-dump",
|
|
87
|
+
"severity": "info",
|
|
88
|
+
"summary": "[DOCUMENTED] the callback queries with limit -1 / numberposts -1 and returns every subscription in one wrapped response ({code, status, data: [...]}, no X-WP-Total headers, no page/per_page args) - fine for sampling, but recordCount equals the full set and large stores pay the whole cost on the first GET."
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"quirks": [
|
|
94
|
+
"STORAGE MODEL - (a) subscription product settings: unregistered postmeta on the product (no register_meta/show_in_rest anywhere in the plugin - [DOCUMENTED] 0 occurrences in source 2.0.1, read 2026-08-16), REST-visible only because WooCommerce surfaces non-internal postmeta in /wc/v3/products meta_data[]; (b) active subscription records: a WooCommerce custom ORDER TYPE 'wps_subscriptions' (wc_register_order_type in subscriptions-for-woocommerce.php, public:false, exclude_from_order_webhooks:true, status wc-wps_renewal; HPOS-aware - records live in WooCommerce's order tables when HPOS is on, in wp_posts otherwise) [DOCUMENTED source 2.0.1]. The type is NOT registered for REST: [VERIFIED LIVE 2026-08-16] wps_subscriptions is absent from the authed /wp/v2/types, and /wc/v3/orders serves shop_order only - so the plugin's own secret-gated route is the ONLY REST read for subscription records.",
|
|
95
|
+
"[VERIFIED LIVE 2026-08-16] with plugin 2.0.1 active: the REST index advertises namespace wsp-route/v1 with exactly one data route, /wsp-route/v1/wsp-view-subscription (GET, no args); note the namespace is 'wsp-route', not the 'wsfw-route' a reader might guess from the plugin's wps_sfw_* prefix.",
|
|
96
|
+
"The plugin is the former MakeWebBetter 'Subscriptions for WooCommerce'; mwb_-prefixed helpers survive in the 2.0.1 source. [NEEDS-VERIFICATION] whether long-lived source sites still carry legacy mwb_sfw_* postmeta alongside or instead of wps_sfw_* - if a site predates the WP Swings rename, check for mwb_sfw_* keys before concluding a product is not a subscription.",
|
|
97
|
+
"[VERIFIED LIVE 2026-08-16] no product was flagged _wps_sfw_product and no subscription records were reachable, so every read-shape claim above rests on the published 2.0.1 source rather than a live payload; re-verify against a store with real subscription data before promoting this profile's field list to a contract."
|
|
98
|
+
]
|
|
99
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "tablepress",
|
|
4
|
+
"displayName": "TablePress",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://wordpress.org/plugins/tablepress/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"content.data-tables"
|
|
10
|
+
],
|
|
11
|
+
"detect": {
|
|
12
|
+
"pluginFileIds": [
|
|
13
|
+
"tablepress/tablepress.php"
|
|
14
|
+
],
|
|
15
|
+
"assetPathSlugs": [
|
|
16
|
+
"tablepress"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"entities": [
|
|
20
|
+
{
|
|
21
|
+
"entity": "table-definition",
|
|
22
|
+
"capability": "content.data-tables",
|
|
23
|
+
"channel": "db-only",
|
|
24
|
+
"candidateTargetRefs": [],
|
|
25
|
+
"pitfalls": [
|
|
26
|
+
{
|
|
27
|
+
"code": "shared-posts-table-requires-filter",
|
|
28
|
+
"severity": "warning",
|
|
29
|
+
"summary": "Tables are wp_posts rows (post_type=tablepress_table, public=false) with no dedicated table and no show_in_rest -- reading the posts table WITHOUT this entity's declared where-filter would return every post type on the site (products, pages, attachments, etc.), not just TablePress tables. sampleStructureRequest.where is mandatory here, not optional -- enforced by plugin-knowledge.js's SHARED_CORE_TABLES_REQUIRING_WHERE check."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"code": "table-data-is-json-blob",
|
|
33
|
+
"severity": "warning",
|
|
34
|
+
"summary": "post_content holds the whole table as a JSON blob (row/column array), not display-ready text -- must be parsed, not copied verbatim, before any target mapping can use individual cell values."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"code": "empty-on-real-test-site",
|
|
38
|
+
"severity": "info",
|
|
39
|
+
"summary": "VERIFIED LIVE 2026-08-29: a filtered query against the posts table (where post_type = tablepress_table) executes correctly and may return zero rows when the plugin is active but unused -- the mechanism is real and reachable; an empty result means there is nothing to migrate."
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"blocked": [
|
|
43
|
+
{
|
|
44
|
+
"kind": "structure-bridge-plugin",
|
|
45
|
+
"resolution": "wix-wp-plugin-v2 can read the shared posts table filtered to this plugin's post_type -- VERIFIED LIVE 2026-08-29: a filtered query (where post_type = tablepress_table) executes correctly and returns pagingMetadata.total (0 when no TablePress tables are configured). Reachability is confirmed; fulfillment wiring is deferred until a Wix target is researched and approved at the mapping review. The working filtered query, for reference once a target is approved: select ID/post_title/post_content/post_status/post_date where post_type=tablepress_table, orderBy ID asc.",
|
|
46
|
+
"declined": false
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"quirks": [
|
|
52
|
+
"Registers custom post type tablepress_table (public=false): table JSON lives in post_content with post_mime_type application/json. Confirmed via the plugin's own source (model-post.php).",
|
|
53
|
+
"No native Wix target researched or approved yet -- do not assume a generic CMS collection is the right landing spot without that approval. Do not wire the table-definition entity's blocked[] fulfillment on your own judgment before that target decision is made."
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"plugin": "the-events-calendar",
|
|
4
|
+
"displayName": "The Events Calendar",
|
|
5
|
+
"profileVersion": "2026-08",
|
|
6
|
+
"sourceOfTruth": "https://theeventscalendar.com/knowledgebase/introduction-to-the-events-calendar-rest-api/",
|
|
7
|
+
"distribution": "wordpress-org",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"content.events",
|
|
10
|
+
"content.event-categories",
|
|
11
|
+
"commerce.bookable-services"
|
|
12
|
+
],
|
|
13
|
+
"classificationHeuristic": {
|
|
14
|
+
"decision": "event-vs-bookings-service",
|
|
15
|
+
"summary": "The Events Calendar's `event` entity can map to either Wix Events (events/event) or a Wix Bookings Service (bookings/service, type CLASS) — they are not interchangeable targets, and picking wrong loses real functionality (ticketing vs. per-attendee capacity/booking flow).",
|
|
16
|
+
"preferBookings": "Small-group, bookable workshops/classes/pop-ups: capped capacity implied by 'limited spots'/'booking required' language, a single or small recurring set of sessions, no ticket tiers, and priced (or free) per-attendee registration rather than a public RSVP/ticket sale.",
|
|
17
|
+
"preferEvents": "Large public ticketed or open-attendance happenings: galas, concerts, meetups, launches with no attendee cap, or anything the source models with ticket tiers/pricing rather than a single flat per-session price.",
|
|
18
|
+
"signals": [
|
|
19
|
+
"Description language: 'booking required', 'limited spots', 'sign up' -> Bookings. 'RSVP', 'doors open', ticket-tier pricing -> Events.",
|
|
20
|
+
"cost_details.values with a single flat value and no ticket 'tiers'/'types' concept -> Bookings-shaped pricing.",
|
|
21
|
+
"Recurring short sessions of the same class ('2 sessions') -> Bookings COURSE/CLASS, not a Wix Events recurring series.",
|
|
22
|
+
"The source plugin itself never distinguishes these — the heuristic is read off the CONTENT (title/description/cost shape), not a field the API exposes."
|
|
23
|
+
],
|
|
24
|
+
"confirmWithHuman": "Always ambiguous-case: a human should confirm the classification before the first live write when signals conflict (e.g. a large recurring public series with per-session capacity language).",
|
|
25
|
+
"verifiedPrecedent": "Applied precedent, 2026-08-12: event records that were workshops/pop-ups with 'Limited spots, booking required' language and flat per-session pricing were classified Bookings Classes, not Wix Events."
|
|
26
|
+
},
|
|
27
|
+
"detect": {
|
|
28
|
+
"pluginFileIds": [
|
|
29
|
+
"the-events-calendar/the-events-calendar.php"
|
|
30
|
+
],
|
|
31
|
+
"routes": [
|
|
32
|
+
"/tribe/events/v1/events"
|
|
33
|
+
],
|
|
34
|
+
"restNamespaces": [
|
|
35
|
+
"tribe/events/v1",
|
|
36
|
+
"tec/v1"
|
|
37
|
+
],
|
|
38
|
+
"restBases": [
|
|
39
|
+
"tribe_events",
|
|
40
|
+
"tribe_venue",
|
|
41
|
+
"tribe_organizer",
|
|
42
|
+
"tribe_events_cat"
|
|
43
|
+
],
|
|
44
|
+
"assetPathSlugs": [
|
|
45
|
+
"the-events-calendar"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"entities": [
|
|
49
|
+
{
|
|
50
|
+
"entity": "event",
|
|
51
|
+
"channel": "plugin-rest",
|
|
52
|
+
"route": "/tribe/events/v1/events",
|
|
53
|
+
"recordKeyField": "id",
|
|
54
|
+
"candidateTargetRefs": [
|
|
55
|
+
"events/event",
|
|
56
|
+
"bookings/service"
|
|
57
|
+
],
|
|
58
|
+
"relations": [
|
|
59
|
+
{
|
|
60
|
+
"field": "venue",
|
|
61
|
+
"targetEntity": "venue",
|
|
62
|
+
"evidence": "tribe/events/v1 event payload embeds venue"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"field": "organizer",
|
|
66
|
+
"targetEntity": "organizer",
|
|
67
|
+
"evidence": "tribe/events/v1 event payload embeds organizer"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"pitfalls": [
|
|
71
|
+
{
|
|
72
|
+
"code": "event-ticket-history-no-import-path",
|
|
73
|
+
"severity": "blocker",
|
|
74
|
+
"summary": "Wix has no import path for ticketed event order history; ticket sales cannot be migrated even once Events is native."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"code": "default-list-hides-events-without-date-filter",
|
|
78
|
+
"severity": "warning",
|
|
79
|
+
"summary": "GET /tribe/events/v1/events with no parameters can return total 0 while published events exist; always pass an explicit start_date filter (verified live 2026-08-10 on TEC 6.17.2: parameterless list returned 0, ?start_date=2026-01-01 returned all 3 published events)."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"code": "events-vs-bookings-classification-required",
|
|
83
|
+
"severity": "warning",
|
|
84
|
+
"summary": "This entity has TWO real Wix targets (events/event, bookings/service) that are not interchangeable — see the top-level `classificationHeuristic` field for the small-group-workshop-vs-public-happening heuristic and a human-confirmation requirement on ambiguous data. Do not default to events/event without checking it."
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"entity": "venue",
|
|
90
|
+
"channel": "plugin-rest",
|
|
91
|
+
"route": "/tribe/events/v1/venues",
|
|
92
|
+
"recordKeyField": "id",
|
|
93
|
+
"candidateTargetRefs": [],
|
|
94
|
+
"pitfalls": [
|
|
95
|
+
{
|
|
96
|
+
"code": "folds-into-event-record",
|
|
97
|
+
"severity": "info",
|
|
98
|
+
"summary": "Wix has no separate venue entity; this data folds into the event's location/organizer fields. Read it to enrich the event, not as its own collection."
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"entity": "organizer",
|
|
104
|
+
"channel": "plugin-rest",
|
|
105
|
+
"route": "/tribe/events/v1/organizers",
|
|
106
|
+
"recordKeyField": "id",
|
|
107
|
+
"candidateTargetRefs": [],
|
|
108
|
+
"pitfalls": [
|
|
109
|
+
{
|
|
110
|
+
"code": "folds-into-event-record",
|
|
111
|
+
"severity": "info",
|
|
112
|
+
"summary": "Wix has no separate organizer entity; this data folds into the event's location/organizer fields. Read it to enrich the event, not as its own collection."
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"entity": "event-category",
|
|
118
|
+
"channel": "core-cpt",
|
|
119
|
+
"route": "/wp/v2/tribe_events_cat",
|
|
120
|
+
"recordKeyField": "id",
|
|
121
|
+
"hierarchical": true,
|
|
122
|
+
"candidateTargetRefs": [
|
|
123
|
+
"events/category"
|
|
124
|
+
],
|
|
125
|
+
"pitfalls": [
|
|
126
|
+
{
|
|
127
|
+
"code": "flat-wix-categories",
|
|
128
|
+
"severity": "warning",
|
|
129
|
+
"summary": "Source event categories are hierarchical; Wix Events categories are flat — flatten requires a faithfulness-ledger entry."
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"entity": "event-cpt",
|
|
135
|
+
"channel": "core-cpt",
|
|
136
|
+
"route": "/wp/v2/tribe_events",
|
|
137
|
+
"recordKeyField": "id",
|
|
138
|
+
"candidateTargetRefs": [
|
|
139
|
+
"events/event"
|
|
140
|
+
],
|
|
141
|
+
"pitfalls": [
|
|
142
|
+
{
|
|
143
|
+
"code": "prefer-tribe-rest-over-cpt",
|
|
144
|
+
"severity": "info",
|
|
145
|
+
"summary": "When /tribe/events/v1/events is available prefer it: the CPT route omits venue/organizer/schedule fields the plugin API returns."
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"excludeRoutes": [
|
|
151
|
+
{
|
|
152
|
+
"route": "/tribe/events/v1/doc",
|
|
153
|
+
"reason": "Swagger self-documentation endpoint, not durable data"
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"quirks": [
|
|
157
|
+
"The plugin publishes a Swagger 2.0 document at /wp-json/tribe/events/v1/doc that can be read to confirm the exact endpoint set on a given site.",
|
|
158
|
+
"Recurring events expand into multiple records; deduplicate by parent event before mapping."
|
|
159
|
+
]
|
|
160
|
+
}
|