@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":"contract.zod.d.ts","sourceRoot":"","sources":["../../src/api/contract.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAMH,eAAO,MAAM,gBAAgB,oCAA6D,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiContracts = exports.DeleteResponseSchema = exports.BulkResponseSchema = exports.ModificationResultSchema = exports.ListRecordResponseSchema = exports.SingleRecordResponseSchema = exports.ExportRequestSchema = exports.BulkRequestSchema = exports.UpdateRequestSchema = exports.CreateRequestSchema = exports.RecordDataSchema = exports.BaseResponseSchema = exports.ApiErrorSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const query_zod_1 = require("../data/query.zod");
|
|
6
|
+
// ==========================================
|
|
7
|
+
// 1. Base Envelopes
|
|
8
|
+
// ==========================================
|
|
9
|
+
exports.ApiErrorSchema = zod_1.z.object({
|
|
10
|
+
code: zod_1.z.string().describe('Error code (e.g. validation_error)'),
|
|
11
|
+
message: zod_1.z.string().describe('Readable error message'),
|
|
12
|
+
details: zod_1.z.any().optional().describe('Additional error context (e.g. field validation errors)'),
|
|
13
|
+
});
|
|
14
|
+
exports.BaseResponseSchema = zod_1.z.object({
|
|
15
|
+
success: zod_1.z.boolean().describe('Operation success status'),
|
|
16
|
+
error: exports.ApiErrorSchema.optional().describe('Error details if success is false'),
|
|
17
|
+
meta: zod_1.z.object({
|
|
18
|
+
timestamp: zod_1.z.string(),
|
|
19
|
+
duration: zod_1.z.number().optional(),
|
|
20
|
+
requestId: zod_1.z.string().optional(),
|
|
21
|
+
traceId: zod_1.z.string().optional(),
|
|
22
|
+
}).optional().describe('Response metadata'),
|
|
23
|
+
});
|
|
24
|
+
// ==========================================
|
|
25
|
+
// 2. Request Payloads (Inputs)
|
|
26
|
+
// ==========================================
|
|
27
|
+
exports.RecordDataSchema = zod_1.z.record(zod_1.z.any()).describe('Key-value map of record data');
|
|
28
|
+
/**
|
|
29
|
+
* Standard Create Request
|
|
30
|
+
*/
|
|
31
|
+
exports.CreateRequestSchema = zod_1.z.object({
|
|
32
|
+
data: exports.RecordDataSchema.describe('Record data to insert'),
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Standard Update Request
|
|
36
|
+
*/
|
|
37
|
+
exports.UpdateRequestSchema = zod_1.z.object({
|
|
38
|
+
data: exports.RecordDataSchema.describe('Partial record data to update'),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Standard Bulk Request
|
|
42
|
+
*/
|
|
43
|
+
exports.BulkRequestSchema = zod_1.z.object({
|
|
44
|
+
records: zod_1.z.array(exports.RecordDataSchema).describe('Array of records to process'),
|
|
45
|
+
allOrNone: zod_1.z.boolean().default(true).describe('If true, rollback entire transaction on any failure'),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Export Request
|
|
49
|
+
*/
|
|
50
|
+
exports.ExportRequestSchema = query_zod_1.QuerySchema.extend({
|
|
51
|
+
format: zod_1.z.enum(['csv', 'json', 'xlsx']).default('csv'),
|
|
52
|
+
});
|
|
53
|
+
// ==========================================
|
|
54
|
+
// 3. Response Payloads (Outputs)
|
|
55
|
+
// ==========================================
|
|
56
|
+
/**
|
|
57
|
+
* Single Record Response (Get/Create/Update)
|
|
58
|
+
*/
|
|
59
|
+
exports.SingleRecordResponseSchema = exports.BaseResponseSchema.extend({
|
|
60
|
+
data: exports.RecordDataSchema.describe('The requested or modified record'),
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* List/Query Response
|
|
64
|
+
*/
|
|
65
|
+
exports.ListRecordResponseSchema = exports.BaseResponseSchema.extend({
|
|
66
|
+
data: zod_1.z.array(exports.RecordDataSchema).describe('Array of matching records'),
|
|
67
|
+
pagination: zod_1.z.object({
|
|
68
|
+
total: zod_1.z.number().describe('Total matching records count'),
|
|
69
|
+
limit: zod_1.z.number().describe('Page size'),
|
|
70
|
+
offset: zod_1.z.number().describe('Page offset'),
|
|
71
|
+
hasMore: zod_1.z.boolean().describe('Are there more pages?'),
|
|
72
|
+
}).describe('Pagination info'),
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Modification Result (for Batch/Bulk operations)
|
|
76
|
+
*/
|
|
77
|
+
exports.ModificationResultSchema = zod_1.z.object({
|
|
78
|
+
id: zod_1.z.string().optional().describe('Record ID if processed'),
|
|
79
|
+
success: zod_1.z.boolean(),
|
|
80
|
+
errors: zod_1.z.array(exports.ApiErrorSchema).optional(),
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Bulk Operation Response
|
|
84
|
+
*/
|
|
85
|
+
exports.BulkResponseSchema = exports.BaseResponseSchema.extend({
|
|
86
|
+
data: zod_1.z.array(exports.ModificationResultSchema).describe('Results for each item in the batch'),
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* Delete Response
|
|
90
|
+
*/
|
|
91
|
+
exports.DeleteResponseSchema = exports.BaseResponseSchema.extend({
|
|
92
|
+
id: zod_1.z.string().describe('ID of the deleted record'),
|
|
93
|
+
});
|
|
94
|
+
// ==========================================
|
|
95
|
+
// 4. API Contract Registry
|
|
96
|
+
// ==========================================
|
|
97
|
+
/**
|
|
98
|
+
* Standard API Contracts map
|
|
99
|
+
* Used for generating SDKs and Documentation
|
|
100
|
+
*/
|
|
101
|
+
exports.ApiContracts = {
|
|
102
|
+
create: {
|
|
103
|
+
input: exports.CreateRequestSchema,
|
|
104
|
+
output: exports.SingleRecordResponseSchema
|
|
105
|
+
},
|
|
106
|
+
update: {
|
|
107
|
+
input: exports.UpdateRequestSchema,
|
|
108
|
+
output: exports.SingleRecordResponseSchema
|
|
109
|
+
},
|
|
110
|
+
delete: {
|
|
111
|
+
input: zod_1.z.object({}), // usually just ID in URL
|
|
112
|
+
output: exports.DeleteResponseSchema
|
|
113
|
+
},
|
|
114
|
+
get: {
|
|
115
|
+
input: zod_1.z.object({}), // usually just ID in URL
|
|
116
|
+
output: exports.SingleRecordResponseSchema
|
|
117
|
+
},
|
|
118
|
+
list: {
|
|
119
|
+
input: query_zod_1.QuerySchema,
|
|
120
|
+
output: exports.ListRecordResponseSchema
|
|
121
|
+
},
|
|
122
|
+
bulkCreate: {
|
|
123
|
+
input: exports.BulkRequestSchema,
|
|
124
|
+
output: exports.BulkResponseSchema
|
|
125
|
+
},
|
|
126
|
+
bulkUpdate: {
|
|
127
|
+
input: exports.BulkRequestSchema,
|
|
128
|
+
output: exports.BulkResponseSchema
|
|
129
|
+
},
|
|
130
|
+
bulkUpsert: {
|
|
131
|
+
input: exports.BulkRequestSchema,
|
|
132
|
+
output: exports.BulkResponseSchema
|
|
133
|
+
},
|
|
134
|
+
bulkDelete: {
|
|
135
|
+
input: zod_1.z.object({ ids: zod_1.z.array(zod_1.z.string()) }),
|
|
136
|
+
output: exports.BulkResponseSchema
|
|
137
|
+
}
|
|
138
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Data Import Strategy
|
|
4
|
+
* Defines how the engine handles existing records.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DatasetMode: z.ZodEnum<["insert", "update", "upsert", "replace", "ignore"]>;
|
|
7
|
+
/**
|
|
8
|
+
* Dataset Schema (Seed Data / Fixtures)
|
|
9
|
+
*
|
|
10
|
+
* Standardized format for transporting data.
|
|
11
|
+
* Used for:
|
|
12
|
+
* 1. System Bootstrapping (Admin accounts, Standard Roles)
|
|
13
|
+
* 2. Reference Data (Countries, Currencies)
|
|
14
|
+
* 3. Demo/Test Data
|
|
15
|
+
*/
|
|
16
|
+
export declare const DatasetSchema: z.ZodObject<{
|
|
17
|
+
/**
|
|
18
|
+
* Target Object
|
|
19
|
+
* The machine name of the object to populate.
|
|
20
|
+
*/
|
|
21
|
+
object: z.ZodString;
|
|
22
|
+
/**
|
|
23
|
+
* Idempotency Key (The "Upsert" Key)
|
|
24
|
+
* The field used to check if a record already exists.
|
|
25
|
+
* Best Practice: Use a natural key like 'code', 'slug', 'username' or 'external_id'.
|
|
26
|
+
* Standard: '_id' (internal ID) is rarely used for portable seed data.
|
|
27
|
+
*/
|
|
28
|
+
externalId: z.ZodDefault<z.ZodString>;
|
|
29
|
+
/**
|
|
30
|
+
* Import Strategy
|
|
31
|
+
*/
|
|
32
|
+
mode: z.ZodDefault<z.ZodEnum<["insert", "update", "upsert", "replace", "ignore"]>>;
|
|
33
|
+
/**
|
|
34
|
+
* Environment Scope
|
|
35
|
+
* - 'all': Always load
|
|
36
|
+
* - 'dev': Only for development/demo
|
|
37
|
+
* - 'test': Only for CI/CD tests
|
|
38
|
+
*/
|
|
39
|
+
env: z.ZodDefault<z.ZodArray<z.ZodEnum<["prod", "dev", "test"]>, "many">>;
|
|
40
|
+
/**
|
|
41
|
+
* The Payload
|
|
42
|
+
* Array of raw JSON objects matching the Object Schema.
|
|
43
|
+
*/
|
|
44
|
+
records: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
object: string;
|
|
47
|
+
externalId: string;
|
|
48
|
+
mode: "update" | "upsert" | "insert" | "replace" | "ignore";
|
|
49
|
+
env: ("prod" | "dev" | "test")[];
|
|
50
|
+
records: Record<string, any>[];
|
|
51
|
+
}, {
|
|
52
|
+
object: string;
|
|
53
|
+
records: Record<string, any>[];
|
|
54
|
+
externalId?: string | undefined;
|
|
55
|
+
mode?: "update" | "upsert" | "insert" | "replace" | "ignore" | undefined;
|
|
56
|
+
env?: ("prod" | "dev" | "test")[] | undefined;
|
|
57
|
+
}>;
|
|
58
|
+
export type Dataset = z.infer<typeof DatasetSchema>;
|
|
59
|
+
export type DatasetImportMode = z.infer<typeof DatasetMode>;
|
|
60
|
+
//# sourceMappingURL=dataset.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset.zod.d.ts","sourceRoot":"","sources":["../../src/data/dataset.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,WAAW,gEAMtB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;OAEG;;IAGH;;;;;OAKG;;IAGH;;;OAGG;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatasetSchema = exports.DatasetMode = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Data Import Strategy
|
|
7
|
+
* Defines how the engine handles existing records.
|
|
8
|
+
*/
|
|
9
|
+
exports.DatasetMode = zod_1.z.enum([
|
|
10
|
+
'insert', // Try to insert, fail on duplicate
|
|
11
|
+
'update', // Only update found records, ignore new
|
|
12
|
+
'upsert', // Create new or Update existing (Standard)
|
|
13
|
+
'replace', // Delete ALL records in object then insert (Dangerous - use for cache tables)
|
|
14
|
+
'ignore' // Try to insert, silently skip duplicates
|
|
15
|
+
]);
|
|
16
|
+
/**
|
|
17
|
+
* Dataset Schema (Seed Data / Fixtures)
|
|
18
|
+
*
|
|
19
|
+
* Standardized format for transporting data.
|
|
20
|
+
* Used for:
|
|
21
|
+
* 1. System Bootstrapping (Admin accounts, Standard Roles)
|
|
22
|
+
* 2. Reference Data (Countries, Currencies)
|
|
23
|
+
* 3. Demo/Test Data
|
|
24
|
+
*/
|
|
25
|
+
exports.DatasetSchema = zod_1.z.object({
|
|
26
|
+
/**
|
|
27
|
+
* Target Object
|
|
28
|
+
* The machine name of the object to populate.
|
|
29
|
+
*/
|
|
30
|
+
object: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Target Object Name'),
|
|
31
|
+
/**
|
|
32
|
+
* Idempotency Key (The "Upsert" Key)
|
|
33
|
+
* The field used to check if a record already exists.
|
|
34
|
+
* Best Practice: Use a natural key like 'code', 'slug', 'username' or 'external_id'.
|
|
35
|
+
* Standard: '_id' (internal ID) is rarely used for portable seed data.
|
|
36
|
+
*/
|
|
37
|
+
externalId: zod_1.z.string().default('name').describe('Field match for uniqueness check'),
|
|
38
|
+
/**
|
|
39
|
+
* Import Strategy
|
|
40
|
+
*/
|
|
41
|
+
mode: exports.DatasetMode.default('upsert').describe('Conflict resolution strategy'),
|
|
42
|
+
/**
|
|
43
|
+
* Environment Scope
|
|
44
|
+
* - 'all': Always load
|
|
45
|
+
* - 'dev': Only for development/demo
|
|
46
|
+
* - 'test': Only for CI/CD tests
|
|
47
|
+
*/
|
|
48
|
+
env: zod_1.z.array(zod_1.z.enum(['prod', 'dev', 'test'])).default(['prod', 'dev', 'test']).describe('Applicable environments'),
|
|
49
|
+
/**
|
|
50
|
+
* The Payload
|
|
51
|
+
* Array of raw JSON objects matching the Object Schema.
|
|
52
|
+
*/
|
|
53
|
+
records: zod_1.z.array(zod_1.z.record(zod_1.z.any())).describe('Data records'),
|
|
54
|
+
});
|