@sitecoreai-labs/sitecoreai-cli 0.0.4

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 (569) hide show
  1. package/AGENTS.md +67 -0
  2. package/LICENSE +21 -0
  3. package/README.md +357 -0
  4. package/bin/sitecoreai-cli +3 -0
  5. package/dist/cli.d.ts +3 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +358 -0
  8. package/dist/commands/config.d.ts +3 -0
  9. package/dist/commands/config.d.ts.map +1 -0
  10. package/dist/commands/config.js +27 -0
  11. package/dist/commands/deploy/deployments.d.ts +3 -0
  12. package/dist/commands/deploy/deployments.d.ts.map +1 -0
  13. package/dist/commands/deploy/deployments.js +58 -0
  14. package/dist/commands/deploy/editing-host.d.ts +3 -0
  15. package/dist/commands/deploy/editing-host.d.ts.map +1 -0
  16. package/dist/commands/deploy/editing-host.js +49 -0
  17. package/dist/commands/deploy/environments/deployments.d.ts +3 -0
  18. package/dist/commands/deploy/environments/deployments.d.ts.map +1 -0
  19. package/dist/commands/deploy/environments/deployments.js +28 -0
  20. package/dist/commands/deploy/environments/index.d.ts +3 -0
  21. package/dist/commands/deploy/environments/index.d.ts.map +1 -0
  22. package/dist/commands/deploy/environments/index.js +29 -0
  23. package/dist/commands/deploy/environments/mutations.d.ts +9 -0
  24. package/dist/commands/deploy/environments/mutations.d.ts.map +1 -0
  25. package/dist/commands/deploy/environments/mutations.js +103 -0
  26. package/dist/commands/deploy/environments/queries.d.ts +7 -0
  27. package/dist/commands/deploy/environments/queries.d.ts.map +1 -0
  28. package/dist/commands/deploy/environments/queries.js +56 -0
  29. package/dist/commands/deploy/environments/variables.d.ts +3 -0
  30. package/dist/commands/deploy/environments/variables.d.ts.map +1 -0
  31. package/dist/commands/deploy/environments/variables.js +40 -0
  32. package/dist/commands/deploy/environments.d.ts +2 -0
  33. package/dist/commands/deploy/environments.d.ts.map +1 -0
  34. package/dist/commands/deploy/environments.js +17 -0
  35. package/dist/commands/deploy/index.d.ts +3 -0
  36. package/dist/commands/deploy/index.d.ts.map +1 -0
  37. package/dist/commands/deploy/index.js +26 -0
  38. package/dist/commands/deploy/logs.d.ts +3 -0
  39. package/dist/commands/deploy/logs.d.ts.map +1 -0
  40. package/dist/commands/deploy/logs.js +39 -0
  41. package/dist/commands/deploy/organizations.d.ts +3 -0
  42. package/dist/commands/deploy/organizations.d.ts.map +1 -0
  43. package/dist/commands/deploy/organizations.js +29 -0
  44. package/dist/commands/deploy/projects.d.ts +3 -0
  45. package/dist/commands/deploy/projects.d.ts.map +1 -0
  46. package/dist/commands/deploy/projects.js +74 -0
  47. package/dist/commands/deploy/shared.d.ts +3 -0
  48. package/dist/commands/deploy/shared.d.ts.map +1 -0
  49. package/dist/commands/deploy/shared.js +12 -0
  50. package/dist/commands/deploy/site.d.ts +10 -0
  51. package/dist/commands/deploy/site.d.ts.map +1 -0
  52. package/dist/commands/deploy/site.js +36 -0
  53. package/dist/commands/deploy/source-control.d.ts +3 -0
  54. package/dist/commands/deploy/source-control.d.ts.map +1 -0
  55. package/dist/commands/deploy/source-control.js +89 -0
  56. package/dist/commands/deploy.d.ts +2 -0
  57. package/dist/commands/deploy.d.ts.map +1 -0
  58. package/dist/commands/deploy.js +5 -0
  59. package/dist/commands/history.d.ts +3 -0
  60. package/dist/commands/history.d.ts.map +1 -0
  61. package/dist/commands/history.js +88 -0
  62. package/dist/commands/init.d.ts +3 -0
  63. package/dist/commands/init.d.ts.map +1 -0
  64. package/dist/commands/init.js +32 -0
  65. package/dist/commands/login.d.ts +3 -0
  66. package/dist/commands/login.d.ts.map +1 -0
  67. package/dist/commands/login.js +21 -0
  68. package/dist/commands/logout.d.ts +3 -0
  69. package/dist/commands/logout.d.ts.map +1 -0
  70. package/dist/commands/logout.js +18 -0
  71. package/dist/commands/recipe/index.d.ts +3 -0
  72. package/dist/commands/recipe/index.d.ts.map +1 -0
  73. package/dist/commands/recipe/index.js +158 -0
  74. package/dist/commands/serialization/index.d.ts +3 -0
  75. package/dist/commands/serialization/index.d.ts.map +1 -0
  76. package/dist/commands/serialization/index.js +89 -0
  77. package/dist/commands/serialization/package.d.ts +3 -0
  78. package/dist/commands/serialization/package.d.ts.map +1 -0
  79. package/dist/commands/serialization/package.js +36 -0
  80. package/dist/commands/shared.d.ts +21 -0
  81. package/dist/commands/shared.d.ts.map +1 -0
  82. package/dist/commands/shared.js +82 -0
  83. package/dist/commands/shell.d.ts +10 -0
  84. package/dist/commands/shell.d.ts.map +1 -0
  85. package/dist/commands/shell.js +155 -0
  86. package/dist/commands/status.d.ts +3 -0
  87. package/dist/commands/status.d.ts.map +1 -0
  88. package/dist/commands/status.js +15 -0
  89. package/dist/commands/telemetry.d.ts +3 -0
  90. package/dist/commands/telemetry.d.ts.map +1 -0
  91. package/dist/commands/telemetry.js +28 -0
  92. package/dist/config/env-overrides.d.ts +4 -0
  93. package/dist/config/env-overrides.d.ts.map +1 -0
  94. package/dist/config/env-overrides.js +199 -0
  95. package/dist/config/index.d.ts +5 -0
  96. package/dist/config/index.d.ts.map +1 -0
  97. package/dist/config/index.js +13 -0
  98. package/dist/config/modules.d.ts +4 -0
  99. package/dist/config/modules.d.ts.map +1 -0
  100. package/dist/config/modules.js +152 -0
  101. package/dist/config/paths.d.ts +2 -0
  102. package/dist/config/paths.d.ts.map +1 -0
  103. package/dist/config/paths.js +39 -0
  104. package/dist/config/root-config.d.ts +10 -0
  105. package/dist/config/root-config.d.ts.map +1 -0
  106. package/dist/config/root-config.js +159 -0
  107. package/dist/config/schema.json +278 -0
  108. package/dist/config/serialization-module.schema.json +127 -0
  109. package/dist/config/telemetry.schema.json +21 -0
  110. package/dist/config/types.d.ts +245 -0
  111. package/dist/config/types.d.ts.map +1 -0
  112. package/dist/config/types.js +19 -0
  113. package/dist/config/validation.d.ts +10 -0
  114. package/dist/config/validation.d.ts.map +1 -0
  115. package/dist/config/validation.js +43 -0
  116. package/dist/deploy/api/common/headers.d.ts +2 -0
  117. package/dist/deploy/api/common/headers.d.ts.map +1 -0
  118. package/dist/deploy/api/common/headers.js +10 -0
  119. package/dist/deploy/api/common/index.d.ts +4 -0
  120. package/dist/deploy/api/common/index.d.ts.map +1 -0
  121. package/dist/deploy/api/common/index.js +19 -0
  122. package/dist/deploy/api/common/request.d.ts +9 -0
  123. package/dist/deploy/api/common/request.d.ts.map +1 -0
  124. package/dist/deploy/api/common/request.js +253 -0
  125. package/dist/deploy/api/common/types.d.ts +44 -0
  126. package/dist/deploy/api/common/types.d.ts.map +1 -0
  127. package/dist/deploy/api/common/types.js +5 -0
  128. package/dist/deploy/api/common.d.ts +2 -0
  129. package/dist/deploy/api/common.d.ts.map +1 -0
  130. package/dist/deploy/api/common.js +17 -0
  131. package/dist/deploy/api/deployment-logs.d.ts +2 -0
  132. package/dist/deploy/api/deployment-logs.d.ts.map +1 -0
  133. package/dist/deploy/api/deployment-logs.js +23 -0
  134. package/dist/deploy/api/deployments.d.ts +9 -0
  135. package/dist/deploy/api/deployments.d.ts.map +1 -0
  136. package/dist/deploy/api/deployments.js +61 -0
  137. package/dist/deploy/api/environments.d.ts +21 -0
  138. package/dist/deploy/api/environments.d.ts.map +1 -0
  139. package/dist/deploy/api/environments.js +67 -0
  140. package/dist/deploy/api/index.d.ts +9 -0
  141. package/dist/deploy/api/index.d.ts.map +1 -0
  142. package/dist/deploy/api/index.js +24 -0
  143. package/dist/deploy/api/logs.d.ts +8 -0
  144. package/dist/deploy/api/logs.d.ts.map +1 -0
  145. package/dist/deploy/api/logs.js +29 -0
  146. package/dist/deploy/api/organizations.d.ts +6 -0
  147. package/dist/deploy/api/organizations.d.ts.map +1 -0
  148. package/dist/deploy/api/organizations.js +18 -0
  149. package/dist/deploy/api/projects.d.ts +13 -0
  150. package/dist/deploy/api/projects.d.ts.map +1 -0
  151. package/dist/deploy/api/projects.js +42 -0
  152. package/dist/deploy/api/source-control.d.ts +15 -0
  153. package/dist/deploy/api/source-control.d.ts.map +1 -0
  154. package/dist/deploy/api/source-control.js +71 -0
  155. package/dist/deploy/api.d.ts +2 -0
  156. package/dist/deploy/api.d.ts.map +1 -0
  157. package/dist/deploy/api.js +17 -0
  158. package/dist/deploy/tasks/deployment-result.d.ts +6 -0
  159. package/dist/deploy/tasks/deployment-result.d.ts.map +1 -0
  160. package/dist/deploy/tasks/deployment-result.js +36 -0
  161. package/dist/deploy/tasks/deployments.d.ts +10 -0
  162. package/dist/deploy/tasks/deployments.d.ts.map +1 -0
  163. package/dist/deploy/tasks/deployments.js +201 -0
  164. package/dist/deploy/tasks/editing-host.d.ts +28 -0
  165. package/dist/deploy/tasks/editing-host.d.ts.map +1 -0
  166. package/dist/deploy/tasks/editing-host.js +216 -0
  167. package/dist/deploy/tasks/environments.d.ts +20 -0
  168. package/dist/deploy/tasks/environments.d.ts.map +1 -0
  169. package/dist/deploy/tasks/environments.js +364 -0
  170. package/dist/deploy/tasks/index.d.ts +10 -0
  171. package/dist/deploy/tasks/index.d.ts.map +1 -0
  172. package/dist/deploy/tasks/index.js +25 -0
  173. package/dist/deploy/tasks/logs.d.ts +5 -0
  174. package/dist/deploy/tasks/logs.d.ts.map +1 -0
  175. package/dist/deploy/tasks/logs.js +56 -0
  176. package/dist/deploy/tasks/organizations.d.ts +6 -0
  177. package/dist/deploy/tasks/organizations.d.ts.map +1 -0
  178. package/dist/deploy/tasks/organizations.js +51 -0
  179. package/dist/deploy/tasks/projects.d.ts +11 -0
  180. package/dist/deploy/tasks/projects.d.ts.map +1 -0
  181. package/dist/deploy/tasks/projects.js +246 -0
  182. package/dist/deploy/tasks/shared.d.ts +63 -0
  183. package/dist/deploy/tasks/shared.d.ts.map +1 -0
  184. package/dist/deploy/tasks/shared.js +261 -0
  185. package/dist/deploy/tasks/site-bind.d.ts +21 -0
  186. package/dist/deploy/tasks/site-bind.d.ts.map +1 -0
  187. package/dist/deploy/tasks/site-bind.js +142 -0
  188. package/dist/deploy/tasks/site.d.ts +14 -0
  189. package/dist/deploy/tasks/site.d.ts.map +1 -0
  190. package/dist/deploy/tasks/site.js +29 -0
  191. package/dist/deploy/tasks/source-control.d.ts +14 -0
  192. package/dist/deploy/tasks/source-control.d.ts.map +1 -0
  193. package/dist/deploy/tasks/source-control.js +173 -0
  194. package/dist/deploy/tasks/types.d.ts +204 -0
  195. package/dist/deploy/tasks/types.d.ts.map +1 -0
  196. package/dist/deploy/tasks/types.js +7 -0
  197. package/dist/deploy/tasks.d.ts +3 -0
  198. package/dist/deploy/tasks.d.ts.map +1 -0
  199. package/dist/deploy/tasks.js +18 -0
  200. package/dist/recipe/api/auth.d.ts +9 -0
  201. package/dist/recipe/api/auth.d.ts.map +1 -0
  202. package/dist/recipe/api/auth.js +12 -0
  203. package/dist/recipe/api/authoring-client.d.ts +37 -0
  204. package/dist/recipe/api/authoring-client.d.ts.map +1 -0
  205. package/dist/recipe/api/authoring-client.js +495 -0
  206. package/dist/recipe/api/client.d.ts +99 -0
  207. package/dist/recipe/api/client.d.ts.map +1 -0
  208. package/dist/recipe/api/client.js +17 -0
  209. package/dist/recipe/api/graphql.d.ts +15 -0
  210. package/dist/recipe/api/graphql.d.ts.map +1 -0
  211. package/dist/recipe/api/graphql.js +38 -0
  212. package/dist/recipe/api/ref-encoding.d.ts +38 -0
  213. package/dist/recipe/api/ref-encoding.d.ts.map +1 -0
  214. package/dist/recipe/api/ref-encoding.js +160 -0
  215. package/dist/recipe/api/site-discovery.d.ts +49 -0
  216. package/dist/recipe/api/site-discovery.d.ts.map +1 -0
  217. package/dist/recipe/api/site-discovery.js +127 -0
  218. package/dist/recipe/api/sites-client.d.ts +48 -0
  219. package/dist/recipe/api/sites-client.d.ts.map +1 -0
  220. package/dist/recipe/api/sites-client.js +19 -0
  221. package/dist/recipe/cache.d.ts +36 -0
  222. package/dist/recipe/cache.d.ts.map +1 -0
  223. package/dist/recipe/cache.js +114 -0
  224. package/dist/recipe/compile/component-section.d.ts +46 -0
  225. package/dist/recipe/compile/component-section.d.ts.map +1 -0
  226. package/dist/recipe/compile/component-section.js +143 -0
  227. package/dist/recipe/compile/component-template.d.ts +34 -0
  228. package/dist/recipe/compile/component-template.d.ts.map +1 -0
  229. package/dist/recipe/compile/component-template.js +709 -0
  230. package/dist/recipe/compile/content-item.d.ts +31 -0
  231. package/dist/recipe/compile/content-item.d.ts.map +1 -0
  232. package/dist/recipe/compile/content-item.js +189 -0
  233. package/dist/recipe/compile/content-template.d.ts +18 -0
  234. package/dist/recipe/compile/content-template.d.ts.map +1 -0
  235. package/dist/recipe/compile/content-template.js +52 -0
  236. package/dist/recipe/compile/enumeration.d.ts +59 -0
  237. package/dist/recipe/compile/enumeration.d.ts.map +1 -0
  238. package/dist/recipe/compile/enumeration.js +236 -0
  239. package/dist/recipe/compile/page-design.d.ts +22 -0
  240. package/dist/recipe/compile/page-design.d.ts.map +1 -0
  241. package/dist/recipe/compile/page-design.js +93 -0
  242. package/dist/recipe/compile/parameters-template.d.ts +14 -0
  243. package/dist/recipe/compile/parameters-template.d.ts.map +1 -0
  244. package/dist/recipe/compile/parameters-template.js +92 -0
  245. package/dist/recipe/compile/partial-design.d.ts +18 -0
  246. package/dist/recipe/compile/partial-design.d.ts.map +1 -0
  247. package/dist/recipe/compile/partial-design.js +76 -0
  248. package/dist/recipe/compile/section-definition.d.ts +18 -0
  249. package/dist/recipe/compile/section-definition.d.ts.map +1 -0
  250. package/dist/recipe/compile/section-definition.js +26 -0
  251. package/dist/recipe/compile/shared.d.ts +442 -0
  252. package/dist/recipe/compile/shared.d.ts.map +1 -0
  253. package/dist/recipe/compile/shared.js +843 -0
  254. package/dist/recipe/compile/site-template.d.ts +52 -0
  255. package/dist/recipe/compile/site-template.d.ts.map +1 -0
  256. package/dist/recipe/compile/site-template.js +140 -0
  257. package/dist/recipe/compile/site.d.ts +44 -0
  258. package/dist/recipe/compile/site.d.ts.map +1 -0
  259. package/dist/recipe/compile/site.js +127 -0
  260. package/dist/recipe/compile.d.ts +93 -0
  261. package/dist/recipe/compile.d.ts.map +1 -0
  262. package/dist/recipe/compile.js +741 -0
  263. package/dist/recipe/execute.d.ts +119 -0
  264. package/dist/recipe/execute.d.ts.map +1 -0
  265. package/dist/recipe/execute.js +273 -0
  266. package/dist/recipe/guids.d.ts +400 -0
  267. package/dist/recipe/guids.d.ts.map +1 -0
  268. package/dist/recipe/guids.js +488 -0
  269. package/dist/recipe/index.d.ts +32 -0
  270. package/dist/recipe/index.d.ts.map +1 -0
  271. package/dist/recipe/index.js +156 -0
  272. package/dist/recipe/io.d.ts +21 -0
  273. package/dist/recipe/io.d.ts.map +1 -0
  274. package/dist/recipe/io.js +147 -0
  275. package/dist/recipe/ir/operations.d.ts +692 -0
  276. package/dist/recipe/ir/operations.d.ts.map +1 -0
  277. package/dist/recipe/ir/operations.js +347 -0
  278. package/dist/recipe/ir/sitecore-templates.d.ts +455 -0
  279. package/dist/recipe/ir/sitecore-templates.d.ts.map +1 -0
  280. package/dist/recipe/ir/sitecore-templates.js +465 -0
  281. package/dist/recipe/layout/emit.d.ts +101 -0
  282. package/dist/recipe/layout/emit.d.ts.map +1 -0
  283. package/dist/recipe/layout/emit.js +127 -0
  284. package/dist/recipe/layout/templates-mapping.d.ts +28 -0
  285. package/dist/recipe/layout/templates-mapping.d.ts.map +1 -0
  286. package/dist/recipe/layout/templates-mapping.js +29 -0
  287. package/dist/recipe/plan.d.ts +134 -0
  288. package/dist/recipe/plan.d.ts.map +1 -0
  289. package/dist/recipe/plan.js +565 -0
  290. package/dist/recipe/policy.d.ts +43 -0
  291. package/dist/recipe/policy.d.ts.map +1 -0
  292. package/dist/recipe/policy.js +75 -0
  293. package/dist/recipe/rollback.d.ts +72 -0
  294. package/dist/recipe/rollback.d.ts.map +1 -0
  295. package/dist/recipe/rollback.js +130 -0
  296. package/dist/recipe/schema/field-types.d.ts +72 -0
  297. package/dist/recipe/schema/field-types.d.ts.map +1 -0
  298. package/dist/recipe/schema/field-types.js +118 -0
  299. package/dist/recipe/schema/recipe.d.ts +1545 -0
  300. package/dist/recipe/schema/recipe.d.ts.map +1 -0
  301. package/dist/recipe/schema/recipe.js +1175 -0
  302. package/dist/recipe/schema/source-fields.d.ts +48 -0
  303. package/dist/recipe/schema/source-fields.d.ts.map +1 -0
  304. package/dist/recipe/schema/source-fields.js +79 -0
  305. package/dist/recipe/tasks/compile.d.ts +14 -0
  306. package/dist/recipe/tasks/compile.d.ts.map +1 -0
  307. package/dist/recipe/tasks/compile.js +89 -0
  308. package/dist/recipe/tasks/diff.d.ts +17 -0
  309. package/dist/recipe/tasks/diff.d.ts.map +1 -0
  310. package/dist/recipe/tasks/diff.js +6 -0
  311. package/dist/recipe/tasks/index.d.ts +9 -0
  312. package/dist/recipe/tasks/index.d.ts.map +1 -0
  313. package/dist/recipe/tasks/index.js +13 -0
  314. package/dist/recipe/tasks/placeholder-allow.d.ts +53 -0
  315. package/dist/recipe/tasks/placeholder-allow.d.ts.map +1 -0
  316. package/dist/recipe/tasks/placeholder-allow.js +218 -0
  317. package/dist/recipe/tasks/plan.d.ts +11 -0
  318. package/dist/recipe/tasks/plan.d.ts.map +1 -0
  319. package/dist/recipe/tasks/plan.js +72 -0
  320. package/dist/recipe/tasks/prune-defaults.d.ts +90 -0
  321. package/dist/recipe/tasks/prune-defaults.d.ts.map +1 -0
  322. package/dist/recipe/tasks/prune-defaults.js +184 -0
  323. package/dist/recipe/tasks/push.d.ts +18 -0
  324. package/dist/recipe/tasks/push.d.ts.map +1 -0
  325. package/dist/recipe/tasks/push.js +417 -0
  326. package/dist/recipe/tasks/shared.d.ts +152 -0
  327. package/dist/recipe/tasks/shared.d.ts.map +1 -0
  328. package/dist/recipe/tasks/shared.js +94 -0
  329. package/dist/recipe/validate.d.ts +103 -0
  330. package/dist/recipe/validate.d.ts.map +1 -0
  331. package/dist/recipe/validate.js +297 -0
  332. package/dist/serialization/commands.d.ts +48 -0
  333. package/dist/serialization/commands.d.ts.map +1 -0
  334. package/dist/serialization/commands.js +175 -0
  335. package/dist/serialization/compare.d.ts +29 -0
  336. package/dist/serialization/compare.d.ts.map +1 -0
  337. package/dist/serialization/compare.js +124 -0
  338. package/dist/serialization/field-filter.d.ts +7 -0
  339. package/dist/serialization/field-filter.d.ts.map +1 -0
  340. package/dist/serialization/field-filter.js +20 -0
  341. package/dist/serialization/filesystem-store/constants.d.ts +3 -0
  342. package/dist/serialization/filesystem-store/constants.d.ts.map +1 -0
  343. package/dist/serialization/filesystem-store/constants.js +5 -0
  344. package/dist/serialization/filesystem-store/index.d.ts +4 -0
  345. package/dist/serialization/filesystem-store/index.d.ts.map +1 -0
  346. package/dist/serialization/filesystem-store/index.js +15 -0
  347. package/dist/serialization/filesystem-store/items.d.ts +10 -0
  348. package/dist/serialization/filesystem-store/items.d.ts.map +1 -0
  349. package/dist/serialization/filesystem-store/items.js +64 -0
  350. package/dist/serialization/filesystem-store/roles.d.ts +6 -0
  351. package/dist/serialization/filesystem-store/roles.d.ts.map +1 -0
  352. package/dist/serialization/filesystem-store/roles.js +46 -0
  353. package/dist/serialization/filesystem-store/users.d.ts +6 -0
  354. package/dist/serialization/filesystem-store/users.d.ts.map +1 -0
  355. package/dist/serialization/filesystem-store/users.js +46 -0
  356. package/dist/serialization/filesystem-store/utils.d.ts +2 -0
  357. package/dist/serialization/filesystem-store/utils.d.ts.map +1 -0
  358. package/dist/serialization/filesystem-store/utils.js +17 -0
  359. package/dist/serialization/filesystem-store.d.ts +2 -0
  360. package/dist/serialization/filesystem-store.d.ts.map +1 -0
  361. package/dist/serialization/filesystem-store.js +17 -0
  362. package/dist/serialization/item-path.d.ts +32 -0
  363. package/dist/serialization/item-path.d.ts.map +1 -0
  364. package/dist/serialization/item-path.js +123 -0
  365. package/dist/serialization/path-provider.d.ts +12 -0
  366. package/dist/serialization/path-provider.d.ts.map +1 -0
  367. package/dist/serialization/path-provider.js +271 -0
  368. package/dist/serialization/signature.d.ts +4 -0
  369. package/dist/serialization/signature.d.ts.map +1 -0
  370. package/dist/serialization/signature.js +71 -0
  371. package/dist/serialization/sitecore-api/auth.d.ts +31 -0
  372. package/dist/serialization/sitecore-api/auth.d.ts.map +1 -0
  373. package/dist/serialization/sitecore-api/auth.js +319 -0
  374. package/dist/serialization/sitecore-api/graphql.d.ts +12 -0
  375. package/dist/serialization/sitecore-api/graphql.d.ts.map +1 -0
  376. package/dist/serialization/sitecore-api/graphql.js +20 -0
  377. package/dist/serialization/sitecore-api/history.d.ts +9 -0
  378. package/dist/serialization/sitecore-api/history.d.ts.map +1 -0
  379. package/dist/serialization/sitecore-api/history.js +36 -0
  380. package/dist/serialization/sitecore-api/index.d.ts +7 -0
  381. package/dist/serialization/sitecore-api/index.d.ts.map +1 -0
  382. package/dist/serialization/sitecore-api/index.js +22 -0
  383. package/dist/serialization/sitecore-api/items.d.ts +8 -0
  384. package/dist/serialization/sitecore-api/items.d.ts.map +1 -0
  385. package/dist/serialization/sitecore-api/items.js +132 -0
  386. package/dist/serialization/sitecore-api/publish.d.ts +14 -0
  387. package/dist/serialization/sitecore-api/publish.d.ts.map +1 -0
  388. package/dist/serialization/sitecore-api/publish.js +43 -0
  389. package/dist/serialization/sitecore-api/roles.d.ts +9 -0
  390. package/dist/serialization/sitecore-api/roles.d.ts.map +1 -0
  391. package/dist/serialization/sitecore-api/roles.js +42 -0
  392. package/dist/serialization/sitecore-api/users.d.ts +9 -0
  393. package/dist/serialization/sitecore-api/users.d.ts.map +1 -0
  394. package/dist/serialization/sitecore-api/users.js +62 -0
  395. package/dist/serialization/sitecore-api.d.ts +2 -0
  396. package/dist/serialization/sitecore-api.d.ts.map +1 -0
  397. package/dist/serialization/sitecore-api.js +17 -0
  398. package/dist/serialization/tasks/diff.d.ts +3 -0
  399. package/dist/serialization/tasks/diff.d.ts.map +1 -0
  400. package/dist/serialization/tasks/diff.js +109 -0
  401. package/dist/serialization/tasks/env/constants.d.ts +2 -0
  402. package/dist/serialization/tasks/env/constants.d.ts.map +1 -0
  403. package/dist/serialization/tasks/env/constants.js +4 -0
  404. package/dist/serialization/tasks/env/deploy-token.d.ts +3 -0
  405. package/dist/serialization/tasks/env/deploy-token.d.ts.map +1 -0
  406. package/dist/serialization/tasks/env/deploy-token.js +128 -0
  407. package/dist/serialization/tasks/env/index.d.ts +5 -0
  408. package/dist/serialization/tasks/env/index.d.ts.map +1 -0
  409. package/dist/serialization/tasks/env/index.js +11 -0
  410. package/dist/serialization/tasks/env/init/auth.d.ts +24 -0
  411. package/dist/serialization/tasks/env/init/auth.d.ts.map +1 -0
  412. package/dist/serialization/tasks/env/init/auth.js +122 -0
  413. package/dist/serialization/tasks/env/init/deploy-lookup.d.ts +22 -0
  414. package/dist/serialization/tasks/env/init/deploy-lookup.d.ts.map +1 -0
  415. package/dist/serialization/tasks/env/init/deploy-lookup.js +244 -0
  416. package/dist/serialization/tasks/env/init.d.ts +3 -0
  417. package/dist/serialization/tasks/env/init.d.ts.map +1 -0
  418. package/dist/serialization/tasks/env/init.js +253 -0
  419. package/dist/serialization/tasks/env/logout.d.ts +3 -0
  420. package/dist/serialization/tasks/env/logout.d.ts.map +1 -0
  421. package/dist/serialization/tasks/env/logout.js +61 -0
  422. package/dist/serialization/tasks/env/status.d.ts +3 -0
  423. package/dist/serialization/tasks/env/status.d.ts.map +1 -0
  424. package/dist/serialization/tasks/env/status.js +149 -0
  425. package/dist/serialization/tasks/env.d.ts +2 -0
  426. package/dist/serialization/tasks/env.d.ts.map +1 -0
  427. package/dist/serialization/tasks/env.js +17 -0
  428. package/dist/serialization/tasks/helpers/collect.d.ts +8 -0
  429. package/dist/serialization/tasks/helpers/collect.d.ts.map +1 -0
  430. package/dist/serialization/tasks/helpers/collect.js +29 -0
  431. package/dist/serialization/tasks/helpers/commands.d.ts +5 -0
  432. package/dist/serialization/tasks/helpers/commands.d.ts.map +1 -0
  433. package/dist/serialization/tasks/helpers/commands.js +14 -0
  434. package/dist/serialization/tasks/helpers/filesystem.d.ts +6 -0
  435. package/dist/serialization/tasks/helpers/filesystem.d.ts.map +1 -0
  436. package/dist/serialization/tasks/helpers/filesystem.js +27 -0
  437. package/dist/serialization/tasks/helpers/index.d.ts +6 -0
  438. package/dist/serialization/tasks/helpers/index.d.ts.map +1 -0
  439. package/dist/serialization/tasks/helpers/index.js +13 -0
  440. package/dist/serialization/tasks/helpers/items.d.ts +3 -0
  441. package/dist/serialization/tasks/helpers/items.d.ts.map +1 -0
  442. package/dist/serialization/tasks/helpers/items.js +5 -0
  443. package/dist/serialization/tasks/helpers/sitecore.d.ts +5 -0
  444. package/dist/serialization/tasks/helpers/sitecore.d.ts.map +1 -0
  445. package/dist/serialization/tasks/helpers/sitecore.js +109 -0
  446. package/dist/serialization/tasks/helpers.d.ts +2 -0
  447. package/dist/serialization/tasks/helpers.d.ts.map +1 -0
  448. package/dist/serialization/tasks/helpers.js +17 -0
  449. package/dist/serialization/tasks/index.d.ts +8 -0
  450. package/dist/serialization/tasks/index.d.ts.map +1 -0
  451. package/dist/serialization/tasks/index.js +19 -0
  452. package/dist/serialization/tasks/info.d.ts +4 -0
  453. package/dist/serialization/tasks/info.d.ts.map +1 -0
  454. package/dist/serialization/tasks/info.js +82 -0
  455. package/dist/serialization/tasks/package.d.ts +4 -0
  456. package/dist/serialization/tasks/package.d.ts.map +1 -0
  457. package/dist/serialization/tasks/package.js +171 -0
  458. package/dist/serialization/tasks/pull.d.ts +3 -0
  459. package/dist/serialization/tasks/pull.d.ts.map +1 -0
  460. package/dist/serialization/tasks/pull.js +82 -0
  461. package/dist/serialization/tasks/push.d.ts +3 -0
  462. package/dist/serialization/tasks/push.d.ts.map +1 -0
  463. package/dist/serialization/tasks/push.js +101 -0
  464. package/dist/serialization/tasks/roles.d.ts +6 -0
  465. package/dist/serialization/tasks/roles.d.ts.map +1 -0
  466. package/dist/serialization/tasks/roles.js +103 -0
  467. package/dist/serialization/tasks/shared.d.ts +19 -0
  468. package/dist/serialization/tasks/shared.d.ts.map +1 -0
  469. package/dist/serialization/tasks/shared.js +59 -0
  470. package/dist/serialization/tasks/types.d.ts +73 -0
  471. package/dist/serialization/tasks/types.d.ts.map +1 -0
  472. package/dist/serialization/tasks/types.js +8 -0
  473. package/dist/serialization/tasks/users.d.ts +5 -0
  474. package/dist/serialization/tasks/users.d.ts.map +1 -0
  475. package/dist/serialization/tasks/users.js +90 -0
  476. package/dist/serialization/tasks/validate.d.ts +5 -0
  477. package/dist/serialization/tasks/validate.d.ts.map +1 -0
  478. package/dist/serialization/tasks/validate.js +50 -0
  479. package/dist/serialization/tasks/watch.d.ts +3 -0
  480. package/dist/serialization/tasks/watch.d.ts.map +1 -0
  481. package/dist/serialization/tasks/watch.js +75 -0
  482. package/dist/serialization/tasks.d.ts +4 -0
  483. package/dist/serialization/tasks.d.ts.map +1 -0
  484. package/dist/serialization/tasks.js +19 -0
  485. package/dist/serialization/tree-spec.d.ts +51 -0
  486. package/dist/serialization/tree-spec.d.ts.map +1 -0
  487. package/dist/serialization/tree-spec.js +241 -0
  488. package/dist/serialization/types.d.ts +75 -0
  489. package/dist/serialization/types.d.ts.map +1 -0
  490. package/dist/serialization/types.js +2 -0
  491. package/dist/serialization/wildcard.d.ts +3 -0
  492. package/dist/serialization/wildcard.d.ts.map +1 -0
  493. package/dist/serialization/wildcard.js +24 -0
  494. package/dist/serialization/yaml.d.ts +9 -0
  495. package/dist/serialization/yaml.d.ts.map +1 -0
  496. package/dist/serialization/yaml.js +307 -0
  497. package/dist/shared/browser.d.ts +2 -0
  498. package/dist/shared/browser.d.ts.map +1 -0
  499. package/dist/shared/browser.js +36 -0
  500. package/dist/shared/cli-options.d.ts +17 -0
  501. package/dist/shared/cli-options.d.ts.map +1 -0
  502. package/dist/shared/cli-options.js +8 -0
  503. package/dist/shared/cli-tasks.d.ts +38 -0
  504. package/dist/shared/cli-tasks.d.ts.map +1 -0
  505. package/dist/shared/cli-tasks.js +108 -0
  506. package/dist/shared/config-template.d.ts +23 -0
  507. package/dist/shared/config-template.d.ts.map +1 -0
  508. package/dist/shared/config-template.js +38 -0
  509. package/dist/shared/env.d.ts +28 -0
  510. package/dist/shared/env.d.ts.map +1 -0
  511. package/dist/shared/env.js +38 -0
  512. package/dist/shared/errors.d.ts +21 -0
  513. package/dist/shared/errors.d.ts.map +1 -0
  514. package/dist/shared/errors.js +59 -0
  515. package/dist/shared/graphql.d.ts +76 -0
  516. package/dist/shared/graphql.d.ts.map +1 -0
  517. package/dist/shared/graphql.js +222 -0
  518. package/dist/shared/history.d.ts +12 -0
  519. package/dist/shared/history.d.ts.map +1 -0
  520. package/dist/shared/history.js +62 -0
  521. package/dist/shared/keychain.d.ts +15 -0
  522. package/dist/shared/keychain.d.ts.map +1 -0
  523. package/dist/shared/keychain.js +177 -0
  524. package/dist/shared/logger.d.ts +24 -0
  525. package/dist/shared/logger.d.ts.map +1 -0
  526. package/dist/shared/logger.js +157 -0
  527. package/dist/shared/output.d.ts +7 -0
  528. package/dist/shared/output.d.ts.map +1 -0
  529. package/dist/shared/output.js +21 -0
  530. package/dist/shared/prompt.d.ts +5 -0
  531. package/dist/shared/prompt.d.ts.map +1 -0
  532. package/dist/shared/prompt.js +87 -0
  533. package/dist/shared/redact.d.ts +3 -0
  534. package/dist/shared/redact.d.ts.map +1 -0
  535. package/dist/shared/redact.js +47 -0
  536. package/dist/shared/spinner.d.ts +5 -0
  537. package/dist/shared/spinner.d.ts.map +1 -0
  538. package/dist/shared/spinner.js +89 -0
  539. package/dist/shared/style.d.ts +2 -0
  540. package/dist/shared/style.d.ts.map +1 -0
  541. package/dist/shared/style.js +61 -0
  542. package/dist/shared/telemetry.d.ts +21 -0
  543. package/dist/shared/telemetry.d.ts.map +1 -0
  544. package/dist/shared/telemetry.js +226 -0
  545. package/dist/shared/validate.d.ts +3 -0
  546. package/dist/shared/validate.d.ts.map +1 -0
  547. package/dist/shared/validate.js +32 -0
  548. package/dist/sites/api/collections.d.ts +25 -0
  549. package/dist/sites/api/collections.d.ts.map +1 -0
  550. package/dist/sites/api/collections.js +21 -0
  551. package/dist/sites/api/index.d.ts +26 -0
  552. package/dist/sites/api/index.d.ts.map +1 -0
  553. package/dist/sites/api/index.js +55 -0
  554. package/dist/sites/api/jobs.d.ts +31 -0
  555. package/dist/sites/api/jobs.d.ts.map +1 -0
  556. package/dist/sites/api/jobs.js +10 -0
  557. package/dist/sites/api/languages.d.ts +22 -0
  558. package/dist/sites/api/languages.d.ts.map +1 -0
  559. package/dist/sites/api/languages.js +18 -0
  560. package/dist/sites/api/request.d.ts +24 -0
  561. package/dist/sites/api/request.d.ts.map +1 -0
  562. package/dist/sites/api/request.js +99 -0
  563. package/dist/sites/api/sites.d.ts +53 -0
  564. package/dist/sites/api/sites.d.ts.map +1 -0
  565. package/dist/sites/api/sites.js +41 -0
  566. package/dist/sites/api/types.d.ts +29 -0
  567. package/dist/sites/api/types.d.ts.map +1 -0
  568. package/dist/sites/api/types.js +4 -0
  569. package/package.json +109 -0
@@ -0,0 +1,72 @@
1
+ import type { AuthoringApiClient, UpdateItemInput } from "./api/client";
2
+ import type { PlannedAction } from "./plan";
3
+ /**
4
+ * Best-effort rollback for partial recipe pushes.
5
+ *
6
+ * When the executor's apply phase errors mid-IR, ops that already landed
7
+ * are still on the tenant. The rollback module unwinds them in LIFO order
8
+ * (reverse of the apply order, which mirrors topological order) using the
9
+ * pre-mutation snapshot each op captured at plan time:
10
+ *
11
+ * - applied `createItem` (snapshot was null) → `deleteItem(itemId)`
12
+ * - applied `updateItem` → `updateItem` with the prior value of each
13
+ * touched field, or empty string when the field was unset
14
+ *
15
+ * "Best-effort" means a rollback step that itself errors is logged and
16
+ * counted, never cascaded — remaining rollbacks still run. The result
17
+ * carries `{rolledBack, errors}` for the terminal `failed` event payload.
18
+ */
19
+ export type InverseMutation = {
20
+ kind: "deleteItem";
21
+ itemId: string;
22
+ } | {
23
+ kind: "updateItem";
24
+ input: UpdateItemInput;
25
+ };
26
+ export interface RollbackError {
27
+ index: number;
28
+ label: string;
29
+ error: string;
30
+ }
31
+ export interface RollbackResult {
32
+ rolledBack: number;
33
+ errors: RollbackError[];
34
+ }
35
+ export type RollbackEvent = {
36
+ kind: "rollback-start";
37
+ action: PlannedAction;
38
+ } | {
39
+ kind: "rollback-skip";
40
+ action: PlannedAction;
41
+ reason: string;
42
+ } | {
43
+ kind: "rollback-success";
44
+ action: PlannedAction;
45
+ } | {
46
+ kind: "rollback-failed";
47
+ action: PlannedAction;
48
+ error: string;
49
+ };
50
+ export interface RollbackOptions {
51
+ emit?: (event: RollbackEvent) => void;
52
+ }
53
+ /**
54
+ * Produce the inverse mutation for an applied action. Returns `null` when
55
+ * there's nothing to undo (a skip with no mutation).
56
+ *
57
+ * For an applied `createItem`, the inverse is `deleteItem(itemId)` where
58
+ * `itemId` is the Sitecore-assigned ID — captured by the executor on
59
+ * dispatch and looked up here via `capturedItemIds[action.operation.id]`.
60
+ *
61
+ * For an applied `updateItem`, each touched field reverts to its prior
62
+ * snapshot value. If a field was unset prior, the inverse sets it to ""
63
+ * (Sitecore's pragmatic clear). True "field-not-set" semantics would
64
+ * require a deleteField mutation; deferred to Phase 4.
65
+ */
66
+ export declare const inverseOf: (action: PlannedAction, capturedItemIds: ReadonlyMap<string, string>) => InverseMutation | null;
67
+ /**
68
+ * Unwind `applied` actions in LIFO order. Each step catches its own
69
+ * errors so a rollback failure on op N doesn't abort rollback of op N-1.
70
+ */
71
+ export declare const rollback: (applied: PlannedAction[], client: AuthoringApiClient, capturedItemIds: ReadonlyMap<string, string>, options?: RollbackOptions) => Promise<RollbackResult>;
72
+ //# sourceMappingURL=rollback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/recipe/rollback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAc,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACvC;AA0BD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,aAAa,EACrB,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,eAAe,GAAG,IAoDpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,aAAa,EAAE,EACxB,QAAQ,kBAAkB,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,UAAS,eAAoB,KAC5B,OAAO,CAAC,cAAc,CAkDxB,CAAC"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rollback = exports.inverseOf = void 0;
4
+ const errors_1 = require("../shared/errors");
5
+ const findPriorValue = (snapshot, fieldId, fieldName, language, version) => {
6
+ if (!snapshot)
7
+ return null;
8
+ // Match by name when the IR carries one — recipe-created fields don't
9
+ // share GUIDs between the IR (uuidv5 refKey) and the tenant (server-
10
+ // assigned). Else match by fieldId (system fields, real Sitecore GUIDs).
11
+ const found = snapshot.fields.find((f) => {
12
+ const idMatches = fieldName
13
+ ? f.name === fieldName
14
+ : f.fieldId.toLowerCase() === fieldId.toLowerCase();
15
+ return (idMatches &&
16
+ (language === undefined || f.language === language) &&
17
+ (version === undefined || f.version === version));
18
+ });
19
+ return found ? found.value : null;
20
+ };
21
+ /**
22
+ * Produce the inverse mutation for an applied action. Returns `null` when
23
+ * there's nothing to undo (a skip with no mutation).
24
+ *
25
+ * For an applied `createItem`, the inverse is `deleteItem(itemId)` where
26
+ * `itemId` is the Sitecore-assigned ID — captured by the executor on
27
+ * dispatch and looked up here via `capturedItemIds[action.operation.id]`.
28
+ *
29
+ * For an applied `updateItem`, each touched field reverts to its prior
30
+ * snapshot value. If a field was unset prior, the inverse sets it to ""
31
+ * (Sitecore's pragmatic clear). True "field-not-set" semantics would
32
+ * require a deleteField mutation; deferred to Phase 4.
33
+ */
34
+ const inverseOf = (action, capturedItemIds) => {
35
+ if (!action.mutation)
36
+ return null;
37
+ if (action.mutation.kind === "createItem") {
38
+ if (action.operation.op !== "CreateItem") {
39
+ throw (0, errors_1.createCliError)("createItem mutation expected on a CreateItem operation.", "UNKNOWN");
40
+ }
41
+ const itemId = capturedItemIds.get(action.operation.id);
42
+ if (!itemId) {
43
+ // The create dispatched but we never captured its assigned itemId —
44
+ // refuse to roll back rather than guess. Caller treats as best-effort
45
+ // failure and continues.
46
+ throw (0, errors_1.createCliError)(`Rollback: no captured itemId for createItem refKey ${action.operation.id}.`, "UNKNOWN");
47
+ }
48
+ return { kind: "deleteItem", itemId };
49
+ }
50
+ if (action.mutation.kind === "createSite") {
51
+ // Site rollback is intentionally warn-only. The Sites API's
52
+ // `deleteSite` cascades through pages, settings, media, datasources,
53
+ // presentation, dictionaries, components, variants, and page designs
54
+ // — destructive enough that an automatic rollback during a
55
+ // half-failed push could remove operator content. Operators delete
56
+ // sites explicitly; the recipe pipeline doesn't.
57
+ return null;
58
+ }
59
+ // updateItem: each touched field reverts to its prior snapshot value.
60
+ const priorFields = action.mutation.input.fields.map((field) => {
61
+ const prior = findPriorValue(action.snapshot, field.fieldId, field.fieldName, field.language, field.version);
62
+ return {
63
+ fieldId: field.fieldId,
64
+ fieldName: field.fieldName,
65
+ language: field.language,
66
+ version: field.version,
67
+ value: { kind: "string", value: prior ?? "" },
68
+ };
69
+ });
70
+ return {
71
+ kind: "updateItem",
72
+ input: { itemId: action.mutation.input.itemId, fields: priorFields },
73
+ };
74
+ };
75
+ exports.inverseOf = inverseOf;
76
+ /**
77
+ * Unwind `applied` actions in LIFO order. Each step catches its own
78
+ * errors so a rollback failure on op N doesn't abort rollback of op N-1.
79
+ */
80
+ const rollback = async (applied, client, capturedItemIds, options = {}) => {
81
+ const result = { rolledBack: 0, errors: [] };
82
+ for (let i = applied.length - 1; i >= 0; i -= 1) {
83
+ const action = applied[i];
84
+ let inverse;
85
+ try {
86
+ inverse = (0, exports.inverseOf)(action, capturedItemIds);
87
+ }
88
+ catch (error) {
89
+ const message = error instanceof Error ? error.message : String(error);
90
+ result.errors.push({
91
+ index: action.index,
92
+ label: action.operation.label,
93
+ error: message,
94
+ });
95
+ options.emit?.({ kind: "rollback-failed", action, error: message });
96
+ continue;
97
+ }
98
+ if (!inverse) {
99
+ options.emit?.({
100
+ kind: "rollback-skip",
101
+ action,
102
+ reason: "no inverse needed (no forward mutation)",
103
+ });
104
+ continue;
105
+ }
106
+ options.emit?.({ kind: "rollback-start", action });
107
+ try {
108
+ if (inverse.kind === "deleteItem") {
109
+ await client.deleteItem({ itemId: inverse.itemId });
110
+ }
111
+ else {
112
+ await client.updateItem(inverse.input);
113
+ }
114
+ result.rolledBack += 1;
115
+ options.emit?.({ kind: "rollback-success", action });
116
+ }
117
+ catch (error) {
118
+ const message = error instanceof Error ? error.message : String(error);
119
+ result.errors.push({
120
+ index: action.index,
121
+ label: action.operation.label,
122
+ error: message,
123
+ });
124
+ options.emit?.({ kind: "rollback-failed", action, error: message });
125
+ // best-effort: continue with remaining rollbacks
126
+ }
127
+ }
128
+ return result;
129
+ };
130
+ exports.rollback = rollback;
@@ -0,0 +1,72 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Two related taxonomies for recipe-defined fields:
4
+ *
5
+ * - `FieldShape` — abstract data shape from the React component's
6
+ * perspective (text, image, link, enum, …). Recipe authors write this.
7
+ * - `SitecoreFieldType` — the canonical Sitecore field-type *string*
8
+ * (Single-Line Text, Rich Text, …) stored verbatim in the field item's
9
+ * `Type` shared field. Sitecore stores this as a string, NOT a GUID.
10
+ *
11
+ * The compiler maps `shape` → default Sitecore type, overridable
12
+ * per-field via `sitecore.type` on the recipe.
13
+ *
14
+ * **This taxonomy must stay in sync with the registry's working copy at
15
+ * `<registry>/src/lib/registry/sitecore-recipes.ts`.** Once scai exposes
16
+ * a typed recipe export, the registry will import it and this duplication
17
+ * goes away.
18
+ */
19
+ export declare const FIELD_SHAPES: readonly ["text", "richText", "image", "link", "boolean", "number", "integer", "date", "datetime", "enum", "reference"];
20
+ export type FieldShape = (typeof FIELD_SHAPES)[number];
21
+ export declare const FieldShapeSchema: z.ZodEnum<{
22
+ number: "number";
23
+ boolean: "boolean";
24
+ integer: "integer";
25
+ link: "link";
26
+ enum: "enum";
27
+ text: "text";
28
+ date: "date";
29
+ richText: "richText";
30
+ image: "image";
31
+ datetime: "datetime";
32
+ reference: "reference";
33
+ }>;
34
+ export declare const SITECORE_FIELD_TYPES: readonly ["single-line-text", "multi-line-text", "rich-text", "image", "file", "general-link", "checkbox", "number", "integer", "date", "datetime", "droplist", "droplink", "treelist", "treelist-with-search", "lookup", "tags"];
35
+ export type SitecoreFieldType = (typeof SITECORE_FIELD_TYPES)[number];
36
+ export declare const SitecoreFieldTypeSchema: z.ZodEnum<{
37
+ number: "number";
38
+ integer: "integer";
39
+ tags: "tags";
40
+ lookup: "lookup";
41
+ date: "date";
42
+ file: "file";
43
+ image: "image";
44
+ datetime: "datetime";
45
+ "single-line-text": "single-line-text";
46
+ "multi-line-text": "multi-line-text";
47
+ "rich-text": "rich-text";
48
+ "general-link": "general-link";
49
+ checkbox: "checkbox";
50
+ droplist: "droplist";
51
+ droplink: "droplink";
52
+ treelist: "treelist";
53
+ "treelist-with-search": "treelist-with-search";
54
+ }>;
55
+ /** Stored verbatim in the field item's `Type` shared field. */
56
+ export declare const sitecoreFieldTypeLabel: (type: SitecoreFieldType) => string;
57
+ /**
58
+ * Map an abstract field shape to its default Sitecore field type.
59
+ * `reference` resolves to `treelist` when `multiple === true`, otherwise
60
+ * `droplink`. All other shapes are 1:1.
61
+ *
62
+ * `enum` maps to `droplink` (NOT droplist): SXA Headless rendering
63
+ * parameters and content fields back enumerated values with item-shaped
64
+ * Droplink references — the editor enumerates the source location's
65
+ * children at edit time. Pipe-delimited Droplist Source is the older
66
+ * vanilla-Sitecore pattern and is not how working SXA Headless params
67
+ * fields are wired (verified against tenant introspection 2026-05-02).
68
+ * Authors who specifically need a Droplist can override via
69
+ * `sitecore.type: "droplist"` on the field.
70
+ */
71
+ export declare const defaultSitecoreFieldType: (shape: FieldShape, multiple?: boolean) => SitecoreFieldType;
72
+ //# sourceMappingURL=field-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../src/recipe/schema/field-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,YAAY,yHAYf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAAuB,CAAC;AAErD,eAAO,MAAM,oBAAoB,mOAkBvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAA+B,CAAC;AAsBpE,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,GAAI,MAAM,iBAAiB,KAAG,MAChC,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,UAAU,EACjB,WAAW,OAAO,KACjB,iBAyBF,CAAC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultSitecoreFieldType = exports.sitecoreFieldTypeLabel = exports.SitecoreFieldTypeSchema = exports.SITECORE_FIELD_TYPES = exports.FieldShapeSchema = exports.FIELD_SHAPES = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Two related taxonomies for recipe-defined fields:
7
+ *
8
+ * - `FieldShape` — abstract data shape from the React component's
9
+ * perspective (text, image, link, enum, …). Recipe authors write this.
10
+ * - `SitecoreFieldType` — the canonical Sitecore field-type *string*
11
+ * (Single-Line Text, Rich Text, …) stored verbatim in the field item's
12
+ * `Type` shared field. Sitecore stores this as a string, NOT a GUID.
13
+ *
14
+ * The compiler maps `shape` → default Sitecore type, overridable
15
+ * per-field via `sitecore.type` on the recipe.
16
+ *
17
+ * **This taxonomy must stay in sync with the registry's working copy at
18
+ * `<registry>/src/lib/registry/sitecore-recipes.ts`.** Once scai exposes
19
+ * a typed recipe export, the registry will import it and this duplication
20
+ * goes away.
21
+ */
22
+ exports.FIELD_SHAPES = [
23
+ "text",
24
+ "richText",
25
+ "image",
26
+ "link",
27
+ "boolean",
28
+ "number",
29
+ "integer",
30
+ "date",
31
+ "datetime",
32
+ "enum",
33
+ "reference",
34
+ ];
35
+ exports.FieldShapeSchema = zod_1.z.enum(exports.FIELD_SHAPES);
36
+ exports.SITECORE_FIELD_TYPES = [
37
+ "single-line-text",
38
+ "multi-line-text",
39
+ "rich-text",
40
+ "image",
41
+ "file",
42
+ "general-link",
43
+ "checkbox",
44
+ "number",
45
+ "integer",
46
+ "date",
47
+ "datetime",
48
+ "droplist",
49
+ "droplink",
50
+ "treelist",
51
+ "treelist-with-search",
52
+ "lookup",
53
+ "tags",
54
+ ];
55
+ exports.SitecoreFieldTypeSchema = zod_1.z.enum(exports.SITECORE_FIELD_TYPES);
56
+ const SITECORE_FIELD_TYPE_LABEL = {
57
+ "single-line-text": "Single-Line Text",
58
+ "multi-line-text": "Multi-Line Text",
59
+ "rich-text": "Rich Text",
60
+ image: "Image",
61
+ file: "File",
62
+ "general-link": "General Link",
63
+ checkbox: "Checkbox",
64
+ number: "Number",
65
+ integer: "Integer",
66
+ date: "Date",
67
+ datetime: "Datetime",
68
+ droplist: "Droplist",
69
+ droplink: "Droplink",
70
+ treelist: "Treelist",
71
+ "treelist-with-search": "Treelist with Search",
72
+ lookup: "Lookup",
73
+ tags: "Tags",
74
+ };
75
+ /** Stored verbatim in the field item's `Type` shared field. */
76
+ const sitecoreFieldTypeLabel = (type) => SITECORE_FIELD_TYPE_LABEL[type];
77
+ exports.sitecoreFieldTypeLabel = sitecoreFieldTypeLabel;
78
+ /**
79
+ * Map an abstract field shape to its default Sitecore field type.
80
+ * `reference` resolves to `treelist` when `multiple === true`, otherwise
81
+ * `droplink`. All other shapes are 1:1.
82
+ *
83
+ * `enum` maps to `droplink` (NOT droplist): SXA Headless rendering
84
+ * parameters and content fields back enumerated values with item-shaped
85
+ * Droplink references — the editor enumerates the source location's
86
+ * children at edit time. Pipe-delimited Droplist Source is the older
87
+ * vanilla-Sitecore pattern and is not how working SXA Headless params
88
+ * fields are wired (verified against tenant introspection 2026-05-02).
89
+ * Authors who specifically need a Droplist can override via
90
+ * `sitecore.type: "droplist"` on the field.
91
+ */
92
+ const defaultSitecoreFieldType = (shape, multiple) => {
93
+ switch (shape) {
94
+ case "text":
95
+ return "single-line-text";
96
+ case "richText":
97
+ return "rich-text";
98
+ case "image":
99
+ return "image";
100
+ case "link":
101
+ return "general-link";
102
+ case "boolean":
103
+ return "checkbox";
104
+ case "number":
105
+ return "number";
106
+ case "integer":
107
+ return "integer";
108
+ case "date":
109
+ return "date";
110
+ case "datetime":
111
+ return "datetime";
112
+ case "enum":
113
+ return "droplink";
114
+ case "reference":
115
+ return multiple ? "treelist" : "droplink";
116
+ }
117
+ };
118
+ exports.defaultSitecoreFieldType = defaultSitecoreFieldType;