@oneclick.dev/cms-core-modules 0.0.122 → 0.0.124

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 (162) hide show
  1. package/dist/{ContentEditor-CoJjsV-m.js → ContentEditor-BcIUumah.js} +63 -59
  2. package/dist/{ContentEditor-DIwqplfB.mjs → ContentEditor-DX1bTQKs.mjs} +27894 -26319
  3. package/dist/{Detail-Dk8E6_uF.mjs → Detail-B7pe808q.mjs} +15 -14
  4. package/dist/Detail-BESGmY7z.js +1 -0
  5. package/dist/{Detail-Cn9Bk0u0.mjs → Detail-B_Q7Qkuz.mjs} +26 -25
  6. package/dist/Detail-CNiLIEh9.js +1 -0
  7. package/dist/{Detail-B_scnidb.mjs → Detail-DNxAzeCs.mjs} +35 -34
  8. package/dist/Detail-t3tOcy3X.js +1 -0
  9. package/dist/Editor-D4evcdhv.mjs +768 -0
  10. package/dist/Editor-gLLtuJbY.js +1 -0
  11. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-BjKpsqT9.js +1 -0
  12. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-D5v5AhLe.mjs +76 -0
  13. package/dist/Knowledge-B66vxz--.js +1 -0
  14. package/dist/Knowledge-BnMTTuJ7.mjs +742 -0
  15. package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-bZidw6RT.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-8I_Z9cD_.mjs} +530 -530
  16. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BVE_uURZ.js +1 -0
  17. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BdFa-xNf.mjs +3566 -0
  18. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DzPOadcU.js +925 -0
  19. package/dist/Overview-BE4uYPx0.mjs +745 -0
  20. package/dist/Overview-CQRpFhbJ.mjs +286 -0
  21. package/dist/Overview-CTs7sX4d.js +1 -0
  22. package/dist/Overview-Cj89XXKN.js +1 -0
  23. package/dist/Overview-D_c18mbR.mjs +248 -0
  24. package/dist/Overview-g4Rcj245.js +1 -0
  25. package/dist/TableCalculationWidget-CkQPrVUd.js +59 -0
  26. package/dist/TableCalculationWidget-CrqcLGfU.mjs +254 -0
  27. package/dist/TableDataWidget-7qvC3Egd.js +1 -0
  28. package/dist/TableDataWidget-DMTSoGRO.mjs +121 -0
  29. package/dist/TableOverviewCard-AFq-puJs.js +1 -0
  30. package/dist/TableOverviewCard-Ci0d4o4w.mjs +391 -0
  31. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +534 -0
  32. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +1 -0
  33. package/dist/TableRowActionCard-BhdnnPaq.mjs +266 -0
  34. package/dist/TableRowActionCard-IzB6tNN-.js +1 -0
  35. package/dist/TableView-6mdrL3zx.js +4 -0
  36. package/dist/TableView-Du5nOE6R.mjs +8228 -0
  37. package/dist/Test-CzmOmi53.mjs +447 -0
  38. package/dist/Test-USDtNFY1.js +1 -0
  39. package/dist/UserDetail-DpUL3mhk.mjs +1483 -0
  40. package/dist/UserDetail-KRIfxaYd.js +1 -0
  41. package/dist/{agenda-BCKDYOeF.mjs → agenda-DWdbWUbb.mjs} +10 -9
  42. package/dist/agenda-r9Gl85GL.js +1 -0
  43. package/dist/cms-core-modules.css +1 -1
  44. package/dist/dateRangePresets-B-l5b_wR.mjs +48 -0
  45. package/dist/dateRangePresets-CPWqst_x.js +1 -0
  46. package/dist/fuse-Deb-Iq39.mjs +1473 -0
  47. package/dist/fuse-_CGUd5Zq.js +1 -0
  48. package/dist/{index-DU3Ib10Z.mjs → index-B_qaX29C.mjs} +7 -6
  49. package/dist/index-CQuN5rKx.js +1 -0
  50. package/dist/index-CnDGeInm.js +1 -0
  51. package/dist/index-CqDTc5Ig.mjs +20 -0
  52. package/dist/index-CyvvAdt4.js +1 -0
  53. package/dist/index-DIRD7t5_.mjs +20 -0
  54. package/dist/index-OJuBYR60.mjs +57 -0
  55. package/dist/{index-Bk3yLv_G.js → index-yHLT6gaZ.js} +3 -3
  56. package/dist/index.cjs.js +1 -1
  57. package/dist/index.mjs +671 -118
  58. package/dist/{orders-CElKNc1v.mjs → orders-BfTLIm7U.mjs} +10 -9
  59. package/dist/orders-DUa2PVoa.js +1 -0
  60. package/dist/reports-ChCsd1Gk.mjs +1107 -0
  61. package/dist/reports-DmJPm8uP.js +158 -0
  62. package/dist/row-item-C1dUyimV.mjs +204 -0
  63. package/dist/row-item-Cyo3m3MZ.js +1 -0
  64. package/dist/server-handlers.cjs.js +1 -1
  65. package/dist/server-handlers.mjs +1764 -605
  66. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +9 -3
  67. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +2 -0
  68. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +4 -2
  69. package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +9 -3
  70. package/dist/src/appointments/pages/edit/orders.vue.d.ts +9 -3
  71. package/dist/src/appointments/pages/edit/reports.vue.d.ts +229 -1
  72. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.d.ts +1 -1
  73. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.d.ts +7 -0
  74. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.d.ts +7 -0
  75. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/resizeHistory.d.ts +9 -0
  76. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +3 -1
  77. package/dist/src/firebaseAuthManager/components/DeleteUserDialog.vue.d.ts +25 -0
  78. package/dist/src/firebaseAuthManager/components/ReasonActionDialog.vue.d.ts +23 -0
  79. package/dist/src/firebaseAuthManager/components/UserStatusBadge.vue.d.ts +5 -0
  80. package/dist/src/firebaseAuthManager/config.d.ts +151 -0
  81. package/dist/src/firebaseAuthManager/index.d.ts +163 -0
  82. package/dist/src/firebaseAuthManager/index.vue.d.ts +14 -0
  83. package/dist/src/firebaseAuthManager/metadata.d.ts +2 -0
  84. package/dist/src/firebaseAuthManager/pages/Overview.vue.d.ts +2 -0
  85. package/dist/src/firebaseAuthManager/pages/UserDetail.vue.d.ts +2 -0
  86. package/dist/src/firebaseAuthManager/permissions.d.ts +5 -0
  87. package/dist/src/firebaseAuthManager/routes.d.ts +5 -0
  88. package/dist/src/firebaseAuthManager/server.d.ts +162 -0
  89. package/dist/src/firebaseAuthManager/types.d.ts +84 -0
  90. package/dist/src/formBuilder/components/FormPreviewDialog.vue.d.ts +12 -0
  91. package/dist/src/formBuilder/components/FormStatusBadge.vue.d.ts +9 -0
  92. package/dist/src/formBuilder/config.d.ts +31 -0
  93. package/dist/src/formBuilder/index.d.ts +44 -0
  94. package/dist/src/formBuilder/index.vue.d.ts +14 -0
  95. package/dist/src/formBuilder/lib/forms.d.ts +11 -0
  96. package/dist/src/formBuilder/metadata.d.ts +2 -0
  97. package/dist/src/formBuilder/pages/Editor.vue.d.ts +2 -0
  98. package/dist/src/formBuilder/pages/Overview.vue.d.ts +2 -0
  99. package/dist/src/formBuilder/permissions.d.ts +5 -0
  100. package/dist/src/formBuilder/routes.d.ts +5 -0
  101. package/dist/src/formBuilder/server.d.ts +87 -0
  102. package/dist/src/formBuilder/tools.d.ts +1 -0
  103. package/dist/src/formBuilder/types.d.ts +46 -0
  104. package/dist/src/helpbot/composables/useHelpbotApi.d.ts +18 -0
  105. package/dist/src/helpbot/config.d.ts +17 -0
  106. package/dist/src/helpbot/index.d.ts +29 -0
  107. package/dist/src/helpbot/index.vue.d.ts +2 -0
  108. package/dist/src/helpbot/metadata.d.ts +2 -0
  109. package/dist/src/helpbot/pages/Knowledge.vue.d.ts +4 -0
  110. package/dist/src/helpbot/pages/Overview.vue.d.ts +2 -0
  111. package/dist/src/helpbot/pages/Test.vue.d.ts +4 -0
  112. package/dist/src/helpbot/permissions.d.ts +5 -0
  113. package/dist/src/helpbot/routes.d.ts +5 -0
  114. package/dist/src/helpbot/types.d.ts +42 -0
  115. package/dist/src/index.d.ts +3 -0
  116. package/dist/src/server-handlers.d.ts +2 -0
  117. package/dist/src/table/chat-components/TableCalculationWidget.vue.d.ts +15 -0
  118. package/dist/src/table/chat-components/TableDataWidget.vue.d.ts +15 -0
  119. package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +61 -0
  120. package/dist/src/table/chat-components/TableResultView.vue.d.ts +48 -0
  121. package/dist/src/table/chat-components/TableRowActionCard.vue.d.ts +15 -0
  122. package/dist/src/table/components/filters/DialogTableFilterOptionItem.vue.d.ts +16 -0
  123. package/dist/src/table/components/filters/NumberComparisonFilter.vue.d.ts +12 -0
  124. package/dist/src/table/components/filters/NumberComparisonFilterSettings.vue.d.ts +12 -0
  125. package/dist/src/table/components/filters/NumberRangeFilter.vue.d.ts +12 -0
  126. package/dist/src/table/components/filters/NumberRangeFilterSettings.vue.d.ts +12 -0
  127. package/dist/src/table/components/filters/filter-utils.d.ts +14 -0
  128. package/dist/src/table/composables/useTableAgentTools.d.ts +33 -0
  129. package/dist/src/table/index.d.ts +339 -0
  130. package/dist/src/table/tool-sandbox.d.ts +13 -0
  131. package/dist/src/table/tool-utils.d.ts +11 -0
  132. package/dist/src/table/tools.d.ts +333 -1
  133. package/dist/src/table/types.d.ts +79 -0
  134. package/dist/tool-sandbox-DdkMLkDK.mjs +182 -0
  135. package/dist/tool-sandbox-DoF1PsyS.js +115 -0
  136. package/dist/types-9N-DKxNj.mjs +250 -0
  137. package/dist/types-BMraG1kN.js +1 -0
  138. package/dist/types-Cem0vPo_.js +1 -0
  139. package/dist/types-ibC3-e1N.mjs +2630 -0
  140. package/dist/useHelpbotApi-BIIungOh.js +1 -0
  141. package/dist/useHelpbotApi-HC9JSiSn.mjs +229 -0
  142. package/dist/useTableAgentTools-D5mzGf3A.js +1 -0
  143. package/dist/useTableAgentTools-DcN3kYRL.mjs +131 -0
  144. package/dist/vee-validate-zod-BQElPD0m.js +1 -0
  145. package/dist/vee-validate-zod-CN16K2x9.mjs +1780 -0
  146. package/package.json +17 -17
  147. package/src/formBuilder/tools.ts +1 -0
  148. package/src/table/tools.ts +304 -1
  149. package/dist/Detail-BCUUNWvp.js +0 -1
  150. package/dist/Detail-DGg_xXZc.js +0 -1
  151. package/dist/Detail-Sc2qZdxj.js +0 -1
  152. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BdZbcubW.js +0 -1
  153. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +0 -925
  154. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +0 -5021
  155. package/dist/TableView-Ctnep-Qu.mjs +0 -6247
  156. package/dist/TableView-DJqyJL9L.js +0 -4
  157. package/dist/agenda-B54F8cEr.js +0 -1
  158. package/dist/orders-BMosTk6r.js +0 -1
  159. package/dist/reports-BQT_GZzU.js +0 -158
  160. package/dist/reports-DksZCTOw.mjs +0 -837
  161. package/dist/vee-validate-zod-SjDT8X35.mjs +0 -4404
  162. package/dist/vee-validate-zod-VCmLnrtQ.js +0 -1
@@ -1 +1,333 @@
1
- export declare const tools: never[];
1
+ export declare const tools: ({
2
+ name: string;
3
+ description: string;
4
+ executionMode: string;
5
+ chatComponent: string;
6
+ parameters: {
7
+ type: string;
8
+ properties: {
9
+ sampleLimit: {
10
+ type: string;
11
+ description: string;
12
+ default: number;
13
+ minimum: number;
14
+ maximum: number;
15
+ };
16
+ startDate?: undefined;
17
+ endDate?: undefined;
18
+ dateProperty?: undefined;
19
+ useDefaultDateRange?: undefined;
20
+ filters?: undefined;
21
+ sortBy?: undefined;
22
+ sortDirection?: undefined;
23
+ columns?: undefined;
24
+ limit?: undefined;
25
+ title?: undefined;
26
+ view?: undefined;
27
+ operation?: undefined;
28
+ property?: undefined;
29
+ groupBy?: undefined;
30
+ code?: undefined;
31
+ precision?: undefined;
32
+ action?: undefined;
33
+ match?: undefined;
34
+ confirmationMessage?: undefined;
35
+ };
36
+ required: never[];
37
+ additionalProperties: boolean;
38
+ };
39
+ } | {
40
+ name: string;
41
+ description: string;
42
+ executionMode: string;
43
+ chatComponent: string;
44
+ parameters: {
45
+ type: string;
46
+ properties: {
47
+ startDate: {
48
+ type: string;
49
+ format: string;
50
+ description: string;
51
+ };
52
+ endDate: {
53
+ type: string;
54
+ format: string;
55
+ description: string;
56
+ };
57
+ dateProperty: {
58
+ type: string;
59
+ description: string;
60
+ };
61
+ useDefaultDateRange: {
62
+ type: string;
63
+ description: string;
64
+ default: boolean;
65
+ };
66
+ filters: {
67
+ type: string;
68
+ description: string;
69
+ default: never[];
70
+ items: {
71
+ type: string;
72
+ properties: {
73
+ property: {
74
+ type: string;
75
+ description: string;
76
+ };
77
+ operator: {
78
+ type: string;
79
+ enum: string[];
80
+ description: string;
81
+ };
82
+ value: {
83
+ description: string;
84
+ anyOf: {
85
+ type: string;
86
+ }[];
87
+ };
88
+ values: {
89
+ type: string;
90
+ description: string;
91
+ items: {
92
+ anyOf: {
93
+ type: string;
94
+ }[];
95
+ };
96
+ };
97
+ };
98
+ required: string[];
99
+ additionalProperties: boolean;
100
+ };
101
+ };
102
+ sortBy: {
103
+ type: string;
104
+ description: string;
105
+ };
106
+ sortDirection: {
107
+ type: string;
108
+ enum: string[];
109
+ description: string;
110
+ default: string;
111
+ };
112
+ columns: {
113
+ type: string;
114
+ description: string;
115
+ items: {
116
+ type: string;
117
+ };
118
+ uniqueItems: boolean;
119
+ };
120
+ limit: {
121
+ type: string;
122
+ description: string;
123
+ default: number;
124
+ minimum: number;
125
+ maximum: number;
126
+ };
127
+ title: {
128
+ type: string;
129
+ description: string;
130
+ };
131
+ view: {
132
+ type: string;
133
+ enum: string[];
134
+ description: string;
135
+ default: string;
136
+ };
137
+ sampleLimit?: undefined;
138
+ operation?: undefined;
139
+ property?: undefined;
140
+ groupBy?: undefined;
141
+ code?: undefined;
142
+ precision?: undefined;
143
+ action?: undefined;
144
+ match?: undefined;
145
+ confirmationMessage?: undefined;
146
+ };
147
+ required: never[];
148
+ additionalProperties: boolean;
149
+ };
150
+ } | {
151
+ name: string;
152
+ description: string;
153
+ executionMode: string;
154
+ chatComponent: string;
155
+ parameters: {
156
+ type: string;
157
+ properties: {
158
+ startDate: {
159
+ type: string;
160
+ format: string;
161
+ description: string;
162
+ };
163
+ endDate: {
164
+ type: string;
165
+ format: string;
166
+ description: string;
167
+ };
168
+ dateProperty: {
169
+ type: string;
170
+ description: string;
171
+ };
172
+ useDefaultDateRange: {
173
+ type: string;
174
+ description: string;
175
+ default: boolean;
176
+ };
177
+ filters: {
178
+ type: string;
179
+ description: string;
180
+ default: never[];
181
+ items: {
182
+ type: string;
183
+ properties: {
184
+ property: {
185
+ type: string;
186
+ description: string;
187
+ };
188
+ operator: {
189
+ type: string;
190
+ enum: string[];
191
+ description: string;
192
+ };
193
+ value: {
194
+ description: string;
195
+ anyOf: {
196
+ type: string;
197
+ }[];
198
+ };
199
+ values: {
200
+ type: string;
201
+ description: string;
202
+ items: {
203
+ anyOf: {
204
+ type: string;
205
+ }[];
206
+ };
207
+ };
208
+ };
209
+ required: string[];
210
+ additionalProperties: boolean;
211
+ };
212
+ };
213
+ operation: {
214
+ type: string;
215
+ enum: string[];
216
+ description: string;
217
+ };
218
+ property: {
219
+ type: string;
220
+ description: string;
221
+ };
222
+ groupBy: {
223
+ type: string;
224
+ description: string;
225
+ };
226
+ code: {
227
+ type: string;
228
+ description: string;
229
+ };
230
+ title: {
231
+ type: string;
232
+ description: string;
233
+ };
234
+ precision: {
235
+ type: string;
236
+ description: string;
237
+ default: number;
238
+ minimum: number;
239
+ maximum: number;
240
+ };
241
+ view: {
242
+ type: string;
243
+ enum: string[];
244
+ description: string;
245
+ default: string;
246
+ };
247
+ sampleLimit?: undefined;
248
+ sortBy?: undefined;
249
+ sortDirection?: undefined;
250
+ columns?: undefined;
251
+ limit?: undefined;
252
+ action?: undefined;
253
+ match?: undefined;
254
+ confirmationMessage?: undefined;
255
+ };
256
+ required: string[];
257
+ additionalProperties: boolean;
258
+ };
259
+ } | {
260
+ name: string;
261
+ description: string;
262
+ executionMode: string;
263
+ chatComponent: string;
264
+ parameters: {
265
+ type: string;
266
+ properties: {
267
+ action: {
268
+ type: string;
269
+ description: string;
270
+ };
271
+ match: {
272
+ type: string;
273
+ description: string;
274
+ minItems: number;
275
+ items: {
276
+ type: string;
277
+ properties: {
278
+ property: {
279
+ type: string;
280
+ description: string;
281
+ };
282
+ value: {
283
+ description: string;
284
+ anyOf: {
285
+ type: string;
286
+ }[];
287
+ };
288
+ };
289
+ required: string[];
290
+ additionalProperties: boolean;
291
+ };
292
+ };
293
+ startDate: {
294
+ type: string;
295
+ format: string;
296
+ description: string;
297
+ };
298
+ endDate: {
299
+ type: string;
300
+ format: string;
301
+ description: string;
302
+ };
303
+ dateProperty: {
304
+ type: string;
305
+ description: string;
306
+ };
307
+ useDefaultDateRange: {
308
+ type: string;
309
+ description: string;
310
+ default: boolean;
311
+ };
312
+ confirmationMessage: {
313
+ type: string;
314
+ description: string;
315
+ };
316
+ sampleLimit?: undefined;
317
+ filters?: undefined;
318
+ sortBy?: undefined;
319
+ sortDirection?: undefined;
320
+ columns?: undefined;
321
+ limit?: undefined;
322
+ title?: undefined;
323
+ view?: undefined;
324
+ operation?: undefined;
325
+ property?: undefined;
326
+ groupBy?: undefined;
327
+ code?: undefined;
328
+ precision?: undefined;
329
+ };
330
+ required: string[];
331
+ additionalProperties: boolean;
332
+ };
333
+ })[];
@@ -0,0 +1,79 @@
1
+ export type TableColumnType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'URL' | 'email' | 'phone' | 'currency' | 'image' | 'array' | 'array-counter' | 'html';
2
+ export interface TableColumn {
3
+ id?: string;
4
+ property: string;
5
+ label: string;
6
+ type: TableColumnType | string;
7
+ visible: boolean;
8
+ _remove?: boolean;
9
+ [key: string]: any;
10
+ }
11
+ export type TableFilterType = 'multi-select' | 'number-range' | 'number-comparison';
12
+ export type TableFilterApplyMode = 'instant' | 'manual';
13
+ export type NumberComparisonOperator = 'equals' | 'not-equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal';
14
+ export interface BaseTableFilter {
15
+ id?: string;
16
+ type: TableFilterType;
17
+ property: string;
18
+ label: string;
19
+ applyMode?: TableFilterApplyMode;
20
+ }
21
+ export interface MultiSelectFilterOption {
22
+ id: string;
23
+ value: string;
24
+ label: string;
25
+ checked: boolean;
26
+ }
27
+ export interface MultiSelectTableFilter extends BaseTableFilter {
28
+ type: 'multi-select';
29
+ options: MultiSelectFilterOption[];
30
+ }
31
+ export interface NumberRangeTableFilter extends BaseTableFilter {
32
+ type: 'number-range';
33
+ min?: number;
34
+ max?: number;
35
+ step?: number;
36
+ defaultMin?: number;
37
+ defaultMax?: number;
38
+ prefix?: string;
39
+ suffix?: string;
40
+ locale?: string;
41
+ showSlider?: boolean;
42
+ showInputs?: boolean;
43
+ showHistogram?: boolean;
44
+ histogramBins?: number;
45
+ allowOpenMin?: boolean;
46
+ allowOpenMax?: boolean;
47
+ inclusive?: boolean;
48
+ }
49
+ export interface NumberComparisonTableFilter extends BaseTableFilter {
50
+ type: 'number-comparison';
51
+ operators?: NumberComparisonOperator[];
52
+ defaultOperator?: NumberComparisonOperator;
53
+ defaultValue?: number | null;
54
+ step?: number;
55
+ prefix?: string;
56
+ suffix?: string;
57
+ }
58
+ export type NumberRangeFilter = NumberRangeTableFilter;
59
+ export type NumberComparisonFilter = NumberComparisonTableFilter;
60
+ export type TableFilter = MultiSelectTableFilter | NumberRangeTableFilter | NumberComparisonTableFilter;
61
+ export interface NumberRangeFilterValue {
62
+ min: number | null;
63
+ max: number | null;
64
+ }
65
+ export interface NumberComparisonFilterValue {
66
+ operator: NumberComparisonOperator;
67
+ value: number;
68
+ }
69
+ export type TableFilterOperator = '==' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'in' | 'notIn' | 'isEmpty' | 'isNotEmpty';
70
+ export interface TableToolFilter {
71
+ property: string;
72
+ operator: TableFilterOperator | string;
73
+ value?: any;
74
+ values?: any[];
75
+ }
76
+ export interface TableRowMatch {
77
+ property: string;
78
+ value: string | number | boolean | null;
79
+ }
@@ -0,0 +1,182 @@
1
+ import { s as p } from "./TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs";
2
+ const E = 1500, S = 8 * 1024 * 1024, _ = 256 * 1024, g = 2e4, M = String.raw`
3
+ 'use strict';
4
+
5
+ const nativePostMessage = self.postMessage.bind(self);
6
+ const nativeStringify = JSON.stringify.bind(JSON);
7
+ const nativeParse = JSON.parse.bind(JSON);
8
+ const NativeWeakSet = WeakSet;
9
+ const nativeEncoder = new TextEncoder();
10
+ const nativeEncode = nativeEncoder.encode.bind(nativeEncoder);
11
+ const arrayBufferByteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get;
12
+ const nativeBufferByteLength = Function.prototype.call.bind(arrayBufferByteLengthGetter);
13
+
14
+ function encodedByteLength(value) {
15
+ return nativeBufferByteLength(nativeEncode(value).buffer);
16
+ }
17
+
18
+ function safeResult(value, maxBytes) {
19
+ const seen = new NativeWeakSet();
20
+ const serialized = nativeStringify(value, (key, nested) => {
21
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') return undefined;
22
+ if (typeof nested === 'bigint') return String(nested);
23
+ if (nested instanceof Date) return nested.toISOString();
24
+ if (nested && typeof nested === 'object') {
25
+ if (seen.has(nested)) return '[Circular]';
26
+ seen.add(nested);
27
+ }
28
+ return nested;
29
+ });
30
+ if (serialized === undefined) throw new Error('The calculation returned undefined or a non-serializable value.');
31
+ if (encodedByteLength(serialized) > maxBytes) {
32
+ throw new Error('The calculation result is too large. Return a smaller summary or fewer rows.');
33
+ }
34
+ return nativeParse(serialized);
35
+ }
36
+
37
+ self.onmessage = async event => {
38
+ const message = event.data || {};
39
+ if (message.type !== 'run' || typeof message.token !== 'string') return;
40
+ const token = message.token;
41
+
42
+ try {
43
+ for (const name of ['fetch', 'XMLHttpRequest', 'WebSocket', 'EventSource', 'importScripts', 'Worker', 'SharedWorker']) {
44
+ try {
45
+ Object.defineProperty(self, name, { value: undefined, writable: false, configurable: false });
46
+ } catch {}
47
+ }
48
+
49
+ const args = message.args && typeof message.args === 'object' ? message.args : {};
50
+ const keys = Object.keys(args);
51
+ if (!keys.every(key => /^[$A-Z_][0-9A-Z_$]*$/i.test(key) && !['constructor', 'prototype', '__proto__'].includes(key))) {
52
+ throw new Error('The calculation contains an invalid argument name.');
53
+ }
54
+
55
+ const calculate = Function(...keys, "'use strict';\n" + message.code);
56
+ const result = await Promise.resolve(calculate(...keys.map(key => args[key])));
57
+ nativePostMessage({
58
+ type: 'result',
59
+ token,
60
+ ok: true,
61
+ result: safeResult(result, message.maxOutputBytes),
62
+ });
63
+ } catch (error) {
64
+ nativePostMessage({
65
+ type: 'result',
66
+ token,
67
+ ok: false,
68
+ error: String(error && error.message ? error.message : error).slice(0, 500),
69
+ });
70
+ }
71
+ };
72
+ `, T = String.raw`
73
+ 'use strict';
74
+ const workerSource = __WORKER_SOURCE__;
75
+
76
+ window.addEventListener('message', event => {
77
+ const message = event.data || {};
78
+ if (event.source !== parent || message.type !== 'table-sandbox-run' || typeof message.token !== 'string') return;
79
+
80
+ const workerUrl = URL.createObjectURL(new Blob([workerSource], { type: 'text/javascript' }));
81
+ const worker = new Worker(workerUrl);
82
+ URL.revokeObjectURL(workerUrl);
83
+ let finished = false;
84
+
85
+ const finish = payload => {
86
+ if (finished) return;
87
+ finished = true;
88
+ clearTimeout(timer);
89
+ worker.terminate();
90
+ parent.postMessage({ type: 'table-sandbox-result', token: message.token, ...payload }, '*');
91
+ };
92
+
93
+ const timer = setTimeout(() => {
94
+ finish({ ok: false, error: 'The calculation timed out.' });
95
+ }, message.timeoutMs);
96
+
97
+ worker.onmessage = workerEvent => {
98
+ const response = workerEvent.data || {};
99
+ if (response.type !== 'result' || response.token !== message.token) return;
100
+ finish(response.ok
101
+ ? { ok: true, result: response.result }
102
+ : { ok: false, error: response.error || 'The calculation failed.' });
103
+ };
104
+
105
+ worker.onerror = () => finish({ ok: false, error: 'The isolated calculation worker failed.' });
106
+ worker.postMessage({
107
+ type: 'run',
108
+ token: message.token,
109
+ code: message.code,
110
+ args: message.args,
111
+ maxOutputBytes: message.maxOutputBytes,
112
+ });
113
+ }, { passive: true });
114
+
115
+ parent.postMessage({ type: 'table-sandbox-ready' }, '*');
116
+ `.replace("__WORKER_SOURCE__", JSON.stringify(M));
117
+ function x() {
118
+ return `<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' 'unsafe-eval' blob:; worker-src blob:; child-src blob:; connect-src 'none'; img-src 'none'; media-src 'none'; object-src 'none'; frame-src 'none'; style-src 'unsafe-inline'"></head><body><script>${T.replace(/<\/script/gi, "<\\/script")}<\/script></body></html>`;
119
+ }
120
+ function O() {
121
+ return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `table-sandbox-${Date.now()}-${Math.random().toString(36).slice(2)}`;
122
+ }
123
+ function U(r, h = {}, s = {}) {
124
+ if (typeof document > "u" || !document.body)
125
+ return Promise.reject(new Error("Table calculations can only run in a browser session."));
126
+ if (typeof r != "string" || !r.trim())
127
+ return Promise.reject(new Error("No calculation code was provided."));
128
+ if (r.length > g)
129
+ return Promise.reject(new Error(`Calculation code is limited to ${g} characters.`));
130
+ const u = Math.min(Math.max(Math.trunc(s.timeoutMs ?? E), 100), 5e3), k = Math.min(Math.max(Math.trunc(s.maxInputBytes ?? S), 1024), 16 * 1024 * 1024), l = Math.min(Math.max(Math.trunc(s.maxOutputBytes ?? _), 1024), 1024 * 1024);
131
+ let d;
132
+ try {
133
+ d = p(h, k);
134
+ } catch (o) {
135
+ return Promise.reject(o);
136
+ }
137
+ return new Promise((o, a) => {
138
+ const e = document.createElement("iframe"), f = O();
139
+ let i = !1, m = !1;
140
+ e.setAttribute("sandbox", "allow-scripts"), e.setAttribute("aria-hidden", "true"), e.tabIndex = -1, e.style.position = "fixed", e.style.width = "0", e.style.height = "0", e.style.border = "0", e.style.opacity = "0", e.style.pointerEvents = "none", e.srcdoc = x();
141
+ const b = () => {
142
+ clearTimeout(v), window.removeEventListener("message", y), e.remove();
143
+ }, n = (t) => {
144
+ m || (m = !0, b(), t());
145
+ }, w = () => {
146
+ e.contentWindow?.postMessage({
147
+ type: "table-sandbox-run",
148
+ token: f,
149
+ code: r,
150
+ args: d,
151
+ timeoutMs: u,
152
+ maxOutputBytes: l
153
+ }, "*");
154
+ }, y = (t) => {
155
+ if (!(t.source !== e.contentWindow || !t.data || typeof t.data != "object")) {
156
+ if (t.data.type === "table-sandbox-ready") {
157
+ if (i) return;
158
+ i = !0, w();
159
+ return;
160
+ }
161
+ if (!(t.data.type !== "table-sandbox-result" || t.data.token !== f)) {
162
+ if (!t.data.ok) {
163
+ n(() => a(new Error(t.data.error || "The isolated calculation failed.")));
164
+ return;
165
+ }
166
+ try {
167
+ const c = p(t.data.result, l);
168
+ n(() => o(c));
169
+ } catch (c) {
170
+ n(() => a(c));
171
+ }
172
+ }
173
+ }
174
+ }, v = window.setTimeout(() => {
175
+ n(() => a(new Error(i ? "The calculation timed out." : "The isolated calculation environment could not start.")));
176
+ }, u + 1e3);
177
+ window.addEventListener("message", y), document.body.appendChild(e);
178
+ });
179
+ }
180
+ export {
181
+ U as r
182
+ };