@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.
- package/dist/ai/conversation.zod.d.ts +14 -14
- package/dist/ai/cost.zod.d.ts +112 -112
- package/dist/ai/model-registry.zod.d.ts +44 -44
- package/dist/ai/nlq.zod.d.ts +2 -2
- package/dist/ai/orchestration.zod.d.ts +6 -6
- package/dist/ai/predictive.zod.d.ts +8 -8
- package/dist/ai/rag-pipeline.zod.d.ts +62 -62
- package/dist/api/contract.zod.d.ts +92 -92
- package/dist/api/discovery.zod.d.ts +2 -2
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/odata.zod.d.ts +482 -0
- package/dist/api/odata.zod.d.ts.map +1 -0
- package/dist/api/odata.zod.js +401 -0
- package/dist/api/router.zod.d.ts +4 -4
- package/dist/auth/config.zod.d.ts +21 -21
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/organization.zod.d.ts +2 -2
- package/dist/auth/role.zod.d.ts +14 -0
- package/dist/auth/role.zod.d.ts.map +1 -1
- package/dist/auth/role.zod.js +16 -1
- package/dist/auth/scim.zod.d.ts +2732 -0
- package/dist/auth/scim.zod.d.ts.map +1 -0
- package/dist/auth/scim.zod.js +811 -0
- package/dist/automation/approval.zod.d.ts +643 -0
- package/dist/automation/approval.zod.d.ts.map +1 -0
- package/dist/automation/approval.zod.js +84 -0
- package/dist/automation/connector.zod.d.ts +1284 -0
- package/dist/automation/connector.zod.d.ts.map +1 -0
- package/dist/automation/connector.zod.js +500 -0
- package/dist/automation/etl.zod.d.ts +623 -0
- package/dist/automation/etl.zod.d.ts.map +1 -0
- package/dist/automation/etl.zod.js +359 -0
- package/dist/automation/flow.zod.d.ts +6 -6
- package/dist/automation/index.d.ts +4 -0
- package/dist/automation/index.d.ts.map +1 -1
- package/dist/automation/index.js +4 -0
- package/dist/automation/sync.zod.d.ts +854 -0
- package/dist/automation/sync.zod.d.ts.map +1 -0
- package/dist/automation/sync.zod.js +444 -0
- package/dist/automation/webhook.zod.d.ts +24 -1
- package/dist/automation/webhook.zod.d.ts.map +1 -1
- package/dist/automation/webhook.zod.js +27 -3
- package/dist/automation/workflow.zod.d.ts +14 -0
- package/dist/automation/workflow.zod.d.ts.map +1 -1
- package/dist/automation/workflow.zod.js +16 -1
- package/dist/data/field.zod.d.ts +338 -8
- package/dist/data/field.zod.d.ts.map +1 -1
- package/dist/data/field.zod.js +100 -16
- package/dist/data/mapping.zod.d.ts +22 -10
- package/dist/data/mapping.zod.d.ts.map +1 -1
- package/dist/data/mapping.zod.js +16 -3
- package/dist/data/object.zod.d.ts +116 -22
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/object.zod.js +4 -4
- package/dist/data/validation.zod.d.ts +18 -18
- package/dist/hub/composer.zod.d.ts +42 -1939
- package/dist/hub/composer.zod.d.ts.map +1 -1
- package/dist/hub/composer.zod.js +1 -1
- package/dist/hub/license.zod.d.ts +2 -2
- package/dist/hub/marketplace.zod.d.ts +6 -6
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/permission/index.d.ts +7 -5
- package/dist/permission/index.d.ts.map +1 -1
- package/dist/permission/index.js +7 -5
- package/dist/permission/permission.zod.d.ts +14 -0
- package/dist/permission/permission.zod.d.ts.map +1 -1
- package/dist/permission/permission.zod.js +16 -1
- package/dist/permission/rls.zod.d.ts +605 -0
- package/dist/permission/rls.zod.d.ts.map +1 -0
- package/dist/permission/rls.zod.js +615 -0
- package/dist/permission/territory.zod.d.ts +13 -0
- package/dist/permission/territory.zod.d.ts.map +1 -1
- package/dist/permission/territory.zod.js +15 -1
- package/dist/shared/identifiers.zod.d.ts +87 -0
- package/dist/shared/identifiers.zod.d.ts.map +1 -0
- package/dist/shared/identifiers.zod.js +101 -0
- package/dist/shared/index.d.ts +6 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/{driver → shared}/index.js +5 -4
- package/dist/stack.zod.d.ts +19869 -0
- package/dist/stack.zod.d.ts.map +1 -0
- package/dist/stack.zod.js +248 -0
- package/dist/system/audit.zod.d.ts +12 -12
- package/dist/{kernel → system}/context.zod.d.ts.map +1 -1
- package/dist/{driver → system}/datasource.zod.d.ts +2 -2
- package/dist/{driver → system}/datasource.zod.d.ts.map +1 -1
- package/dist/{driver → system/driver}/mongo.zod.d.ts +2 -2
- package/dist/system/driver/mongo.zod.d.ts.map +1 -0
- package/dist/{driver → system/driver}/postgres.zod.d.ts +4 -4
- package/dist/system/driver/postgres.zod.d.ts.map +1 -0
- package/dist/{driver → system}/driver.zod.d.ts +14 -14
- package/dist/{driver → system}/driver.zod.d.ts.map +1 -1
- package/dist/system/events.zod.d.ts +15 -12
- package/dist/system/events.zod.d.ts.map +1 -1
- package/dist/system/events.zod.js +5 -1
- package/dist/system/feature.zod.d.ts +131 -0
- package/dist/system/feature.zod.d.ts.map +1 -0
- package/dist/system/feature.zod.js +45 -0
- package/dist/system/index.d.ts +10 -0
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +12 -0
- package/dist/system/job.zod.d.ts +8 -8
- package/dist/{kernel → system}/logger.zod.d.ts +4 -4
- package/dist/{kernel → system}/logger.zod.d.ts.map +1 -1
- package/dist/system/manifest.zod.d.ts +515 -0
- package/dist/system/manifest.zod.d.ts.map +1 -0
- package/dist/{kernel → system}/manifest.zod.js +0 -12
- package/dist/{kernel → system}/plugin.zod.d.ts.map +1 -1
- package/dist/{kernel → system}/scoped-storage.zod.d.ts +2 -2
- package/dist/{kernel → system}/scoped-storage.zod.d.ts.map +1 -1
- package/dist/ui/action.zod.d.ts +35 -10
- package/dist/ui/action.zod.d.ts.map +1 -1
- package/dist/ui/action.zod.js +30 -1
- package/dist/ui/app.zod.d.ts +23 -8
- package/dist/ui/app.zod.d.ts.map +1 -1
- package/dist/ui/app.zod.js +32 -4
- package/dist/ui/block.zod.d.ts +265 -0
- package/dist/ui/block.zod.d.ts.map +1 -0
- package/dist/ui/block.zod.js +90 -0
- package/dist/ui/component.zod.d.ts +265 -0
- package/dist/ui/component.zod.d.ts.map +1 -0
- package/dist/ui/component.zod.js +90 -0
- package/dist/ui/dashboard.zod.d.ts +15 -15
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +18 -8
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/page.zod.d.ts +21 -3
- package/dist/ui/page.zod.d.ts.map +1 -1
- package/dist/ui/page.zod.js +37 -4
- package/dist/ui/report.zod.d.ts +7 -7
- package/dist/ui/view.zod.d.ts +252 -240
- package/dist/ui/view.zod.d.ts.map +1 -1
- package/dist/ui/view.zod.js +32 -3
- package/dist/ui/widget.zod.d.ts +673 -5
- package/dist/ui/widget.zod.d.ts.map +1 -1
- package/dist/ui/widget.zod.js +294 -1
- package/json-schema/api/ODataError.json +65 -0
- package/json-schema/api/ODataFilterFunction.json +39 -0
- package/json-schema/api/ODataFilterOperator.json +24 -0
- package/json-schema/api/ODataMetadata.json +115 -0
- package/json-schema/api/ODataQuery.json +89 -0
- package/json-schema/api/ODataResponse.json +37 -0
- package/json-schema/auth/Role.json +3 -2
- package/json-schema/auth/SCIMAddress.json +50 -0
- package/json-schema/auth/SCIMEmail.json +38 -0
- package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
- package/json-schema/auth/SCIMError.json +52 -0
- package/json-schema/auth/SCIMGroup.json +102 -0
- package/json-schema/auth/SCIMGroupReference.json +36 -0
- package/json-schema/auth/SCIMListResponse.json +606 -0
- package/json-schema/auth/SCIMMemberReference.json +36 -0
- package/json-schema/auth/SCIMMeta.json +35 -0
- package/json-schema/auth/SCIMName.json +36 -0
- package/json-schema/auth/SCIMPatchOperation.json +31 -0
- package/json-schema/auth/SCIMPatchRequest.json +56 -0
- package/json-schema/auth/SCIMPhoneNumber.json +40 -0
- package/json-schema/auth/SCIMUser.json +462 -0
- package/json-schema/automation/ApprovalAction.json +35 -0
- package/json-schema/automation/ApprovalActionType.json +15 -0
- package/json-schema/automation/ApprovalProcess.json +326 -0
- package/json-schema/automation/ApprovalStep.json +147 -0
- package/json-schema/automation/ApproverType.json +16 -0
- package/json-schema/automation/AuthField.json +73 -0
- package/json-schema/automation/Authentication.json +159 -0
- package/json-schema/automation/AuthenticationType.json +18 -0
- package/json-schema/automation/ConflictResolution.json +16 -0
- package/json-schema/automation/Connector.json +440 -0
- package/json-schema/automation/ConnectorCategory.json +26 -0
- package/json-schema/automation/ConnectorInstance.json +69 -0
- package/json-schema/automation/ConnectorOperation.json +117 -0
- package/json-schema/automation/ConnectorTrigger.json +54 -0
- package/json-schema/automation/DataDestinationConfig.json +89 -0
- package/json-schema/automation/DataSourceConfig.json +34 -0
- package/json-schema/automation/DataSyncConfig.json +355 -0
- package/json-schema/automation/ETLDestination.json +57 -0
- package/json-schema/automation/ETLEndpointType.json +19 -0
- package/json-schema/automation/ETLPipeline.json +252 -0
- package/json-schema/automation/ETLPipelineRun.json +107 -0
- package/json-schema/automation/ETLRunStatus.json +17 -0
- package/json-schema/automation/ETLSource.json +60 -0
- package/json-schema/automation/ETLSyncMode.json +14 -0
- package/json-schema/automation/ETLTransformation.json +46 -0
- package/json-schema/automation/ETLTransformationType.json +21 -0
- package/json-schema/automation/FieldMapping.json +36 -0
- package/json-schema/automation/OAuth2Config.json +43 -0
- package/json-schema/automation/OperationParameter.json +59 -0
- package/json-schema/automation/OperationType.json +17 -0
- package/json-schema/automation/SyncDirection.json +14 -0
- package/json-schema/automation/SyncExecutionResult.json +135 -0
- package/json-schema/automation/SyncExecutionStatus.json +17 -0
- package/json-schema/automation/SyncMode.json +14 -0
- package/json-schema/automation/Webhook.json +3 -1
- package/json-schema/automation/WebhookReceiver.json +3 -1
- package/json-schema/automation/WorkflowRule.json +3 -2
- package/json-schema/data/Field.json +62 -4
- package/json-schema/data/FieldType.json +12 -2
- package/json-schema/data/Object.json +62 -4
- package/json-schema/data/SelectOption.json +4 -2
- package/json-schema/data/VectorConfig.json +51 -0
- package/json-schema/hub/ComposerResponse.json +0 -2162
- package/json-schema/permission/PermissionSet.json +3 -1
- package/json-schema/permission/RLSConfig.json +59 -0
- package/json-schema/permission/RLSEvaluationResult.json +40 -0
- package/json-schema/permission/RLSOperation.json +16 -0
- package/json-schema/permission/RLSUserContext.json +51 -0
- package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
- package/json-schema/permission/Territory.json +3 -1
- package/json-schema/shared/EventName.json +12 -0
- package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
- package/json-schema/shared/SystemIdentifier.json +12 -0
- package/json-schema/system/Event.json +3 -2
- package/json-schema/system/FeatureFlag.json +87 -0
- package/json-schema/system/FeatureStrategy.json +16 -0
- package/json-schema/system/Manifest.json +395 -0
- package/json-schema/ui/Action.json +25 -4
- package/json-schema/ui/ActionParam.json +12 -2
- package/json-schema/ui/App.json +18 -7
- package/json-schema/ui/ChartType.json +9 -1
- package/json-schema/ui/Dashboard.json +9 -1
- package/json-schema/ui/DashboardNavItem.json +3 -1
- package/json-schema/ui/DashboardWidget.json +9 -1
- package/json-schema/ui/FieldWidgetProps.json +62 -4
- package/json-schema/ui/FormView.json +4 -1
- package/json-schema/ui/GroupNavItem.json +3 -1
- package/json-schema/ui/ListView.json +7 -1
- package/json-schema/ui/NavigationItem.json +15 -5
- package/json-schema/ui/ObjectNavItem.json +3 -1
- package/json-schema/ui/Page.json +36 -4
- package/json-schema/ui/PageCardProps.json +32 -0
- package/json-schema/ui/PageComponent.json +33 -3
- package/json-schema/ui/PageComponentType.json +32 -0
- package/json-schema/ui/PageHeaderProps.json +39 -0
- package/json-schema/ui/PageNavItem.json +3 -1
- package/json-schema/ui/PageRegion.json +33 -3
- package/json-schema/ui/PageTabsProps.json +55 -0
- package/json-schema/ui/RecordDetailsProps.json +37 -0
- package/json-schema/ui/RecordHighlightsProps.json +24 -0
- package/json-schema/ui/RecordRelatedListProps.json +39 -0
- package/json-schema/ui/UrlNavItem.json +3 -1
- package/json-schema/ui/View.json +22 -4
- package/json-schema/ui/WidgetEvent.json +42 -0
- package/json-schema/ui/WidgetLifecycle.json +40 -0
- package/json-schema/ui/WidgetManifest.json +262 -0
- package/json-schema/ui/WidgetProperty.json +58 -0
- package/package.json +1 -1
- package/prompts/architecture.md +5 -5
- package/prompts/create-new-project.md +85 -0
- package/dist/driver/index.d.ts +0 -5
- package/dist/driver/index.d.ts.map +0 -1
- package/dist/driver/mongo.zod.d.ts.map +0 -1
- package/dist/driver/postgres.zod.d.ts.map +0 -1
- package/dist/kernel/index.d.ts +0 -12
- package/dist/kernel/index.d.ts.map +0 -1
- package/dist/kernel/index.js +0 -27
- package/dist/kernel/manifest.zod.d.ts +0 -2153
- package/dist/kernel/manifest.zod.d.ts.map +0 -1
- package/json-schema/kernel/Manifest.json +0 -2557
- /package/dist/{kernel → system}/context.zod.d.ts +0 -0
- /package/dist/{kernel → system}/context.zod.js +0 -0
- /package/dist/{driver → system}/datasource.zod.js +0 -0
- /package/dist/{driver → system/driver}/mongo.zod.js +0 -0
- /package/dist/{driver → system/driver}/postgres.zod.js +0 -0
- /package/dist/{driver → system}/driver.zod.js +0 -0
- /package/dist/{kernel → system}/logger.zod.js +0 -0
- /package/dist/{kernel → system}/plugin.zod.d.ts +0 -0
- /package/dist/{kernel → system}/plugin.zod.js +0 -0
- /package/dist/{kernel → system}/scoped-storage.zod.js +0 -0
- /package/json-schema/{driver → system}/Datasource.json +0 -0
- /package/json-schema/{driver → system}/DatasourceCapabilities.json +0 -0
- /package/json-schema/{driver → system}/DriverCapabilities.json +0 -0
- /package/json-schema/{driver → system}/DriverDefinition.json +0 -0
- /package/json-schema/{driver → system}/DriverInterface.json +0 -0
- /package/json-schema/{driver → system}/DriverOptions.json +0 -0
- /package/json-schema/{driver → system}/DriverType.json +0 -0
- /package/json-schema/{kernel → system}/FileMetadata.json +0 -0
- /package/json-schema/{kernel → system}/I18nContext.json +0 -0
- /package/json-schema/{kernel → system}/KernelContext.json +0 -0
- /package/json-schema/{kernel → system}/LogEntry.json +0 -0
- /package/json-schema/{kernel → system}/LogFormat.json +0 -0
- /package/json-schema/{kernel → system}/LogLevel.json +0 -0
- /package/json-schema/{kernel → system}/Logger.json +0 -0
- /package/json-schema/{kernel → system}/LoggerConfig.json +0 -0
- /package/json-schema/{driver → system}/MongoConfig.json +0 -0
- /package/json-schema/{kernel → system}/ObjectQLClient.json +0 -0
- /package/json-schema/{kernel → system}/Plugin.json +0 -0
- /package/json-schema/{kernel → system}/PluginContext.json +0 -0
- /package/json-schema/{kernel → system}/PluginLifecycle.json +0 -0
- /package/json-schema/{driver → system}/PostgresConfig.json +0 -0
- /package/json-schema/{kernel → system}/Router.json +0 -0
- /package/json-schema/{kernel → system}/RuntimeMode.json +0 -0
- /package/json-schema/{kernel → system}/Scheduler.json +0 -0
- /package/json-schema/{kernel → system}/ScopedStorage.json +0 -0
- /package/json-schema/{kernel → system}/ScopedStorageConfig.json +0 -0
- /package/json-schema/{kernel → system}/StorageAdapterType.json +0 -0
- /package/json-schema/{kernel → system}/StorageScope.json +0 -0
- /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
|
|
1
|
+
{"version":3,"file":"widget.zod.d.ts","sourceRoot":"","sources":["../../src/ui/widget.zod.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/widget.zod.js
CHANGED
|
@@ -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
|
-
"
|
|
10
|
-
"
|
|
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",
|