@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
package/dist/cli.js ADDED
@@ -0,0 +1,358 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ const serialization_1 = require("./commands/serialization");
10
+ const shared_1 = require("./commands/shared");
11
+ const status_1 = require("./commands/status");
12
+ const login_1 = require("./commands/login");
13
+ const deploy_1 = require("./commands/deploy");
14
+ const history_1 = require("./commands/history");
15
+ const init_1 = require("./commands/init");
16
+ const logout_1 = require("./commands/logout");
17
+ const shell_1 = require("./commands/shell");
18
+ const history_2 = require("./shared/history");
19
+ const style_1 = require("./shared/style");
20
+ const logger_1 = require("./shared/logger");
21
+ const telemetry_1 = require("./shared/telemetry");
22
+ const output_1 = require("./shared/output");
23
+ const redact_1 = require("./shared/redact");
24
+ const errors_1 = require("./shared/errors");
25
+ const config_1 = require("./commands/config");
26
+ const telemetry_2 = require("./commands/telemetry");
27
+ const config_2 = require("./config");
28
+ const tasks_1 = require("./serialization/tasks");
29
+ const keychain_1 = require("./shared/keychain");
30
+ const toBoolean = (value) => {
31
+ if (!value) {
32
+ return undefined;
33
+ }
34
+ const normalized = value.trim().toLowerCase();
35
+ if (["1", "true", "yes", "on"].includes(normalized)) {
36
+ return true;
37
+ }
38
+ if (["0", "false", "no", "off"].includes(normalized)) {
39
+ return false;
40
+ }
41
+ return undefined;
42
+ };
43
+ const isDeployTokenExpired = (env) => {
44
+ if (!env?.deployTokenExpiresIn || !env.deployTokenLastUpdated) {
45
+ return false;
46
+ }
47
+ const lastUpdated = Date.parse(env.deployTokenLastUpdated);
48
+ if (Number.isNaN(lastUpdated)) {
49
+ return false;
50
+ }
51
+ return Date.now() >= lastUpdated + env.deployTokenExpiresIn * 1000;
52
+ };
53
+ const resolveEnvironmentNameFromArgs = (args) => {
54
+ const index = args.findIndex((arg) => arg === "--environment-name" || arg === "-n");
55
+ if (index >= 0 && args[index + 1]) {
56
+ return args[index + 1];
57
+ }
58
+ const inline = args.find((arg) => arg.startsWith("--environment-name=") || arg.startsWith("-n="));
59
+ if (inline) {
60
+ return inline.split("=").slice(1).join("=");
61
+ }
62
+ return undefined;
63
+ };
64
+ const shouldSkipAutoWizard = (args) => {
65
+ if (toBoolean(process.env.SITECOREAI_AUTO_WIZARD) === false) {
66
+ return true;
67
+ }
68
+ if (args.some((arg) => ["--help", "-h", "--version", "-V"].includes(arg))) {
69
+ return true;
70
+ }
71
+ const commandName = args[0];
72
+ if (["init", "login", "logout", "telemetry", "config", "history"].includes(commandName)) {
73
+ return true;
74
+ }
75
+ return false;
76
+ };
77
+ const resolveAutoWizardNeed = async (args, configBasePath) => {
78
+ const envFromArgs = resolveEnvironmentNameFromArgs(args);
79
+ let configFile = null;
80
+ try {
81
+ configFile = (0, config_2.readRootConfigurationFile)(configBasePath);
82
+ }
83
+ catch (error) {
84
+ const cliError = (0, errors_1.toCliError)(error);
85
+ if (cliError.code === "CONFIG_NOT_FOUND") {
86
+ return {
87
+ kind: "init",
88
+ envName: envFromArgs,
89
+ hint: "Run 'scai init' to create a configuration file.",
90
+ };
91
+ }
92
+ if (cliError.code === "CONFIG_INVALID") {
93
+ return {
94
+ kind: "init",
95
+ envName: envFromArgs,
96
+ hint: "Run 'scai init' to repair the configuration file.",
97
+ };
98
+ }
99
+ return null;
100
+ }
101
+ const envProfiles = configFile.config.envProfiles ?? {};
102
+ const envNames = Object.keys(envProfiles);
103
+ if (envNames.length === 0) {
104
+ return {
105
+ kind: "init",
106
+ envName: envFromArgs,
107
+ hint: "Run 'scai init' to configure an environment.",
108
+ };
109
+ }
110
+ const envName = envFromArgs ??
111
+ configFile.config.defaultEnvProfile ??
112
+ (envNames.length === 1 ? envNames[0] : undefined);
113
+ if (!envName || !envProfiles[envName]) {
114
+ return {
115
+ kind: "init",
116
+ envName,
117
+ hint: "Run 'scai init' to configure an environment.",
118
+ };
119
+ }
120
+ let resolvedEnv;
121
+ try {
122
+ const root = (0, config_2.readRootConfiguration)(configBasePath, envName);
123
+ resolvedEnv = root.environments[envName] ?? envProfiles[envName];
124
+ }
125
+ catch (error) {
126
+ const cliError = (0, errors_1.toCliError)(error);
127
+ if (cliError.code === "CONFIG_INVALID") {
128
+ return {
129
+ kind: "init",
130
+ envName,
131
+ hint: "Run 'scai init' to repair the configuration file.",
132
+ };
133
+ }
134
+ return null;
135
+ }
136
+ if (process.env.SITECOREAI_DEPLOY_TOKEN) {
137
+ return null;
138
+ }
139
+ const deployToken = await (0, keychain_1.getDeployToken)(envName);
140
+ const tokenExpired = isDeployTokenExpired(resolvedEnv);
141
+ if (!deployToken || tokenExpired) {
142
+ return {
143
+ kind: "login",
144
+ envName,
145
+ hint: `Run 'scai login -n ${envName}' to authenticate.`,
146
+ };
147
+ }
148
+ return null;
149
+ };
150
+ const applyBaseEnv = (snapshot) => {
151
+ if (!snapshot) {
152
+ return;
153
+ }
154
+ for (const [key, value] of Object.entries(snapshot)) {
155
+ if (value === undefined) {
156
+ delete process.env[key];
157
+ }
158
+ else {
159
+ process.env[key] = value;
160
+ }
161
+ }
162
+ };
163
+ const runAutoWizardIfNeeded = async (args, configPath, outputOptions) => {
164
+ if (shouldSkipAutoWizard(args)) {
165
+ return;
166
+ }
167
+ const configBasePath = configPath ?? process.cwd();
168
+ const need = await resolveAutoWizardNeed(args, configBasePath);
169
+ if (!need) {
170
+ return;
171
+ }
172
+ const logger = new logger_1.Logger(false, false, Boolean(outputOptions.json), Boolean(outputOptions.quiet), outputOptions.logFile ?? process.env.SITECOREAI_LOG_FILE);
173
+ const isInteractive = process.stdin.isTTY && process.stdout.isTTY && process.env.SITECOREAI_NON_INTERACTIVE !== "1";
174
+ if (!isInteractive || outputOptions.json || outputOptions.quiet) {
175
+ logger.warn(`Auto-setup skipped. ${need.hint}`);
176
+ return;
177
+ }
178
+ if (need.kind === "init") {
179
+ logger.info("Launching setup wizard to configure SitecoreAI.", "cyan");
180
+ await (0, tasks_1.runInit)({
181
+ config: configBasePath,
182
+ environmentName: need.envName,
183
+ wizard: true,
184
+ });
185
+ return;
186
+ }
187
+ logger.info(`Authenticating environment '${need.envName}'.`, "cyan");
188
+ await (0, tasks_1.runDeployToken)({ config: configBasePath, environmentName: need.envName });
189
+ };
190
+ const createProgram = (runCli, options = {}) => {
191
+ const program = new commander_1.Command();
192
+ program
193
+ .name("scai")
194
+ .description("SitecoreAI Deploy & Sync CLI for serialization and deploy workflows")
195
+ .version(package_json_1.default.version, "-V, --version", "Display the CLI version");
196
+ program.addCommand((0, config_1.createConfigCommand)());
197
+ program.addCommand((0, deploy_1.createDeployCommand)());
198
+ program.addCommand((0, history_1.createHistoryCommand)());
199
+ program.addCommand((0, init_1.createInitCommand)());
200
+ program.addCommand((0, login_1.createLoginCommand)());
201
+ program.addCommand((0, logout_1.createLogoutCommand)());
202
+ program.addCommand((0, serialization_1.createSerializationCommand)());
203
+ program.addCommand((0, status_1.createStatusCommand)());
204
+ program.addCommand((0, telemetry_2.createTelemetryCommand)());
205
+ program.addCommand((0, shell_1.createShellCommand)(runCli));
206
+ program.showHelpAfterError(true);
207
+ program.showSuggestionAfterError(true);
208
+ if (options.shellMode) {
209
+ program.exitOverride();
210
+ }
211
+ return program;
212
+ };
213
+ const runCli = async (inputArgv, options = {}) => {
214
+ const argv = (0, shared_1.normalizeArgs)(inputArgv);
215
+ const args = argv.slice(2);
216
+ const command = args.join(" ") || "(no command)";
217
+ const telemetryCommand = (0, telemetry_1.formatTelemetryCommand)(args);
218
+ const configPath = (0, telemetry_1.resolveConfigPathFromArgs)(argv);
219
+ const telemetryConfigPath = configPath ?? process.cwd();
220
+ const startTime = Date.now();
221
+ (0, telemetry_1.setTelemetryVersion)(package_json_1.default.version);
222
+ const outputOptions = (0, output_1.resolveOutputOptionsFromArgs)(argv);
223
+ applyBaseEnv(options.baseEnv);
224
+ const nonInteractive = args.includes("--non-interactive");
225
+ if (nonInteractive || !process.stdin.isTTY || !process.stdout.isTTY) {
226
+ process.env.SITECOREAI_NON_INTERACTIVE = "1";
227
+ }
228
+ if (outputOptions.quiet) {
229
+ process.env.SITECOREAI_QUIET = "1";
230
+ }
231
+ if (outputOptions.json) {
232
+ process.env.SITECOREAI_JSON = "1";
233
+ }
234
+ if (args.includes("--trace") || args.includes("-t")) {
235
+ process.env.SITECOREAI_TRACE_HTTP = "1";
236
+ }
237
+ if (!options.skipBanner) {
238
+ (0, style_1.showBanner)(package_json_1.default.version);
239
+ }
240
+ const program = createProgram(runCli, { shellMode: options.shellMode });
241
+ try {
242
+ await runAutoWizardIfNeeded(args, configPath, outputOptions);
243
+ await (0, telemetry_1.ensureTelemetryConsent)(telemetryConfigPath);
244
+ void Promise.resolve((0, history_2.ensureHistoryFile)()).catch(() => { });
245
+ void Promise.resolve((0, history_2.recordHistory)({
246
+ event: "start",
247
+ command,
248
+ args,
249
+ cwd: process.cwd(),
250
+ })).catch(() => { });
251
+ void Promise.resolve((0, telemetry_1.recordTelemetry)({
252
+ event: "command_start",
253
+ command: telemetryCommand,
254
+ args,
255
+ configPath: telemetryConfigPath,
256
+ })).catch(() => { });
257
+ await program.parseAsync(argv);
258
+ await (0, history_2.recordHistory)({
259
+ event: "success",
260
+ command,
261
+ args,
262
+ cwd: process.cwd(),
263
+ });
264
+ await (0, telemetry_1.recordTelemetry)({
265
+ event: "command_success",
266
+ command: telemetryCommand,
267
+ args,
268
+ durationMs: Date.now() - startTime,
269
+ configPath: telemetryConfigPath,
270
+ });
271
+ }
272
+ catch (error) {
273
+ if (options.shellMode &&
274
+ error &&
275
+ typeof error === "object" &&
276
+ "code" in error &&
277
+ typeof error.code === "string" &&
278
+ error.code.startsWith("commander.")) {
279
+ if (error.code === "commander.unknownCommand") {
280
+ console.log("Unknown command. Available commands:\n");
281
+ program.outputHelp();
282
+ }
283
+ process.exitCode = 0;
284
+ return;
285
+ }
286
+ void Promise.resolve((0, history_2.recordHistory)({
287
+ event: "error",
288
+ command,
289
+ args,
290
+ cwd: process.cwd(),
291
+ error: error instanceof Error ? error.message : String(error),
292
+ })).catch(() => { });
293
+ void Promise.resolve((0, telemetry_1.recordTelemetry)({
294
+ event: "command_error",
295
+ command: telemetryCommand,
296
+ args,
297
+ durationMs: Date.now() - startTime,
298
+ error: error instanceof Error ? error.message : String(error),
299
+ configPath: telemetryConfigPath,
300
+ })).catch(() => { });
301
+ const baseLogger = new logger_1.Logger(false, false, Boolean(outputOptions.json), Boolean(outputOptions.quiet), outputOptions.logFile ?? process.env.SITECOREAI_LOG_FILE);
302
+ const cliError = (0, errors_1.toCliError)(error);
303
+ const redactedMessage = (0, redact_1.redactSecrets)(cliError.message);
304
+ const finalError = cliError;
305
+ if (baseLogger.isJson()) {
306
+ baseLogger.json({
307
+ message: redactedMessage,
308
+ code: finalError.code,
309
+ hint: finalError.hint,
310
+ details: finalError.details,
311
+ exitCode: finalError.exitCode,
312
+ });
313
+ }
314
+ else {
315
+ baseLogger.error(redactedMessage);
316
+ if (finalError.details && finalError.details.length > 0) {
317
+ for (const detail of finalError.details) {
318
+ baseLogger.verbose(` - ${detail}`);
319
+ }
320
+ }
321
+ if (finalError.hint) {
322
+ baseLogger.warn(`Hint: ${finalError.hint}`);
323
+ }
324
+ }
325
+ process.exitCode = finalError.exitCode;
326
+ }
327
+ };
328
+ // Force-exit after the command resolves. Without this, the process can
329
+ // hang for tens of seconds (or indefinitely) waiting for undici's
330
+ // keep-alive socket pool to close out the global dispatcher's idle
331
+ // connections — Node only exits when the event loop is empty, and HTTP
332
+ // keep-alive sockets count as live handles. Bind-site is the most
333
+ // visible offender (it's the last step of the deploy pipeline, so the
334
+ // hang isn't masked by a follow-up command), but every command that
335
+ // makes Authoring API calls has the same exposure. Setting `exitCode`
336
+ // alone (the previous behaviour) is necessary but not sufficient —
337
+ // `process.exit` is the explicit teardown.
338
+ //
339
+ // Skipped under Vitest: the test suite dynamic-imports this module to
340
+ // drive `runCli` directly, and `process.exit` inside a test worker
341
+ // surfaces as an "Uncaught Exception" failure. `process.env.VITEST`
342
+ // is set automatically by Vitest's runner.
343
+ const shouldForceExit = !process.env.VITEST;
344
+ const cliPromise = runCli(process.argv);
345
+ if (shouldForceExit) {
346
+ void cliPromise.finally(() => {
347
+ // Allow stdout/stderr to drain before exiting. `process.stdout.write`
348
+ // with a callback flushes the writable buffer; we exit from inside
349
+ // the callback so logs emitted at the end of a command (the bind
350
+ // result, error hints) reach the parent process.
351
+ process.stdout.write("", () => {
352
+ process.exit(process.exitCode ?? 0);
353
+ });
354
+ });
355
+ }
356
+ else {
357
+ void cliPromise;
358
+ }
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const createConfigCommand: () => Command;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,mBAAmB,QAAO,OA0BtC,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConfigCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const config_1 = require("../config");
6
+ const logger_1 = require("../shared/logger");
7
+ const shared_1 = require("./shared");
8
+ const createConfigCommand = () => {
9
+ const command = new commander_1.Command("config").description("Configuration utilities");
10
+ const validate = new commander_1.Command("validate").description("Validate sitecoreai.cli.json");
11
+ (0, shared_1.addConfigOption)(validate);
12
+ (0, shared_1.addVerbosityOptions)(validate);
13
+ validate.action(async (options) => {
14
+ const logger = new logger_1.Logger(Boolean(options.verbose), Boolean(options.trace), Boolean(options.json), Boolean(options.quiet), options.logFile);
15
+ const configPath = options.config ?? process.cwd();
16
+ const result = (0, config_1.readRootConfigurationFile)(configPath);
17
+ if (logger.isJson()) {
18
+ logger.json({ valid: true, path: result.rootPath });
19
+ return;
20
+ }
21
+ logger.info(`Config valid: ${result.rootPath}`, "green");
22
+ });
23
+ command.addCommand(validate);
24
+ command.addHelpText("after", "\nExample:\n $ scai config validate\n");
25
+ return command;
26
+ };
27
+ exports.createConfigCommand = createConfigCommand;
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const createDeployDeploymentsCommand: () => Command;
3
+ //# sourceMappingURL=deployments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C,eAAO,MAAM,8BAA8B,QAAO,OAgEjD,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDeployDeploymentsCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const tasks_1 = require("../../deploy/tasks");
6
+ const shared_1 = require("./shared");
7
+ const createDeployDeploymentsCommand = () => {
8
+ const deployments = new commander_1.Command("deployments").description("Deployment operations").alias("dep");
9
+ const deploymentsList = new commander_1.Command("list").description("List deployments");
10
+ (0, shared_1.addDeployBaseOptions)(deploymentsList);
11
+ deploymentsList.addOption(new commander_1.Option("--status <status>", "Filter by deployment status"));
12
+ deploymentsList.action(async (options) => (0, tasks_1.runDeployDeploymentsList)(options));
13
+ const deploymentsGet = new commander_1.Command("get").description("Get a deployment by ID");
14
+ (0, shared_1.addDeployBaseOptions)(deploymentsGet);
15
+ deploymentsGet.addOption(new commander_1.Option("--id <id>", "Deployment ID"));
16
+ deploymentsGet.action(async (options) => (0, tasks_1.runDeployDeploymentsGet)(options));
17
+ const deploymentsStatus = new commander_1.Command("status").description("Get deployment counts grouped by status");
18
+ (0, shared_1.addDeployBaseOptions)(deploymentsStatus);
19
+ deploymentsStatus.action(async (options) => (0, tasks_1.runDeployDeploymentsStatus)(options));
20
+ const deploymentsDeploy = new commander_1.Command("deploy").description("Start a deployment");
21
+ (0, shared_1.addDeployBaseOptions)(deploymentsDeploy);
22
+ deploymentsDeploy.addOption(new commander_1.Option("--id <id>", "Deployment ID"));
23
+ deploymentsDeploy.action(async (options) => (0, tasks_1.runDeployDeploymentsDeploy)(options));
24
+ const deploymentsCancel = new commander_1.Command("cancel").description("Cancel a deployment");
25
+ (0, shared_1.addDeployBaseOptions)(deploymentsCancel);
26
+ deploymentsCancel.addOption(new commander_1.Option("--id <id>", "Deployment ID"));
27
+ deploymentsCancel.action(async (options) => (0, tasks_1.runDeployDeploymentsCancel)(options));
28
+ const deploymentsSource = new commander_1.Command("source").description("Upload deployment source");
29
+ (0, shared_1.addDeployBaseOptions)(deploymentsSource);
30
+ deploymentsSource
31
+ .addOption(new commander_1.Option("--id <id>", "Deployment ID"))
32
+ .addOption(new commander_1.Option("--file <path>", "Path to source archive"))
33
+ .addOption(new commander_1.Option("--directory <path>", "Directory to zip and upload"));
34
+ deploymentsSource.action(async (options) => (0, tasks_1.runDeployDeploymentsSource)(options));
35
+ const deploymentsWatch = new commander_1.Command("watch").description("Watch deployment status");
36
+ (0, shared_1.addDeployBaseOptions)(deploymentsWatch);
37
+ deploymentsWatch
38
+ .addOption(new commander_1.Option("--id <id>", "Deployment ID"))
39
+ .addOption(new commander_1.Option("--wait-for-post-actions", "Wait for post-actions to complete"))
40
+ .addOption(new commander_1.Option("--timeout <seconds>", "Timeout in seconds before exiting watch").argParser(Number));
41
+ deploymentsWatch.action(async (options) => (0, tasks_1.runDeployDeploymentsWatch)(options));
42
+ const deploymentsLogs = new commander_1.Command("logs").description("Get deployment logs");
43
+ (0, shared_1.addDeployBaseOptions)(deploymentsLogs);
44
+ deploymentsLogs
45
+ .addOption(new commander_1.Option("--id <id>", "Deployment ID"))
46
+ .addOption(new commander_1.Option("--output <path>", "Output file path"));
47
+ deploymentsLogs.action(async (options) => (0, tasks_1.runDeployDeploymentLogs)(options));
48
+ deployments.addCommand(deploymentsCancel);
49
+ deployments.addCommand(deploymentsDeploy);
50
+ deployments.addCommand(deploymentsGet);
51
+ deployments.addCommand(deploymentsList);
52
+ deployments.addCommand(deploymentsLogs);
53
+ deployments.addCommand(deploymentsSource);
54
+ deployments.addCommand(deploymentsStatus);
55
+ deployments.addCommand(deploymentsWatch);
56
+ return deployments;
57
+ };
58
+ exports.createDeployDeploymentsCommand = createDeployDeploymentsCommand;
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const createDeployEditingHostCommand: () => Command;
3
+ //# sourceMappingURL=editing-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing-host.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/editing-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAU5C,eAAO,MAAM,8BAA8B,QAAO,OAkDjD,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDeployEditingHostCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const tasks_1 = require("../../deploy/tasks");
6
+ const shared_1 = require("./shared");
7
+ const createDeployEditingHostCommand = () => {
8
+ const editingHost = new commander_1.Command("editing-host")
9
+ .description("Editing host operations")
10
+ .alias("eh");
11
+ const list = new commander_1.Command("list").description("List editing host environments");
12
+ (0, shared_1.addDeployBaseOptions)(list);
13
+ list.addOption(new commander_1.Option("--project <value>", "Project name or ID (Deploy API)"));
14
+ list.action(async (options) => (0, tasks_1.runDeployEditingHostList)(options));
15
+ const create = new commander_1.Command("create").description("Create an editing host environment");
16
+ (0, shared_1.addDeployBaseOptions)(create);
17
+ create
18
+ .addOption(new commander_1.Option("--cm-environment-id <id>", "CM environment ID"))
19
+ .addOption(new commander_1.Option("--name <name>", "Editing host name"));
20
+ create.action(async (options) => (0, tasks_1.runDeployEditingHostCreate)(options));
21
+ const update = new commander_1.Command("update").description("Update an editing host environment");
22
+ (0, shared_1.addDeployBaseOptions)(update);
23
+ update
24
+ .addOption(new commander_1.Option("--id <id>", "Editing host environment ID"))
25
+ .addOption(new commander_1.Option("--name <name>", "Editing host name"));
26
+ update.action(async (options) => (0, tasks_1.runDeployEditingHostUpdate)(options));
27
+ const del = new commander_1.Command("delete").description("Delete an editing host environment");
28
+ (0, shared_1.addDeployBaseOptions)(del);
29
+ del
30
+ .addOption(new commander_1.Option("--id <id>", "Editing host environment ID"))
31
+ .addOption(new commander_1.Option("--force", "Force delete environment"));
32
+ del.action(async (options) => (0, tasks_1.runDeployEditingHostDelete)(options));
33
+ const deploy = new commander_1.Command("deploy").description("Deploy an editing host environment");
34
+ (0, shared_1.addDeployBaseOptions)(deploy);
35
+ deploy
36
+ .addOption(new commander_1.Option("--id <id>", "Editing host environment ID"))
37
+ .addOption(new commander_1.Option("--redeploy", "Deploy using the existing linked source code"))
38
+ .addOption(new commander_1.Option("--no-watch", "Do not watch deployment progress"))
39
+ .addOption(new commander_1.Option("--wait-for-post-actions", "Wait for post-actions to complete"))
40
+ .addOption(new commander_1.Option("--timeout <seconds>", "Timeout in seconds before exiting watch").argParser(Number));
41
+ deploy.action(async (options) => (0, tasks_1.runDeployEditingHostDeploy)(options));
42
+ editingHost.addCommand(create);
43
+ editingHost.addCommand(del);
44
+ editingHost.addCommand(deploy);
45
+ editingHost.addCommand(list);
46
+ editingHost.addCommand(update);
47
+ return editingHost;
48
+ };
49
+ exports.createDeployEditingHostCommand = createDeployEditingHostCommand;
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const createEnvironmentsDeploymentsCommand: () => Command;
3
+ //# sourceMappingURL=deployments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/environments/deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,oCAAoC,QAAO,OAgCvD,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEnvironmentsDeploymentsCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const tasks_1 = require("../../../deploy/tasks");
6
+ const shared_1 = require("../shared");
7
+ const createEnvironmentsDeploymentsCommand = () => {
8
+ const environmentsDeployments = new commander_1.Command("deployments").description("Environment deployments");
9
+ const environmentsDeploymentsList = new commander_1.Command("list").description("List deployments for an environment");
10
+ (0, shared_1.addDeployBaseOptions)(environmentsDeploymentsList);
11
+ environmentsDeploymentsList
12
+ .addOption(new commander_1.Option("--id <id>", "Environment ID"))
13
+ .addOption(new commander_1.Option("--name <name>", "Environment name"))
14
+ .addOption(new commander_1.Option("--project <value>", "Project name or ID"));
15
+ environmentsDeploymentsList.action(async (options) => (0, tasks_1.runDeployEnvironmentsDeploymentsList)(options));
16
+ const environmentsDeploymentsCreate = new commander_1.Command("create").description("Deploy to an environment");
17
+ (0, shared_1.addDeployBaseOptions)(environmentsDeploymentsCreate);
18
+ environmentsDeploymentsCreate
19
+ .addOption(new commander_1.Option("--id <id>", "Environment ID"))
20
+ .addOption(new commander_1.Option("--name <name>", "Environment name"))
21
+ .addOption(new commander_1.Option("--project <value>", "Project name or ID"))
22
+ .addOption(new commander_1.Option("--redeploy", "Deploy using the existing linked source code"));
23
+ environmentsDeploymentsCreate.action(async (options) => (0, tasks_1.runDeployEnvironmentsDeploymentsCreate)(options));
24
+ environmentsDeployments.addCommand(environmentsDeploymentsCreate);
25
+ environmentsDeployments.addCommand(environmentsDeploymentsList);
26
+ return environmentsDeployments;
27
+ };
28
+ exports.createEnvironmentsDeploymentsCommand = createEnvironmentsDeploymentsCommand;
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const createDeployEnvironmentsCommand: () => Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,+BAA+B,QAAO,OAqBlD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDeployEnvironmentsCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const queries_1 = require("./queries");
6
+ const variables_1 = require("./variables");
7
+ const deployments_1 = require("./deployments");
8
+ const mutations_1 = require("./mutations");
9
+ const createDeployEnvironmentsCommand = () => {
10
+ const environments = new commander_1.Command("environments")
11
+ .description("Environment operations")
12
+ .alias("env");
13
+ environments.addCommand((0, mutations_1.createEnvironmentsCreateCommand)());
14
+ environments.addCommand((0, mutations_1.createEnvironmentsDeleteCommand)());
15
+ environments.addCommand((0, deployments_1.createEnvironmentsDeploymentsCommand)());
16
+ environments.addCommand((0, queries_1.createEnvironmentsGetCommand)());
17
+ environments.addCommand((0, queries_1.createEnvironmentsGetEdgeTokenCommand)());
18
+ environments.addCommand((0, queries_1.createEnvironmentsGetEditingSecretCommand)());
19
+ environments.addCommand((0, queries_1.createEnvironmentsLimitationCommand)());
20
+ environments.addCommand((0, mutations_1.createEnvironmentsLinkRepositoryCommand)());
21
+ environments.addCommand((0, queries_1.createEnvironmentsListCommand)());
22
+ environments.addCommand((0, mutations_1.createEnvironmentsPromoteCommand)());
23
+ environments.addCommand((0, mutations_1.createEnvironmentsRegenerateContextCommand)());
24
+ environments.addCommand((0, mutations_1.createEnvironmentsRestartCommand)());
25
+ environments.addCommand((0, mutations_1.createEnvironmentsUnlinkRepositoryCommand)());
26
+ environments.addCommand((0, variables_1.createEnvironmentsVariablesCommand)());
27
+ return environments;
28
+ };
29
+ exports.createDeployEnvironmentsCommand = createDeployEnvironmentsCommand;
@@ -0,0 +1,9 @@
1
+ import { Command } from "commander";
2
+ export declare const createEnvironmentsCreateCommand: () => Command;
3
+ export declare const createEnvironmentsRegenerateContextCommand: () => Command;
4
+ export declare const createEnvironmentsPromoteCommand: () => Command;
5
+ export declare const createEnvironmentsRestartCommand: () => Command;
6
+ export declare const createEnvironmentsLinkRepositoryCommand: () => Command;
7
+ export declare const createEnvironmentsUnlinkRepositoryCommand: () => Command;
8
+ export declare const createEnvironmentsDeleteCommand: () => Command;
9
+ //# sourceMappingURL=mutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/environments/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C,eAAO,MAAM,+BAA+B,QAAO,OAYlD,CAAC;AAEF,eAAO,MAAM,0CAA0C,QAAO,OAa7D,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAAO,OAkBnD,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAAO,OAiBnD,CAAC;AAEF,eAAO,MAAM,uCAAuC,QAAO,OAkB1D,CAAC;AAEF,eAAO,MAAM,yCAAyC,QAAO,OAa5D,CAAC;AAEF,eAAO,MAAM,+BAA+B,QAAO,OAYlD,CAAC"}