@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.zod.d.ts","sourceRoot":"","sources":["../../src/api/contract.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAMH,eAAO,MAAM,gBAAgB,oCAA6D,CAAC;AAE3F;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAErC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiContracts = exports.DeleteResponseSchema = exports.BulkResponseSchema = exports.ModificationResultSchema = exports.ListRecordResponseSchema = exports.SingleRecordResponseSchema = exports.ExportRequestSchema = exports.BulkRequestSchema = exports.UpdateRequestSchema = exports.CreateRequestSchema = exports.RecordDataSchema = exports.BaseResponseSchema = exports.ApiErrorSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const query_zod_1 = require("../data/query.zod");
6
+ // ==========================================
7
+ // 1. Base Envelopes
8
+ // ==========================================
9
+ exports.ApiErrorSchema = zod_1.z.object({
10
+ code: zod_1.z.string().describe('Error code (e.g. validation_error)'),
11
+ message: zod_1.z.string().describe('Readable error message'),
12
+ details: zod_1.z.any().optional().describe('Additional error context (e.g. field validation errors)'),
13
+ });
14
+ exports.BaseResponseSchema = zod_1.z.object({
15
+ success: zod_1.z.boolean().describe('Operation success status'),
16
+ error: exports.ApiErrorSchema.optional().describe('Error details if success is false'),
17
+ meta: zod_1.z.object({
18
+ timestamp: zod_1.z.string(),
19
+ duration: zod_1.z.number().optional(),
20
+ requestId: zod_1.z.string().optional(),
21
+ traceId: zod_1.z.string().optional(),
22
+ }).optional().describe('Response metadata'),
23
+ });
24
+ // ==========================================
25
+ // 2. Request Payloads (Inputs)
26
+ // ==========================================
27
+ exports.RecordDataSchema = zod_1.z.record(zod_1.z.any()).describe('Key-value map of record data');
28
+ /**
29
+ * Standard Create Request
30
+ */
31
+ exports.CreateRequestSchema = zod_1.z.object({
32
+ data: exports.RecordDataSchema.describe('Record data to insert'),
33
+ });
34
+ /**
35
+ * Standard Update Request
36
+ */
37
+ exports.UpdateRequestSchema = zod_1.z.object({
38
+ data: exports.RecordDataSchema.describe('Partial record data to update'),
39
+ });
40
+ /**
41
+ * Standard Bulk Request
42
+ */
43
+ exports.BulkRequestSchema = zod_1.z.object({
44
+ records: zod_1.z.array(exports.RecordDataSchema).describe('Array of records to process'),
45
+ allOrNone: zod_1.z.boolean().default(true).describe('If true, rollback entire transaction on any failure'),
46
+ });
47
+ /**
48
+ * Export Request
49
+ */
50
+ exports.ExportRequestSchema = query_zod_1.QuerySchema.extend({
51
+ format: zod_1.z.enum(['csv', 'json', 'xlsx']).default('csv'),
52
+ });
53
+ // ==========================================
54
+ // 3. Response Payloads (Outputs)
55
+ // ==========================================
56
+ /**
57
+ * Single Record Response (Get/Create/Update)
58
+ */
59
+ exports.SingleRecordResponseSchema = exports.BaseResponseSchema.extend({
60
+ data: exports.RecordDataSchema.describe('The requested or modified record'),
61
+ });
62
+ /**
63
+ * List/Query Response
64
+ */
65
+ exports.ListRecordResponseSchema = exports.BaseResponseSchema.extend({
66
+ data: zod_1.z.array(exports.RecordDataSchema).describe('Array of matching records'),
67
+ pagination: zod_1.z.object({
68
+ total: zod_1.z.number().describe('Total matching records count'),
69
+ limit: zod_1.z.number().describe('Page size'),
70
+ offset: zod_1.z.number().describe('Page offset'),
71
+ hasMore: zod_1.z.boolean().describe('Are there more pages?'),
72
+ }).describe('Pagination info'),
73
+ });
74
+ /**
75
+ * Modification Result (for Batch/Bulk operations)
76
+ */
77
+ exports.ModificationResultSchema = zod_1.z.object({
78
+ id: zod_1.z.string().optional().describe('Record ID if processed'),
79
+ success: zod_1.z.boolean(),
80
+ errors: zod_1.z.array(exports.ApiErrorSchema).optional(),
81
+ });
82
+ /**
83
+ * Bulk Operation Response
84
+ */
85
+ exports.BulkResponseSchema = exports.BaseResponseSchema.extend({
86
+ data: zod_1.z.array(exports.ModificationResultSchema).describe('Results for each item in the batch'),
87
+ });
88
+ /**
89
+ * Delete Response
90
+ */
91
+ exports.DeleteResponseSchema = exports.BaseResponseSchema.extend({
92
+ id: zod_1.z.string().describe('ID of the deleted record'),
93
+ });
94
+ // ==========================================
95
+ // 4. API Contract Registry
96
+ // ==========================================
97
+ /**
98
+ * Standard API Contracts map
99
+ * Used for generating SDKs and Documentation
100
+ */
101
+ exports.ApiContracts = {
102
+ create: {
103
+ input: exports.CreateRequestSchema,
104
+ output: exports.SingleRecordResponseSchema
105
+ },
106
+ update: {
107
+ input: exports.UpdateRequestSchema,
108
+ output: exports.SingleRecordResponseSchema
109
+ },
110
+ delete: {
111
+ input: zod_1.z.object({}), // usually just ID in URL
112
+ output: exports.DeleteResponseSchema
113
+ },
114
+ get: {
115
+ input: zod_1.z.object({}), // usually just ID in URL
116
+ output: exports.SingleRecordResponseSchema
117
+ },
118
+ list: {
119
+ input: query_zod_1.QuerySchema,
120
+ output: exports.ListRecordResponseSchema
121
+ },
122
+ bulkCreate: {
123
+ input: exports.BulkRequestSchema,
124
+ output: exports.BulkResponseSchema
125
+ },
126
+ bulkUpdate: {
127
+ input: exports.BulkRequestSchema,
128
+ output: exports.BulkResponseSchema
129
+ },
130
+ bulkUpsert: {
131
+ input: exports.BulkRequestSchema,
132
+ output: exports.BulkResponseSchema
133
+ },
134
+ bulkDelete: {
135
+ input: zod_1.z.object({ ids: zod_1.z.array(zod_1.z.string()) }),
136
+ output: exports.BulkResponseSchema
137
+ }
138
+ };
@@ -45,14 +45,14 @@ export declare const DatasetSchema: z.ZodObject<{
45
45
  }, "strip", z.ZodTypeAny, {
46
46
  object: string;
47
47
  externalId: string;
48
- mode: "insert" | "update" | "upsert" | "replace" | "ignore";
48
+ mode: "update" | "upsert" | "insert" | "replace" | "ignore";
49
49
  env: ("prod" | "dev" | "test")[];
50
50
  records: Record<string, any>[];
51
51
  }, {
52
52
  object: string;
53
53
  records: Record<string, any>[];
54
54
  externalId?: string | undefined;
55
- mode?: "insert" | "update" | "upsert" | "replace" | "ignore" | undefined;
55
+ mode?: "update" | "upsert" | "insert" | "replace" | "ignore" | undefined;
56
56
  env?: ("prod" | "dev" | "test")[] | undefined;
57
57
  }>;
58
58
  export type Dataset = z.infer<typeof DatasetSchema>;