@objectstack/spec 0.1.0 → 0.1.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/README.md +66 -125
- 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/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 +170 -0
- package/dist/data/field.zod.d.ts.map +1 -0
- package/dist/data/field.zod.js +81 -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 +257 -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 +364 -0
- package/dist/data/object.zod.d.ts.map +1 -0
- package/dist/data/object.zod.js +54 -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 +89 -0
- package/dist/data/query.zod.d.ts.map +1 -0
- package/dist/data/query.zod.js +71 -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/validation.zod.d.ts +236 -0
- package/dist/data/validation.zod.d.ts.map +1 -0
- package/dist/data/validation.zod.js +59 -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 +33 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -5
- package/dist/system/api.zod.d.ts +168 -0
- package/dist/system/api.zod.d.ts.map +1 -0
- package/dist/system/api.zod.js +53 -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 +127 -0
- package/dist/system/datasource.zod.d.ts.map +1 -0
- package/dist/system/datasource.zod.js +62 -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 +126 -0
- package/dist/system/manifest.zod.d.ts.map +1 -0
- package/dist/system/manifest.zod.js +68 -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 +148 -0
- package/dist/ui/action.zod.d.ts.map +1 -0
- package/dist/ui/action.zod.js +48 -0
- package/dist/ui/app.zod.d.ts +299 -0
- package/dist/ui/app.zod.d.ts.map +1 -0
- package/dist/ui/app.zod.js +127 -0
- package/dist/ui/dashboard.zod.d.ts +207 -0
- package/dist/ui/dashboard.zod.d.ts.map +1 -0
- package/dist/ui/dashboard.zod.js +66 -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 +224 -0
- package/dist/ui/report.zod.d.ts.map +1 -0
- package/dist/ui/report.zod.js +68 -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/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 +156 -0
- package/json-schema/ActionParam.json +76 -0
- package/json-schema/Agent.json +140 -0
- package/json-schema/ApiEndpoint.json +162 -0
- package/json-schema/ApiMapping.json +28 -0
- package/json-schema/App.json +286 -0
- package/json-schema/AppBranding.json +24 -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/CalendarConfig.json +28 -0
- package/json-schema/ChartType.json +19 -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 +93 -0
- package/json-schema/DatasourceCapabilities.json +36 -0
- package/json-schema/DriverType.json +27 -0
- package/json-schema/EmailAlertAction.json +37 -0
- package/json-schema/Feature.json +51 -0
- package/json-schema/Field.json +219 -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 +36 -0
- package/json-schema/FieldUpdateAction.json +32 -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/Index.json +30 -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/ListView.json +153 -0
- package/json-schema/Locale.json +10 -0
- package/json-schema/LogicOperator.json +14 -0
- package/json-schema/Manifest.json +90 -0
- package/json-schema/Mapping.json +270 -0
- package/json-schema/MenuItem.json +28 -0
- package/json-schema/MetricType.json +14 -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 +331 -0
- package/json-schema/ObjectCapabilities.json +36 -0
- package/json-schema/ObjectNavItem.json +46 -0
- package/json-schema/ObjectPermission.json +42 -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/Policy.json +138 -0
- package/json-schema/Query.json +128 -0
- package/json-schema/RateLimit.json +26 -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/SAMLConfig.json +44 -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/SharingLevel.json +13 -0
- package/json-schema/SharingRule.json +58 -0
- package/json-schema/SharingRuleType.json +15 -0
- package/json-schema/SortNode.json +26 -0
- package/json-schema/StateMachineValidation.json +59 -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/TransformType.json +18 -0
- package/json-schema/TranslationBundle.json +78 -0
- package/json-schema/TranslationData.json +75 -0
- package/json-schema/UniquenessValidation.json +59 -0
- package/json-schema/UrlNavItem.json +51 -0
- package/json-schema/ValidationRule.json +211 -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/WorkflowAction.json +84 -0
- package/json-schema/WorkflowRule.json +128 -0
- package/json-schema/WorkflowTriggerType.json +16 -0
- package/package.json +28 -19
- 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,168 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* HTTP Method Enum
|
|
4
|
+
*/
|
|
5
|
+
export declare const HttpMethod: z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH"]>;
|
|
6
|
+
/**
|
|
7
|
+
* Rate Limit Strategy
|
|
8
|
+
*/
|
|
9
|
+
export declare const RateLimitSchema: z.ZodObject<{
|
|
10
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
windowMs: z.ZodDefault<z.ZodNumber>;
|
|
12
|
+
maxRequests: z.ZodDefault<z.ZodNumber>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
windowMs: number;
|
|
16
|
+
maxRequests: number;
|
|
17
|
+
}, {
|
|
18
|
+
enabled?: boolean | undefined;
|
|
19
|
+
windowMs?: number | undefined;
|
|
20
|
+
maxRequests?: number | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* API Mapping Schema
|
|
24
|
+
* Transform input/output data.
|
|
25
|
+
*/
|
|
26
|
+
export declare const ApiMappingSchema: z.ZodObject<{
|
|
27
|
+
source: z.ZodString;
|
|
28
|
+
target: z.ZodString;
|
|
29
|
+
transform: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
source: string;
|
|
32
|
+
target: string;
|
|
33
|
+
transform?: string | undefined;
|
|
34
|
+
}, {
|
|
35
|
+
source: string;
|
|
36
|
+
target: string;
|
|
37
|
+
transform?: string | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* API Endpoint Schema
|
|
41
|
+
* Defines an external facing API contract.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ApiEndpointSchema: z.ZodObject<{
|
|
44
|
+
/** Identity */
|
|
45
|
+
name: z.ZodString;
|
|
46
|
+
path: z.ZodString;
|
|
47
|
+
method: z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH"]>;
|
|
48
|
+
/** Documentation */
|
|
49
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
50
|
+
description: z.ZodOptional<z.ZodString>;
|
|
51
|
+
/** Execution Logic */
|
|
52
|
+
type: z.ZodEnum<["flow", "script", "object_operation", "proxy"]>;
|
|
53
|
+
target: z.ZodString;
|
|
54
|
+
/** Logic Config */
|
|
55
|
+
objectParams: z.ZodOptional<z.ZodObject<{
|
|
56
|
+
object: z.ZodOptional<z.ZodString>;
|
|
57
|
+
operation: z.ZodOptional<z.ZodEnum<["find", "get", "create", "update", "delete"]>>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
object?: string | undefined;
|
|
60
|
+
operation?: "find" | "update" | "get" | "create" | "delete" | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
object?: string | undefined;
|
|
63
|
+
operation?: "find" | "update" | "get" | "create" | "delete" | undefined;
|
|
64
|
+
}>>;
|
|
65
|
+
/** Data Transformation */
|
|
66
|
+
inputMapping: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
67
|
+
source: z.ZodString;
|
|
68
|
+
target: z.ZodString;
|
|
69
|
+
transform: z.ZodOptional<z.ZodString>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
source: string;
|
|
72
|
+
target: string;
|
|
73
|
+
transform?: string | undefined;
|
|
74
|
+
}, {
|
|
75
|
+
source: string;
|
|
76
|
+
target: string;
|
|
77
|
+
transform?: string | undefined;
|
|
78
|
+
}>, "many">>;
|
|
79
|
+
outputMapping: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
80
|
+
source: z.ZodString;
|
|
81
|
+
target: z.ZodString;
|
|
82
|
+
transform: z.ZodOptional<z.ZodString>;
|
|
83
|
+
}, "strip", z.ZodTypeAny, {
|
|
84
|
+
source: string;
|
|
85
|
+
target: string;
|
|
86
|
+
transform?: string | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
source: string;
|
|
89
|
+
target: string;
|
|
90
|
+
transform?: string | undefined;
|
|
91
|
+
}>, "many">>;
|
|
92
|
+
/** Policies */
|
|
93
|
+
authRequired: z.ZodDefault<z.ZodBoolean>;
|
|
94
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
95
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
96
|
+
windowMs: z.ZodDefault<z.ZodNumber>;
|
|
97
|
+
maxRequests: z.ZodDefault<z.ZodNumber>;
|
|
98
|
+
}, "strip", z.ZodTypeAny, {
|
|
99
|
+
enabled: boolean;
|
|
100
|
+
windowMs: number;
|
|
101
|
+
maxRequests: number;
|
|
102
|
+
}, {
|
|
103
|
+
enabled?: boolean | undefined;
|
|
104
|
+
windowMs?: number | undefined;
|
|
105
|
+
maxRequests?: number | undefined;
|
|
106
|
+
}>>;
|
|
107
|
+
cacheTtl: z.ZodOptional<z.ZodNumber>;
|
|
108
|
+
}, "strip", z.ZodTypeAny, {
|
|
109
|
+
path: string;
|
|
110
|
+
type: "script" | "flow" | "object_operation" | "proxy";
|
|
111
|
+
name: string;
|
|
112
|
+
target: string;
|
|
113
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
114
|
+
authRequired: boolean;
|
|
115
|
+
summary?: string | undefined;
|
|
116
|
+
description?: string | undefined;
|
|
117
|
+
objectParams?: {
|
|
118
|
+
object?: string | undefined;
|
|
119
|
+
operation?: "find" | "update" | "get" | "create" | "delete" | undefined;
|
|
120
|
+
} | undefined;
|
|
121
|
+
inputMapping?: {
|
|
122
|
+
source: string;
|
|
123
|
+
target: string;
|
|
124
|
+
transform?: string | undefined;
|
|
125
|
+
}[] | undefined;
|
|
126
|
+
outputMapping?: {
|
|
127
|
+
source: string;
|
|
128
|
+
target: string;
|
|
129
|
+
transform?: string | undefined;
|
|
130
|
+
}[] | undefined;
|
|
131
|
+
rateLimit?: {
|
|
132
|
+
enabled: boolean;
|
|
133
|
+
windowMs: number;
|
|
134
|
+
maxRequests: number;
|
|
135
|
+
} | undefined;
|
|
136
|
+
cacheTtl?: number | undefined;
|
|
137
|
+
}, {
|
|
138
|
+
path: string;
|
|
139
|
+
type: "script" | "flow" | "object_operation" | "proxy";
|
|
140
|
+
name: string;
|
|
141
|
+
target: string;
|
|
142
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
143
|
+
summary?: string | undefined;
|
|
144
|
+
description?: string | undefined;
|
|
145
|
+
objectParams?: {
|
|
146
|
+
object?: string | undefined;
|
|
147
|
+
operation?: "find" | "update" | "get" | "create" | "delete" | undefined;
|
|
148
|
+
} | undefined;
|
|
149
|
+
inputMapping?: {
|
|
150
|
+
source: string;
|
|
151
|
+
target: string;
|
|
152
|
+
transform?: string | undefined;
|
|
153
|
+
}[] | undefined;
|
|
154
|
+
outputMapping?: {
|
|
155
|
+
source: string;
|
|
156
|
+
target: string;
|
|
157
|
+
transform?: string | undefined;
|
|
158
|
+
}[] | undefined;
|
|
159
|
+
authRequired?: boolean | undefined;
|
|
160
|
+
rateLimit?: {
|
|
161
|
+
enabled?: boolean | undefined;
|
|
162
|
+
windowMs?: number | undefined;
|
|
163
|
+
maxRequests?: number | undefined;
|
|
164
|
+
} | undefined;
|
|
165
|
+
cacheTtl?: number | undefined;
|
|
166
|
+
}>;
|
|
167
|
+
export type ApiEndpoint = z.infer<typeof ApiEndpointSchema>;
|
|
168
|
+
//# sourceMappingURL=api.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.zod.d.ts","sourceRoot":"","sources":["../../src/system/api.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,UAAU,sDAAoD,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAI3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,eAAe;;;;IAKf,oBAAoB;;;IAIpB,sBAAsB;;;IAItB,mBAAmB;;;;;;;;;;;IAMnB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI1B,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiEndpointSchema = exports.ApiMappingSchema = exports.RateLimitSchema = exports.HttpMethod = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* HTTP Method Enum
|
|
7
|
+
*/
|
|
8
|
+
exports.HttpMethod = zod_1.z.enum(['GET', 'POST', 'PUT', 'DELETE', 'PATCH']);
|
|
9
|
+
/**
|
|
10
|
+
* Rate Limit Strategy
|
|
11
|
+
*/
|
|
12
|
+
exports.RateLimitSchema = zod_1.z.object({
|
|
13
|
+
enabled: zod_1.z.boolean().default(false),
|
|
14
|
+
windowMs: zod_1.z.number().default(60000).describe('Time window in milliseconds'),
|
|
15
|
+
maxRequests: zod_1.z.number().default(100).describe('Max requests per window'),
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* API Mapping Schema
|
|
19
|
+
* Transform input/output data.
|
|
20
|
+
*/
|
|
21
|
+
exports.ApiMappingSchema = zod_1.z.object({
|
|
22
|
+
source: zod_1.z.string().describe('Source field/path'),
|
|
23
|
+
target: zod_1.z.string().describe('Target field/path'),
|
|
24
|
+
transform: zod_1.z.string().optional().describe('Transformation function name'),
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* API Endpoint Schema
|
|
28
|
+
* Defines an external facing API contract.
|
|
29
|
+
*/
|
|
30
|
+
exports.ApiEndpointSchema = zod_1.z.object({
|
|
31
|
+
/** Identity */
|
|
32
|
+
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique endpoint ID'),
|
|
33
|
+
path: zod_1.z.string().regex(/^\//).describe('URL Path (e.g. /api/v1/customers)'),
|
|
34
|
+
method: exports.HttpMethod.describe('HTTP Method'),
|
|
35
|
+
/** Documentation */
|
|
36
|
+
summary: zod_1.z.string().optional(),
|
|
37
|
+
description: zod_1.z.string().optional(),
|
|
38
|
+
/** Execution Logic */
|
|
39
|
+
type: zod_1.z.enum(['flow', 'script', 'object_operation', 'proxy']).describe('Implementation type'),
|
|
40
|
+
target: zod_1.z.string().describe('Target Flow ID, Script Name, or Proxy URL'),
|
|
41
|
+
/** Logic Config */
|
|
42
|
+
objectParams: zod_1.z.object({
|
|
43
|
+
object: zod_1.z.string().optional(),
|
|
44
|
+
operation: zod_1.z.enum(['find', 'get', 'create', 'update', 'delete']).optional(),
|
|
45
|
+
}).optional().describe('For object_operation type'),
|
|
46
|
+
/** Data Transformation */
|
|
47
|
+
inputMapping: zod_1.z.array(exports.ApiMappingSchema).optional().describe('Map Request Body to Internal Params'),
|
|
48
|
+
outputMapping: zod_1.z.array(exports.ApiMappingSchema).optional().describe('Map Internal Result to Response Body'),
|
|
49
|
+
/** Policies */
|
|
50
|
+
authRequired: zod_1.z.boolean().default(true).describe('Require authentication'),
|
|
51
|
+
rateLimit: exports.RateLimitSchema.optional().describe('Rate limiting policy'),
|
|
52
|
+
cacheTtl: zod_1.z.number().optional().describe('Response cache TTL in seconds'),
|
|
53
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectStack Convention Constants
|
|
3
|
+
*
|
|
4
|
+
* This package defines the "Law of Location" - where things must be in ObjectStack packages.
|
|
5
|
+
* These paths are used by ObjectOS Runtime, ObjectStack CLI, and ObjectStudio IDE.
|
|
6
|
+
*
|
|
7
|
+
* Guiding Principle: "Strict Types, No Logic"
|
|
8
|
+
* This package has NO database connections, NO UI components, and NO runtime business logic.
|
|
9
|
+
*/
|
|
10
|
+
export * from './paths';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/system/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ObjectStack Convention Constants
|
|
4
|
+
*
|
|
5
|
+
* This package defines the "Law of Location" - where things must be in ObjectStack packages.
|
|
6
|
+
* These paths are used by ObjectOS Runtime, ObjectStack CLI, and ObjectStudio IDE.
|
|
7
|
+
*
|
|
8
|
+
* Guiding Principle: "Strict Types, No Logic"
|
|
9
|
+
* This package has NO database connections, NO UI components, and NO runtime business logic.
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
23
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
__exportStar(require("./paths"), exports);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package conventions and directory structure constants.
|
|
3
|
+
* These define the "Law of Location" - where things must be in ObjectStack packages.
|
|
4
|
+
*
|
|
5
|
+
* These paths are the source of truth used by:
|
|
6
|
+
* - ObjectOS Runtime (to locate package components)
|
|
7
|
+
* - ObjectStack CLI (to scaffold and validate packages)
|
|
8
|
+
* - ObjectStudio IDE (to provide intelligent navigation and validation)
|
|
9
|
+
*/
|
|
10
|
+
export declare const PKG_CONVENTIONS: {
|
|
11
|
+
/**
|
|
12
|
+
* Standard directories within ObjectStack packages.
|
|
13
|
+
* All packages MUST follow these conventions for the runtime to locate resources.
|
|
14
|
+
*/
|
|
15
|
+
readonly DIRS: {
|
|
16
|
+
/**
|
|
17
|
+
* Location for schema definitions (Zod schemas, JSON schemas).
|
|
18
|
+
* Path: src/schemas
|
|
19
|
+
*/
|
|
20
|
+
readonly SCHEMA: "src/schemas";
|
|
21
|
+
/**
|
|
22
|
+
* Location for server-side code and triggers.
|
|
23
|
+
* Path: src/server
|
|
24
|
+
*/
|
|
25
|
+
readonly SERVER: "src/server";
|
|
26
|
+
/**
|
|
27
|
+
* Location for server-side trigger functions.
|
|
28
|
+
* Path: src/triggers
|
|
29
|
+
*/
|
|
30
|
+
readonly TRIGGERS: "src/triggers";
|
|
31
|
+
/**
|
|
32
|
+
* Location for client-side code.
|
|
33
|
+
* Path: src/client
|
|
34
|
+
*/
|
|
35
|
+
readonly CLIENT: "src/client";
|
|
36
|
+
/**
|
|
37
|
+
* Location for client-side page components.
|
|
38
|
+
* Path: src/client/pages
|
|
39
|
+
*/
|
|
40
|
+
readonly PAGES: "src/client/pages";
|
|
41
|
+
/**
|
|
42
|
+
* Location for static assets (images, fonts, etc.).
|
|
43
|
+
* Path: assets
|
|
44
|
+
*/
|
|
45
|
+
readonly ASSETS: "assets";
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Standard file names within ObjectStack packages.
|
|
49
|
+
*/
|
|
50
|
+
readonly FILES: {
|
|
51
|
+
/**
|
|
52
|
+
* Package manifest configuration file.
|
|
53
|
+
* File: objectstack.config.ts
|
|
54
|
+
*/
|
|
55
|
+
readonly MANIFEST: "objectstack.config.ts";
|
|
56
|
+
/**
|
|
57
|
+
* Main entry point for the package.
|
|
58
|
+
* File: src/index.ts
|
|
59
|
+
*/
|
|
60
|
+
readonly ENTRY: "src/index.ts";
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Type helper to extract directory path values.
|
|
65
|
+
*/
|
|
66
|
+
export type PackageDirectory = typeof PKG_CONVENTIONS.DIRS[keyof typeof PKG_CONVENTIONS.DIRS];
|
|
67
|
+
/**
|
|
68
|
+
* Type helper to extract file path values.
|
|
69
|
+
*/
|
|
70
|
+
export type PackageFile = typeof PKG_CONVENTIONS.FILES[keyof typeof PKG_CONVENTIONS.FILES];
|
|
71
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/system/constants/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;;QAED;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;;IAIL;;OAEG;;QAED;;;WAGG;;QAGH;;;WAGG;;;CAGG,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PKG_CONVENTIONS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Package conventions and directory structure constants.
|
|
6
|
+
* These define the "Law of Location" - where things must be in ObjectStack packages.
|
|
7
|
+
*
|
|
8
|
+
* These paths are the source of truth used by:
|
|
9
|
+
* - ObjectOS Runtime (to locate package components)
|
|
10
|
+
* - ObjectStack CLI (to scaffold and validate packages)
|
|
11
|
+
* - ObjectStudio IDE (to provide intelligent navigation and validation)
|
|
12
|
+
*/
|
|
13
|
+
exports.PKG_CONVENTIONS = {
|
|
14
|
+
/**
|
|
15
|
+
* Standard directories within ObjectStack packages.
|
|
16
|
+
* All packages MUST follow these conventions for the runtime to locate resources.
|
|
17
|
+
*/
|
|
18
|
+
DIRS: {
|
|
19
|
+
/**
|
|
20
|
+
* Location for schema definitions (Zod schemas, JSON schemas).
|
|
21
|
+
* Path: src/schemas
|
|
22
|
+
*/
|
|
23
|
+
SCHEMA: 'src/schemas',
|
|
24
|
+
/**
|
|
25
|
+
* Location for server-side code and triggers.
|
|
26
|
+
* Path: src/server
|
|
27
|
+
*/
|
|
28
|
+
SERVER: 'src/server',
|
|
29
|
+
/**
|
|
30
|
+
* Location for server-side trigger functions.
|
|
31
|
+
* Path: src/triggers
|
|
32
|
+
*/
|
|
33
|
+
TRIGGERS: 'src/triggers',
|
|
34
|
+
/**
|
|
35
|
+
* Location for client-side code.
|
|
36
|
+
* Path: src/client
|
|
37
|
+
*/
|
|
38
|
+
CLIENT: 'src/client',
|
|
39
|
+
/**
|
|
40
|
+
* Location for client-side page components.
|
|
41
|
+
* Path: src/client/pages
|
|
42
|
+
*/
|
|
43
|
+
PAGES: 'src/client/pages',
|
|
44
|
+
/**
|
|
45
|
+
* Location for static assets (images, fonts, etc.).
|
|
46
|
+
* Path: assets
|
|
47
|
+
*/
|
|
48
|
+
ASSETS: 'assets',
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Standard file names within ObjectStack packages.
|
|
52
|
+
*/
|
|
53
|
+
FILES: {
|
|
54
|
+
/**
|
|
55
|
+
* Package manifest configuration file.
|
|
56
|
+
* File: objectstack.config.ts
|
|
57
|
+
*/
|
|
58
|
+
MANIFEST: 'objectstack.config.ts',
|
|
59
|
+
/**
|
|
60
|
+
* Main entry point for the package.
|
|
61
|
+
* File: src/index.ts
|
|
62
|
+
*/
|
|
63
|
+
ENTRY: 'src/index.ts',
|
|
64
|
+
},
|
|
65
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Driver Type Enum
|
|
4
|
+
* Defines the underlying technology of the datasource.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DriverType: z.ZodEnum<["postgres", "mysql", "sqlserver", "oracle", "sqlite", "mongo", "redis", "excel", "csv", "airtable", "rest_api", "graphql", "odata", "salesforce", "sap", "workday"]>;
|
|
7
|
+
/**
|
|
8
|
+
* Datasource Capabilities Schema
|
|
9
|
+
* Declares what this datasource naturally supports.
|
|
10
|
+
* The ObjectQL engine uses this to determine what logic to push down
|
|
11
|
+
* and what to compute in memory.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DatasourceCapabilities: z.ZodObject<{
|
|
14
|
+
/** Can execute SQL-like joins natively? */
|
|
15
|
+
joins: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
+
/** Can handle ACID transactions? */
|
|
17
|
+
transactions: z.ZodDefault<z.ZodBoolean>;
|
|
18
|
+
/** Can perform full-text search? */
|
|
19
|
+
fullTextSearch: z.ZodDefault<z.ZodBoolean>;
|
|
20
|
+
/** Can perform aggregation (group by, sum, avg)? */
|
|
21
|
+
aggregation: z.ZodDefault<z.ZodBoolean>;
|
|
22
|
+
/** Is scheme-less (needs schema inference)? */
|
|
23
|
+
dynamicSchema: z.ZodDefault<z.ZodBoolean>;
|
|
24
|
+
/** Is read-only? */
|
|
25
|
+
readOnly: z.ZodDefault<z.ZodBoolean>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
joins: boolean;
|
|
28
|
+
transactions: boolean;
|
|
29
|
+
fullTextSearch: boolean;
|
|
30
|
+
aggregation: boolean;
|
|
31
|
+
dynamicSchema: boolean;
|
|
32
|
+
readOnly: boolean;
|
|
33
|
+
}, {
|
|
34
|
+
joins?: boolean | undefined;
|
|
35
|
+
transactions?: boolean | undefined;
|
|
36
|
+
fullTextSearch?: boolean | undefined;
|
|
37
|
+
aggregation?: boolean | undefined;
|
|
38
|
+
dynamicSchema?: boolean | undefined;
|
|
39
|
+
readOnly?: boolean | undefined;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Datasource Schema
|
|
43
|
+
* Represents a connection to an external data store.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DatasourceSchema: z.ZodObject<{
|
|
46
|
+
/** Machine Name */
|
|
47
|
+
name: z.ZodString;
|
|
48
|
+
/** Human Label */
|
|
49
|
+
label: z.ZodOptional<z.ZodString>;
|
|
50
|
+
/** Driver */
|
|
51
|
+
driver: z.ZodEnum<["postgres", "mysql", "sqlserver", "oracle", "sqlite", "mongo", "redis", "excel", "csv", "airtable", "rest_api", "graphql", "odata", "salesforce", "sap", "workday"]>;
|
|
52
|
+
/**
|
|
53
|
+
* Connection Configuration
|
|
54
|
+
* Specific to the driver (e.g., host, port, user, password, bucket, etc.)
|
|
55
|
+
* Stored securely (passwords usually interpolated from ENV).
|
|
56
|
+
*/
|
|
57
|
+
config: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
58
|
+
/**
|
|
59
|
+
* Capability Overrides
|
|
60
|
+
* Manually override what the driver claims to support.
|
|
61
|
+
*/
|
|
62
|
+
capabilities: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
/** Can execute SQL-like joins natively? */
|
|
64
|
+
joins: z.ZodDefault<z.ZodBoolean>;
|
|
65
|
+
/** Can handle ACID transactions? */
|
|
66
|
+
transactions: z.ZodDefault<z.ZodBoolean>;
|
|
67
|
+
/** Can perform full-text search? */
|
|
68
|
+
fullTextSearch: z.ZodDefault<z.ZodBoolean>;
|
|
69
|
+
/** Can perform aggregation (group by, sum, avg)? */
|
|
70
|
+
aggregation: z.ZodDefault<z.ZodBoolean>;
|
|
71
|
+
/** Is scheme-less (needs schema inference)? */
|
|
72
|
+
dynamicSchema: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
/** Is read-only? */
|
|
74
|
+
readOnly: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
joins: boolean;
|
|
77
|
+
transactions: boolean;
|
|
78
|
+
fullTextSearch: boolean;
|
|
79
|
+
aggregation: boolean;
|
|
80
|
+
dynamicSchema: boolean;
|
|
81
|
+
readOnly: boolean;
|
|
82
|
+
}, {
|
|
83
|
+
joins?: boolean | undefined;
|
|
84
|
+
transactions?: boolean | undefined;
|
|
85
|
+
fullTextSearch?: boolean | undefined;
|
|
86
|
+
aggregation?: boolean | undefined;
|
|
87
|
+
dynamicSchema?: boolean | undefined;
|
|
88
|
+
readOnly?: boolean | undefined;
|
|
89
|
+
}>>;
|
|
90
|
+
/** Description */
|
|
91
|
+
description: z.ZodOptional<z.ZodString>;
|
|
92
|
+
/** Is enabled? */
|
|
93
|
+
active: z.ZodDefault<z.ZodBoolean>;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
name: string;
|
|
96
|
+
active: boolean;
|
|
97
|
+
config: Record<string, any>;
|
|
98
|
+
driver: "csv" | "postgres" | "mysql" | "sqlserver" | "oracle" | "sqlite" | "mongo" | "redis" | "excel" | "airtable" | "rest_api" | "graphql" | "odata" | "salesforce" | "sap" | "workday";
|
|
99
|
+
label?: string | undefined;
|
|
100
|
+
description?: string | undefined;
|
|
101
|
+
capabilities?: {
|
|
102
|
+
joins: boolean;
|
|
103
|
+
transactions: boolean;
|
|
104
|
+
fullTextSearch: boolean;
|
|
105
|
+
aggregation: boolean;
|
|
106
|
+
dynamicSchema: boolean;
|
|
107
|
+
readOnly: boolean;
|
|
108
|
+
} | undefined;
|
|
109
|
+
}, {
|
|
110
|
+
name: string;
|
|
111
|
+
config: Record<string, any>;
|
|
112
|
+
driver: "csv" | "postgres" | "mysql" | "sqlserver" | "oracle" | "sqlite" | "mongo" | "redis" | "excel" | "airtable" | "rest_api" | "graphql" | "odata" | "salesforce" | "sap" | "workday";
|
|
113
|
+
label?: string | undefined;
|
|
114
|
+
description?: string | undefined;
|
|
115
|
+
active?: boolean | undefined;
|
|
116
|
+
capabilities?: {
|
|
117
|
+
joins?: boolean | undefined;
|
|
118
|
+
transactions?: boolean | undefined;
|
|
119
|
+
fullTextSearch?: boolean | undefined;
|
|
120
|
+
aggregation?: boolean | undefined;
|
|
121
|
+
dynamicSchema?: boolean | undefined;
|
|
122
|
+
readOnly?: boolean | undefined;
|
|
123
|
+
} | undefined;
|
|
124
|
+
}>;
|
|
125
|
+
export type Datasource = z.infer<typeof DatasourceSchema>;
|
|
126
|
+
export type DatasourceConfig = z.infer<typeof DatasourceCapabilities>;
|
|
127
|
+
//# sourceMappingURL=datasource.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.zod.d.ts","sourceRoot":"","sources":["../../src/system/datasource.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,UAAU,iLAMrB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;IACjC,2CAA2C;;IAE3C,oCAAoC;;IAEpC,oCAAoC;;IAEpC,oDAAoD;;IAEpD,+CAA+C;;IAE/C,oBAAoB;;;;;;;;;;;;;;;;EAEpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B,mBAAmB;;IAGnB,kBAAkB;;IAGlB,aAAa;;IAGb;;;;OAIG;;IAGH;;;OAGG;;QAtCH,2CAA2C;;QAE3C,oCAAoC;;QAEpC,oCAAoC;;QAEpC,oDAAoD;;QAEpD,+CAA+C;;QAE/C,oBAAoB;;;;;;;;;;;;;;;;;IA+BpB,kBAAkB;;IAGlB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatasourceSchema = exports.DatasourceCapabilities = exports.DriverType = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Driver Type Enum
|
|
7
|
+
* Defines the underlying technology of the datasource.
|
|
8
|
+
*/
|
|
9
|
+
exports.DriverType = zod_1.z.enum([
|
|
10
|
+
'postgres', 'mysql', 'sqlserver', 'oracle', 'sqlite', // SQL
|
|
11
|
+
'mongo', 'redis', // NoSQL
|
|
12
|
+
'excel', 'csv', 'airtable', // Spreadsheet / Low-code
|
|
13
|
+
'rest_api', 'graphql', 'odata', // Web Services
|
|
14
|
+
'salesforce', 'sap', 'workday' // Enterprise SaaS
|
|
15
|
+
]);
|
|
16
|
+
/**
|
|
17
|
+
* Datasource Capabilities Schema
|
|
18
|
+
* Declares what this datasource naturally supports.
|
|
19
|
+
* The ObjectQL engine uses this to determine what logic to push down
|
|
20
|
+
* and what to compute in memory.
|
|
21
|
+
*/
|
|
22
|
+
exports.DatasourceCapabilities = zod_1.z.object({
|
|
23
|
+
/** Can execute SQL-like joins natively? */
|
|
24
|
+
joins: zod_1.z.boolean().default(false),
|
|
25
|
+
/** Can handle ACID transactions? */
|
|
26
|
+
transactions: zod_1.z.boolean().default(false),
|
|
27
|
+
/** Can perform full-text search? */
|
|
28
|
+
fullTextSearch: zod_1.z.boolean().default(false),
|
|
29
|
+
/** Can perform aggregation (group by, sum, avg)? */
|
|
30
|
+
aggregation: zod_1.z.boolean().default(false),
|
|
31
|
+
/** Is scheme-less (needs schema inference)? */
|
|
32
|
+
dynamicSchema: zod_1.z.boolean().default(false),
|
|
33
|
+
/** Is read-only? */
|
|
34
|
+
readOnly: zod_1.z.boolean().default(false),
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Datasource Schema
|
|
38
|
+
* Represents a connection to an external data store.
|
|
39
|
+
*/
|
|
40
|
+
exports.DatasourceSchema = zod_1.z.object({
|
|
41
|
+
/** Machine Name */
|
|
42
|
+
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Unique datasource identifier'),
|
|
43
|
+
/** Human Label */
|
|
44
|
+
label: zod_1.z.string().optional().describe('Display label'),
|
|
45
|
+
/** Driver */
|
|
46
|
+
driver: exports.DriverType.describe('Underlying driver type'),
|
|
47
|
+
/**
|
|
48
|
+
* Connection Configuration
|
|
49
|
+
* Specific to the driver (e.g., host, port, user, password, bucket, etc.)
|
|
50
|
+
* Stored securely (passwords usually interpolated from ENV).
|
|
51
|
+
*/
|
|
52
|
+
config: zod_1.z.record(zod_1.z.any()).describe('Driver specific configuration'),
|
|
53
|
+
/**
|
|
54
|
+
* Capability Overrides
|
|
55
|
+
* Manually override what the driver claims to support.
|
|
56
|
+
*/
|
|
57
|
+
capabilities: exports.DatasourceCapabilities.optional().describe('Capability overrides'),
|
|
58
|
+
/** Description */
|
|
59
|
+
description: zod_1.z.string().optional().describe('Internal description'),
|
|
60
|
+
/** Is enabled? */
|
|
61
|
+
active: zod_1.z.boolean().default(true).describe('Is datasource enabled'),
|
|
62
|
+
});
|