@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,18 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function dataValidationBySchemaField(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const schemaId = args[0] || stringFlag(flags, "schema-id", { required: true });
9
+ const fieldName = args[1] || stringFlag(flags, "field-name", { required: true });
10
+ const projectKey = await selectedProject(flags);
11
+ const result = await blocksRequest("/data/v4/data-validations/by-schema-and-field", {
12
+ impersonatedProjectAuth: true,
13
+ ...requestContext(flags),
14
+ projectTenantId: projectKey,
15
+ query: { fieldName, schemaId }
16
+ });
17
+ writeOutput(result, flags);
18
+ }
@@ -0,0 +1 @@
1
+ export declare function dataValidationBySchema(argv: string[]): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function dataValidationBySchema(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const schemaId = args[0] || stringFlag(flags, "schema-id", { required: true });
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest("/data/v4/data-validations/by-schema-id", {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey,
14
+ query: { schemaId }
15
+ });
16
+ writeOutput(result, flags);
17
+ }
@@ -0,0 +1 @@
1
+ export declare function dataValidationDelete(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 dataValidationDelete(argv) {
8
+ const { args, flags } = parseCommand(argv);
9
+ const validationId = args[0] || stringFlag(flags, "validation-id", { required: true });
10
+ if (booleanFlag(flags, "dry-run")) {
11
+ writeOutput({ dryRun: true, endpoint: "/data/v4/data-validations", validationId }, flags);
12
+ return;
13
+ }
14
+ await confirmMutation(flags, `Delete data validation '${validationId}'.`);
15
+ const projectKey = await selectedProject(flags);
16
+ const result = await blocksRequest("/data/v4/data-validations", {
17
+ impersonatedProjectAuth: true,
18
+ method: "DELETE",
19
+ ...requestContext(flags),
20
+ projectTenantId: projectKey,
21
+ query: { validationId }
22
+ });
23
+ writeOutput(result, flags);
24
+ }
@@ -0,0 +1 @@
1
+ export declare function dataValidationGet(argv: string[]): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function dataValidationGet(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const validationId = args[0] || stringFlag(flags, "validation-id", { required: true });
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest("/data/v4/data-validations/get-by-id", {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey,
14
+ query: { validationId }
15
+ });
16
+ writeOutput(result, flags);
17
+ }
@@ -0,0 +1 @@
1
+ export declare function dataValidationList(argv: string[]): Promise<void>;
@@ -0,0 +1,25 @@
1
+ import { booleanFlag, integerFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function dataValidationList(argv) {
7
+ const { flags } = parseCommand(argv);
8
+ const projectKey = await selectedProject(flags);
9
+ const result = await blocksRequest("/data/v4/data-validations", {
10
+ impersonatedProjectAuth: true,
11
+ ...requestContext(flags),
12
+ projectTenantId: projectKey,
13
+ query: {
14
+ FieldName: stringFlag(flags, "field-name") || undefined,
15
+ Keyword: stringFlag(flags, "keyword") || undefined,
16
+ PageNo: integerFlag(flags, "page", 1),
17
+ PageSize: integerFlag(flags, "page-size", 100),
18
+ ProjectKey: projectKey,
19
+ SchemaId: stringFlag(flags, "schema-id") || undefined,
20
+ SortBy: stringFlag(flags, "sort-by") || undefined,
21
+ SortDescending: booleanFlag(flags, "sort-desc") || undefined
22
+ }
23
+ });
24
+ writeOutput(result, flags);
25
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Upsert: omit --item-id to create, pass it to update. `validations` (an array of
3
+ * { type, value, secondaryValue?, errorMessage?, isActive }) has no scalar flag
4
+ * equivalent - pass it via --body/--file, e.g. --body '{"validations":[{"type":1,"value":"^[0-9]+$","isActive":true}]}'.
5
+ */
6
+ export declare function dataValidationSave(argv: string[]): Promise<void>;
@@ -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 } 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
+ /**
9
+ * Upsert: omit --item-id to create, pass it to update. `validations` (an array of
10
+ * { type, value, secondaryValue?, errorMessage?, isActive }) has no scalar flag
11
+ * equivalent - pass it via --body/--file, e.g. --body '{"validations":[{"type":1,"value":"^[0-9]+$","isActive":true}]}'.
12
+ */
13
+ export async function dataValidationSave(argv) {
14
+ const { flags } = parseCommand(argv);
15
+ const body = {
16
+ ...(await jsonBodyFlag(flags)),
17
+ ...compact({
18
+ fieldName: stringFlag(flags, "field-name") || undefined,
19
+ itemId: stringFlag(flags, "item-id") || undefined,
20
+ schemaId: stringFlag(flags, "schema-id") || undefined
21
+ })
22
+ };
23
+ if (!body.schemaId)
24
+ throw new Error("Provide --schema-id (or set it in --body/--file).");
25
+ if (!body.fieldName)
26
+ throw new Error("Provide --field-name (or set it in --body/--file).");
27
+ if (!Array.isArray(body.validations) || !body.validations.length) {
28
+ throw new Error("Provide validation rules via --body/--file, e.g. { \"validations\": [{ \"type\": 1, \"value\": \"...\", \"isActive\": true }] }.");
29
+ }
30
+ if (booleanFlag(flags, "dry-run")) {
31
+ writeOutput({ dryRun: true, endpoint: "/data/v4/data-validations", request: body }, flags);
32
+ return;
33
+ }
34
+ await confirmMutation(flags, `Save data validation for schema '${body.schemaId}' field '${body.fieldName}'.`);
35
+ const projectKey = await selectedProject(flags);
36
+ const result = await blocksRequest("/data/v4/data-validations", {
37
+ body,
38
+ impersonatedProjectAuth: true,
39
+ method: body.itemId ? "PUT" : "POST",
40
+ ...requestContext(flags),
41
+ projectTenantId: projectKey
42
+ });
43
+ writeOutput(result, flags);
44
+ }
@@ -27,5 +27,5 @@ export async function deselectProject(argv) {
27
27
  });
28
28
  }
29
29
  console.log(`Deselected project tenant ${tenantId}.`);
30
- console.log("Run 'blocks-os use <tenantId>' to select a project again.");
30
+ console.log("Run 'blocks use <tenantId>' to select a project again.");
31
31
  }
@@ -0,0 +1 @@
1
+ export declare function iamEmailAvailable(argv: string[]): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function iamEmailAvailable(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const email = args[0] || stringFlag(flags, "email", { required: true });
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest("/iam/v4/iam/email/available", {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey,
14
+ query: { Email: email }
15
+ });
16
+ writeOutput(result, flags);
17
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsConfigGet(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 iamOrganizationsConfigGet(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectKey = await selectedProject(flags);
8
+ const result = await blocksRequest("/iam/v4/iam/organizations/config", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId: projectKey
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsConfigSave(argv: string[]): Promise<void>;
@@ -0,0 +1,34 @@
1
+ import { booleanFlag } 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 iamOrganizationsConfigSave(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = {
11
+ ...(await jsonBodyFlag(flags)),
12
+ ...compact({
13
+ allowOrgCreationFromCloud: booleanFlag(flags, "allow-org-creation-from-cloud") || undefined,
14
+ allowOrgCreationFromConstruct: booleanFlag(flags, "allow-org-creation-from-construct") || undefined,
15
+ allowOrgCreationFromPortal: booleanFlag(flags, "allow-org-creation-from-portal") || undefined,
16
+ allowOrgCreationFromSignup: booleanFlag(flags, "allow-org-creation-from-signup") || undefined,
17
+ consentForMultiOrgEnable: booleanFlag(flags, "consent-for-multi-org-enable") || undefined,
18
+ isMultiOrgEnabled: booleanFlag(flags, "multi-org-enabled") || undefined
19
+ })
20
+ };
21
+ if (booleanFlag(flags, "dry-run")) {
22
+ writeOutput({ dryRun: true, endpoint: "/iam/v4/iam/organizations/config", request: body }, flags);
23
+ return;
24
+ }
25
+ await confirmMutation(flags, "Save IAM organization configuration for the selected project.");
26
+ const projectKey = await selectedProject(flags);
27
+ const result = await blocksRequest("/iam/v4/iam/organizations/config", {
28
+ body,
29
+ impersonatedProjectAuth: true,
30
+ ...requestContext(flags),
31
+ projectTenantId: projectKey
32
+ });
33
+ writeOutput(result, flags);
34
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsCreate(argv: string[]): Promise<void>;
@@ -0,0 +1,37 @@
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 iamOrganizationsCreate(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = {
11
+ ...(await jsonBodyFlag(flags)),
12
+ ...compact({
13
+ defaultPermissionsForMembers: listFlag(flags, "default-permissions"),
14
+ defaultRoleForMembers: listFlag(flags, "default-roles"),
15
+ description: stringFlag(flags, "description") || undefined,
16
+ email: stringFlag(flags, "email") || undefined,
17
+ name: stringFlag(flags, "name") || undefined,
18
+ phoneNumber: stringFlag(flags, "phone-number") || undefined,
19
+ websiteUrl: stringFlag(flags, "website-url") || undefined
20
+ })
21
+ };
22
+ if (!body.name)
23
+ throw new Error("Provide --name (or set it in --body/--file).");
24
+ if (booleanFlag(flags, "dry-run")) {
25
+ writeOutput({ dryRun: true, endpoint: "/iam/v4/iam/organizations/create", request: body }, flags);
26
+ return;
27
+ }
28
+ await confirmMutation(flags, `Create IAM organization '${body.name}'.`);
29
+ const projectKey = await selectedProject(flags);
30
+ const result = await blocksRequest("/iam/v4/iam/organizations/create", {
31
+ body,
32
+ impersonatedProjectAuth: true,
33
+ ...requestContext(flags),
34
+ projectTenantId: projectKey
35
+ });
36
+ writeOutput(result, flags);
37
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsGet(argv: string[]): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function iamOrganizationsGet(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const id = args[0] || stringFlag(flags, "id", { required: true });
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest(`/iam/v4/iam/organizations/${encodeURIComponent(id)}`, {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey
14
+ });
15
+ writeOutput(result, flags);
16
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsList(argv: string[]): Promise<void>;
@@ -0,0 +1,26 @@
1
+ import { integerFlag, optionalBooleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { listFlag } from "../../../lib/json-flag.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 iamOrganizationsList(argv) {
8
+ const { flags } = parseCommand(argv);
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest("/iam/v4/iam/organizations", {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey,
14
+ query: {
15
+ "Filter.Ids": listFlag(flags, "ids")?.join(","),
16
+ "Filter.IsDisabled": optionalBooleanFlag(flags, "is-disabled"),
17
+ "Filter.ParentOrganizationId": stringFlag(flags, "parent-organization-id") || undefined,
18
+ "Filter.Search": stringFlag(flags, "search") || undefined,
19
+ Page: integerFlag(flags, "page", 1),
20
+ PageSize: integerFlag(flags, "page-size", 20),
21
+ "Sort.IsDescending": optionalBooleanFlag(flags, "sort-desc"),
22
+ "Sort.Property": stringFlag(flags, "sort-by") || undefined
23
+ }
24
+ });
25
+ writeOutput(result, flags);
26
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsMy(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 iamOrganizationsMy(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectKey = await selectedProject(flags);
8
+ const result = await blocksRequest("/iam/v4/iam/organizations/my", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId: projectKey
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function iamOrganizationsUpdate(argv: string[]): Promise<void>;
@@ -0,0 +1,39 @@
1
+ import { booleanFlag, optionalBooleanFlag, 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 iamOrganizationsUpdate(argv) {
9
+ const { args, flags } = parseCommand(argv);
10
+ const id = args[0] || stringFlag(flags, "id", { required: true });
11
+ const body = {
12
+ ...(await jsonBodyFlag(flags)),
13
+ ...compact({
14
+ currency: stringFlag(flags, "currency") || undefined,
15
+ description: stringFlag(flags, "description") || undefined,
16
+ email: stringFlag(flags, "email") || undefined,
17
+ industry: stringFlag(flags, "industry") || undefined,
18
+ isEnable: optionalBooleanFlag(flags, "is-enabled"),
19
+ locale: stringFlag(flags, "locale") || undefined,
20
+ name: stringFlag(flags, "name") || undefined,
21
+ phoneNumber: stringFlag(flags, "phone-number") || undefined,
22
+ timeZone: stringFlag(flags, "time-zone") || undefined,
23
+ websiteUrl: stringFlag(flags, "website-url") || undefined
24
+ })
25
+ };
26
+ if (booleanFlag(flags, "dry-run")) {
27
+ writeOutput({ dryRun: true, endpoint: `/iam/v4/iam/organizations/${id}`, request: body }, flags);
28
+ return;
29
+ }
30
+ await confirmMutation(flags, `Update IAM organization '${id}'.`);
31
+ const projectKey = await selectedProject(flags);
32
+ const result = await blocksRequest(`/iam/v4/iam/organizations/${encodeURIComponent(id)}`, {
33
+ body,
34
+ impersonatedProjectAuth: true,
35
+ ...requestContext(flags),
36
+ projectTenantId: projectKey
37
+ });
38
+ writeOutput(result, flags);
39
+ }
@@ -0,0 +1 @@
1
+ export declare function iamPermissionsBySeverity(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 iamPermissionsBySeverity(argv) {
6
+ const { flags } = parseCommand(argv);
7
+ const projectKey = await selectedProject(flags);
8
+ const result = await blocksRequest("/iam/v4/iam/permissions/by-severity", {
9
+ impersonatedProjectAuth: true,
10
+ ...requestContext(flags),
11
+ projectTenantId: projectKey
12
+ });
13
+ writeOutput(result, flags);
14
+ }
@@ -0,0 +1 @@
1
+ export declare function iamPermissionsCreate(argv: string[]): Promise<void>;
@@ -0,0 +1,39 @@
1
+ import { booleanFlag, optionalBooleanFlag, optionalIntegerFlag, 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 iamPermissionsCreate(argv) {
9
+ const { flags } = parseCommand(argv);
10
+ const body = {
11
+ ...(await jsonBodyFlag(flags)),
12
+ ...compact({
13
+ dependentPermissions: listFlag(flags, "dependent-permissions"),
14
+ description: stringFlag(flags, "description") || undefined,
15
+ isBuiltIn: optionalBooleanFlag(flags, "is-built-in"),
16
+ name: stringFlag(flags, "name") || undefined,
17
+ permissionSeverity: optionalIntegerFlag(flags, "severity"),
18
+ resource: stringFlag(flags, "resource") || undefined,
19
+ resourceGroup: stringFlag(flags, "resource-group") || undefined,
20
+ tags: listFlag(flags, "tags"),
21
+ type: optionalIntegerFlag(flags, "type")
22
+ })
23
+ };
24
+ if (!body.name)
25
+ throw new Error("Provide --name (or set it in --body/--file).");
26
+ if (booleanFlag(flags, "dry-run")) {
27
+ writeOutput({ dryRun: true, endpoint: "/iam/v4/iam/permissions/create", request: body }, flags);
28
+ return;
29
+ }
30
+ await confirmMutation(flags, `Create IAM permission '${body.name}'.`);
31
+ const projectKey = await selectedProject(flags);
32
+ const result = await blocksRequest("/iam/v4/iam/permissions/create", {
33
+ body,
34
+ impersonatedProjectAuth: true,
35
+ ...requestContext(flags),
36
+ projectTenantId: projectKey
37
+ });
38
+ writeOutput(result, flags);
39
+ }
@@ -0,0 +1 @@
1
+ export declare function iamPermissionsGet(argv: string[]): Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function iamPermissionsGet(argv) {
7
+ const { args, flags } = parseCommand(argv);
8
+ const id = args[0] || stringFlag(flags, "id", { required: true });
9
+ const projectKey = await selectedProject(flags);
10
+ const result = await blocksRequest(`/iam/v4/iam/permissions/${encodeURIComponent(id)}`, {
11
+ impersonatedProjectAuth: true,
12
+ ...requestContext(flags),
13
+ projectTenantId: projectKey
14
+ });
15
+ writeOutput(result, flags);
16
+ }
@@ -0,0 +1 @@
1
+ export declare function iamPermissionsList(argv: string[]): Promise<void>;
@@ -0,0 +1,41 @@
1
+ import { integerFlag, optionalBooleanFlag, optionalIntegerFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { compact, jsonBodyFlag, listFlag } from "../../../lib/json-flag.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 iamPermissionsList(argv) {
8
+ const { flags } = parseCommand(argv);
9
+ const projectKey = await selectedProject(flags);
10
+ const filter = {
11
+ ...(await jsonBodyFlag(flags)).filter,
12
+ ...compact({
13
+ isArchived: optionalBooleanFlag(flags, "is-archived"),
14
+ isBuiltIn: stringFlag(flags, "is-built-in") || undefined,
15
+ permissionSeverity: optionalIntegerFlag(flags, "severity"),
16
+ resourceGroup: stringFlag(flags, "resource-group") || undefined,
17
+ resources: listFlag(flags, "resources"),
18
+ search: stringFlag(flags, "search") || undefined,
19
+ tags: listFlag(flags, "tags"),
20
+ type: optionalIntegerFlag(flags, "type")
21
+ })
22
+ };
23
+ const body = {
24
+ filter,
25
+ organizationId: stringFlag(flags, "organization-id") || undefined,
26
+ page: integerFlag(flags, "page", 1),
27
+ pageSize: integerFlag(flags, "page-size", 20),
28
+ roles: listFlag(flags, "roles"),
29
+ sort: {
30
+ isDescending: stringFlag(flags, "sort-desc") === "true",
31
+ property: stringFlag(flags, "sort-by") || undefined
32
+ }
33
+ };
34
+ const result = await blocksRequest("/iam/v4/iam/permissions", {
35
+ body,
36
+ impersonatedProjectAuth: true,
37
+ ...requestContext(flags),
38
+ projectTenantId: projectKey
39
+ });
40
+ writeOutput(result, flags);
41
+ }
@@ -0,0 +1 @@
1
+ export declare function iamPermissionsUpdate(argv: string[]): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import { booleanFlag, optionalBooleanFlag, optionalIntegerFlag, 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 iamPermissionsUpdate(argv) {
9
+ const { args, flags } = parseCommand(argv);
10
+ const itemId = args[0] || stringFlag(flags, "id", { required: true });
11
+ const body = {
12
+ ...(await jsonBodyFlag(flags)),
13
+ ...compact({
14
+ dependentPermissions: listFlag(flags, "dependent-permissions"),
15
+ description: stringFlag(flags, "description") || undefined,
16
+ isArchived: optionalBooleanFlag(flags, "is-archived"),
17
+ isBuiltIn: optionalBooleanFlag(flags, "is-built-in"),
18
+ itemId,
19
+ name: stringFlag(flags, "name") || undefined,
20
+ permissionSeverity: optionalIntegerFlag(flags, "severity"),
21
+ resource: stringFlag(flags, "resource") || undefined,
22
+ resourceGroup: stringFlag(flags, "resource-group") || undefined,
23
+ tags: listFlag(flags, "tags"),
24
+ type: optionalIntegerFlag(flags, "type")
25
+ })
26
+ };
27
+ if (booleanFlag(flags, "dry-run")) {
28
+ writeOutput({ dryRun: true, endpoint: `/iam/v4/iam/permissions/${itemId}`, request: body }, flags);
29
+ return;
30
+ }
31
+ await confirmMutation(flags, `Update IAM permission '${itemId}'.`);
32
+ const projectKey = await selectedProject(flags);
33
+ const result = await blocksRequest(`/iam/v4/iam/permissions/${encodeURIComponent(itemId)}`, {
34
+ body,
35
+ impersonatedProjectAuth: true,
36
+ ...requestContext(flags),
37
+ projectTenantId: projectKey
38
+ });
39
+ writeOutput(result, flags);
40
+ }
@@ -0,0 +1 @@
1
+ export declare function iamResourcesFeatures(argv: string[]): Promise<void>;
@@ -0,0 +1,19 @@
1
+ import { optionalBooleanFlag, stringFlag } from "../../../lib/args.js";
2
+ import { blocksRequest } from "../../../lib/api.js";
3
+ import { writeOutput } from "../../../lib/output.js";
4
+ import { requestContext } from "../../../lib/request-context.js";
5
+ import { parseCommand, selectedProject } from "../../../lib/workspace.js";
6
+ export async function iamResourcesFeatures(argv) {
7
+ const { flags } = parseCommand(argv);
8
+ const projectKey = await selectedProject(flags);
9
+ const result = await blocksRequest("/iam/v4/iam/resource/features", {
10
+ impersonatedProjectAuth: true,
11
+ ...requestContext(flags),
12
+ projectTenantId: projectKey,
13
+ query: {
14
+ IsBuiltIn: optionalBooleanFlag(flags, "is-built-in"),
15
+ Search: stringFlag(flags, "search") || undefined
16
+ }
17
+ });
18
+ writeOutput(result, flags);
19
+ }
@@ -0,0 +1 @@
1
+ export declare function iamResourcesGroups(argv: string[]): Promise<void>;