@portaidentity/cli 1.7.3 → 1.9.0

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 (328) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +125 -105
  3. package/dist/admin/admin-date-time.d.ts +6 -0
  4. package/dist/admin/admin-date-time.d.ts.map +1 -0
  5. package/dist/admin/admin-date-time.js +33 -0
  6. package/dist/admin/admin-date-time.js.map +1 -0
  7. package/dist/admin/application-client-features.d.ts +38 -0
  8. package/dist/admin/application-client-features.d.ts.map +1 -0
  9. package/dist/admin/application-client-features.js +545 -0
  10. package/dist/admin/application-client-features.js.map +1 -0
  11. package/dist/admin/application-controller.d.ts +58 -0
  12. package/dist/admin/application-controller.d.ts.map +1 -0
  13. package/dist/admin/application-controller.js +286 -0
  14. package/dist/admin/application-controller.js.map +1 -0
  15. package/dist/admin/application-dialogs.d.ts +91 -0
  16. package/dist/admin/application-dialogs.d.ts.map +1 -0
  17. package/dist/admin/application-dialogs.js +250 -0
  18. package/dist/admin/application-dialogs.js.map +1 -0
  19. package/dist/admin/application-rbac-controller.d.ts +56 -0
  20. package/dist/admin/application-rbac-controller.d.ts.map +1 -0
  21. package/dist/admin/application-rbac-controller.js +280 -0
  22. package/dist/admin/application-rbac-controller.js.map +1 -0
  23. package/dist/admin/application-rbac-features.d.ts +51 -0
  24. package/dist/admin/application-rbac-features.d.ts.map +1 -0
  25. package/dist/admin/application-rbac-features.js +175 -0
  26. package/dist/admin/application-rbac-features.js.map +1 -0
  27. package/dist/admin/application-rbac-workspace.d.ts +62 -0
  28. package/dist/admin/application-rbac-workspace.d.ts.map +1 -0
  29. package/dist/admin/application-rbac-workspace.js +344 -0
  30. package/dist/admin/application-rbac-workspace.js.map +1 -0
  31. package/dist/admin/application-runtime.d.ts +44 -0
  32. package/dist/admin/application-runtime.d.ts.map +1 -0
  33. package/dist/admin/application-runtime.js +183 -0
  34. package/dist/admin/application-runtime.js.map +1 -0
  35. package/dist/admin/application-service.d.ts +39 -0
  36. package/dist/admin/application-service.d.ts.map +1 -0
  37. package/dist/admin/application-service.js +248 -0
  38. package/dist/admin/application-service.js.map +1 -0
  39. package/dist/admin/application-state.d.ts +109 -0
  40. package/dist/admin/application-state.d.ts.map +1 -0
  41. package/dist/admin/application-state.js +3 -0
  42. package/dist/admin/application-state.js.map +1 -0
  43. package/dist/admin/application-workspace.d.ts +77 -0
  44. package/dist/admin/application-workspace.d.ts.map +1 -0
  45. package/dist/admin/application-workspace.js +302 -0
  46. package/dist/admin/application-workspace.js.map +1 -0
  47. package/dist/admin/application.d.ts +88 -0
  48. package/dist/admin/application.d.ts.map +1 -0
  49. package/dist/admin/application.js +932 -0
  50. package/dist/admin/application.js.map +1 -0
  51. package/dist/admin/client-authentication-dialog.d.ts +77 -0
  52. package/dist/admin/client-authentication-dialog.d.ts.map +1 -0
  53. package/dist/admin/client-authentication-dialog.js +217 -0
  54. package/dist/admin/client-authentication-dialog.js.map +1 -0
  55. package/dist/admin/client-controller.d.ts +58 -0
  56. package/dist/admin/client-controller.d.ts.map +1 -0
  57. package/dist/admin/client-controller.js +462 -0
  58. package/dist/admin/client-controller.js.map +1 -0
  59. package/dist/admin/client-credential-dialogs.d.ts +36 -0
  60. package/dist/admin/client-credential-dialogs.d.ts.map +1 -0
  61. package/dist/admin/client-credential-dialogs.js +145 -0
  62. package/dist/admin/client-credential-dialogs.js.map +1 -0
  63. package/dist/admin/client-dialogs.d.ts +64 -0
  64. package/dist/admin/client-dialogs.d.ts.map +1 -0
  65. package/dist/admin/client-dialogs.js +110 -0
  66. package/dist/admin/client-dialogs.js.map +1 -0
  67. package/dist/admin/client-form-scroller.d.ts +17 -0
  68. package/dist/admin/client-form-scroller.d.ts.map +1 -0
  69. package/dist/admin/client-form-scroller.js +67 -0
  70. package/dist/admin/client-form-scroller.js.map +1 -0
  71. package/dist/admin/client-registration-dialog.d.ts +27 -0
  72. package/dist/admin/client-registration-dialog.d.ts.map +1 -0
  73. package/dist/admin/client-registration-dialog.js +195 -0
  74. package/dist/admin/client-registration-dialog.js.map +1 -0
  75. package/dist/admin/client-service.d.ts +41 -0
  76. package/dist/admin/client-service.d.ts.map +1 -0
  77. package/dist/admin/client-service.js +486 -0
  78. package/dist/admin/client-service.js.map +1 -0
  79. package/dist/admin/client-state.d.ts +159 -0
  80. package/dist/admin/client-state.d.ts.map +1 -0
  81. package/dist/admin/client-state.js +3 -0
  82. package/dist/admin/client-state.js.map +1 -0
  83. package/dist/admin/client-workspace.d.ts +88 -0
  84. package/dist/admin/client-workspace.d.ts.map +1 -0
  85. package/dist/admin/client-workspace.js +491 -0
  86. package/dist/admin/client-workspace.js.map +1 -0
  87. package/dist/admin/delete-confirmation-layout.d.ts +38 -0
  88. package/dist/admin/delete-confirmation-layout.d.ts.map +1 -0
  89. package/dist/admin/delete-confirmation-layout.js +52 -0
  90. package/dist/admin/delete-confirmation-layout.js.map +1 -0
  91. package/dist/admin/index.d.ts +64 -0
  92. package/dist/admin/index.d.ts.map +1 -0
  93. package/dist/admin/index.js +31 -0
  94. package/dist/admin/index.js.map +1 -0
  95. package/dist/admin/organization-controller.d.ts +77 -0
  96. package/dist/admin/organization-controller.d.ts.map +1 -0
  97. package/dist/admin/organization-controller.js +472 -0
  98. package/dist/admin/organization-controller.js.map +1 -0
  99. package/dist/admin/organization-dialogs.d.ts +63 -0
  100. package/dist/admin/organization-dialogs.d.ts.map +1 -0
  101. package/dist/admin/organization-dialogs.js +303 -0
  102. package/dist/admin/organization-dialogs.js.map +1 -0
  103. package/dist/admin/organization-service.d.ts +110 -0
  104. package/dist/admin/organization-service.d.ts.map +1 -0
  105. package/dist/admin/organization-service.js +548 -0
  106. package/dist/admin/organization-service.js.map +1 -0
  107. package/dist/admin/organization-workspace.d.ts +29 -0
  108. package/dist/admin/organization-workspace.d.ts.map +1 -0
  109. package/dist/admin/organization-workspace.js +421 -0
  110. package/dist/admin/organization-workspace.js.map +1 -0
  111. package/dist/admin/portability-controller.d.ts +83 -0
  112. package/dist/admin/portability-controller.d.ts.map +1 -0
  113. package/dist/admin/portability-controller.js +466 -0
  114. package/dist/admin/portability-controller.js.map +1 -0
  115. package/dist/admin/portability-service.d.ts +31 -0
  116. package/dist/admin/portability-service.d.ts.map +1 -0
  117. package/dist/admin/portability-service.js +51 -0
  118. package/dist/admin/portability-service.js.map +1 -0
  119. package/dist/admin/portability-state.d.ts +88 -0
  120. package/dist/admin/portability-state.d.ts.map +1 -0
  121. package/dist/admin/portability-state.js +3 -0
  122. package/dist/admin/portability-state.js.map +1 -0
  123. package/dist/admin/portability-workspace.d.ts +78 -0
  124. package/dist/admin/portability-workspace.d.ts.map +1 -0
  125. package/dist/admin/portability-workspace.js +337 -0
  126. package/dist/admin/portability-workspace.js.map +1 -0
  127. package/dist/admin/presentation.d.ts +46 -0
  128. package/dist/admin/presentation.d.ts.map +1 -0
  129. package/dist/admin/presentation.js +271 -0
  130. package/dist/admin/presentation.js.map +1 -0
  131. package/dist/admin/rbac-dialogs.d.ts +73 -0
  132. package/dist/admin/rbac-dialogs.d.ts.map +1 -0
  133. package/dist/admin/rbac-dialogs.js +345 -0
  134. package/dist/admin/rbac-dialogs.js.map +1 -0
  135. package/dist/admin/rbac-service.d.ts +47 -0
  136. package/dist/admin/rbac-service.d.ts.map +1 -0
  137. package/dist/admin/rbac-service.js +258 -0
  138. package/dist/admin/rbac-service.js.map +1 -0
  139. package/dist/admin/rbac-state.d.ts +129 -0
  140. package/dist/admin/rbac-state.d.ts.map +1 -0
  141. package/dist/admin/rbac-state.js +136 -0
  142. package/dist/admin/rbac-state.js.map +1 -0
  143. package/dist/admin/selectable-read-only-input.d.ts +18 -0
  144. package/dist/admin/selectable-read-only-input.d.ts.map +1 -0
  145. package/dist/admin/selectable-read-only-input.js +24 -0
  146. package/dist/admin/selectable-read-only-input.js.map +1 -0
  147. package/dist/admin/session-service.d.ts +169 -0
  148. package/dist/admin/session-service.d.ts.map +1 -0
  149. package/dist/admin/session-service.js +353 -0
  150. package/dist/admin/session-service.js.map +1 -0
  151. package/dist/admin/state.d.ts +301 -0
  152. package/dist/admin/state.d.ts.map +1 -0
  153. package/dist/admin/state.js +10 -0
  154. package/dist/admin/state.js.map +1 -0
  155. package/dist/admin/system-config-controller.d.ts +58 -0
  156. package/dist/admin/system-config-controller.d.ts.map +1 -0
  157. package/dist/admin/system-config-controller.js +218 -0
  158. package/dist/admin/system-config-controller.js.map +1 -0
  159. package/dist/admin/system-config-service.d.ts +54 -0
  160. package/dist/admin/system-config-service.d.ts.map +1 -0
  161. package/dist/admin/system-config-service.js +180 -0
  162. package/dist/admin/system-config-service.js.map +1 -0
  163. package/dist/admin/system-config-state.d.ts +77 -0
  164. package/dist/admin/system-config-state.d.ts.map +1 -0
  165. package/dist/admin/system-config-state.js +78 -0
  166. package/dist/admin/system-config-state.js.map +1 -0
  167. package/dist/admin/system-config-workspace.d.ts +47 -0
  168. package/dist/admin/system-config-workspace.d.ts.map +1 -0
  169. package/dist/admin/system-config-workspace.js +217 -0
  170. package/dist/admin/system-config-workspace.js.map +1 -0
  171. package/dist/admin/user-controller-types.d.ts +67 -0
  172. package/dist/admin/user-controller-types.d.ts.map +1 -0
  173. package/dist/admin/user-controller-types.js +3 -0
  174. package/dist/admin/user-controller-types.js.map +1 -0
  175. package/dist/admin/user-controller.d.ts +6 -0
  176. package/dist/admin/user-controller.d.ts.map +1 -0
  177. package/dist/admin/user-controller.js +674 -0
  178. package/dist/admin/user-controller.js.map +1 -0
  179. package/dist/admin/user-dialog-fields.d.ts +44 -0
  180. package/dist/admin/user-dialog-fields.d.ts.map +1 -0
  181. package/dist/admin/user-dialog-fields.js +130 -0
  182. package/dist/admin/user-dialog-fields.js.map +1 -0
  183. package/dist/admin/user-dialogs.d.ts +66 -0
  184. package/dist/admin/user-dialogs.d.ts.map +1 -0
  185. package/dist/admin/user-dialogs.js +374 -0
  186. package/dist/admin/user-dialogs.js.map +1 -0
  187. package/dist/admin/user-role-controller.d.ts +82 -0
  188. package/dist/admin/user-role-controller.d.ts.map +1 -0
  189. package/dist/admin/user-role-controller.js +337 -0
  190. package/dist/admin/user-role-controller.js.map +1 -0
  191. package/dist/admin/user-role-dialog.d.ts +94 -0
  192. package/dist/admin/user-role-dialog.d.ts.map +1 -0
  193. package/dist/admin/user-role-dialog.js +265 -0
  194. package/dist/admin/user-role-dialog.js.map +1 -0
  195. package/dist/admin/user-service-types.d.ts +100 -0
  196. package/dist/admin/user-service-types.d.ts.map +1 -0
  197. package/dist/admin/user-service-types.js +3 -0
  198. package/dist/admin/user-service-types.js.map +1 -0
  199. package/dist/admin/user-service.d.ts +14 -0
  200. package/dist/admin/user-service.d.ts.map +1 -0
  201. package/dist/admin/user-service.js +612 -0
  202. package/dist/admin/user-service.js.map +1 -0
  203. package/dist/admin/user-state.d.ts +158 -0
  204. package/dist/admin/user-state.d.ts.map +1 -0
  205. package/dist/admin/user-state.js +3 -0
  206. package/dist/admin/user-state.js.map +1 -0
  207. package/dist/admin/user-workspace.d.ts +65 -0
  208. package/dist/admin/user-workspace.d.ts.map +1 -0
  209. package/dist/admin/user-workspace.js +366 -0
  210. package/dist/admin/user-workspace.js.map +1 -0
  211. package/dist/auth/browser-flow.d.ts +27 -1
  212. package/dist/auth/browser-flow.d.ts.map +1 -1
  213. package/dist/auth/browser-flow.js +55 -33
  214. package/dist/auth/browser-flow.js.map +1 -1
  215. package/dist/auth/callback-server.d.ts.map +1 -1
  216. package/dist/auth/callback-server.js +5 -9
  217. package/dist/auth/callback-server.js.map +1 -1
  218. package/dist/auth/id-token-verifier.d.ts +39 -0
  219. package/dist/auth/id-token-verifier.d.ts.map +1 -0
  220. package/dist/auth/id-token-verifier.js +104 -0
  221. package/dist/auth/id-token-verifier.js.map +1 -0
  222. package/dist/auth/login-coordinator.d.ts +72 -0
  223. package/dist/auth/login-coordinator.d.ts.map +1 -0
  224. package/dist/auth/login-coordinator.js +190 -0
  225. package/dist/auth/login-coordinator.js.map +1 -0
  226. package/dist/auth/metadata.d.ts +2 -1
  227. package/dist/auth/metadata.d.ts.map +1 -1
  228. package/dist/auth/metadata.js +67 -6
  229. package/dist/auth/metadata.js.map +1 -1
  230. package/dist/auth/types.d.ts +14 -0
  231. package/dist/auth/types.d.ts.map +1 -1
  232. package/dist/client-factory.d.ts.map +1 -1
  233. package/dist/client-factory.js +15 -2
  234. package/dist/client-factory.js.map +1 -1
  235. package/dist/commands/admin.d.ts +22 -0
  236. package/dist/commands/admin.d.ts.map +1 -0
  237. package/dist/commands/admin.js +112 -0
  238. package/dist/commands/admin.js.map +1 -0
  239. package/dist/commands/app-claim.d.ts.map +1 -1
  240. package/dist/commands/app-claim.js +11 -4
  241. package/dist/commands/app-claim.js.map +1 -1
  242. package/dist/commands/app-module.d.ts.map +1 -1
  243. package/dist/commands/app-module.js +61 -12
  244. package/dist/commands/app-module.js.map +1 -1
  245. package/dist/commands/app-permission.d.ts.map +1 -1
  246. package/dist/commands/app-permission.js +66 -24
  247. package/dist/commands/app-permission.js.map +1 -1
  248. package/dist/commands/app-role.d.ts.map +1 -1
  249. package/dist/commands/app-role.js +48 -27
  250. package/dist/commands/app-role.js.map +1 -1
  251. package/dist/commands/app.d.ts.map +1 -1
  252. package/dist/commands/app.js +37 -25
  253. package/dist/commands/app.js.map +1 -1
  254. package/dist/commands/bulk.d.ts.map +1 -1
  255. package/dist/commands/bulk.js +9 -2
  256. package/dist/commands/bulk.js.map +1 -1
  257. package/dist/commands/client-secret.d.ts.map +1 -1
  258. package/dist/commands/client-secret.js +12 -6
  259. package/dist/commands/client-secret.js.map +1 -1
  260. package/dist/commands/client.d.ts +3 -2
  261. package/dist/commands/client.d.ts.map +1 -1
  262. package/dist/commands/client.js +102 -43
  263. package/dist/commands/client.js.map +1 -1
  264. package/dist/commands/config.d.ts +4 -0
  265. package/dist/commands/config.d.ts.map +1 -1
  266. package/dist/commands/config.js +68 -7
  267. package/dist/commands/config.js.map +1 -1
  268. package/dist/commands/export.d.ts +6 -0
  269. package/dist/commands/export.d.ts.map +1 -0
  270. package/dist/commands/export.js +182 -0
  271. package/dist/commands/export.js.map +1 -0
  272. package/dist/commands/import.d.ts +6 -0
  273. package/dist/commands/import.d.ts.map +1 -0
  274. package/dist/commands/import.js +142 -0
  275. package/dist/commands/import.js.map +1 -0
  276. package/dist/commands/keys.d.ts.map +1 -1
  277. package/dist/commands/keys.js +11 -4
  278. package/dist/commands/keys.js.map +1 -1
  279. package/dist/commands/login.d.ts.map +1 -1
  280. package/dist/commands/login.js +24 -10
  281. package/dist/commands/login.js.map +1 -1
  282. package/dist/commands/org.d.ts +2 -4
  283. package/dist/commands/org.d.ts.map +1 -1
  284. package/dist/commands/org.js +16 -76
  285. package/dist/commands/org.js.map +1 -1
  286. package/dist/commands/user-role.d.ts.map +1 -1
  287. package/dist/commands/user-role.js +19 -14
  288. package/dist/commands/user-role.js.map +1 -1
  289. package/dist/commands/user.d.ts +3 -2
  290. package/dist/commands/user.d.ts.map +1 -1
  291. package/dist/commands/user.js +47 -71
  292. package/dist/commands/user.js.map +1 -1
  293. package/dist/commands/version.d.ts +1 -1
  294. package/dist/commands/version.js +1 -1
  295. package/dist/credential-lock.d.ts +20 -0
  296. package/dist/credential-lock.d.ts.map +1 -0
  297. package/dist/credential-lock.js +130 -0
  298. package/dist/credential-lock.js.map +1 -0
  299. package/dist/credential-store.d.ts +14 -0
  300. package/dist/credential-store.d.ts.map +1 -1
  301. package/dist/credential-store.js +114 -3
  302. package/dist/credential-store.js.map +1 -1
  303. package/dist/error-handler.d.ts.map +1 -1
  304. package/dist/error-handler.js +2 -0
  305. package/dist/error-handler.js.map +1 -1
  306. package/dist/global-options.d.ts +8 -0
  307. package/dist/global-options.d.ts.map +1 -1
  308. package/dist/global-options.js +19 -8
  309. package/dist/global-options.js.map +1 -1
  310. package/dist/index.js +7 -5
  311. package/dist/index.js.map +1 -1
  312. package/dist/output.d.ts +11 -0
  313. package/dist/output.d.ts.map +1 -1
  314. package/dist/output.js +25 -6
  315. package/dist/output.js.map +1 -1
  316. package/dist/prompt.d.ts +2 -2
  317. package/dist/prompt.d.ts.map +1 -1
  318. package/dist/prompt.js +27 -7
  319. package/dist/prompt.js.map +1 -1
  320. package/package.json +7 -3
  321. package/dist/commands/gui.d.ts +0 -21
  322. package/dist/commands/gui.d.ts.map +0 -1
  323. package/dist/commands/gui.js +0 -67
  324. package/dist/commands/gui.js.map +0 -1
  325. package/dist/commands/provision.d.ts +0 -47
  326. package/dist/commands/provision.d.ts.map +0 -1
  327. package/dist/commands/provision.js +0 -444
  328. package/dist/commands/provision.js.map +0 -1
@@ -8,10 +8,11 @@
8
8
  * Usage:
9
9
  * porta client create --org <org-id> --app <app-id> --type confidential --redirect-uris "https://..." [--name "My Client"]
10
10
  * porta client list --app <app-id> [--status active|revoked] [--page 1] [--page-size 20]
11
- * porta client show <client-id>
11
+ * porta client get <client-id>
12
12
  * porta client update <client-id> --name "New Name" [--redirect-uris "..."]
13
13
  * porta client revoke <client-id>
14
- * porta client restore <client-id>
14
+ * porta client activate <client-id>
15
+ * porta client deactivate <client-id>
15
16
  * porta client history <client-id>
16
17
  * porta client login-methods get <client-id>
17
18
  * porta client login-methods set <client-id> --methods "password,magic_link"
@@ -71,6 +72,10 @@ export const clientCommand = {
71
72
  .option('login-methods', {
72
73
  type: 'string',
73
74
  description: 'Comma-separated login methods (password, magic_link) or "inherit" to use the org default',
75
+ })
76
+ .option('require-consent', {
77
+ type: 'boolean',
78
+ description: 'Show the consent page for this client (--no-require-consent disables it)',
74
79
  }), async (argv) => {
75
80
  try {
76
81
  const loginMethods = parseLoginMethodsFlag(argv['login-methods'],
@@ -84,26 +89,36 @@ export const clientCommand = {
84
89
  appId = app.id;
85
90
  }
86
91
  const result = await sdkClient.clients.create({
92
+ organizationId: argv.org,
87
93
  applicationId: appId,
88
- name: argv.name ?? 'Unnamed Client',
94
+ clientName: argv.name ?? 'Unnamed Client',
89
95
  clientType: argv.type,
96
+ applicationType: argv['application-type'],
90
97
  redirectUris: parseCommaSeparated(argv['redirect-uris']),
91
98
  ...(loginMethods !== undefined && { loginMethods }),
99
+ ...(argv['require-consent'] !== undefined && {
100
+ requireConsent: argv['require-consent'],
101
+ }),
92
102
  });
93
103
  if (argv.json) {
94
104
  printJson(result);
95
105
  }
96
106
  else {
97
- success(`Client created: ${result.name} (${result.clientId})`);
107
+ const created = result.client;
108
+ success(`Client created: ${created.clientName} (${created.clientId})`);
98
109
  printTable(['Field', 'Value'], [
99
- ['ID', result.id],
100
- ['Client ID', result.clientId],
101
- ['Name', result.name],
102
- ['Type', result.clientType],
103
- ['Status', result.status],
104
- ['Redirect URIs', result.redirectUris.join(', ')],
105
- ['Created', formatDate(result.createdAt)],
110
+ ['ID', created.id],
111
+ ['Client ID', created.clientId],
112
+ ['Name', created.clientName],
113
+ ['Type', created.clientType],
114
+ ['Status', created.status],
115
+ ['Redirect URIs', created.redirectUris.join(', ')],
116
+ ['Created', formatDate(created.createdAt)],
106
117
  ]);
118
+ if (result.secret) {
119
+ warn('Copy this initial secret now. It will not be shown again.');
120
+ printTable(['Secret ID', 'Label', 'Plaintext'], [[result.secret.id, result.secret.label ?? '—', result.secret.plaintext]]);
121
+ }
107
122
  }
108
123
  }
109
124
  catch (err) {
@@ -115,11 +130,11 @@ export const clientCommand = {
115
130
  .option('app', {
116
131
  type: 'string',
117
132
  demandOption: true,
118
- description: 'Application UUID or slug',
133
+ description: 'Application UUID',
119
134
  })
120
135
  .option('status', {
121
136
  type: 'string',
122
- choices: ['active', 'revoked'],
137
+ choices: ['active', 'inactive', 'revoked'],
123
138
  description: 'Filter by status',
124
139
  })
125
140
  .option('page', {
@@ -141,7 +156,12 @@ export const clientCommand = {
141
156
  ...(argv.app && { applicationId: argv.app }),
142
157
  });
143
158
  if (result.data.length === 0) {
144
- warn('No clients found');
159
+ if (argv.json) {
160
+ printJson(result);
161
+ }
162
+ else {
163
+ warn('No clients found');
164
+ }
145
165
  return;
146
166
  }
147
167
  if (argv.json) {
@@ -151,7 +171,7 @@ export const clientCommand = {
151
171
  printTable(['ID', 'Client ID', 'Name', 'Type', 'Status', 'Created'], result.data.map((c) => [
152
172
  c.id,
153
173
  c.clientId,
154
- c.name,
174
+ c.clientName,
155
175
  c.clientType,
156
176
  c.status,
157
177
  formatDate(c.createdAt),
@@ -163,11 +183,11 @@ export const clientCommand = {
163
183
  handleError(err, argv.verbose);
164
184
  }
165
185
  })
166
- // ── show ────────────────────────────────────────────────────────
167
- .command('show <client-id>', 'Show client details', (y) => y.positional('client-id', {
186
+ // ── get ─────────────────────────────────────────────────────────
187
+ .command('get <client-id>', 'Get client details', (y) => y.positional('client-id', {
168
188
  type: 'string',
169
189
  demandOption: true,
170
- description: 'Client internal UUID or client_id',
190
+ description: 'Client internal UUID',
171
191
  }), async (argv) => {
172
192
  try {
173
193
  const sdkClient = createClient(argv);
@@ -179,15 +199,26 @@ export const clientCommand = {
179
199
  printTable(['Field', 'Value'], [
180
200
  ['ID', c.id],
181
201
  ['Client ID', c.clientId],
182
- ['Name', c.name],
202
+ ['Name', c.clientName],
203
+ ['Organization ID', c.organizationId],
204
+ ['Application ID', c.applicationId],
183
205
  ['Type', c.clientType],
206
+ ['Application Type', c.applicationType],
184
207
  ['Status', c.status],
185
208
  ['Redirect URIs', c.redirectUris.join(', ') || '—'],
209
+ ['Post-logout Redirect URIs', c.postLogoutRedirectUris.join(', ') || '—'],
186
210
  ['Grant Types', c.grantTypes.join(', ')],
211
+ ['Response Types', c.responseTypes.join(', ')],
212
+ ['Scope', c.scope],
213
+ ['Token Endpoint Authentication', c.tokenEndpointAuthMethod],
214
+ ['Allowed Origins', c.allowedOrigins.join(', ') || '—'],
215
+ ['Require PKCE', String(c.requirePkce)],
216
+ ['Require Consent', String(c.requireConsent)],
187
217
  [
188
- 'Login Methods',
218
+ 'Login Method Override',
189
219
  c.loginMethods === null ? 'inherit' : c.loginMethods.join(', '),
190
220
  ],
221
+ ['Effective Login Methods', c.effectiveLoginMethods.join(', ')],
191
222
  ['Created', formatDate(c.createdAt)],
192
223
  ['Updated', formatDate(c.updatedAt)],
193
224
  ]);
@@ -202,7 +233,7 @@ export const clientCommand = {
202
233
  .positional('client-id', {
203
234
  type: 'string',
204
235
  demandOption: true,
205
- description: 'Client internal UUID or client_id',
236
+ description: 'Client internal UUID',
206
237
  })
207
238
  .option('name', {
208
239
  type: 'string',
@@ -215,6 +246,10 @@ export const clientCommand = {
215
246
  .option('login-methods', {
216
247
  type: 'string',
217
248
  description: 'Comma-separated login methods (password, magic_link) or "inherit" to reset to org default',
249
+ })
250
+ .option('require-consent', {
251
+ type: 'boolean',
252
+ description: 'Show the consent page for this client (--no-require-consent disables it)',
218
253
  }), async (argv) => {
219
254
  try {
220
255
  const loginMethods = parseLoginMethodsFlag(argv['login-methods'],
@@ -222,57 +257,81 @@ export const clientCommand = {
222
257
  const sdkClient = createClient(argv);
223
258
  const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
224
259
  const updated = await sdkClient.clients.update(current.id, {
225
- name: argv.name,
260
+ clientName: argv.name,
226
261
  redirectUris: argv['redirect-uris']
227
262
  ? parseCommaSeparated(argv['redirect-uris'])
228
263
  : undefined,
229
264
  ...(loginMethods !== undefined && { loginMethods }),
265
+ ...(argv['require-consent'] !== undefined && {
266
+ requireConsent: argv['require-consent'],
267
+ }),
230
268
  }, etag ?? undefined);
231
269
  if (argv.json) {
232
270
  printJson(updated);
233
271
  }
234
272
  else {
235
- success(`Client updated: ${updated.name} (${updated.clientId})`);
273
+ success(`Client updated: ${updated.clientName} (${updated.clientId})`);
236
274
  }
237
275
  }
238
276
  catch (err) {
239
277
  handleError(err, argv.verbose);
240
278
  }
241
279
  })
242
- // ── revoke ──────────────────────────────────────────────────────
243
- .command('revoke <client-id>', 'Revoke a client (permanent)', (y) => y.positional('client-id', {
280
+ // ── activate ────────────────────────────────────────────────────
281
+ .command('activate <client-id>', 'Activate an OIDC client', (y) => y.positional('client-id', {
244
282
  type: 'string',
245
283
  demandOption: true,
246
- description: 'Client internal UUID or client_id',
284
+ description: 'Client internal UUID',
247
285
  }), async (argv) => {
248
286
  try {
249
287
  const sdkClient = createClient(argv);
250
- const { data: c } = await sdkClient.clients.get(argv['client-id']);
288
+ const { data: current } = await sdkClient.clients.get(argv['client-id']);
289
+ await sdkClient.clients.activate(current.id);
290
+ success(`Client activated: ${current.clientName} (${current.clientId})`);
291
+ }
292
+ catch (err) {
293
+ handleError(err, argv.verbose);
294
+ }
295
+ })
296
+ // ── deactivate ──────────────────────────────────────────────────
297
+ .command('deactivate <client-id>', 'Deactivate an OIDC client', (y) => y.positional('client-id', {
298
+ type: 'string',
299
+ demandOption: true,
300
+ description: 'Client internal UUID',
301
+ }), async (argv) => {
302
+ try {
303
+ const sdkClient = createClient(argv);
304
+ const { data: current } = await sdkClient.clients.get(argv['client-id']);
251
305
  if (!argv.force) {
252
- const confirmed = await confirm(`Revoke client "${c.name}" (${c.clientId})? This is permanent and cannot be undone.`);
306
+ const confirmed = await confirm(`Deactivate client "${current.clientName}" (${current.clientId})?`);
253
307
  if (!confirmed) {
254
308
  warn('Operation cancelled');
255
309
  return;
256
310
  }
257
311
  }
258
- await sdkClient.clients.revoke(c.id);
259
- success(`Client revoked: ${c.name} (${c.clientId})`);
312
+ await sdkClient.clients.deactivate(current.id);
313
+ success(`Client deactivated: ${current.clientName} (${current.clientId})`);
260
314
  }
261
315
  catch (err) {
262
316
  handleError(err, argv.verbose);
263
317
  }
264
318
  })
265
- // ── restore (NEW) ───────────────────────────────────────────────
266
- .command('restore <client-id>', 'Restore a revoked client', (y) => y.positional('client-id', {
319
+ // ── delete ──────────────────────────────────────────────────────
320
+ .command('delete <client-id>', 'Permanently delete a client and its credentials', (y) => y.positional('client-id', {
267
321
  type: 'string',
268
322
  demandOption: true,
269
- description: 'Client internal UUID or client_id',
323
+ description: 'Client internal UUID',
270
324
  }), async (argv) => {
271
325
  try {
272
326
  const sdkClient = createClient(argv);
273
327
  const { data: c } = await sdkClient.clients.get(argv['client-id']);
274
- await sdkClient.clients.restore(c.id);
275
- success(`Client restored: ${c.name} (${c.clientId})`);
328
+ const confirmed = await confirm(`Keep client "${c.clientName}" (${c.clientId}), or Delete ${c.clientName}? This permanently deletes its secrets and protocol authority.`);
329
+ if (!confirmed) {
330
+ warn('Operation cancelled');
331
+ return;
332
+ }
333
+ await sdkClient.clients.delete(c.id);
334
+ success(`Client deleted: ${c.clientName} (${c.clientId})`);
276
335
  }
277
336
  catch (err) {
278
337
  handleError(err, argv.verbose);
@@ -282,7 +341,7 @@ export const clientCommand = {
282
341
  .command('history <client-id>', 'Show client change history', (y) => y.positional('client-id', {
283
342
  type: 'string',
284
343
  demandOption: true,
285
- description: 'Client internal UUID or client_id',
344
+ description: 'Client internal UUID',
286
345
  }), async (argv) => {
287
346
  try {
288
347
  const sdkClient = createClient(argv);
@@ -314,7 +373,7 @@ export const clientCommand = {
314
373
  .command('get <client-id>', 'Show current login methods for a client', (y) => y.positional('client-id', {
315
374
  type: 'string',
316
375
  demandOption: true,
317
- description: 'Client internal UUID or client_id',
376
+ description: 'Client internal UUID',
318
377
  }), async (argv) => {
319
378
  try {
320
379
  const sdkClient = createClient(argv);
@@ -329,7 +388,7 @@ export const clientCommand = {
329
388
  const display = c.loginMethods === null
330
389
  ? 'inherit (using org default)'
331
390
  : c.loginMethods.join(', ');
332
- info(`Login methods for ${c.name}: ${display}`);
391
+ info(`Login methods for ${c.clientName}: ${display}`);
333
392
  }
334
393
  }
335
394
  catch (err) {
@@ -341,7 +400,7 @@ export const clientCommand = {
341
400
  .positional('client-id', {
342
401
  type: 'string',
343
402
  demandOption: true,
344
- description: 'Client internal UUID or client_id',
403
+ description: 'Client internal UUID',
345
404
  })
346
405
  .option('methods', {
347
406
  type: 'string',
@@ -353,7 +412,7 @@ export const clientCommand = {
353
412
  const sdkClient = createClient(argv);
354
413
  const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
355
414
  await sdkClient.clients.update(current.id, { loginMethods: loginMethods ?? undefined }, etag ?? undefined);
356
- success(`Login methods set for ${current.name}: ${argv.methods}`);
415
+ success(`Login methods set for ${current.clientName}: ${argv.methods}`);
357
416
  }
358
417
  catch (err) {
359
418
  handleError(err, argv.verbose);
@@ -363,13 +422,13 @@ export const clientCommand = {
363
422
  .command('clear <client-id>', 'Clear login method overrides (inherit from org)', (y) => y.positional('client-id', {
364
423
  type: 'string',
365
424
  demandOption: true,
366
- description: 'Client internal UUID or client_id',
425
+ description: 'Client internal UUID',
367
426
  }), async (argv) => {
368
427
  try {
369
428
  const sdkClient = createClient(argv);
370
429
  const { data: current, etag } = await sdkClient.clients.get(argv['client-id']);
371
430
  await sdkClient.clients.update(current.id, { loginMethods: null }, etag ?? undefined);
372
- success(`Login methods cleared for ${current.name} (will inherit from org)`);
431
+ success(`Login methods cleared for ${current.clientName} (will inherit from org)`);
373
432
  }
374
433
  catch (err) {
375
434
  handleError(err, argv.verbose);
@@ -379,7 +438,7 @@ export const clientCommand = {
379
438
  })
380
439
  // ── nested subcommand groups ────────────────────────────────────
381
440
  .command(clientSecretCommand)
382
- .demandCommand(1, 'Specify a client subcommand: create, list, show, update, revoke, restore, history, login-methods, secret'));
441
+ .demandCommand(1, 'Specify a client subcommand: create, list, get, update, activate, deactivate, delete, history, login-methods, secret'));
383
442
  },
384
443
  handler: () => {
385
444
  // No-op — subcommands handle execution
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/commands/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/commands/client.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,9 @@
10
10
  */
11
11
  import type { CommandModule } from 'yargs';
12
12
  import type { GlobalOptions } from '../global-options.js';
13
+ /**
14
+ * Existing list/get/set commands over the closed, metadata-driven operational catalog.
15
+ * @example porta config set magic_link_ttl 1200
16
+ */
13
17
  export declare const configCommand: CommandModule<GlobalOptions, GlobalOptions>;
14
18
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsB1D,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAgGrE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAkE1D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAmHrE,CAAC"}
@@ -9,11 +9,53 @@
9
9
  * @module commands/config
10
10
  */
11
11
  import { createClient } from '../client-factory.js';
12
- import { handleError } from '../error-handler.js';
13
- import { printTable, printJson, success, formatDate } from '../output.js';
12
+ import { handleError, EXIT_VALIDATION_ERROR } from '../error-handler.js';
13
+ import { printTable, printJson, success, formatDate, error, info } from '../output.js';
14
14
  // ---------------------------------------------------------------------------
15
15
  // Command
16
16
  // ---------------------------------------------------------------------------
17
+ /** Display the server's accepted range or exact string choices without copying policy. */
18
+ function allowedValues(entry) {
19
+ return entry.valueType === 'integer'
20
+ ? `${entry.minimum}–${entry.maximum}`
21
+ : (entry.allowedValues ?? []).join(', ');
22
+ }
23
+ /** Render native scalar values as text only at the existing terminal-output boundary. */
24
+ function entryRow(entry) {
25
+ return [
26
+ entry.key,
27
+ String(entry.value),
28
+ entry.valueType,
29
+ entry.unit,
30
+ allowedValues(entry),
31
+ entry.applicationMode,
32
+ formatDate(entry.updatedAt),
33
+ ];
34
+ }
35
+ /**
36
+ * Parse a positional value using authoritative metadata, never JavaScript's permissive coercion.
37
+ * Undefined means invalid; callers must not issue an update in that case.
38
+ * Bounds are checked here for helpful feedback and again by the server for authorization safety.
39
+ */
40
+ function parseValue(entry, text) {
41
+ if (entry.valueType === 'string') {
42
+ return entry.allowedValues?.some((allowed) => allowed === text) ? text : undefined;
43
+ }
44
+ if (!/^[+-]?\d+$/.test(text))
45
+ return undefined;
46
+ const value = Number(text);
47
+ if (!Number.isSafeInteger(value) ||
48
+ entry.minimum === undefined ||
49
+ entry.maximum === undefined ||
50
+ value < entry.minimum ||
51
+ value > entry.maximum)
52
+ return undefined;
53
+ return value;
54
+ }
55
+ /**
56
+ * Existing list/get/set commands over the closed, metadata-driven operational catalog.
57
+ * @example porta config set magic_link_ttl 1200
58
+ */
17
59
  export const configCommand = {
18
60
  command: 'config',
19
61
  describe: 'Manage system configuration',
@@ -27,7 +69,7 @@ export const configCommand = {
27
69
  printJson(entries);
28
70
  return;
29
71
  }
30
- printTable(['Key', 'Value', 'Updated'], entries.map((e) => [e.key, e.value, formatDate(e.updatedAt)]));
72
+ printTable(['Key', 'Value', 'Type', 'Unit', 'Allowed', 'Application mode', 'Updated'], entries.map(entryRow));
31
73
  }
32
74
  catch (err) {
33
75
  handleError(err, argv.verbose);
@@ -46,7 +88,16 @@ export const configCommand = {
46
88
  printJson(entry);
47
89
  return;
48
90
  }
49
- printTable(['Key', 'Value', 'Description', 'Updated'], [[entry.key, entry.value, entry.description ?? '—', formatDate(entry.updatedAt)]]);
91
+ printTable([
92
+ 'Key',
93
+ 'Value',
94
+ 'Type',
95
+ 'Unit',
96
+ 'Allowed',
97
+ 'Application mode',
98
+ 'Updated',
99
+ 'Description',
100
+ ], [[...entryRow(entry), entry.description]]);
50
101
  }
51
102
  catch (err) {
52
103
  handleError(err, argv.verbose);
@@ -66,12 +117,22 @@ export const configCommand = {
66
117
  }), async (argv) => {
67
118
  try {
68
119
  const client = createClient(argv);
69
- const entry = await client.config.set(argv.key, argv.value);
120
+ const entry = await client.config.get(argv.key);
121
+ const value = parseValue(entry, argv.value);
122
+ if (value === undefined) {
123
+ error(`Expected ${entry.valueType} (${entry.unit}): ${allowedValues(entry)}.`);
124
+ process.exitCode = EXIT_VALIDATION_ERROR;
125
+ return;
126
+ }
127
+ const result = await client.config.set(entry.key, value);
70
128
  if (argv.json) {
71
- printJson(entry);
129
+ printJson(result);
72
130
  return;
73
131
  }
74
- success(`Set ${entry.key} = ${entry.value}`);
132
+ success(`Set ${result.data.key} = ${result.data.value}`);
133
+ if (result.restartRequired) {
134
+ info('Restart every Porta server instance to apply this change.');
135
+ }
75
136
  }
76
137
  catch (err) {
77
138
  handleError(err, argv.verbose);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Conventional command for exporting selective Porta portability manifests. */
2
+ import type { CommandModule } from 'yargs';
3
+ import type { GlobalOptions } from '../global-options.js';
4
+ /** Export selected Porta data to one local JSON file. */
5
+ export declare const exportCommand: CommandModule<GlobalOptions, GlobalOptions>;
6
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAShF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAgI1D,yDAAyD;AACzD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAgFrE,CAAC"}