@portaidentity/cli 1.7.3 → 1.8.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 +5 -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 +484 -0
  78. package/dist/admin/client-service.js.map +1 -0
  79. package/dist/admin/client-state.d.ts +157 -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 +484 -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 +87 -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-runtime.js","sourceRoot":"","sources":["../../src/admin/application-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /** Validated SDK boundary for deployment-global application administration. */
2
+ import type { ApplicationsDomain, CreateApplicationInput, CreateModuleInput, UpdateApplicationInput, UpdateModuleInput } from '@portaidentity/sdk';
3
+ import type { AdminApplication, AdminApplicationModule, AdminApplicationMutationResult, AdminApplicationReadResult } from './application-state.js';
4
+ export type * from './application-state.js';
5
+ /** Exact application operations consumed by controllers and later views. */
6
+ export interface AdminApplicationOperations {
7
+ /** Loads the complete validated global application catalog. */
8
+ readonly listAll: () => Promise<AdminApplicationReadResult<readonly AdminApplication[]>>;
9
+ /** Loads one validated application and its update precondition. */
10
+ readonly get: (idOrSlug: string) => Promise<AdminApplicationReadResult<{
11
+ application: AdminApplication;
12
+ etag: string | null;
13
+ }>>;
14
+ /** Creates one global application. */
15
+ readonly create: (input: CreateApplicationInput) => Promise<AdminApplicationMutationResult<AdminApplication>>;
16
+ /** Updates mutable application fields. */
17
+ readonly update: (id: string, input: UpdateApplicationInput, etag?: string) => Promise<AdminApplicationMutationResult<AdminApplication>>;
18
+ /** Activates an inactive application. */
19
+ readonly activate: (id: string) => Promise<AdminApplicationMutationResult>;
20
+ /** Deactivates an active application. */
21
+ readonly deactivate: (id: string) => Promise<AdminApplicationMutationResult>;
22
+ /** Permanently deletes an application. */
23
+ readonly delete: (id: string) => Promise<AdminApplicationMutationResult>;
24
+ /** Lists every validated module beneath one application. */
25
+ readonly listModules: (applicationId: string) => Promise<AdminApplicationReadResult<readonly AdminApplicationModule[]>>;
26
+ /** Adds a module beneath one application. */
27
+ readonly addModule: (applicationId: string, input: CreateModuleInput) => Promise<AdminApplicationMutationResult<AdminApplicationModule>>;
28
+ /** Updates a module through its parent-qualified route. */
29
+ readonly updateModule: (applicationId: string, moduleId: string, input: UpdateModuleInput) => Promise<AdminApplicationMutationResult<AdminApplicationModule>>;
30
+ /** Activates a module through its parent-qualified route. */
31
+ readonly activateModule: (applicationId: string, moduleId: string) => Promise<AdminApplicationMutationResult>;
32
+ /** Deactivates a module through its parent-qualified route. */
33
+ readonly deactivateModule: (applicationId: string, moduleId: string) => Promise<AdminApplicationMutationResult>;
34
+ /** Permanently deletes a module through its parent-qualified route. */
35
+ readonly deleteModule: (applicationId: string, moduleId: string) => Promise<AdminApplicationMutationResult>;
36
+ }
37
+ /** Creates the feature-local application SDK adapter. */
38
+ export declare function createAdminApplicationOperations(domain: () => Pick<ApplicationsDomain, 'listAll' | 'get' | 'create' | 'update' | 'activate' | 'deactivate' | 'delete' | 'listModules' | 'addModule' | 'updateModule' | 'activateModule' | 'deactivateModule' | 'deleteModule'>): AdminApplicationOperations;
39
+ //# sourceMappingURL=application-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-service.d.ts","sourceRoot":"","sources":["../../src/admin/application-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ /** Validated SDK boundary for deployment-global application administration. */
2
+ import { PortaAuthenticationError, PortaConflictError, PortaForbiddenError, PortaValidationError, } from '@portaidentity/sdk';
3
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
4
+ const SLUG = /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
5
+ /** Returns true when text contains a terminal control other than an allowed line ending. */
6
+ function containsTerminalControl(value, allowLineEndings = false) {
7
+ for (const character of value) {
8
+ const codePoint = character.codePointAt(0) ?? 0;
9
+ if (allowLineEndings && (codePoint === 0x0a || codePoint === 0x0d))
10
+ continue;
11
+ if (codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f))
12
+ return true;
13
+ }
14
+ return false;
15
+ }
16
+ /** Validates bounded text retained by the terminal. */
17
+ function isText(value, maximum, minimum = 0, allowLineEndings = false) {
18
+ return (typeof value === 'string' &&
19
+ value.length >= minimum &&
20
+ value.length <= maximum &&
21
+ !containsTerminalControl(value, allowLineEndings));
22
+ }
23
+ /** Validates an ISO timestamp used only for display. */
24
+ function isTimestamp(value) {
25
+ if (!isText(value, 40, 20) ||
26
+ !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?Z$/.test(value)) {
27
+ return false;
28
+ }
29
+ const parsed = new Date(value);
30
+ return (Number.isFinite(parsed.getTime()) && parsed.toISOString().slice(0, 19) === value.slice(0, 19));
31
+ }
32
+ /** Validates an optional bounded, control-free HTTP entity tag. */
33
+ function isEtag(value) {
34
+ return value === null || (typeof value === 'string' && /^W\/"[0-9a-f]{16}"$/.test(value));
35
+ }
36
+ /** Returns true for a non-array object that can be inspected by field name. */
37
+ function isObjectValue(value) {
38
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
39
+ }
40
+ /** Returns an object-shaped untrusted value. */
41
+ function objectValue(value) {
42
+ return isObjectValue(value) ? value : undefined;
43
+ }
44
+ /** Projects one complete global application or rejects it. */
45
+ function applicationValue(value) {
46
+ const candidate = objectValue(value);
47
+ if (!candidate ||
48
+ typeof candidate.id !== 'string' ||
49
+ !UUID.test(candidate.id) ||
50
+ !isText(candidate.name, 255, 1) ||
51
+ !isText(candidate.slug, 100, 3) ||
52
+ !SLUG.test(candidate.slug) ||
53
+ !(candidate.description === null || isText(candidate.description, 2_000, 0, true)) ||
54
+ !(candidate.status === 'active' || candidate.status === 'inactive') ||
55
+ !isTimestamp(candidate.createdAt) ||
56
+ !isTimestamp(candidate.updatedAt)) {
57
+ return undefined;
58
+ }
59
+ return Object.freeze({
60
+ id: candidate.id,
61
+ name: candidate.name,
62
+ slug: candidate.slug,
63
+ description: candidate.description,
64
+ status: candidate.status,
65
+ createdAt: candidate.createdAt,
66
+ updatedAt: candidate.updatedAt,
67
+ });
68
+ }
69
+ /** Projects one complete module and verifies its nested parent. */
70
+ function moduleValue(value, applicationId) {
71
+ const candidate = objectValue(value);
72
+ if (!candidate ||
73
+ typeof candidate.id !== 'string' ||
74
+ !UUID.test(candidate.id) ||
75
+ candidate.applicationId !== applicationId ||
76
+ !isText(candidate.name, 255, 1) ||
77
+ !isText(candidate.slug, 100, 3) ||
78
+ !SLUG.test(candidate.slug) ||
79
+ !(candidate.description === null || isText(candidate.description, 2_000, 0, true)) ||
80
+ !(candidate.status === 'active' || candidate.status === 'inactive') ||
81
+ !isTimestamp(candidate.createdAt) ||
82
+ !isTimestamp(candidate.updatedAt)) {
83
+ return undefined;
84
+ }
85
+ return Object.freeze({
86
+ id: candidate.id,
87
+ applicationId,
88
+ name: candidate.name,
89
+ slug: candidate.slug,
90
+ description: candidate.description,
91
+ status: candidate.status,
92
+ createdAt: candidate.createdAt,
93
+ updatedAt: candidate.updatedAt,
94
+ });
95
+ }
96
+ /** Projects a complete collection without returning partial values. */
97
+ function collection(value, project) {
98
+ if (!Array.isArray(value))
99
+ return undefined;
100
+ const ids = new Set();
101
+ const projected = [];
102
+ for (const entry of value) {
103
+ const item = project(entry);
104
+ const candidate = objectValue(item);
105
+ if (!item || !candidate || typeof candidate.id !== 'string' || ids.has(candidate.id)) {
106
+ return undefined;
107
+ }
108
+ ids.add(candidate.id);
109
+ projected.push(item);
110
+ }
111
+ return Object.freeze(projected);
112
+ }
113
+ /** Maps a read error to a fixed safe result. */
114
+ function readError(error) {
115
+ if (error instanceof PortaAuthenticationError)
116
+ return { kind: 'session-invalid' };
117
+ if (error instanceof PortaValidationError)
118
+ return { kind: 'failure', failure: 'validation' };
119
+ if (error instanceof PortaForbiddenError)
120
+ return { kind: 'failure', failure: 'unauthorized' };
121
+ if (error instanceof PortaConflictError)
122
+ return { kind: 'failure', failure: 'conflict' };
123
+ return { kind: 'failure', failure: 'unavailable' };
124
+ }
125
+ /** Maps a mutation error to a fixed safe result. */
126
+ function mutationError(error) {
127
+ if (error instanceof DOMException && error.name === 'AbortError')
128
+ return { kind: 'cancelled' };
129
+ if (error instanceof PortaAuthenticationError)
130
+ return { kind: 'session-invalid' };
131
+ if (error instanceof PortaValidationError)
132
+ return { kind: 'failure', failure: 'validation' };
133
+ if (error instanceof PortaForbiddenError)
134
+ return { kind: 'failure', failure: 'unauthorized' };
135
+ if (error instanceof PortaConflictError)
136
+ return { kind: 'failure', failure: 'conflict' };
137
+ return { kind: 'outcome-unknown' };
138
+ }
139
+ /** Invokes and validates one application-returning mutation. */
140
+ async function applicationMutation(invoke) {
141
+ try {
142
+ const value = applicationValue(await invoke());
143
+ return value ? { kind: 'success', value } : { kind: 'outcome-unknown' };
144
+ }
145
+ catch (error) {
146
+ return mutationError(error);
147
+ }
148
+ }
149
+ /** Invokes one void mutation exactly once. */
150
+ async function voidMutation(invoke) {
151
+ try {
152
+ await invoke();
153
+ return { kind: 'success' };
154
+ }
155
+ catch (error) {
156
+ return mutationError(error);
157
+ }
158
+ }
159
+ /** Creates the feature-local application SDK adapter. */
160
+ export function createAdminApplicationOperations(domain) {
161
+ return {
162
+ async listAll() {
163
+ try {
164
+ const value = collection(await domain().listAll(), applicationValue);
165
+ return value
166
+ ? { kind: 'success', value }
167
+ : { kind: 'failure', failure: 'invalid-response' };
168
+ }
169
+ catch (error) {
170
+ return readError(error);
171
+ }
172
+ },
173
+ async get(idOrSlug) {
174
+ if (!isText(idOrSlug, 100, 3))
175
+ return { kind: 'failure', failure: 'validation' };
176
+ try {
177
+ const response = await domain().get(idOrSlug);
178
+ const value = applicationValue(response.data);
179
+ if (!value || !isEtag(response.etag)) {
180
+ return { kind: 'failure', failure: 'invalid-response' };
181
+ }
182
+ return { kind: 'success', value: { application: value, etag: response.etag } };
183
+ }
184
+ catch (error) {
185
+ return readError(error);
186
+ }
187
+ },
188
+ create: (input) => applicationMutation(() => domain().create(input)),
189
+ update: (id, input, etag) => UUID.test(id)
190
+ ? applicationMutation(() => domain().update(id, input, etag))
191
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
192
+ activate: (id) => UUID.test(id)
193
+ ? voidMutation(() => domain().activate(id))
194
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
195
+ deactivate: (id) => UUID.test(id)
196
+ ? voidMutation(() => domain().deactivate(id))
197
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
198
+ delete: (id) => UUID.test(id)
199
+ ? voidMutation(() => domain().delete(id))
200
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
201
+ async listModules(applicationId) {
202
+ if (!UUID.test(applicationId))
203
+ return { kind: 'failure', failure: 'validation' };
204
+ try {
205
+ const value = collection(await domain().listModules(applicationId), (entry) => moduleValue(entry, applicationId));
206
+ return value
207
+ ? { kind: 'success', value }
208
+ : { kind: 'failure', failure: 'invalid-response' };
209
+ }
210
+ catch (error) {
211
+ return readError(error);
212
+ }
213
+ },
214
+ async addModule(applicationId, input) {
215
+ if (!UUID.test(applicationId))
216
+ return { kind: 'failure', failure: 'validation' };
217
+ try {
218
+ const value = moduleValue(await domain().addModule(applicationId, input), applicationId);
219
+ return value ? { kind: 'success', value } : { kind: 'outcome-unknown' };
220
+ }
221
+ catch (error) {
222
+ return mutationError(error);
223
+ }
224
+ },
225
+ async updateModule(applicationId, moduleId, input) {
226
+ if (!UUID.test(applicationId) || !UUID.test(moduleId)) {
227
+ return { kind: 'failure', failure: 'validation' };
228
+ }
229
+ try {
230
+ const value = moduleValue(await domain().updateModule(applicationId, moduleId, input), applicationId);
231
+ return value ? { kind: 'success', value } : { kind: 'outcome-unknown' };
232
+ }
233
+ catch (error) {
234
+ return mutationError(error);
235
+ }
236
+ },
237
+ activateModule: (applicationId, moduleId) => UUID.test(applicationId) && UUID.test(moduleId)
238
+ ? voidMutation(() => domain().activateModule(applicationId, moduleId))
239
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
240
+ deactivateModule: (applicationId, moduleId) => UUID.test(applicationId) && UUID.test(moduleId)
241
+ ? voidMutation(() => domain().deactivateModule(applicationId, moduleId))
242
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
243
+ deleteModule: (applicationId, moduleId) => UUID.test(applicationId) && UUID.test(moduleId)
244
+ ? voidMutation(() => domain().deleteModule(applicationId, moduleId))
245
+ : Promise.resolve({ kind: 'failure', failure: 'validation' }),
246
+ };
247
+ }
248
+ //# sourceMappingURL=application-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-service.js","sourceRoot":"","sources":["../../src/admin/application-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /** Immutable global application administration values retained by the terminal application. */
2
+ /** Supported global application lifecycle values. */
3
+ export type AdminApplicationStatus = 'active' | 'inactive';
4
+ /** Supported application-module lifecycle values. */
5
+ export type AdminApplicationModuleStatus = 'active' | 'inactive';
6
+ /** Allowlisted global application projection safe for terminal presentation. */
7
+ export interface AdminApplication {
8
+ /** Stable internal application UUID. */
9
+ readonly id: string;
10
+ /** Deployment-global display name. */
11
+ readonly name: string;
12
+ /** Deployment-global immutable slug. */
13
+ readonly slug: string;
14
+ /** Optional product description. */
15
+ readonly description: string | null;
16
+ /** Current lifecycle state. */
17
+ readonly status: AdminApplicationStatus;
18
+ /** Creation timestamp. */
19
+ readonly createdAt: string;
20
+ /** Most recent update timestamp. */
21
+ readonly updatedAt: string;
22
+ }
23
+ /** Allowlisted module projection safe for terminal presentation. */
24
+ export interface AdminApplicationModule {
25
+ /** Stable internal module UUID. */
26
+ readonly id: string;
27
+ /** Internal UUID of the owning application. */
28
+ readonly applicationId: string;
29
+ /** Module display name. */
30
+ readonly name: string;
31
+ /** Immutable module slug. */
32
+ readonly slug: string;
33
+ /** Optional module description. */
34
+ readonly description: string | null;
35
+ /** Current lifecycle state. */
36
+ readonly status: AdminApplicationModuleStatus;
37
+ /** Creation timestamp. */
38
+ readonly createdAt: string;
39
+ /** Most recent update timestamp. */
40
+ readonly updatedAt: string;
41
+ }
42
+ /** Fixed application failure categories safe to display. */
43
+ export type AdminApplicationFailureKind = 'validation' | 'unauthorized' | 'conflict' | 'unavailable' | 'invalid-response';
44
+ /** Sanitized application read result. */
45
+ export type AdminApplicationReadResult<T> = {
46
+ readonly kind: 'success';
47
+ readonly value: T;
48
+ } | {
49
+ readonly kind: 'session-invalid';
50
+ } | {
51
+ readonly kind: 'failure';
52
+ readonly failure: AdminApplicationFailureKind;
53
+ };
54
+ /** Sanitized application mutation result. */
55
+ export type AdminApplicationMutationResult<T = void> = ({
56
+ readonly kind: 'success';
57
+ } & (T extends void ? object : {
58
+ readonly value: T;
59
+ })) | {
60
+ readonly kind: 'session-invalid';
61
+ } | {
62
+ readonly kind: 'cancelled';
63
+ } | {
64
+ readonly kind: 'outcome-unknown';
65
+ } | {
66
+ readonly kind: 'failure';
67
+ readonly failure: AdminApplicationFailureKind;
68
+ };
69
+ /** Validated application list retained for clean loading and failure replacement. */
70
+ export interface AdminApplicationListProjection {
71
+ /** Makes deployment ownership explicit at every presentation boundary. */
72
+ readonly scope: 'global';
73
+ /** Complete validated deployment catalog. */
74
+ readonly applications: readonly AdminApplication[];
75
+ }
76
+ /** Validated application detail and same-parent modules retained together. */
77
+ export interface AdminApplicationDetailProjection extends AdminApplicationListProjection {
78
+ /** Selected deployment-global application. */
79
+ readonly application: AdminApplication;
80
+ /** Update precondition returned with the selected application. */
81
+ readonly etag: string | null;
82
+ /** Complete validated module collection for the selected application. */
83
+ readonly modules: readonly AdminApplicationModule[];
84
+ }
85
+ /** Safe projection that may remain visible while a read is pending or fails. */
86
+ export type AdminApplicationProjection = ({
87
+ readonly kind: 'list';
88
+ } & AdminApplicationListProjection) | ({
89
+ readonly kind: 'detail';
90
+ } & AdminApplicationDetailProjection);
91
+ /** Complete global application controller state. */
92
+ export type AdminApplicationViewState = {
93
+ readonly kind: 'closed';
94
+ } | {
95
+ readonly kind: 'loading';
96
+ readonly previous?: AdminApplicationProjection;
97
+ } | ({
98
+ readonly kind: 'list';
99
+ } & AdminApplicationListProjection) | ({
100
+ readonly kind: 'detail';
101
+ } & AdminApplicationDetailProjection) | {
102
+ readonly kind: 'indeterminate';
103
+ readonly previous?: AdminApplicationProjection;
104
+ } | {
105
+ readonly kind: 'failure';
106
+ readonly failure: AdminApplicationFailureKind;
107
+ readonly previous?: AdminApplicationProjection;
108
+ };
109
+ //# sourceMappingURL=application-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-state.d.ts","sourceRoot":"","sources":["../../src/admin/application-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Immutable global application administration values retained by the terminal application. */
2
+ export {};
3
+ //# sourceMappingURL=application-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-state.js","sourceRoot":"","sources":["../../src/admin/application-state.ts"],"names":[],"mappings":"AAAA,+FAA+F"}
@@ -0,0 +1,77 @@
1
+ /** Direct JSVision workspace for deployment-global applications and modules. */
2
+ import { View } from '@jsvision/ui';
3
+ import type { AdminApplicationRbacIntent } from './application-rbac-workspace.js';
4
+ import type { AdminApplicationRbacViewState } from './rbac-state.js';
5
+ import type { AdminCapabilities } from './state.js';
6
+ import type { AdminApplicationViewState } from './application-state.js';
7
+ /** Closed set of application actions emitted by the global workspace. */
8
+ export type AdminApplicationIntent = {
9
+ readonly kind: 'create';
10
+ } | {
11
+ readonly kind: 'select';
12
+ readonly applicationId: string;
13
+ } | {
14
+ readonly kind: 'retry';
15
+ } | {
16
+ readonly kind: 'back';
17
+ } | {
18
+ readonly kind: 'edit';
19
+ readonly applicationId: string;
20
+ } | {
21
+ readonly kind: 'activate';
22
+ readonly applicationId: string;
23
+ } | {
24
+ readonly kind: 'deactivate';
25
+ readonly applicationId: string;
26
+ } | {
27
+ readonly kind: 'delete';
28
+ readonly applicationId: string;
29
+ } | {
30
+ readonly kind: 'add-module';
31
+ readonly applicationId: string;
32
+ } | {
33
+ readonly kind: 'edit-module';
34
+ readonly applicationId: string;
35
+ readonly moduleId: string;
36
+ } | {
37
+ readonly kind: 'activate-module';
38
+ readonly applicationId: string;
39
+ readonly moduleId: string;
40
+ } | {
41
+ readonly kind: 'deactivate-module';
42
+ readonly applicationId: string;
43
+ readonly moduleId: string;
44
+ } | {
45
+ readonly kind: 'delete-module';
46
+ readonly applicationId: string;
47
+ readonly moduleId: string;
48
+ };
49
+ /** Construction inputs for the global application workspace. */
50
+ export interface AdminApplicationWorkspaceOptions {
51
+ /** Exact capabilities from the currently verified session. */
52
+ readonly capabilities: AdminCapabilities;
53
+ /** Receives closed intents while controllers retain network ownership. */
54
+ readonly onIntent: (intent: AdminApplicationIntent) => void;
55
+ /** Receives one explicit role or permission action from the selected Application. */
56
+ readonly onRbacIntent?: (intent: AdminApplicationRbacIntent) => void;
57
+ /** Focuses one mounted JSVision control through the application loop. */
58
+ readonly focusView?: (view: View) => void;
59
+ }
60
+ /** Mounted application workspace controlled by immutable validated state. */
61
+ export interface AdminApplicationWorkspace {
62
+ /** Content mounted inside the administration shell. */
63
+ readonly content: View;
64
+ /** Replaces the complete validated view state. */
65
+ readonly setState: (state: AdminApplicationViewState) => void;
66
+ /** Replaces the selected Application's validated RBAC state. */
67
+ readonly setRbacState: (state: AdminApplicationRbacViewState) => void;
68
+ /** Restores focus to the current primary control. */
69
+ readonly focusCurrent: () => void;
70
+ /** Removes retained application state and controls. */
71
+ readonly clear: () => void;
72
+ /** Permanently disposes the workspace. */
73
+ readonly dispose: () => void;
74
+ }
75
+ /** Creates a feature-specific application workspace using only JSVision layout primitives. */
76
+ export declare function createAdminApplicationWorkspace(options: AdminApplicationWorkspaceOptions): AdminApplicationWorkspace;
77
+ //# sourceMappingURL=application-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-workspace.d.ts","sourceRoot":"","sources":["../../src/admin/application-workspace.ts"],"names":[],"mappings":"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"}