@panoboard/core 1.9.0 → 1.11.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/dist/annotations/executor.d.ts.map +1 -1
- package/dist/annotations/executor.js +13 -0
- package/dist/annotations/executor.js.map +1 -1
- package/dist/components/ConfigErrorBanner.d.ts.map +1 -1
- package/dist/components/ConfigErrorBanner.js +13 -0
- package/dist/components/ConfigErrorBanner.js.map +1 -1
- package/dist/components/DashboardLinks.d.ts.map +1 -1
- package/dist/components/DashboardLinks.js +9 -4
- package/dist/components/DashboardLinks.js.map +1 -1
- package/dist/components/DashboardShell.d.ts.map +1 -1
- package/dist/components/DashboardShell.js +81 -55
- package/dist/components/DashboardShell.js.map +1 -1
- package/dist/components/NotificationIndicator.d.ts.map +1 -1
- package/dist/components/NotificationIndicator.js +4 -3
- package/dist/components/NotificationIndicator.js.map +1 -1
- package/dist/components/PanelExpansionContext.d.ts +22 -0
- package/dist/components/PanelExpansionContext.d.ts.map +1 -0
- package/dist/components/PanelExpansionContext.js +26 -0
- package/dist/components/PanelExpansionContext.js.map +1 -0
- package/dist/components/PanelFullscreenOverlay.d.ts +8 -0
- package/dist/components/PanelFullscreenOverlay.d.ts.map +1 -0
- package/dist/components/PanelFullscreenOverlay.js +45 -0
- package/dist/components/PanelFullscreenOverlay.js.map +1 -0
- package/dist/components/PanelWrapper.d.ts +3 -1
- package/dist/components/PanelWrapper.d.ts.map +1 -1
- package/dist/components/PanelWrapper.js +41 -14
- package/dist/components/PanelWrapper.js.map +1 -1
- package/dist/components/RefreshContext.d.ts.map +1 -1
- package/dist/components/RefreshContext.js +13 -0
- package/dist/components/RefreshContext.js.map +1 -1
- package/dist/components/RefreshControl.d.ts +4 -4
- package/dist/components/RefreshControl.d.ts.map +1 -1
- package/dist/components/RefreshControl.js +31 -11
- package/dist/components/RefreshControl.js.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/panels/StatPanel.d.ts +2 -1
- package/dist/components/panels/StatPanel.d.ts.map +1 -1
- package/dist/components/panels/StatPanel.js +5 -2
- package/dist/components/panels/StatPanel.js.map +1 -1
- package/dist/components/panels/TablePanel.d.ts +3 -2
- package/dist/components/panels/TablePanel.d.ts.map +1 -1
- package/dist/components/panels/TablePanel.js +14 -15
- package/dist/components/panels/TablePanel.js.map +1 -1
- package/dist/components/panels/index.d.ts +1 -1
- package/dist/components/panels/index.d.ts.map +1 -1
- package/dist/components/panels/index.js +26 -44
- package/dist/components/panels/index.js.map +1 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +15 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/resolve.d.ts +19 -0
- package/dist/config/resolve.d.ts.map +1 -0
- package/dist/config/resolve.js +52 -0
- package/dist/config/resolve.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/query/template.d.ts.map +1 -1
- package/dist/query/template.js +7 -0
- package/dist/query/template.js.map +1 -1
- package/dist/schemas/annotations.d.ts.map +1 -1
- package/dist/schemas/annotations.js +13 -0
- package/dist/schemas/annotations.js.map +1 -1
- package/dist/schemas/config.d.ts +2 -8
- package/dist/schemas/config.d.ts.map +1 -1
- package/dist/schemas/config.js +2 -12
- package/dist/schemas/config.js.map +1 -1
- package/dist/schemas/dashboard.d.ts +735 -0
- package/dist/schemas/dashboard.d.ts.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/startup/index.d.ts +2 -0
- package/dist/startup/index.d.ts.map +1 -1
- package/dist/startup/index.js +1 -0
- package/dist/startup/index.js.map +1 -1
- package/dist/startup/sentinel-check.d.ts +12 -0
- package/dist/startup/sentinel-check.d.ts.map +1 -0
- package/dist/startup/sentinel-check.js +142 -0
- package/dist/startup/sentinel-check.js.map +1 -0
- package/dist/transforms/computed.d.ts.map +1 -1
- package/dist/transforms/computed.js +13 -0
- package/dist/transforms/computed.js.map +1 -1
- package/dist/transforms/engine.d.ts.map +1 -1
- package/dist/transforms/engine.js +13 -0
- package/dist/transforms/engine.js.map +1 -1
- package/dist/transforms/expression.d.ts.map +1 -1
- package/dist/transforms/expression.js +13 -13
- package/dist/transforms/expression.js.map +1 -1
- package/dist/transforms/filter.d.ts.map +1 -1
- package/dist/transforms/filter.js +13 -0
- package/dist/transforms/filter.js.map +1 -1
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/index.js +13 -0
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/limit.d.ts.map +1 -1
- package/dist/transforms/limit.js +13 -0
- package/dist/transforms/limit.js.map +1 -1
- package/dist/transforms/percentage.d.ts.map +1 -1
- package/dist/transforms/percentage.js +13 -0
- package/dist/transforms/percentage.js.map +1 -1
- package/dist/transforms/rename.d.ts.map +1 -1
- package/dist/transforms/rename.js +13 -0
- package/dist/transforms/rename.js.map +1 -1
- package/dist/transforms/sort.d.ts.map +1 -1
- package/dist/transforms/sort.js +13 -0
- package/dist/transforms/sort.js.map +1 -1
- package/dist/types/config-error.d.ts.map +1 -1
- package/dist/types/config-error.js +13 -0
- package/dist/types/config-error.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/panels/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/panels/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAyB3D,CAAC"}
|
|
@@ -11,50 +11,32 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
import { AreaChart } from "./AreaChart";
|
|
17
|
-
import { PieChart } from "./PieChart";
|
|
18
|
-
import { DonutChart } from "./DonutChart";
|
|
19
|
-
import { ScatterChart } from "./ScatterChart";
|
|
20
|
-
import { HeatmapChart } from "./HeatmapChart";
|
|
21
|
-
import { FunnelChart } from "./FunnelChart";
|
|
22
|
-
import { SankeyChart } from "./SankeyChart";
|
|
23
|
-
import { CalendarHeatmap } from "./CalendarHeatmap";
|
|
24
|
-
import { RadarChart } from "./RadarChart";
|
|
25
|
-
import { TreemapChart } from "./TreemapChart";
|
|
26
|
-
import { BumpChart } from "./BumpChart";
|
|
27
|
-
import { BulletChart } from "./BulletChart";
|
|
28
|
-
import { RadialBarChart } from "./RadialBarChart";
|
|
29
|
-
import { BoxPlotChart } from "./BoxPlotChart";
|
|
30
|
-
import { WaffleChart } from "./WaffleChart";
|
|
31
|
-
import { StreamChart } from "./StreamChart";
|
|
32
|
-
import { SunburstChart } from "./SunburstChart";
|
|
33
|
-
import { VideoPanel } from "./VideoPanel";
|
|
14
|
+
import { lazy } from "react";
|
|
15
|
+
const lazyChart = (loader, name) => lazy(() => loader().then((m) => ({ default: m[name] })));
|
|
34
16
|
export const panelRegistry = {
|
|
35
|
-
bar: BarChart,
|
|
36
|
-
line: LineChart,
|
|
37
|
-
area: AreaChart,
|
|
38
|
-
pie: PieChart,
|
|
39
|
-
donut: DonutChart,
|
|
40
|
-
scatter: ScatterChart,
|
|
41
|
-
heatmap: HeatmapChart,
|
|
42
|
-
funnel: FunnelChart,
|
|
43
|
-
sankey: SankeyChart,
|
|
44
|
-
calendar: CalendarHeatmap,
|
|
45
|
-
calendar_heatmap: CalendarHeatmap,
|
|
46
|
-
"calendar-heatmap": CalendarHeatmap,
|
|
47
|
-
radar: RadarChart,
|
|
48
|
-
treemap: TreemapChart,
|
|
49
|
-
bump: BumpChart,
|
|
50
|
-
bullet: BulletChart,
|
|
51
|
-
"radial-bar": RadialBarChart,
|
|
52
|
-
radialbar: RadialBarChart,
|
|
53
|
-
boxplot: BoxPlotChart,
|
|
54
|
-
"box-plot": BoxPlotChart,
|
|
55
|
-
waffle: WaffleChart,
|
|
56
|
-
stream: StreamChart,
|
|
57
|
-
sunburst: SunburstChart,
|
|
58
|
-
video: VideoPanel,
|
|
17
|
+
bar: lazyChart(() => import("./BarChart"), "BarChart"),
|
|
18
|
+
line: lazyChart(() => import("./LineChart"), "LineChart"),
|
|
19
|
+
area: lazyChart(() => import("./AreaChart"), "AreaChart"),
|
|
20
|
+
pie: lazyChart(() => import("./PieChart"), "PieChart"),
|
|
21
|
+
donut: lazyChart(() => import("./DonutChart"), "DonutChart"),
|
|
22
|
+
scatter: lazyChart(() => import("./ScatterChart"), "ScatterChart"),
|
|
23
|
+
heatmap: lazyChart(() => import("./HeatmapChart"), "HeatmapChart"),
|
|
24
|
+
funnel: lazyChart(() => import("./FunnelChart"), "FunnelChart"),
|
|
25
|
+
sankey: lazyChart(() => import("./SankeyChart"), "SankeyChart"),
|
|
26
|
+
calendar: lazyChart(() => import("./CalendarHeatmap"), "CalendarHeatmap"),
|
|
27
|
+
calendar_heatmap: lazyChart(() => import("./CalendarHeatmap"), "CalendarHeatmap"),
|
|
28
|
+
"calendar-heatmap": lazyChart(() => import("./CalendarHeatmap"), "CalendarHeatmap"),
|
|
29
|
+
radar: lazyChart(() => import("./RadarChart"), "RadarChart"),
|
|
30
|
+
treemap: lazyChart(() => import("./TreemapChart"), "TreemapChart"),
|
|
31
|
+
bump: lazyChart(() => import("./BumpChart"), "BumpChart"),
|
|
32
|
+
bullet: lazyChart(() => import("./BulletChart"), "BulletChart"),
|
|
33
|
+
"radial-bar": lazyChart(() => import("./RadialBarChart"), "RadialBarChart"),
|
|
34
|
+
radialbar: lazyChart(() => import("./RadialBarChart"), "RadialBarChart"),
|
|
35
|
+
boxplot: lazyChart(() => import("./BoxPlotChart"), "BoxPlotChart"),
|
|
36
|
+
"box-plot": lazyChart(() => import("./BoxPlotChart"), "BoxPlotChart"),
|
|
37
|
+
waffle: lazyChart(() => import("./WaffleChart"), "WaffleChart"),
|
|
38
|
+
stream: lazyChart(() => import("./StreamChart"), "StreamChart"),
|
|
39
|
+
sunburst: lazyChart(() => import("./SunburstChart"), "SunburstChart"),
|
|
40
|
+
video: lazyChart(() => import("./VideoPanel"), "VideoPanel"),
|
|
59
41
|
};
|
|
60
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/panels/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/panels/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
export { resolveSource } from "./resolve";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,aAAa,EAAuB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ResolvedSource {
|
|
2
|
+
path: string;
|
|
3
|
+
type: "directory" | "file";
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a datasources or dashboards path hint to an absolute local path.
|
|
7
|
+
*
|
|
8
|
+
* Resolution order:
|
|
9
|
+
* 1. If hint is absolute, use as-is; otherwise resolve relative to base.
|
|
10
|
+
* 2. If resolved path exists as a directory → return it.
|
|
11
|
+
* 3. If resolved path exists as a file → return it.
|
|
12
|
+
* 4. Append ".yaml" → if that file exists → return it.
|
|
13
|
+
* 5. Throw.
|
|
14
|
+
*
|
|
15
|
+
* Cloud URLs (s3://, gs://) must be pre-resolved to a local temp dir
|
|
16
|
+
* before calling this function.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveSource(base: string, hint: string): Promise<ResolvedSource>;
|
|
19
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAsBvF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
import fs from "fs/promises";
|
|
15
|
+
import path from "path";
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a datasources or dashboards path hint to an absolute local path.
|
|
18
|
+
*
|
|
19
|
+
* Resolution order:
|
|
20
|
+
* 1. If hint is absolute, use as-is; otherwise resolve relative to base.
|
|
21
|
+
* 2. If resolved path exists as a directory → return it.
|
|
22
|
+
* 3. If resolved path exists as a file → return it.
|
|
23
|
+
* 4. Append ".yaml" → if that file exists → return it.
|
|
24
|
+
* 5. Throw.
|
|
25
|
+
*
|
|
26
|
+
* Cloud URLs (s3://, gs://) must be pre-resolved to a local temp dir
|
|
27
|
+
* before calling this function.
|
|
28
|
+
*/
|
|
29
|
+
export async function resolveSource(base, hint) {
|
|
30
|
+
const resolved = path.isAbsolute(hint) ? hint : path.resolve(base, hint);
|
|
31
|
+
try {
|
|
32
|
+
const stat = await fs.stat(resolved);
|
|
33
|
+
if (stat.isDirectory())
|
|
34
|
+
return { path: resolved, type: "directory" };
|
|
35
|
+
return { path: resolved, type: "file" };
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
if (err.code !== "ENOENT")
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
const withYaml = resolved + ".yaml";
|
|
42
|
+
try {
|
|
43
|
+
await fs.stat(withYaml);
|
|
44
|
+
return { path: withYaml, type: "file" };
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
if (err.code !== "ENOENT")
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`Cannot resolve source: '${hint}' — tried '${resolved}' and '${withYaml}'`);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,cAAc,QAAQ,UAAU,QAAQ,GAAG,CAC3E,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./transforms";
|
|
|
7
7
|
export * from "./cache";
|
|
8
8
|
export * from "./filters";
|
|
9
9
|
export * from "./components";
|
|
10
|
+
export * from "./config";
|
|
10
11
|
export * from "./theme";
|
|
11
12
|
export type { ConfigError, ConfigErrorYamlContext } from "./types/config-error";
|
|
12
13
|
export type { Notification, NotificationResponse, NotificationType, NotificationSeverity, SystemStatus, } from "./types/notification";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,cAAc,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,kBAAkB;AAClB,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAYxB,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,WAAW;AACX,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,kBAAkB;AAClB,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,QAAQ;AACR,cAAc,SAAS,CAAC;AAYxB,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,WAAW;AACX,cAAc,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/query/template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/query/template.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAgCR"}
|
package/dist/query/template.js
CHANGED
|
@@ -13,7 +13,14 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
import nunjucks from "nunjucks";
|
|
15
15
|
const env = new nunjucks.Environment(null, { autoescape: false });
|
|
16
|
+
const PARAMS_INTERPOLATION_RE = /\{\{-?\s*params\./;
|
|
16
17
|
export function renderTemplate(sql, templateVars, resolvedVarValues, params) {
|
|
18
|
+
// Guard: reject direct param interpolation — this bypasses parameterization
|
|
19
|
+
if (PARAMS_INTERPOLATION_RE.test(sql)) {
|
|
20
|
+
throw new Error("SQL template directly interpolates a query parameter via {{ params.X }}. " +
|
|
21
|
+
"This bypasses parameterized queries and is a SQL injection risk. " +
|
|
22
|
+
"Use a bound parameter (:param_name) in the SQL and declare it under query.params instead.");
|
|
23
|
+
}
|
|
17
24
|
// 1. Validate each template var value against its allowlist
|
|
18
25
|
for (const [name, def] of Object.entries(templateVars)) {
|
|
19
26
|
const value = resolvedVarValues[name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/query/template.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/query/template.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAElE,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAQpD,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,YAAyC,EACzC,iBAAyC,EACzC,MAA+B;IAE/B,4EAA4E;IAC5E,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,mEAAmE;YACnE,2FAA2F,CAC9F,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACrC,kCAAkC;YAClC,iBAAiB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACtC,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,YAAY,UAAU,+BAA+B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,MAAM,OAAO,GAAG;QACd,GAAG,iBAAiB;QACpB,MAAM,EAAE,2CAA2C;KACpD,CAAC;IAEF,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schemas/annotations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schemas/annotations.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;iBAO3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;kBAA4B,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
1
14
|
import { z } from "zod";
|
|
2
15
|
const paramBindingSchema = z.union([
|
|
3
16
|
z.object({ filter: z.string() }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schemas/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schemas/annotations.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/schemas/config.d.ts
CHANGED
|
@@ -4,14 +4,8 @@ export declare const configSchema: z.ZodObject<{
|
|
|
4
4
|
port: z.ZodDefault<z.ZodNumber>;
|
|
5
5
|
base_url: z.ZodOptional<z.ZodString>;
|
|
6
6
|
}, z.core.$strict>>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
gcs_bucket: z.ZodOptional<z.ZodString>;
|
|
10
|
-
gcs_prefix: z.ZodOptional<z.ZodString>;
|
|
11
|
-
s3_bucket: z.ZodOptional<z.ZodString>;
|
|
12
|
-
s3_prefix: z.ZodOptional<z.ZodString>;
|
|
13
|
-
s3_region: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, z.core.$strict>>;
|
|
7
|
+
datasources: z.ZodDefault<z.ZodString>;
|
|
8
|
+
dashboards: z.ZodDefault<z.ZodString>;
|
|
15
9
|
timezone: z.ZodDefault<z.ZodString>;
|
|
16
10
|
theme: z.ZodDefault<z.ZodString>;
|
|
17
11
|
auth: z.ZodDefault<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyGxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAad,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/schemas/config.js
CHANGED
|
@@ -24,17 +24,6 @@ const serverSchema = z
|
|
|
24
24
|
})
|
|
25
25
|
.strict()
|
|
26
26
|
.default({ port: 3000 });
|
|
27
|
-
const dashboardsSchema = z
|
|
28
|
-
.object({
|
|
29
|
-
dir: z.string().default("/config/dashboards"),
|
|
30
|
-
gcs_bucket: z.string().optional(),
|
|
31
|
-
gcs_prefix: z.string().optional(),
|
|
32
|
-
s3_bucket: z.string().optional(),
|
|
33
|
-
s3_prefix: z.string().optional(),
|
|
34
|
-
s3_region: z.string().optional(),
|
|
35
|
-
})
|
|
36
|
-
.strict()
|
|
37
|
-
.default({ dir: "/config/dashboards" });
|
|
38
27
|
const googleProviderSchema = z
|
|
39
28
|
.object({
|
|
40
29
|
client_id: z.string(),
|
|
@@ -117,7 +106,8 @@ const startupChecksSchema = z
|
|
|
117
106
|
export const configSchema = z
|
|
118
107
|
.object({
|
|
119
108
|
server: serverSchema,
|
|
120
|
-
|
|
109
|
+
datasources: z.string().default("./datasources"),
|
|
110
|
+
dashboards: z.string().default("./dashboards"),
|
|
121
111
|
timezone: timezoneSchema.default("UTC"),
|
|
122
112
|
theme: z.string().default("dark"),
|
|
123
113
|
auth: authSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACnD,OAAO,EACL,oEAAoE;CACvE,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,MAAM,EAAE;KACR,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAE3B,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"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"}
|