@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,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveDeployLookup = void 0;
4
+ const api_1 = require("../../../../deploy/api");
5
+ const cli_tasks_1 = require("../../../../shared/cli-tasks");
6
+ const shared_1 = require("../../../../deploy/tasks/shared");
7
+ const prompt_1 = require("../../../../shared/prompt");
8
+ const errors_1 = require("../../../../shared/errors");
9
+ const hasProjectRepository = (value) => {
10
+ if (!value || typeof value !== "object") {
11
+ return false;
12
+ }
13
+ const record = value;
14
+ const candidates = [
15
+ record.repositoryId,
16
+ record.repositoryName,
17
+ record.repositoryRelativePath,
18
+ record.repositoryUrl,
19
+ record.sourceControlIntegrationId,
20
+ record.sourceControlIntegration,
21
+ record.repository,
22
+ record.repo,
23
+ ];
24
+ for (const candidate of candidates) {
25
+ if (typeof candidate === "string" && candidate.trim().length > 0) {
26
+ return true;
27
+ }
28
+ if (candidate && typeof candidate === "object") {
29
+ const nested = candidate;
30
+ const nestedCandidates = [
31
+ nested.id,
32
+ nested.name,
33
+ nested.repositoryId,
34
+ nested.repositoryName,
35
+ nested.url,
36
+ ];
37
+ if (nestedCandidates.some((entry) => typeof entry === "string" && entry.trim().length > 0)) {
38
+ return true;
39
+ }
40
+ }
41
+ }
42
+ return false;
43
+ };
44
+ const resolveDeployLookup = async (input) => {
45
+ const { options, runWizard, deployToken, updated, existing, baseEnv, host, projectSelection, environmentSelection, logger, } = input;
46
+ if (!deployToken) {
47
+ throw (0, errors_1.createCliError)("Deploy API access token is required. Provide --deploy-token or deploy credentials.", "AUTH_REQUIRED", {
48
+ hint: "Provide --deploy-token, or run 'scai login' to store credentials.",
49
+ });
50
+ }
51
+ const deployOptions = { accessToken: deployToken };
52
+ let resolvedEnvironment;
53
+ let nextHost = host;
54
+ try {
55
+ const organization = await (0, api_1.fetchOrganization)(deployOptions);
56
+ const orgId = organization.id ?? organization.organizationId ?? options.organizationId;
57
+ const projects = await (0, api_1.fetchProjects)(deployOptions);
58
+ let resolvedProject;
59
+ let environments = [];
60
+ let resolvedProjectId = "";
61
+ let resolvedProjectLabel = "selected project";
62
+ let projectDetails;
63
+ let selectedProjectValue = projectSelection;
64
+ while (true) {
65
+ if (!selectedProjectValue && runWizard && projects.length > 1) {
66
+ resolvedProject = await (0, cli_tasks_1.selectFromList)(logger, "Project", projects);
67
+ }
68
+ else {
69
+ resolvedProject = (0, cli_tasks_1.selectMatch)(projects, "Project", selectedProjectValue);
70
+ }
71
+ resolvedProjectId = resolvedProject.id ?? resolvedProject.projectId ?? "";
72
+ resolvedProjectLabel =
73
+ resolvedProject.name ??
74
+ resolvedProject.id ??
75
+ resolvedProject.projectId ??
76
+ "selected project";
77
+ environments = await (0, api_1.fetchProjectEnvironments)(deployOptions, resolvedProjectId);
78
+ if (environments.length > 0) {
79
+ break;
80
+ }
81
+ if (!runWizard) {
82
+ throw (0, cli_tasks_1.inputError)(`No environments were returned for project '${resolvedProjectLabel}'.`);
83
+ }
84
+ if (!projectDetails) {
85
+ try {
86
+ projectDetails = await (0, api_1.fetchProject)(deployOptions, resolvedProjectId);
87
+ }
88
+ catch (error) {
89
+ const cliError = (0, errors_1.toCliError)(error);
90
+ logger.warn(`Unable to verify repository linkage. ${cliError.message}`);
91
+ }
92
+ }
93
+ if (!hasProjectRepository(projectDetails ?? resolvedProject)) {
94
+ logger.warn(`Project '${resolvedProjectLabel}' is not linked to a repository. Environment creation requires a repository.`);
95
+ if (projects.length > 1) {
96
+ const chooseAnother = await (0, prompt_1.promptConfirm)("Select a different project?", true);
97
+ if (chooseAnother) {
98
+ selectedProjectValue = undefined;
99
+ projectDetails = undefined;
100
+ continue;
101
+ }
102
+ }
103
+ let environmentId = updated.environmentId ??
104
+ existing.environmentId ??
105
+ baseEnv.environmentId ??
106
+ options.environment;
107
+ if (!environmentId) {
108
+ environmentId = await (0, prompt_1.promptText)("Environment ID (Deploy)");
109
+ }
110
+ if (!environmentId) {
111
+ throw (0, cli_tasks_1.inputError)("Environment ID is required. Use --environment <id>.");
112
+ }
113
+ resolvedEnvironment = await (0, api_1.fetchEnvironment)(deployOptions, environmentId);
114
+ const projectIdFromEnvironment = (0, shared_1.resolveProjectIdValue)(resolvedEnvironment.projectId);
115
+ if (projectIdFromEnvironment) {
116
+ resolvedProject = {
117
+ ...(resolvedProject ?? {}),
118
+ id: projectIdFromEnvironment,
119
+ projectId: projectIdFromEnvironment,
120
+ };
121
+ }
122
+ break;
123
+ }
124
+ const shouldCreate = await (0, prompt_1.promptConfirm)(`No environments found for project '${resolvedProjectLabel}'. Create one now?`, false);
125
+ if (shouldCreate) {
126
+ const name = await (0, prompt_1.promptText)("Environment name");
127
+ if (!name) {
128
+ throw (0, cli_tasks_1.inputError)("Environment name is required. Use --name.");
129
+ }
130
+ const cmOnly = await (0, prompt_1.promptConfirm)("Create a CM-only environment?", true);
131
+ let tenantType;
132
+ while (tenantType === undefined) {
133
+ const tenantInput = await (0, prompt_1.promptText)("Tenant type (prod/nonprod)", "nonprod");
134
+ const resolvedTenantType = (0, shared_1.resolveTenantTypeValue)(tenantInput);
135
+ if (resolvedTenantType !== undefined) {
136
+ tenantType = resolvedTenantType;
137
+ break;
138
+ }
139
+ logger.warn("Invalid tenant type. Use 'prod' or 'nonprod'.");
140
+ }
141
+ const body = { name };
142
+ if (tenantType !== undefined) {
143
+ body.tenantType = tenantType;
144
+ }
145
+ body.type = cmOnly ? "cm" : "combined";
146
+ try {
147
+ const created = (await (0, api_1.createProjectEnvironment)(deployOptions, resolvedProjectId, body));
148
+ resolvedEnvironment = created;
149
+ environments = await (0, api_1.fetchProjectEnvironments)(deployOptions, resolvedProjectId);
150
+ break;
151
+ }
152
+ catch (error) {
153
+ const cliError = (0, errors_1.toCliError)(error);
154
+ logger.warn(`Environment creation failed. ${cliError.message}`);
155
+ if (projects.length > 1) {
156
+ const chooseAnother = await (0, prompt_1.promptConfirm)("Select a different project?", true);
157
+ if (chooseAnother) {
158
+ selectedProjectValue = undefined;
159
+ projectDetails = undefined;
160
+ continue;
161
+ }
162
+ }
163
+ throw error;
164
+ }
165
+ }
166
+ if (projects.length <= 1) {
167
+ throw (0, cli_tasks_1.inputError)(`No environments were returned for project '${resolvedProjectLabel}'.`);
168
+ }
169
+ selectedProjectValue = undefined;
170
+ }
171
+ const cmEnvironments = environments.filter((environment) => {
172
+ const type = (0, shared_1.getEnvironmentType)(environment);
173
+ return type ? type.toLowerCase().includes("cm") : false;
174
+ });
175
+ const selectionPool = !environmentSelection && cmEnvironments.length > 0 ? cmEnvironments : environments;
176
+ const environmentLabel = !environmentSelection && cmEnvironments.length > 0 ? "Environment (CM)" : "Environment";
177
+ if (!resolvedEnvironment) {
178
+ if (!environmentSelection && runWizard && selectionPool.length > 1) {
179
+ resolvedEnvironment = await (0, cli_tasks_1.selectFromList)(logger, environmentLabel, selectionPool);
180
+ }
181
+ else {
182
+ resolvedEnvironment = (0, cli_tasks_1.selectMatch)(selectionPool, "Environment", environmentSelection);
183
+ }
184
+ }
185
+ const editingHostEnvironmentIds = environments
186
+ .filter((environment) => {
187
+ const type = (0, shared_1.getEnvironmentType)(environment);
188
+ return type ? type.toLowerCase().includes("eh") : false;
189
+ })
190
+ .map((environment) => environment.id ?? environment.environmentId)
191
+ .filter((value) => Boolean(value));
192
+ updated.organizationId = orgId ?? updated.organizationId;
193
+ updated.projectId = resolvedProject.id ?? resolvedProject.projectId ?? updated.projectId;
194
+ updated.environmentId =
195
+ resolvedEnvironment.id ?? resolvedEnvironment.environmentId ?? updated.environmentId;
196
+ updated.tenantId = resolvedEnvironment.tenantId ?? updated.tenantId ?? organization.tenantId;
197
+ const resolvedType = (0, shared_1.getEnvironmentType)(resolvedEnvironment);
198
+ if (resolvedType === "cm" || resolvedType === "eh") {
199
+ updated.environmentType = resolvedType;
200
+ }
201
+ if (editingHostEnvironmentIds.length > 0) {
202
+ updated.editingHostEnvironmentIds = editingHostEnvironmentIds;
203
+ }
204
+ if (!nextHost) {
205
+ nextHost = (0, api_1.resolveHostFromEnvironment)(resolvedEnvironment);
206
+ }
207
+ }
208
+ catch (error) {
209
+ if (!runWizard) {
210
+ throw error;
211
+ }
212
+ const cliError = (0, errors_1.toCliError)(error);
213
+ const isEnvScoped = /environment[- ]scoped/i.test(cliError.message);
214
+ const warning = isEnvScoped
215
+ ? "Deploy lookup failed. Environment-scoped credentials require an environment ID."
216
+ : `Deploy lookup failed. ${cliError.message}`;
217
+ logger.warn(warning);
218
+ let environmentId = updated.environmentId ??
219
+ existing.environmentId ??
220
+ baseEnv.environmentId ??
221
+ options.environment;
222
+ if (!environmentId) {
223
+ environmentId = await (0, prompt_1.promptText)("Environment ID (Deploy)");
224
+ }
225
+ if (!environmentId) {
226
+ throw (0, cli_tasks_1.inputError)("Environment ID is required for environment-scoped credentials. Use --environment <id>.");
227
+ }
228
+ resolvedEnvironment = await (0, api_1.fetchEnvironment)(deployOptions, environmentId);
229
+ logger.warn("Environment-scoped credentials can limit some CLI operations (org/project lookups).");
230
+ updated.environmentId =
231
+ resolvedEnvironment.id ?? resolvedEnvironment.environmentId ?? updated.environmentId;
232
+ updated.projectId = (0, shared_1.resolveProjectIdValue)(resolvedEnvironment.projectId) ?? updated.projectId;
233
+ updated.tenantId = resolvedEnvironment.tenantId ?? updated.tenantId;
234
+ const resolvedType = (0, shared_1.getEnvironmentType)(resolvedEnvironment);
235
+ if (resolvedType === "cm" || resolvedType === "eh") {
236
+ updated.environmentType = resolvedType;
237
+ }
238
+ if (!nextHost) {
239
+ nextHost = (0, api_1.resolveHostFromEnvironment)(resolvedEnvironment);
240
+ }
241
+ }
242
+ return { host: nextHost, updated };
243
+ };
244
+ exports.resolveDeployLookup = resolveDeployLookup;
@@ -0,0 +1,3 @@
1
+ import type { ConnectOptions } from "../types";
2
+ export declare const runInit: (options: ConnectOptions) => Promise<void>;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/serialization/tasks/env/init.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,eAAO,MAAM,OAAO,GAAU,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,CA8QnE,CAAC"}
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ // TODO(recipe-init): when the wizard runs in a non-default project layout,
3
+ // auto-detect `*.recipe.ts` files and offer to set the `recipes` glob in
4
+ // sitecoreai.cli.json accordingly. Today the default config template ships
5
+ // `recipes: ["recipes/**/*.recipe.ts"]`; users with recipes elsewhere edit
6
+ // the file by hand. Worth adding once orchestrator-mediated installs land
7
+ // (Phase 3) — until then, agent-mediated installs control the layout.
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.runInit = void 0;
13
+ const node_fs_1 = __importDefault(require("node:fs"));
14
+ const config_1 = require("../../../config");
15
+ const validate_1 = require("../../../shared/validate");
16
+ const config_template_1 = require("../../../shared/config-template");
17
+ const keychain_1 = require("../../../shared/keychain");
18
+ const prompt_1 = require("../../../shared/prompt");
19
+ const errors_1 = require("../../../shared/errors");
20
+ const shared_1 = require("../shared");
21
+ const auth_1 = require("./init/auth");
22
+ const deploy_lookup_1 = require("./init/deploy-lookup");
23
+ const runInit = async (options) => {
24
+ const logger = (0, shared_1.toLogger)(options);
25
+ const isInteractive = process.stdin.isTTY && process.stdout.isTTY && process.env.SITECOREAI_NON_INTERACTIVE !== "1";
26
+ const hasExplicitInput = Boolean(options.environmentName ||
27
+ options.cm ||
28
+ options.host ||
29
+ options.ref ||
30
+ options.allowWrite !== undefined ||
31
+ options.organizationId ||
32
+ options.tenantId ||
33
+ options.organization ||
34
+ options.project ||
35
+ options.environment ||
36
+ options.deployToken ||
37
+ options.clientId ||
38
+ options.clientSecret ||
39
+ options.useClientCredentials !== undefined ||
40
+ options.setDefault);
41
+ const runWizard = Boolean(options.wizard || !hasExplicitInput);
42
+ if (runWizard && !isInteractive) {
43
+ (0, prompt_1.assertInteractive)("Wizard mode requires a TTY. Provide flags instead.", "Provide flags instead.");
44
+ }
45
+ let envName = options.environmentName;
46
+ const reservedName = "default";
47
+ if (!envName) {
48
+ if (!runWizard) {
49
+ throw (0, shared_1.inputError)("Environment name is required. Use --environment-name.");
50
+ }
51
+ envName = await (0, prompt_1.promptText)("Environment name (local label; does not need to match SitecoreAI)");
52
+ if (!envName) {
53
+ throw (0, shared_1.inputError)("Environment name is required.");
54
+ }
55
+ }
56
+ if (runWizard && envName.toLowerCase() === reservedName) {
57
+ envName = "";
58
+ }
59
+ const configPath = options.config ?? process.cwd();
60
+ const targetPath = (0, config_template_1.resolveTargetPath)(configPath);
61
+ if (!node_fs_1.default.existsSync(targetPath)) {
62
+ (0, config_template_1.writeConfigTemplate)(targetPath);
63
+ logger.info(`Created ${targetPath}`, "green");
64
+ }
65
+ let rootConfigFile;
66
+ try {
67
+ rootConfigFile = (0, config_1.readRootConfigurationFile)(configPath);
68
+ }
69
+ catch (error) {
70
+ const cliError = (0, errors_1.toCliError)(error);
71
+ if (cliError.code === "CONFIG_INVALID" && runWizard && isInteractive) {
72
+ const recreate = await (0, prompt_1.promptConfirm)(`Configuration file at ${targetPath} is invalid. Recreate it?`, false);
73
+ if (!recreate) {
74
+ logger.info("Init cancelled. No changes were made.");
75
+ return;
76
+ }
77
+ if (node_fs_1.default.existsSync(targetPath)) {
78
+ const timestamp = new Date().toISOString().replace(/[-:.TZ]/g, "");
79
+ const backupPath = `${targetPath}.invalid-${timestamp}`;
80
+ node_fs_1.default.renameSync(targetPath, backupPath);
81
+ logger.warn(`Backed up invalid config to ${backupPath}`);
82
+ }
83
+ (0, config_template_1.writeConfigTemplate)(targetPath);
84
+ logger.info(`Recreated ${targetPath}`, "green");
85
+ rootConfigFile = (0, config_1.readRootConfigurationFile)(configPath);
86
+ }
87
+ else {
88
+ throw error;
89
+ }
90
+ }
91
+ const envProfiles = rootConfigFile.config.envProfiles ?? {};
92
+ let root = (0, config_1.readRootConfiguration)(configPath, envName);
93
+ let existing = envProfiles[envName] ?? {};
94
+ let envExists = Boolean(envProfiles[envName]);
95
+ let baseEnv = root.environments[envName] ?? {};
96
+ const hasOtherChanges = Boolean(options.cm || options.host || options.organization || options.project || options.environment) ||
97
+ Boolean(options.deployToken || options.clientId || options.clientSecret) ||
98
+ Boolean(options.useClientCredentials || options.ref || options.allowWrite) ||
99
+ Boolean(options.organizationId || options.tenantId);
100
+ if (envExists && runWizard) {
101
+ while (envExists || envName.toLowerCase() === reservedName) {
102
+ if (envName.toLowerCase() === reservedName) {
103
+ const newName = await (0, prompt_1.promptText)("Environment name cannot be 'default'. Choose another name");
104
+ if (!newName) {
105
+ logger.info("Init cancelled. No changes were made.");
106
+ return;
107
+ }
108
+ envName = newName;
109
+ root = (0, config_1.readRootConfiguration)(configPath, envName);
110
+ existing = envProfiles[envName] ?? {};
111
+ envExists = Boolean(envProfiles[envName]);
112
+ baseEnv = root.environments[envName] ?? {};
113
+ continue;
114
+ }
115
+ const overwrite = await (0, prompt_1.promptConfirm)(`Environment '${envName}' already exists. Overwrite?`, false);
116
+ if (overwrite) {
117
+ break;
118
+ }
119
+ const newName = await (0, prompt_1.promptText)("Choose a different environment name (local label; does not need to match SitecoreAI)");
120
+ if (!newName) {
121
+ logger.info("Init cancelled. No changes were made.");
122
+ return;
123
+ }
124
+ envName = newName;
125
+ root = (0, config_1.readRootConfiguration)(configPath, envName);
126
+ existing = envProfiles[envName] ?? {};
127
+ envExists = Boolean(envProfiles[envName]);
128
+ baseEnv = root.environments[envName] ?? {};
129
+ }
130
+ }
131
+ else if (envExists && !runWizard && hasOtherChanges) {
132
+ logger.warn(`Environment '${envName}' already exists and will be updated.`);
133
+ }
134
+ if (options.setDefault && !hasOtherChanges) {
135
+ if (!envProfiles[envName]) {
136
+ throw (0, errors_1.createCliError)(`Environment '${envName}' does not exist. Configure it before setting default.`, "ENV_NOT_FOUND");
137
+ }
138
+ rootConfigFile.config.defaultEnvProfile = envName;
139
+ (0, config_1.writeRootConfigurationFile)(configPath, rootConfigFile.config);
140
+ logger.info(`Default environment set to '${envName}'.`, "green");
141
+ return;
142
+ }
143
+ if (options.ref) {
144
+ const refEnv = envProfiles[options.ref];
145
+ if (!refEnv) {
146
+ throw (0, errors_1.createCliError)(`Referenced environment '${options.ref}' was not found.`, "ENV_NOT_FOUND");
147
+ }
148
+ if (refEnv.ref) {
149
+ throw (0, shared_1.inputError)(`Referenced environment '${options.ref}' cannot itself reference another environment.`);
150
+ }
151
+ }
152
+ const updated = { ...existing };
153
+ let host = options.cm ?? options.host ?? existing.host;
154
+ let projectSelection = options.project;
155
+ let environmentSelection = options.environment;
156
+ const skipDeployLookup = Boolean(options.skipDeployLookup) || process.env.SITECOREAI_SKIP_DEPLOY_LOOKUP === "1";
157
+ let needsDeployLookup = Boolean(options.organization || projectSelection || environmentSelection);
158
+ if (skipDeployLookup) {
159
+ needsDeployLookup = false;
160
+ }
161
+ if (runWizard && !needsDeployLookup && !skipDeployLookup) {
162
+ needsDeployLookup = true;
163
+ }
164
+ let needsDeployToken = needsDeployLookup || Boolean(options.deployToken || options.clientId || options.clientSecret);
165
+ if (runWizard) {
166
+ needsDeployToken = true;
167
+ }
168
+ const auth = await (0, auth_1.resolveDeployAuth)({
169
+ options,
170
+ envName,
171
+ existing,
172
+ baseEnv,
173
+ runWizard,
174
+ isInteractive,
175
+ needsDeployToken,
176
+ updated,
177
+ logger,
178
+ });
179
+ let deployToken = auth.deployToken;
180
+ const loginAuthority = auth.loginAuthority;
181
+ const loginClientId = auth.loginClientId;
182
+ const wantsClientCredentials = auth.wantsClientCredentials;
183
+ const shouldPersistClientId = auth.shouldPersistClientId;
184
+ if (needsDeployLookup) {
185
+ const lookup = await (0, deploy_lookup_1.resolveDeployLookup)({
186
+ options,
187
+ runWizard,
188
+ deployToken,
189
+ updated,
190
+ existing,
191
+ baseEnv,
192
+ host,
193
+ projectSelection,
194
+ environmentSelection,
195
+ logger,
196
+ });
197
+ host = lookup.host;
198
+ }
199
+ if (needsDeployToken && deployToken) {
200
+ const stored = await (0, keychain_1.setDeployToken)(envName, deployToken);
201
+ if (!stored) {
202
+ logger.warn("Unable to store the Deploy token in the OS keychain. Use SITECOREAI_DEPLOY_TOKEN if needed.");
203
+ }
204
+ }
205
+ if (!host && runWizard) {
206
+ host = await (0, prompt_1.promptText)("CM host (base URL)", host);
207
+ }
208
+ if (!host) {
209
+ throw (0, shared_1.inputError)("Environment host is required. Use --cm/--host or select it via Deploy.");
210
+ }
211
+ (0, validate_1.assertValidHost)(host, "CM host");
212
+ updated.host = host;
213
+ if (!updated.authority) {
214
+ updated.authority = loginAuthority;
215
+ }
216
+ if (loginClientId) {
217
+ if (wantsClientCredentials) {
218
+ updated.clientId = loginClientId;
219
+ }
220
+ else if (!updated.clientId && shouldPersistClientId) {
221
+ updated.clientId = loginClientId;
222
+ }
223
+ }
224
+ (0, shared_1.applyIfDefined)(updated, "ref", options.ref);
225
+ if (options.allowWrite !== undefined) {
226
+ updated.allowWrite = options.allowWrite;
227
+ }
228
+ else if (runWizard) {
229
+ updated.allowWrite = await (0, prompt_1.promptConfirm)("Allow write operations?", false);
230
+ }
231
+ (0, shared_1.applyIfDefined)(updated, "organizationId", options.organizationId);
232
+ (0, shared_1.applyIfDefined)(updated, "tenantId", options.tenantId);
233
+ (0, shared_1.applyIfDefined)(updated, "clientId", options.clientId);
234
+ if (wantsClientCredentials) {
235
+ updated.useClientCredentials = true;
236
+ }
237
+ rootConfigFile.config.envProfiles = {
238
+ ...envProfiles,
239
+ [envName]: updated,
240
+ };
241
+ if (options.setDefault || (!rootConfigFile.config.defaultEnvProfile && !runWizard)) {
242
+ rootConfigFile.config.defaultEnvProfile = envName;
243
+ }
244
+ else if (runWizard) {
245
+ const shouldSetDefault = await (0, prompt_1.promptConfirm)("Set as default environment?", !rootConfigFile.config.defaultEnvProfile);
246
+ if (shouldSetDefault) {
247
+ rootConfigFile.config.defaultEnvProfile = envName;
248
+ }
249
+ }
250
+ (0, config_1.writeRootConfigurationFile)(configPath, rootConfigFile.config);
251
+ logger.info(`Initialized environment '${envName}' in sitecoreai.cli.json`, "green");
252
+ };
253
+ exports.runInit = runInit;
@@ -0,0 +1,3 @@
1
+ import type { LogoutOptions } from "../types";
2
+ export declare const runLogout: (options: LogoutOptions) => Promise<void>;
3
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/serialization/tasks/env/logout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAyDpE,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runLogout = void 0;
4
+ const config_1 = require("../../../config");
5
+ const keychain_1 = require("../../../shared/keychain");
6
+ const errors_1 = require("../../../shared/errors");
7
+ const shared_1 = require("../shared");
8
+ const runLogout = async (options) => {
9
+ const logger = (0, shared_1.toLogger)(options);
10
+ const configPath = options.config ?? process.cwd();
11
+ const rootConfigFile = (0, config_1.readRootConfigurationFile)(configPath);
12
+ const envProfiles = rootConfigFile.config.envProfiles ?? {};
13
+ const names = Object.keys(envProfiles);
14
+ if (options.all) {
15
+ for (const name of names) {
16
+ const env = envProfiles[name];
17
+ envProfiles[name] = {
18
+ ...env,
19
+ accessToken: undefined,
20
+ refreshToken: undefined,
21
+ refreshTokenParameters: undefined,
22
+ expiresIn: undefined,
23
+ lastUpdated: undefined,
24
+ deployToken: undefined,
25
+ deployTokenExpiresIn: undefined,
26
+ deployTokenLastUpdated: undefined,
27
+ };
28
+ await (0, keychain_1.clearCmTokens)(name);
29
+ await (0, keychain_1.clearDeployToken)(name);
30
+ }
31
+ rootConfigFile.config.envProfiles = envProfiles;
32
+ (0, config_1.writeRootConfigurationFile)(configPath, rootConfigFile.config);
33
+ logger.info("Cleared stored tokens for all environments.", "green");
34
+ return;
35
+ }
36
+ const envName = options.environmentName;
37
+ if (!envName) {
38
+ throw (0, errors_1.createCliError)("Environment name is required. Use --environment-name or --all.", "INPUT_INVALID");
39
+ }
40
+ const env = envProfiles[envName];
41
+ if (!env) {
42
+ throw (0, errors_1.createCliError)(`Environment '${envName}' does not exist.`, "ENV_NOT_FOUND");
43
+ }
44
+ envProfiles[envName] = {
45
+ ...env,
46
+ accessToken: undefined,
47
+ refreshToken: undefined,
48
+ refreshTokenParameters: undefined,
49
+ expiresIn: undefined,
50
+ lastUpdated: undefined,
51
+ deployToken: undefined,
52
+ deployTokenExpiresIn: undefined,
53
+ deployTokenLastUpdated: undefined,
54
+ };
55
+ await (0, keychain_1.clearCmTokens)(envName);
56
+ await (0, keychain_1.clearDeployToken)(envName);
57
+ rootConfigFile.config.envProfiles = envProfiles;
58
+ (0, config_1.writeRootConfigurationFile)(configPath, rootConfigFile.config);
59
+ logger.info(`Cleared stored tokens for environment '${envName}'.`, "green");
60
+ };
61
+ exports.runLogout = runLogout;
@@ -0,0 +1,3 @@
1
+ import type { CommonOptions } from "../types";
2
+ export declare const runStatus: (options: CommonOptions) => Promise<void>;
3
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/serialization/tasks/env/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAwJpE,CAAC"}