@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.
Files changed (231) hide show
  1. package/README.md +66 -125
  2. package/dist/ai/agent.zod.d.ts +164 -0
  3. package/dist/ai/agent.zod.d.ts.map +1 -0
  4. package/dist/ai/agent.zod.js +51 -0
  5. package/dist/data/dataset.zod.d.ts +60 -0
  6. package/dist/data/dataset.zod.d.ts.map +1 -0
  7. package/dist/data/dataset.zod.js +54 -0
  8. package/dist/data/field.zod.d.ts +170 -0
  9. package/dist/data/field.zod.d.ts.map +1 -0
  10. package/dist/data/field.zod.js +81 -0
  11. package/dist/data/flow.zod.d.ts +242 -0
  12. package/dist/data/flow.zod.d.ts.map +1 -0
  13. package/dist/data/flow.zod.js +77 -0
  14. package/dist/data/mapping.zod.d.ts +257 -0
  15. package/dist/data/mapping.zod.d.ts.map +1 -0
  16. package/dist/data/mapping.zod.js +65 -0
  17. package/dist/data/object.zod.d.ts +364 -0
  18. package/dist/data/object.zod.d.ts.map +1 -0
  19. package/dist/data/object.zod.js +54 -0
  20. package/dist/data/permission.zod.d.ts +163 -0
  21. package/dist/data/permission.zod.d.ts.map +1 -0
  22. package/dist/data/permission.zod.js +62 -0
  23. package/dist/data/query.zod.d.ts +89 -0
  24. package/dist/data/query.zod.d.ts.map +1 -0
  25. package/dist/data/query.zod.js +71 -0
  26. package/dist/data/sharing.zod.d.ts +63 -0
  27. package/dist/data/sharing.zod.d.ts.map +1 -0
  28. package/dist/data/sharing.zod.js +57 -0
  29. package/dist/data/validation.zod.d.ts +236 -0
  30. package/dist/data/validation.zod.d.ts.map +1 -0
  31. package/dist/data/validation.zod.js +59 -0
  32. package/dist/data/workflow.zod.d.ts +195 -0
  33. package/dist/data/workflow.zod.d.ts.map +1 -0
  34. package/dist/data/workflow.zod.js +64 -0
  35. package/dist/index.d.ts +33 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +53 -5
  38. package/dist/system/api.zod.d.ts +168 -0
  39. package/dist/system/api.zod.d.ts.map +1 -0
  40. package/dist/system/api.zod.js +53 -0
  41. package/dist/system/constants/index.d.ts +11 -0
  42. package/dist/system/constants/index.d.ts.map +1 -0
  43. package/dist/system/constants/index.js +26 -0
  44. package/dist/system/constants/paths.d.ts +71 -0
  45. package/dist/system/constants/paths.d.ts.map +1 -0
  46. package/dist/system/constants/paths.js +65 -0
  47. package/dist/system/datasource.zod.d.ts +127 -0
  48. package/dist/system/datasource.zod.d.ts.map +1 -0
  49. package/dist/system/datasource.zod.js +62 -0
  50. package/dist/system/identity.zod.d.ts +204 -0
  51. package/dist/system/identity.zod.d.ts.map +1 -0
  52. package/dist/system/identity.zod.js +68 -0
  53. package/dist/system/license.zod.d.ts +110 -0
  54. package/dist/system/license.zod.d.ts.map +1 -0
  55. package/dist/system/license.zod.js +63 -0
  56. package/dist/system/manifest.zod.d.ts +126 -0
  57. package/dist/system/manifest.zod.d.ts.map +1 -0
  58. package/dist/system/manifest.zod.js +68 -0
  59. package/dist/system/policy.zod.d.ts +209 -0
  60. package/dist/system/policy.zod.d.ts.map +1 -0
  61. package/dist/system/policy.zod.js +54 -0
  62. package/dist/system/role.zod.d.ts +34 -0
  63. package/dist/system/role.zod.d.ts.map +1 -0
  64. package/dist/system/role.zod.js +25 -0
  65. package/dist/system/territory.zod.d.ts +91 -0
  66. package/dist/system/territory.zod.d.ts.map +1 -0
  67. package/dist/system/territory.zod.js +64 -0
  68. package/dist/system/translation.zod.d.ts +171 -0
  69. package/dist/system/translation.zod.d.ts.map +1 -0
  70. package/dist/system/translation.zod.js +34 -0
  71. package/dist/system/types/index.d.ts +7 -0
  72. package/dist/system/types/index.d.ts.map +1 -0
  73. package/dist/system/types/index.js +22 -0
  74. package/dist/system/types/plugin.d.ts +113 -0
  75. package/dist/system/types/plugin.d.ts.map +1 -0
  76. package/dist/system/types/plugin.js +6 -0
  77. package/dist/system/webhook.zod.d.ts +106 -0
  78. package/dist/system/webhook.zod.d.ts.map +1 -0
  79. package/dist/system/webhook.zod.js +56 -0
  80. package/dist/ui/action.zod.d.ts +148 -0
  81. package/dist/ui/action.zod.d.ts.map +1 -0
  82. package/dist/ui/action.zod.js +48 -0
  83. package/dist/ui/app.zod.d.ts +299 -0
  84. package/dist/ui/app.zod.d.ts.map +1 -0
  85. package/dist/ui/app.zod.js +127 -0
  86. package/dist/ui/dashboard.zod.d.ts +207 -0
  87. package/dist/ui/dashboard.zod.d.ts.map +1 -0
  88. package/dist/ui/dashboard.zod.js +66 -0
  89. package/dist/ui/page.zod.d.ts +187 -0
  90. package/dist/ui/page.zod.d.ts.map +1 -0
  91. package/dist/ui/page.zod.js +48 -0
  92. package/dist/ui/report.zod.d.ts +224 -0
  93. package/dist/ui/report.zod.d.ts.map +1 -0
  94. package/dist/ui/report.zod.js +68 -0
  95. package/dist/ui/view.zod.d.ts +887 -0
  96. package/dist/ui/view.zod.d.ts.map +1 -0
  97. package/dist/ui/view.zod.js +83 -0
  98. package/json-schema/AIKnowledge.json +30 -0
  99. package/json-schema/AIModelConfig.json +41 -0
  100. package/json-schema/AITool.json +33 -0
  101. package/json-schema/Action.json +156 -0
  102. package/json-schema/ActionParam.json +76 -0
  103. package/json-schema/Agent.json +140 -0
  104. package/json-schema/ApiEndpoint.json +162 -0
  105. package/json-schema/ApiMapping.json +28 -0
  106. package/json-schema/App.json +286 -0
  107. package/json-schema/AppBranding.json +24 -0
  108. package/json-schema/AuditPolicy.json +31 -0
  109. package/json-schema/AuthProtocol.json +17 -0
  110. package/json-schema/AuthProvider.json +171 -0
  111. package/json-schema/CalendarConfig.json +28 -0
  112. package/json-schema/ChartType.json +19 -0
  113. package/json-schema/Dashboard.json +117 -0
  114. package/json-schema/DashboardNavItem.json +42 -0
  115. package/json-schema/DashboardWidget.json +89 -0
  116. package/json-schema/Dataset.json +63 -0
  117. package/json-schema/DatasetMode.json +16 -0
  118. package/json-schema/Datasource.json +93 -0
  119. package/json-schema/DatasourceCapabilities.json +36 -0
  120. package/json-schema/DriverType.json +27 -0
  121. package/json-schema/EmailAlertAction.json +37 -0
  122. package/json-schema/Feature.json +51 -0
  123. package/json-schema/Field.json +219 -0
  124. package/json-schema/FieldMapping.json +83 -0
  125. package/json-schema/FieldNode.json +32 -0
  126. package/json-schema/FieldPermission.json +22 -0
  127. package/json-schema/FieldType.json +36 -0
  128. package/json-schema/FieldUpdateAction.json +32 -0
  129. package/json-schema/FilterNode.json +52 -0
  130. package/json-schema/FilterOperator.json +26 -0
  131. package/json-schema/Flow.json +186 -0
  132. package/json-schema/FlowEdge.json +37 -0
  133. package/json-schema/FlowNode.json +65 -0
  134. package/json-schema/FlowNodeAction.json +24 -0
  135. package/json-schema/FlowVariable.json +34 -0
  136. package/json-schema/FormSection.json +42 -0
  137. package/json-schema/FormView.json +99 -0
  138. package/json-schema/FormatValidation.json +59 -0
  139. package/json-schema/GanttConfig.json +32 -0
  140. package/json-schema/GroupNavItem.json +42 -0
  141. package/json-schema/HttpMethod.json +16 -0
  142. package/json-schema/Index.json +30 -0
  143. package/json-schema/KanbanConfig.json +31 -0
  144. package/json-schema/LDAPConfig.json +39 -0
  145. package/json-schema/License.json +57 -0
  146. package/json-schema/ListView.json +153 -0
  147. package/json-schema/Locale.json +10 -0
  148. package/json-schema/LogicOperator.json +14 -0
  149. package/json-schema/Manifest.json +90 -0
  150. package/json-schema/Mapping.json +270 -0
  151. package/json-schema/MenuItem.json +28 -0
  152. package/json-schema/MetricType.json +14 -0
  153. package/json-schema/NavigationItem.json +214 -0
  154. package/json-schema/NetworkPolicy.json +31 -0
  155. package/json-schema/OIDCConfig.json +46 -0
  156. package/json-schema/OWDModel.json +14 -0
  157. package/json-schema/Object.json +331 -0
  158. package/json-schema/ObjectCapabilities.json +36 -0
  159. package/json-schema/ObjectNavItem.json +46 -0
  160. package/json-schema/ObjectPermission.json +42 -0
  161. package/json-schema/Page.json +117 -0
  162. package/json-schema/PageComponent.json +36 -0
  163. package/json-schema/PageNavItem.json +47 -0
  164. package/json-schema/PageRegion.json +63 -0
  165. package/json-schema/PasswordPolicy.json +41 -0
  166. package/json-schema/PermissionSet.json +96 -0
  167. package/json-schema/Plan.json +53 -0
  168. package/json-schema/Policy.json +138 -0
  169. package/json-schema/Query.json +128 -0
  170. package/json-schema/RateLimit.json +26 -0
  171. package/json-schema/Report.json +219 -0
  172. package/json-schema/ReportChart.json +45 -0
  173. package/json-schema/ReportColumn.json +35 -0
  174. package/json-schema/ReportGrouping.json +38 -0
  175. package/json-schema/ReportType.json +15 -0
  176. package/json-schema/Role.json +32 -0
  177. package/json-schema/SAMLConfig.json +44 -0
  178. package/json-schema/ScriptValidation.json +48 -0
  179. package/json-schema/SelectOption.json +32 -0
  180. package/json-schema/SessionPolicy.json +27 -0
  181. package/json-schema/SharingLevel.json +13 -0
  182. package/json-schema/SharingRule.json +58 -0
  183. package/json-schema/SharingRuleType.json +15 -0
  184. package/json-schema/SortNode.json +26 -0
  185. package/json-schema/StateMachineValidation.json +59 -0
  186. package/json-schema/Territory.json +77 -0
  187. package/json-schema/TerritoryModel.json +34 -0
  188. package/json-schema/TerritoryType.json +15 -0
  189. package/json-schema/TransformType.json +18 -0
  190. package/json-schema/TranslationBundle.json +78 -0
  191. package/json-schema/TranslationData.json +75 -0
  192. package/json-schema/UniquenessValidation.json +59 -0
  193. package/json-schema/UrlNavItem.json +51 -0
  194. package/json-schema/ValidationRule.json +211 -0
  195. package/json-schema/View.json +500 -0
  196. package/json-schema/Webhook.json +88 -0
  197. package/json-schema/WebhookReceiver.json +66 -0
  198. package/json-schema/WebhookTriggerType.json +16 -0
  199. package/json-schema/WorkflowAction.json +84 -0
  200. package/json-schema/WorkflowRule.json +128 -0
  201. package/json-schema/WorkflowTriggerType.json +16 -0
  202. package/package.json +28 -19
  203. package/dist/examples.d.ts +0 -28
  204. package/dist/examples.d.ts.map +0 -1
  205. package/dist/examples.js +0 -250
  206. package/dist/types/index.d.ts +0 -9
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/index.js +0 -8
  209. package/dist/types/meta/field-type.d.ts +0 -54
  210. package/dist/types/meta/field-type.d.ts.map +0 -1
  211. package/dist/types/meta/field-type.js +0 -42
  212. package/dist/types/meta/index.d.ts +0 -13
  213. package/dist/types/meta/index.d.ts.map +0 -1
  214. package/dist/types/meta/index.js +0 -12
  215. package/dist/types/meta/object-entity.d.ts +0 -246
  216. package/dist/types/meta/object-entity.d.ts.map +0 -1
  217. package/dist/types/meta/object-entity.js +0 -9
  218. package/dist/types/meta/object-field.d.ts +0 -199
  219. package/dist/types/meta/object-field.d.ts.map +0 -1
  220. package/dist/types/meta/object-field.js +0 -9
  221. package/dist/types/meta/object-view.d.ts +0 -430
  222. package/dist/types/meta/object-view.d.ts.map +0 -1
  223. package/dist/types/meta/object-view.js +0 -9
  224. package/src/examples.ts +0 -257
  225. package/src/index.ts +0 -10
  226. package/src/types/index.ts +0 -9
  227. package/src/types/meta/field-type.ts +0 -91
  228. package/src/types/meta/index.ts +0 -13
  229. package/src/types/meta/object-entity.ts +0 -265
  230. package/src/types/meta/object-field.ts +0 -218
  231. 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
+ });