@xpert-ai/plugin-live-dashboard 0.0.0-stage → 0.1.0

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 (95) hide show
  1. package/.xpertai-plugin/plugin.json +8 -0
  2. package/README.md +108 -2
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.js +11 -0
  5. package/dist/lib/agent.schema.d.ts +568 -0
  6. package/dist/lib/agent.schema.js +52 -0
  7. package/dist/lib/dashboard-icon.d.ts +5 -0
  8. package/dist/lib/dashboard-icon.js +8 -0
  9. package/dist/lib/dashboard-navigation.d.ts +38 -0
  10. package/dist/lib/dashboard-navigation.js +18 -0
  11. package/dist/lib/dashboard-queries.d.ts +8 -0
  12. package/dist/lib/dashboard-queries.js +39 -0
  13. package/dist/lib/dashboard-receipt.d.ts +11 -0
  14. package/dist/lib/dashboard-receipt.js +35 -0
  15. package/dist/lib/dashboard.schema.d.ts +816 -0
  16. package/dist/lib/dashboard.schema.js +74 -0
  17. package/dist/lib/dashboard.service.d.ts +243 -0
  18. package/dist/lib/dashboard.service.js +185 -0
  19. package/dist/lib/document-libraries.d.ts +8 -0
  20. package/dist/lib/document-libraries.js +41 -0
  21. package/dist/lib/document-package.d.ts +41 -0
  22. package/dist/lib/document-package.js +25 -0
  23. package/dist/lib/editing.d.ts +403 -0
  24. package/dist/lib/editing.js +114 -0
  25. package/dist/lib/filter-evidence.d.ts +71 -0
  26. package/dist/lib/filter-evidence.js +60 -0
  27. package/dist/lib/html-guidance.d.ts +1 -0
  28. package/dist/lib/html-guidance.js +4 -0
  29. package/dist/lib/html-validation.d.ts +19 -0
  30. package/dist/lib/html-validation.js +136 -0
  31. package/dist/lib/middleware.d.ts +10 -0
  32. package/dist/lib/middleware.js +225 -0
  33. package/dist/lib/plugin.d.ts +2 -0
  34. package/dist/lib/plugin.js +22 -0
  35. package/dist/lib/presentation.provider.d.ts +122 -0
  36. package/dist/lib/presentation.provider.js +72 -0
  37. package/dist/lib/remote-entry.d.ts +4 -0
  38. package/dist/lib/remote-entry.js +12 -0
  39. package/dist/lib/renderer.d.ts +58 -0
  40. package/dist/lib/renderer.js +32 -0
  41. package/dist/lib/resource-card.d.ts +21 -0
  42. package/dist/lib/resource-card.js +33 -0
  43. package/dist/lib/save-evidence.d.ts +24 -0
  44. package/dist/lib/save-evidence.js +99 -0
  45. package/dist/lib/sharing.service.d.ts +93 -0
  46. package/dist/lib/sharing.service.js +71 -0
  47. package/dist/lib/view.provider.d.ts +235 -0
  48. package/dist/lib/view.provider.js +103 -0
  49. package/dist/libraries/ECHARTS-LICENSE.txt +222 -0
  50. package/dist/libraries/ECHARTS-NOTICE.txt +5 -0
  51. package/dist/libraries/THREE-LICENSE.txt +21 -0
  52. package/dist/libraries/catalog.json +1 -0
  53. package/dist/remote/app.css +1 -0
  54. package/dist/remote/app.js +253 -0
  55. package/dist/remote/build-manifest.json +63 -0
  56. package/dist/remote/renderer-source.json +5 -0
  57. package/dist/remote/renderer.html +4653 -0
  58. package/dist/sandbox-actions/action.json +10 -0
  59. package/dist/sandbox-actions/bundle/host.js +149 -0
  60. package/dist/sandbox-actions/bundle/runner.mjs +15 -0
  61. package/dist/sandbox-actions/bundle/validate.mjs +140 -0
  62. package/dist/validation/host-entry.d.ts +1 -0
  63. package/dist/validation/host-entry.js +6 -0
  64. package/docs/AGENTS.md +9 -0
  65. package/docs/acceptance.md +89 -0
  66. package/docs/agent-acceptance.md +96 -0
  67. package/docs/chat-resource-cards.mdx +60 -0
  68. package/docs/docs.json +49 -0
  69. package/docs/drafts-acceptance.mdx +42 -0
  70. package/docs/drafts.mdx +35 -0
  71. package/docs/editing.mdx +63 -0
  72. package/docs/evolution-acceptance.mdx +98 -0
  73. package/docs/file-authoring-acceptance.mdx +62 -0
  74. package/docs/file-authoring.mdx +49 -0
  75. package/docs/file-datasets-acceptance.mdx +65 -0
  76. package/docs/fixed-build-multimodel-acceptance.mdx +129 -0
  77. package/docs/frontend-libraries-acceptance.mdx +86 -0
  78. package/docs/frontend-libraries.mdx +57 -0
  79. package/docs/html-acceptance.md +86 -0
  80. package/docs/html-mode.md +76 -0
  81. package/docs/index.mdx +47 -0
  82. package/docs/retry-regression-acceptance.mdx +112 -0
  83. package/docs/team-sharing-acceptance.mdx +66 -0
  84. package/docs/team-sharing.mdx +44 -0
  85. package/docs/verification.mdx +91 -0
  86. package/examples/assistant-middleware.yaml +28 -0
  87. package/examples/data-xpert-sales.json +118 -0
  88. package/examples/postgres-sales.json +93 -0
  89. package/index.cjs +1 -0
  90. package/package.json +73 -3
  91. package/skills/live-dashboard/SKILL.md +71 -0
  92. package/skills/live-dashboard/agents/xpertai.yaml +21 -0
  93. package/skills/live-dashboard/references/data-validation.md +15 -0
  94. package/skills/live-dashboard/references/html-lifecycle.md +129 -0
  95. package/skills/live-dashboard/references/html-runtime.md +53 -0
@@ -0,0 +1,816 @@
1
+ import { z } from 'zod/v3';
2
+ export declare const dashboardSchema: z.ZodEffects<z.ZodObject<{
3
+ schema: z.ZodLiteral<"xpert.live-dashboard/v1">;
4
+ id: z.ZodString;
5
+ title: z.ZodString;
6
+ bindings: z.ZodArray<z.ZodType<import("@xpert-ai/contracts").AnalyticsBinding, z.ZodTypeDef, import("@xpert-ai/contracts").AnalyticsBinding>, "many">;
7
+ presentation: z.ZodOptional<z.ZodObject<{
8
+ type: z.ZodLiteral<"html">;
9
+ html: z.ZodEffects<z.ZodString, string, string>;
10
+ dependencies: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
11
+ id: z.ZodString;
12
+ version: z.ZodString;
13
+ format: z.ZodLiteral<"classic-script">;
14
+ global: z.ZodEffects<z.ZodString, string, string>;
15
+ sha256: z.ZodString;
16
+ }, "strict", z.ZodTypeAny, {
17
+ id?: string;
18
+ version?: string;
19
+ format?: "classic-script";
20
+ global?: string;
21
+ sha256?: string;
22
+ }, {
23
+ id?: string;
24
+ version?: string;
25
+ format?: "classic-script";
26
+ global?: string;
27
+ sha256?: string;
28
+ }>, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock, {
29
+ id?: string;
30
+ version?: string;
31
+ format?: "classic-script";
32
+ global?: string;
33
+ sha256?: string;
34
+ }>, "many">, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[], {
35
+ id?: string;
36
+ version?: string;
37
+ format?: "classic-script";
38
+ global?: string;
39
+ sha256?: string;
40
+ }[]>>;
41
+ }, "strict", z.ZodTypeAny, {
42
+ type: "html";
43
+ html: string;
44
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
45
+ }, {
46
+ type: "html";
47
+ html: string;
48
+ dependencies?: {
49
+ id?: string;
50
+ version?: string;
51
+ format?: "classic-script";
52
+ global?: string;
53
+ sha256?: string;
54
+ }[] | undefined;
55
+ }>>;
56
+ controls: z.ZodArray<z.ZodObject<{
57
+ controlId: z.ZodString;
58
+ type: z.ZodEnum<["string", "number", "boolean", "date"]>;
59
+ defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
60
+ allowedValues: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">>;
61
+ label: z.ZodString;
62
+ }, "strict", z.ZodTypeAny, {
63
+ type: "string" | "number" | "boolean" | "date";
64
+ controlId: string;
65
+ label: string;
66
+ defaultValue?: string | number | boolean | null | undefined;
67
+ allowedValues?: (string | number | boolean | null)[] | undefined;
68
+ }, {
69
+ type: "string" | "number" | "boolean" | "date";
70
+ controlId: string;
71
+ label: string;
72
+ defaultValue?: string | number | boolean | null | undefined;
73
+ allowedValues?: (string | number | boolean | null)[] | undefined;
74
+ }>, "many">;
75
+ charts: z.ZodArray<z.ZodObject<{
76
+ id: z.ZodString;
77
+ title: z.ZodString;
78
+ type: z.ZodEnum<["bar", "line", "area", "pie", "scatter"]>;
79
+ datasetId: z.ZodString;
80
+ x: z.ZodString;
81
+ y: z.ZodString;
82
+ color: z.ZodOptional<z.ZodString>;
83
+ }, "strict", z.ZodTypeAny, {
84
+ type: "bar" | "line" | "area" | "pie" | "scatter";
85
+ id: string;
86
+ title: string;
87
+ datasetId: string;
88
+ x: string;
89
+ y: string;
90
+ color?: string | undefined;
91
+ }, {
92
+ type: "bar" | "line" | "area" | "pie" | "scatter";
93
+ id: string;
94
+ title: string;
95
+ datasetId: string;
96
+ x: string;
97
+ y: string;
98
+ color?: string | undefined;
99
+ }>, "many">;
100
+ tables: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodString;
102
+ title: z.ZodString;
103
+ datasetId: z.ZodString;
104
+ fields: z.ZodArray<z.ZodString, "many">;
105
+ }, "strict", z.ZodTypeAny, {
106
+ id: string;
107
+ title: string;
108
+ datasetId: string;
109
+ fields: string[];
110
+ }, {
111
+ id: string;
112
+ title: string;
113
+ datasetId: string;
114
+ fields: string[];
115
+ }>, "many">;
116
+ }, "strict", z.ZodTypeAny, {
117
+ schema: "xpert.live-dashboard/v1";
118
+ id: string;
119
+ title: string;
120
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
121
+ controls: {
122
+ type: "string" | "number" | "boolean" | "date";
123
+ controlId: string;
124
+ label: string;
125
+ defaultValue?: string | number | boolean | null | undefined;
126
+ allowedValues?: (string | number | boolean | null)[] | undefined;
127
+ }[];
128
+ charts: {
129
+ type: "bar" | "line" | "area" | "pie" | "scatter";
130
+ id: string;
131
+ title: string;
132
+ datasetId: string;
133
+ x: string;
134
+ y: string;
135
+ color?: string | undefined;
136
+ }[];
137
+ tables: {
138
+ id: string;
139
+ title: string;
140
+ datasetId: string;
141
+ fields: string[];
142
+ }[];
143
+ presentation?: {
144
+ type: "html";
145
+ html: string;
146
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
147
+ } | undefined;
148
+ }, {
149
+ schema: "xpert.live-dashboard/v1";
150
+ id: string;
151
+ title: string;
152
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
153
+ controls: {
154
+ type: "string" | "number" | "boolean" | "date";
155
+ controlId: string;
156
+ label: string;
157
+ defaultValue?: string | number | boolean | null | undefined;
158
+ allowedValues?: (string | number | boolean | null)[] | undefined;
159
+ }[];
160
+ charts: {
161
+ type: "bar" | "line" | "area" | "pie" | "scatter";
162
+ id: string;
163
+ title: string;
164
+ datasetId: string;
165
+ x: string;
166
+ y: string;
167
+ color?: string | undefined;
168
+ }[];
169
+ tables: {
170
+ id: string;
171
+ title: string;
172
+ datasetId: string;
173
+ fields: string[];
174
+ }[];
175
+ presentation?: {
176
+ type: "html";
177
+ html: string;
178
+ dependencies?: {
179
+ id?: string;
180
+ version?: string;
181
+ format?: "classic-script";
182
+ global?: string;
183
+ sha256?: string;
184
+ }[] | undefined;
185
+ } | undefined;
186
+ }>, {
187
+ schema: "xpert.live-dashboard/v1";
188
+ id: string;
189
+ title: string;
190
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
191
+ controls: {
192
+ type: "string" | "number" | "boolean" | "date";
193
+ controlId: string;
194
+ label: string;
195
+ defaultValue?: string | number | boolean | null | undefined;
196
+ allowedValues?: (string | number | boolean | null)[] | undefined;
197
+ }[];
198
+ charts: {
199
+ type: "bar" | "line" | "area" | "pie" | "scatter";
200
+ id: string;
201
+ title: string;
202
+ datasetId: string;
203
+ x: string;
204
+ y: string;
205
+ color?: string | undefined;
206
+ }[];
207
+ tables: {
208
+ id: string;
209
+ title: string;
210
+ datasetId: string;
211
+ fields: string[];
212
+ }[];
213
+ presentation?: {
214
+ type: "html";
215
+ html: string;
216
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
217
+ } | undefined;
218
+ }, {
219
+ schema: "xpert.live-dashboard/v1";
220
+ id: string;
221
+ title: string;
222
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
223
+ controls: {
224
+ type: "string" | "number" | "boolean" | "date";
225
+ controlId: string;
226
+ label: string;
227
+ defaultValue?: string | number | boolean | null | undefined;
228
+ allowedValues?: (string | number | boolean | null)[] | undefined;
229
+ }[];
230
+ charts: {
231
+ type: "bar" | "line" | "area" | "pie" | "scatter";
232
+ id: string;
233
+ title: string;
234
+ datasetId: string;
235
+ x: string;
236
+ y: string;
237
+ color?: string | undefined;
238
+ }[];
239
+ tables: {
240
+ id: string;
241
+ title: string;
242
+ datasetId: string;
243
+ fields: string[];
244
+ }[];
245
+ presentation?: {
246
+ type: "html";
247
+ html: string;
248
+ dependencies?: {
249
+ id?: string;
250
+ version?: string;
251
+ format?: "classic-script";
252
+ global?: string;
253
+ sha256?: string;
254
+ }[] | undefined;
255
+ } | undefined;
256
+ }>;
257
+ /** Plugin-owned, versioned presentation definition. Bindings use the platform protocol unchanged;
258
+ * native query payloads stay opaque here and belong to their provider. Saved versions contain no rows.
259
+ */
260
+ export type DashboardManifest = z.output<typeof dashboardSchema>;
261
+ /** Updates never choose identity or source scope; those come from the authorized saved version. */
262
+ export declare const dashboardChangesSchema: z.ZodObject<{
263
+ title: z.ZodOptional<z.ZodString>;
264
+ bindings: z.ZodOptional<z.ZodArray<z.ZodType<import("@xpert-ai/contracts").AnalyticsBinding, z.ZodTypeDef, import("@xpert-ai/contracts").AnalyticsBinding>, "many">>;
265
+ presentation: z.ZodOptional<z.ZodOptional<z.ZodObject<{
266
+ type: z.ZodLiteral<"html">;
267
+ html: z.ZodEffects<z.ZodString, string, string>;
268
+ dependencies: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
269
+ id: z.ZodString;
270
+ version: z.ZodString;
271
+ format: z.ZodLiteral<"classic-script">;
272
+ global: z.ZodEffects<z.ZodString, string, string>;
273
+ sha256: z.ZodString;
274
+ }, "strict", z.ZodTypeAny, {
275
+ id?: string;
276
+ version?: string;
277
+ format?: "classic-script";
278
+ global?: string;
279
+ sha256?: string;
280
+ }, {
281
+ id?: string;
282
+ version?: string;
283
+ format?: "classic-script";
284
+ global?: string;
285
+ sha256?: string;
286
+ }>, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock, {
287
+ id?: string;
288
+ version?: string;
289
+ format?: "classic-script";
290
+ global?: string;
291
+ sha256?: string;
292
+ }>, "many">, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[], {
293
+ id?: string;
294
+ version?: string;
295
+ format?: "classic-script";
296
+ global?: string;
297
+ sha256?: string;
298
+ }[]>>;
299
+ }, "strict", z.ZodTypeAny, {
300
+ type: "html";
301
+ html: string;
302
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
303
+ }, {
304
+ type: "html";
305
+ html: string;
306
+ dependencies?: {
307
+ id?: string;
308
+ version?: string;
309
+ format?: "classic-script";
310
+ global?: string;
311
+ sha256?: string;
312
+ }[] | undefined;
313
+ }>>>;
314
+ controls: z.ZodOptional<z.ZodArray<z.ZodObject<{
315
+ controlId: z.ZodString;
316
+ type: z.ZodEnum<["string", "number", "boolean", "date"]>;
317
+ defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
318
+ allowedValues: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">>;
319
+ label: z.ZodString;
320
+ }, "strict", z.ZodTypeAny, {
321
+ type: "string" | "number" | "boolean" | "date";
322
+ controlId: string;
323
+ label: string;
324
+ defaultValue?: string | number | boolean | null | undefined;
325
+ allowedValues?: (string | number | boolean | null)[] | undefined;
326
+ }, {
327
+ type: "string" | "number" | "boolean" | "date";
328
+ controlId: string;
329
+ label: string;
330
+ defaultValue?: string | number | boolean | null | undefined;
331
+ allowedValues?: (string | number | boolean | null)[] | undefined;
332
+ }>, "many">>;
333
+ charts: z.ZodOptional<z.ZodArray<z.ZodObject<{
334
+ id: z.ZodString;
335
+ title: z.ZodString;
336
+ type: z.ZodEnum<["bar", "line", "area", "pie", "scatter"]>;
337
+ datasetId: z.ZodString;
338
+ x: z.ZodString;
339
+ y: z.ZodString;
340
+ color: z.ZodOptional<z.ZodString>;
341
+ }, "strict", z.ZodTypeAny, {
342
+ type: "bar" | "line" | "area" | "pie" | "scatter";
343
+ id: string;
344
+ title: string;
345
+ datasetId: string;
346
+ x: string;
347
+ y: string;
348
+ color?: string | undefined;
349
+ }, {
350
+ type: "bar" | "line" | "area" | "pie" | "scatter";
351
+ id: string;
352
+ title: string;
353
+ datasetId: string;
354
+ x: string;
355
+ y: string;
356
+ color?: string | undefined;
357
+ }>, "many">>;
358
+ tables: z.ZodOptional<z.ZodArray<z.ZodObject<{
359
+ id: z.ZodString;
360
+ title: z.ZodString;
361
+ datasetId: z.ZodString;
362
+ fields: z.ZodArray<z.ZodString, "many">;
363
+ }, "strict", z.ZodTypeAny, {
364
+ id: string;
365
+ title: string;
366
+ datasetId: string;
367
+ fields: string[];
368
+ }, {
369
+ id: string;
370
+ title: string;
371
+ datasetId: string;
372
+ fields: string[];
373
+ }>, "many">>;
374
+ }, "strict", z.ZodTypeAny, {
375
+ title?: string | undefined;
376
+ bindings?: import("@xpert-ai/contracts").AnalyticsBinding[] | undefined;
377
+ presentation?: {
378
+ type: "html";
379
+ html: string;
380
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
381
+ } | undefined;
382
+ controls?: {
383
+ type: "string" | "number" | "boolean" | "date";
384
+ controlId: string;
385
+ label: string;
386
+ defaultValue?: string | number | boolean | null | undefined;
387
+ allowedValues?: (string | number | boolean | null)[] | undefined;
388
+ }[] | undefined;
389
+ charts?: {
390
+ type: "bar" | "line" | "area" | "pie" | "scatter";
391
+ id: string;
392
+ title: string;
393
+ datasetId: string;
394
+ x: string;
395
+ y: string;
396
+ color?: string | undefined;
397
+ }[] | undefined;
398
+ tables?: {
399
+ id: string;
400
+ title: string;
401
+ datasetId: string;
402
+ fields: string[];
403
+ }[] | undefined;
404
+ }, {
405
+ title?: string | undefined;
406
+ bindings?: import("@xpert-ai/contracts").AnalyticsBinding[] | undefined;
407
+ presentation?: {
408
+ type: "html";
409
+ html: string;
410
+ dependencies?: {
411
+ id?: string;
412
+ version?: string;
413
+ format?: "classic-script";
414
+ global?: string;
415
+ sha256?: string;
416
+ }[] | undefined;
417
+ } | undefined;
418
+ controls?: {
419
+ type: "string" | "number" | "boolean" | "date";
420
+ controlId: string;
421
+ label: string;
422
+ defaultValue?: string | number | boolean | null | undefined;
423
+ allowedValues?: (string | number | boolean | null)[] | undefined;
424
+ }[] | undefined;
425
+ charts?: {
426
+ type: "bar" | "line" | "area" | "pie" | "scatter";
427
+ id: string;
428
+ title: string;
429
+ datasetId: string;
430
+ x: string;
431
+ y: string;
432
+ color?: string | undefined;
433
+ }[] | undefined;
434
+ tables?: {
435
+ id: string;
436
+ title: string;
437
+ datasetId: string;
438
+ fields: string[];
439
+ }[] | undefined;
440
+ }>;
441
+ export type DashboardChanges = z.output<typeof dashboardChangesSchema>;
442
+ export declare const controlsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
443
+ export declare const saveSchema: z.ZodObject<{
444
+ manifest: z.ZodEffects<z.ZodObject<{
445
+ schema: z.ZodLiteral<"xpert.live-dashboard/v1">;
446
+ id: z.ZodString;
447
+ title: z.ZodString;
448
+ bindings: z.ZodArray<z.ZodType<import("@xpert-ai/contracts").AnalyticsBinding, z.ZodTypeDef, import("@xpert-ai/contracts").AnalyticsBinding>, "many">;
449
+ presentation: z.ZodOptional<z.ZodObject<{
450
+ type: z.ZodLiteral<"html">;
451
+ html: z.ZodEffects<z.ZodString, string, string>;
452
+ dependencies: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
453
+ id: z.ZodString;
454
+ version: z.ZodString;
455
+ format: z.ZodLiteral<"classic-script">;
456
+ global: z.ZodEffects<z.ZodString, string, string>;
457
+ sha256: z.ZodString;
458
+ }, "strict", z.ZodTypeAny, {
459
+ id?: string;
460
+ version?: string;
461
+ format?: "classic-script";
462
+ global?: string;
463
+ sha256?: string;
464
+ }, {
465
+ id?: string;
466
+ version?: string;
467
+ format?: "classic-script";
468
+ global?: string;
469
+ sha256?: string;
470
+ }>, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock, {
471
+ id?: string;
472
+ version?: string;
473
+ format?: "classic-script";
474
+ global?: string;
475
+ sha256?: string;
476
+ }>, "many">, import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[], {
477
+ id?: string;
478
+ version?: string;
479
+ format?: "classic-script";
480
+ global?: string;
481
+ sha256?: string;
482
+ }[]>>;
483
+ }, "strict", z.ZodTypeAny, {
484
+ type: "html";
485
+ html: string;
486
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
487
+ }, {
488
+ type: "html";
489
+ html: string;
490
+ dependencies?: {
491
+ id?: string;
492
+ version?: string;
493
+ format?: "classic-script";
494
+ global?: string;
495
+ sha256?: string;
496
+ }[] | undefined;
497
+ }>>;
498
+ controls: z.ZodArray<z.ZodObject<{
499
+ controlId: z.ZodString;
500
+ type: z.ZodEnum<["string", "number", "boolean", "date"]>;
501
+ defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
502
+ allowedValues: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">>;
503
+ label: z.ZodString;
504
+ }, "strict", z.ZodTypeAny, {
505
+ type: "string" | "number" | "boolean" | "date";
506
+ controlId: string;
507
+ label: string;
508
+ defaultValue?: string | number | boolean | null | undefined;
509
+ allowedValues?: (string | number | boolean | null)[] | undefined;
510
+ }, {
511
+ type: "string" | "number" | "boolean" | "date";
512
+ controlId: string;
513
+ label: string;
514
+ defaultValue?: string | number | boolean | null | undefined;
515
+ allowedValues?: (string | number | boolean | null)[] | undefined;
516
+ }>, "many">;
517
+ charts: z.ZodArray<z.ZodObject<{
518
+ id: z.ZodString;
519
+ title: z.ZodString;
520
+ type: z.ZodEnum<["bar", "line", "area", "pie", "scatter"]>;
521
+ datasetId: z.ZodString;
522
+ x: z.ZodString;
523
+ y: z.ZodString;
524
+ color: z.ZodOptional<z.ZodString>;
525
+ }, "strict", z.ZodTypeAny, {
526
+ type: "bar" | "line" | "area" | "pie" | "scatter";
527
+ id: string;
528
+ title: string;
529
+ datasetId: string;
530
+ x: string;
531
+ y: string;
532
+ color?: string | undefined;
533
+ }, {
534
+ type: "bar" | "line" | "area" | "pie" | "scatter";
535
+ id: string;
536
+ title: string;
537
+ datasetId: string;
538
+ x: string;
539
+ y: string;
540
+ color?: string | undefined;
541
+ }>, "many">;
542
+ tables: z.ZodArray<z.ZodObject<{
543
+ id: z.ZodString;
544
+ title: z.ZodString;
545
+ datasetId: z.ZodString;
546
+ fields: z.ZodArray<z.ZodString, "many">;
547
+ }, "strict", z.ZodTypeAny, {
548
+ id: string;
549
+ title: string;
550
+ datasetId: string;
551
+ fields: string[];
552
+ }, {
553
+ id: string;
554
+ title: string;
555
+ datasetId: string;
556
+ fields: string[];
557
+ }>, "many">;
558
+ }, "strict", z.ZodTypeAny, {
559
+ schema: "xpert.live-dashboard/v1";
560
+ id: string;
561
+ title: string;
562
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
563
+ controls: {
564
+ type: "string" | "number" | "boolean" | "date";
565
+ controlId: string;
566
+ label: string;
567
+ defaultValue?: string | number | boolean | null | undefined;
568
+ allowedValues?: (string | number | boolean | null)[] | undefined;
569
+ }[];
570
+ charts: {
571
+ type: "bar" | "line" | "area" | "pie" | "scatter";
572
+ id: string;
573
+ title: string;
574
+ datasetId: string;
575
+ x: string;
576
+ y: string;
577
+ color?: string | undefined;
578
+ }[];
579
+ tables: {
580
+ id: string;
581
+ title: string;
582
+ datasetId: string;
583
+ fields: string[];
584
+ }[];
585
+ presentation?: {
586
+ type: "html";
587
+ html: string;
588
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
589
+ } | undefined;
590
+ }, {
591
+ schema: "xpert.live-dashboard/v1";
592
+ id: string;
593
+ title: string;
594
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
595
+ controls: {
596
+ type: "string" | "number" | "boolean" | "date";
597
+ controlId: string;
598
+ label: string;
599
+ defaultValue?: string | number | boolean | null | undefined;
600
+ allowedValues?: (string | number | boolean | null)[] | undefined;
601
+ }[];
602
+ charts: {
603
+ type: "bar" | "line" | "area" | "pie" | "scatter";
604
+ id: string;
605
+ title: string;
606
+ datasetId: string;
607
+ x: string;
608
+ y: string;
609
+ color?: string | undefined;
610
+ }[];
611
+ tables: {
612
+ id: string;
613
+ title: string;
614
+ datasetId: string;
615
+ fields: string[];
616
+ }[];
617
+ presentation?: {
618
+ type: "html";
619
+ html: string;
620
+ dependencies?: {
621
+ id?: string;
622
+ version?: string;
623
+ format?: "classic-script";
624
+ global?: string;
625
+ sha256?: string;
626
+ }[] | undefined;
627
+ } | undefined;
628
+ }>, {
629
+ schema: "xpert.live-dashboard/v1";
630
+ id: string;
631
+ title: string;
632
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
633
+ controls: {
634
+ type: "string" | "number" | "boolean" | "date";
635
+ controlId: string;
636
+ label: string;
637
+ defaultValue?: string | number | boolean | null | undefined;
638
+ allowedValues?: (string | number | boolean | null)[] | undefined;
639
+ }[];
640
+ charts: {
641
+ type: "bar" | "line" | "area" | "pie" | "scatter";
642
+ id: string;
643
+ title: string;
644
+ datasetId: string;
645
+ x: string;
646
+ y: string;
647
+ color?: string | undefined;
648
+ }[];
649
+ tables: {
650
+ id: string;
651
+ title: string;
652
+ datasetId: string;
653
+ fields: string[];
654
+ }[];
655
+ presentation?: {
656
+ type: "html";
657
+ html: string;
658
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
659
+ } | undefined;
660
+ }, {
661
+ schema: "xpert.live-dashboard/v1";
662
+ id: string;
663
+ title: string;
664
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
665
+ controls: {
666
+ type: "string" | "number" | "boolean" | "date";
667
+ controlId: string;
668
+ label: string;
669
+ defaultValue?: string | number | boolean | null | undefined;
670
+ allowedValues?: (string | number | boolean | null)[] | undefined;
671
+ }[];
672
+ charts: {
673
+ type: "bar" | "line" | "area" | "pie" | "scatter";
674
+ id: string;
675
+ title: string;
676
+ datasetId: string;
677
+ x: string;
678
+ y: string;
679
+ color?: string | undefined;
680
+ }[];
681
+ tables: {
682
+ id: string;
683
+ title: string;
684
+ datasetId: string;
685
+ fields: string[];
686
+ }[];
687
+ presentation?: {
688
+ type: "html";
689
+ html: string;
690
+ dependencies?: {
691
+ id?: string;
692
+ version?: string;
693
+ format?: "classic-script";
694
+ global?: string;
695
+ sha256?: string;
696
+ }[] | undefined;
697
+ } | undefined;
698
+ }>;
699
+ expectedVersionId: z.ZodNullable<z.ZodString>;
700
+ expectedRevision: z.ZodDefault<z.ZodNumber>;
701
+ }, "strict", z.ZodTypeAny, {
702
+ manifest: {
703
+ schema: "xpert.live-dashboard/v1";
704
+ id: string;
705
+ title: string;
706
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
707
+ controls: {
708
+ type: "string" | "number" | "boolean" | "date";
709
+ controlId: string;
710
+ label: string;
711
+ defaultValue?: string | number | boolean | null | undefined;
712
+ allowedValues?: (string | number | boolean | null)[] | undefined;
713
+ }[];
714
+ charts: {
715
+ type: "bar" | "line" | "area" | "pie" | "scatter";
716
+ id: string;
717
+ title: string;
718
+ datasetId: string;
719
+ x: string;
720
+ y: string;
721
+ color?: string | undefined;
722
+ }[];
723
+ tables: {
724
+ id: string;
725
+ title: string;
726
+ datasetId: string;
727
+ fields: string[];
728
+ }[];
729
+ presentation?: {
730
+ type: "html";
731
+ html: string;
732
+ dependencies?: import("@xpert-ai/plugin-sdk/artifact-document").ArtifactDocumentDependencyLock[] | undefined;
733
+ } | undefined;
734
+ };
735
+ expectedVersionId: string | null;
736
+ expectedRevision: number;
737
+ }, {
738
+ manifest: {
739
+ schema: "xpert.live-dashboard/v1";
740
+ id: string;
741
+ title: string;
742
+ bindings: import("@xpert-ai/contracts").AnalyticsBinding[];
743
+ controls: {
744
+ type: "string" | "number" | "boolean" | "date";
745
+ controlId: string;
746
+ label: string;
747
+ defaultValue?: string | number | boolean | null | undefined;
748
+ allowedValues?: (string | number | boolean | null)[] | undefined;
749
+ }[];
750
+ charts: {
751
+ type: "bar" | "line" | "area" | "pie" | "scatter";
752
+ id: string;
753
+ title: string;
754
+ datasetId: string;
755
+ x: string;
756
+ y: string;
757
+ color?: string | undefined;
758
+ }[];
759
+ tables: {
760
+ id: string;
761
+ title: string;
762
+ datasetId: string;
763
+ fields: string[];
764
+ }[];
765
+ presentation?: {
766
+ type: "html";
767
+ html: string;
768
+ dependencies?: {
769
+ id?: string;
770
+ version?: string;
771
+ format?: "classic-script";
772
+ global?: string;
773
+ sha256?: string;
774
+ }[] | undefined;
775
+ } | undefined;
776
+ };
777
+ expectedVersionId: string | null;
778
+ expectedRevision?: number | undefined;
779
+ }>;
780
+ export declare const querySchema: z.ZodObject<{
781
+ artifactId: z.ZodString;
782
+ versionId: z.ZodOptional<z.ZodString>;
783
+ draftRevision: z.ZodOptional<z.ZodNumber>;
784
+ controls: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
785
+ }, "strict", z.ZodTypeAny, {
786
+ controls: Record<string, string | number | boolean | null>;
787
+ artifactId: string;
788
+ versionId?: string | undefined;
789
+ draftRevision?: number | undefined;
790
+ }, {
791
+ artifactId: string;
792
+ controls?: Record<string, string | number | boolean | null> | undefined;
793
+ versionId?: string | undefined;
794
+ draftRevision?: number | undefined;
795
+ }>;
796
+ /** Generated pages select a saved Binding by ID. Query text, provider and source overrides are rejected. */
797
+ export declare const queryBindingSchema: z.ZodObject<{
798
+ artifactId: z.ZodString;
799
+ versionId: z.ZodOptional<z.ZodString>;
800
+ draftRevision: z.ZodOptional<z.ZodNumber>;
801
+ controls: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
802
+ } & {
803
+ bindingId: z.ZodString;
804
+ }, "strict", z.ZodTypeAny, {
805
+ controls: Record<string, string | number | boolean | null>;
806
+ artifactId: string;
807
+ bindingId: string;
808
+ versionId?: string | undefined;
809
+ draftRevision?: number | undefined;
810
+ }, {
811
+ artifactId: string;
812
+ bindingId: string;
813
+ controls?: Record<string, string | number | boolean | null> | undefined;
814
+ versionId?: string | undefined;
815
+ draftRevision?: number | undefined;
816
+ }>;