@seliseblocks/cli-os 0.1.4 → 0.1.5

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 (389) hide show
  1. package/AI_USAGE_GUIDE.md +328 -58
  2. package/README.md +83 -46
  3. package/dist/commands/auth/client-credentials/delete.d.ts +1 -0
  4. package/dist/commands/auth/client-credentials/delete.js +23 -0
  5. package/dist/commands/auth/client-credentials/list.d.ts +1 -0
  6. package/dist/commands/auth/client-credentials/list.js +14 -0
  7. package/dist/commands/auth/client-credentials/save.d.ts +1 -0
  8. package/dist/commands/auth/client-credentials/save.js +41 -0
  9. package/dist/commands/auth/config/get.d.ts +1 -0
  10. package/dist/commands/auth/config/get.js +14 -0
  11. package/dist/commands/auth/config/save.d.ts +1 -0
  12. package/dist/commands/auth/config/save.js +37 -0
  13. package/dist/commands/auth/idp/create.d.ts +1 -0
  14. package/dist/commands/auth/idp/create.js +46 -0
  15. package/dist/commands/auth/idp/delete.d.ts +1 -0
  16. package/dist/commands/auth/idp/delete.js +23 -0
  17. package/dist/commands/auth/idp/get.d.ts +1 -0
  18. package/dist/commands/auth/idp/get.js +16 -0
  19. package/dist/commands/auth/idp/list.d.ts +1 -0
  20. package/dist/commands/auth/idp/list.js +14 -0
  21. package/dist/commands/auth/idp/status.d.ts +1 -0
  22. package/dist/commands/auth/idp/status.js +27 -0
  23. package/dist/commands/auth/idp/update.d.ts +7 -0
  24. package/dist/commands/auth/idp/update.js +45 -0
  25. package/dist/commands/auth/oidc-clients/delete.d.ts +1 -0
  26. package/dist/commands/auth/oidc-clients/delete.js +23 -0
  27. package/dist/commands/auth/oidc-clients/get.d.ts +1 -0
  28. package/dist/commands/auth/oidc-clients/get.js +16 -0
  29. package/dist/commands/auth/oidc-clients/list.d.ts +1 -0
  30. package/dist/commands/auth/oidc-clients/list.js +14 -0
  31. package/dist/commands/auth/oidc-clients/rotate-secret.d.ts +1 -0
  32. package/dist/commands/auth/oidc-clients/rotate-secret.js +23 -0
  33. package/dist/commands/auth/oidc-clients/save.d.ts +2 -0
  34. package/dist/commands/auth/oidc-clients/save.js +57 -0
  35. package/dist/commands/auth/refresh.js +1 -1
  36. package/dist/commands/data/config/create.d.ts +1 -0
  37. package/dist/commands/data/config/create.js +38 -0
  38. package/dist/commands/data/config/get.d.ts +1 -0
  39. package/dist/commands/data/config/get.js +14 -0
  40. package/dist/commands/data/config/update.d.ts +1 -0
  41. package/dist/commands/data/config/update.js +41 -0
  42. package/dist/commands/data/files/create-folder.d.ts +1 -0
  43. package/dist/commands/data/files/create-folder.js +34 -0
  44. package/dist/commands/data/files/delete-folder.d.ts +1 -0
  45. package/dist/commands/data/files/delete-folder.js +25 -0
  46. package/dist/commands/data/files/delete.d.ts +1 -0
  47. package/dist/commands/data/files/delete.js +28 -0
  48. package/dist/commands/data/files/dms-list.d.ts +1 -0
  49. package/dist/commands/data/files/dms-list.js +27 -0
  50. package/dist/commands/data/files/dms-upload.d.ts +6 -0
  51. package/dist/commands/data/files/dms-upload.js +41 -0
  52. package/dist/commands/data/files/get-many.d.ts +1 -0
  53. package/dist/commands/data/files/get-many.js +24 -0
  54. package/dist/commands/data/files/get.d.ts +1 -0
  55. package/dist/commands/data/files/get.js +21 -0
  56. package/dist/commands/data/files/info.d.ts +1 -0
  57. package/dist/commands/data/files/info.js +30 -0
  58. package/dist/commands/data/files/presigned-upload-url.d.ts +6 -0
  59. package/dist/commands/data/files/presigned-upload-url.js +34 -0
  60. package/dist/commands/data/files/update-additional-info.d.ts +1 -0
  61. package/dist/commands/data/files/update-additional-info.js +26 -0
  62. package/dist/commands/data/files/upload-to-local-storage.d.ts +5 -0
  63. package/dist/commands/data/files/upload-to-local-storage.js +55 -0
  64. package/dist/commands/data/files/upload-to-url.d.ts +8 -0
  65. package/dist/commands/data/files/upload-to-url.js +36 -0
  66. package/dist/commands/data/files/upload.d.ts +7 -0
  67. package/dist/commands/data/files/upload.js +145 -0
  68. package/dist/commands/data/rules/policy/delete.d.ts +1 -0
  69. package/dist/commands/data/rules/policy/delete.js +24 -0
  70. package/dist/commands/data/rules/policy/get.d.ts +1 -0
  71. package/dist/commands/data/rules/policy/get.js +17 -0
  72. package/dist/commands/data/schema/aggregation.d.ts +1 -0
  73. package/dist/commands/data/schema/aggregation.js +26 -0
  74. package/dist/commands/data/schema/change-logs.d.ts +1 -0
  75. package/dist/commands/data/schema/change-logs.js +14 -0
  76. package/dist/commands/data/schema/delete.d.ts +1 -0
  77. package/dist/commands/data/schema/delete.js +24 -0
  78. package/dist/commands/data/schema/fields.d.ts +5 -0
  79. package/dist/commands/data/schema/fields.js +39 -0
  80. package/dist/commands/data/schema/get-by-name.d.ts +1 -0
  81. package/dist/commands/data/schema/get-by-name.js +17 -0
  82. package/dist/commands/data/schema/get.d.ts +1 -0
  83. package/dist/commands/data/schema/get.js +17 -0
  84. package/dist/commands/data/schema/info/list.d.ts +1 -0
  85. package/dist/commands/data/schema/info/list.js +15 -0
  86. package/dist/commands/data/schema/info/save.d.ts +1 -0
  87. package/dist/commands/data/schema/info/save.js +34 -0
  88. package/dist/commands/data/schema/info/update.d.ts +1 -0
  89. package/dist/commands/data/schema/info/update.js +35 -0
  90. package/dist/commands/data/sync.d.ts +7 -0
  91. package/dist/commands/data/sync.js +46 -0
  92. package/dist/commands/data/validation/by-schema-field.d.ts +1 -0
  93. package/dist/commands/data/validation/by-schema-field.js +18 -0
  94. package/dist/commands/data/validation/by-schema.d.ts +1 -0
  95. package/dist/commands/data/validation/by-schema.js +17 -0
  96. package/dist/commands/data/validation/delete.d.ts +1 -0
  97. package/dist/commands/data/validation/delete.js +24 -0
  98. package/dist/commands/data/validation/get.d.ts +1 -0
  99. package/dist/commands/data/validation/get.js +17 -0
  100. package/dist/commands/data/validation/list.d.ts +1 -0
  101. package/dist/commands/data/validation/list.js +25 -0
  102. package/dist/commands/data/validation/save.d.ts +6 -0
  103. package/dist/commands/data/validation/save.js +44 -0
  104. package/dist/commands/deselect.js +1 -1
  105. package/dist/commands/iam/email/available.d.ts +1 -0
  106. package/dist/commands/iam/email/available.js +17 -0
  107. package/dist/commands/iam/organizations/config-get.d.ts +1 -0
  108. package/dist/commands/iam/organizations/config-get.js +14 -0
  109. package/dist/commands/iam/organizations/config-save.d.ts +1 -0
  110. package/dist/commands/iam/organizations/config-save.js +34 -0
  111. package/dist/commands/iam/organizations/create.d.ts +1 -0
  112. package/dist/commands/iam/organizations/create.js +37 -0
  113. package/dist/commands/iam/organizations/get.d.ts +1 -0
  114. package/dist/commands/iam/organizations/get.js +16 -0
  115. package/dist/commands/iam/organizations/list.d.ts +1 -0
  116. package/dist/commands/iam/organizations/list.js +26 -0
  117. package/dist/commands/iam/organizations/my.d.ts +1 -0
  118. package/dist/commands/iam/organizations/my.js +14 -0
  119. package/dist/commands/iam/organizations/update.d.ts +1 -0
  120. package/dist/commands/iam/organizations/update.js +39 -0
  121. package/dist/commands/iam/permissions/by-severity.d.ts +1 -0
  122. package/dist/commands/iam/permissions/by-severity.js +14 -0
  123. package/dist/commands/iam/permissions/create.d.ts +1 -0
  124. package/dist/commands/iam/permissions/create.js +39 -0
  125. package/dist/commands/iam/permissions/get.d.ts +1 -0
  126. package/dist/commands/iam/permissions/get.js +16 -0
  127. package/dist/commands/iam/permissions/list.d.ts +1 -0
  128. package/dist/commands/iam/permissions/list.js +41 -0
  129. package/dist/commands/iam/permissions/update.d.ts +1 -0
  130. package/dist/commands/iam/permissions/update.js +40 -0
  131. package/dist/commands/iam/resources/features.d.ts +1 -0
  132. package/dist/commands/iam/resources/features.js +19 -0
  133. package/dist/commands/iam/resources/groups.d.ts +1 -0
  134. package/dist/commands/iam/resources/groups.js +14 -0
  135. package/dist/commands/iam/roles/assign-permissions.d.ts +1 -0
  136. package/dist/commands/iam/roles/assign-permissions.js +33 -0
  137. package/dist/commands/iam/roles/assignable.d.ts +1 -0
  138. package/dist/commands/iam/roles/assignable.js +14 -0
  139. package/dist/commands/iam/roles/create.d.ts +1 -0
  140. package/dist/commands/iam/roles/create.js +35 -0
  141. package/dist/commands/iam/roles/get.d.ts +1 -0
  142. package/dist/commands/iam/roles/get.js +16 -0
  143. package/dist/commands/iam/roles/list.d.ts +1 -0
  144. package/dist/commands/iam/roles/list.js +34 -0
  145. package/dist/commands/iam/roles/update.d.ts +1 -0
  146. package/dist/commands/iam/roles/update.js +35 -0
  147. package/dist/commands/iam/signup-settings/get.d.ts +1 -0
  148. package/dist/commands/iam/signup-settings/get.js +14 -0
  149. package/dist/commands/iam/signup-settings/save.d.ts +1 -0
  150. package/dist/commands/iam/signup-settings/save.js +32 -0
  151. package/dist/commands/iam/users/access-grant.d.ts +1 -0
  152. package/dist/commands/iam/users/access-grant.js +32 -0
  153. package/dist/commands/iam/users/access-revoke.d.ts +1 -0
  154. package/dist/commands/iam/users/access-revoke.js +24 -0
  155. package/dist/commands/iam/users/activate.d.ts +1 -0
  156. package/dist/commands/iam/users/activate.js +24 -0
  157. package/dist/commands/iam/users/create.d.ts +1 -0
  158. package/dist/commands/iam/users/create.js +39 -0
  159. package/dist/commands/iam/users/deactivate.d.ts +1 -0
  160. package/dist/commands/iam/users/deactivate.js +24 -0
  161. package/dist/commands/iam/users/exists.d.ts +1 -0
  162. package/dist/commands/iam/users/exists.js +17 -0
  163. package/dist/commands/iam/users/get.d.ts +1 -0
  164. package/dist/commands/iam/users/get.js +17 -0
  165. package/dist/commands/iam/users/list.d.ts +1 -0
  166. package/dist/commands/iam/users/list.js +34 -0
  167. package/dist/commands/iam/users/update.d.ts +1 -0
  168. package/dist/commands/iam/users/update.js +35 -0
  169. package/dist/commands/init.js +0 -12
  170. package/dist/commands/localization/assistant/translation-suggestion.d.ts +1 -0
  171. package/dist/commands/localization/assistant/translation-suggestion.js +35 -0
  172. package/dist/commands/localization/config/get-webhook.d.ts +1 -0
  173. package/dist/commands/localization/config/get-webhook.js +14 -0
  174. package/dist/commands/localization/config/save-webhook.d.ts +1 -0
  175. package/dist/commands/localization/config/save-webhook.js +47 -0
  176. package/dist/commands/localization/glossary/delete.d.ts +1 -0
  177. package/dist/commands/localization/glossary/delete.js +24 -0
  178. package/dist/commands/localization/glossary/get.d.ts +1 -0
  179. package/dist/commands/localization/glossary/get.js +17 -0
  180. package/dist/commands/localization/glossary/list.d.ts +1 -0
  181. package/dist/commands/localization/glossary/list.js +22 -0
  182. package/dist/commands/localization/glossary/save.d.ts +1 -0
  183. package/dist/commands/localization/glossary/save.js +38 -0
  184. package/dist/commands/localization/glossary/suggested.d.ts +1 -0
  185. package/dist/commands/localization/glossary/suggested.js +20 -0
  186. package/dist/commands/localization/key/delete-keys.d.ts +1 -0
  187. package/dist/commands/localization/key/delete-keys.js +28 -0
  188. package/dist/commands/localization/key/delete.d.ts +1 -0
  189. package/dist/commands/localization/key/delete.js +24 -0
  190. package/dist/commands/localization/key/generate-uilm-file.d.ts +1 -0
  191. package/dist/commands/localization/key/generate-uilm-file.js +29 -0
  192. package/dist/commands/localization/key/get-by-names.d.ts +1 -0
  193. package/dist/commands/localization/key/get-by-names.js +24 -0
  194. package/dist/commands/localization/key/get-language-file-generation-history.d.ts +1 -0
  195. package/dist/commands/localization/key/get-language-file-generation-history.js +19 -0
  196. package/dist/commands/localization/key/get-localization-timeline.d.ts +1 -0
  197. package/dist/commands/localization/key/get-localization-timeline.js +28 -0
  198. package/dist/commands/localization/key/get-timeline-by-operation-id.d.ts +1 -0
  199. package/dist/commands/localization/key/get-timeline-by-operation-id.js +21 -0
  200. package/dist/commands/localization/key/get-timeline.d.ts +1 -0
  201. package/dist/commands/localization/key/get-timeline.js +25 -0
  202. package/dist/commands/localization/key/get-uilm-exported-files.d.ts +1 -0
  203. package/dist/commands/localization/key/get-uilm-exported-files.js +22 -0
  204. package/dist/commands/localization/key/get-uilm-file.d.ts +1 -0
  205. package/dist/commands/localization/key/get-uilm-file.js +18 -0
  206. package/dist/commands/localization/key/get.d.ts +1 -0
  207. package/dist/commands/localization/key/get.js +17 -0
  208. package/dist/commands/localization/key/list.d.ts +1 -0
  209. package/dist/commands/localization/key/list.js +39 -0
  210. package/dist/commands/localization/key/rollback.d.ts +1 -0
  211. package/dist/commands/localization/key/rollback.js +24 -0
  212. package/dist/commands/localization/key/save.d.ts +1 -0
  213. package/dist/commands/localization/key/save.js +44 -0
  214. package/dist/commands/localization/key/translate-all.d.ts +1 -0
  215. package/dist/commands/localization/key/translate-all.js +30 -0
  216. package/dist/commands/localization/key/translate-and-export.d.ts +7 -0
  217. package/dist/commands/localization/key/translate-and-export.js +132 -0
  218. package/dist/commands/localization/key/translate-key.d.ts +1 -0
  219. package/dist/commands/localization/key/translate-key.js +27 -0
  220. package/dist/commands/localization/key/translate-keys.d.ts +1 -0
  221. package/dist/commands/localization/key/translate-keys.js +31 -0
  222. package/dist/commands/localization/key/uilm-export.d.ts +1 -0
  223. package/dist/commands/localization/key/uilm-export.js +33 -0
  224. package/dist/commands/localization/key/uilm-import.d.ts +1 -0
  225. package/dist/commands/localization/key/uilm-import.js +26 -0
  226. package/dist/commands/localization/language/delete.d.ts +1 -0
  227. package/dist/commands/localization/language/delete.js +24 -0
  228. package/dist/commands/localization/language/list-for-tenant.d.ts +1 -0
  229. package/dist/commands/localization/language/list-for-tenant.js +14 -0
  230. package/dist/commands/localization/language/list.d.ts +1 -0
  231. package/dist/commands/localization/language/list.js +14 -0
  232. package/dist/commands/localization/language/save.d.ts +1 -0
  233. package/dist/commands/localization/language/save.js +36 -0
  234. package/dist/commands/localization/language/set-default.d.ts +1 -0
  235. package/dist/commands/localization/language/set-default.js +24 -0
  236. package/dist/commands/localization/module/list-for-tenant.d.ts +1 -0
  237. package/dist/commands/localization/module/list-for-tenant.js +14 -0
  238. package/dist/commands/localization/module/list.d.ts +1 -0
  239. package/dist/commands/localization/module/list.js +14 -0
  240. package/dist/commands/localization/module/save.d.ts +1 -0
  241. package/dist/commands/localization/module/save.js +32 -0
  242. package/dist/commands/localization/module/tag-glossary.d.ts +1 -0
  243. package/dist/commands/localization/module/tag-glossary.js +28 -0
  244. package/dist/commands/mail/config/delete.d.ts +1 -0
  245. package/dist/commands/mail/config/delete.js +24 -0
  246. package/dist/commands/mail/config/duplicate.d.ts +1 -0
  247. package/dist/commands/mail/config/duplicate.js +24 -0
  248. package/dist/commands/mail/config/get.d.ts +1 -0
  249. package/dist/commands/mail/config/get.js +17 -0
  250. package/dist/commands/mail/config/list.d.ts +1 -0
  251. package/dist/commands/mail/config/list.js +14 -0
  252. package/dist/commands/mail/config/save.d.ts +1 -0
  253. package/dist/commands/mail/config/save.js +44 -0
  254. package/dist/commands/mail/mailbox/get.d.ts +1 -0
  255. package/dist/commands/mail/mailbox/get.js +17 -0
  256. package/dist/commands/mail/mailbox/list.d.ts +1 -0
  257. package/dist/commands/mail/mailbox/list.js +24 -0
  258. package/dist/commands/mail/send.d.ts +1 -0
  259. package/dist/commands/mail/send.js +40 -0
  260. package/dist/commands/mail/sendtoany.d.ts +1 -0
  261. package/dist/commands/mail/sendtoany.js +41 -0
  262. package/dist/commands/mail/template/clone.d.ts +1 -0
  263. package/dist/commands/mail/template/clone.js +33 -0
  264. package/dist/commands/mail/template/delete.d.ts +1 -0
  265. package/dist/commands/mail/template/delete.js +24 -0
  266. package/dist/commands/mail/template/get.d.ts +1 -0
  267. package/dist/commands/mail/template/get.js +17 -0
  268. package/dist/commands/mail/template/list.d.ts +1 -0
  269. package/dist/commands/mail/template/list.js +24 -0
  270. package/dist/commands/mail/template/save.d.ts +1 -0
  271. package/dist/commands/mail/template/save.js +37 -0
  272. package/dist/commands/mfa/backup-codes/generate.d.ts +1 -0
  273. package/dist/commands/mfa/backup-codes/generate.js +22 -0
  274. package/dist/commands/mfa/backup-codes/list.d.ts +1 -0
  275. package/dist/commands/mfa/backup-codes/list.js +14 -0
  276. package/dist/commands/mfa/backup-codes/use.d.ts +1 -0
  277. package/dist/commands/mfa/backup-codes/use.js +18 -0
  278. package/dist/commands/mfa/config-get.d.ts +1 -0
  279. package/dist/commands/mfa/config-get.js +14 -0
  280. package/dist/commands/mfa/config-save.d.ts +1 -0
  281. package/dist/commands/mfa/config-save.js +36 -0
  282. package/dist/commands/mfa/disable.d.ts +1 -0
  283. package/dist/commands/mfa/disable.js +22 -0
  284. package/dist/commands/mfa/generate.d.ts +1 -0
  285. package/dist/commands/mfa/generate.js +22 -0
  286. package/dist/commands/mfa/method-set.d.ts +1 -0
  287. package/dist/commands/mfa/method-set.js +20 -0
  288. package/dist/commands/mfa/resend.d.ts +1 -0
  289. package/dist/commands/mfa/resend.js +20 -0
  290. package/dist/commands/mfa/totp-enable.d.ts +10 -0
  291. package/dist/commands/mfa/totp-enable.js +52 -0
  292. package/dist/commands/mfa/totp-setup.d.ts +1 -0
  293. package/dist/commands/mfa/totp-setup.js +15 -0
  294. package/dist/commands/mfa/totp-verify-setup.d.ts +1 -0
  295. package/dist/commands/mfa/totp-verify-setup.js +17 -0
  296. package/dist/commands/mfa/verify.d.ts +1 -0
  297. package/dist/commands/mfa/verify.js +26 -0
  298. package/dist/commands/new/web.js +115 -15
  299. package/dist/commands/notification/delete.d.ts +1 -0
  300. package/dist/commands/notification/delete.js +24 -0
  301. package/dist/commands/notification/get.d.ts +1 -0
  302. package/dist/commands/notification/get.js +17 -0
  303. package/dist/commands/notification/list.d.ts +1 -0
  304. package/dist/commands/notification/list.js +22 -0
  305. package/dist/commands/notification/save.d.ts +1 -0
  306. package/dist/commands/notification/save.js +34 -0
  307. package/dist/commands/notifier/list.d.ts +1 -0
  308. package/dist/commands/notifier/list.js +23 -0
  309. package/dist/commands/notifier/mark-all-read.d.ts +1 -0
  310. package/dist/commands/notifier/mark-all-read.js +23 -0
  311. package/dist/commands/notifier/mark-read.d.ts +1 -0
  312. package/dist/commands/notifier/mark-read.js +24 -0
  313. package/dist/commands/notifier/notify.d.ts +1 -0
  314. package/dist/commands/notifier/notify.js +39 -0
  315. package/dist/commands/notifier/unread.d.ts +1 -0
  316. package/dist/commands/notifier/unread.js +25 -0
  317. package/dist/commands/projects/get.js +16 -14
  318. package/dist/commands/projects/list.js +2 -7
  319. package/dist/commands/release/builds/list.js +21 -3
  320. package/dist/commands/release/deploy.js +121 -30
  321. package/dist/commands/sdk/client.d.ts +1 -0
  322. package/dist/commands/sdk/client.js +99 -0
  323. package/dist/commands/secrets/get.d.ts +1 -0
  324. package/dist/commands/secrets/get.js +21 -0
  325. package/dist/commands/secrets/save.d.ts +1 -0
  326. package/dist/commands/secrets/save.js +51 -0
  327. package/dist/commands/skill/add.d.ts +1 -0
  328. package/dist/commands/skill/add.js +19 -0
  329. package/dist/commands/skill/list.d.ts +1 -0
  330. package/dist/commands/skill/list.js +15 -0
  331. package/dist/commands/skill/show.d.ts +1 -0
  332. package/dist/commands/skill/show.js +15 -0
  333. package/dist/commands/storage/config/delete.d.ts +1 -0
  334. package/dist/commands/storage/config/delete.js +24 -0
  335. package/dist/commands/storage/config/get.d.ts +1 -0
  336. package/dist/commands/storage/config/get.js +17 -0
  337. package/dist/commands/storage/config/list.d.ts +1 -0
  338. package/dist/commands/storage/config/list.js +14 -0
  339. package/dist/commands/storage/config/save.d.ts +1 -0
  340. package/dist/commands/storage/config/save.js +49 -0
  341. package/dist/index.js +950 -152
  342. package/dist/lib/api.d.ts +1 -1
  343. package/dist/lib/api.js +39 -21
  344. package/dist/lib/args.d.ts +3 -0
  345. package/dist/lib/args.js +15 -0
  346. package/dist/lib/auth.d.ts +5 -2
  347. package/dist/lib/auth.js +23 -35
  348. package/dist/lib/config.js +7 -7
  349. package/dist/lib/json-flag.d.ts +17 -0
  350. package/dist/lib/json-flag.js +55 -0
  351. package/dist/lib/project-info.d.ts +33 -0
  352. package/dist/lib/project-info.js +39 -0
  353. package/dist/lib/prompt.d.ts +2 -0
  354. package/dist/lib/prompt.js +28 -0
  355. package/dist/lib/scaffold-web/dashboard.js +1 -1
  356. package/dist/lib/scaffold-web/root-files.js +1 -1
  357. package/dist/lib/secret-store.js +7 -7
  358. package/dist/lib/skills.d.ts +17 -0
  359. package/dist/lib/skills.js +69 -0
  360. package/dist/lib/token.d.ts +2 -0
  361. package/dist/lib/token.js +12 -0
  362. package/dist/lib/workspace.d.ts +0 -4
  363. package/dist/lib/workspace.js +1 -2
  364. package/dist/skills/blocks-data-gateway-configuration/SKILL.md +204 -0
  365. package/dist/skills/blocks-data-gateway-crud/SKILL.md +223 -0
  366. package/dist/skills/blocks-data-storage/SKILL.md +161 -0
  367. package/dist/skills/blocks-frontend-local-https/SKILL.md +100 -0
  368. package/dist/skills/blocks-iam-access-control/SKILL.md +49 -0
  369. package/dist/skills/blocks-iam-access-control/flows/feature-gating.md +38 -0
  370. package/dist/skills/blocks-iam-access-control/flows/manage-roles-permissions.md +109 -0
  371. package/dist/skills/blocks-iam-account/SKILL.md +169 -0
  372. package/dist/skills/blocks-iam-mfa/SKILL.md +124 -0
  373. package/dist/skills/blocks-iam-organizations/SKILL.md +43 -0
  374. package/dist/skills/blocks-iam-organizations/flows/admin-mutations.md +89 -0
  375. package/dist/skills/blocks-iam-organizations/flows/read-and-switch.md +57 -0
  376. package/dist/skills/blocks-iam-sso-oidc-configuration/SKILL.md +89 -0
  377. package/dist/skills/blocks-iam-sso-oidc-implementation/SKILL.md +80 -0
  378. package/dist/skills/blocks-iam-users/SKILL.md +131 -0
  379. package/dist/skills/blocks-localization-configuration/SKILL.md +149 -0
  380. package/dist/skills/blocks-localization-implementation/SKILL.md +63 -0
  381. package/dist/skills/blocks-mail/SKILL.md +95 -0
  382. package/dist/skills/blocks-notification/SKILL.md +69 -0
  383. package/dist/skills/blocks-notifier/SKILL.md +107 -0
  384. package/dist/skills/blocks-onboarding/SKILL.md +78 -0
  385. package/dist/skills/blocks-release-deployment/SKILL.md +81 -0
  386. package/dist/skills/blocks-secrets/SKILL.md +81 -0
  387. package/dist/skills/blocks-storage-configuration/SKILL.md +93 -0
  388. package/dist/skills/lint.mjs +168 -0
  389. package/package.json +4 -4
@@ -0,0 +1,44 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { compact, jsonBodyFlag, listFlag } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationKeySave(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const value = stringFlag(flags, "value") || undefined;
11
+ const culture = stringFlag(flags, "culture") || undefined;
12
+ const body = {
13
+ ...(await jsonBodyFlag(flags)),
14
+ ...compact({
15
+ context: stringFlag(flags, "context") || undefined,
16
+ glossaryIds: listFlag(flags, "glossary-ids"),
17
+ isNewKey: booleanFlag(flags, "is-new-key") || undefined,
18
+ isPartiallyTranslated: booleanFlag(flags, "is-partially-translated") || undefined,
19
+ itemId: stringFlag(flags, "item-id") || undefined,
20
+ keyName: stringFlag(flags, "key-name") || undefined,
21
+ moduleId: stringFlag(flags, "module-id") || undefined,
22
+ resources: value ? [{ characterLength: value.length, culture, value }] : undefined,
23
+ routes: listFlag(flags, "routes"),
24
+ shouldPublish: booleanFlag(flags, "should-publish") || undefined
25
+ })
26
+ };
27
+ if (!body.keyName)
28
+ throw new Error("Provide --key-name (or set it in --body/--file).");
29
+ if (!body.moduleId)
30
+ throw new Error("Provide --module-id (or set it in --body/--file).");
31
+ if (booleanFlag(flags, "dry-run")) {
32
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/Save", request: body }, flags);
33
+ return;
34
+ }
35
+ await confirmMutation(flags, `Save localization key '${body.keyName}'.`);
36
+ const projectTenantId = await selectedProject(flags);
37
+ const result = await blocksRequest("/localization/v4/Key/Save", {
38
+ body,
39
+ impersonatedProjectAuth: true,
40
+ ...requestContext(flags),
41
+ projectTenantId
42
+ });
43
+ writeOutput(result, flags);
44
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationKeyTranslateAll(argv: string[]): Promise<void>;
@@ -0,0 +1,30 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { compact } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationKeyTranslateAll(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = compact({
11
+ defaultLanguage: stringFlag(flags, "default-language") || undefined,
12
+ messageCoRelationId: stringFlag(flags, "message-co-relation-id") || undefined,
13
+ moduleId: stringFlag(flags, "module-id") || undefined
14
+ });
15
+ if (!body.moduleId)
16
+ throw new Error("Provide --module-id.");
17
+ if (booleanFlag(flags, "dry-run")) {
18
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/TranslateAll", request: body }, flags);
19
+ return;
20
+ }
21
+ await confirmMutation(flags, `Translate all untranslated keys in module '${body.moduleId}'.`);
22
+ const projectTenantId = await selectedProject(flags);
23
+ const result = await blocksRequest("/localization/v4/Key/TranslateAll", {
24
+ body,
25
+ impersonatedProjectAuth: true,
26
+ ...requestContext(flags),
27
+ projectTenantId
28
+ });
29
+ writeOutput(result, flags);
30
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Composed "translate this module and give me the export" flow: translate-all -> (optionally
3
+ * wait for translation to finish, since it's processed async) -> generate-uilm-file ->
4
+ * uilm-export. Without --wait, this just fires all 3 steps back to back (matching how a user
5
+ * would run them by hand today) -- pass --wait to actually poll for completion in between.
6
+ */
7
+ export declare function localizationKeyTranslateAndExport(argv: string[]): Promise<void>;
@@ -0,0 +1,132 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { booleanFlag, integerFlag, stringFlag } from "../../../lib/args.js";
3
+ import { blocksRequest } from "../../../lib/api.js";
4
+ import { confirmMutation } from "../../../lib/confirm.js";
5
+ import { CliActionableError } from "../../../lib/errors.js";
6
+ import { writeOutput } from "../../../lib/output.js";
7
+ import { requestContext } from "../../../lib/request-context.js";
8
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
9
+ import { localizationKeyGenerateUilmFile } from "./generate-uilm-file.js";
10
+ import { localizationKeyTranslateAll } from "./translate-all.js";
11
+ import { localizationKeyUilmExport } from "./uilm-export.js";
12
+ const DEFAULT_POLL_INTERVAL_SECONDS = 10;
13
+ const DEFAULT_WAIT_TIMEOUT_SECONDS = 600;
14
+ const TERMINAL_TEXT_PATTERN = /complet|success|fail|error|done/i;
15
+ /**
16
+ * Composed "translate this module and give me the export" flow: translate-all -> (optionally
17
+ * wait for translation to finish, since it's processed async) -> generate-uilm-file ->
18
+ * uilm-export. Without --wait, this just fires all 3 steps back to back (matching how a user
19
+ * would run them by hand today) -- pass --wait to actually poll for completion in between.
20
+ */
21
+ export async function localizationKeyTranslateAndExport(argv) {
22
+ const { flags } = parseCommand(argv);
23
+ const moduleId = stringFlag(flags, "module-id", { required: true });
24
+ const dryRun = booleanFlag(flags, "dry-run");
25
+ const wait = booleanFlag(flags, "wait");
26
+ const correlationId = stringFlag(flags, "message-co-relation-id") || randomUUID();
27
+ if (dryRun) {
28
+ writeOutput({
29
+ dryRun: true,
30
+ messageCoRelationId: correlationId,
31
+ moduleId,
32
+ steps: [
33
+ "localization:key:translate-all",
34
+ ...(wait ? ["(wait for translation to finish via GetTimelineByOperationId)"] : []),
35
+ "localization:key:generate-uilm-file",
36
+ "localization:key:uilm-export"
37
+ ]
38
+ }, flags);
39
+ return;
40
+ }
41
+ await confirmMutation(flags, `Translate all untranslated keys in module '${moduleId}'${wait ? ", wait for completion," : ""} then generate and export the UILM file.`);
42
+ console.log("== localization:key:translate-all ==");
43
+ await localizationKeyTranslateAll([
44
+ "--module-id",
45
+ moduleId,
46
+ ...(stringFlag(flags, "default-language") ? ["--default-language", stringFlag(flags, "default-language")] : []),
47
+ "--message-co-relation-id",
48
+ correlationId,
49
+ "--yes"
50
+ ]);
51
+ if (wait) {
52
+ await waitForTranslation(correlationId, flags);
53
+ }
54
+ const guid = stringFlag(flags, "guid");
55
+ console.log("== localization:key:generate-uilm-file ==");
56
+ await localizationKeyGenerateUilmFile(["--module-id", moduleId, ...(guid ? ["--guid", guid] : []), "--yes"]);
57
+ console.log("== localization:key:uilm-export ==");
58
+ await localizationKeyUilmExport([...passThroughUilmExportFlags(flags), "--yes"]);
59
+ }
60
+ function passThroughUilmExportFlags(flags) {
61
+ const args = [];
62
+ for (const name of ["output-type", "app-ids", "languages", "reference-file-id", "caller-tenant-id", "start-date", "end-date"]) {
63
+ const value = stringFlag(flags, name);
64
+ if (value)
65
+ args.push(`--${name}`, value);
66
+ }
67
+ return args;
68
+ }
69
+ async function waitForTranslation(operationId, flags) {
70
+ const pollIntervalMs = integerFlag(flags, "poll-interval", DEFAULT_POLL_INTERVAL_SECONDS) * 1000;
71
+ const timeoutMs = integerFlag(flags, "timeout", DEFAULT_WAIT_TIMEOUT_SECONDS) * 1000;
72
+ const deadline = Date.now() + timeoutMs;
73
+ const projectTenantId = await selectedProject(flags);
74
+ console.log(`Waiting for translation operation '${operationId}' (polling every ${pollIntervalMs / 1000}s, timeout ${timeoutMs / 1000}s)...`);
75
+ let previousCount = -1;
76
+ let stableRounds = 0;
77
+ while (true) {
78
+ const result = await blocksRequest("/localization/v4/Key/GetTimelineByOperationId", {
79
+ impersonatedProjectAuth: true,
80
+ ...requestContext(flags),
81
+ projectTenantId,
82
+ query: { OperationId: operationId, PageNumber: 1, PageSize: 50 }
83
+ });
84
+ console.log(JSON.stringify(result, null, 2));
85
+ const entries = normalizeList(result);
86
+ if (containsTerminalText(result))
87
+ return;
88
+ if (entries.length > 0) {
89
+ if (entries.length === previousCount) {
90
+ stableRounds++;
91
+ // Timeline entry count unchanged across 2 consecutive polls -- treat as settled,
92
+ // since there's no documented explicit "done" field to check against.
93
+ if (stableRounds >= 2)
94
+ return;
95
+ }
96
+ else {
97
+ stableRounds = 0;
98
+ }
99
+ previousCount = entries.length;
100
+ }
101
+ if (Date.now() >= deadline) {
102
+ throw new CliActionableError(`Timed out after ${timeoutMs / 1000}s waiting for translation operation '${operationId}' to settle.`, "translation_wait_timeout", `Check manually with 'blocks localization key get-timeline-by-operation-id ${operationId}', then run generate-uilm-file/uilm-export yourself once ready.`);
103
+ }
104
+ await delay(pollIntervalMs);
105
+ }
106
+ }
107
+ function normalizeList(raw) {
108
+ if (Array.isArray(raw))
109
+ return raw;
110
+ if (raw && typeof raw === "object") {
111
+ for (const key of ["data", "items", "results", "timeline"]) {
112
+ const value = raw[key];
113
+ if (Array.isArray(value))
114
+ return value;
115
+ }
116
+ }
117
+ return [];
118
+ }
119
+ function containsTerminalText(value, depth = 0) {
120
+ if (depth > 3 || value === null || value === undefined)
121
+ return false;
122
+ if (typeof value === "string")
123
+ return TERMINAL_TEXT_PATTERN.test(value);
124
+ if (Array.isArray(value))
125
+ return value.some((item) => containsTerminalText(item, depth + 1));
126
+ if (typeof value === "object")
127
+ return Object.values(value).some((item) => containsTerminalText(item, depth + 1));
128
+ return false;
129
+ }
130
+ function delay(ms) {
131
+ return new Promise((resolve) => setTimeout(resolve, ms));
132
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationKeyTranslateKey(argv: string[]): Promise<void>;
@@ -0,0 +1,27 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
3
+ import { blocksRequest } from "../../../lib/api.js";
4
+ import { confirmMutation } from "../../../lib/confirm.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationKeyTranslateKey(argv) {
9
+ const { args, flags } = parseCommand(argv);
10
+ const keyId = args[0] || stringFlag(flags, "key-id", { required: true });
11
+ const defaultLanguage = stringFlag(flags, "default-language", { required: true });
12
+ const messageCoRelationId = stringFlag(flags, "message-co-relation-id", { defaultValue: randomUUID() });
13
+ const body = { defaultLanguage, keyId, messageCoRelationId };
14
+ if (booleanFlag(flags, "dry-run")) {
15
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/TranslateKey", request: body }, flags);
16
+ return;
17
+ }
18
+ await confirmMutation(flags, `Translate localization key '${keyId}' from default language '${defaultLanguage}'.`);
19
+ const projectTenantId = await selectedProject(flags);
20
+ const result = await blocksRequest("/localization/v4/Key/TranslateKey", {
21
+ body,
22
+ impersonatedProjectAuth: true,
23
+ ...requestContext(flags),
24
+ projectTenantId
25
+ });
26
+ writeOutput(result, flags);
27
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationKeyTranslateKeys(argv: string[]): Promise<void>;
@@ -0,0 +1,31 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
3
+ import { blocksRequest } from "../../../lib/api.js";
4
+ import { confirmMutation } from "../../../lib/confirm.js";
5
+ import { listFlag } from "../../../lib/json-flag.js";
6
+ import { writeOutput } from "../../../lib/output.js";
7
+ import { requestContext } from "../../../lib/request-context.js";
8
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
9
+ export async function localizationKeyTranslateKeys(argv) {
10
+ const { args, flags } = parseCommand(argv);
11
+ const keyIds = listFlag(flags, "key-ids") ?? args;
12
+ if (!keyIds.length)
13
+ throw new Error("Provide key ids as arguments or --key-ids a,b.");
14
+ const defaultLanguage = stringFlag(flags, "default-language", { required: true });
15
+ const messageCoRelationId = stringFlag(flags, "message-co-relation-id", { defaultValue: randomUUID() });
16
+ const projectTenantId = await selectedProject(flags);
17
+ const projectKey = stringFlag(flags, "project-key", { defaultValue: projectTenantId });
18
+ const body = { defaultLanguage, keyIds, messageCoRelationId, projectKey };
19
+ if (booleanFlag(flags, "dry-run")) {
20
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/TranslateKeys", request: body }, flags);
21
+ return;
22
+ }
23
+ await confirmMutation(flags, `Translate ${keyIds.length} localization key(s) from default language '${defaultLanguage}'.`);
24
+ const result = await blocksRequest("/localization/v4/Key/TranslateKeys", {
25
+ body,
26
+ impersonatedProjectAuth: true,
27
+ ...requestContext(flags),
28
+ projectTenantId
29
+ });
30
+ writeOutput(result, flags);
31
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationKeyUilmExport(argv: string[]): Promise<void>;
@@ -0,0 +1,33 @@
1
+ import { booleanFlag, integerFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { compact, listFlag } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationKeyUilmExport(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = compact({
11
+ appIds: listFlag(flags, "app-ids"),
12
+ callerTenantId: stringFlag(flags, "caller-tenant-id") || undefined,
13
+ endDate: stringFlag(flags, "end-date") || undefined,
14
+ languages: listFlag(flags, "languages"),
15
+ messageCoRelationId: stringFlag(flags, "message-co-relation-id") || undefined,
16
+ outputType: integerFlag(flags, "output-type", 0),
17
+ referenceFileId: stringFlag(flags, "reference-file-id") || undefined,
18
+ startDate: stringFlag(flags, "start-date") || undefined
19
+ });
20
+ if (booleanFlag(flags, "dry-run")) {
21
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/UilmExport", request: body }, flags);
22
+ return;
23
+ }
24
+ await confirmMutation(flags, "Export UILM file.");
25
+ const projectTenantId = await selectedProject(flags);
26
+ const result = await blocksRequest("/localization/v4/Key/UilmExport", {
27
+ body,
28
+ impersonatedProjectAuth: true,
29
+ ...requestContext(flags),
30
+ projectTenantId
31
+ });
32
+ writeOutput(result, flags);
33
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationKeyUilmImport(argv: string[]): Promise<void>;
@@ -0,0 +1,26 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
3
+ import { blocksRequest } from "../../../lib/api.js";
4
+ import { confirmMutation } from "../../../lib/confirm.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationKeyUilmImport(argv) {
9
+ const { args, flags } = parseCommand(argv);
10
+ const fileId = args[0] || stringFlag(flags, "file-id", { required: true });
11
+ const messageCoRelationId = stringFlag(flags, "message-co-relation-id", { defaultValue: randomUUID() });
12
+ const body = { fileId, messageCoRelationId };
13
+ if (booleanFlag(flags, "dry-run")) {
14
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Key/UilmImport", request: body }, flags);
15
+ return;
16
+ }
17
+ await confirmMutation(flags, `Import UILM file '${fileId}'.`);
18
+ const projectTenantId = await selectedProject(flags);
19
+ const result = await blocksRequest("/localization/v4/Key/UilmImport", {
20
+ body,
21
+ impersonatedProjectAuth: true,
22
+ ...requestContext(flags),
23
+ projectTenantId
24
+ });
25
+ writeOutput(result, flags);
26
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationLanguageDelete(argv: string[]): Promise<void>;
@@ -0,0 +1,24 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { writeOutput } from "../../../lib/output.js";
5
+ import { requestContext } from "../../../lib/request-context.js";
6
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
7
+ export async function localizationLanguageDelete(argv) {
8
+ const { args, flags } = parseCommand(argv);
9
+ const languageName = args[0] || stringFlag(flags, "language-name", { required: true });
10
+ if (booleanFlag(flags, "dry-run")) {
11
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Language/Delete", query: { LanguageName: languageName } }, flags);
12
+ return;
13
+ }
14
+ await confirmMutation(flags, `Delete language '${languageName}'.`);
15
+ const projectTenantId = await selectedProject(flags);
16
+ const result = await blocksRequest("/localization/v4/Language/Delete", {
17
+ impersonatedProjectAuth: true,
18
+ method: "DELETE",
19
+ ...requestContext(flags),
20
+ projectTenantId,
21
+ query: { LanguageName: languageName }
22
+ });
23
+ writeOutput(result, flags);
24
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationLanguageListForTenant(argv: string[]): Promise<void>;
@@ -0,0 +1,14 @@
1
+ import { blocksRequest } from "../../../lib/api.js";
2
+ import { writeOutput } from "../../../lib/output.js";
3
+ import { requestContext } from "../../../lib/request-context.js";
4
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
5
+ export async function localizationLanguageListForTenant(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectTenantId = await selectedProject(flags);
8
+ const result = await blocksRequest("/localization/v4/Language/GetLanguagesForCurrentTenant", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationLanguageList(argv: string[]): Promise<void>;
@@ -0,0 +1,14 @@
1
+ import { blocksRequest } from "../../../lib/api.js";
2
+ import { writeOutput } from "../../../lib/output.js";
3
+ import { requestContext } from "../../../lib/request-context.js";
4
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
5
+ export async function localizationLanguageList(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectTenantId = await selectedProject(flags);
8
+ const result = await blocksRequest("/localization/v4/Language/Gets", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationLanguageSave(argv: string[]): Promise<void>;
@@ -0,0 +1,36 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { compact, jsonBodyFlag } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationLanguageSave(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = {
11
+ ...(await jsonBodyFlag(flags)),
12
+ ...compact({
13
+ isDefault: booleanFlag(flags, "is-default") || undefined,
14
+ itemId: stringFlag(flags, "item-id") || undefined,
15
+ languageCode: stringFlag(flags, "language-code") || undefined,
16
+ languageName: stringFlag(flags, "language-name") || undefined
17
+ })
18
+ };
19
+ if (!body.languageName)
20
+ throw new Error("Provide --language-name (or set it in --body/--file).");
21
+ if (!body.languageCode)
22
+ throw new Error("Provide --language-code (or set it in --body/--file).");
23
+ if (booleanFlag(flags, "dry-run")) {
24
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Language/Save", request: body }, flags);
25
+ return;
26
+ }
27
+ await confirmMutation(flags, `Save language '${body.languageName}' (${body.languageCode}).`);
28
+ const projectTenantId = await selectedProject(flags);
29
+ const result = await blocksRequest("/localization/v4/Language/Save", {
30
+ body,
31
+ impersonatedProjectAuth: true,
32
+ ...requestContext(flags),
33
+ projectTenantId
34
+ });
35
+ writeOutput(result, flags);
36
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationLanguageSetDefault(argv: string[]): Promise<void>;
@@ -0,0 +1,24 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { writeOutput } from "../../../lib/output.js";
5
+ import { requestContext } from "../../../lib/request-context.js";
6
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
7
+ export async function localizationLanguageSetDefault(argv) {
8
+ const { args, flags } = parseCommand(argv);
9
+ const languageName = args[0] || stringFlag(flags, "language-name", { required: true });
10
+ const body = { languageName };
11
+ if (booleanFlag(flags, "dry-run")) {
12
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Language/SetDefault", request: body }, flags);
13
+ return;
14
+ }
15
+ await confirmMutation(flags, `Set '${languageName}' as the default language.`);
16
+ const projectTenantId = await selectedProject(flags);
17
+ const result = await blocksRequest("/localization/v4/Language/SetDefault", {
18
+ body,
19
+ impersonatedProjectAuth: true,
20
+ ...requestContext(flags),
21
+ projectTenantId
22
+ });
23
+ writeOutput(result, flags);
24
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationModuleListForTenant(argv: string[]): Promise<void>;
@@ -0,0 +1,14 @@
1
+ import { blocksRequest } from "../../../lib/api.js";
2
+ import { writeOutput } from "../../../lib/output.js";
3
+ import { requestContext } from "../../../lib/request-context.js";
4
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
5
+ export async function localizationModuleListForTenant(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectTenantId = await selectedProject(flags);
8
+ const result = await blocksRequest("/localization/v4/Module/GetModulesForCurrentTenant", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationModuleList(argv: string[]): Promise<void>;
@@ -0,0 +1,14 @@
1
+ import { blocksRequest } from "../../../lib/api.js";
2
+ import { writeOutput } from "../../../lib/output.js";
3
+ import { requestContext } from "../../../lib/request-context.js";
4
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
5
+ export async function localizationModuleList(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectTenantId = await selectedProject(flags);
8
+ const result = await blocksRequest("/localization/v4/Module/Gets", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationModuleSave(argv: string[]): Promise<void>;
@@ -0,0 +1,32 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { compact, jsonBodyFlag } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationModuleSave(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = {
11
+ ...(await jsonBodyFlag(flags)),
12
+ ...compact({
13
+ itemId: stringFlag(flags, "item-id") || undefined,
14
+ moduleName: stringFlag(flags, "module-name") || undefined
15
+ })
16
+ };
17
+ if (!body.moduleName)
18
+ throw new Error("Provide --module-name (or set it in --body/--file).");
19
+ if (booleanFlag(flags, "dry-run")) {
20
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Module/Save", request: body }, flags);
21
+ return;
22
+ }
23
+ await confirmMutation(flags, `Save localization module '${body.moduleName}'.`);
24
+ const projectTenantId = await selectedProject(flags);
25
+ const result = await blocksRequest("/localization/v4/Module/Save", {
26
+ body,
27
+ impersonatedProjectAuth: true,
28
+ ...requestContext(flags),
29
+ projectTenantId
30
+ });
31
+ writeOutput(result, flags);
32
+ }
@@ -0,0 +1 @@
1
+ export declare function localizationModuleTagGlossary(argv: string[]): Promise<void>;
@@ -0,0 +1,28 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { listFlag } from "../../../lib/json-flag.js";
5
+ import { writeOutput } from "../../../lib/output.js";
6
+ import { requestContext } from "../../../lib/request-context.js";
7
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
8
+ export async function localizationModuleTagGlossary(argv) {
9
+ const { args, flags } = parseCommand(argv);
10
+ const moduleId = args[0] || stringFlag(flags, "module-id", { required: true });
11
+ const glossaryIds = listFlag(flags, "glossary-ids");
12
+ if (!glossaryIds?.length)
13
+ throw new Error("Provide --glossary-ids a,b.");
14
+ const body = { glossaryIds, moduleId };
15
+ if (booleanFlag(flags, "dry-run")) {
16
+ writeOutput({ dryRun: true, endpoint: "/localization/v4/Module/TagGlossary", request: body }, flags);
17
+ return;
18
+ }
19
+ await confirmMutation(flags, `Tag ${glossaryIds.length} glossary term(s) to module '${moduleId}'.`);
20
+ const projectTenantId = await selectedProject(flags);
21
+ const result = await blocksRequest("/localization/v4/Module/TagGlossary", {
22
+ body,
23
+ impersonatedProjectAuth: true,
24
+ ...requestContext(flags),
25
+ projectTenantId
26
+ });
27
+ writeOutput(result, flags);
28
+ }
@@ -0,0 +1 @@
1
+ export declare function mailConfigDelete(argv: string[]): Promise<void>;
@@ -0,0 +1,24 @@
1
+ import { booleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { confirmMutation } from "../../../lib/confirm.js";
4
+ import { writeOutput } from "../../../lib/output.js";
5
+ import { requestContext } from "../../../lib/request-context.js";
6
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
7
+ export async function mailConfigDelete(argv) {
8
+ const { args, flags } = parseCommand(argv);
9
+ const id = args[0] || stringFlag(flags, "id", { required: true });
10
+ if (booleanFlag(flags, "dry-run")) {
11
+ writeOutput({ dryRun: true, endpoint: "/os/v4/Mail/Delete", query: { ConfigurationId: id } }, flags);
12
+ return;
13
+ }
14
+ await confirmMutation(flags, `Delete mail configuration '${id}'.`);
15
+ const projectKey = await selectedProject(flags);
16
+ const result = await blocksRequest("/os/v4/Mail/Delete", {
17
+ impersonatedProjectAuth: true,
18
+ method: "DELETE",
19
+ ...requestContext(flags),
20
+ projectTenantId: projectKey,
21
+ query: { ConfigurationId: id }
22
+ });
23
+ writeOutput(result, flags);
24
+ }
@@ -0,0 +1 @@
1
+ export declare function mailConfigDuplicate(argv: string[]): Promise<void>;