@objectstack/spec 0.3.3 → 0.4.1

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 (304) hide show
  1. package/dist/ai/conversation.zod.d.ts +14 -14
  2. package/dist/ai/cost.zod.d.ts +112 -112
  3. package/dist/ai/model-registry.zod.d.ts +44 -44
  4. package/dist/ai/nlq.zod.d.ts +2 -2
  5. package/dist/ai/orchestration.zod.d.ts +6 -6
  6. package/dist/ai/predictive.zod.d.ts +8 -8
  7. package/dist/ai/rag-pipeline.zod.d.ts +62 -62
  8. package/dist/api/contract.zod.d.ts +92 -92
  9. package/dist/api/discovery.zod.d.ts +2 -2
  10. package/dist/api/index.d.ts +2 -0
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +2 -0
  13. package/dist/api/odata.zod.d.ts +482 -0
  14. package/dist/api/odata.zod.d.ts.map +1 -0
  15. package/dist/api/odata.zod.js +401 -0
  16. package/dist/api/router.zod.d.ts +4 -4
  17. package/dist/auth/config.zod.d.ts +21 -21
  18. package/dist/auth/index.d.ts +1 -0
  19. package/dist/auth/index.d.ts.map +1 -1
  20. package/dist/auth/index.js +1 -0
  21. package/dist/auth/organization.zod.d.ts +2 -2
  22. package/dist/auth/role.zod.d.ts +14 -0
  23. package/dist/auth/role.zod.d.ts.map +1 -1
  24. package/dist/auth/role.zod.js +16 -1
  25. package/dist/auth/scim.zod.d.ts +2732 -0
  26. package/dist/auth/scim.zod.d.ts.map +1 -0
  27. package/dist/auth/scim.zod.js +811 -0
  28. package/dist/automation/approval.zod.d.ts +643 -0
  29. package/dist/automation/approval.zod.d.ts.map +1 -0
  30. package/dist/automation/approval.zod.js +84 -0
  31. package/dist/automation/connector.zod.d.ts +1284 -0
  32. package/dist/automation/connector.zod.d.ts.map +1 -0
  33. package/dist/automation/connector.zod.js +500 -0
  34. package/dist/automation/etl.zod.d.ts +623 -0
  35. package/dist/automation/etl.zod.d.ts.map +1 -0
  36. package/dist/automation/etl.zod.js +359 -0
  37. package/dist/automation/flow.zod.d.ts +6 -6
  38. package/dist/automation/index.d.ts +4 -0
  39. package/dist/automation/index.d.ts.map +1 -1
  40. package/dist/automation/index.js +4 -0
  41. package/dist/automation/sync.zod.d.ts +854 -0
  42. package/dist/automation/sync.zod.d.ts.map +1 -0
  43. package/dist/automation/sync.zod.js +444 -0
  44. package/dist/automation/webhook.zod.d.ts +24 -1
  45. package/dist/automation/webhook.zod.d.ts.map +1 -1
  46. package/dist/automation/webhook.zod.js +27 -3
  47. package/dist/automation/workflow.zod.d.ts +14 -0
  48. package/dist/automation/workflow.zod.d.ts.map +1 -1
  49. package/dist/automation/workflow.zod.js +16 -1
  50. package/dist/data/field.zod.d.ts +338 -8
  51. package/dist/data/field.zod.d.ts.map +1 -1
  52. package/dist/data/field.zod.js +100 -16
  53. package/dist/data/mapping.zod.d.ts +22 -10
  54. package/dist/data/mapping.zod.d.ts.map +1 -1
  55. package/dist/data/mapping.zod.js +16 -3
  56. package/dist/data/object.zod.d.ts +116 -22
  57. package/dist/data/object.zod.d.ts.map +1 -1
  58. package/dist/data/object.zod.js +4 -4
  59. package/dist/data/validation.zod.d.ts +18 -18
  60. package/dist/hub/composer.zod.d.ts +42 -1939
  61. package/dist/hub/composer.zod.d.ts.map +1 -1
  62. package/dist/hub/composer.zod.js +1 -1
  63. package/dist/hub/license.zod.d.ts +2 -2
  64. package/dist/hub/marketplace.zod.d.ts +6 -6
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +6 -3
  68. package/dist/permission/index.d.ts +7 -5
  69. package/dist/permission/index.d.ts.map +1 -1
  70. package/dist/permission/index.js +7 -5
  71. package/dist/permission/permission.zod.d.ts +14 -0
  72. package/dist/permission/permission.zod.d.ts.map +1 -1
  73. package/dist/permission/permission.zod.js +16 -1
  74. package/dist/permission/rls.zod.d.ts +605 -0
  75. package/dist/permission/rls.zod.d.ts.map +1 -0
  76. package/dist/permission/rls.zod.js +615 -0
  77. package/dist/permission/territory.zod.d.ts +13 -0
  78. package/dist/permission/territory.zod.d.ts.map +1 -1
  79. package/dist/permission/territory.zod.js +15 -1
  80. package/dist/shared/identifiers.zod.d.ts +87 -0
  81. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  82. package/dist/shared/identifiers.zod.js +101 -0
  83. package/dist/shared/index.d.ts +6 -0
  84. package/dist/shared/index.d.ts.map +1 -0
  85. package/dist/{driver → shared}/index.js +5 -4
  86. package/dist/stack.zod.d.ts +19869 -0
  87. package/dist/stack.zod.d.ts.map +1 -0
  88. package/dist/stack.zod.js +248 -0
  89. package/dist/system/audit.zod.d.ts +12 -12
  90. package/dist/{kernel → system}/context.zod.d.ts.map +1 -1
  91. package/dist/{driver → system}/datasource.zod.d.ts +2 -2
  92. package/dist/{driver → system}/datasource.zod.d.ts.map +1 -1
  93. package/dist/{driver → system/driver}/mongo.zod.d.ts +2 -2
  94. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  95. package/dist/{driver → system/driver}/postgres.zod.d.ts +4 -4
  96. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  97. package/dist/{driver → system}/driver.zod.d.ts +14 -14
  98. package/dist/{driver → system}/driver.zod.d.ts.map +1 -1
  99. package/dist/system/events.zod.d.ts +15 -12
  100. package/dist/system/events.zod.d.ts.map +1 -1
  101. package/dist/system/events.zod.js +5 -1
  102. package/dist/system/feature.zod.d.ts +131 -0
  103. package/dist/system/feature.zod.d.ts.map +1 -0
  104. package/dist/system/feature.zod.js +45 -0
  105. package/dist/system/index.d.ts +10 -0
  106. package/dist/system/index.d.ts.map +1 -1
  107. package/dist/system/index.js +12 -0
  108. package/dist/system/job.zod.d.ts +8 -8
  109. package/dist/{kernel → system}/logger.zod.d.ts +4 -4
  110. package/dist/{kernel → system}/logger.zod.d.ts.map +1 -1
  111. package/dist/system/manifest.zod.d.ts +515 -0
  112. package/dist/system/manifest.zod.d.ts.map +1 -0
  113. package/dist/{kernel → system}/manifest.zod.js +0 -12
  114. package/dist/{kernel → system}/plugin.zod.d.ts.map +1 -1
  115. package/dist/{kernel → system}/scoped-storage.zod.d.ts +2 -2
  116. package/dist/{kernel → system}/scoped-storage.zod.d.ts.map +1 -1
  117. package/dist/ui/action.zod.d.ts +35 -10
  118. package/dist/ui/action.zod.d.ts.map +1 -1
  119. package/dist/ui/action.zod.js +30 -1
  120. package/dist/ui/app.zod.d.ts +23 -8
  121. package/dist/ui/app.zod.d.ts.map +1 -1
  122. package/dist/ui/app.zod.js +32 -4
  123. package/dist/ui/block.zod.d.ts +265 -0
  124. package/dist/ui/block.zod.d.ts.map +1 -0
  125. package/dist/ui/block.zod.js +90 -0
  126. package/dist/ui/component.zod.d.ts +265 -0
  127. package/dist/ui/component.zod.d.ts.map +1 -0
  128. package/dist/ui/component.zod.js +90 -0
  129. package/dist/ui/dashboard.zod.d.ts +15 -15
  130. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  131. package/dist/ui/dashboard.zod.js +18 -8
  132. package/dist/ui/index.d.ts +1 -0
  133. package/dist/ui/index.d.ts.map +1 -1
  134. package/dist/ui/index.js +1 -0
  135. package/dist/ui/page.zod.d.ts +21 -3
  136. package/dist/ui/page.zod.d.ts.map +1 -1
  137. package/dist/ui/page.zod.js +37 -4
  138. package/dist/ui/report.zod.d.ts +7 -7
  139. package/dist/ui/view.zod.d.ts +252 -240
  140. package/dist/ui/view.zod.d.ts.map +1 -1
  141. package/dist/ui/view.zod.js +32 -3
  142. package/dist/ui/widget.zod.d.ts +673 -5
  143. package/dist/ui/widget.zod.d.ts.map +1 -1
  144. package/dist/ui/widget.zod.js +294 -1
  145. package/json-schema/api/ODataError.json +65 -0
  146. package/json-schema/api/ODataFilterFunction.json +39 -0
  147. package/json-schema/api/ODataFilterOperator.json +24 -0
  148. package/json-schema/api/ODataMetadata.json +115 -0
  149. package/json-schema/api/ODataQuery.json +89 -0
  150. package/json-schema/api/ODataResponse.json +37 -0
  151. package/json-schema/auth/Role.json +3 -2
  152. package/json-schema/auth/SCIMAddress.json +50 -0
  153. package/json-schema/auth/SCIMEmail.json +38 -0
  154. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  155. package/json-schema/auth/SCIMError.json +52 -0
  156. package/json-schema/auth/SCIMGroup.json +102 -0
  157. package/json-schema/auth/SCIMGroupReference.json +36 -0
  158. package/json-schema/auth/SCIMListResponse.json +606 -0
  159. package/json-schema/auth/SCIMMemberReference.json +36 -0
  160. package/json-schema/auth/SCIMMeta.json +35 -0
  161. package/json-schema/auth/SCIMName.json +36 -0
  162. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  163. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  164. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  165. package/json-schema/auth/SCIMUser.json +462 -0
  166. package/json-schema/automation/ApprovalAction.json +35 -0
  167. package/json-schema/automation/ApprovalActionType.json +15 -0
  168. package/json-schema/automation/ApprovalProcess.json +326 -0
  169. package/json-schema/automation/ApprovalStep.json +147 -0
  170. package/json-schema/automation/ApproverType.json +16 -0
  171. package/json-schema/automation/AuthField.json +73 -0
  172. package/json-schema/automation/Authentication.json +159 -0
  173. package/json-schema/automation/AuthenticationType.json +18 -0
  174. package/json-schema/automation/ConflictResolution.json +16 -0
  175. package/json-schema/automation/Connector.json +440 -0
  176. package/json-schema/automation/ConnectorCategory.json +26 -0
  177. package/json-schema/automation/ConnectorInstance.json +69 -0
  178. package/json-schema/automation/ConnectorOperation.json +117 -0
  179. package/json-schema/automation/ConnectorTrigger.json +54 -0
  180. package/json-schema/automation/DataDestinationConfig.json +89 -0
  181. package/json-schema/automation/DataSourceConfig.json +34 -0
  182. package/json-schema/automation/DataSyncConfig.json +355 -0
  183. package/json-schema/automation/ETLDestination.json +57 -0
  184. package/json-schema/automation/ETLEndpointType.json +19 -0
  185. package/json-schema/automation/ETLPipeline.json +252 -0
  186. package/json-schema/automation/ETLPipelineRun.json +107 -0
  187. package/json-schema/automation/ETLRunStatus.json +17 -0
  188. package/json-schema/automation/ETLSource.json +60 -0
  189. package/json-schema/automation/ETLSyncMode.json +14 -0
  190. package/json-schema/automation/ETLTransformation.json +46 -0
  191. package/json-schema/automation/ETLTransformationType.json +21 -0
  192. package/json-schema/automation/FieldMapping.json +36 -0
  193. package/json-schema/automation/OAuth2Config.json +43 -0
  194. package/json-schema/automation/OperationParameter.json +59 -0
  195. package/json-schema/automation/OperationType.json +17 -0
  196. package/json-schema/automation/SyncDirection.json +14 -0
  197. package/json-schema/automation/SyncExecutionResult.json +135 -0
  198. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  199. package/json-schema/automation/SyncMode.json +14 -0
  200. package/json-schema/automation/Webhook.json +3 -1
  201. package/json-schema/automation/WebhookReceiver.json +3 -1
  202. package/json-schema/automation/WorkflowRule.json +3 -2
  203. package/json-schema/data/Field.json +62 -4
  204. package/json-schema/data/FieldType.json +12 -2
  205. package/json-schema/data/Object.json +62 -4
  206. package/json-schema/data/SelectOption.json +4 -2
  207. package/json-schema/data/VectorConfig.json +51 -0
  208. package/json-schema/hub/ComposerResponse.json +0 -2162
  209. package/json-schema/permission/PermissionSet.json +3 -1
  210. package/json-schema/permission/RLSConfig.json +59 -0
  211. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  212. package/json-schema/permission/RLSOperation.json +16 -0
  213. package/json-schema/permission/RLSUserContext.json +51 -0
  214. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  215. package/json-schema/permission/Territory.json +3 -1
  216. package/json-schema/shared/EventName.json +12 -0
  217. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  218. package/json-schema/shared/SystemIdentifier.json +12 -0
  219. package/json-schema/system/Event.json +3 -2
  220. package/json-schema/system/FeatureFlag.json +87 -0
  221. package/json-schema/system/FeatureStrategy.json +16 -0
  222. package/json-schema/system/Manifest.json +395 -0
  223. package/json-schema/ui/Action.json +25 -4
  224. package/json-schema/ui/ActionParam.json +12 -2
  225. package/json-schema/ui/App.json +18 -7
  226. package/json-schema/ui/ChartType.json +9 -1
  227. package/json-schema/ui/Dashboard.json +9 -1
  228. package/json-schema/ui/DashboardNavItem.json +3 -1
  229. package/json-schema/ui/DashboardWidget.json +9 -1
  230. package/json-schema/ui/FieldWidgetProps.json +62 -4
  231. package/json-schema/ui/FormView.json +4 -1
  232. package/json-schema/ui/GroupNavItem.json +3 -1
  233. package/json-schema/ui/ListView.json +7 -1
  234. package/json-schema/ui/NavigationItem.json +15 -5
  235. package/json-schema/ui/ObjectNavItem.json +3 -1
  236. package/json-schema/ui/Page.json +36 -4
  237. package/json-schema/ui/PageCardProps.json +32 -0
  238. package/json-schema/ui/PageComponent.json +33 -3
  239. package/json-schema/ui/PageComponentType.json +32 -0
  240. package/json-schema/ui/PageHeaderProps.json +39 -0
  241. package/json-schema/ui/PageNavItem.json +3 -1
  242. package/json-schema/ui/PageRegion.json +33 -3
  243. package/json-schema/ui/PageTabsProps.json +55 -0
  244. package/json-schema/ui/RecordDetailsProps.json +37 -0
  245. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  246. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  247. package/json-schema/ui/UrlNavItem.json +3 -1
  248. package/json-schema/ui/View.json +22 -4
  249. package/json-schema/ui/WidgetEvent.json +42 -0
  250. package/json-schema/ui/WidgetLifecycle.json +40 -0
  251. package/json-schema/ui/WidgetManifest.json +262 -0
  252. package/json-schema/ui/WidgetProperty.json +58 -0
  253. package/package.json +1 -1
  254. package/prompts/architecture.md +5 -5
  255. package/prompts/create-new-project.md +85 -0
  256. package/dist/driver/index.d.ts +0 -5
  257. package/dist/driver/index.d.ts.map +0 -1
  258. package/dist/driver/mongo.zod.d.ts.map +0 -1
  259. package/dist/driver/postgres.zod.d.ts.map +0 -1
  260. package/dist/kernel/index.d.ts +0 -12
  261. package/dist/kernel/index.d.ts.map +0 -1
  262. package/dist/kernel/index.js +0 -27
  263. package/dist/kernel/manifest.zod.d.ts +0 -2153
  264. package/dist/kernel/manifest.zod.d.ts.map +0 -1
  265. package/json-schema/kernel/Manifest.json +0 -2557
  266. /package/dist/{kernel → system}/context.zod.d.ts +0 -0
  267. /package/dist/{kernel → system}/context.zod.js +0 -0
  268. /package/dist/{driver → system}/datasource.zod.js +0 -0
  269. /package/dist/{driver → system/driver}/mongo.zod.js +0 -0
  270. /package/dist/{driver → system/driver}/postgres.zod.js +0 -0
  271. /package/dist/{driver → system}/driver.zod.js +0 -0
  272. /package/dist/{kernel → system}/logger.zod.js +0 -0
  273. /package/dist/{kernel → system}/plugin.zod.d.ts +0 -0
  274. /package/dist/{kernel → system}/plugin.zod.js +0 -0
  275. /package/dist/{kernel → system}/scoped-storage.zod.js +0 -0
  276. /package/json-schema/{driver → system}/Datasource.json +0 -0
  277. /package/json-schema/{driver → system}/DatasourceCapabilities.json +0 -0
  278. /package/json-schema/{driver → system}/DriverCapabilities.json +0 -0
  279. /package/json-schema/{driver → system}/DriverDefinition.json +0 -0
  280. /package/json-schema/{driver → system}/DriverInterface.json +0 -0
  281. /package/json-schema/{driver → system}/DriverOptions.json +0 -0
  282. /package/json-schema/{driver → system}/DriverType.json +0 -0
  283. /package/json-schema/{kernel → system}/FileMetadata.json +0 -0
  284. /package/json-schema/{kernel → system}/I18nContext.json +0 -0
  285. /package/json-schema/{kernel → system}/KernelContext.json +0 -0
  286. /package/json-schema/{kernel → system}/LogEntry.json +0 -0
  287. /package/json-schema/{kernel → system}/LogFormat.json +0 -0
  288. /package/json-schema/{kernel → system}/LogLevel.json +0 -0
  289. /package/json-schema/{kernel → system}/Logger.json +0 -0
  290. /package/json-schema/{kernel → system}/LoggerConfig.json +0 -0
  291. /package/json-schema/{driver → system}/MongoConfig.json +0 -0
  292. /package/json-schema/{kernel → system}/ObjectQLClient.json +0 -0
  293. /package/json-schema/{kernel → system}/Plugin.json +0 -0
  294. /package/json-schema/{kernel → system}/PluginContext.json +0 -0
  295. /package/json-schema/{kernel → system}/PluginLifecycle.json +0 -0
  296. /package/json-schema/{driver → system}/PostgresConfig.json +0 -0
  297. /package/json-schema/{kernel → system}/Router.json +0 -0
  298. /package/json-schema/{kernel → system}/RuntimeMode.json +0 -0
  299. /package/json-schema/{kernel → system}/Scheduler.json +0 -0
  300. /package/json-schema/{kernel → system}/ScopedStorage.json +0 -0
  301. /package/json-schema/{kernel → system}/ScopedStorageConfig.json +0 -0
  302. /package/json-schema/{kernel → system}/StorageAdapterType.json +0 -0
  303. /package/json-schema/{kernel → system}/StorageScope.json +0 -0
  304. /package/json-schema/{kernel → system}/SystemAPI.json +0 -0
@@ -0,0 +1,606 @@
1
+ {
2
+ "$ref": "#/definitions/SCIMListResponse",
3
+ "definitions": {
4
+ "SCIMListResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "schemas": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "string"
11
+ },
12
+ "minItems": 1,
13
+ "default": [
14
+ "urn:ietf:params:scim:api:messages:2.0:ListResponse"
15
+ ],
16
+ "description": "SCIM schema URIs"
17
+ },
18
+ "totalResults": {
19
+ "type": "integer",
20
+ "minimum": 0,
21
+ "description": "Total results count"
22
+ },
23
+ "Resources": {
24
+ "type": "array",
25
+ "items": {
26
+ "anyOf": [
27
+ {
28
+ "type": "object",
29
+ "properties": {
30
+ "schemas": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ },
35
+ "minItems": 1,
36
+ "default": [
37
+ "urn:ietf:params:scim:schemas:core:2.0:User"
38
+ ],
39
+ "description": "SCIM schema URIs (must include User schema)"
40
+ },
41
+ "id": {
42
+ "type": "string",
43
+ "description": "Unique resource identifier"
44
+ },
45
+ "externalId": {
46
+ "type": "string",
47
+ "description": "External identifier from client system"
48
+ },
49
+ "userName": {
50
+ "type": "string",
51
+ "description": "Unique username (REQUIRED)"
52
+ },
53
+ "name": {
54
+ "type": "object",
55
+ "properties": {
56
+ "formatted": {
57
+ "type": "string",
58
+ "description": "Formatted full name"
59
+ },
60
+ "familyName": {
61
+ "type": "string",
62
+ "description": "Family name (last name)"
63
+ },
64
+ "givenName": {
65
+ "type": "string",
66
+ "description": "Given name (first name)"
67
+ },
68
+ "middleName": {
69
+ "type": "string",
70
+ "description": "Middle name"
71
+ },
72
+ "honorificPrefix": {
73
+ "type": "string",
74
+ "description": "Honorific prefix (Mr., Ms., Dr.)"
75
+ },
76
+ "honorificSuffix": {
77
+ "type": "string",
78
+ "description": "Honorific suffix (Jr., Sr.)"
79
+ }
80
+ },
81
+ "additionalProperties": false,
82
+ "description": "Structured name components"
83
+ },
84
+ "displayName": {
85
+ "type": "string",
86
+ "description": "Display name for UI"
87
+ },
88
+ "nickName": {
89
+ "type": "string",
90
+ "description": "Nickname"
91
+ },
92
+ "profileUrl": {
93
+ "type": "string",
94
+ "format": "uri",
95
+ "description": "Profile page URL"
96
+ },
97
+ "title": {
98
+ "type": "string",
99
+ "description": "Job title"
100
+ },
101
+ "userType": {
102
+ "type": "string",
103
+ "description": "User type (employee, contractor)"
104
+ },
105
+ "preferredLanguage": {
106
+ "type": "string",
107
+ "description": "Preferred language (ISO 639-1)"
108
+ },
109
+ "locale": {
110
+ "type": "string",
111
+ "description": "Locale (e.g., en-US)"
112
+ },
113
+ "timezone": {
114
+ "type": "string",
115
+ "description": "Timezone"
116
+ },
117
+ "active": {
118
+ "type": "boolean",
119
+ "default": true,
120
+ "description": "Account active status"
121
+ },
122
+ "password": {
123
+ "type": "string",
124
+ "description": "Password (write-only)"
125
+ },
126
+ "emails": {
127
+ "type": "array",
128
+ "items": {
129
+ "type": "object",
130
+ "properties": {
131
+ "value": {
132
+ "type": "string",
133
+ "format": "email",
134
+ "description": "Email address"
135
+ },
136
+ "type": {
137
+ "type": "string",
138
+ "enum": [
139
+ "work",
140
+ "home",
141
+ "other"
142
+ ],
143
+ "description": "Email type"
144
+ },
145
+ "display": {
146
+ "type": "string",
147
+ "description": "Display label"
148
+ },
149
+ "primary": {
150
+ "type": "boolean",
151
+ "default": false,
152
+ "description": "Primary email indicator"
153
+ }
154
+ },
155
+ "required": [
156
+ "value"
157
+ ],
158
+ "additionalProperties": false
159
+ },
160
+ "description": "Email addresses"
161
+ },
162
+ "phoneNumbers": {
163
+ "type": "array",
164
+ "items": {
165
+ "type": "object",
166
+ "properties": {
167
+ "value": {
168
+ "type": "string",
169
+ "description": "Phone number"
170
+ },
171
+ "type": {
172
+ "type": "string",
173
+ "enum": [
174
+ "work",
175
+ "home",
176
+ "mobile",
177
+ "fax",
178
+ "pager",
179
+ "other"
180
+ ],
181
+ "description": "Phone number type"
182
+ },
183
+ "display": {
184
+ "type": "string",
185
+ "description": "Display label"
186
+ },
187
+ "primary": {
188
+ "type": "boolean",
189
+ "default": false,
190
+ "description": "Primary phone indicator"
191
+ }
192
+ },
193
+ "required": [
194
+ "value"
195
+ ],
196
+ "additionalProperties": false
197
+ },
198
+ "description": "Phone numbers"
199
+ },
200
+ "ims": {
201
+ "type": "array",
202
+ "items": {
203
+ "type": "object",
204
+ "properties": {
205
+ "value": {
206
+ "type": "string"
207
+ },
208
+ "type": {
209
+ "type": "string"
210
+ },
211
+ "primary": {
212
+ "type": "boolean"
213
+ }
214
+ },
215
+ "required": [
216
+ "value"
217
+ ],
218
+ "additionalProperties": false
219
+ },
220
+ "description": "IM addresses"
221
+ },
222
+ "photos": {
223
+ "type": "array",
224
+ "items": {
225
+ "type": "object",
226
+ "properties": {
227
+ "value": {
228
+ "type": "string",
229
+ "format": "uri"
230
+ },
231
+ "type": {
232
+ "type": "string",
233
+ "enum": [
234
+ "photo",
235
+ "thumbnail"
236
+ ]
237
+ },
238
+ "primary": {
239
+ "type": "boolean"
240
+ }
241
+ },
242
+ "required": [
243
+ "value"
244
+ ],
245
+ "additionalProperties": false
246
+ },
247
+ "description": "Photo URLs"
248
+ },
249
+ "addresses": {
250
+ "type": "array",
251
+ "items": {
252
+ "type": "object",
253
+ "properties": {
254
+ "formatted": {
255
+ "type": "string",
256
+ "description": "Formatted address"
257
+ },
258
+ "streetAddress": {
259
+ "type": "string",
260
+ "description": "Street address"
261
+ },
262
+ "locality": {
263
+ "type": "string",
264
+ "description": "City/Locality"
265
+ },
266
+ "region": {
267
+ "type": "string",
268
+ "description": "State/Region"
269
+ },
270
+ "postalCode": {
271
+ "type": "string",
272
+ "description": "Postal code"
273
+ },
274
+ "country": {
275
+ "type": "string",
276
+ "description": "Country"
277
+ },
278
+ "type": {
279
+ "type": "string",
280
+ "enum": [
281
+ "work",
282
+ "home",
283
+ "other"
284
+ ],
285
+ "description": "Address type"
286
+ },
287
+ "primary": {
288
+ "type": "boolean",
289
+ "default": false,
290
+ "description": "Primary address indicator"
291
+ }
292
+ },
293
+ "additionalProperties": false
294
+ },
295
+ "description": "Physical addresses"
296
+ },
297
+ "groups": {
298
+ "type": "array",
299
+ "items": {
300
+ "type": "object",
301
+ "properties": {
302
+ "value": {
303
+ "type": "string",
304
+ "description": "Group ID"
305
+ },
306
+ "$ref": {
307
+ "type": "string",
308
+ "format": "uri",
309
+ "description": "URI reference to the group"
310
+ },
311
+ "display": {
312
+ "type": "string",
313
+ "description": "Group display name"
314
+ },
315
+ "type": {
316
+ "type": "string",
317
+ "enum": [
318
+ "direct",
319
+ "indirect"
320
+ ],
321
+ "description": "Membership type"
322
+ }
323
+ },
324
+ "required": [
325
+ "value"
326
+ ],
327
+ "additionalProperties": false
328
+ },
329
+ "description": "Group memberships"
330
+ },
331
+ "entitlements": {
332
+ "type": "array",
333
+ "items": {
334
+ "type": "object",
335
+ "properties": {
336
+ "value": {
337
+ "type": "string"
338
+ },
339
+ "type": {
340
+ "type": "string"
341
+ },
342
+ "primary": {
343
+ "type": "boolean"
344
+ }
345
+ },
346
+ "required": [
347
+ "value"
348
+ ],
349
+ "additionalProperties": false
350
+ },
351
+ "description": "Entitlements"
352
+ },
353
+ "roles": {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "object",
357
+ "properties": {
358
+ "value": {
359
+ "type": "string"
360
+ },
361
+ "type": {
362
+ "type": "string"
363
+ },
364
+ "primary": {
365
+ "type": "boolean"
366
+ }
367
+ },
368
+ "required": [
369
+ "value"
370
+ ],
371
+ "additionalProperties": false
372
+ },
373
+ "description": "Roles"
374
+ },
375
+ "x509Certificates": {
376
+ "type": "array",
377
+ "items": {
378
+ "type": "object",
379
+ "properties": {
380
+ "value": {
381
+ "type": "string"
382
+ },
383
+ "type": {
384
+ "type": "string"
385
+ },
386
+ "primary": {
387
+ "type": "boolean"
388
+ }
389
+ },
390
+ "required": [
391
+ "value"
392
+ ],
393
+ "additionalProperties": false
394
+ },
395
+ "description": "X509 certificates"
396
+ },
397
+ "meta": {
398
+ "type": "object",
399
+ "properties": {
400
+ "resourceType": {
401
+ "type": "string",
402
+ "description": "Resource type"
403
+ },
404
+ "created": {
405
+ "type": "string",
406
+ "format": "date-time",
407
+ "description": "Creation timestamp"
408
+ },
409
+ "lastModified": {
410
+ "type": "string",
411
+ "format": "date-time",
412
+ "description": "Last modification timestamp"
413
+ },
414
+ "location": {
415
+ "type": "string",
416
+ "format": "uri",
417
+ "description": "Resource location URI"
418
+ },
419
+ "version": {
420
+ "type": "string",
421
+ "description": "Entity tag (ETag) for concurrency control"
422
+ }
423
+ },
424
+ "additionalProperties": false,
425
+ "description": "Resource metadata"
426
+ },
427
+ "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
428
+ "type": "object",
429
+ "properties": {
430
+ "employeeNumber": {
431
+ "type": "string",
432
+ "description": "Employee number"
433
+ },
434
+ "costCenter": {
435
+ "type": "string",
436
+ "description": "Cost center"
437
+ },
438
+ "organization": {
439
+ "type": "string",
440
+ "description": "Organization"
441
+ },
442
+ "division": {
443
+ "type": "string",
444
+ "description": "Division"
445
+ },
446
+ "department": {
447
+ "type": "string",
448
+ "description": "Department"
449
+ },
450
+ "manager": {
451
+ "type": "object",
452
+ "properties": {
453
+ "value": {
454
+ "type": "string",
455
+ "description": "Manager ID"
456
+ },
457
+ "$ref": {
458
+ "type": "string",
459
+ "format": "uri",
460
+ "description": "Manager URI"
461
+ },
462
+ "displayName": {
463
+ "type": "string",
464
+ "description": "Manager name"
465
+ }
466
+ },
467
+ "required": [
468
+ "value"
469
+ ],
470
+ "additionalProperties": false,
471
+ "description": "Manager reference"
472
+ }
473
+ },
474
+ "additionalProperties": false,
475
+ "description": "Enterprise user attributes"
476
+ }
477
+ },
478
+ "required": [
479
+ "userName"
480
+ ],
481
+ "additionalProperties": false
482
+ },
483
+ {
484
+ "type": "object",
485
+ "properties": {
486
+ "schemas": {
487
+ "type": "array",
488
+ "items": {
489
+ "type": "string"
490
+ },
491
+ "minItems": 1,
492
+ "default": [
493
+ "urn:ietf:params:scim:schemas:core:2.0:Group"
494
+ ],
495
+ "description": "SCIM schema URIs (must include Group schema)"
496
+ },
497
+ "id": {
498
+ "type": "string",
499
+ "description": "Unique resource identifier"
500
+ },
501
+ "externalId": {
502
+ "type": "string",
503
+ "description": "External identifier from client system"
504
+ },
505
+ "displayName": {
506
+ "type": "string",
507
+ "description": "Group display name (REQUIRED)"
508
+ },
509
+ "members": {
510
+ "type": "array",
511
+ "items": {
512
+ "type": "object",
513
+ "properties": {
514
+ "value": {
515
+ "type": "string",
516
+ "description": "Member ID"
517
+ },
518
+ "$ref": {
519
+ "type": "string",
520
+ "format": "uri",
521
+ "description": "URI reference to the member"
522
+ },
523
+ "type": {
524
+ "type": "string",
525
+ "enum": [
526
+ "User",
527
+ "Group"
528
+ ],
529
+ "description": "Member type"
530
+ },
531
+ "display": {
532
+ "type": "string",
533
+ "description": "Member display name"
534
+ }
535
+ },
536
+ "required": [
537
+ "value"
538
+ ],
539
+ "additionalProperties": false
540
+ },
541
+ "description": "Group members"
542
+ },
543
+ "meta": {
544
+ "type": "object",
545
+ "properties": {
546
+ "resourceType": {
547
+ "type": "string",
548
+ "description": "Resource type"
549
+ },
550
+ "created": {
551
+ "type": "string",
552
+ "format": "date-time",
553
+ "description": "Creation timestamp"
554
+ },
555
+ "lastModified": {
556
+ "type": "string",
557
+ "format": "date-time",
558
+ "description": "Last modification timestamp"
559
+ },
560
+ "location": {
561
+ "type": "string",
562
+ "format": "uri",
563
+ "description": "Resource location URI"
564
+ },
565
+ "version": {
566
+ "type": "string",
567
+ "description": "Entity tag (ETag) for concurrency control"
568
+ }
569
+ },
570
+ "additionalProperties": false,
571
+ "description": "Resource metadata"
572
+ }
573
+ },
574
+ "required": [
575
+ "displayName"
576
+ ],
577
+ "additionalProperties": false
578
+ },
579
+ {
580
+ "type": "object",
581
+ "additionalProperties": {}
582
+ }
583
+ ]
584
+ },
585
+ "description": "Resources array (Users, Groups, or custom resources)"
586
+ },
587
+ "startIndex": {
588
+ "type": "integer",
589
+ "minimum": 1,
590
+ "description": "Start index (1-based)"
591
+ },
592
+ "itemsPerPage": {
593
+ "type": "integer",
594
+ "minimum": 0,
595
+ "description": "Items per page"
596
+ }
597
+ },
598
+ "required": [
599
+ "totalResults",
600
+ "Resources"
601
+ ],
602
+ "additionalProperties": false
603
+ }
604
+ },
605
+ "$schema": "http://json-schema.org/draft-07/schema#"
606
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$ref": "#/definitions/SCIMMemberReference",
3
+ "definitions": {
4
+ "SCIMMemberReference": {
5
+ "type": "object",
6
+ "properties": {
7
+ "value": {
8
+ "type": "string",
9
+ "description": "Member ID"
10
+ },
11
+ "$ref": {
12
+ "type": "string",
13
+ "format": "uri",
14
+ "description": "URI reference to the member"
15
+ },
16
+ "type": {
17
+ "type": "string",
18
+ "enum": [
19
+ "User",
20
+ "Group"
21
+ ],
22
+ "description": "Member type"
23
+ },
24
+ "display": {
25
+ "type": "string",
26
+ "description": "Member display name"
27
+ }
28
+ },
29
+ "required": [
30
+ "value"
31
+ ],
32
+ "additionalProperties": false
33
+ }
34
+ },
35
+ "$schema": "http://json-schema.org/draft-07/schema#"
36
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$ref": "#/definitions/SCIMMeta",
3
+ "definitions": {
4
+ "SCIMMeta": {
5
+ "type": "object",
6
+ "properties": {
7
+ "resourceType": {
8
+ "type": "string",
9
+ "description": "Resource type"
10
+ },
11
+ "created": {
12
+ "type": "string",
13
+ "format": "date-time",
14
+ "description": "Creation timestamp"
15
+ },
16
+ "lastModified": {
17
+ "type": "string",
18
+ "format": "date-time",
19
+ "description": "Last modification timestamp"
20
+ },
21
+ "location": {
22
+ "type": "string",
23
+ "format": "uri",
24
+ "description": "Resource location URI"
25
+ },
26
+ "version": {
27
+ "type": "string",
28
+ "description": "Entity tag (ETag) for concurrency control"
29
+ }
30
+ },
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "$schema": "http://json-schema.org/draft-07/schema#"
35
+ }