@wix/agent-skills 1.36.0 → 1.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. package/package.json +8 -3
  2. package/skills/wix-headless-kit/install/pins.json +1 -1
  3. package/skills/wix-manage/SKILL.md +3 -3
  4. package/skills/wix-manage/references/cms/cms-data-items-crud.md +78 -1
  5. package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +11 -11
  6. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +20 -51
  7. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +4 -4
  8. package/skills/wix-base44-connector/SKILL.md +0 -437
  9. package/skills/wix-base44-connector/references/CAPABILITY_MAP.md +0 -78
  10. package/skills/wix-base44-connector/scripts/utils.cjs +0 -466
  11. package/skills/wix-export/SKILL.md +0 -83
  12. package/skills/wix-harmony-editor/.publish-manifest.json +0 -8
  13. package/skills/wix-harmony-editor/COPY-SITE.md +0 -494
  14. package/skills/wix-harmony-editor/SKILL.md +0 -317
  15. package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +0 -249
  16. package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +0 -225
  17. package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +0 -89
  18. package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +0 -76
  19. package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +0 -212
  20. package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +0 -44
  21. package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +0 -45
  22. package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +0 -53
  23. package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +0 -76
  24. package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +0 -16
  25. package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +0 -150
  26. package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +0 -27
  27. package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +0 -56
  28. package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +0 -211
  29. package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +0 -29
  30. package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +0 -92
  31. package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +0 -56
  32. package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +0 -73
  33. package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +0 -67
  34. package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +0 -102
  35. package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +0 -40
  36. package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +0 -191
  37. package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +0 -61
  38. package/skills/wix-harmony-editor/scripts/launch.sh +0 -359
  39. package/skills/wix-headless/SKILL.md +0 -151
  40. package/skills/wix-headless/references/AI_FEATURES.md +0 -178
  41. package/skills/wix-headless/references/CAPABILITIES.md +0 -117
  42. package/skills/wix-headless/references/CONTENT.md +0 -36
  43. package/skills/wix-headless/references/DESIGN.md +0 -55
  44. package/skills/wix-headless/references/DISCOVERY.md +0 -80
  45. package/skills/wix-headless/references/DOC_DISCOVERY.md +0 -43
  46. package/skills/wix-headless/references/FEEDBACK.md +0 -129
  47. package/skills/wix-headless/references/IMAGE_GENERATION.md +0 -80
  48. package/skills/wix-headless/references/SDK_HANDOFF.md +0 -108
  49. package/skills/wix-headless/references/SEED.md +0 -74
  50. package/skills/wix-headless/references/SETUP.md +0 -60
  51. package/skills/wix-headless/references/astro.md +0 -98
  52. package/skills/wix-headless/references/inline-recipes/experience-donations.md +0 -102
  53. package/skills/wix-headless/references/inline-recipes/experience-store.md +0 -49
  54. package/skills/wix-headless/references/inline-recipes/how-to-code-a-blog.md +0 -196
  55. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +0 -590
  56. package/skills/wix-headless/references/inline-recipes/how-to-code-bookings.md +0 -279
  57. package/skills/wix-headless/references/inline-recipes/how-to-code-cms.md +0 -163
  58. package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +0 -146
  59. package/skills/wix-headless/references/inline-recipes/how-to-code-events.md +0 -203
  60. package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +0 -696
  61. package/skills/wix-headless/references/inline-recipes/how-to-code-members-astro.md +0 -124
  62. package/skills/wix-headless/references/inline-recipes/how-to-code-members-custom-login.md +0 -160
  63. package/skills/wix-headless/references/inline-recipes/how-to-code-members-non-astro.md +0 -118
  64. package/skills/wix-headless/references/inline-recipes/how-to-code-portfolio.md +0 -132
  65. package/skills/wix-headless/references/inline-recipes/how-to-code-pricing-plans.md +0 -126
  66. package/skills/wix-headless/references/inline-recipes/how-to-code-rentals.md +0 -254
  67. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-orders.md +0 -191
  68. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +0 -213
  69. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurants.md +0 -161
  70. package/skills/wix-headless/references/inline-recipes/setup-blog.md +0 -175
  71. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +0 -232
  72. package/skills/wix-headless/references/inline-recipes/setup-cms.md +0 -200
  73. package/skills/wix-headless/references/inline-recipes/setup-donations.md +0 -15
  74. package/skills/wix-headless/references/inline-recipes/setup-events.md +0 -196
  75. package/skills/wix-headless/references/inline-recipes/setup-forms.md +0 -288
  76. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +0 -214
  77. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +0 -155
  78. package/skills/wix-headless/references/inline-recipes/setup-pricing-plans.md +0 -229
  79. package/skills/wix-headless/references/inline-recipes/setup-rentals.md +0 -254
  80. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +0 -73
  81. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +0 -197
  82. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +0 -136
  83. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +0 -152
  84. package/skills/wix-headless/references/managed/AUTHENTICATION.md +0 -71
  85. package/skills/wix-headless/references/managed/CONNECT.md +0 -74
  86. package/skills/wix-headless/references/managed/CREATE.md +0 -149
  87. package/skills/wix-headless/references/managed/DEPLOYMENT.md +0 -104
  88. package/skills/wix-headless/references/non-astro.md +0 -59
  89. package/skills/wix-headless/references/self-managed/AUTHENTICATION.md +0 -22
  90. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +0 -15
  91. package/skills/wix-headless/references/stripe/AUTHENTICATION.md +0 -55
  92. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +0 -71
  93. package/skills/wix-headless/scripts/bootstrap.mjs +0 -156
  94. package/skills/wix-headless-replatform/.publish-manifest.json +0 -8
  95. package/skills/wix-headless-replatform/SKILL.md +0 -116
  96. package/skills/wix-headless-replatform/agents/openai.yaml +0 -6
  97. package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +0 -43
  98. package/skills/wix-headless-replatform/references/extraction-schema.md +0 -187
  99. package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +0 -137
  100. package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +0 -41
  101. package/skills/wix-headless-replatform/references/output-contract.md +0 -93
  102. package/skills/wix-headless-replatform/references/post-build-gap-contract.md +0 -125
  103. package/skills/wix-headless-replatform/references/qa-checklist.md +0 -83
  104. package/skills/wix-headless-replatform/references/safety.md +0 -19
  105. package/skills/wix-headless-replatform/references/ui-normalization-contract.md +0 -70
  106. package/skills/wix-headless-replatform/references/workflow.md +0 -157
  107. package/skills/wix-headless-replatform/registry/README.md +0 -20
  108. package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +0 -28
  109. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +0 -54
  110. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +0 -60
  111. package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +0 -48
  112. package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +0 -21
  113. package/skills/wix-headless-replatform/registry/registry.json +0 -36
  114. package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +0 -32
  115. package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +0 -62
  116. package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +0 -64
  117. package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +0 -42
  118. package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +0 -73
  119. package/skills/wix-headless-replatform/schemas/build-plan.schema.json +0 -10
  120. package/skills/wix-headless-replatform/schemas/candidate.schema.json +0 -19
  121. package/skills/wix-headless-replatform/schemas/common.schema.json +0 -33
  122. package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +0 -10
  123. package/skills/wix-headless-replatform/schemas/decision-request.schema.json +0 -10
  124. package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +0 -28
  125. package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +0 -34
  126. package/skills/wix-headless-replatform/schemas/final-report.schema.json +0 -10
  127. package/skills/wix-headless-replatform/schemas/foundation.schema.json +0 -11
  128. package/skills/wix-headless-replatform/schemas/metadata.schema.json +0 -11
  129. package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +0 -17
  130. package/skills/wix-headless-replatform/schemas/page-capture.schema.json +0 -11
  131. package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +0 -33
  132. package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +0 -11
  133. package/skills/wix-headless-replatform/schemas/unit.schema.json +0 -40
  134. package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +0 -844
  135. package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +0 -163
  136. package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +0 -42
  137. package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +0 -228
  138. package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +0 -87
  139. package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +0 -505
  140. package/skills/wix-headless-replatform/scripts/discover-urls.mjs +0 -142
  141. package/skills/wix-headless-replatform/scripts/extract-assets.mjs +0 -140
  142. package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +0 -637
  143. package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +0 -1903
  144. package/skills/wix-headless-replatform/scripts/extract-page.mjs +0 -2461
  145. package/skills/wix-headless-replatform/scripts/extract-seo.mjs +0 -25
  146. package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +0 -63
  147. package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +0 -126
  148. package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +0 -180
  149. package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +0 -98
  150. package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +0 -103
  151. package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +0 -176
  152. package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +0 -261
  153. package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +0 -25
  154. package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +0 -342
  155. package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +0 -140
  156. package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +0 -22
  157. package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +0 -143
  158. package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +0 -288
  159. package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +0 -266
  160. package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +0 -111
  161. package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +0 -570
  162. package/skills/wix-headless-replatform/scripts/lib/common.mjs +0 -329
  163. package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +0 -121
  164. package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +0 -282
  165. package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +0 -61
  166. package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +0 -374
  167. package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +0 -243
  168. package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +0 -1139
  169. package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +0 -326
  170. package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +0 -184
  171. package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +0 -396
  172. package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +0 -168
  173. package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +0 -10
  174. package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +0 -194
  175. package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +0 -348
  176. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +0 -141
  177. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +0 -43
  178. package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +0 -18
  179. package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +0 -64
  180. package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +0 -31
  181. package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +0 -358
  182. package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +0 -25
  183. package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +0 -39
  184. package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +0 -107
  185. package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +0 -96
  186. package/skills/wix-headless-replatform/scripts/site-clone.mjs +0 -658
  187. package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +0 -29
  188. package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +0 -669
  189. package/skills/wix-headless-replatform/scripts/visual-qa.mjs +0 -370
  190. package/skills/wix-import/SKILL.md +0 -90
  191. package/skills/wix-replatform/.publish-manifest.json +0 -8
  192. package/skills/wix-replatform/CLI.md +0 -162
  193. package/skills/wix-replatform/README.md +0 -52
  194. package/skills/wix-replatform/SKILL.md +0 -238
  195. package/skills/wix-replatform/console/account.css +0 -1
  196. package/skills/wix-replatform/console/app.css +0 -1
  197. package/skills/wix-replatform/console/app.js +0 -117
  198. package/skills/wix-replatform/console/index.html +0 -4
  199. package/skills/wix-replatform/console/json.css +0 -11
  200. package/skills/wix-replatform/lib/agent-adapters/index.js +0 -71
  201. package/skills/wix-replatform/lib/app-page-routing.js +0 -75
  202. package/skills/wix-replatform/lib/artifact-freshness.js +0 -225
  203. package/skills/wix-replatform/lib/blocked-data-requests.js +0 -427
  204. package/skills/wix-replatform/lib/census-reconciliation.js +0 -426
  205. package/skills/wix-replatform/lib/completion-report.js +0 -1580
  206. package/skills/wix-replatform/lib/config-env.js +0 -133
  207. package/skills/wix-replatform/lib/confirmed-pictures.js +0 -212
  208. package/skills/wix-replatform/lib/dependency-readiness.js +0 -423
  209. package/skills/wix-replatform/lib/dependency-recovery.js +0 -21
  210. package/skills/wix-replatform/lib/destination-choice.js +0 -163
  211. package/skills/wix-replatform/lib/destination-handoff.js +0 -62
  212. package/skills/wix-replatform/lib/destination-http.js +0 -81
  213. package/skills/wix-replatform/lib/destination-route.js +0 -98
  214. package/skills/wix-replatform/lib/destination.js +0 -919
  215. package/skills/wix-replatform/lib/discovered-census.js +0 -231
  216. package/skills/wix-replatform/lib/discovered-set-status.js +0 -255
  217. package/skills/wix-replatform/lib/document-url-guard.js +0 -203
  218. package/skills/wix-replatform/lib/entity-qa-attestation.js +0 -339
  219. package/skills/wix-replatform/lib/entity-verification.js +0 -18
  220. package/skills/wix-replatform/lib/execution-capability.js +0 -120
  221. package/skills/wix-replatform/lib/execution-log.js +0 -170
  222. package/skills/wix-replatform/lib/execution-manifest.js +0 -203
  223. package/skills/wix-replatform/lib/execution-state.js +0 -195
  224. package/skills/wix-replatform/lib/expectations-ledger.js +0 -96
  225. package/skills/wix-replatform/lib/generated-plugin-handoff.js +0 -140
  226. package/skills/wix-replatform/lib/import-readiness-contract.js +0 -23
  227. package/skills/wix-replatform/lib/import-recovery.js +0 -1107
  228. package/skills/wix-replatform/lib/imported-redirect-targets.js +0 -608
  229. package/skills/wix-replatform/lib/internal-link-reconciliation.js +0 -166
  230. package/skills/wix-replatform/lib/link-audit.js +0 -173
  231. package/skills/wix-replatform/lib/link-census.js +0 -194
  232. package/skills/wix-replatform/lib/link-plan.js +0 -148
  233. package/skills/wix-replatform/lib/link-verification.js +0 -274
  234. package/skills/wix-replatform/lib/link-write-journal.js +0 -42
  235. package/skills/wix-replatform/lib/local-state.js +0 -1481
  236. package/skills/wix-replatform/lib/member-completion.js +0 -658
  237. package/skills/wix-replatform/lib/member-crosswalk.js +0 -69
  238. package/skills/wix-replatform/lib/member-outcome-registry.js +0 -265
  239. package/skills/wix-replatform/lib/migration-completion.js +0 -311
  240. package/skills/wix-replatform/lib/operator-identity.js +0 -47
  241. package/skills/wix-replatform/lib/orchestration-decisions.js +0 -248
  242. package/skills/wix-replatform/lib/orchestration-preflight.js +0 -525
  243. package/skills/wix-replatform/lib/orchestration-router.js +0 -698
  244. package/skills/wix-replatform/lib/orchestration-state.js +0 -631
  245. package/skills/wix-replatform/lib/order-reference-readiness.js +0 -30
  246. package/skills/wix-replatform/lib/payments-outcome-registry.js +0 -200
  247. package/skills/wix-replatform/lib/plugin-cms-fallback.js +0 -618
  248. package/skills/wix-replatform/lib/preservation-approval-stamp.js +0 -54
  249. package/skills/wix-replatform/lib/product-media-deferral.js +0 -96
  250. package/skills/wix-replatform/lib/progress-log.js +0 -240
  251. package/skills/wix-replatform/lib/progress-log.sh +0 -140
  252. package/skills/wix-replatform/lib/read-back-approval.js +0 -184
  253. package/skills/wix-replatform/lib/read-back-comparison.js +0 -136
  254. package/skills/wix-replatform/lib/read-back-contract.js +0 -243
  255. package/skills/wix-replatform/lib/read-back-extract.js +0 -118
  256. package/skills/wix-replatform/lib/read-back-gate.js +0 -734
  257. package/skills/wix-replatform/lib/read-back-reads.js +0 -94
  258. package/skills/wix-replatform/lib/read-back-state.js +0 -107
  259. package/skills/wix-replatform/lib/read-back-summary.js +0 -81
  260. package/skills/wix-replatform/lib/rerun-conflicts.js +0 -334
  261. package/skills/wix-replatform/lib/run-controller.js +0 -401
  262. package/skills/wix-replatform/lib/seo-outcome-registry.js +0 -45
  263. package/skills/wix-replatform/lib/setup-verification.js +0 -148
  264. package/skills/wix-replatform/lib/source-access.js +0 -231
  265. package/skills/wix-replatform/lib/source-coverage.js +0 -1130
  266. package/skills/wix-replatform/lib/source-secrets.js +0 -277
  267. package/skills/wix-replatform/lib/structured-link-patch.js +0 -59
  268. package/skills/wix-replatform/lib/task-state.js +0 -110
  269. package/skills/wix-replatform/lib/url-preservation-report.js +0 -319
  270. package/skills/wix-replatform/lib/url-preservation-state.js +0 -739
  271. package/skills/wix-replatform/lib/url-redirect-plan.js +0 -728
  272. package/skills/wix-replatform/lib/url-verification.js +0 -315
  273. package/skills/wix-replatform/lib/user-action-effects.js +0 -42
  274. package/skills/wix-replatform/lib/user-actions.js +0 -264
  275. package/skills/wix-replatform/lib/website-handoff.js +0 -1220
  276. package/skills/wix-replatform/lib/wix-client-callers.js +0 -54
  277. package/skills/wix-replatform/lib/wix-dashboard-url.js +0 -35
  278. package/skills/wix-replatform/lib/write-verification-state.js +0 -92
  279. package/skills/wix-replatform/lib/write-verification.js +0 -274
  280. package/skills/wix-replatform/resources/rp-destination/SKILL.md +0 -137
  281. package/skills/wix-replatform/resources/rp-discovery/SKILL.md +0 -357
  282. package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +0 -47
  283. package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +0 -1369
  284. package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +0 -70
  285. package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +0 -482
  286. package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +0 -442
  287. package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +0 -64
  288. package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +0 -112
  289. package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +0 -143
  290. package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +0 -244
  291. package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +0 -3158
  292. package/skills/wix-replatform/resources/rp-mapper/SKILL.md +0 -947
  293. package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +0 -217
  294. package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +0 -303
  295. package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +0 -88
  296. package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +0 -148
  297. package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +0 -378
  298. package/skills/wix-replatform/resources/rp-preflight/SKILL.md +0 -40
  299. package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +0 -55
  300. package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +0 -60
  301. package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +0 -89
  302. package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +0 -36
  303. package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +0 -123
  304. package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +0 -124
  305. package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +0 -522
  306. package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +0 -56
  307. package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +0 -91
  308. package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +0 -255
  309. package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +0 -253
  310. package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +0 -44
  311. package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +0 -481
  312. package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +0 -136
  313. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
  314. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +0 -310
  315. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +0 -1081
  316. package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +0 -618
  317. package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +0 -969
  318. package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +0 -196
  319. package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +0 -66
  320. package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +0 -60
  321. package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +0 -95
  322. package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +0 -82
  323. package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +0 -66
  324. package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +0 -153
  325. package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +0 -394
  326. package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +0 -200
  327. package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +0 -34
  328. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +0 -44
  329. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +0 -1470
  330. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +0 -446
  331. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +0 -474
  332. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +0 -879
  333. package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +0 -426
  334. package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +0 -24
  335. package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +0 -18
  336. package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +0 -40
  337. package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +0 -76
  338. package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +0 -51
  339. package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +0 -35
  340. package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +0 -20
  341. package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +0 -18
  342. package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +0 -31
  343. package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +0 -21
  344. package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +0 -21
  345. package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +0 -30
  346. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +0 -150
  347. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +0 -36
  348. package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +0 -48
  349. package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +0 -20
  350. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +0 -8
  351. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +0 -6
  352. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +0 -8
  353. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +0 -8
  354. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +0 -12
  355. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +0 -6
  356. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +0 -13
  357. package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +0 -13
  358. package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +0 -73
  359. package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +0 -13
  360. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +0 -693
  361. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +0 -283
  362. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +0 -191
  363. package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +0 -115
  364. package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +0 -201
  365. package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +0 -146
  366. package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +0 -970
  367. package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +0 -73
  368. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +0 -115
  369. package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +0 -91
  370. package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +0 -440
  371. package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +0 -125
  372. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +0 -252
  373. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +0 -183
  374. package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +0 -333
  375. package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +0 -426
  376. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +0 -400
  377. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +0 -633
  378. package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +0 -1127
  379. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +0 -194
  380. package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +0 -100
  381. package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +0 -157
  382. package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +0 -234
  383. package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +0 -101
  384. package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +0 -755
  385. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +0 -1074
  386. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +0 -149
  387. package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +0 -25
  388. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +0 -444
  389. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +0 -186
  390. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +0 -1422
  391. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +0 -343
  392. package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +0 -680
  393. package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +0 -272
  394. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +0 -373
  395. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +0 -101
  396. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +0 -81
  397. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +0 -128
  398. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +0 -18
  399. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +0 -104
  400. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +0 -44
  401. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +0 -49
  402. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +0 -94
  403. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +0 -863
  404. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +0 -52
  405. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +0 -161
  406. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +0 -180
  407. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +0 -286
  408. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +0 -79
  409. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +0 -120
  410. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +0 -128
  411. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +0 -88
  412. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +0 -80
  413. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +0 -46
  414. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +0 -55
  415. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +0 -99
  416. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +0 -55
  417. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +0 -160
  418. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +0 -81
  419. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +0 -60
  420. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +0 -74
  421. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +0 -75
  422. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +0 -60
  423. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +0 -44
  424. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +0 -57
  425. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +0 -141
  426. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +0 -54
  427. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +0 -158
  428. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +0 -97
  429. package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +0 -86
  430. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +0 -90
  431. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +0 -51
  432. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +0 -103
  433. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +0 -2409
  434. package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +0 -273
  435. package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +0 -11
  436. package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +0 -71
  437. package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +0 -13
  438. package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +0 -1046
  439. package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +0 -36
  440. package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +0 -57
  441. package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +0 -322
  442. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +0 -70
  443. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +0 -29
  444. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +0 -71
  445. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +0 -83
  446. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +0 -95
  447. package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +0 -66
  448. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +0 -332
  449. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +0 -75
  450. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +0 -181
  451. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +0 -130
  452. package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +0 -180
  453. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +0 -161
  454. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +0 -25
  455. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +0 -67
  456. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +0 -75
  457. package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +0 -41
  458. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +0 -204
  459. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +0 -27
  460. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +0 -275
  461. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +0 -105
  462. package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +0 -77
  463. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +0 -297
  464. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +0 -44
  465. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +0 -171
  466. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +0 -182
  467. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +0 -129
  468. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +0 -192
  469. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +0 -123
  470. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +0 -85
  471. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +0 -112
  472. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +0 -191
  473. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +0 -164
  474. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +0 -462
  475. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +0 -122
  476. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +0 -98
  477. package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +0 -86
  478. package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +0 -128
  479. package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +0 -38
  480. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +0 -73
  481. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +0 -107
  482. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +0 -89
  483. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +0 -118
  484. package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +0 -93
  485. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +0 -86
  486. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +0 -56
  487. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +0 -121
  488. package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +0 -134
  489. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +0 -41
  490. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +0 -50
  491. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +0 -87
  492. package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +0 -130
  493. package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +0 -1418
  494. package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +0 -41
  495. package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +0 -24
  496. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +0 -75
  497. package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +0 -71
  498. package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +0 -119
  499. package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +0 -23
  500. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +0 -71
  501. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +0 -82
  502. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +0 -77
  503. package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +0 -205
  504. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +0 -41
  505. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +0 -46
  506. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +0 -137
  507. package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +0 -133
  508. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +0 -7
  509. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +0 -36
  510. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +0 -71
  511. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +0 -67
  512. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +0 -72
  513. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +0 -74
  514. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +0 -69
  515. package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +0 -61
  516. package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +0 -111
  517. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +0 -109
  518. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +0 -73
  519. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +0 -148
  520. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +0 -91
  521. package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +0 -79
  522. package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +0 -32
  523. package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +0 -49
  524. package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +0 -103
  525. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +0 -203
  526. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +0 -42
  527. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +0 -119
  528. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +0 -111
  529. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +0 -81
  530. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +0 -241
  531. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +0 -118
  532. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +0 -111
  533. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +0 -79
  534. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +0 -221
  535. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +0 -84
  536. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +0 -178
  537. package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +0 -87
  538. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +0 -106
  539. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +0 -64
  540. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +0 -119
  541. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +0 -94
  542. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +0 -113
  543. package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +0 -65
  544. package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +0 -64
  545. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +0 -165
  546. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +0 -60
  547. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +0 -201
  548. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +0 -306
  549. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +0 -229
  550. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +0 -55
  551. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +0 -715
  552. package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +0 -567
  553. package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +0 -73
  554. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +0 -194
  555. package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +0 -133
  556. package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +0 -150
  557. package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +0 -491
  558. package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +0 -104
  559. package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +0 -673
  560. package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +0 -835
  561. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +0 -119
  562. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +0 -566
  563. package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +0 -249
  564. package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +0 -260
  565. package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +0 -63
  566. package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +0 -187
  567. package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +0 -64
  568. package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +0 -1027
  569. package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +0 -90
  570. package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +0 -420
  571. package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +0 -177
  572. package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +0 -151
  573. package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +0 -723
  574. package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +0 -353
  575. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +0 -1437
  576. package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +0 -354
  577. package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +0 -134
  578. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +0 -221
  579. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +0 -248
  580. package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +0 -321
  581. package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +0 -231
  582. package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +0 -28
  583. package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +0 -14
  584. package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +0 -34
  585. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +0 -388
  586. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +0 -255
  587. package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +0 -6041
  588. package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +0 -3
  589. package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +0 -150
  590. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +0 -69
  591. package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +0 -100
  592. package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +0 -112
  593. package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +0 -484
  594. package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +0 -318
  595. package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +0 -2831
  596. package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +0 -318
  597. package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +0 -83
  598. package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +0 -243
  599. package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +0 -94
  600. package/skills/wix-replatform/scripts/artifact-freshness.js +0 -76
  601. package/skills/wix-replatform/scripts/census-reconciliation.js +0 -25
  602. package/skills/wix-replatform/scripts/cms-fallback.js +0 -89
  603. package/skills/wix-replatform/scripts/discovered-census.js +0 -26
  604. package/skills/wix-replatform/scripts/discovered-set-status.js +0 -33
  605. package/skills/wix-replatform/scripts/entity-qa-attestation.js +0 -130
  606. package/skills/wix-replatform/scripts/execution-health-check.js +0 -415
  607. package/skills/wix-replatform/scripts/execution-manifest-validate.js +0 -43
  608. package/skills/wix-replatform/scripts/execution-state-prepare.js +0 -128
  609. package/skills/wix-replatform/scripts/expectations-ledger.js +0 -44
  610. package/skills/wix-replatform/scripts/import-contract-verify.js +0 -183
  611. package/skills/wix-replatform/scripts/internal-link-audit.js +0 -90
  612. package/skills/wix-replatform/scripts/item-seo-tags-verify.js +0 -205
  613. package/skills/wix-replatform/scripts/migration-completion.js +0 -76
  614. package/skills/wix-replatform/scripts/orchestration-preflight.js +0 -67
  615. package/skills/wix-replatform/scripts/orchestration-route.js +0 -77
  616. package/skills/wix-replatform/scripts/orchestration-state.js +0 -381
  617. package/skills/wix-replatform/scripts/read-back-gate.js +0 -175
  618. package/skills/wix-replatform/scripts/replatform-console.js +0 -146
  619. package/skills/wix-replatform/scripts/replatform.js +0 -436
  620. package/skills/wix-replatform/scripts/source-secrets.js +0 -77
  621. package/skills/wix-replatform/scripts/url-redirects.js +0 -286
  622. package/skills/wix-replatform/scripts/user-action.js +0 -58
  623. package/skills/wix-replatform/scripts/website-handoff-generate.js +0 -64
  624. package/skills/wix-replatform/scripts/wix-dashboard-url.js +0 -54
  625. package/skills/wix-replatform/scripts/wix-destination.js +0 -143
  626. package/skills/wix-replatform/scripts/wix-headless-scaffold.js +0 -762
  627. package/skills/wix-vibe-headless/SKILL.md +0 -183
  628. package/skills/wix-vibe-headless/install/deploy.cjs +0 -221
  629. package/skills/wix-vibe-headless/install/pin-agents-md.cjs +0 -35
  630. package/skills/wix-vibe-headless/platforms/README.md +0 -26
  631. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +0 -127
  632. package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +0 -121
  633. package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +0 -87
  634. package/skills/wix-vibe-headless/platforms/base44.md +0 -148
  635. package/skills/wix-vibe-headless/platforms/generic.md +0 -132
  636. package/skills/wix-vibe-headless/references/_shared/nav/nav.tanstack.js +0 -30
  637. package/skills/wix-vibe-headless/references/_shared/routing.md +0 -86
  638. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +0 -270
  639. package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +0 -43
  640. package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +0 -25
  641. package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +0 -15
  642. package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +0 -35
  643. package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +0 -38
  644. package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +0 -40
  645. package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +0 -54
  646. package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +0 -65
  647. package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +0 -50
  648. package/skills/wix-vibe-headless/references/blog/app/rest/wix-blog.js +0 -217
  649. package/skills/wix-vibe-headless/references/blog/seed/SEED.md +0 -99
  650. package/skills/wix-vibe-headless/references/blog/seed/seed-blog.cjs +0 -269
  651. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +0 -342
  652. package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +0 -65
  653. package/skills/wix-vibe-headless/references/bookings/app/components/RentalDurationPicker.jsx +0 -67
  654. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +0 -47
  655. package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +0 -13
  656. package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +0 -126
  657. package/skills/wix-vibe-headless/references/bookings/app/hooks/useRentalDuration.js +0 -128
  658. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +0 -110
  659. package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +0 -58
  660. package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +0 -95
  661. package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +0 -94
  662. package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +0 -89
  663. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-checkout.js +0 -148
  664. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-rentals.js +0 -250
  665. package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-services.js +0 -300
  666. package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +0 -154
  667. package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.cjs +0 -333
  668. package/skills/wix-vibe-headless/references/bookings/seed/seed-rentals.cjs +0 -267
  669. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +0 -178
  670. package/skills/wix-vibe-headless/references/cms/app/collection.config.js +0 -31
  671. package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +0 -18
  672. package/skills/wix-vibe-headless/references/cms/app/rest/wix-cms.js +0 -231
  673. package/skills/wix-vibe-headless/references/cms/seed/SEED.md +0 -145
  674. package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +0 -88
  675. package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +0 -112
  676. package/skills/wix-vibe-headless/references/donations/seed/SEED.md +0 -11
  677. package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +0 -258
  678. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +0 -267
  679. package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +0 -23
  680. package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +0 -43
  681. package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +0 -13
  682. package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +0 -29
  683. package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +0 -57
  684. package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +0 -78
  685. package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +0 -27
  686. package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +0 -54
  687. package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +0 -40
  688. package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +0 -81
  689. package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +0 -48
  690. package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +0 -36
  691. package/skills/wix-vibe-headless/references/events/app/rest/wix-events-browse.js +0 -136
  692. package/skills/wix-vibe-headless/references/events/app/rest/wix-events-registration.js +0 -187
  693. package/skills/wix-vibe-headless/references/events/seed/SEED.md +0 -103
  694. package/skills/wix-vibe-headless/references/events/seed/seed-events.cjs +0 -251
  695. package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +0 -487
  696. package/skills/wix-vibe-headless/references/forms/app/hooks/useWixForm.js +0 -425
  697. package/skills/wix-vibe-headless/references/forms/app/lib/wix-form-schema-utils.js +0 -187
  698. package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms-submissions.js +0 -238
  699. package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms.js +0 -108
  700. package/skills/wix-vibe-headless/references/forms/seed/SEED.md +0 -1836
  701. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +0 -328
  702. package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +0 -101
  703. package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +0 -33
  704. package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +0 -21
  705. package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +0 -29
  706. package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +0 -54
  707. package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +0 -77
  708. package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +0 -36
  709. package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +0 -32
  710. package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +0 -35
  711. package/skills/wix-vibe-headless/references/members/app/rest/wix-members-auth.js +0 -390
  712. package/skills/wix-vibe-headless/references/members/install/Register.jsx +0 -22
  713. package/skills/wix-vibe-headless/references/members/seed/SEED.md +0 -21
  714. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +0 -270
  715. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +0 -31
  716. package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +0 -15
  717. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +0 -39
  718. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +0 -15
  719. package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +0 -29
  720. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +0 -35
  721. package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +0 -27
  722. package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +0 -25
  723. package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +0 -39
  724. package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +0 -27
  725. package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +0 -60
  726. package/skills/wix-vibe-headless/references/portfolio/app/rest/wix-portfolio.js +0 -223
  727. package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +0 -90
  728. package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.cjs +0 -236
  729. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +0 -280
  730. package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +0 -35
  731. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +0 -48
  732. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +0 -16
  733. package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +0 -35
  734. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +0 -25
  735. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +0 -28
  736. package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +0 -30
  737. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +0 -30
  738. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +0 -53
  739. package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +0 -28
  740. package/skills/wix-vibe-headless/references/pricing-plans/app/rest/wix-pricing-plans.js +0 -157
  741. package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +0 -82
  742. package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.cjs +0 -251
  743. package/skills/wix-vibe-headless/references/rentals/INSTRUCTIONS.md +0 -13
  744. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +0 -290
  745. package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +0 -81
  746. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +0 -71
  747. package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +0 -43
  748. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +0 -21
  749. package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +0 -72
  750. package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +0 -66
  751. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +0 -32
  752. package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +0 -73
  753. package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +0 -28
  754. package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +0 -102
  755. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-menu.js +0 -224
  756. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +0 -218
  757. package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-reservations.js +0 -107
  758. package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +0 -176
  759. package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.cjs +0 -452
  760. package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +0 -56
  761. package/skills/wix-vibe-headless/references/shared/app/lib/nav.js +0 -9
  762. package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +0 -185
  763. package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +0 -8
  764. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +0 -471
  765. package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +0 -20
  766. package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +0 -167
  767. package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +0 -83
  768. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductCard.js +0 -104
  769. package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +0 -163
  770. package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +0 -83
  771. package/skills/wix-vibe-headless/references/storefront/app/hooks/useVariantOptions.js +0 -76
  772. package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +0 -64
  773. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-cart.js +0 -176
  774. package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +0 -218
  775. package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +0 -174
  776. package/skills/wix-vibe-headless/references/storefront/seed/seed-store.cjs +0 -546
@@ -1,52 +0,0 @@
1
- # wix-replatform
2
-
3
- `wix-replatform` is a migration skill for moving business data from another platform into
4
- Wix.
5
-
6
- Its public entrypoint is `wix-replatform`. The bundled internal resources handle the workflow
7
- stages behind that entrypoint.
8
-
9
- ## Quick start
10
-
11
- Install the skill:
12
-
13
- ```bash
14
- npx skills add wix/skills/skills/wix-replatform
15
- ```
16
-
17
- Or install it globally:
18
-
19
- ```bash
20
- npx skills add wix/skills/skills/wix-replatform -g
21
- ```
22
-
23
- Then, in your agent:
24
-
25
- 1. Invoke `wix-replatform`.
26
- 2. If you want the migration to run end to end with grouped intake and no routine
27
- checkpoint pauses, invoke it as `wix-replatform in 1-click mode`.
28
- 3. Provide the source site URL and any required destination/source-access details.
29
- 4. Follow the routed workflow through discovery, mapping, setup, code generation, and import.
30
- 5. Choose whether the run is backend-only (`management`) or backend + storefront
31
- (`website`).
32
- 6. After setup discovery, the skill writes `website/handoff.json` even for backend-only
33
- runs. In `website` mode it also asks for a late `websiteScope` decision so the
34
- storefront skill can start with suggested scopes based on the discovered content. In
35
- `1-click mode`, it picks the deterministic default instead of pausing.
36
- 7. If the delivery mode is `website`, continue into the frontend phase through the
37
- migration project's `website/handoff.json` package.
38
-
39
- If the user explicitly asks for `1-click mode`, the skill should gather any missing
40
- required inputs up front once, record `automationMode=one_click` with `source: "user"`, record routine
41
- mapping/execution approvals as `approved` with `decidedBy: "agent"`, create a demo
42
- member for blog import when needed, and continue through the frontend phase as well when
43
- `deliveryMode=management_and_website` (or user input `both`). `deliveryMode=website` is
44
- frontend-only.
45
-
46
- For CSV, explicit user-requested 1-click also accepts a passing sample preview as the agent
47
- and continues without routine questions. Without that explicit user-authored decision, CSV
48
- keeps its normal mapping review, sample-preview validation, and execution-plan approval
49
- pauses. File upload alone never implies 1-click.
50
-
51
- Migration artifacts are written to a local project directory such as `migrations/<project>/`.
52
- They are not written back into the skill package.
@@ -1,238 +0,0 @@
1
- ---
2
- name: wix-replatform
3
- description: >-
4
- Routes RePlatform source-to-Wix migrations to the next required workflow module by
5
- inspecting authoritative migration artifacts. Use when starting, resuming, or recovering
6
- a migration run.
7
- ---
8
-
9
- # wix-replatform
10
-
11
- `wix-replatform` is the compact supervisor for a resumable source-to-Wix migration. It
12
- selects one internal module for the active stage; it does not carry every stage procedure
13
- in its own context.
14
-
15
- ## Always-active contract
16
-
17
- - Resolve the active project under `migrations/<project>/` (or `REPLATFORM_MIGRATIONS_DIR`)
18
- before inspecting or creating anything. Only that project's artifacts are authoritative.
19
- - Preserve `EXPECTATIONS.md` at that project root. It is the user's free-form record of
20
- how they expected the run to behave; initialization creates it once and never overwrites it.
21
- - Start/resume `resources/rp-telemetry/` at the beginning of every run and finalize it at
22
- a terminal state. Never hand-write telemetry events.
23
- - Use orchestration JSON plus validated stage artifacts as resume authority. Logs and chat
24
- history are diagnostic context only.
25
- - Preserve user data: write idempotently, dedupe by source identity, resume rather than
26
- restart, and never create a second destination site for a migration.
27
- - Never print secrets, secret-bearing config contents, tokens, or credentials. Report only
28
- key names and present/blank/missing status.
29
- - Do not declare a migration complete from prose or a single artifact. The deterministic
30
- router and aggregate completion artifact own terminal completion.
31
-
32
- ## CLI-launched runs and human actions
33
-
34
- When a migration is started through `replatform`, the terminal is deliberately
35
- non-interactive: do not use an agent question UI, ask for stdin, or wait for a person in the
36
- current agent turn. The runner owns process lifecycle and emits only observed events; it does
37
- not replace this skill's router or completion receipts.
38
-
39
- When a human choice, review, approval, or manual prerequisite is needed, create a durable
40
- request with `node skills/wix-replatform/scripts/user-action.js create --project <projectDir>
41
- --request-file <request.json>`, then end the turn. Put only reviewed artifact paths in the
42
- request. The person can later use `replatform requests`, `replatform show`, and
43
- `replatform answer`; a resumed agent reads the answered request from
44
- `orchestration/user-actions/`, never from reconstructed chat context.
45
-
46
- Cancellation is not completion. If the runner has recorded `cancel_requested`, `canceled`, or
47
- `interrupted`, preserve partial/recovery artifacts and let a later explicit `replatform resume`
48
- route recovery. Never create aggregate migration completion from an aborted execution report.
49
-
50
- ## Pipeline
51
-
52
- ```text
53
- intake → destination → source inputs → preflight → (standard: discovery → mapping → codegen;
54
- quick: adapter preflight → quick plan) → setup discovery → website handoff
55
- → safety review/approval → setup → import
56
- → storefront continuation (website only) → aggregate finalization
57
- ```
58
-
59
- Delivery modes are `management` (backend only), `website` (frontend only), and
60
- `management_and_website` (the integrated flow above). Accept user input `both` as
61
- `management_and_website` and persist the canonical value.
62
-
63
- For `deliveryMode=management`, aggregate finalization requires valid backend import
64
- accounting. For `deliveryMode=management_and_website`, it additionally requires a current
65
- `website/completion.json` with completed screenshot review, no unresolved critical/high
66
- gaps, and release evidence. `execution/completion-report.json` is backend accounting,
67
- never website-migration completion by itself.
68
-
69
- ## Route before acting
70
-
71
- On every new or resumed turn:
72
-
73
- 1. Resolve the project and initialize/load its orchestration artifacts.
74
- 2. Run `node skills/wix-replatform/scripts/orchestration-route.js <projectDir>`.
75
- 3. Dispatch the `nextResource` to a Developer subagent instead of loading and following it
76
- yourself. Give it the project directory and the resource to run; it follows that
77
- resource's contract exactly as written, unchanged. Read back only its result — never its
78
- transcript, tool output, or logs.
79
- - A Developer subagent may fan out to its own sub-subagents, only when it is certain
80
- doing so is harmless — read-only work with no shared state and no write to anything
81
- durable — and only if the host agent happens to support it. It must never fan out for
82
- anything that writes shared state; that stays one write at a time, exactly as each
83
- resource's own contract already does today. If the host agent doesn't support nested
84
- dispatch, the Developer just does the work itself, sequentially.
85
- 4. Dispatch a QA subagent to check the Developer's result against that resource's own
86
- stated required outputs (its own "artifacts to create or update" or "## Output"
87
- section, and any review/gap documents it defines). QA is read-only — it never writes or
88
- calls Wix. If something's missing, dispatch a new Developer for the same resource with
89
- QA's findings; otherwise the stage is done.
90
- 5. At the end of each pipeline phase (discovery, mapping, setup discovery, import, and so
91
- on — see the pipeline above; a phase spans several resource-level stages), dispatch a QA
92
- subagent to review that phase's documents as a whole (for example
93
- `mapping/review/mapping-summary.md` and `mapping-gaps.json`, or
94
- `execution/completion-report.json`) before routing to the next phase. This catches
95
- anything a single per-task check could miss. For the import phase specifically, this
96
- review must be entity-by-entity against the accepted mapping plan, not a skim of the
97
- top-level status string — see `rp-execute-import`'s "Entity-by-entity QA" section. Any
98
- run-fixing dispatch mid-phase (a crash fix, a slowness fix, a resumed pass) does not
99
- itself satisfy this; run the phase-level QA again once the fix lands, since fixing one
100
- entity's defect certifies nothing about its neighbors.
101
- 6. Route again after every stage boundary. Never decide the next stage from memory.
102
-
103
- The router (`lib/orchestration-router.js`) is the only routing and resume authority. It
104
- recomputes the route from decisions, approvals, preflight, `run.json` `status` and the phase
105
- outputs on every call; `run.json.currentState` is diagnostic only, never a routing input.
106
-
107
- - A recorded rejection stops the route in every mode, one-click included:
108
- `execution_approval_rejected` is `blocked` before any setup or import write, and
109
- `mapping_approval_rejected` returns to `rp-mapper` for a new plan.
110
- - A gated output that exists but is unusable (`source_schema_invalid`, `mapping_plan_invalid`,
111
- `setup_plan_invalid`, `setup_requirements_invalid`, `execution_manifest_invalid`) is
112
- `blocked` with `errors` and the producer as `nextResource`. Do not re-run the producer
113
- automatically; report the errors to the Import Operator and stop.
114
- - The import routes (`missing_completion_report`, `quick_mode_import_required`) carry
115
- `importProgress`. `interrupted` lists `recoveryArtifacts`: resume that import, which
116
- reconciles before any create. Never start a second import.
117
-
118
- If an artifact is malformed, partial, stale, or fails its validator, treat its producing
119
- stage as incomplete and route to the producer. Do not make parallel replacement artifacts.
120
-
121
- A user action whose reviewed artifacts changed after it was created is refused with
122
- `user_action_stale` and stays pending. Create a new request from the current artifacts.
123
-
124
- **Catching up a finished migration is a rerun, not a new project.** When the user asks to pull
125
- in records that arrived or changed since the import — "the source kept selling", "these orders
126
- are missing", "re-run it" — reuse the same project, destination, mapping, generated importer
127
- and crosswalk, and route to `rp-execute-import` → "Rerunning an import for new and modified
128
- records". Do not scaffold a second project or re-approve an unchanged mapping; a
129
- mapping or scope *change* does go back through the existing gates. A rerun's revision conflicts
130
- are user decisions even in 1-click mode.
131
-
132
- ## Demand-loaded module map
133
-
134
- | Router situation | Dispatch |
135
- |---|---|
136
- | project, delivery mode, source mode, or grouped intake is unresolved | `resources/rp-project-intake/` |
137
- | destination is absent, conflicting, or needs creation/adoption | `resources/rp-destination/` |
138
- | source URL/files/config/acquisition mode/credentials are required, including source credentials said to exist already on another site | `resources/rp-source-inputs/` |
139
- | deterministic preflight is missing or blocked | `resources/rp-preflight/` |
140
- | quick mode needs platform resolution, endpoint preflight, plan, extraction, or import | selected `resources/rp-quick-<platform>/` |
141
- | source schema is missing | `resources/rp-discovery/` and its selected source adapter |
142
- | mapping is missing or needs review | `resources/rp-mapper/` |
143
- | Wix requirements are missing | `resources/rp-setup-discovery/` |
144
- | import code/review is missing or stale | `resources/rp-import-codegen/` |
145
- | setup verification is missing | `resources/rp-execute-setup/` |
146
- | backend completion report is missing | `resources/rp-execute-import/` |
147
- | frontend-only work, or integrated website handoff/build/gap loop/release receipt is incomplete | `resources/rp-website-continuation/` |
148
- | aggregate completion is missing | `resources/rp-execution-policy/` |
149
-
150
- The resource named by the route is the complete stage contract, dispatched as described in
151
- "Route before acting" — the main session itself never loads it directly. Only the
152
- dispatched Developer loads source-file, secret, scaffolding, or storefront procedures, and
153
- only for the stage that actually needs them; nothing about a stage where they're irrelevant
154
- is loaded, by the main session or the Developer.
155
-
156
- ## Interaction policy
157
-
158
- Normal mode asks only for a missing required input, a genuinely ambiguous active project,
159
- or a mandatory write approval. Ask one question at a time unless a module says otherwise.
160
-
161
- When the user says `add to expectations: <note>` (or an unambiguous natural-language
162
- equivalent), append the note to the active project's `EXPECTATIONS.md` before continuing.
163
- Use `scripts/expectations-ledger.js` so the entry retains the supplied statement plus safe
164
- current context (stage/state, relevant project-relative artifacts, and known entity/field
165
- labels). Do not treat this as approval or silently change a mapping. Never record secrets,
166
- tokens, raw customer data, or raw source records; redact them if supplied and say so.
167
-
168
- Before writes, preserve the mandatory execution-plan approval gate. Read-only discovery,
169
- mapping, setup verification, code generation, and review happen before it.
170
-
171
- ## Quick management import mode
172
-
173
- When `managementImportMode=quick`, select the platform adapter only after the deterministic
174
- source probe identifies a compatible platform. Quick mode is a bounded public-data import:
175
- the adapter's versioned `quick-mode.json` owns its source routes, entity graph, field matrix,
176
- and exclusions. Do not run agentic discovery, mapping, or project-specific code generation for
177
- the quick backend branch. Still run destination setup, application installation, Catalog-V3 and
178
- notification safety checks, execution approval, shared write runtime, crosswalks, and completion
179
- accounting. If no adapter qualifies, persist the unsupported-mode result and ask the user to
180
- select standard mode; never silently fall back.
181
-
182
- Halt only for missing/invalid required input, a manual action with no API, or a systemic
183
- failure/data-loss risk. A halt must persist the code, evidence, owner, and exact unblock
184
- action; never silently stop.
185
-
186
- ## 1-click mode
187
-
188
- When explicitly requested by the user, record `automationMode=one_click` with
189
- `source=user` and apply the following. A missing mode or a `one_click` value recorded as
190
- `deterministic_inference`/`prior_artifact` is normal interactive mode and must not skip a
191
- checkpoint:
192
-
193
- - collect all still-missing intake values in one grouped request; then do not pause for
194
- routine approvals;
195
- - record mapping and execution approvals as `approved`, `decidedBy=agent`; skipping a
196
- pause without state is invalid;
197
- - for CSV/file-only runs, validate and accept the required sample preview as the agent;
198
- without explicit user-authored one-click, pause for the normal mapping review, sample
199
- preview validation, and execution approval;
200
- - default to a new isolated site unless an existing destination is explicitly supplied or
201
- already pinned, but never default the new site's type (Headless, Studio or Harmony): ask it
202
- in the grouped intake; choose website scope deterministically from discovered route families;
203
- - retry PATH/tool-resolution failures under the operator's compatible interactive login shell;
204
- request required browser/network sandbox escalation and retry before calling it blocked;
205
- - retry the obvious recovery before stopping: aligned shell first for PATH/tool failures,
206
- then the required escalation retry for sandboxed browser or network/API failures;
207
- - continue through the complete selected deliverable. In `management_and_website` mode that includes
208
- frontend build, post-build gap analysis, bounded fix loop, and release receipt; when the
209
- user selected facelift at intake, it also includes the separate post-clone facelift review;
210
- - before yielding, re-route. A 1-click run is only `completed` with
211
- `completion/migration-completion.json`, or `blocked` with a typed durable blocker.
212
-
213
- Use the operator's compatible local Node/Yarn shell when recovering from a PATH or tool
214
- resolution failure. Machine-specific shell paths belong only in local, git-excluded agent
215
- instructions.
216
-
217
- **Repo-local interactive shell contract:** a PATH/tool-resolution failure on first attempt may
218
- mean the command ran under a plain, non-interactive shell that never sourced the operator's
219
- Node/Yarn profile. Resolve the operator's compatible login shell from the local environment or
220
- git-excluded agent instructions, verify that it is executable, and retry the exact same command
221
- through that shell in interactive login mode so the profile that resolves `node`/`yarn`/`npx`
222
- loads. Do not hardcode a machine-specific shell path in this public skill. Only escalate to a
223
- durable blocker if the compatible-shell retry itself fails.
224
-
225
- ## Guardrails
226
-
227
- - Never bypass a validator, approval-state update, verified notification mute, or
228
- Catalog-V3 gate to make a stage appear finished.
229
- - `website` means frontend only; `management_and_website` means the integrated backend and
230
- frontend migration. Never hand the integrated migration destination to the frontend skill
231
- or create a second frontend site in that mode.
232
- - A Studio or Harmony destination (`targetSiteType`) is created and verified by
233
- `rp-destination`'s coordinator and is never published, unpublished or handed to
234
- `wix-headless-replatform`; its website and publication remain operator handoff items.
235
- - Do not implement a storefront manually when `wix-headless-replatform` is unavailable;
236
- persist a blocker with the exact required runtime capability.
237
- - In management mode, still generate `website/handoff.*` after setup discovery so a later
238
- storefront can start without repeating backend discovery.
@@ -1 +0,0 @@
1
- .account-check{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid #cbdbe7;background:#f4f8fb;border-radius:9px;padding:14px;margin:16px 0}.account-heading{font-weight:700;margin:0 0 7px!important}.account-check code{display:block;max-width:500px;overflow-wrap:anywhere;color:#173f5f;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;margin:3px 0 7px}.account-check .muted code{display:inline;font:inherit}.account-check .error{display:block;margin:5px 0 0}.account-check button{flex:none}@media(max-width:520px){.account-check{flex-direction:column}.account-check button{width:100%}}
@@ -1 +0,0 @@
1
- :root{font-family:ui-sans-serif,system-ui,sans-serif;color:#18212b;background:#f6f8fa}*{box-sizing:border-box}body{margin:0}header{height:58px;background:#fff;border-bottom:1px solid #dce3e9;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{font-weight:750;color:#152f48;text-decoration:none}.brand span{font-weight:400;color:#647487;margin-left:8px}#connection{font-size:12px;color:#647487}main{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100vh - 58px)}aside{background:#fff;border-right:1px solid #dce3e9;padding:16px}aside button,#new-project{width:100%}h1{margin:0 0 6px;font-size:26px}h2{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#647487;margin:24px 0 8px}.project{width:100%;text-align:left;background:transparent;color:#263442;padding:10px;border:0;border-radius:8px;margin:2px 0}.project:hover,.project.active{background:#edf3f8}.project small{display:block;color:#647487;margin-top:3px}#content{padding:30px;max-width:1050px;width:100%;min-height:0;overflow:hidden}.empty{max-width:480px;margin:15vh auto}.status{display:flex;gap:12px;align-items:center;margin-bottom:22px;color:#5d6d7e}.pill{font-size:12px;border-radius:999px;padding:5px 9px;background:#e8eef4;color:#314a62;font-weight:700}.attention{background:#fff8e7;border:1px solid #ecd99e;border-radius:10px;padding:16px;margin:20px 0;display:flex;gap:16px;align-items:center}.attention p{margin:4px 0 0;color:#5e5131}.attention button{margin-left:auto}.grid{display:grid;grid-template-columns:1fr 280px;gap:24px}.card{background:#fff;border:1px solid #dce3e9;border-radius:11px;padding:18px}.card h3{font-size:14px;margin:0 0 12px}.work-card{margin:0 0 24px}.work-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.work-heading h3{margin-bottom:3px}.work-heading p{margin:0}.work-summary{font-size:13px;color:#314a62;font-weight:650}.task-list,.agent-list{list-style:none;padding:0;margin:14px 0 0}.task-row{border-top:1px solid #edf0f3;padding:12px 0}.task-main,.agent-row{display:flex;align-items:center;gap:9px}.task-main{align-items:flex-start}.task-title{font-weight:700}.task-completed{text-decoration:line-through;color:#68798b}.task-check{color:#257349;font-size:17px;font-weight:800;line-height:18px}.task-state-icon{color:#7d8b98;font-size:18px;line-height:17px}.spinner{width:16px;height:16px;border:2px solid #bdd0df;border-top-color:#23669e;border-radius:50%;display:inline-block;flex:0 0 auto;animation:spin .8s linear infinite}.spinner.small{width:12px;height:12px;border-width:2px}.agent-list{margin:9px 0 0 25px}.agent-row{font-size:13px;padding:4px 0}.agent-row.agent-child{margin-left:16px}.agent-row .muted{margin-left:auto}.agent-empty{margin:8px 0 0 25px}@keyframes spin{to{transform:rotate(360deg)}}.activity-card{height:calc(100vh - 340px);min-height:260px;display:flex;flex-direction:column;min-height:0}.activity-feed{overflow-y:auto;min-height:0;padding-right:4px}.event{padding:12px 0;border-bottom:1px solid #edf0f3;font-size:14px}.event summary{cursor:pointer}.event summary::marker{color:#647487}.event small{display:block;color:#68798b;margin-top:3px}.event pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f9;border-radius:7px;padding:10px;font-size:12px;line-height:1.4;color:#334759}.event.heartbeat{color:#788796}button{font:inherit;border:0;border-radius:8px;padding:9px 12px;font-weight:650;background:#e8eef4;color:#20384d;cursor:pointer}button.primary{background:#23669e;color:#fff}button.danger{color:#9b3030;background:#fff;border:1px solid #d99d9d}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:#68798b;font-size:13px}dialog{border:0;border-radius:12px;padding:0;max-width:720px;width:calc(100% - 32px);max-height:calc(100vh - 32px);overflow:hidden;box-shadow:0 20px 60px #0004}dialog::backdrop{background:#14233388}.dialog-body{padding:26px}.dialog-body h1{font-size:22px}.dialog-body p{line-height:1.5}.artifact{display:flex;justify-content:space-between;align-items:center;border:1px solid #dce3e9;padding:12px;border-radius:9px;margin:15px 0}.choice{display:block;border:1px solid #d4dee7;border-radius:9px;padding:12px;margin:9px 0}.choice small{display:block;margin:4px 0 0 24px;color:#68798b}.choice input{margin-right:8px}textarea,input,select{font:inherit;width:100%;padding:9px;border:1px solid #bdcbd7;border-radius:7px;margin:5px 0 12px}label{font-size:13px;font-weight:650;display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{min-width:0}.file-preview{max-height:min(58vh,560px);overflow:auto;white-space:pre;overflow-wrap:normal;background:#f4f7f9;border:1px solid #dce3e9;border-radius:7px;padding:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#334759}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.error{color:#9c3030;margin-top:12px}@media(max-width:720px){main{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 58px)}aside{border-right:0;border-bottom:1px solid #dce3e9}.grid{grid-template-columns:1fr}#content{padding:20px;overflow:visible}.activity-card{height:60vh}.file-preview{max-height:48vh}.form-grid{grid-template-columns:1fr}.attention{align-items:flex-start;flex-direction:column}.attention button{margin-left:0}.work-heading{flex-direction:column;gap:4px}}
@@ -1,117 +0,0 @@
1
- const token = new URLSearchParams(location.search).get('token');
2
- const q = (s) => document.querySelector(s); let selected = null; let events = []; let stream;
3
- const api = async (path, options = {}) => { const join = path.includes('?') ? '&' : '?'; const res = await fetch(`${path}${join}token=${encodeURIComponent(token)}`, { ...options, headers: { 'content-type': 'application/json', ...(options.headers || {}) } }); const data = await res.json(); if (!res.ok) throw new Error(data.error || 'Request failed'); return data; };
4
- const esc = (value) => String(value ?? '').replace(/[&<>"]/g, (c) => ({ '&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;' }[c]));
5
- function routeState() { const params = new URLSearchParams(location.search); return { project: params.get('project'), request: params.get('request'), artifact: params.get('artifact'), cursor: params.get('cursor') }; }
6
- function updateRoute(values) { const url = new URL(location.href); for (const [key, value] of Object.entries(values)) { if (value === null || value === undefined || value === '') url.searchParams.delete(key); else url.searchParams.set(key, value); } history.replaceState(null, '', `${url.pathname}?${url.searchParams.toString()}${url.hash}`); }
7
- function statusName(s) { if (/_running$/.test(s || '')) return 'Ready to continue'; return ({ running:'Running', waiting_for_user:'Waiting for you', awaiting_user_action:'Waiting for you', blocked:'Blocked', canceled:'Canceled', interrupted:'Interrupted', timed_out:'Timed out', completed:'Completed', failed:'Failed' })[s] || 'Ready to start'; }
8
- function readable(value) { return String(value || '').replaceAll('_', ' ').replace(/\b\w/g, (c) => c.toUpperCase()); }
9
- function structuredArtifact(file) {
10
- const structured = /(?:application\/(?:json|x-ndjson)|(?:json|jsonl|ndjson))/.test(`${file.mediaType} ${file.path}`.toLowerCase());
11
- if (!structured) return null;
12
- try {
13
- const isLines = /(?:jsonl|ndjson)/.test(`${file.mediaType} ${file.path}`.toLowerCase());
14
- return isLines ? file.content.split('\n').filter(Boolean).map((line) => JSON.parse(line)) : JSON.parse(file.content);
15
- } catch { return null; }
16
- }
17
- function jsonMarkup(value) {
18
- const raw = JSON.stringify(value, null, 2);
19
- return raw.replace(/("(?:\\.|[^"\\])*")(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g, (match, string, colon, literal) => {
20
- const kind = string ? (colon ? 'json-key' : 'json-string') : literal ? 'json-literal' : 'json-number';
21
- return `<span class="${kind}">${esc(string || literal || match)}</span>${colon || ''}`;
22
- });
23
- }
24
- function fileLanguage(file) {
25
- const source = `${file.mediaType || ''} ${file.path || ''}`.toLowerCase();
26
- if (/(?:application\/(?:json|x-ndjson)|(?:json|jsonl|ndjson))/.test(source)) return 'json';
27
- if (/(?:javascript|ecmascript|\.m?js\b|\.cjs\b)/.test(source)) return 'javascript';
28
- if (/(?:typescript|\.tsx?\b)/.test(source)) return 'typescript';
29
- if (/(?:text\/css|\.css\b)/.test(source)) return 'css';
30
- if (/(?:text\/html|\.html?\b)/.test(source)) return 'html';
31
- if (/(?:text\/markdown|\.md\b)/.test(source)) return 'markdown';
32
- return 'text';
33
- }
34
- function codeMarkup(content, language) {
35
- const escaped = esc(content);
36
- if (language === 'json') return escaped;
37
- if (language === 'html') return escaped.replace(/(&lt;\/?)([A-Za-z][\w-]*)([^&]*?)(\/??&gt;)/g, '$1<span class="syntax-tag">$2</span>$3$4');
38
- if (language === 'markdown') return escaped.replace(/^(#{1,6}\s.*)$/gm, '<span class="syntax-heading">$1</span>').replace(/(`[^`]+`)/g, '<span class="syntax-code">$1</span>');
39
- if (language === 'javascript' || language === 'typescript') return escaped.replace(/(\/\/[^\n]*|\/\*[\s\S]*?\*\/)/g, '<span class="syntax-comment">$1</span>').replace(/\b(const|let|var|function|async|await|return|if|else|for|while|class|new|import|from|export|throw|try|catch)\b/g, '<span class="syntax-keyword">$1</span>');
40
- if (language === 'css') return escaped.replace(/(\/\*[\s\S]*?\*\/)/g, '<span class="syntax-comment">$1</span>').replace(/(^|\n)([^{}\n]+)(?=\s*\{)/g, '$1<span class="syntax-selector">$2</span>');
41
- return escaped;
42
- }
43
- async function projects() { try { const data = await api('/api/projects'); q('#projects').innerHTML = data.projects.map((p) => `<button class="project ${p.project === selected ? 'active':''}" data-project="${esc(p.project)}">${esc(p.project)}<small>${esc(statusName(p.router?.state || p.activeRun?.status || p.orchestration?.status))}</small></button>`).join('') || '<p class="muted">No migration projects yet.</p>'; document.querySelectorAll('[data-project]').forEach((b) => b.onclick = () => openProject(b.dataset.project)); } catch (e) { q('#projects').textContent = e.message; } }
44
- function eventMarkup(event) { return `<details class="event ${event.type === 'heartbeat' ? 'heartbeat':''}" data-event-id="${esc(event.eventId || '')}"><summary><strong>${esc(readable(event.type))}</strong><small>${esc(event.message || '')} · ${esc(event.timestamp ? new Date(event.timestamp).toLocaleString() : 'just now')}</small></summary><pre>${esc(JSON.stringify(event, null, 2))}</pre></details>`; }
45
- function appendActivity(event) { const feed = q('.activity-feed'); if (!feed) return; feed.querySelector('.empty-activity')?.remove(); feed.insertAdjacentHTML('afterbegin', eventMarkup(event)); }
46
- function taskIcon(state) { return state === 'running' ? '<span class="spinner" aria-hidden="true"></span>' : state === 'completed' ? '<span class="task-check" aria-hidden="true">✓</span>' : '<span class="task-state-icon" aria-hidden="true">•</span>'; }
47
- function workMarkup(data) {
48
- const tasks = data?.tasks || []; const agents = data?.agents || []; const runningTasks = tasks.filter((task) => task.state === 'running').length; const runningAgents = agents.filter((agent) => agent.state === 'running').length;
49
- if (!tasks.length) return `<div class="work-heading"><div><h3>Work</h3><p class="muted">Persisted work state</p></div><p class="muted">No tasks recorded</p></div><p class="muted">Work details will appear after the supervisor records a route. Observed activity below is not treated as task state.</p>`;
50
- const rows = tasks.map((task) => {
51
- const assigned = agents.filter((agent) => agent.taskId === task.taskId); const active = assigned.filter((agent) => agent.state === 'running');
52
- const agentRows = assigned.length ? `<ul class="agent-list">${assigned.map((agent) => `<li class="agent-row agent-${esc(agent.state)} ${agent.parentAgentId ? 'agent-child':''}">${agent.state === 'running' ? '<span class="spinner small" aria-hidden="true"></span>' : agent.state === 'completed' ? '<span class="task-check" aria-hidden="true">✓</span>' : '<span class="task-state-icon" aria-hidden="true">•</span>'}<span>${esc(agent.label)}</span><span class="muted">${esc(readable(agent.state))}</span></li>`).join('')}</ul>` : '<p class="agent-empty muted">No agent has been recorded for this task.</p>';
53
- const topology = active.length && !active.some((agent) => agent.parentAgentId) ? '<p class="agent-empty muted">No additional agent detail reported.</p>' : '';
54
- return `<li class="task-row task-${esc(task.state)}" data-task-id="${esc(task.taskId)}"><div class="task-main">${taskIcon(task.state)}<div><div class="task-title ${task.state === 'completed' ? 'task-completed':''}">${esc(task.title)}</div><div class="muted">${esc(readable(task.state))}${task.route?.reason ? ` · ${esc(readable(task.route.reason))}` : ''}</div></div></div>${agentRows}${topology}</li>`;
55
- }).join('');
56
- return `<div class="work-heading"><div><h3>Work</h3><p class="muted">Persisted work state</p></div><p class="work-summary">${runningTasks ? `${runningTasks} running task${runningTasks === 1 ? '' : 's'}` : 'No running tasks'} · ${runningAgents} active agent${runningAgents === 1 ? '' : 's'}</p></div><ul class="task-list">${rows}</ul>`;
57
- }
58
- function renderWork(tasks) { const panel = q('#work-panel'); if (panel) panel.innerHTML = workMarkup(tasks); }
59
- function panelMarkup(status, requests) {
60
- const state = status.activeRun?.status || status.latestResult?.outcome || status.orchestration?.status || 'ready'; const pending = requests.find((r) => r.status === 'pending');
61
- const attention = pending ? `<div class="attention"><div><strong>${esc(pending.title)}</strong><p>${esc(pending.prompt)}</p></div><button class="primary" id="open-request">Review decision</button></div>` : '';
62
- const rawState = status.router?.reason || status.latestResult?.nextAction || 'ready';
63
- return { state, pending, attention, current: `<div class="card"><h3>Current state</h3><p>${esc(readable(rawState))}</p><p class="muted">Technical state: ${esc(rawState)}</p><div class="actions">${!status.activeRun && state !== 'completed' ? '<button class="primary" id="resume">Resume</button>' : ''}${status.activeRun ? '<button class="danger" id="cancel">Stop migration</button>' : ''}</div></div>`, requests: `<div class="card" style="margin-top:16px"><h3>Requests</h3><p class="muted">${requests.length} total · ${requests.filter((r)=>r.status==='pending').length} pending</p></div>` };
64
- }
65
- function bindPanels(pending) {
66
- if (pending) q('#open-request').onclick = () => requestView(pending); if (q('#resume')) q('#resume').onclick = () => start(true); if (q('#cancel')) q('#cancel').onclick = cancelRun;
67
- }
68
- function renderDurablePanels(status, requests) {
69
- const panel = panelMarkup(status, requests); const statusLine = q('#status-line'); if (!statusLine) return;
70
- statusLine.innerHTML = `<span class="pill">${esc(statusName(panel.state))}</span><span>${status.eventStream?.lastEventAt ? `Last observed ${esc(new Date(status.eventStream.lastEventAt).toLocaleString())}` : 'No recent observation'}</span>`;
71
- q('#attention-area').innerHTML = panel.attention; q('#current-state-card').innerHTML = panel.current; q('#requests-card').innerHTML = panel.requests; bindPanels(panel.pending);
72
- }
73
- function render(status, requests, tasks) {
74
- const rows = events.slice(-200).reverse().map(eventMarkup).join('') || '<p class="muted empty-activity">No observed activity yet.</p>';
75
- q('#content').innerHTML = `<h1>${esc(selected)}</h1><div class="status" id="status-line"></div><div id="attention-area"></div><section class="card work-card" id="work-panel">${workMarkup(tasks)}</section><div class="grid"><div class="card activity-card"><h3>Observed activity</h3><div class="activity-feed" aria-label="Observed migration activity">${rows}</div></div><div><div id="current-state-card"></div><div id="requests-card"></div></div></div>`;
76
- renderDurablePanels(status, requests);
77
- }
78
- async function refreshTasks() { if (!selected) return null; const tasks = await api(`/api/tasks?project=${encodeURIComponent(selected)}`); renderWork(tasks); return tasks; }
79
- async function refresh() { if (!selected) return null; const [status, requests, tasks] = await Promise.all([api(`/api/status?project=${encodeURIComponent(selected)}`), api(`/api/requests?project=${encodeURIComponent(selected)}`), api(`/api/tasks?project=${encodeURIComponent(selected)}`)]); render(status, requests, tasks); return { status, requests, tasks }; }
80
- let durableRefreshTimer;
81
- function scheduleDurableRefresh() { if (durableRefreshTimer || !selected) return; durableRefreshTimer = setTimeout(async () => { durableRefreshTimer = null; try { const [status, requests, tasks] = await Promise.all([api(`/api/status?project=${encodeURIComponent(selected)}`), api(`/api/requests?project=${encodeURIComponent(selected)}`), api(`/api/tasks?project=${encodeURIComponent(selected)}`)]); renderDurablePanels(status, requests); renderWork(tasks); projects().catch(() => {}); } catch {} }, 100); }
82
- function connect() { stream?.close(); if (!selected) return; stream = new EventSource(`/api/events?project=${encodeURIComponent(selected)}&token=${encodeURIComponent(token)}`); stream.onopen = () => { q('#connection').textContent = 'Live'; scheduleDurableRefresh(); }; stream.onerror = () => q('#connection').textContent = 'Reconnecting…'; stream.addEventListener('migration', (message) => { const event = JSON.parse(message.data); if (events.some((x) => x.eventId && x.eventId === event.eventId)) return; events.push(event); appendActivity(event); scheduleDurableRefresh(); }); }
83
- async function openProject(project, { updateUrl = true } = {}) { if (updateUrl) updateRoute({ project, request: null, artifact: null, cursor: null }); selected = project; events = []; await projects(); const state = await refresh(); connect(); return state; }
84
- function cancelRun() { const d = modal(`<form class="dialog-body" id="cancel-form"><h1>Stop migration?</h1><p>This asks the supervisor to stop gracefully. Recovery artifacts are preserved, and you can resume later.</p><label>Reason<input id="cancel-reason" value="canceled by operator"></label><p class="error" id="cancel-error"></p><div class="footer"><button type="button" data-close>Keep running</button><button class="danger" type="submit">Stop migration</button></div></form>`); q('#cancel-form').onsubmit = async (event) => { event.preventDefault(); try { await api('/api/cancel', { method:'POST', body:JSON.stringify({ project:selected, reason:q('#cancel-reason').value }) }); d.close(); await refresh(); } catch (e) { q('#cancel-error').textContent = e.message; } }; }
85
- function modal(html, { onClose = null } = {}) { const d = q('#dialog'); d.innerHTML = html; if (!d.open) d.showModal(); d.querySelector('[data-close]')?.addEventListener('click', () => d.close()); d.onclose = onClose; return d; }
86
- async function showArtifact(item, cursor = 0, opener = null, { updateUrl = true } = {}) { const d = q('#file-dialog'); if (opener) d.returnFocus = opener; if (updateUrl) updateRoute({ artifact: item, cursor: String(cursor) }); try { const file = await api(`/api/show?project=${encodeURIComponent(selected)}&item=${encodeURIComponent(item)}&cursor=${cursor}`); const language = fileLanguage(file); const parsed = structuredArtifact(file); const content = parsed === null ? codeMarkup(file.content, language) : jsonMarkup(parsed); d.innerHTML = `<div class="dialog-body"><h1>${esc(file.path)}</h1><p class="muted">${esc(file.mediaType)} · showing ${file.emittedBytes} of ${file.totalBytes} bytes</p><pre class="file-preview language-${language}${parsed === null ? '' : ' structured-json'}" aria-label="${esc(file.path)} preview">${content}</pre><div class="footer">${file.nextCursor !== null ? '<button id="more">Show more</button>' : '<span></span>'}<button data-close>Close</button></div></div>`; if (!d.open) d.showModal(); d.querySelector('[data-close]').onclick = () => d.close(); d.onclose = () => { updateRoute({ artifact: null, cursor: null }); d.returnFocus?.focus(); d.returnFocus = null; }; if (file.nextCursor !== null) d.querySelector('#more').onclick = () => showArtifact(item, file.nextCursor); } catch (e) { alert(e.message); } }
87
- async function loadWixAccount() {
88
- const result = q('#wix-account-result'); const acknowledgement = q('#ack');
89
- if (!result) return;
90
- result.textContent = 'Checking the local Wix CLI account…';
91
- try {
92
- const account = await api('/api/account');
93
- if (account.authState === 'authenticated' && account.identity) {
94
- result.innerHTML = `<strong>Authenticated Wix CLI identity</strong><code>${esc(account.identity)}</code><span class="muted">Reported directly by <code>wix whoami</code>. Confirm that this account is authorized before continuing.</span>`;
95
- acknowledgement?.removeAttribute('disabled');
96
- } else result.innerHTML = `<strong>Wix CLI identity could not be confirmed</strong><span class="error">${esc(account.reason || 'Run wix login, then refresh this check.')}</span>`;
97
- } catch (error) { result.innerHTML = `<strong>Wix CLI identity could not be confirmed</strong><span class="error">${esc(error.message)}</span>`; }
98
- }
99
- async function requestView(row, { updateUrl = true } = {}) {
100
- const request = await api(`/api/show?project=${encodeURIComponent(selected)}&item=${encodeURIComponent(row.requestId)}`);
101
- if (updateUrl) updateRoute({ project: selected, request: request.requestId, artifact: null, cursor: null });
102
- const artifacts = request.artifactRefs.map((a) => `<div class="artifact"><span><strong>${esc(a.path)}</strong><br><span class="muted">${esc(a.mediaType)}</span></span><button data-artifact="${esc(a.path)}">Open</button></div>`).join('');
103
- const operatorInstructions = request.operatorInstructions ? `<section class="operator-instructions"><p><strong>Open Terminal and run this:</strong></p><pre class="file-preview" aria-label="Terminal command">${esc(request.operatorInstructions.command)}</pre><button type="button" id="copy-terminal-command">Copy command</button><p class="muted">${esc(request.operatorInstructions.confirmation)}</p></section>` : '';
104
- const destinationAccountCheck = request.kind === 'manual_action' && request.stage === 'destination'; let response = '';
105
- if (request.response.mode === 'choice') response = `<fieldset><legend>Your decision</legend>${request.choices.map((c) => `<label class="choice"><input required type="radio" name="answer" value="${esc(c.id)}">${esc(c.label)}${c.description ? `<small>${esc(c.description)}</small>`:''}</label>`).join('')}</fieldset><label>Review note <span class="muted">(optional)</span><textarea id="answer-note" maxlength="10000" placeholder="Add context for this decision"></textarea></label>`;
106
- else if (request.response.mode === 'text') response = '<label>Response<textarea id="answer" maxlength="10000" required></textarea></label>';
107
- else response = destinationAccountCheck ? '<label>Confirmation<textarea id="ack-note" maxlength="10000" required placeholder="I confirm the CLI identity is authorized to create this destination."></textarea></label><p class="muted">Your confirmation will be recorded with the required acknowledgement.</p>' : '<label class="choice"><input type="checkbox" id="ack" required>I completed the required manual step.</label>';
108
- const accountCheck = destinationAccountCheck ? '<section class="account-check" aria-live="polite"><div><p class="account-heading">Current Wix CLI account</p><div id="wix-account-result">Checking the local Wix CLI account…</div></div><button type="button" id="refresh-wix-account">Refresh</button></section>' : '';
109
- const d = modal(`<form class="dialog-body" id="answer-form"><div class="pill">${esc(request.kind)}</div><h1>${esc(request.title)}</h1><p>${esc(request.prompt)}</p>${operatorInstructions}${accountCheck}${artifacts}${response}<p class="error" id="form-error"></p><div class="footer"><button type="button" data-close>Cancel</button><span><button type="submit" name="mode" value="save">Save answer only</button> <button class="primary" type="submit" name="mode" value="continue">Submit and resume</button></span></div></form>`, { onClose: () => updateRoute({ request: null, artifact: null, cursor: null }) });
110
- d.querySelectorAll('[data-artifact]').forEach((b) => b.onclick = (event) => showArtifact(b.dataset.artifact, 0, event.currentTarget));
111
- d.querySelector('#copy-terminal-command')?.addEventListener('click', async () => { try { await navigator.clipboard.writeText(request.operatorInstructions.command); d.querySelector('#copy-terminal-command').textContent = 'Copied'; } catch { d.querySelector('#copy-terminal-command').textContent = 'Copy unavailable'; } });
112
- if (destinationAccountCheck) { q('#refresh-wix-account').onclick = loadWixAccount; loadWixAccount(); }
113
- q('#answer-form').onsubmit = async (event) => { event.preventDefault(); const submit = event.submitter.value; const payload = { project:selected, requestId:request.requestId, continue:submit === 'continue' }; if (request.response.mode === 'choice') { payload.choice = new FormData(event.currentTarget).get('answer'); const note = q('#answer-note').value.trim(); if (note) payload.note = note; } else if (request.response.mode === 'text') payload.text = q('#answer').value; else if (destinationAccountCheck) { payload.acknowledged = true; payload.note = q('#ack-note').value.trim(); } else payload.acknowledged = q('#ack').checked; try { await api('/api/answer', { method:'POST', body:JSON.stringify(payload) }); d.close(); await refresh(); } catch (e) { q('#form-error').textContent = e.message; } };
114
- }
115
- function start(resume = false) { if (resume) return api('/api/run', {method:'POST',body:JSON.stringify({project:selected,resume:true})}).then(refresh).catch((e)=>alert(e.message)); const d = modal(`<form class="dialog-body" id="new-form"><h1>New migration</h1><div class="form-grid"><label>Project name<input name="project" required pattern="[A-Za-z0-9][A-Za-z0-9_-]{0,99}"></label><label>Source URL<input name="sourceUrl" type="url"></label><label>Source mode<select name="sourceMode"><option value="public_content">Public content</option><option value="authenticated_api">Authenticated API</option><option value="private_data">Private data</option><option value="files_only">Files only</option></select></label><label>Delivery mode<select name="deliveryMode"><option value="management">Management</option><option value="website">Website</option><option value="management_and_website">Management + website</option></select></label><label>Destination<input name="destination" placeholder="new or existing:site-id" value="new"></label><label>Agent<select name="agent"><option value="auto">Automatic</option><option value="codex">Codex</option><option value="claude">Claude</option></select></label><label>Import mode<select name="managementImportMode"><option value="standard">Standard</option><option value="quick">Quick</option></select></label></div><label>Files (optional)<input id="files" type="file" multiple></label><p class="error" id="new-error"></p><div class="footer"><button type="button" data-close>Cancel</button><button class="primary">Check and start migration</button></div></form>`); q('#new-form').onsubmit = async (e) => { e.preventDefault(); const data = Object.fromEntries(new FormData(e.currentTarget)); try { const doctor = await api(`/api/doctor?agent=${encodeURIComponent(data.agent)}`); if (!doctor.adapters.some((adapter) => adapter.ok)) throw new Error('No selected agent is ready. Complete the local authentication/prerequisite shown by replatform doctor, then retry.'); const files=[]; for (const file of q('#files').files) { const base64 = await new Promise((resolve,reject)=>{const r=new FileReader();r.onload=()=>resolve(String(r.result).split(',')[1]);r.onerror=reject;r.readAsDataURL(file);}); const result=await api('/api/upload',{method:'POST',body:JSON.stringify({project:data.project,name:file.name,contentBase64:base64})});files.push(result.name); } await api('/api/run',{method:'POST',body:JSON.stringify({project:data.project,options:{...data,files}})}); d.close(); await openProject(data.project); } catch (err) { q('#new-error').textContent=err.message; } }; }
116
- async function restoreRoute() { const route = routeState(); if (!route.project) return; const state = await openProject(route.project, { updateUrl: false }); if (!route.request) return; const row = state?.requests.find((item) => item.requestId === route.request && item.status === 'pending'); if (!row) { updateRoute({ request: null, artifact: null, cursor: null }); return; } await requestView(row, { updateUrl: false }); if (route.artifact) await showArtifact(route.artifact, Number(route.cursor) || 0, null, { updateUrl: false }); }
117
- q('#new-project').onclick = () => start(false); projects().then(restoreRoute).catch((error) => { q('#content').textContent = error.message; });
@@ -1,4 +0,0 @@
1
- <!doctype html>
2
- <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>RePlatform console</title><link rel="stylesheet" href="/app.css"><link rel="stylesheet" href="/json.css"><link rel="stylesheet" href="/account.css"></head>
3
- <body><header><a href="/" class="brand">RePlatform <span>Migration console</span></a><div id="connection">Choose a migration</div></header>
4
- <main><aside><button id="new-project">New migration</button><h2>Migrations</h2><div id="projects" aria-live="polite"></div></aside><section id="content" aria-live="polite"><div class="empty"><h1>Choose a migration</h1><p>Open an existing project or start a new migration.</p></div></section></main><dialog id="dialog"></dialog><dialog id="file-dialog"></dialog><script src="/app.js"></script></body></html>
@@ -1,11 +0,0 @@
1
- .structured-json { color: #263947; }
2
- .structured-json .json-key { color: #175f9f; }
3
- .structured-json .json-string { color: #8b3d20; }
4
- .structured-json .json-number { color: #7650a8; }
5
- .structured-json .json-literal { color: #267052; font-weight: 650; }
6
- .file-preview .syntax-comment { color: #647487; font-style: italic; }
7
- .file-preview .syntax-keyword { color: #7650a8; font-weight: 650; }
8
- .file-preview .syntax-tag { color: #175f9f; font-weight: 650; }
9
- .file-preview .syntax-heading { color: #175f9f; font-weight: 700; }
10
- .file-preview .syntax-code { color: #8b3d20; }
11
- .file-preview .syntax-selector { color: #175f9f; font-weight: 650; }
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- const { spawn, spawnSync } = require('node:child_process');
4
-
5
- const ADAPTERS = {
6
- codex: {
7
- executable: 'codex',
8
- args(prompt) { return ['exec', '--json', prompt]; },
9
- },
10
- claude: {
11
- executable: 'claude',
12
- args(prompt) { return ['-p', '--output-format', 'stream-json', '--verbose', prompt]; },
13
- },
14
- };
15
-
16
- function probe(id, { executablePath } = {}) {
17
- const adapter = ADAPTERS[id];
18
- if (!adapter) return { ok: false, id, reason: 'unknown_adapter' };
19
- const executable = executablePath || adapter.executable;
20
- const result = spawnSync(executable, ['--version'], { encoding: 'utf8', timeout: 5000 });
21
- if (result.error) return { ok: false, id, executable, reason: result.error.code === 'ENOENT' ? 'not_installed' : 'probe_failed' };
22
- if (result.status !== 0) return { ok: false, id, executable, reason: 'version_failed' };
23
- return { ok: true, id, executable, version: `${result.stdout || result.stderr}`.trim(), capabilities: ['headless', 'events', 'session', 'cwd', 'cancel'] };
24
- }
25
-
26
- function chooseAdapter(id = 'auto', options = {}) {
27
- const ids = id === 'auto' ? ['codex', 'claude'] : [id];
28
- const probes = ids.map((candidate) => probe(candidate, { executablePath: options.agentPath }));
29
- const selected = probes.find((result) => result.ok);
30
- return selected ? { ...selected, probes } : { ok: false, reason: id === 'auto' ? 'no_compatible_agent' : 'agent_unavailable', probes };
31
- }
32
-
33
- function launch(id, { cwd, prompt, executablePath, onEvent, onWorker }) {
34
- const adapter = ADAPTERS[id];
35
- if (!adapter) throw new Error(`unknown adapter: ${id}`);
36
- const child = spawn(executablePath || adapter.executable, adapter.args(prompt), {
37
- cwd,
38
- stdio: ['ignore', 'pipe', 'pipe'],
39
- detached: process.platform !== 'win32',
40
- });
41
- let buffered = '';
42
- child.stdout.on('data', (chunk) => {
43
- buffered += chunk;
44
- let newline;
45
- while ((newline = buffered.indexOf('\n')) >= 0) {
46
- const line = buffered.slice(0, newline);
47
- buffered = buffered.slice(newline + 1);
48
- if (!line.trim()) continue;
49
- let raw;
50
- try { raw = JSON.parse(line); } catch { raw = { text: line }; }
51
- onEvent?.({ type: 'vendor_event', raw });
52
- // Worker reporting is an explicit adapter capability. Do not infer workers from a
53
- // vendor event unless a future adapter supplies this parser and its own schema.
54
- if (typeof adapter.workerReport === 'function') {
55
- const worker = adapter.workerReport(raw);
56
- if (worker) onWorker?.(worker);
57
- }
58
- }
59
- });
60
- child.stderr.on('data', (chunk) => onEvent?.({ type: 'vendor_stderr', message: String(chunk).trim() }));
61
- return child;
62
- }
63
-
64
- function requestCancel(child) {
65
- if (!child || child.exitCode !== null) return false;
66
- if (process.platform !== 'win32' && child.pid) process.kill(-child.pid, 'SIGTERM');
67
- else child.kill('SIGTERM');
68
- return true;
69
- }
70
-
71
- module.exports = { ADAPTERS, probe, chooseAdapter, launch, requestCancel };