@d-dash/core 0.1.1 → 0.3.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.
package/README.md CHANGED
@@ -24,22 +24,37 @@ import { createAdapterRegistry, createDashboardRuntime } from "@d-dash/core";
24
24
  const registry = createAdapterRegistry();
25
25
  const runtime = createDashboardRuntime({ registry });
26
26
 
27
- const validation = runtime.validateDashboard(dashboard);
28
- if (!validation.ok) {
29
- throw new Error("Invalid dashboard");
30
- }
31
-
32
27
  const session = runtime.createSession(dashboard);
33
28
 
34
- const unbind = await runtime.bindLayoutResize({
29
+ // Register render targets for all widgets up front.
30
+ runtime.registerWidgetTargets({ w1: targetForW1, w2: targetForW2 });
31
+
32
+ // Apply layout, execute all widgets, and bind resize in one call.
33
+ const { widgetResults, unmount } = await runtime.mountDashboard({
35
34
  session,
36
35
  gridId: "gridstack",
37
36
  gridTarget,
38
- resolveTargetByWidgetId(widgetId) {
39
- return widgetTargetById[widgetId];
40
- },
37
+ context: { traceId: "my-trace" },
41
38
  });
42
39
 
40
+ // call unmount() on teardown
41
+ ```
42
+
43
+ For fine-grained control over the sequence:
44
+
45
+ ```ts
46
+ // 1. Register render targets.
47
+ runtime.registerWidgetTargets({ w1: targetForW1, w2: targetForW2 });
48
+
49
+ // 2. Apply the grid layout (stores the grid entry internally).
50
+ await runtime.applyDashboardLayout({ session, gridId: "gridstack", target: gridTarget });
51
+
52
+ // 3. Execute all widgets (targets resolved from the internal map).
53
+ await runtime.executeAllWidgets({ session, context });
54
+
55
+ // 4. Subscribe grid layout changes to visualization resize.
56
+ const unbind = await runtime.bindLayoutResize(session);
57
+
43
58
  // call unbind() on teardown
44
59
  ```
45
60
 
@@ -69,6 +69,14 @@ export type VisualizationCapabilities = {
69
69
  supportsHtmlWidget?: boolean;
70
70
  supportsTheming?: boolean;
71
71
  supportsResize?: boolean;
72
+ /** @experimental */
73
+ supportsGauge?: boolean;
74
+ /** @experimental */
75
+ supportsBar?: boolean;
76
+ /** @experimental */
77
+ supportsPie?: boolean;
78
+ /** @experimental */
79
+ supportsHeatmap?: boolean;
72
80
  };
73
81
  /** Render request envelope passed to visualization adapters. */
74
82
  export type VisualizationRenderRequest = {
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { DatasourceQueryResult } from "./adapters";
2
2
  import type { DDashError } from "./errors";
3
3
  import type { AdapterRegistry } from "./registry";
4
- import { type ResolvedTimeRange, type RuntimeContext } from "./runtime.js";
4
+ import { type ResolvedTimeRange, type ResolvedVariables, type RuntimeContext } from "./runtime.js";
5
5
  import type { MetricDefinition, PersistedDashboard, PersistedWidget } from "./schema";
6
6
  import { type DashboardValidationOptions, type ValidationResult } from "./validation.js";
7
7
  /** Discriminated union of observable events emitted during widget execution. */
@@ -35,6 +35,12 @@ export type DashboardSession = {
35
35
  dashboard: PersistedDashboard;
36
36
  dashboardTimeRange: ResolvedTimeRange;
37
37
  widgets: PersistedWidget[];
38
+ /**
39
+ * Resolved template variable values for the session.
40
+ * Populated by `resolveVariables()` or `updateVariables()`.
41
+ * @experimental
42
+ */
43
+ resolvedVariables?: ResolvedVariables;
38
44
  };
39
45
  /** Inputs for executing a single widget in a session. */
40
46
  export type ExecuteSessionWidgetInput<TTarget = unknown> = {
@@ -44,9 +50,8 @@ export type ExecuteSessionWidgetInput<TTarget = unknown> = {
44
50
  context: RuntimeContext;
45
51
  };
46
52
  /** Inputs for executing all widgets in a session. */
47
- export type ExecuteAllWidgetsInput<TTarget = unknown> = {
53
+ export type ExecuteAllWidgetsInput = {
48
54
  session: DashboardSession;
49
- targetByWidgetId: Record<string, TTarget>;
50
55
  context: RuntimeContext;
51
56
  };
52
57
  /** Widget execution result tuple for batch execution APIs. */
@@ -66,13 +71,49 @@ export type ApplyDashboardLayoutInput<TTarget = unknown> = {
66
71
  gridId: string;
67
72
  target: TTarget;
68
73
  };
69
- /** Inputs for binding grid layout-change events to visualization resize hooks. */
70
- export type BindLayoutResizeInput<TGridTarget = unknown, TWidgetTarget = unknown> = {
74
+ /** Inputs for the mountDashboard convenience method. */
75
+ export type MountDashboardInput<TGridTarget = unknown> = {
71
76
  session: DashboardSession;
72
77
  gridId: string;
73
78
  gridTarget: TGridTarget;
74
- targetByWidgetId?: Record<string, TWidgetTarget>;
75
- resolveTargetByWidgetId?: (widgetId: string) => TWidgetTarget | undefined;
79
+ context: RuntimeContext;
80
+ };
81
+ /** Result returned by mountDashboard. */
82
+ export type MountDashboardResult = {
83
+ /** Widget execution results, one per widget. */
84
+ widgetResults: ExecuteWidgetResult[];
85
+ /** Unbinds the layout-resize subscription set up during mount. */
86
+ unmount: () => void;
87
+ };
88
+ /**
89
+ * Session handle returned by createBoundSession.
90
+ * All methods are pre-bound to the session — no need to re-pass session on every call.
91
+ */
92
+ export type BoundDashboardSession = {
93
+ readonly session: DashboardSession;
94
+ applyLayout<TTarget = unknown>(input: Omit<ApplyDashboardLayoutInput<TTarget>, "session">): Promise<void>;
95
+ bindLayoutResize(): Promise<() => void>;
96
+ executeWidget<TTarget = unknown>(input: Omit<ExecuteSessionWidgetInput<TTarget>, "session">): Promise<DatasourceQueryResult>;
97
+ executeAllWidgets(input: Omit<ExecuteAllWidgetsInput, "session">): Promise<ExecuteWidgetResult[]>;
98
+ registerWidgetTargets<TTarget = unknown>(targets: Record<string, TTarget>): void;
99
+ mount<TGridTarget = unknown>(input: Omit<MountDashboardInput<TGridTarget>, "session">): Promise<MountDashboardResult>;
100
+ /**
101
+ * Updates the resolved variable values for the session and re-executes all widgets.
102
+ * @experimental
103
+ */
104
+ updateVariables(variableValues: Record<string, string | string[]>, context: RuntimeContext): Promise<ExecuteWidgetResult[]>;
105
+ };
106
+ /**
107
+ * A read-only snapshot that captures dashboard definition, cached widget data,
108
+ * and resolved variables at a point in time. Use `DashboardRuntime.serializeSession`
109
+ * and `DashboardRuntime.restoreSnapshot` to persist and reload sessions.
110
+ * @experimental
111
+ */
112
+ export type SerializedSnapshot = {
113
+ dashboard: PersistedDashboard;
114
+ capturedAt: number;
115
+ widgetData: Record<string, import("./adapters").DataFrame[]>;
116
+ resolvedVariables?: ResolvedVariables;
76
117
  };
77
118
  /** Structured runtime error union thrown by dashboard runtime APIs. */
78
119
  export type DashboardRuntimeError = DDashError & {
@@ -80,16 +121,56 @@ export type DashboardRuntimeError = DDashError & {
80
121
  };
81
122
  /** Public dashboard runtime API surface. */
82
123
  export type DashboardRuntime = {
124
+ /**
125
+ * Registers widget render targets in bulk so the runtime can resolve them
126
+ * during layout-resize orchestration without requiring a separate execute call.
127
+ * @experimental
128
+ */
129
+ registerWidgetTargets<TTarget = unknown>(targets: Record<string, TTarget>): void;
130
+ /**
131
+ * Returns a session handle with all methods pre-bound to the given session,
132
+ * eliminating the need to re-pass `session` on every subsequent call.
133
+ * @experimental
134
+ */
135
+ createBoundSession(session: DashboardSession): BoundDashboardSession;
136
+ /**
137
+ * Applies the dashboard layout, executes all widgets, and binds layout-resize
138
+ * orchestration in a single call. Returns widget execution results and an
139
+ * `unmount` function that tears down the resize subscription.
140
+ * @experimental
141
+ */
142
+ mountDashboard<TGridTarget = unknown>(input: MountDashboardInput<TGridTarget>): Promise<MountDashboardResult>;
83
143
  validateDashboard(dashboard: PersistedDashboard, options?: Omit<DashboardValidationOptions, "knownDatasources" | "knownVisualizations">): ValidationResult;
84
144
  validateDashboardWithRegistryMetrics(dashboard: PersistedDashboard, options?: Omit<DashboardValidationOptions, "knownDatasources" | "knownVisualizations" | "knownMetrics">): Promise<ValidationResult>;
85
145
  preflightDashboard(dashboard: PersistedDashboard): DashboardPreflightResult;
86
146
  applyDashboardLayout<TTarget = unknown>(input: ApplyDashboardLayoutInput<TTarget>): Promise<void>;
87
- bindLayoutResize<TGridTarget = unknown, TWidgetTarget = unknown>(input: BindLayoutResizeInput<TGridTarget, TWidgetTarget>): Promise<() => void>;
147
+ bindLayoutResize(session: DashboardSession): Promise<() => void>;
88
148
  createSession(dashboard: PersistedDashboard): DashboardSession;
89
149
  createSessionWithRegistryMetrics(dashboard: PersistedDashboard, options?: Omit<DashboardValidationOptions, "knownDatasources" | "knownVisualizations" | "knownMetrics">): Promise<DashboardSession>;
90
150
  executeWidget<TTarget = unknown>(input: ExecuteSessionWidgetInput<TTarget>): Promise<DatasourceQueryResult>;
91
- executeAllWidgets<TTarget = unknown>(input: ExecuteAllWidgetsInput<TTarget>): Promise<ExecuteWidgetResult[]>;
151
+ executeAllWidgets(input: ExecuteAllWidgetsInput): Promise<ExecuteWidgetResult[]>;
92
152
  discoverMetrics(datasourceId?: string): Promise<MetricDefinition[]>;
153
+ /**
154
+ * Resolves query-type template variables via their datasource adapter and
155
+ * returns the full `ResolvedVariables` map merged with any supplied overrides.
156
+ * Custom and textbox variables use their `default` value (or the override).
157
+ *
158
+ * @experimental
159
+ */
160
+ resolveVariables(session: DashboardSession, overrides?: Record<string, string | string[]>): Promise<ResolvedVariables>;
161
+ /**
162
+ * Serializes a session and its cached widget data into a portable snapshot object.
163
+ * The snapshot can be persisted as JSON and later restored with `restoreSnapshot`.
164
+ * @experimental
165
+ */
166
+ serializeSession(session: DashboardSession, widgetData: Record<string, import("./adapters").DataFrame[]>): SerializedSnapshot;
167
+ /**
168
+ * Reconstructs a `DashboardSession` from a previously serialized snapshot.
169
+ * Widget execution is NOT re-run — use the snapshot `widgetData` to hydrate
170
+ * your visualization adapters directly.
171
+ * @experimental
172
+ */
173
+ restoreSnapshot(snapshot: SerializedSnapshot): DashboardSession;
93
174
  };
94
175
  /** Creates dashboard runtime orchestrator bound to adapter registry and clock/event hooks. */
95
176
  export declare function createDashboardRuntime(options: DashboardRuntimeOptions): DashboardRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-runtime.d.ts","sourceRoot":"","sources":["../src/dashboard-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-runtime.d.ts","sourceRoot":"","sources":["../src/dashboard-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import { executeWidget as executeWidgetOperation } from "./execution.js";
1
+ import { executeWidget as executeWidgetOperation, substituteVariableInString } from "./execution.js";
2
2
  import { resolveDashboardTimeRange, } from "./runtime.js";
3
3
  import { toSchemaValidationError, validatePersistedDashboard, } from "./validation.js";
4
4
  /** Creates dashboard runtime orchestrator bound to adapter registry and clock/event hooks. */
5
5
  export function createDashboardRuntime(options) {
6
6
  const getNow = options.now ?? Date.now;
7
+ // Populated by executeWidget and registerWidgetTargets so that executeAllWidgets
8
+ // and bindLayoutResize can resolve targets without requiring the host to pass them.
9
+ const widgetTargets = new Map();
10
+ // Keyed by dashboardId. Stores the gridId and grid target set by applyDashboardLayout
11
+ // so that bindLayoutResize needs no extra input — one dashboard maps to one grid.
12
+ const gridEntries = new Map();
7
13
  return {
8
14
  validateDashboard(dashboard, userOptions = {}) {
9
15
  return validatePersistedDashboard(dashboard, {
@@ -44,6 +50,11 @@ export function createDashboardRuntime(options) {
44
50
  },
45
51
  async applyDashboardLayout(input) {
46
52
  const adapter = options.registry.requireGrid(input.gridId);
53
+ // Store gridId and target keyed by dashboardId — one dashboard maps to one grid.
54
+ gridEntries.set(input.session.dashboard.dashboardId, {
55
+ gridId: input.gridId,
56
+ target: input.target,
57
+ });
47
58
  // Build a widgetId lookup keyed by layoutId so layout items map to widget identifiers.
48
59
  const widgetByLayoutId = new Map();
49
60
  for (const widget of input.session.widgets) {
@@ -65,18 +76,21 @@ export function createDashboardRuntime(options) {
65
76
  }
66
77
  await adapter.applyLayout(changes, input.target);
67
78
  },
68
- async bindLayoutResize(input) {
69
- const grid = options.registry.requireGrid(input.gridId);
79
+ async bindLayoutResize(session) {
80
+ const dashboardId = session.dashboard.dashboardId;
81
+ const gridEntry = gridEntries.get(dashboardId);
82
+ if (gridEntry === undefined) {
83
+ throw new DashboardRuntimeException("RUNTIME_TARGET_MISSING", `No grid registered for dashboard '${dashboardId}'. Call applyDashboardLayout before bindLayoutResize.`, { dashboardId });
84
+ }
85
+ const grid = options.registry.requireGrid(gridEntry.gridId);
70
86
  if (!grid.subscribeLayoutChanges) {
71
87
  return () => { };
72
88
  }
73
- const resolveTargetByWidgetId = input.resolveTargetByWidgetId ??
74
- ((widgetId) => input.targetByWidgetId?.[widgetId]);
75
89
  const widgetById = new Map();
76
- for (const widget of input.session.widgets) {
90
+ for (const widget of session.widgets) {
77
91
  widgetById.set(widget.id, widget);
78
92
  }
79
- const unsubscribe = await grid.subscribeLayoutChanges(input.gridTarget, (changes) => {
93
+ const unsubscribe = await grid.subscribeLayoutChanges(gridEntry.target, (changes) => {
80
94
  // Resize each affected widget once per grid event batch.
81
95
  const touchedWidgetIds = new Set(changes.map((change) => change.widgetId));
82
96
  for (const widgetId of touchedWidgetIds) {
@@ -84,7 +98,7 @@ export function createDashboardRuntime(options) {
84
98
  if (!widget) {
85
99
  continue;
86
100
  }
87
- const target = resolveTargetByWidgetId(widget.id);
101
+ const target = widgetTargets.get(widget.id);
88
102
  if (target === undefined) {
89
103
  continue;
90
104
  }
@@ -94,6 +108,59 @@ export function createDashboardRuntime(options) {
94
108
  });
95
109
  return unsubscribe;
96
110
  },
111
+ registerWidgetTargets(targets) {
112
+ for (const [widgetId, target] of Object.entries(targets)) {
113
+ widgetTargets.set(widgetId, target);
114
+ }
115
+ },
116
+ createBoundSession(session) {
117
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
118
+ const runtime = this;
119
+ return {
120
+ session,
121
+ applyLayout(input) {
122
+ return runtime.applyDashboardLayout({ ...input, session });
123
+ },
124
+ bindLayoutResize() {
125
+ return runtime.bindLayoutResize(session);
126
+ },
127
+ executeWidget(input) {
128
+ return runtime.executeWidget({ ...input, session });
129
+ },
130
+ executeAllWidgets(input) {
131
+ return runtime.executeAllWidgets({ ...input, session });
132
+ },
133
+ registerWidgetTargets(targets) {
134
+ runtime.registerWidgetTargets(targets);
135
+ },
136
+ mount(input) {
137
+ return runtime.mountDashboard({ ...input, session });
138
+ },
139
+ async updateVariables(variableValues, context) {
140
+ // Merge override values with the current resolved variables.
141
+ const updated = await runtime.resolveVariables(session, variableValues);
142
+ // Mutate the session's resolvedVariables in place so subsequent calls see the new values.
143
+ session.resolvedVariables = updated;
144
+ return runtime.executeAllWidgets({
145
+ session,
146
+ context: { ...context, resolvedVariables: updated },
147
+ });
148
+ },
149
+ };
150
+ },
151
+ async mountDashboard(input) {
152
+ await this.applyDashboardLayout({
153
+ session: input.session,
154
+ gridId: input.gridId,
155
+ target: input.gridTarget,
156
+ });
157
+ const widgetResults = await this.executeAllWidgets({
158
+ session: input.session,
159
+ context: input.context,
160
+ });
161
+ const unsubscribe = await this.bindLayoutResize(input.session);
162
+ return { widgetResults, unmount: unsubscribe };
163
+ },
97
164
  createSession(dashboard) {
98
165
  const validation = this.validateDashboard(dashboard);
99
166
  return buildSessionFromValidatedDashboard(validation, dashboard, getNow);
@@ -107,6 +174,8 @@ export function createDashboardRuntime(options) {
107
174
  if (!widget) {
108
175
  throw new DashboardRuntimeException("RUNTIME_WIDGET_NOT_FOUND", `Widget '${input.widgetId}' not found in session.`, { widgetId: input.widgetId });
109
176
  }
177
+ // Cache the target so bindLayoutResize can resolve it without a host-supplied map.
178
+ widgetTargets.set(input.widgetId, input.target);
110
179
  const dashboardId = input.session.dashboard.dashboardId;
111
180
  const widgetId = input.widgetId;
112
181
  const emit = options.onEvent;
@@ -144,7 +213,7 @@ export function createDashboardRuntime(options) {
144
213
  async executeAllWidgets(input) {
145
214
  const results = [];
146
215
  for (const widget of input.session.widgets) {
147
- const target = input.targetByWidgetId[widget.id];
216
+ const target = widgetTargets.get(widget.id);
148
217
  if (target === undefined) {
149
218
  throw new DashboardRuntimeException("RUNTIME_TARGET_MISSING", `Missing render target for widget '${widget.id}'.`, { widgetId: widget.id });
150
219
  }
@@ -184,6 +253,80 @@ export function createDashboardRuntime(options) {
184
253
  }
185
254
  return dedupeMetrics(allMetrics);
186
255
  },
256
+ async resolveVariables(session, overrides = {}) {
257
+ const resolved = {};
258
+ for (const variable of session.dashboard.variables ?? []) {
259
+ const override = overrides[variable.name];
260
+ if (variable.type === "custom") {
261
+ // Use override if provided, otherwise fall back to default or first option.
262
+ if (override !== undefined) {
263
+ resolved[variable.name] = override;
264
+ }
265
+ else if (variable.default !== undefined) {
266
+ resolved[variable.name] = variable.default;
267
+ }
268
+ else if (variable.options.length > 0) {
269
+ resolved[variable.name] = variable.options[0];
270
+ }
271
+ }
272
+ else if (variable.type === "textbox") {
273
+ resolved[variable.name] =
274
+ override ?? variable.default ?? "";
275
+ }
276
+ else if (variable.type === "query") {
277
+ if (override !== undefined) {
278
+ resolved[variable.name] = override;
279
+ }
280
+ else {
281
+ // Execute a lightweight datasource query to resolve variable options.
282
+ const adapter = options.registry.requireDatasource(variable.datasource);
283
+ try {
284
+ const queryMetric = substituteVariableInString(variable.query, resolved);
285
+ const result = await adapter.query({
286
+ metric: queryMetric,
287
+ timeRange: session.dashboardTimeRange,
288
+ }, { traceId: `var-resolve-${variable.name}`, resolvedVariables: resolved });
289
+ // Collect the first string/number field values as the resolved options.
290
+ const values = [];
291
+ for (const frame of result.frames) {
292
+ for (const field of frame.fields) {
293
+ if (field.type === "string" || field.type === "number") {
294
+ for (const v of field.values) {
295
+ if (v !== null && v !== undefined) {
296
+ values.push(String(v));
297
+ }
298
+ }
299
+ break; // Use only the first eligible field.
300
+ }
301
+ }
302
+ }
303
+ resolved[variable.name] = variable.multi ? values : (values[0] ?? "");
304
+ }
305
+ catch {
306
+ // Gracefully fall back to empty string on resolution failure.
307
+ resolved[variable.name] = variable.multi ? [] : "";
308
+ }
309
+ }
310
+ }
311
+ }
312
+ return { ...resolved, ...overrides };
313
+ },
314
+ serializeSession(session, widgetData) {
315
+ return {
316
+ dashboard: session.dashboard,
317
+ capturedAt: getNow(),
318
+ widgetData,
319
+ resolvedVariables: session.resolvedVariables,
320
+ };
321
+ },
322
+ restoreSnapshot(snapshot) {
323
+ const validation = this.validateDashboard(snapshot.dashboard);
324
+ const restoredSession = buildSessionFromValidatedDashboard(validation, snapshot.dashboard, getNow);
325
+ return {
326
+ ...restoredSession,
327
+ resolvedVariables: snapshot.resolvedVariables,
328
+ };
329
+ },
187
330
  };
188
331
  }
189
332
  function buildSessionFromValidatedDashboard(validation, dashboard, getNow) {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-runtime.js","sourceRoot":"","sources":["../src/dashboard-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-runtime.js","sourceRoot":"","sources":["../src/dashboard-runtime.ts"],"names":[],"mappings":"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"}
@@ -34,4 +34,10 @@ export declare function executeWidgetRender<TTarget = unknown>(registry: Adapter
34
34
  export declare function executeWidget<TTarget = unknown>(input: ExecuteWidgetInput<TTarget>): Promise<DatasourceQueryResult>;
35
35
  /** Builds a resolved widget execution request from persisted widget and runtime context. */
36
36
  export declare function buildWidgetExecutionRequest(input: BuildWidgetExecutionRequestInput): ResolvedWidgetExecutionRequest;
37
+ /**
38
+ * Substitutes a single `$variableName` reference in a plain string.
39
+ * Multi-value variables use the first value.
40
+ */
41
+ export declare function substituteVariableInString(value: string, variables: import("./runtime.js").ResolvedVariables): string;
42
+ export declare function substituteVariablesInJsonObject(obj: import("./json").JsonObject | undefined, variables: import("./runtime.js").ResolvedVariables): import("./json").JsonObject | undefined;
37
43
  //# sourceMappingURL=execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,oEAAoE;AACpE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,CAAC,OAAO,GAAG,OAAO,IAAI;IACxD,OAAO,EAAE,8BAA8B,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI;IAClD,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+DAA+D;AAC/D,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,OAAO,GAAG,OAAO,EACzD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,+FAA+F;AAC/F,wBAAsB,aAAa,CAAC,OAAO,GAAG,OAAO,EACnD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,GACtC,8BAA8B,CAiBhC"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,oEAAoE;AACpE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,CAAC,OAAO,GAAG,OAAO,IAAI;IACxD,OAAO,EAAE,8BAA8B,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI;IAClD,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+DAA+D;AAC/D,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,OAAO,GAAG,OAAO,EACzD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,+FAA+F;AAC/F,wBAAsB,aAAa,CAAC,OAAO,GAAG,OAAO,EACnD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,GACtC,8BAA8B,CAkDhC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,cAAc,EAAE,iBAAiB,GAClD,MAAM,CAMR;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,QAAQ,EAAE,UAAU,GAAG,SAAS,EAC5C,SAAS,EAAE,OAAO,cAAc,EAAE,iBAAiB,GAClD,OAAO,QAAQ,EAAE,UAAU,GAAG,SAAS,CAuBzC"}
package/dist/execution.js CHANGED
@@ -53,17 +53,78 @@ export async function executeWidget(input) {
53
53
  /** Builds a resolved widget execution request from persisted widget and runtime context. */
54
54
  export function buildWidgetExecutionRequest(input) {
55
55
  const resolvedTimeRange = resolveWidgetTimeRange(input.widget.timeRange, input.dashboardTimeRange, { now: input.now });
56
+ const vars = input.context.resolvedVariables;
57
+ // Substitute $variableName occurrences in filter string values.
58
+ const filters = vars
59
+ ? substituteVariablesInJsonObject(input.widget.query.filters, vars)
60
+ : input.widget.query.filters;
61
+ // Also substitute variables in the metric field so queries like `{ metric: '$host' }` work.
62
+ const metric = vars && typeof input.widget.query.metric === "string"
63
+ ? substituteVariableInString(input.widget.query.metric, vars)
64
+ : input.widget.query.metric;
65
+ const options = vars && input.widget.options
66
+ ? substituteVariablesInJsonObject(input.widget.options, vars)
67
+ : input.widget.options;
68
+ const display = input.widget.display
69
+ ? {
70
+ ...input.widget.display,
71
+ title: vars && typeof input.widget.display.title === "string"
72
+ ? substituteVariableInString(input.widget.display.title, vars)
73
+ : input.widget.display.title,
74
+ description: vars && typeof input.widget.display.description === "string"
75
+ ? substituteVariableInString(input.widget.display.description, vars)
76
+ : input.widget.display.description,
77
+ }
78
+ : undefined;
56
79
  return {
57
80
  dashboardId: input.dashboardId,
58
81
  widgetId: input.widget.id,
59
82
  datasourceId: input.widget.datasource,
60
- query: input.widget.query,
83
+ query: { ...input.widget.query, metric, filters },
61
84
  visualization: input.widget.visualization,
62
85
  resolvedTimeRange,
63
- options: input.widget.options,
86
+ options,
87
+ display,
64
88
  context: input.context,
65
89
  };
66
90
  }
91
+ /**
92
+ * Substitutes a single `$variableName` reference in a plain string.
93
+ * Multi-value variables use the first value.
94
+ */
95
+ export function substituteVariableInString(value, variables) {
96
+ return value.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g, (_, varName) => {
97
+ const resolved = variables[varName];
98
+ if (resolved === undefined)
99
+ return `$${varName}`;
100
+ return Array.isArray(resolved) ? resolved[0] : resolved;
101
+ });
102
+ }
103
+ export function substituteVariablesInJsonObject(obj, variables) {
104
+ if (!obj) {
105
+ return obj;
106
+ }
107
+ const result = {};
108
+ for (const [key, value] of Object.entries(obj)) {
109
+ if (typeof value === "string") {
110
+ result[key] = value.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g, (_, varName) => {
111
+ const resolved = variables[varName];
112
+ if (resolved === undefined) {
113
+ return `$${varName}`;
114
+ }
115
+ return Array.isArray(resolved) ? resolved.join(",") : resolved;
116
+ });
117
+ }
118
+ else if (value !== null && typeof value === "object" && !Array.isArray(value)) {
119
+ // Recursively substitute inner objects
120
+ result[key] = substituteVariablesInJsonObject(value, variables);
121
+ }
122
+ else {
123
+ result[key] = value;
124
+ }
125
+ }
126
+ return result;
127
+ }
67
128
  class DatasourceQueryException extends Error {
68
129
  code = "DATASOURCE_QUERY_FAILED";
69
130
  details;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,GAIvB,MAAM,cAAc,CAAC;AA8BtB,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAyB,EACzB,OAAuC;IAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE,IACE,OAAO,CAAC,KAAK,CAAC,OAAO;QACrB,OAAO,CAAC,YAAY,EAAE,oBAAoB,KAAK,KAAK,EACpD,CAAC;QACD,MAAM,IAAI,2BAA2B,CACnC,qDAAqD,EACrD;YACE,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAA2B;QAC3C,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QAC5B,SAAS,EAAE,OAAO,CAAC,iBAAiB;QACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;KAC/B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAyB,EACzB,KAAwC;IAExC,MAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAC3C,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CACjC,CAAC;IACF,6BAA6B,CAC3B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAChC,OAAO,CAAC,YAAY,CACrB,CAAC;IAEF,MAAM,aAAa,GAA+B;QAChD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI;QACtC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;KAC/B,CAAC;IAEF,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAkC;IAElC,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEjE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE;QACxC,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,2BAA2B,CACzC,KAAuC;IAEvC,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,KAAK,CAAC,MAAM,CAAC,SAAS,EACtB,KAAK,CAAC,kBAAkB,EACxB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CACnB,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAE7C,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAC,+BAA+B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QACnE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;IAE/B,4FAA4F;IAC5F,MAAM,MAAM,GACV,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;QACnD,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IAEhC,MAAM,OAAO,GACX,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;QAC1B,CAAC,CAAC,+BAA+B,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO;QAClC,CAAC,CAAC;YACE,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO;YACvB,KAAK,EACH,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;gBACpD,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC9D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK;YAChC,WAAW,EACT,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ;gBAC1D,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;gBACpE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW;SACvC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACzB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACrC,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACjD,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;QACzC,iBAAiB;QACjB,OAAO;QACP,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAa,EACb,SAAmD;IAEnD,OAAO,KAAK,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE;QACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,IAAI,OAAO,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,GAA4C,EAC5C,SAAmD;IAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE,OAAe,EAAE,EAAE;gBAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,IAAI,OAAO,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChF,uCAAuC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,+BAA+B,CAAC,KAAoC,EAAE,SAAS,CAA+B,CAAC;QAC/H,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,wBAAyB,SAAQ,KAAK;IACjC,IAAI,GAAG,yBAAkC,CAAC;IAC1C,OAAO,CAAc;IACrB,SAAS,GAAG,IAAI,CAAC;IAE1B,YAAY,OAAe,EAAE,OAAoB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,MAA6B,EAC7B,YAAoB,EACpB,QAAgB;IAEhB,IACE,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,MAAM,KAAK,OAAO,EACzB,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,wCAAwC,EACxC;YACE,YAAY;YACZ,QAAQ;YACR,MAAM,EAAE,MAAM,CAAE,MAA+B,CAAC,MAAM,CAAC;SACxD,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAwB,CAChC,4CAA4C,EAC5C;YACE,YAAY;YACZ,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CACF,CAAC;IACJ,CAAC;IAED,mFAAmF;IACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAyB,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,wBAAwB,CAAC,oCAAoC,EAAE;gBACvE,YAAY;gBACZ,QAAQ;gBACR,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAI3B,CAAC;YAEF,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,wBAAwB,CAChC,4CAA4C,EAC5C;oBACE,YAAY;oBACZ,QAAQ;oBACR,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;iBACd,CACF,CAAC;YACJ,CAAC;YAED,IACE,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACvB,KAAK,CAAC,IAAI,KAAK,SAAS,EACxB,CAAC;gBACD,MAAM,IAAI,wBAAwB,CAAC,4BAA4B,EAAE;oBAC/D,YAAY;oBACZ,QAAQ;oBACR,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,wBAAwB,CAChC,oCAAoC,EACpC;oBACE,YAAY;oBACZ,QAAQ;oBACR,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;iBACd,CACF,CAAC;YACJ,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,IAAI,wBAAwB,CAChC,iDAAiD,EACjD;wBACE,YAAY;wBACZ,QAAQ;wBACR,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,YAAY,EAAE,KAAK,CAAC,IAAI;qBACzB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QAC1D,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3B,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,kEAAkE,EAClE;YACE,YAAY;YACZ,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,IAA8C;IAE9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,KAA8C,CAAC;IAClE,OAAO,CACL,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QACnC,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,2BAA4B,SAAQ,KAAK;IACpC,IAAI,GAAG,qBAA8B,CAAC;IACtC,OAAO,CAAc;IACrB,SAAS,GAAG,KAAK,CAAC;IAE3B,YAAY,OAAe,EAAE,OAAoB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,SAAS,6BAA6B,CACpC,IAAY,EACZ,YAQa;IAEb,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,IAAI,YAAY,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,2BAA2B,CACnC,4DAA4D,EAC5D,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,2BAA2B,CACnC,sDAAsD,EACtD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;QAC7D,MAAM,IAAI,2BAA2B,CACnC,uDAAuD,EACvD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,2BAA2B,CACnC,sDAAsD,EACtD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,2BAA2B,CACnC,sDAAsD,EACtD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export type { JsonArray, JsonObject, JsonPrimitive, JsonValue } from "./json";
2
2
  export type { DDashError, DDashErrorCode } from "./errors";
3
- export type { DashboardMeta, LayoutItem, MetricDefinition, PersistedDashboard, PersistedTimeRange, PersistedWidget, SchemaVersion, VisualizationKind, WidgetDisplay, WidgetQuery, WidgetVisualization, } from "./schema";
3
+ export type { DashboardMeta, LayoutItem, MetricDefinition, PersistedCustomVariable, PersistedDashboard, PersistedQueryVariable, PersistedTextboxVariable, PersistedTimeRange, PersistedVariable, PersistedWidget, SchemaVersion, VisualizationKind, WidgetDisplay, WidgetQuery, WidgetVisualization, } from "./schema";
4
4
  export type { MigrationResult, VersionedPersistedDashboard, } from "./migrations";
5
5
  export { LATEST_SCHEMA_VERSION, migratePersistedDashboard, } from "./migrations.js";
6
- export type { ResolvedTimeRange, ResolvedWidgetExecutionRequest, RuntimeContext, RuntimeWidget, TimeRangeResolveError, TimeResolveOptions, } from "./runtime";
6
+ export type { ResolvedTimeRange, ResolvedVariables, ResolvedWidgetExecutionRequest, RuntimeContext, RuntimeWidget, TimeRangeResolveError, TimeResolveOptions, } from "./runtime";
7
7
  export { resolveDashboardTimeRange, resolveWidgetTimeRange, } from "./runtime.js";
8
8
  export type { BuildWidgetExecutionRequestInput, ExecuteWidgetInput, ExecuteWidgetRenderInput, } from "./execution";
9
9
  export { buildWidgetExecutionRequest, executeWidget, executeWidgetQuery, executeWidgetRender, } from "./execution.js";
@@ -12,6 +12,6 @@ export type { AdapterRegistry, RegistryDuplicatePolicy, RegistryError, RegistryO
12
12
  export { createAdapterRegistry } from "./registry.js";
13
13
  export type { DashboardValidationOptions, ValidationIssue, ValidationIssueCode, ValidationResult, } from "./validation";
14
14
  export { toSchemaValidationError, validatePersistedDashboard, } from "./validation.js";
15
- export type { ApplyDashboardLayoutInput, BindLayoutResizeInput, DashboardPreflightResult, DashboardRuntimeError, DashboardRuntime, DashboardRuntimeOptions, DashboardSession, ExecuteAllWidgetsInput, ExecuteSessionWidgetInput, ExecuteWidgetResult, RuntimeEvent, RuntimeEventHandler, } from "./dashboard-runtime";
15
+ export type { ApplyDashboardLayoutInput, BoundDashboardSession, DashboardPreflightResult, DashboardRuntimeError, DashboardRuntime, DashboardRuntimeOptions, DashboardSession, ExecuteAllWidgetsInput, ExecuteSessionWidgetInput, ExecuteWidgetResult, MountDashboardInput, MountDashboardResult, RuntimeEvent, RuntimeEventHandler, SerializedSnapshot, } from "./dashboard-runtime";
16
16
  export { createDashboardRuntime } from "./dashboard-runtime.js";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3D,YAAY,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,8BAA8B,EAC9B,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,gCAAgC,EAChC,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY,EACV,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9E,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3D,YAAY,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,EAC9B,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,gCAAgC,EAChC,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY,EACV,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AA8BxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAStD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAiBzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AA8BxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAQtD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAoBzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,11 +1,17 @@
1
1
  import type { JsonObject } from "./json";
2
- import type { PersistedWidget, WidgetQuery, WidgetVisualization } from "./schema";
2
+ import type { PersistedWidget, WidgetQuery, WidgetVisualization, WidgetDisplay } from "./schema";
3
3
  /** Fully resolved absolute time range used for execution. */
4
4
  export type ResolvedTimeRange = {
5
5
  from: number;
6
6
  to: number;
7
7
  source: "dashboard" | "widget";
8
8
  };
9
+ /**
10
+ * Resolved template variable values keyed by variable name.
11
+ * Multi-value variables hold a string array; single-value variables hold a string.
12
+ * @experimental
13
+ */
14
+ export type ResolvedVariables = Record<string, string | string[]>;
9
15
  /** Runtime context forwarded through query and render paths. */
10
16
  export type RuntimeContext = {
11
17
  traceId: string;
@@ -13,6 +19,12 @@ export type RuntimeContext = {
13
19
  cancellation?: {
14
20
  isCancelled: boolean;
15
21
  };
22
+ /**
23
+ * Resolved template variable values. When present, `$variableName` occurrences
24
+ * in widget query filter string values are substituted before execution.
25
+ * @experimental
26
+ */
27
+ resolvedVariables?: ResolvedVariables;
16
28
  };
17
29
  /** Execution-ready widget request built from persisted and resolved contracts. */
18
30
  export type ResolvedWidgetExecutionRequest = {
@@ -23,6 +35,7 @@ export type ResolvedWidgetExecutionRequest = {
23
35
  visualization: WidgetVisualization;
24
36
  resolvedTimeRange: ResolvedTimeRange;
25
37
  options?: JsonObject;
38
+ display?: WidgetDisplay;
26
39
  context: RuntimeContext;
27
40
  };
28
41
  /** Runtime widget view model with effective time range. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;CAChC,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE;QACb,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,mBAAmB,CAAC;IACnC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,kBAAkB,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAcF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAClD,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA8BnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EACX;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C,SAAS,EACb,0BAA0B,EAAE,iBAAiB,EAC7C,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAkCnB"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElE,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE;QACb,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,mBAAmB,CAAC;IACnC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,kBAAkB,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAcF;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAClD,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA8BnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EACX;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C,SAAS,EACb,0BAA0B,EAAE,iBAAiB,EAC7C,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CAkCnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -18,6 +18,7 @@ export type DashboardMeta = {
18
18
  description?: string;
19
19
  tags?: string[];
20
20
  folder?: string;
21
+ tenant?: string;
21
22
  };
22
23
  /** Persisted layout entry for a dashboard widget tile. */
23
24
  export type LayoutItem = {
@@ -38,7 +39,7 @@ export type WidgetQuery = {
38
39
  filters?: JsonObject;
39
40
  };
40
41
  /** Visualization kind identifier used by adapter registry and widgets. */
41
- export type VisualizationKind = "timeseries" | "stat" | "table" | "text" | "html" | (string & {});
42
+ export type VisualizationKind = "timeseries" | "stat" | "table" | "text" | "html" | "gauge" | "bar" | "pie" | "heatmap" | (string & {});
42
43
  /** Persisted visualization configuration for a widget. */
43
44
  export type WidgetVisualization = {
44
45
  type: VisualizationKind;
@@ -54,6 +55,46 @@ export type PersistedWidget = {
54
55
  timeRange?: PersistedTimeRange;
55
56
  options?: JsonObject;
56
57
  };
58
+ /**
59
+ * A custom (static) template variable with a fixed list of options.
60
+ * @experimental
61
+ */
62
+ export type PersistedCustomVariable = {
63
+ type: "custom";
64
+ name: string;
65
+ label?: string;
66
+ options: string[];
67
+ default?: string;
68
+ multi?: boolean;
69
+ };
70
+ /**
71
+ * A query-backed template variable resolved by a datasource at runtime.
72
+ * @experimental
73
+ */
74
+ export type PersistedQueryVariable = {
75
+ type: "query";
76
+ name: string;
77
+ label?: string;
78
+ datasource: string;
79
+ query: string;
80
+ multi?: boolean;
81
+ };
82
+ /**
83
+ * A free-text input template variable.
84
+ * @experimental
85
+ */
86
+ export type PersistedTextboxVariable = {
87
+ type: "textbox";
88
+ name: string;
89
+ label?: string;
90
+ default?: string;
91
+ };
92
+ /**
93
+ * Union of all persisted variable kinds supported by d-dash.
94
+ * Add persisted dashboard `variables` to enable template variable substitution.
95
+ * @experimental
96
+ */
97
+ export type PersistedVariable = PersistedCustomVariable | PersistedQueryVariable | PersistedTextboxVariable;
57
98
  /** Top-level persisted dashboard contract. */
58
99
  export type PersistedDashboard = {
59
100
  schemaVersion: SchemaVersion;
@@ -62,6 +103,12 @@ export type PersistedDashboard = {
62
103
  timeRange: PersistedTimeRange;
63
104
  layout: LayoutItem[];
64
105
  widgets: PersistedWidget[];
106
+ /**
107
+ * Optional template variables. Values are resolved at session creation time
108
+ * and substituted into widget query filters using $variableName syntax.
109
+ * @experimental
110
+ */
111
+ variables?: PersistedVariable[];
65
112
  extensions?: Record<string, JsonValue>;
66
113
  };
67
114
  /** Metric metadata contract used for validation and discovery. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEpD,kDAAkD;AAClD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC;AAE9B,gEAAgE;AAChE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;CAC9C,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { DDashError } from "./errors";
2
2
  import type { MetricDefinition, PersistedDashboard } from "./schema";
3
3
  /** Stable validation issue codes produced by dashboard schema validation. */
4
- export type ValidationIssueCode = "SCHEMA_UNSUPPORTED_VERSION" | "REQUIRED_FIELD_MISSING" | "INVALID_TIME_RANGE" | "DUPLICATE_LAYOUT_ID" | "DUPLICATE_WIDGET_ID" | "LAYOUT_REF_NOT_FOUND" | "DATASOURCE_NOT_FOUND" | "VISUALIZATION_NOT_FOUND" | "METRIC_NOT_FOUND" | "METRIC_VISUALIZATION_MISMATCH";
4
+ export type ValidationIssueCode = "SCHEMA_UNSUPPORTED_VERSION" | "REQUIRED_FIELD_MISSING" | "INVALID_TIME_RANGE" | "DUPLICATE_LAYOUT_ID" | "DUPLICATE_WIDGET_ID" | "LAYOUT_REF_NOT_FOUND" | "DATASOURCE_NOT_FOUND" | "VISUALIZATION_NOT_FOUND" | "METRIC_NOT_FOUND" | "METRIC_VISUALIZATION_MISMATCH" | "VARIABLE_NAME_DUPLICATE" | "VARIABLE_DATASOURCE_NOT_FOUND" | "VARIABLE_INVALID" | "VARIABLE_CIRCULAR_DEPENDENCY";
5
5
  /** Single dashboard validation issue entry. */
6
6
  export type ValidationIssue = {
7
7
  code: ValidationIssueCode;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAElB,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAC3B,4BAA4B,GAC5B,wBAAwB,GACxB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,yBAAyB,GACzB,kBAAkB,GAClB,+BAA+B,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,0BAA+B,GACvC,gBAAgB,CAiKlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,GACvB,UAAU,GAAG,SAAS,CAkBxB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAElB,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,GAC3B,4BAA4B,GAC5B,wBAAwB,GACxB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,yBAAyB,GACzB,kBAAkB,GAClB,+BAA+B,GAC/B,yBAAyB,GACzB,+BAA+B,GAC/B,kBAAkB,GAClB,8BAA8B,CAAC;AAEnC,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,GAAE,0BAA+B,GACvC,gBAAgB,CAoTlB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,GACvB,UAAU,GAAG,SAAS,CAkBxB"}
@@ -25,6 +25,13 @@ export function validatePersistedDashboard(dashboard, options = {}) {
25
25
  message: "meta.title is required.",
26
26
  });
27
27
  }
28
+ if (dashboard.meta?.tenant !== undefined && !isNonEmptyString(dashboard.meta.tenant)) {
29
+ issues.push({
30
+ code: "REQUIRED_FIELD_MISSING",
31
+ path: "meta.tenant",
32
+ message: "meta.tenant must be a non-empty string.",
33
+ });
34
+ }
28
35
  validateTimeRange(dashboard.timeRange, "timeRange", issues);
29
36
  const layoutIds = new Set();
30
37
  for (let i = 0; i < dashboard.layout.length; i += 1) {
@@ -138,6 +145,132 @@ export function validatePersistedDashboard(dashboard, options = {}) {
138
145
  validateTimeRange(widget.timeRange, `${pathPrefix}.timeRange`, issues);
139
146
  }
140
147
  }
148
+ // Validate template variables when present.
149
+ if (Array.isArray(dashboard.variables)) {
150
+ const variableNames = new Set();
151
+ for (let i = 0; i < dashboard.variables.length; i += 1) {
152
+ const variable = dashboard.variables[i];
153
+ const varPath = `variables[${i}]`;
154
+ if (!isNonEmptyString(variable.name)) {
155
+ issues.push({
156
+ code: "VARIABLE_INVALID",
157
+ path: `${varPath}.name`,
158
+ message: "Variable name must be a non-empty string.",
159
+ });
160
+ continue;
161
+ }
162
+ if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(variable.name)) {
163
+ issues.push({
164
+ code: "VARIABLE_INVALID",
165
+ path: `${varPath}.name`,
166
+ message: `Variable name '${variable.name}' must start with a letter or underscore and contain only alphanumeric characters or underscores.`,
167
+ });
168
+ continue;
169
+ }
170
+ if (variableNames.has(variable.name)) {
171
+ issues.push({
172
+ code: "VARIABLE_NAME_DUPLICATE",
173
+ path: `${varPath}.name`,
174
+ message: `Duplicate variable name '${variable.name}'.`,
175
+ });
176
+ continue;
177
+ }
178
+ variableNames.add(variable.name);
179
+ if (variable.type === "custom" && !Array.isArray(variable.options)) {
180
+ issues.push({
181
+ code: "VARIABLE_INVALID",
182
+ path: `${varPath}.options`,
183
+ message: `Custom variable '${variable.name}' must have an options array.`,
184
+ });
185
+ }
186
+ if (variable.type === "query") {
187
+ if (!isNonEmptyString(variable.datasource)) {
188
+ issues.push({
189
+ code: "VARIABLE_INVALID",
190
+ path: `${varPath}.datasource`,
191
+ message: `Query variable '${variable.name}' must specify a datasource.`,
192
+ });
193
+ }
194
+ else if (knownDatasourceSet.size > 0 &&
195
+ !knownDatasourceSet.has(variable.datasource)) {
196
+ issues.push({
197
+ code: "VARIABLE_DATASOURCE_NOT_FOUND",
198
+ path: `${varPath}.datasource`,
199
+ message: `datasource '${variable.datasource}' referenced by variable '${variable.name}' is not registered.`,
200
+ });
201
+ }
202
+ if (!isNonEmptyString(variable.query)) {
203
+ issues.push({
204
+ code: "VARIABLE_INVALID",
205
+ path: `${varPath}.query`,
206
+ message: `Query variable '${variable.name}' must specify a query string.`,
207
+ });
208
+ }
209
+ }
210
+ }
211
+ // Detect circular dependencies: a query variable whose query string references
212
+ // another variable that eventually references it back via $varName substitution.
213
+ if (dashboard.variables.length > 1) {
214
+ // Build adjacency map: variable name → set of variable names it depends on.
215
+ const deps = new Map();
216
+ for (const variable of dashboard.variables) {
217
+ if (!variableNames.has(variable.name)) {
218
+ // Skip variables that failed earlier name validation.
219
+ continue;
220
+ }
221
+ const refs = new Set();
222
+ if (variable.type === "query" && isNonEmptyString(variable.query)) {
223
+ const refPattern = /\$([a-zA-Z_][a-zA-Z0-9_]*)/g;
224
+ let m;
225
+ while ((m = refPattern.exec(variable.query)) !== null) {
226
+ const refName = m[1];
227
+ // Only track edges to other known variables, not self-references.
228
+ if (variableNames.has(refName) && refName !== variable.name) {
229
+ refs.add(refName);
230
+ }
231
+ }
232
+ }
233
+ deps.set(variable.name, refs);
234
+ }
235
+ // DFS cycle detection using an explicit path stack.
236
+ // Nodes whose name appears on the active stack path when revisited form a cycle.
237
+ const visited = new Set();
238
+ const stack = [];
239
+ const stackSet = new Set();
240
+ const cycleNodes = new Set();
241
+ const detectCycle = (name) => {
242
+ if (visited.has(name))
243
+ return;
244
+ if (stackSet.has(name)) {
245
+ // Back edge: record all nodes from the cycle entry point to the stack top.
246
+ const cycleStart = stack.indexOf(name);
247
+ for (let ci = cycleStart; ci < stack.length; ci += 1) {
248
+ cycleNodes.add(stack[ci]);
249
+ }
250
+ return;
251
+ }
252
+ stack.push(name);
253
+ stackSet.add(name);
254
+ for (const dep of deps.get(name) ?? []) {
255
+ detectCycle(dep);
256
+ }
257
+ stack.pop();
258
+ stackSet.delete(name);
259
+ visited.add(name);
260
+ };
261
+ for (const name of deps.keys()) {
262
+ detectCycle(name);
263
+ }
264
+ for (const varName of cycleNodes) {
265
+ const idx = dashboard.variables.findIndex((v) => v.name === varName);
266
+ issues.push({
267
+ code: "VARIABLE_CIRCULAR_DEPENDENCY",
268
+ path: `variables[${idx}].query`,
269
+ message: `Variable '${varName}' participates in a circular dependency.`,
270
+ });
271
+ }
272
+ }
273
+ }
141
274
  return {
142
275
  ok: issues.length === 0,
143
276
  issues,
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AA6CA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAA6B,EAC7B,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,SAAS,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,sDAAsD;SAChE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,yCAAyC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,OAAO,EAAE,wBAAwB,MAAM,CAAC,EAAE,IAAI;aAC/C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAClE,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,GAAG,UAAU,KAAK;gBACxB,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG,UAAU,KAAK;gBACxB,OAAO,EAAE,wBAAwB,MAAM,CAAC,EAAE,IAAI;aAC/C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,GAAG,UAAU,WAAW;gBAC9B,OAAO,EAAE,aAAa,MAAM,CAAC,QAAQ,4BAA4B;aAClE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,GAAG,UAAU,aAAa;gBAChC,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAC;QACL,CAAC;aAAM,IACL,kBAAkB,CAAC,IAAI,GAAG,CAAC;YAC3B,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAC1C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,GAAG,UAAU,aAAa;gBAChC,OAAO,EAAE,eAAe,MAAM,CAAC,UAAU,sBAAsB;aAChE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,GAAG,UAAU,qBAAqB;gBACxC,OAAO,EAAE,wCAAwC;aAClD,CAAC,CAAC;QACL,CAAC;aAAM,IACL,qBAAqB,CAAC,IAAI,GAAG,CAAC;YAC9B,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EACrD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,GAAG,UAAU,qBAAqB;gBACxC,OAAO,EAAE,kBAAkB,MAAM,CAAC,aAAa,CAAC,IAAI,sBAAsB;aAC3E,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,GAAG,UAAU,eAAe;gBAClC,OAAO,EAAE,kCAAkC;aAC5C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,GAAG,UAAU,eAAe;oBAClC,OAAO,EAAE,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB;iBAC3D,CAAC,CAAC;YACL,CAAC;YAED,IACE,MAAM;gBACN,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;gBAC5C,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EACnE,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,GAAG,UAAU,qBAAqB;oBACxC,OAAO,EAAE,kBAAkB,MAAM,CAAC,aAAa,CAAC,IAAI,kCAAkC,MAAM,CAAC,EAAE,IAAI;iBACpG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,UAAU,YAAY,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC;YAElC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,GAAG,OAAO,OAAO;oBACvB,OAAO,EAAE,2CAA2C;iBACrD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,GAAG,OAAO,OAAO;oBACvB,OAAO,EAAE,kBAAkB,QAAQ,CAAC,IAAI,mGAAmG;iBAC5I,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,GAAG,OAAO,OAAO;oBACvB,OAAO,EAAE,4BAA4B,QAAQ,CAAC,IAAI,IAAI;iBACvD,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,GAAG,OAAO,UAAU;oBAC1B,OAAO,EAAE,oBAAoB,QAAQ,CAAC,IAAI,+BAA+B;iBAC1E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,GAAG,OAAO,aAAa;wBAC7B,OAAO,EAAE,mBAAmB,QAAQ,CAAC,IAAI,8BAA8B;qBACxE,CAAC,CAAC;gBACL,CAAC;qBAAM,IACL,kBAAkB,CAAC,IAAI,GAAG,CAAC;oBAC3B,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC5C,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,+BAA+B;wBACrC,IAAI,EAAE,GAAG,OAAO,aAAa;wBAC7B,OAAO,EAAE,eAAe,QAAQ,CAAC,UAAU,6BAA6B,QAAQ,CAAC,IAAI,sBAAsB;qBAC5G,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,GAAG,OAAO,QAAQ;wBACxB,OAAO,EAAE,mBAAmB,QAAQ,CAAC,IAAI,gCAAgC;qBAC1E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,iFAAiF;QACjF,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,4EAA4E;YAC5E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,sDAAsD;oBACtD,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClE,MAAM,UAAU,GAAG,6BAA6B,CAAC;oBACjD,IAAI,CAAyB,CAAC;oBAC9B,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrB,kEAAkE;wBAClE,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAC5D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,oDAAoD;YACpD,iFAAiF;YACjF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YAErC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;gBACzC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,2EAA2E;oBAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACvC,KAAK,IAAI,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;wBACrD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5B,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,8BAA8B;oBACpC,IAAI,EAAE,aAAa,GAAG,SAAS;oBAC/B,OAAO,EAAE,aAAa,OAAO,0CAA0C;iBACxE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB;IAExB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,+CAA+C;QACxD,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAA6B,EAC7B,IAAY,EACZ,MAAyB;IAEzB,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,GAAG,IAAI,QAAQ;gBACrB,OAAO,EAAE,iDAAiD;aAC3D,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,IAAI;gBACJ,OAAO,EAAE,yDAAyD;aACnE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,IAAI;gBACJ,OAAO,EAAE,0CAA0C;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d-dash/core",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Headless core runtime and contracts for d-dash",
5
5
  "license": "LGPL-3.0-or-later",
6
6
  "repository": {