@objectstack/spec 0.1.0 → 0.1.2
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/README.md +134 -121
- package/dist/ai/agent.zod.d.ts +164 -0
- package/dist/ai/agent.zod.d.ts.map +1 -0
- package/dist/ai/agent.zod.js +51 -0
- package/dist/api/contract.zod.d.ts +1733 -0
- package/dist/api/contract.zod.d.ts.map +1 -0
- package/dist/api/contract.zod.js +138 -0
- package/dist/data/dataset.zod.d.ts +60 -0
- package/dist/data/dataset.zod.d.ts.map +1 -0
- package/dist/data/dataset.zod.js +54 -0
- package/dist/data/field.zod.d.ts +1808 -0
- package/dist/data/field.zod.d.ts.map +1 -0
- package/dist/data/field.zod.js +222 -0
- package/dist/data/flow.zod.d.ts +242 -0
- package/dist/data/flow.zod.d.ts.map +1 -0
- package/dist/data/flow.zod.js +77 -0
- package/dist/data/mapping.zod.d.ts +470 -0
- package/dist/data/mapping.zod.d.ts.map +1 -0
- package/dist/data/mapping.zod.js +65 -0
- package/dist/data/object.zod.d.ts +844 -0
- package/dist/data/object.zod.d.ts.map +1 -0
- package/dist/data/object.zod.js +81 -0
- package/dist/data/permission.zod.d.ts +163 -0
- package/dist/data/permission.zod.d.ts.map +1 -0
- package/dist/data/permission.zod.js +62 -0
- package/dist/data/query.zod.d.ts +438 -0
- package/dist/data/query.zod.d.ts.map +1 -0
- package/dist/data/query.zod.js +147 -0
- package/dist/data/sharing.zod.d.ts +63 -0
- package/dist/data/sharing.zod.d.ts.map +1 -0
- package/dist/data/sharing.zod.js +57 -0
- package/dist/data/trigger.zod.d.ts +354 -0
- package/dist/data/trigger.zod.d.ts.map +1 -0
- package/dist/data/trigger.zod.js +195 -0
- package/dist/data/validation.zod.d.ts +276 -0
- package/dist/data/validation.zod.d.ts.map +1 -0
- package/dist/data/validation.zod.js +105 -0
- package/dist/data/workflow.zod.d.ts +195 -0
- package/dist/data/workflow.zod.d.ts.map +1 -0
- package/dist/data/workflow.zod.js +64 -0
- package/dist/index.d.ts +41 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -5
- package/dist/system/api.zod.d.ts +294 -0
- package/dist/system/api.zod.d.ts.map +1 -0
- package/dist/system/api.zod.js +56 -0
- package/dist/system/constants/index.d.ts +11 -0
- package/dist/system/constants/index.d.ts.map +1 -0
- package/dist/system/constants/index.js +26 -0
- package/dist/system/constants/paths.d.ts +71 -0
- package/dist/system/constants/paths.d.ts.map +1 -0
- package/dist/system/constants/paths.js +65 -0
- package/dist/system/datasource.zod.d.ts +210 -0
- package/dist/system/datasource.zod.d.ts.map +1 -0
- package/dist/system/datasource.zod.js +90 -0
- package/dist/system/discovery.zod.d.ts +174 -0
- package/dist/system/discovery.zod.d.ts.map +1 -0
- package/dist/system/discovery.zod.js +53 -0
- package/dist/system/driver.zod.d.ts +1525 -0
- package/dist/system/driver.zod.d.ts.map +1 -0
- package/dist/system/driver.zod.js +290 -0
- package/dist/system/identity.zod.d.ts +204 -0
- package/dist/system/identity.zod.d.ts.map +1 -0
- package/dist/system/identity.zod.js +68 -0
- package/dist/system/license.zod.d.ts +110 -0
- package/dist/system/license.zod.d.ts.map +1 -0
- package/dist/system/license.zod.js +63 -0
- package/dist/system/manifest.zod.d.ts +397 -0
- package/dist/system/manifest.zod.d.ts.map +1 -0
- package/dist/system/manifest.zod.js +142 -0
- package/dist/system/plugin.zod.d.ts +3516 -0
- package/dist/system/plugin.zod.d.ts.map +1 -0
- package/dist/system/plugin.zod.js +226 -0
- package/dist/system/policy.zod.d.ts +209 -0
- package/dist/system/policy.zod.d.ts.map +1 -0
- package/dist/system/policy.zod.js +54 -0
- package/dist/system/role.zod.d.ts +34 -0
- package/dist/system/role.zod.d.ts.map +1 -0
- package/dist/system/role.zod.js +25 -0
- package/dist/system/territory.zod.d.ts +91 -0
- package/dist/system/territory.zod.d.ts.map +1 -0
- package/dist/system/territory.zod.js +64 -0
- package/dist/system/translation.zod.d.ts +171 -0
- package/dist/system/translation.zod.d.ts.map +1 -0
- package/dist/system/translation.zod.js +34 -0
- package/dist/system/types/index.d.ts +7 -0
- package/dist/system/types/index.d.ts.map +1 -0
- package/dist/system/types/index.js +22 -0
- package/dist/system/types/plugin.d.ts +113 -0
- package/dist/system/types/plugin.d.ts.map +1 -0
- package/dist/system/types/plugin.js +6 -0
- package/dist/system/webhook.zod.d.ts +106 -0
- package/dist/system/webhook.zod.d.ts.map +1 -0
- package/dist/system/webhook.zod.js +56 -0
- package/dist/ui/action.zod.d.ts +155 -0
- package/dist/ui/action.zod.d.ts.map +1 -0
- package/dist/ui/action.zod.js +54 -0
- package/dist/ui/app.zod.d.ts +405 -0
- package/dist/ui/app.zod.d.ts.map +1 -0
- package/dist/ui/app.zod.js +138 -0
- package/dist/ui/dashboard.zod.d.ts +213 -0
- package/dist/ui/dashboard.zod.d.ts.map +1 -0
- package/dist/ui/dashboard.zod.js +72 -0
- package/dist/ui/page.zod.d.ts +187 -0
- package/dist/ui/page.zod.d.ts.map +1 -0
- package/dist/ui/page.zod.js +48 -0
- package/dist/ui/report.zod.d.ts +233 -0
- package/dist/ui/report.zod.d.ts.map +1 -0
- package/dist/ui/report.zod.js +74 -0
- package/dist/ui/theme.zod.d.ts +1221 -0
- package/dist/ui/theme.zod.d.ts.map +1 -0
- package/dist/ui/theme.zod.js +202 -0
- package/dist/ui/view.zod.d.ts +887 -0
- package/dist/ui/view.zod.d.ts.map +1 -0
- package/dist/ui/view.zod.js +83 -0
- package/dist/ui/widget.zod.d.ts +350 -0
- package/dist/ui/widget.zod.d.ts.map +1 -0
- package/dist/ui/widget.zod.js +66 -0
- package/json-schema/AIKnowledge.json +30 -0
- package/json-schema/AIModelConfig.json +41 -0
- package/json-schema/AITool.json +33 -0
- package/json-schema/Action.json +162 -0
- package/json-schema/ActionParam.json +82 -0
- package/json-schema/Address.json +40 -0
- package/json-schema/Agent.json +140 -0
- package/json-schema/AggregationFunction.json +19 -0
- package/json-schema/AggregationNode.json +42 -0
- package/json-schema/Animation.json +56 -0
- package/json-schema/ApiCapabilities.json +28 -0
- package/json-schema/ApiEndpoint.json +162 -0
- package/json-schema/ApiError.json +27 -0
- package/json-schema/ApiMapping.json +28 -0
- package/json-schema/ApiRoutes.json +41 -0
- package/json-schema/App.json +297 -0
- package/json-schema/AppBranding.json +24 -0
- package/json-schema/AsyncValidation.json +70 -0
- package/json-schema/AuditPolicy.json +31 -0
- package/json-schema/AuthProtocol.json +17 -0
- package/json-schema/AuthProvider.json +171 -0
- package/json-schema/BaseResponse.json +63 -0
- package/json-schema/BorderRadius.json +44 -0
- package/json-schema/Breakpoints.json +36 -0
- package/json-schema/BulkRequest.json +29 -0
- package/json-schema/BulkResponse.json +108 -0
- package/json-schema/CalendarConfig.json +28 -0
- package/json-schema/ChartType.json +19 -0
- package/json-schema/ColorPalette.json +83 -0
- package/json-schema/ConditionalValidation.json +793 -0
- package/json-schema/CreateRequest.json +20 -0
- package/json-schema/CrossFieldValidation.json +56 -0
- package/json-schema/CustomValidator.json +57 -0
- package/json-schema/Dashboard.json +117 -0
- package/json-schema/DashboardNavItem.json +42 -0
- package/json-schema/DashboardWidget.json +89 -0
- package/json-schema/Dataset.json +63 -0
- package/json-schema/DatasetMode.json +16 -0
- package/json-schema/Datasource.json +75 -0
- package/json-schema/DatasourceCapabilities.json +36 -0
- package/json-schema/DeleteResponse.json +68 -0
- package/json-schema/Discovery.json +114 -0
- package/json-schema/DriverCapabilities.json +39 -0
- package/json-schema/DriverDefinition.json +66 -0
- package/json-schema/DriverInterface.json +58 -0
- package/json-schema/DriverOptions.json +23 -0
- package/json-schema/DriverType.json +10 -0
- package/json-schema/EmailAlertAction.json +37 -0
- package/json-schema/ExportRequest.json +786 -0
- package/json-schema/Feature.json +51 -0
- package/json-schema/Field.json +290 -0
- package/json-schema/FieldMapping.json +83 -0
- package/json-schema/FieldNode.json +32 -0
- package/json-schema/FieldPermission.json +22 -0
- package/json-schema/FieldType.json +42 -0
- package/json-schema/FieldUpdateAction.json +32 -0
- package/json-schema/FieldWidgetProps.json +327 -0
- package/json-schema/FilterNode.json +52 -0
- package/json-schema/FilterOperator.json +26 -0
- package/json-schema/Flow.json +186 -0
- package/json-schema/FlowEdge.json +37 -0
- package/json-schema/FlowNode.json +65 -0
- package/json-schema/FlowNodeAction.json +24 -0
- package/json-schema/FlowVariable.json +34 -0
- package/json-schema/FormSection.json +42 -0
- package/json-schema/FormView.json +99 -0
- package/json-schema/FormatValidation.json +59 -0
- package/json-schema/GanttConfig.json +32 -0
- package/json-schema/GroupNavItem.json +42 -0
- package/json-schema/HttpMethod.json +16 -0
- package/json-schema/I18nContext.json +12 -0
- package/json-schema/Index.json +30 -0
- package/json-schema/JoinNode.json +455 -0
- package/json-schema/JoinType.json +15 -0
- package/json-schema/KanbanConfig.json +31 -0
- package/json-schema/LDAPConfig.json +39 -0
- package/json-schema/License.json +57 -0
- package/json-schema/ListRecordResponse.json +103 -0
- package/json-schema/ListView.json +153 -0
- package/json-schema/Locale.json +10 -0
- package/json-schema/LocationCoordinates.json +36 -0
- package/json-schema/Logger.json +25 -0
- package/json-schema/LogicOperator.json +14 -0
- package/json-schema/Manifest.json +315 -0
- package/json-schema/Mapping.json +598 -0
- package/json-schema/MenuItem.json +28 -0
- package/json-schema/MetricType.json +14 -0
- package/json-schema/ModificationResult.json +46 -0
- package/json-schema/NavigationItem.json +214 -0
- package/json-schema/NetworkPolicy.json +31 -0
- package/json-schema/OIDCConfig.json +46 -0
- package/json-schema/OWDModel.json +14 -0
- package/json-schema/Object.json +428 -0
- package/json-schema/ObjectCapabilities.json +62 -0
- package/json-schema/ObjectNavItem.json +46 -0
- package/json-schema/ObjectPermission.json +42 -0
- package/json-schema/ObjectQLClient.json +12 -0
- package/json-schema/Page.json +117 -0
- package/json-schema/PageComponent.json +36 -0
- package/json-schema/PageNavItem.json +47 -0
- package/json-schema/PageRegion.json +63 -0
- package/json-schema/PasswordPolicy.json +41 -0
- package/json-schema/PermissionSet.json +96 -0
- package/json-schema/Plan.json +53 -0
- package/json-schema/Plugin.json +20 -0
- package/json-schema/PluginContext.json +91 -0
- package/json-schema/PluginLifecycle.json +11 -0
- package/json-schema/Policy.json +138 -0
- package/json-schema/Query.json +456 -0
- package/json-schema/RateLimit.json +26 -0
- package/json-schema/RecordData.json +11 -0
- package/json-schema/Report.json +219 -0
- package/json-schema/ReportChart.json +45 -0
- package/json-schema/ReportColumn.json +35 -0
- package/json-schema/ReportGrouping.json +38 -0
- package/json-schema/ReportType.json +15 -0
- package/json-schema/Role.json +32 -0
- package/json-schema/Router.json +12 -0
- package/json-schema/SAMLConfig.json +44 -0
- package/json-schema/Scheduler.json +12 -0
- package/json-schema/ScopedStorage.json +12 -0
- package/json-schema/ScriptValidation.json +48 -0
- package/json-schema/SelectOption.json +32 -0
- package/json-schema/SessionPolicy.json +27 -0
- package/json-schema/Shadow.json +44 -0
- package/json-schema/SharingLevel.json +13 -0
- package/json-schema/SharingRule.json +58 -0
- package/json-schema/SharingRuleType.json +15 -0
- package/json-schema/SingleRecordResponse.json +69 -0
- package/json-schema/SortNode.json +26 -0
- package/json-schema/Spacing.json +64 -0
- package/json-schema/StateMachineValidation.json +59 -0
- package/json-schema/SystemAPI.json +12 -0
- package/json-schema/Territory.json +77 -0
- package/json-schema/TerritoryModel.json +34 -0
- package/json-schema/TerritoryType.json +15 -0
- package/json-schema/Theme.json +543 -0
- package/json-schema/ThemeMode.json +14 -0
- package/json-schema/TransformType.json +18 -0
- package/json-schema/TranslationBundle.json +78 -0
- package/json-schema/TranslationData.json +75 -0
- package/json-schema/Trigger.json +73 -0
- package/json-schema/TriggerAction.json +14 -0
- package/json-schema/TriggerContext.json +61 -0
- package/json-schema/TriggerTiming.json +13 -0
- package/json-schema/Typography.json +142 -0
- package/json-schema/UniquenessValidation.json +59 -0
- package/json-schema/UpdateRequest.json +20 -0
- package/json-schema/UrlNavItem.json +51 -0
- package/json-schema/ValidationRule.json +794 -0
- package/json-schema/View.json +500 -0
- package/json-schema/Webhook.json +88 -0
- package/json-schema/WebhookReceiver.json +66 -0
- package/json-schema/WebhookTriggerType.json +16 -0
- package/json-schema/WindowFunction.json +24 -0
- package/json-schema/WindowFunctionNode.json +104 -0
- package/json-schema/WindowSpec.json +65 -0
- package/json-schema/WorkflowAction.json +84 -0
- package/json-schema/WorkflowRule.json +128 -0
- package/json-schema/WorkflowTriggerType.json +16 -0
- package/json-schema/ZIndex.json +44 -0
- package/package.json +34 -20
- package/dist/examples.d.ts +0 -28
- package/dist/examples.d.ts.map +0 -1
- package/dist/examples.js +0 -250
- package/dist/types/index.d.ts +0 -9
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -8
- package/dist/types/meta/field-type.d.ts +0 -54
- package/dist/types/meta/field-type.d.ts.map +0 -1
- package/dist/types/meta/field-type.js +0 -42
- package/dist/types/meta/index.d.ts +0 -13
- package/dist/types/meta/index.d.ts.map +0 -1
- package/dist/types/meta/index.js +0 -12
- package/dist/types/meta/object-entity.d.ts +0 -246
- package/dist/types/meta/object-entity.d.ts.map +0 -1
- package/dist/types/meta/object-entity.js +0 -9
- package/dist/types/meta/object-field.d.ts +0 -199
- package/dist/types/meta/object-field.d.ts.map +0 -1
- package/dist/types/meta/object-field.js +0 -9
- package/dist/types/meta/object-view.d.ts +0 -430
- package/dist/types/meta/object-view.d.ts.map +0 -1
- package/dist/types/meta/object-view.js +0 -9
- package/src/examples.ts +0 -257
- package/src/index.ts +0 -10
- package/src/types/index.ts +0 -9
- package/src/types/meta/field-type.ts +0 -91
- package/src/types/meta/index.ts +0 -13
- package/src/types/meta/object-entity.ts +0 -265
- package/src/types/meta/object-field.ts +0 -218
- package/src/types/meta/object-view.ts +0 -475
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.zod.d.ts","sourceRoot":"","sources":["../../src/data/object.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,4CAA4C;;IAG5C,oCAAoC;;IAGpC,qCAAqC;;IAGrC;;;;OAIG;;IAeH,+BAA+B;;IAG/B,iCAAiC;;IAGjC,mCAAmC;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAItB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,gBAAgB;IACpB,eAAe;;;;;;IAOf;;;OAGG;;;;IAKH,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGxB,cAAc;;;;;;;;;;;;;;IAGd,iBAAiB;;IAGjB,8BAA8B;;QA3E9B,4CAA4C;;QAG5C,oCAAoC;;QAGpC,qCAAqC;;QAGrC;;;;WAIG;;QAeH,+BAA+B;;QAG/B,iCAAiC;;QAGjC,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;IA/BvB,eAAe;;;;;;IAOf;;;OAGG;;;;IAKH,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGxB,cAAc;;;;;;;;;;;;;;IAGd,iBAAiB;;IAGjB,8BAA8B;;QA3E9B,4CAA4C;;QAG5C,oCAAoC;;QAGpC,qCAAqC;;QAGrC;;;;WAIG;;QAeH,+BAA+B;;QAG/B,iCAAiC;;QAGjC,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiD1B,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC;CAC9D,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObjectSchema = exports.IndexSchema = exports.ObjectCapabilities = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const field_zod_1 = require("./field.zod");
|
|
6
|
+
/**
|
|
7
|
+
* Capability Flags
|
|
8
|
+
* Defines what system features are enabled for this object.
|
|
9
|
+
*/
|
|
10
|
+
exports.ObjectCapabilities = zod_1.z.object({
|
|
11
|
+
/** Enable history tracking (Audit Trail) */
|
|
12
|
+
trackHistory: zod_1.z.boolean().default(false),
|
|
13
|
+
/** Enable global search indexing */
|
|
14
|
+
searchable: zod_1.z.boolean().default(true),
|
|
15
|
+
/** Enable REST/GraphQL API access */
|
|
16
|
+
apiEnabled: zod_1.z.boolean().default(true),
|
|
17
|
+
/**
|
|
18
|
+
* API Supported Operations
|
|
19
|
+
* Explicitly whitelist allowed operations.
|
|
20
|
+
* If not defined, all standard operations are allowed (if apiEnabled=true).
|
|
21
|
+
*/
|
|
22
|
+
apiMethods: zod_1.z.array(zod_1.z.enum([
|
|
23
|
+
'get', 'list',
|
|
24
|
+
'create', 'update', 'delete',
|
|
25
|
+
'upsert',
|
|
26
|
+
'bulkCreate', 'bulkUpdate', 'bulkDelete', 'bulkUpsert',
|
|
27
|
+
'aggregate', // count, sum, group by
|
|
28
|
+
'history', // audit trail access
|
|
29
|
+
'search', // full text search
|
|
30
|
+
'restore', // undelete from trash
|
|
31
|
+
'purge', // hard delete
|
|
32
|
+
'import', // data import
|
|
33
|
+
'export', // data export
|
|
34
|
+
])).optional().describe('Allowed API operations'),
|
|
35
|
+
/** Enable attachments/files */
|
|
36
|
+
files: zod_1.z.boolean().default(false),
|
|
37
|
+
/** Enable discussions/chatter */
|
|
38
|
+
feedEnabled: zod_1.z.boolean().default(false),
|
|
39
|
+
/** Enable Recycle Bin mechanics */
|
|
40
|
+
trash: zod_1.z.boolean().default(true),
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Schema for database indexes.
|
|
44
|
+
*/
|
|
45
|
+
exports.IndexSchema = zod_1.z.object({
|
|
46
|
+
name: zod_1.z.string().optional().describe('Index name'),
|
|
47
|
+
fields: zod_1.z.array(zod_1.z.string()).describe('Fields included in the index'),
|
|
48
|
+
unique: zod_1.z.boolean().optional().describe('Whether the index is unique'),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Base Object Schema Definition
|
|
52
|
+
*/
|
|
53
|
+
const ObjectSchemaBase = zod_1.z.object({
|
|
54
|
+
/** Identify */
|
|
55
|
+
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name (snake_case)'),
|
|
56
|
+
label: zod_1.z.string().optional().describe('Singular Label (e.g. "Account")'),
|
|
57
|
+
pluralLabel: zod_1.z.string().optional().describe('Plural Label (e.g. "Accounts")'),
|
|
58
|
+
description: zod_1.z.string().optional().describe('Internal description'),
|
|
59
|
+
icon: zod_1.z.string().optional().describe('Lucide icon name'),
|
|
60
|
+
/**
|
|
61
|
+
* Storage / Virtualization Config
|
|
62
|
+
* Defines where the data actually lives.
|
|
63
|
+
*/
|
|
64
|
+
datasource: zod_1.z.string().default('default').describe('Target Datasource ID (e.g. "postgres", "salesforce"). references sys_datasource.'),
|
|
65
|
+
tableName: zod_1.z.string().optional().describe('Physical table/collection name in the target datasource'),
|
|
66
|
+
isSystem: zod_1.z.boolean().default(false).describe('Is system object (protected)'),
|
|
67
|
+
/** Fields Definition */
|
|
68
|
+
fields: zod_1.z.record(field_zod_1.FieldSchema).describe('Map of field definitions'),
|
|
69
|
+
/** Indexes */
|
|
70
|
+
indexes: zod_1.z.array(exports.IndexSchema).optional().describe('Database indexes definition'),
|
|
71
|
+
/** Key Fields */
|
|
72
|
+
nameField: zod_1.z.string().optional().describe('Which field represents the record name/title (usually "name")'),
|
|
73
|
+
/** Features & Capabilities */
|
|
74
|
+
enable: exports.ObjectCapabilities.optional().describe('Enabled system capabilities'),
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Enhanced ObjectSchema with Factory
|
|
78
|
+
*/
|
|
79
|
+
exports.ObjectSchema = Object.assign(ObjectSchemaBase, {
|
|
80
|
+
create: (config) => config,
|
|
81
|
+
});
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Entity (Object) Level Permissions
|
|
4
|
+
* Defines CRUD + VAMA (View All / Modify All) access.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ObjectPermissionSchema: z.ZodObject<{
|
|
7
|
+
/** C: Create */
|
|
8
|
+
allowCreate: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
+
/** R: Read (Owned records or Shared records) */
|
|
10
|
+
allowRead: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
/** U: Edit (Owned records or Shared records) */
|
|
12
|
+
allowEdit: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
/** D: Delete (Owned records or Shared records) */
|
|
14
|
+
allowDelete: z.ZodDefault<z.ZodBoolean>;
|
|
15
|
+
/**
|
|
16
|
+
* View All Records: Super-user read access.
|
|
17
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
18
|
+
* Equivalent to Microsoft Dataverse "Organization" level read access.
|
|
19
|
+
*/
|
|
20
|
+
viewAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Modify All Records: Super-user write access.
|
|
23
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
24
|
+
* Equivalent to Microsoft Dataverse "Organization" level write access.
|
|
25
|
+
*/
|
|
26
|
+
modifyAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
allowCreate: boolean;
|
|
29
|
+
allowRead: boolean;
|
|
30
|
+
allowEdit: boolean;
|
|
31
|
+
allowDelete: boolean;
|
|
32
|
+
viewAllRecords: boolean;
|
|
33
|
+
modifyAllRecords: boolean;
|
|
34
|
+
}, {
|
|
35
|
+
allowCreate?: boolean | undefined;
|
|
36
|
+
allowRead?: boolean | undefined;
|
|
37
|
+
allowEdit?: boolean | undefined;
|
|
38
|
+
allowDelete?: boolean | undefined;
|
|
39
|
+
viewAllRecords?: boolean | undefined;
|
|
40
|
+
modifyAllRecords?: boolean | undefined;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Field Level Security (FLS)
|
|
44
|
+
*/
|
|
45
|
+
export declare const FieldPermissionSchema: z.ZodObject<{
|
|
46
|
+
/** Can see this field */
|
|
47
|
+
readable: z.ZodDefault<z.ZodBoolean>;
|
|
48
|
+
/** Can edit this field */
|
|
49
|
+
editable: z.ZodDefault<z.ZodBoolean>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
readable: boolean;
|
|
52
|
+
editable: boolean;
|
|
53
|
+
}, {
|
|
54
|
+
readable?: boolean | undefined;
|
|
55
|
+
editable?: boolean | undefined;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Permission Set Schema
|
|
59
|
+
* Defines a collection of permissions that can be assigned to users.
|
|
60
|
+
*
|
|
61
|
+
* DIFFERENTIATION:
|
|
62
|
+
* - Profile: The ONE primary functional definition of a user (e.g. Standard User).
|
|
63
|
+
* - Permission Set: Add-on capabilities assigned to users (e.g. Export Reports).
|
|
64
|
+
* - Role: (Defined in src/system/role.zod.ts) Defines data visibility hierarchy.
|
|
65
|
+
*/
|
|
66
|
+
export declare const PermissionSetSchema: z.ZodObject<{
|
|
67
|
+
/** Unique permission set name */
|
|
68
|
+
name: z.ZodString;
|
|
69
|
+
/** Display label */
|
|
70
|
+
label: z.ZodOptional<z.ZodString>;
|
|
71
|
+
/** Is this a Profile? (Base set for a user) */
|
|
72
|
+
isProfile: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
/** Object Permissions Map: <entity_name> -> permissions */
|
|
74
|
+
objects: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
75
|
+
/** C: Create */
|
|
76
|
+
allowCreate: z.ZodDefault<z.ZodBoolean>;
|
|
77
|
+
/** R: Read (Owned records or Shared records) */
|
|
78
|
+
allowRead: z.ZodDefault<z.ZodBoolean>;
|
|
79
|
+
/** U: Edit (Owned records or Shared records) */
|
|
80
|
+
allowEdit: z.ZodDefault<z.ZodBoolean>;
|
|
81
|
+
/** D: Delete (Owned records or Shared records) */
|
|
82
|
+
allowDelete: z.ZodDefault<z.ZodBoolean>;
|
|
83
|
+
/**
|
|
84
|
+
* View All Records: Super-user read access.
|
|
85
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
86
|
+
* Equivalent to Microsoft Dataverse "Organization" level read access.
|
|
87
|
+
*/
|
|
88
|
+
viewAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Modify All Records: Super-user write access.
|
|
91
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
92
|
+
* Equivalent to Microsoft Dataverse "Organization" level write access.
|
|
93
|
+
*/
|
|
94
|
+
modifyAllRecords: z.ZodDefault<z.ZodBoolean>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
allowCreate: boolean;
|
|
97
|
+
allowRead: boolean;
|
|
98
|
+
allowEdit: boolean;
|
|
99
|
+
allowDelete: boolean;
|
|
100
|
+
viewAllRecords: boolean;
|
|
101
|
+
modifyAllRecords: boolean;
|
|
102
|
+
}, {
|
|
103
|
+
allowCreate?: boolean | undefined;
|
|
104
|
+
allowRead?: boolean | undefined;
|
|
105
|
+
allowEdit?: boolean | undefined;
|
|
106
|
+
allowDelete?: boolean | undefined;
|
|
107
|
+
viewAllRecords?: boolean | undefined;
|
|
108
|
+
modifyAllRecords?: boolean | undefined;
|
|
109
|
+
}>>;
|
|
110
|
+
/** Field Permissions Map: <entity_name>.<field_name> -> permissions */
|
|
111
|
+
fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
112
|
+
/** Can see this field */
|
|
113
|
+
readable: z.ZodDefault<z.ZodBoolean>;
|
|
114
|
+
/** Can edit this field */
|
|
115
|
+
editable: z.ZodDefault<z.ZodBoolean>;
|
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
readable: boolean;
|
|
118
|
+
editable: boolean;
|
|
119
|
+
}, {
|
|
120
|
+
readable?: boolean | undefined;
|
|
121
|
+
editable?: boolean | undefined;
|
|
122
|
+
}>>>;
|
|
123
|
+
/** System permissions (e.g., "manage_users") */
|
|
124
|
+
systemPermissions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
125
|
+
}, "strip", z.ZodTypeAny, {
|
|
126
|
+
name: string;
|
|
127
|
+
isProfile: boolean;
|
|
128
|
+
objects: Record<string, {
|
|
129
|
+
allowCreate: boolean;
|
|
130
|
+
allowRead: boolean;
|
|
131
|
+
allowEdit: boolean;
|
|
132
|
+
allowDelete: boolean;
|
|
133
|
+
viewAllRecords: boolean;
|
|
134
|
+
modifyAllRecords: boolean;
|
|
135
|
+
}>;
|
|
136
|
+
label?: string | undefined;
|
|
137
|
+
fields?: Record<string, {
|
|
138
|
+
readable: boolean;
|
|
139
|
+
editable: boolean;
|
|
140
|
+
}> | undefined;
|
|
141
|
+
systemPermissions?: string[] | undefined;
|
|
142
|
+
}, {
|
|
143
|
+
name: string;
|
|
144
|
+
objects: Record<string, {
|
|
145
|
+
allowCreate?: boolean | undefined;
|
|
146
|
+
allowRead?: boolean | undefined;
|
|
147
|
+
allowEdit?: boolean | undefined;
|
|
148
|
+
allowDelete?: boolean | undefined;
|
|
149
|
+
viewAllRecords?: boolean | undefined;
|
|
150
|
+
modifyAllRecords?: boolean | undefined;
|
|
151
|
+
}>;
|
|
152
|
+
label?: string | undefined;
|
|
153
|
+
fields?: Record<string, {
|
|
154
|
+
readable?: boolean | undefined;
|
|
155
|
+
editable?: boolean | undefined;
|
|
156
|
+
}> | undefined;
|
|
157
|
+
isProfile?: boolean | undefined;
|
|
158
|
+
systemPermissions?: string[] | undefined;
|
|
159
|
+
}>;
|
|
160
|
+
export type PermissionSet = z.infer<typeof PermissionSetSchema>;
|
|
161
|
+
export type ObjectPermission = z.infer<typeof ObjectPermissionSchema>;
|
|
162
|
+
export type FieldPermission = z.infer<typeof FieldPermissionSchema>;
|
|
163
|
+
//# sourceMappingURL=permission.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.zod.d.ts","sourceRoot":"","sources":["../../src/data/permission.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IACjC,gBAAgB;;IAEhB,gDAAgD;;IAEhD,gDAAgD;;IAEhD,kDAAkD;;IAGlD;;;;OAIG;;IAGH;;;;OAIG;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,yBAAyB;;IAEzB,0BAA0B;;;;;;;;EAE1B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;IAC9B,iCAAiC;;IAGjC,oBAAoB;;IAGpB,+CAA+C;;IAG/C,2DAA2D;;QArD3D,gBAAgB;;QAEhB,gDAAgD;;QAEhD,gDAAgD;;QAEhD,kDAAkD;;QAGlD;;;;WAIG;;QAGH;;;;WAIG;;;;;;;;;;;;;;;;;IAoCH,uEAAuE;;QA5BvE,yBAAyB;;QAEzB,0BAA0B;;;;;;;;;IA6B1B,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEhD,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PermissionSetSchema = exports.FieldPermissionSchema = exports.ObjectPermissionSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Entity (Object) Level Permissions
|
|
7
|
+
* Defines CRUD + VAMA (View All / Modify All) access.
|
|
8
|
+
*/
|
|
9
|
+
exports.ObjectPermissionSchema = zod_1.z.object({
|
|
10
|
+
/** C: Create */
|
|
11
|
+
allowCreate: zod_1.z.boolean().default(false).describe('Create permission'),
|
|
12
|
+
/** R: Read (Owned records or Shared records) */
|
|
13
|
+
allowRead: zod_1.z.boolean().default(false).describe('Read permission'),
|
|
14
|
+
/** U: Edit (Owned records or Shared records) */
|
|
15
|
+
allowEdit: zod_1.z.boolean().default(false).describe('Edit permission'),
|
|
16
|
+
/** D: Delete (Owned records or Shared records) */
|
|
17
|
+
allowDelete: zod_1.z.boolean().default(false).describe('Delete permission'),
|
|
18
|
+
/**
|
|
19
|
+
* View All Records: Super-user read access.
|
|
20
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
21
|
+
* Equivalent to Microsoft Dataverse "Organization" level read access.
|
|
22
|
+
*/
|
|
23
|
+
viewAllRecords: zod_1.z.boolean().default(false).describe('View All Data (Bypass Sharing)'),
|
|
24
|
+
/**
|
|
25
|
+
* Modify All Records: Super-user write access.
|
|
26
|
+
* Bypasses Sharing Rules and Ownership checks.
|
|
27
|
+
* Equivalent to Microsoft Dataverse "Organization" level write access.
|
|
28
|
+
*/
|
|
29
|
+
modifyAllRecords: zod_1.z.boolean().default(false).describe('Modify All Data (Bypass Sharing)'),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Field Level Security (FLS)
|
|
33
|
+
*/
|
|
34
|
+
exports.FieldPermissionSchema = zod_1.z.object({
|
|
35
|
+
/** Can see this field */
|
|
36
|
+
readable: zod_1.z.boolean().default(true).describe('Field read access'),
|
|
37
|
+
/** Can edit this field */
|
|
38
|
+
editable: zod_1.z.boolean().default(false).describe('Field edit access'),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Permission Set Schema
|
|
42
|
+
* Defines a collection of permissions that can be assigned to users.
|
|
43
|
+
*
|
|
44
|
+
* DIFFERENTIATION:
|
|
45
|
+
* - Profile: The ONE primary functional definition of a user (e.g. Standard User).
|
|
46
|
+
* - Permission Set: Add-on capabilities assigned to users (e.g. Export Reports).
|
|
47
|
+
* - Role: (Defined in src/system/role.zod.ts) Defines data visibility hierarchy.
|
|
48
|
+
*/
|
|
49
|
+
exports.PermissionSetSchema = zod_1.z.object({
|
|
50
|
+
/** Unique permission set name */
|
|
51
|
+
name: zod_1.z.string().describe('Permission set unique name'),
|
|
52
|
+
/** Display label */
|
|
53
|
+
label: zod_1.z.string().optional().describe('Display label'),
|
|
54
|
+
/** Is this a Profile? (Base set for a user) */
|
|
55
|
+
isProfile: zod_1.z.boolean().default(false).describe('Whether this is a user profile'),
|
|
56
|
+
/** Object Permissions Map: <entity_name> -> permissions */
|
|
57
|
+
objects: zod_1.z.record(exports.ObjectPermissionSchema).describe('Entity permissions'),
|
|
58
|
+
/** Field Permissions Map: <entity_name>.<field_name> -> permissions */
|
|
59
|
+
fields: zod_1.z.record(exports.FieldPermissionSchema).optional().describe('Field level security'),
|
|
60
|
+
/** System permissions (e.g., "manage_users") */
|
|
61
|
+
systemPermissions: zod_1.z.array(zod_1.z.string()).optional().describe('System level capabilities'),
|
|
62
|
+
});
|