@lssm/lib.identity-rbac 0.0.0-canary-20251217083314 → 0.0.0-canary-20251219202229

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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/dist/contracts/dist/capabilities/openbanking.js +2 -1
  3. package/dist/contracts/dist/capabilities/openbanking.js.map +1 -0
  4. package/dist/contracts/dist/contract-registry/schemas.js +2 -1
  5. package/dist/contracts/dist/contract-registry/schemas.js.map +1 -0
  6. package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
  7. package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
  8. package/dist/contracts/dist/docs/index.js +2 -6
  9. package/dist/contracts/dist/docs/meta.docs.js +30 -0
  10. package/dist/contracts/dist/docs/meta.docs.js.map +1 -0
  11. package/dist/contracts/dist/docs/presentations.js +2 -1
  12. package/dist/contracts/dist/docs/presentations.js.map +1 -0
  13. package/dist/contracts/dist/docs/registry.js +2 -1
  14. package/dist/contracts/dist/docs/registry.js.map +1 -0
  15. package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
  16. package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
  17. package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
  18. package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
  19. package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
  20. package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
  21. package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
  22. package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
  23. package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
  24. package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
  25. package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
  26. package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
  27. package/dist/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
  28. package/dist/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
  29. package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
  30. package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
  31. package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
  32. package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
  33. package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
  34. package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
  35. package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
  36. package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
  37. package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
  38. package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
  39. package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
  40. package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
  41. package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
  42. package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
  43. package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
  44. package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
  45. package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
  46. package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
  47. package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
  48. package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
  49. package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
  50. package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
  51. package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
  52. package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
  53. package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
  54. package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
  55. package/dist/contracts/dist/docs/tech-contracts.docs.js +97 -0
  56. package/dist/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
  57. package/dist/contracts/dist/events.js +2 -1
  58. package/dist/contracts/dist/events.js.map +1 -0
  59. package/dist/contracts/dist/index.js +2 -1
  60. package/dist/contracts/dist/integrations/contracts.js +65 -66
  61. package/dist/contracts/dist/integrations/contracts.js.map +1 -0
  62. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
  63. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
  64. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
  65. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
  66. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
  67. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
  68. package/dist/contracts/dist/integrations/openbanking/models.js +60 -61
  69. package/dist/contracts/dist/integrations/openbanking/models.js.map +1 -0
  70. package/dist/contracts/dist/integrations/openbanking/telemetry.js +2 -1
  71. package/dist/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
  72. package/dist/contracts/dist/integrations/providers/elevenlabs.js +2 -1
  73. package/dist/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
  74. package/dist/contracts/dist/integrations/providers/gcs-storage.js +2 -1
  75. package/dist/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
  76. package/dist/contracts/dist/integrations/providers/gmail.js +2 -1
  77. package/dist/contracts/dist/integrations/providers/gmail.js.map +1 -0
  78. package/dist/contracts/dist/integrations/providers/google-calendar.js +2 -1
  79. package/dist/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
  80. package/dist/contracts/dist/integrations/providers/mistral.js +2 -1
  81. package/dist/contracts/dist/integrations/providers/mistral.js.map +1 -0
  82. package/dist/contracts/dist/integrations/providers/postmark.js +2 -1
  83. package/dist/contracts/dist/integrations/providers/postmark.js.map +1 -0
  84. package/dist/contracts/dist/integrations/providers/powens.js +2 -1
  85. package/dist/contracts/dist/integrations/providers/powens.js.map +1 -0
  86. package/dist/contracts/dist/integrations/providers/qdrant.js +2 -1
  87. package/dist/contracts/dist/integrations/providers/qdrant.js.map +1 -0
  88. package/dist/contracts/dist/integrations/providers/stripe.js +2 -1
  89. package/dist/contracts/dist/integrations/providers/stripe.js.map +1 -0
  90. package/dist/contracts/dist/integrations/providers/twilio-sms.js +2 -1
  91. package/dist/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
  92. package/dist/contracts/dist/knowledge/contracts.js +44 -45
  93. package/dist/contracts/dist/knowledge/contracts.js.map +1 -0
  94. package/dist/contracts/dist/knowledge/spaces/email-threads.js +2 -1
  95. package/dist/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
  96. package/dist/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
  97. package/dist/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
  98. package/dist/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
  99. package/dist/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
  100. package/dist/contracts/dist/knowledge/spaces/product-canon.js +2 -1
  101. package/dist/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
  102. package/dist/contracts/dist/knowledge/spaces/support-faq.js +2 -1
  103. package/dist/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
  104. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
  105. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
  106. package/dist/contracts/dist/llm/exporters.js +2 -1
  107. package/dist/contracts/dist/llm/exporters.js.map +1 -0
  108. package/dist/contracts/dist/onboarding-base.js +22 -23
  109. package/dist/contracts/dist/onboarding-base.js.map +1 -0
  110. package/dist/contracts/dist/ownership.js +4 -2
  111. package/dist/contracts/dist/ownership.js.map +1 -0
  112. package/dist/contracts/dist/presentations.v2.js +2 -1
  113. package/dist/contracts/dist/presentations.v2.js.map +1 -0
  114. package/dist/contracts/dist/regenerator/service.js +2 -1
  115. package/dist/contracts/dist/regenerator/service.js.map +1 -0
  116. package/dist/contracts/dist/schema/dist/index.js +3873 -6
  117. package/dist/contracts/dist/schema/dist/index.js.map +1 -0
  118. package/dist/contracts/dist/spec.js +2 -1
  119. package/dist/contracts/dist/spec.js.map +1 -0
  120. package/dist/contracts/organization.d.ts +187 -186
  121. package/dist/contracts/organization.d.ts.map +1 -0
  122. package/dist/contracts/organization.js +72 -73
  123. package/dist/contracts/organization.js.map +1 -0
  124. package/dist/contracts/rbac.d.ts +128 -127
  125. package/dist/contracts/rbac.d.ts.map +1 -0
  126. package/dist/contracts/rbac.js +50 -51
  127. package/dist/contracts/rbac.js.map +1 -0
  128. package/dist/contracts/user.d.ts +141 -140
  129. package/dist/contracts/user.d.ts.map +1 -0
  130. package/dist/contracts/user.js +41 -42
  131. package/dist/contracts/user.js.map +1 -0
  132. package/dist/entities/index.d.ts +162 -161
  133. package/dist/entities/index.d.ts.map +1 -0
  134. package/dist/entities/index.js +2 -1
  135. package/dist/entities/index.js.map +1 -0
  136. package/dist/entities/organization.d.ts +61 -60
  137. package/dist/entities/organization.d.ts.map +1 -0
  138. package/dist/entities/organization.js +62 -62
  139. package/dist/entities/organization.js.map +1 -0
  140. package/dist/entities/rbac.d.ts +65 -64
  141. package/dist/entities/rbac.d.ts.map +1 -0
  142. package/dist/entities/rbac.js +66 -66
  143. package/dist/entities/rbac.js.map +1 -0
  144. package/dist/entities/user.d.ts +69 -68
  145. package/dist/entities/user.d.ts.map +1 -0
  146. package/dist/entities/user.js +70 -70
  147. package/dist/entities/user.js.map +1 -0
  148. package/dist/events.d.ts +145 -144
  149. package/dist/events.d.ts.map +1 -0
  150. package/dist/events.js +89 -90
  151. package/dist/events.js.map +1 -0
  152. package/dist/identity-rbac.feature.d.ts +2 -1
  153. package/dist/identity-rbac.feature.d.ts.map +1 -0
  154. package/dist/identity-rbac.feature.js +2 -1
  155. package/dist/identity-rbac.feature.js.map +1 -0
  156. package/dist/policies/engine.d.ts +2 -1
  157. package/dist/policies/engine.d.ts.map +1 -0
  158. package/dist/policies/engine.js +2 -1
  159. package/dist/policies/engine.js.map +1 -0
  160. package/dist/schema/dist/index.js +4888 -6
  161. package/dist/schema/dist/index.js.map +1 -0
  162. package/package.json +7 -6
  163. package/dist/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
  164. package/dist/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
  165. package/dist/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
  166. package/dist/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
  167. package/dist/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
  168. package/dist/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
  169. package/dist/contracts/dist/schema/dist/EnumType.js +0 -2
  170. package/dist/contracts/dist/schema/dist/FieldType.js +0 -49
  171. package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
  172. package/dist/contracts/dist/schema/dist/SchemaModel.js +0 -34
  173. package/dist/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
  174. package/dist/contracts/dist/schema/dist/entity/index.js +0 -2
  175. package/dist/contracts/dist/schema/dist/entity/types.js +0 -1
  176. package/dist/schema/dist/EnumType.js +0 -2
  177. package/dist/schema/dist/FieldType.js +0 -49
  178. package/dist/schema/dist/ScalarTypeEnum.js +0 -236
  179. package/dist/schema/dist/SchemaModel.js +0 -34
  180. package/dist/schema/dist/entity/defineEntity.js +0 -236
  181. package/dist/schema/dist/entity/index.js +0 -2
  182. package/dist/schema/dist/entity/types.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac.d.ts","names":[],"sources":["../../src/contracts/rbac.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,65 +1,63 @@
1
- import { ScalarTypeEnum } from "../schema/dist/ScalarTypeEnum.js";
2
- import { SchemaModel } from "../schema/dist/SchemaModel.js";
3
- import "../schema/dist/index.js";
1
+ import { E5, x8 } from "../schema/dist/index.js";
4
2
  import { defineCommand, defineQuery } from "./dist/spec.js";
5
3
  import "./dist/index.js";
6
4
  import { SuccessResultModel } from "./user.js";
7
5
 
8
6
  //#region src/contracts/rbac.ts
9
7
  const OWNERS = ["platform.identity-rbac"];
10
- const RoleModel = new SchemaModel({
8
+ const RoleModel = new x8({
11
9
  name: "Role",
12
10
  description: "RBAC role definition",
13
11
  fields: {
14
12
  id: {
15
- type: ScalarTypeEnum.String_unsecure(),
13
+ type: E5.String_unsecure(),
16
14
  isOptional: false
17
15
  },
18
16
  name: {
19
- type: ScalarTypeEnum.String_unsecure(),
17
+ type: E5.String_unsecure(),
20
18
  isOptional: false
21
19
  },
22
20
  description: {
23
- type: ScalarTypeEnum.String_unsecure(),
21
+ type: E5.String_unsecure(),
24
22
  isOptional: true
25
23
  },
26
24
  permissions: {
27
- type: ScalarTypeEnum.String_unsecure(),
25
+ type: E5.String_unsecure(),
28
26
  isOptional: false,
29
27
  isArray: true
30
28
  },
31
29
  createdAt: {
32
- type: ScalarTypeEnum.DateTime(),
30
+ type: E5.DateTime(),
33
31
  isOptional: false
34
32
  }
35
33
  }
36
34
  });
37
- const PolicyBindingModel = new SchemaModel({
35
+ const PolicyBindingModel = new x8({
38
36
  name: "PolicyBinding",
39
37
  description: "Role assignment to a target",
40
38
  fields: {
41
39
  id: {
42
- type: ScalarTypeEnum.String_unsecure(),
40
+ type: E5.String_unsecure(),
43
41
  isOptional: false
44
42
  },
45
43
  roleId: {
46
- type: ScalarTypeEnum.String_unsecure(),
44
+ type: E5.String_unsecure(),
47
45
  isOptional: false
48
46
  },
49
47
  targetType: {
50
- type: ScalarTypeEnum.String_unsecure(),
48
+ type: E5.String_unsecure(),
51
49
  isOptional: false
52
50
  },
53
51
  targetId: {
54
- type: ScalarTypeEnum.String_unsecure(),
52
+ type: E5.String_unsecure(),
55
53
  isOptional: false
56
54
  },
57
55
  expiresAt: {
58
- type: ScalarTypeEnum.DateTime(),
56
+ type: E5.DateTime(),
59
57
  isOptional: true
60
58
  },
61
59
  createdAt: {
62
- type: ScalarTypeEnum.DateTime(),
60
+ type: E5.DateTime(),
63
61
  isOptional: false
64
62
  },
65
63
  role: {
@@ -68,75 +66,75 @@ const PolicyBindingModel = new SchemaModel({
68
66
  }
69
67
  }
70
68
  });
71
- const PermissionCheckResultModel = new SchemaModel({
69
+ const PermissionCheckResultModel = new x8({
72
70
  name: "PermissionCheckResult",
73
71
  description: "Result of a permission check",
74
72
  fields: {
75
73
  allowed: {
76
- type: ScalarTypeEnum.Boolean(),
74
+ type: E5.Boolean(),
77
75
  isOptional: false
78
76
  },
79
77
  reason: {
80
- type: ScalarTypeEnum.String_unsecure(),
78
+ type: E5.String_unsecure(),
81
79
  isOptional: true
82
80
  },
83
81
  matchedRole: {
84
- type: ScalarTypeEnum.String_unsecure(),
82
+ type: E5.String_unsecure(),
85
83
  isOptional: true
86
84
  }
87
85
  }
88
86
  });
89
- const CreateRoleInputModel = new SchemaModel({
87
+ const CreateRoleInputModel = new x8({
90
88
  name: "CreateRoleInput",
91
89
  description: "Input for creating a role",
92
90
  fields: {
93
91
  name: {
94
- type: ScalarTypeEnum.NonEmptyString(),
92
+ type: E5.NonEmptyString(),
95
93
  isOptional: false
96
94
  },
97
95
  description: {
98
- type: ScalarTypeEnum.String_unsecure(),
96
+ type: E5.String_unsecure(),
99
97
  isOptional: true
100
98
  },
101
99
  permissions: {
102
- type: ScalarTypeEnum.String_unsecure(),
100
+ type: E5.String_unsecure(),
103
101
  isOptional: false,
104
102
  isArray: true
105
103
  }
106
104
  }
107
105
  });
108
- const UpdateRoleInputModel = new SchemaModel({
106
+ const UpdateRoleInputModel = new x8({
109
107
  name: "UpdateRoleInput",
110
108
  description: "Input for updating a role",
111
109
  fields: {
112
110
  roleId: {
113
- type: ScalarTypeEnum.String_unsecure(),
111
+ type: E5.String_unsecure(),
114
112
  isOptional: false
115
113
  },
116
114
  name: {
117
- type: ScalarTypeEnum.String_unsecure(),
115
+ type: E5.String_unsecure(),
118
116
  isOptional: true
119
117
  },
120
118
  description: {
121
- type: ScalarTypeEnum.String_unsecure(),
119
+ type: E5.String_unsecure(),
122
120
  isOptional: true
123
121
  },
124
122
  permissions: {
125
- type: ScalarTypeEnum.String_unsecure(),
123
+ type: E5.String_unsecure(),
126
124
  isOptional: true,
127
125
  isArray: true
128
126
  }
129
127
  }
130
128
  });
131
- const DeleteRoleInputModel = new SchemaModel({
129
+ const DeleteRoleInputModel = new x8({
132
130
  name: "DeleteRoleInput",
133
131
  description: "Input for deleting a role",
134
132
  fields: { roleId: {
135
- type: ScalarTypeEnum.String_unsecure(),
133
+ type: E5.String_unsecure(),
136
134
  isOptional: false
137
135
  } }
138
136
  });
139
- const ListRolesOutputModel = new SchemaModel({
137
+ const ListRolesOutputModel = new x8({
140
138
  name: "ListRolesOutput",
141
139
  description: "Output for listing roles",
142
140
  fields: { roles: {
@@ -145,82 +143,82 @@ const ListRolesOutputModel = new SchemaModel({
145
143
  isArray: true
146
144
  } }
147
145
  });
148
- const AssignRoleInputModel = new SchemaModel({
146
+ const AssignRoleInputModel = new x8({
149
147
  name: "AssignRoleInput",
150
148
  description: "Input for assigning a role",
151
149
  fields: {
152
150
  roleId: {
153
- type: ScalarTypeEnum.String_unsecure(),
151
+ type: E5.String_unsecure(),
154
152
  isOptional: false
155
153
  },
156
154
  targetType: {
157
- type: ScalarTypeEnum.String_unsecure(),
155
+ type: E5.String_unsecure(),
158
156
  isOptional: false
159
157
  },
160
158
  targetId: {
161
- type: ScalarTypeEnum.String_unsecure(),
159
+ type: E5.String_unsecure(),
162
160
  isOptional: false
163
161
  },
164
162
  expiresAt: {
165
- type: ScalarTypeEnum.DateTime(),
163
+ type: E5.DateTime(),
166
164
  isOptional: true
167
165
  }
168
166
  }
169
167
  });
170
- const RevokeRoleInputModel = new SchemaModel({
168
+ const RevokeRoleInputModel = new x8({
171
169
  name: "RevokeRoleInput",
172
170
  description: "Input for revoking a role",
173
171
  fields: { bindingId: {
174
- type: ScalarTypeEnum.String_unsecure(),
172
+ type: E5.String_unsecure(),
175
173
  isOptional: false
176
174
  } }
177
175
  });
178
- const BindingIdPayloadModel = new SchemaModel({
176
+ const BindingIdPayloadModel = new x8({
179
177
  name: "BindingIdPayload",
180
178
  description: "Payload with binding ID",
181
179
  fields: { bindingId: {
182
- type: ScalarTypeEnum.String_unsecure(),
180
+ type: E5.String_unsecure(),
183
181
  isOptional: false
184
182
  } }
185
183
  });
186
- const CheckPermissionInputModel = new SchemaModel({
184
+ const CheckPermissionInputModel = new x8({
187
185
  name: "CheckPermissionInput",
188
186
  description: "Input for checking a permission",
189
187
  fields: {
190
188
  userId: {
191
- type: ScalarTypeEnum.String_unsecure(),
189
+ type: E5.String_unsecure(),
192
190
  isOptional: false
193
191
  },
194
192
  orgId: {
195
- type: ScalarTypeEnum.String_unsecure(),
193
+ type: E5.String_unsecure(),
196
194
  isOptional: true
197
195
  },
198
196
  permission: {
199
- type: ScalarTypeEnum.String_unsecure(),
197
+ type: E5.String_unsecure(),
200
198
  isOptional: false
201
199
  }
202
200
  }
203
201
  });
204
- const ListUserPermissionsInputModel = new SchemaModel({
202
+ const ListUserPermissionsInputModel = new x8({
205
203
  name: "ListUserPermissionsInput",
206
204
  description: "Input for listing user permissions",
207
205
  fields: {
208
206
  userId: {
209
- type: ScalarTypeEnum.String_unsecure(),
207
+ type: E5.String_unsecure(),
210
208
  isOptional: false
211
209
  },
212
210
  orgId: {
213
- type: ScalarTypeEnum.String_unsecure(),
211
+ type: E5.String_unsecure(),
214
212
  isOptional: true
215
213
  }
216
214
  }
217
215
  });
218
- const ListUserPermissionsOutputModel = new SchemaModel({
216
+ const ListUserPermissionsOutputModel = new x8({
219
217
  name: "ListUserPermissionsOutput",
220
218
  description: "Output for listing user permissions",
221
219
  fields: {
222
220
  permissions: {
223
- type: ScalarTypeEnum.String_unsecure(),
221
+ type: E5.String_unsecure(),
224
222
  isOptional: false,
225
223
  isArray: true
226
224
  },
@@ -484,4 +482,5 @@ const ListUserPermissionsContract = defineQuery({
484
482
  });
485
483
 
486
484
  //#endregion
487
- export { AssignRoleContract, AssignRoleInputModel, BindingIdPayloadModel, CheckPermissionContract, CheckPermissionInputModel, CreateRoleContract, CreateRoleInputModel, DeleteRoleContract, DeleteRoleInputModel, ListRolesContract, ListRolesOutputModel, ListUserPermissionsContract, ListUserPermissionsInputModel, ListUserPermissionsOutputModel, PermissionCheckResultModel, PolicyBindingModel, RevokeRoleContract, RevokeRoleInputModel, RoleModel, UpdateRoleContract, UpdateRoleInputModel };
485
+ export { AssignRoleContract, AssignRoleInputModel, BindingIdPayloadModel, CheckPermissionContract, CheckPermissionInputModel, CreateRoleContract, CreateRoleInputModel, DeleteRoleContract, DeleteRoleInputModel, ListRolesContract, ListRolesOutputModel, ListUserPermissionsContract, ListUserPermissionsInputModel, ListUserPermissionsOutputModel, PermissionCheckResultModel, PolicyBindingModel, RevokeRoleContract, RevokeRoleInputModel, RoleModel, UpdateRoleContract, UpdateRoleInputModel };
486
+ //# sourceMappingURL=rbac.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac.js","names":["SchemaModel","ScalarTypeEnum"],"sources":["../../src/contracts/rbac.ts"],"sourcesContent":["import { SchemaModel, ScalarTypeEnum } from '@lssm/lib.schema';\nimport { defineCommand, defineQuery } from '@lssm/lib.contracts';\nimport { SuccessResultModel } from './user';\n\nconst OWNERS = ['platform.identity-rbac'] as const;\n\n// ============ SchemaModels ============\n\nexport const RoleModel = new SchemaModel({\n name: 'Role',\n description: 'RBAC role definition',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n permissions: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n isArray: true,\n },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const PolicyBindingModel = new SchemaModel({\n name: 'PolicyBinding',\n description: 'Role assignment to a target',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n roleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false }, // user | organization\n targetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n expiresAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n role: { type: RoleModel, isOptional: false },\n },\n});\n\nexport const PermissionCheckResultModel = new SchemaModel({\n name: 'PermissionCheckResult',\n description: 'Result of a permission check',\n fields: {\n allowed: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n matchedRole: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const CreateRoleInputModel = new SchemaModel({\n name: 'CreateRoleInput',\n description: 'Input for creating a role',\n fields: {\n name: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n permissions: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n isArray: true,\n },\n },\n});\n\nexport const UpdateRoleInputModel = new SchemaModel({\n name: 'UpdateRoleInput',\n description: 'Input for updating a role',\n fields: {\n roleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n permissions: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n isArray: true,\n },\n },\n});\n\nexport const DeleteRoleInputModel = new SchemaModel({\n name: 'DeleteRoleInput',\n description: 'Input for deleting a role',\n fields: {\n roleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const ListRolesOutputModel = new SchemaModel({\n name: 'ListRolesOutput',\n description: 'Output for listing roles',\n fields: {\n roles: { type: RoleModel, isOptional: false, isArray: true },\n },\n});\n\nexport const AssignRoleInputModel = new SchemaModel({\n name: 'AssignRoleInput',\n description: 'Input for assigning a role',\n fields: {\n roleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false }, // user | organization\n targetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n expiresAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nexport const RevokeRoleInputModel = new SchemaModel({\n name: 'RevokeRoleInput',\n description: 'Input for revoking a role',\n fields: {\n bindingId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const BindingIdPayloadModel = new SchemaModel({\n name: 'BindingIdPayload',\n description: 'Payload with binding ID',\n fields: {\n bindingId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const CheckPermissionInputModel = new SchemaModel({\n name: 'CheckPermissionInput',\n description: 'Input for checking a permission',\n fields: {\n userId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n permission: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const ListUserPermissionsInputModel = new SchemaModel({\n name: 'ListUserPermissionsInput',\n description: 'Input for listing user permissions',\n fields: {\n userId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const ListUserPermissionsOutputModel = new SchemaModel({\n name: 'ListUserPermissionsOutput',\n description: 'Output for listing user permissions',\n fields: {\n permissions: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n isArray: true,\n },\n roles: { type: RoleModel, isOptional: false, isArray: true },\n },\n});\n\n// ============ Contracts ============\n\n/**\n * Create a new role.\n */\nexport const CreateRoleContract = defineCommand({\n meta: {\n name: 'identity.rbac.role.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'role', 'create'],\n description: 'Create a new role with permissions.',\n goal: 'Allow admins to define custom roles.',\n context: 'Role management in admin settings.',\n },\n io: {\n input: CreateRoleInputModel,\n output: RoleModel,\n errors: {\n ROLE_EXISTS: {\n description: 'A role with this name already exists',\n http: 409,\n gqlCode: 'ROLE_EXISTS',\n when: 'Role name is taken',\n },\n },\n },\n policy: {\n auth: 'admin',\n },\n sideEffects: {\n audit: ['role.created'],\n },\n});\n\n/**\n * Update a role.\n */\nexport const UpdateRoleContract = defineCommand({\n meta: {\n name: 'identity.rbac.role.update',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'role', 'update'],\n description: 'Update an existing role.',\n goal: 'Allow admins to modify role permissions.',\n context: 'Role management in admin settings.',\n },\n io: {\n input: UpdateRoleInputModel,\n output: RoleModel,\n },\n policy: {\n auth: 'admin',\n },\n sideEffects: {\n audit: ['role.updated'],\n },\n});\n\n/**\n * Delete a role.\n */\nexport const DeleteRoleContract = defineCommand({\n meta: {\n name: 'identity.rbac.role.delete',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'role', 'delete'],\n description: 'Delete an existing role.',\n goal: 'Allow admins to remove unused roles.',\n context: 'Role management. Removes all policy bindings using this role.',\n },\n io: {\n input: DeleteRoleInputModel,\n output: SuccessResultModel,\n errors: {\n ROLE_IN_USE: {\n description: 'Role is still assigned to users or organizations',\n http: 409,\n gqlCode: 'ROLE_IN_USE',\n when: 'Role has active bindings',\n },\n },\n },\n policy: {\n auth: 'admin',\n },\n sideEffects: {\n audit: ['role.deleted'],\n },\n});\n\n/**\n * List all roles.\n */\nexport const ListRolesContract = defineQuery({\n meta: {\n name: 'identity.rbac.role.list',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'role', 'list'],\n description: 'List all available roles.',\n goal: 'Show available roles for assignment.',\n context: 'Role assignment UI.',\n },\n io: {\n input: null,\n output: ListRolesOutputModel,\n },\n policy: {\n auth: 'user',\n },\n});\n\n/**\n * Assign a role to a user or organization.\n */\nexport const AssignRoleContract = defineCommand({\n meta: {\n name: 'identity.rbac.assign',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'assign'],\n description: 'Assign a role to a user or organization.',\n goal: 'Grant permissions via role assignment.',\n context: 'User/org permission management.',\n },\n io: {\n input: AssignRoleInputModel,\n output: PolicyBindingModel,\n errors: {\n ROLE_NOT_FOUND: {\n description: 'The specified role does not exist',\n http: 404,\n gqlCode: 'ROLE_NOT_FOUND',\n when: 'Role ID is invalid',\n },\n ALREADY_ASSIGNED: {\n description: 'This role is already assigned to the target',\n http: 409,\n gqlCode: 'ALREADY_ASSIGNED',\n when: 'Binding already exists',\n },\n },\n },\n policy: {\n auth: 'admin',\n },\n sideEffects: {\n emits: [\n {\n name: 'role.assigned',\n version: 1,\n when: 'Role is assigned',\n payload: PolicyBindingModel,\n },\n ],\n audit: ['role.assigned'],\n },\n});\n\n/**\n * Revoke a role from a user or organization.\n */\nexport const RevokeRoleContract = defineCommand({\n meta: {\n name: 'identity.rbac.revoke',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'revoke'],\n description: 'Revoke a role from a user or organization.',\n goal: 'Remove permissions via role revocation.',\n context: 'User/org permission management.',\n },\n io: {\n input: RevokeRoleInputModel,\n output: SuccessResultModel,\n errors: {\n BINDING_NOT_FOUND: {\n description: 'The policy binding does not exist',\n http: 404,\n gqlCode: 'BINDING_NOT_FOUND',\n when: 'Binding ID is invalid',\n },\n },\n },\n policy: {\n auth: 'admin',\n },\n sideEffects: {\n emits: [\n {\n name: 'role.revoked',\n version: 1,\n when: 'Role is revoked',\n payload: BindingIdPayloadModel,\n },\n ],\n audit: ['role.revoked'],\n },\n});\n\n/**\n * Check if a user has a specific permission.\n */\nexport const CheckPermissionContract = defineQuery({\n meta: {\n name: 'identity.rbac.check',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'check', 'permission'],\n description: 'Check if a user has a specific permission.',\n goal: 'Authorization check before sensitive operations.',\n context: 'Called by other services to verify permissions.',\n },\n io: {\n input: CheckPermissionInputModel,\n output: PermissionCheckResultModel,\n },\n policy: {\n auth: 'user',\n },\n});\n\n/**\n * List permissions for a user.\n */\nexport const ListUserPermissionsContract = defineQuery({\n meta: {\n name: 'identity.rbac.permissions',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['identity', 'rbac', 'permissions', 'user'],\n description: 'List all permissions for a user in a context.',\n goal: 'Show what a user can do in an org.',\n context: 'UI permission display, debugging.',\n },\n io: {\n input: ListUserPermissionsInputModel,\n output: ListUserPermissionsOutputModel,\n },\n policy: {\n auth: 'user',\n },\n});\n"],"mappings":"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"}