@objectstack/spec 0.1.1 → 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.
Files changed (136) hide show
  1. package/README.md +73 -1
  2. package/dist/api/contract.zod.d.ts +1733 -0
  3. package/dist/api/contract.zod.d.ts.map +1 -0
  4. package/dist/api/contract.zod.js +138 -0
  5. package/dist/data/dataset.zod.d.ts +2 -2
  6. package/dist/data/field.zod.d.ts +1648 -10
  7. package/dist/data/field.zod.d.ts.map +1 -1
  8. package/dist/data/field.zod.js +149 -8
  9. package/dist/data/mapping.zod.d.ts +215 -2
  10. package/dist/data/mapping.zod.d.ts.map +1 -1
  11. package/dist/data/object.zod.d.ts +505 -25
  12. package/dist/data/object.zod.d.ts.map +1 -1
  13. package/dist/data/object.zod.js +32 -5
  14. package/dist/data/query.zod.d.ts +349 -0
  15. package/dist/data/query.zod.d.ts.map +1 -1
  16. package/dist/data/query.zod.js +77 -1
  17. package/dist/data/trigger.zod.d.ts +354 -0
  18. package/dist/data/trigger.zod.d.ts.map +1 -0
  19. package/dist/data/trigger.zod.js +195 -0
  20. package/dist/data/validation.zod.d.ts +83 -43
  21. package/dist/data/validation.zod.d.ts.map +1 -1
  22. package/dist/data/validation.zod.js +51 -5
  23. package/dist/index.d.ts +8 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +9 -0
  26. package/dist/system/api.zod.d.ts +130 -4
  27. package/dist/system/api.zod.d.ts.map +1 -1
  28. package/dist/system/api.zod.js +4 -1
  29. package/dist/system/datasource.zod.d.ts +89 -6
  30. package/dist/system/datasource.zod.d.ts.map +1 -1
  31. package/dist/system/datasource.zod.js +33 -5
  32. package/dist/system/discovery.zod.d.ts +174 -0
  33. package/dist/system/discovery.zod.d.ts.map +1 -0
  34. package/dist/system/discovery.zod.js +53 -0
  35. package/dist/system/driver.zod.d.ts +1525 -0
  36. package/dist/system/driver.zod.d.ts.map +1 -0
  37. package/dist/system/driver.zod.js +290 -0
  38. package/dist/system/license.zod.d.ts +2 -2
  39. package/dist/system/manifest.zod.d.ts +323 -52
  40. package/dist/system/manifest.zod.d.ts.map +1 -1
  41. package/dist/system/manifest.zod.js +91 -17
  42. package/dist/system/plugin.zod.d.ts +3516 -0
  43. package/dist/system/plugin.zod.d.ts.map +1 -0
  44. package/dist/system/plugin.zod.js +226 -0
  45. package/dist/system/territory.zod.d.ts +1 -1
  46. package/dist/system/webhook.zod.d.ts +3 -3
  47. package/dist/ui/action.zod.d.ts +19 -12
  48. package/dist/ui/action.zod.d.ts.map +1 -1
  49. package/dist/ui/action.zod.js +7 -1
  50. package/dist/ui/app.zod.d.ts +109 -3
  51. package/dist/ui/app.zod.d.ts.map +1 -1
  52. package/dist/ui/app.zod.js +13 -2
  53. package/dist/ui/dashboard.zod.d.ts +9 -3
  54. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  55. package/dist/ui/dashboard.zod.js +7 -1
  56. package/dist/ui/page.zod.d.ts +6 -6
  57. package/dist/ui/report.zod.d.ts +9 -0
  58. package/dist/ui/report.zod.d.ts.map +1 -1
  59. package/dist/ui/report.zod.js +7 -1
  60. package/dist/ui/theme.zod.d.ts +1221 -0
  61. package/dist/ui/theme.zod.d.ts.map +1 -0
  62. package/dist/ui/theme.zod.js +202 -0
  63. package/dist/ui/widget.zod.d.ts +350 -0
  64. package/dist/ui/widget.zod.d.ts.map +1 -0
  65. package/dist/ui/widget.zod.js +66 -0
  66. package/json-schema/Action.json +8 -2
  67. package/json-schema/ActionParam.json +8 -2
  68. package/json-schema/Address.json +40 -0
  69. package/json-schema/AggregationFunction.json +19 -0
  70. package/json-schema/AggregationNode.json +42 -0
  71. package/json-schema/Animation.json +56 -0
  72. package/json-schema/ApiCapabilities.json +28 -0
  73. package/json-schema/ApiError.json +27 -0
  74. package/json-schema/ApiRoutes.json +41 -0
  75. package/json-schema/App.json +13 -2
  76. package/json-schema/AsyncValidation.json +70 -0
  77. package/json-schema/BaseResponse.json +63 -0
  78. package/json-schema/BorderRadius.json +44 -0
  79. package/json-schema/Breakpoints.json +36 -0
  80. package/json-schema/BulkRequest.json +29 -0
  81. package/json-schema/BulkResponse.json +108 -0
  82. package/json-schema/ColorPalette.json +83 -0
  83. package/json-schema/ConditionalValidation.json +793 -0
  84. package/json-schema/CreateRequest.json +20 -0
  85. package/json-schema/CrossFieldValidation.json +56 -0
  86. package/json-schema/CustomValidator.json +57 -0
  87. package/json-schema/Datasource.json +0 -18
  88. package/json-schema/DeleteResponse.json +68 -0
  89. package/json-schema/Discovery.json +114 -0
  90. package/json-schema/DriverCapabilities.json +39 -0
  91. package/json-schema/DriverDefinition.json +66 -0
  92. package/json-schema/DriverInterface.json +58 -0
  93. package/json-schema/DriverOptions.json +23 -0
  94. package/json-schema/DriverType.json +1 -18
  95. package/json-schema/ExportRequest.json +786 -0
  96. package/json-schema/Field.json +75 -4
  97. package/json-schema/FieldType.json +8 -2
  98. package/json-schema/FieldWidgetProps.json +327 -0
  99. package/json-schema/I18nContext.json +12 -0
  100. package/json-schema/JoinNode.json +455 -0
  101. package/json-schema/JoinType.json +15 -0
  102. package/json-schema/ListRecordResponse.json +103 -0
  103. package/json-schema/LocationCoordinates.json +36 -0
  104. package/json-schema/Logger.json +25 -0
  105. package/json-schema/Manifest.json +243 -18
  106. package/json-schema/Mapping.json +328 -0
  107. package/json-schema/ModificationResult.json +46 -0
  108. package/json-schema/Object.json +103 -6
  109. package/json-schema/ObjectCapabilities.json +26 -0
  110. package/json-schema/ObjectQLClient.json +12 -0
  111. package/json-schema/Plugin.json +20 -0
  112. package/json-schema/PluginContext.json +91 -0
  113. package/json-schema/PluginLifecycle.json +11 -0
  114. package/json-schema/Query.json +328 -0
  115. package/json-schema/RecordData.json +11 -0
  116. package/json-schema/Router.json +12 -0
  117. package/json-schema/Scheduler.json +12 -0
  118. package/json-schema/ScopedStorage.json +12 -0
  119. package/json-schema/Shadow.json +44 -0
  120. package/json-schema/SingleRecordResponse.json +69 -0
  121. package/json-schema/Spacing.json +64 -0
  122. package/json-schema/SystemAPI.json +12 -0
  123. package/json-schema/Theme.json +543 -0
  124. package/json-schema/ThemeMode.json +14 -0
  125. package/json-schema/Trigger.json +73 -0
  126. package/json-schema/TriggerAction.json +14 -0
  127. package/json-schema/TriggerContext.json +61 -0
  128. package/json-schema/TriggerTiming.json +13 -0
  129. package/json-schema/Typography.json +142 -0
  130. package/json-schema/UpdateRequest.json +20 -0
  131. package/json-schema/ValidationRule.json +583 -0
  132. package/json-schema/WindowFunction.json +24 -0
  133. package/json-schema/WindowFunctionNode.json +104 -0
  134. package/json-schema/WindowSpec.json +65 -0
  135. package/json-schema/ZIndex.json +44 -0
  136. package/package.json +8 -3
@@ -1 +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"}
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;;;;GAIG;AACH,eAAO,MAAM,cAAc,+KAMjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,UAAU,aAAsD,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;IAMjC;;;;OAIG;;IAGH;;;OAGG;;QAWH,2CAA2C;;QAE3C,oCAAoC;;QAEpC,oCAAoC;;QAEpC,oDAAoD;;QAEpD,+CAA+C;;QAE/C,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAnBpB,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"}
@@ -1,18 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatasourceSchema = exports.DatasourceCapabilities = exports.DriverType = void 0;
3
+ exports.DatasourceSchema = exports.DatasourceCapabilities = exports.DriverDefinitionSchema = exports.DriverType = exports.BuiltInDrivers = void 0;
4
4
  const zod_1 = require("zod");
5
5
  /**
6
- * Driver Type Enum
7
- * Defines the underlying technology of the datasource.
6
+ * Driver Type Enum (Built-in)
7
+ * Standard drivers supported by the core platform.
8
+ * Plugins can register additional drivers using different identifiers.
8
9
  */
9
- exports.DriverType = zod_1.z.enum([
10
+ exports.BuiltInDrivers = [
10
11
  'postgres', 'mysql', 'sqlserver', 'oracle', 'sqlite', // SQL
11
12
  'mongo', 'redis', // NoSQL
12
13
  'excel', 'csv', 'airtable', // Spreadsheet / Low-code
13
14
  'rest_api', 'graphql', 'odata', // Web Services
14
15
  'salesforce', 'sap', 'workday' // Enterprise SaaS
15
- ]);
16
+ ];
17
+ /**
18
+ * Driver Identifier
19
+ * Can be a built-in driver or a plugin-contributed driver (e.g., "com.vendor.snowflake").
20
+ */
21
+ exports.DriverType = zod_1.z.string().describe('Underlying driver identifier');
22
+ /**
23
+ * Driver Definition Schema
24
+ * Metadata describing a Database Driver.
25
+ * Plugins use this to register new connectivity options.
26
+ */
27
+ exports.DriverDefinitionSchema = zod_1.z.object({
28
+ id: zod_1.z.string().describe('Unique driver identifier (e.g. "postgres")'),
29
+ label: zod_1.z.string().describe('Display label (e.g. "PostgreSQL")'),
30
+ description: zod_1.z.string().optional(),
31
+ icon: zod_1.z.string().optional(),
32
+ /**
33
+ * Configuration Schema (JSON Schema)
34
+ * Describes the structure of the `config` object needed for this driver.
35
+ * Used by the UI to generate the connection form.
36
+ */
37
+ configSchema: zod_1.z.record(zod_1.z.any()).describe('JSON Schema for connection configuration'),
38
+ /**
39
+ * Default Capabilities
40
+ * What this driver supports out-of-the-box.
41
+ */
42
+ capabilities: zod_1.z.lazy(() => exports.DatasourceCapabilities).optional(),
43
+ });
16
44
  /**
17
45
  * Datasource Capabilities Schema
18
46
  * Declares what this datasource naturally supports.
@@ -0,0 +1,174 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * API Capabilities Schema
4
+ * Defines what features are enabled on this ObjectOS instance.
5
+ */
6
+ export declare const ApiCapabilitiesSchema: z.ZodObject<{
7
+ graphql: z.ZodDefault<z.ZodBoolean>;
8
+ search: z.ZodDefault<z.ZodBoolean>;
9
+ websockets: z.ZodDefault<z.ZodBoolean>;
10
+ files: z.ZodDefault<z.ZodBoolean>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ search: boolean;
13
+ files: boolean;
14
+ graphql: boolean;
15
+ websockets: boolean;
16
+ }, {
17
+ search?: boolean | undefined;
18
+ files?: boolean | undefined;
19
+ graphql?: boolean | undefined;
20
+ websockets?: boolean | undefined;
21
+ }>;
22
+ /**
23
+ * API Routes Schema
24
+ * The "Map" for the frontend to know where to send requests.
25
+ * This decouples the frontend from hardcoded URL paths.
26
+ */
27
+ export declare const ApiRoutesSchema: z.ZodObject<{
28
+ /** Base URL for Object CRUD (Standard Data API) */
29
+ data: z.ZodString;
30
+ /** Base URL for Schema Definitions (Metadata API) */
31
+ metadata: z.ZodString;
32
+ /** Base URL for Authentication */
33
+ auth: z.ZodString;
34
+ /** Base URL for Server Actions/Flows */
35
+ actions: z.ZodOptional<z.ZodString>;
36
+ /** Base URL for File/Storage operations */
37
+ storage: z.ZodOptional<z.ZodString>;
38
+ /** GraphQL Endpoint (if enabled) */
39
+ graphql: z.ZodOptional<z.ZodString>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ data: string;
42
+ metadata: string;
43
+ auth: string;
44
+ actions?: string | undefined;
45
+ graphql?: string | undefined;
46
+ storage?: string | undefined;
47
+ }, {
48
+ data: string;
49
+ metadata: string;
50
+ auth: string;
51
+ actions?: string | undefined;
52
+ graphql?: string | undefined;
53
+ storage?: string | undefined;
54
+ }>;
55
+ /**
56
+ * Discovery Response Schema
57
+ * The root object returned by the Metadata Discovery Endpoint.
58
+ */
59
+ export declare const DiscoverySchema: z.ZodObject<{
60
+ /** System Identity */
61
+ name: z.ZodString;
62
+ version: z.ZodString;
63
+ environment: z.ZodEnum<["production", "sandbox", "development"]>;
64
+ /** Dynamic Routing */
65
+ routes: z.ZodObject<{
66
+ /** Base URL for Object CRUD (Standard Data API) */
67
+ data: z.ZodString;
68
+ /** Base URL for Schema Definitions (Metadata API) */
69
+ metadata: z.ZodString;
70
+ /** Base URL for Authentication */
71
+ auth: z.ZodString;
72
+ /** Base URL for Server Actions/Flows */
73
+ actions: z.ZodOptional<z.ZodString>;
74
+ /** Base URL for File/Storage operations */
75
+ storage: z.ZodOptional<z.ZodString>;
76
+ /** GraphQL Endpoint (if enabled) */
77
+ graphql: z.ZodOptional<z.ZodString>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ data: string;
80
+ metadata: string;
81
+ auth: string;
82
+ actions?: string | undefined;
83
+ graphql?: string | undefined;
84
+ storage?: string | undefined;
85
+ }, {
86
+ data: string;
87
+ metadata: string;
88
+ auth: string;
89
+ actions?: string | undefined;
90
+ graphql?: string | undefined;
91
+ storage?: string | undefined;
92
+ }>;
93
+ /** Feature Flags */
94
+ features: z.ZodObject<{
95
+ graphql: z.ZodDefault<z.ZodBoolean>;
96
+ search: z.ZodDefault<z.ZodBoolean>;
97
+ websockets: z.ZodDefault<z.ZodBoolean>;
98
+ files: z.ZodDefault<z.ZodBoolean>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ search: boolean;
101
+ files: boolean;
102
+ graphql: boolean;
103
+ websockets: boolean;
104
+ }, {
105
+ search?: boolean | undefined;
106
+ files?: boolean | undefined;
107
+ graphql?: boolean | undefined;
108
+ websockets?: boolean | undefined;
109
+ }>;
110
+ /** Localization Info (helping frontend init i18n) */
111
+ locale: z.ZodObject<{
112
+ default: z.ZodString;
113
+ supported: z.ZodArray<z.ZodString, "many">;
114
+ timezone: z.ZodString;
115
+ }, "strip", z.ZodTypeAny, {
116
+ default: string;
117
+ supported: string[];
118
+ timezone: string;
119
+ }, {
120
+ default: string;
121
+ supported: string[];
122
+ timezone: string;
123
+ }>;
124
+ }, "strip", z.ZodTypeAny, {
125
+ name: string;
126
+ version: string;
127
+ locale: {
128
+ default: string;
129
+ supported: string[];
130
+ timezone: string;
131
+ };
132
+ features: {
133
+ search: boolean;
134
+ files: boolean;
135
+ graphql: boolean;
136
+ websockets: boolean;
137
+ };
138
+ environment: "production" | "sandbox" | "development";
139
+ routes: {
140
+ data: string;
141
+ metadata: string;
142
+ auth: string;
143
+ actions?: string | undefined;
144
+ graphql?: string | undefined;
145
+ storage?: string | undefined;
146
+ };
147
+ }, {
148
+ name: string;
149
+ version: string;
150
+ locale: {
151
+ default: string;
152
+ supported: string[];
153
+ timezone: string;
154
+ };
155
+ features: {
156
+ search?: boolean | undefined;
157
+ files?: boolean | undefined;
158
+ graphql?: boolean | undefined;
159
+ websockets?: boolean | undefined;
160
+ };
161
+ environment: "production" | "sandbox" | "development";
162
+ routes: {
163
+ data: string;
164
+ metadata: string;
165
+ auth: string;
166
+ actions?: string | undefined;
167
+ graphql?: string | undefined;
168
+ storage?: string | undefined;
169
+ };
170
+ }>;
171
+ export type DiscoveryResponse = z.infer<typeof DiscoverySchema>;
172
+ export type ApiRoutes = z.infer<typeof ApiRoutesSchema>;
173
+ export type ApiCapabilities = z.infer<typeof ApiCapabilitiesSchema>;
174
+ //# sourceMappingURL=discovery.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.zod.d.ts","sourceRoot":"","sources":["../../src/system/discovery.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC1B,mDAAmD;;IAGnD,qDAAqD;;IAGrD,kCAAkC;;IAGlC,wCAAwC;;IAGxC,2CAA2C;;IAG3C,oCAAoC;;;;;;;;;;;;;;;;EAEpC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;IAC1B,sBAAsB;;;;IAKtB,sBAAsB;;QA7BtB,mDAAmD;;QAGnD,qDAAqD;;QAGrD,kCAAkC;;QAGlC,wCAAwC;;QAGxC,2CAA2C;;QAG3C,oCAAoC;;;;;;;;;;;;;;;;;IAiBpC,oBAAoB;;;;;;;;;;;;;;;;;IAGpB,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrD,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiscoverySchema = exports.ApiRoutesSchema = exports.ApiCapabilitiesSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * API Capabilities Schema
7
+ * Defines what features are enabled on this ObjectOS instance.
8
+ */
9
+ exports.ApiCapabilitiesSchema = zod_1.z.object({
10
+ graphql: zod_1.z.boolean().default(false),
11
+ search: zod_1.z.boolean().default(false),
12
+ websockets: zod_1.z.boolean().default(false),
13
+ files: zod_1.z.boolean().default(true),
14
+ });
15
+ /**
16
+ * API Routes Schema
17
+ * The "Map" for the frontend to know where to send requests.
18
+ * This decouples the frontend from hardcoded URL paths.
19
+ */
20
+ exports.ApiRoutesSchema = zod_1.z.object({
21
+ /** Base URL for Object CRUD (Standard Data API) */
22
+ data: zod_1.z.string().describe('e.g. /api/v1/data'),
23
+ /** Base URL for Schema Definitions (Metadata API) */
24
+ metadata: zod_1.z.string().describe('e.g. /api/v1/meta'),
25
+ /** Base URL for Authentication */
26
+ auth: zod_1.z.string().describe('e.g. /api/v1/auth'),
27
+ /** Base URL for Server Actions/Flows */
28
+ actions: zod_1.z.string().optional().describe('e.g. /api/v1/p'),
29
+ /** Base URL for File/Storage operations */
30
+ storage: zod_1.z.string().optional().describe('e.g. /api/v1/storage'),
31
+ /** GraphQL Endpoint (if enabled) */
32
+ graphql: zod_1.z.string().optional().describe('e.g. /api/v1/graphql'),
33
+ });
34
+ /**
35
+ * Discovery Response Schema
36
+ * The root object returned by the Metadata Discovery Endpoint.
37
+ */
38
+ exports.DiscoverySchema = zod_1.z.object({
39
+ /** System Identity */
40
+ name: zod_1.z.string(),
41
+ version: zod_1.z.string(),
42
+ environment: zod_1.z.enum(['production', 'sandbox', 'development']),
43
+ /** Dynamic Routing */
44
+ routes: exports.ApiRoutesSchema,
45
+ /** Feature Flags */
46
+ features: exports.ApiCapabilitiesSchema,
47
+ /** Localization Info (helping frontend init i18n) */
48
+ locale: zod_1.z.object({
49
+ default: zod_1.z.string(),
50
+ supported: zod_1.z.array(zod_1.z.string()),
51
+ timezone: zod_1.z.string(),
52
+ }),
53
+ });