@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
@@ -1 +1 @@
1
- {"version":3,"file":"widget.zod.d.ts","sourceRoot":"","sources":["../../src/ui/widget.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;OAGG;;IAGH;;;;;OAKG;;IAMH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;OAGG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"widget.zod.d.ts","sourceRoot":"","sources":["../../src/ui/widget.zod.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,301 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldWidgetPropsSchema = void 0;
3
+ exports.FieldWidgetPropsSchema = exports.WidgetManifestSchema = exports.WidgetPropertySchema = exports.WidgetEventSchema = exports.WidgetLifecycleSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const field_zod_1 = require("../data/field.zod");
6
+ /**
7
+ * Widget Lifecycle Hooks Schema
8
+ *
9
+ * Defines lifecycle callbacks for custom widgets inspired by Web Components and React.
10
+ * These hooks allow widgets to perform initialization, cleanup, and respond to changes.
11
+ *
12
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components
13
+ * @see https://react.dev/reference/react/Component#component-lifecycle
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const widget = {
18
+ * lifecycle: {
19
+ * onMount: "console.log('Widget mounted')",
20
+ * onUpdate: "if (prevProps.value !== props.value) { updateUI() }",
21
+ * onUnmount: "cleanup()",
22
+ * onValidate: "return value.length > 0 ? null : 'Required field'"
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ exports.WidgetLifecycleSchema = zod_1.z.object({
28
+ /**
29
+ * Called when widget is mounted/rendered for the first time
30
+ * Use for initialization, setting up event listeners, loading data, etc.
31
+ *
32
+ * @example "initializeDatePicker(); loadOptions();"
33
+ */
34
+ onMount: zod_1.z.string().optional().describe('Initialization code when widget mounts'),
35
+ /**
36
+ * Called when widget props change
37
+ * Receives previous props for comparison
38
+ *
39
+ * @example "if (prevProps.value !== props.value) { updateDisplay() }"
40
+ */
41
+ onUpdate: zod_1.z.string().optional().describe('Code to run when props change'),
42
+ /**
43
+ * Called when widget is about to be removed from DOM
44
+ * Use for cleanup, removing event listeners, canceling timers, etc.
45
+ *
46
+ * @example "destroyDatePicker(); cancelPendingRequests();"
47
+ */
48
+ onUnmount: zod_1.z.string().optional().describe('Cleanup code when widget unmounts'),
49
+ /**
50
+ * Custom validation logic for this widget
51
+ * Should return error message string if invalid, null/undefined if valid
52
+ *
53
+ * @example "return value && value.length >= 10 ? null : 'Minimum 10 characters'"
54
+ */
55
+ onValidate: zod_1.z.string().optional().describe('Custom validation logic'),
56
+ /**
57
+ * Called when widget receives focus
58
+ *
59
+ * @example "highlightField(); logFocusEvent();"
60
+ */
61
+ onFocus: zod_1.z.string().optional().describe('Code to run on focus'),
62
+ /**
63
+ * Called when widget loses focus
64
+ *
65
+ * @example "validateField(); saveFieldState();"
66
+ */
67
+ onBlur: zod_1.z.string().optional().describe('Code to run on blur'),
68
+ /**
69
+ * Called on any error in the widget
70
+ *
71
+ * @example "logError(error); showErrorNotification();"
72
+ */
73
+ onError: zod_1.z.string().optional().describe('Error handling code'),
74
+ });
75
+ /**
76
+ * Widget Event Schema
77
+ *
78
+ * Defines custom events that widgets can emit, inspired by DOM Events and Lightning Web Components.
79
+ *
80
+ * @see https://developer.mozilla.org/en-US/docs/Web/Events/Creating_and_triggering_events
81
+ * @see https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.events
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const searchEvent = {
86
+ * name: 'search',
87
+ * bubbles: true,
88
+ * cancelable: false,
89
+ * payload: {
90
+ * query: 'string',
91
+ * filters: 'object'
92
+ * }
93
+ * }
94
+ * ```
95
+ */
96
+ exports.WidgetEventSchema = zod_1.z.object({
97
+ /**
98
+ * Event name
99
+ * Should be lowercase, dash-separated for consistency
100
+ *
101
+ * @example "value-change", "item-selected", "search-complete"
102
+ */
103
+ name: zod_1.z.string().describe('Event name'),
104
+ /**
105
+ * Event label for documentation
106
+ */
107
+ label: zod_1.z.string().optional().describe('Human-readable event label'),
108
+ /**
109
+ * Event description
110
+ */
111
+ description: zod_1.z.string().optional().describe('Event description and usage'),
112
+ /**
113
+ * Whether event bubbles up through the DOM hierarchy
114
+ *
115
+ * @default false
116
+ */
117
+ bubbles: zod_1.z.boolean().default(false).describe('Whether event bubbles'),
118
+ /**
119
+ * Whether event can be cancelled
120
+ *
121
+ * @default false
122
+ */
123
+ cancelable: zod_1.z.boolean().default(false).describe('Whether event is cancelable'),
124
+ /**
125
+ * Event payload schema
126
+ * Defines the data structure sent with the event
127
+ *
128
+ * @example { userId: 'string', timestamp: 'number' }
129
+ */
130
+ payload: zod_1.z.record(zod_1.z.any()).optional().describe('Event payload schema'),
131
+ });
132
+ /**
133
+ * Widget Property Definition Schema
134
+ *
135
+ * Defines the contract for widget configuration properties.
136
+ * Inspired by React PropTypes and Web Component attributes.
137
+ *
138
+ * @see https://react.dev/reference/react/Component#static-proptypes
139
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const widgetProps = {
144
+ * maxLength: {
145
+ * type: 'number',
146
+ * required: false,
147
+ * default: 100,
148
+ * description: 'Maximum input length'
149
+ * }
150
+ * }
151
+ * ```
152
+ */
153
+ exports.WidgetPropertySchema = zod_1.z.object({
154
+ /**
155
+ * Property name
156
+ * Should be camelCase following ObjectStack conventions
157
+ */
158
+ name: zod_1.z.string().describe('Property name (camelCase)'),
159
+ /**
160
+ * Property label for UI
161
+ */
162
+ label: zod_1.z.string().optional().describe('Human-readable label'),
163
+ /**
164
+ * Property data type
165
+ *
166
+ * @example "string", "number", "boolean", "array", "object", "function"
167
+ */
168
+ type: zod_1.z.enum(['string', 'number', 'boolean', 'array', 'object', 'function', 'any'])
169
+ .describe('TypeScript type'),
170
+ /**
171
+ * Whether property is required
172
+ *
173
+ * @default false
174
+ */
175
+ required: zod_1.z.boolean().default(false).describe('Whether property is required'),
176
+ /**
177
+ * Default value for the property
178
+ */
179
+ default: zod_1.z.any().optional().describe('Default value'),
180
+ /**
181
+ * Property description
182
+ */
183
+ description: zod_1.z.string().optional().describe('Property description'),
184
+ /**
185
+ * Property validation schema
186
+ * Can include min/max, regex, enum values, etc.
187
+ */
188
+ validation: zod_1.z.record(zod_1.z.any()).optional().describe('Validation rules'),
189
+ /**
190
+ * Property category for grouping in UI
191
+ */
192
+ category: zod_1.z.string().optional().describe('Property category'),
193
+ });
194
+ /**
195
+ * Widget Manifest Schema
196
+ *
197
+ * Complete definition for a custom widget including metadata, lifecycle, events, and props.
198
+ * This is used for widget registration and discovery.
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * const customWidget = {
203
+ * name: 'custom_date_picker',
204
+ * label: 'Custom Date Picker',
205
+ * version: '1.0.0',
206
+ * author: 'Company Name',
207
+ * fieldTypes: ['date', 'datetime'],
208
+ * lifecycle: { ... },
209
+ * events: [ ... ],
210
+ * properties: [ ... ]
211
+ * }
212
+ * ```
213
+ */
214
+ exports.WidgetManifestSchema = zod_1.z.object({
215
+ /**
216
+ * Widget identifier (snake_case)
217
+ */
218
+ name: zod_1.z.string()
219
+ .regex(/^[a-z_][a-z0-9_]*$/)
220
+ .describe('Widget identifier (snake_case)'),
221
+ /**
222
+ * Human-readable widget name
223
+ */
224
+ label: zod_1.z.string().describe('Widget display name'),
225
+ /**
226
+ * Widget description
227
+ */
228
+ description: zod_1.z.string().optional().describe('Widget description'),
229
+ /**
230
+ * Widget version (semver)
231
+ */
232
+ version: zod_1.z.string().optional().describe('Widget version (semver)'),
233
+ /**
234
+ * Widget author/organization
235
+ */
236
+ author: zod_1.z.string().optional().describe('Widget author'),
237
+ /**
238
+ * Icon name or URL
239
+ */
240
+ icon: zod_1.z.string().optional().describe('Widget icon'),
241
+ /**
242
+ * Field types this widget supports
243
+ *
244
+ * @example ["text", "email", "url"]
245
+ */
246
+ fieldTypes: zod_1.z.array(zod_1.z.string()).optional().describe('Supported field types'),
247
+ /**
248
+ * Widget category for organization
249
+ */
250
+ category: zod_1.z.enum(['input', 'display', 'picker', 'editor', 'custom'])
251
+ .default('custom')
252
+ .describe('Widget category'),
253
+ /**
254
+ * Widget lifecycle hooks
255
+ */
256
+ lifecycle: exports.WidgetLifecycleSchema.optional().describe('Lifecycle hooks'),
257
+ /**
258
+ * Custom events this widget emits
259
+ */
260
+ events: zod_1.z.array(exports.WidgetEventSchema).optional().describe('Custom events'),
261
+ /**
262
+ * Widget configuration properties
263
+ */
264
+ properties: zod_1.z.array(exports.WidgetPropertySchema).optional().describe('Configuration properties'),
265
+ /**
266
+ * Widget implementation
267
+ * URL to component or inline code
268
+ */
269
+ implementation: zod_1.z.object({
270
+ type: zod_1.z.enum(['url', 'inline', 'module']).describe('Implementation type'),
271
+ source: zod_1.z.string().describe('Source URL, inline code, or module path'),
272
+ }).optional().describe('Widget implementation'),
273
+ /**
274
+ * Widget dependencies
275
+ * External libraries or scripts needed
276
+ */
277
+ dependencies: zod_1.z.array(zod_1.z.object({
278
+ name: zod_1.z.string(),
279
+ version: zod_1.z.string().optional(),
280
+ url: zod_1.z.string().url().optional(),
281
+ })).optional().describe('Widget dependencies'),
282
+ /**
283
+ * Widget screenshots for showcase
284
+ */
285
+ screenshots: zod_1.z.array(zod_1.z.string().url()).optional().describe('Screenshot URLs'),
286
+ /**
287
+ * Widget documentation URL
288
+ */
289
+ documentation: zod_1.z.string().url().optional().describe('Documentation URL'),
290
+ /**
291
+ * License information
292
+ */
293
+ license: zod_1.z.string().optional().describe('License (SPDX identifier)'),
294
+ /**
295
+ * Tags for discovery
296
+ */
297
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags for categorization'),
298
+ });
6
299
  /**
7
300
  * Field Widget Props Schema
8
301
  *
@@ -0,0 +1,65 @@
1
+ {
2
+ "$ref": "#/definitions/ODataError",
3
+ "definitions": {
4
+ "ODataError": {
5
+ "type": "object",
6
+ "properties": {
7
+ "error": {
8
+ "type": "object",
9
+ "properties": {
10
+ "code": {
11
+ "type": "string",
12
+ "description": "Error code"
13
+ },
14
+ "message": {
15
+ "type": "string",
16
+ "description": "Error message"
17
+ },
18
+ "target": {
19
+ "type": "string",
20
+ "description": "Error target"
21
+ },
22
+ "details": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "code": {
28
+ "type": "string"
29
+ },
30
+ "message": {
31
+ "type": "string"
32
+ },
33
+ "target": {
34
+ "type": "string"
35
+ }
36
+ },
37
+ "required": [
38
+ "code",
39
+ "message"
40
+ ],
41
+ "additionalProperties": false
42
+ },
43
+ "description": "Error details"
44
+ },
45
+ "innererror": {
46
+ "type": "object",
47
+ "additionalProperties": {},
48
+ "description": "Inner error details"
49
+ }
50
+ },
51
+ "required": [
52
+ "code",
53
+ "message"
54
+ ],
55
+ "additionalProperties": false
56
+ }
57
+ },
58
+ "required": [
59
+ "error"
60
+ ],
61
+ "additionalProperties": false
62
+ }
63
+ },
64
+ "$schema": "http://json-schema.org/draft-07/schema#"
65
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$ref": "#/definitions/ODataFilterFunction",
3
+ "definitions": {
4
+ "ODataFilterFunction": {
5
+ "type": "string",
6
+ "enum": [
7
+ "contains",
8
+ "startswith",
9
+ "endswith",
10
+ "length",
11
+ "indexof",
12
+ "substring",
13
+ "tolower",
14
+ "toupper",
15
+ "trim",
16
+ "concat",
17
+ "year",
18
+ "month",
19
+ "day",
20
+ "hour",
21
+ "minute",
22
+ "second",
23
+ "date",
24
+ "time",
25
+ "now",
26
+ "maxdatetime",
27
+ "mindatetime",
28
+ "round",
29
+ "floor",
30
+ "ceiling",
31
+ "cast",
32
+ "isof",
33
+ "any",
34
+ "all"
35
+ ]
36
+ }
37
+ },
38
+ "$schema": "http://json-schema.org/draft-07/schema#"
39
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$ref": "#/definitions/ODataFilterOperator",
3
+ "definitions": {
4
+ "ODataFilterOperator": {
5
+ "type": "string",
6
+ "enum": [
7
+ "eq",
8
+ "ne",
9
+ "lt",
10
+ "le",
11
+ "gt",
12
+ "ge",
13
+ "and",
14
+ "or",
15
+ "not",
16
+ "(",
17
+ ")",
18
+ "in",
19
+ "has"
20
+ ]
21
+ }
22
+ },
23
+ "$schema": "http://json-schema.org/draft-07/schema#"
24
+ }
@@ -0,0 +1,115 @@
1
+ {
2
+ "$ref": "#/definitions/ODataMetadata",
3
+ "definitions": {
4
+ "ODataMetadata": {
5
+ "type": "object",
6
+ "properties": {
7
+ "namespace": {
8
+ "type": "string",
9
+ "description": "Service namespace"
10
+ },
11
+ "entityTypes": {
12
+ "type": "array",
13
+ "items": {
14
+ "type": "object",
15
+ "properties": {
16
+ "name": {
17
+ "type": "string",
18
+ "description": "Entity type name"
19
+ },
20
+ "key": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ },
25
+ "description": "Key fields"
26
+ },
27
+ "properties": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "object",
31
+ "properties": {
32
+ "name": {
33
+ "type": "string"
34
+ },
35
+ "type": {
36
+ "type": "string",
37
+ "description": "OData type (Edm.String, Edm.Int32, etc.)"
38
+ },
39
+ "nullable": {
40
+ "type": "boolean",
41
+ "default": true
42
+ }
43
+ },
44
+ "required": [
45
+ "name",
46
+ "type"
47
+ ],
48
+ "additionalProperties": false
49
+ }
50
+ },
51
+ "navigationProperties": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "properties": {
56
+ "name": {
57
+ "type": "string"
58
+ },
59
+ "type": {
60
+ "type": "string"
61
+ },
62
+ "partner": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ "required": [
67
+ "name",
68
+ "type"
69
+ ],
70
+ "additionalProperties": false
71
+ }
72
+ }
73
+ },
74
+ "required": [
75
+ "name",
76
+ "key",
77
+ "properties"
78
+ ],
79
+ "additionalProperties": false
80
+ },
81
+ "description": "Entity types"
82
+ },
83
+ "entitySets": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "object",
87
+ "properties": {
88
+ "name": {
89
+ "type": "string",
90
+ "description": "Entity set name"
91
+ },
92
+ "entityType": {
93
+ "type": "string",
94
+ "description": "Entity type"
95
+ }
96
+ },
97
+ "required": [
98
+ "name",
99
+ "entityType"
100
+ ],
101
+ "additionalProperties": false
102
+ },
103
+ "description": "Entity sets"
104
+ }
105
+ },
106
+ "required": [
107
+ "namespace",
108
+ "entityTypes",
109
+ "entitySets"
110
+ ],
111
+ "additionalProperties": false
112
+ }
113
+ },
114
+ "$schema": "http://json-schema.org/draft-07/schema#"
115
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "$ref": "#/definitions/ODataQuery",
3
+ "definitions": {
4
+ "ODataQuery": {
5
+ "type": "object",
6
+ "properties": {
7
+ "$select": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string"
11
+ },
12
+ {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ }
17
+ }
18
+ ],
19
+ "description": "Fields to select"
20
+ },
21
+ "$filter": {
22
+ "type": "string",
23
+ "description": "Filter expression (OData filter syntax)"
24
+ },
25
+ "$orderby": {
26
+ "anyOf": [
27
+ {
28
+ "type": "string"
29
+ },
30
+ {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ }
35
+ }
36
+ ],
37
+ "description": "Sort order"
38
+ },
39
+ "$top": {
40
+ "type": "integer",
41
+ "minimum": 0,
42
+ "description": "Max results to return"
43
+ },
44
+ "$skip": {
45
+ "type": "integer",
46
+ "minimum": 0,
47
+ "description": "Results to skip"
48
+ },
49
+ "$expand": {
50
+ "anyOf": [
51
+ {
52
+ "type": "string"
53
+ },
54
+ {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "string"
58
+ }
59
+ }
60
+ ],
61
+ "description": "Navigation properties to expand"
62
+ },
63
+ "$count": {
64
+ "type": "boolean",
65
+ "description": "Include total count"
66
+ },
67
+ "$search": {
68
+ "type": "string",
69
+ "description": "Search expression"
70
+ },
71
+ "$format": {
72
+ "type": "string",
73
+ "enum": [
74
+ "json",
75
+ "xml",
76
+ "atom"
77
+ ],
78
+ "description": "Response format"
79
+ },
80
+ "$apply": {
81
+ "type": "string",
82
+ "description": "Aggregation expression"
83
+ }
84
+ },
85
+ "additionalProperties": false
86
+ }
87
+ },
88
+ "$schema": "http://json-schema.org/draft-07/schema#"
89
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$ref": "#/definitions/ODataResponse",
3
+ "definitions": {
4
+ "ODataResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "@odata.context": {
8
+ "type": "string",
9
+ "format": "uri",
10
+ "description": "Metadata context URL"
11
+ },
12
+ "@odata.count": {
13
+ "type": "integer",
14
+ "description": "Total results count"
15
+ },
16
+ "@odata.nextLink": {
17
+ "type": "string",
18
+ "format": "uri",
19
+ "description": "Next page URL"
20
+ },
21
+ "value": {
22
+ "type": "array",
23
+ "items": {
24
+ "type": "object",
25
+ "additionalProperties": {}
26
+ },
27
+ "description": "Results array"
28
+ }
29
+ },
30
+ "required": [
31
+ "value"
32
+ ],
33
+ "additionalProperties": false
34
+ }
35
+ },
36
+ "$schema": "http://json-schema.org/draft-07/schema#"
37
+ }
@@ -6,8 +6,9 @@
6
6
  "properties": {
7
7
  "name": {
8
8
  "type": "string",
9
- "pattern": "^[a-z_][a-z0-9_]*$",
10
- "description": "Unique role name"
9
+ "minLength": 2,
10
+ "pattern": "^[a-z][a-z0-9_]*$",
11
+ "description": "Unique role name (lowercase snake_case)"
11
12
  },
12
13
  "label": {
13
14
  "type": "string",