@intentius/chant-lexicon-grafana 0.97.0 → 0.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/README.md +15 -5
  2. package/dist/actions/grafana.d.ts +24 -0
  3. package/dist/actions/grafana.d.ts.map +1 -0
  4. package/dist/actions/index.d.ts +2 -0
  5. package/dist/actions/index.d.ts.map +1 -0
  6. package/dist/alerting-build.d.ts +128 -0
  7. package/dist/alerting-build.d.ts.map +1 -0
  8. package/dist/alerting.d.ts +273 -0
  9. package/dist/alerting.d.ts.map +1 -0
  10. package/dist/api/apply.d.ts +156 -0
  11. package/dist/api/apply.d.ts.map +1 -0
  12. package/dist/api/bind.d.ts +32 -0
  13. package/dist/api/bind.d.ts.map +1 -0
  14. package/dist/api/client.d.ts +76 -0
  15. package/dist/api/client.d.ts.map +1 -0
  16. package/dist/api/converge.d.ts +33 -0
  17. package/dist/api/converge.d.ts.map +1 -0
  18. package/dist/api/dashboards.d.ts +102 -0
  19. package/dist/api/dashboards.d.ts.map +1 -0
  20. package/dist/api/datasources.d.ts +26 -0
  21. package/dist/api/datasources.d.ts.map +1 -0
  22. package/dist/api/fake-grafana-writes.d.ts +41 -0
  23. package/dist/api/fake-grafana-writes.d.ts.map +1 -0
  24. package/dist/api/fake-grafana.d.ts +61 -0
  25. package/dist/api/fake-grafana.d.ts.map +1 -0
  26. package/dist/api/folders.d.ts +110 -0
  27. package/dist/api/folders.d.ts.map +1 -0
  28. package/dist/api/library-panels.d.ts +52 -0
  29. package/dist/api/library-panels.d.ts.map +1 -0
  30. package/dist/build.d.ts +30 -2
  31. package/dist/build.d.ts.map +1 -1
  32. package/dist/catalog.d.ts +1 -1
  33. package/dist/catalog.d.ts.map +1 -1
  34. package/dist/codegen/docs.d.ts.map +1 -1
  35. package/dist/codegen/schema-types.d.ts +3 -3
  36. package/dist/codegen/schema-types.d.ts.map +1 -1
  37. package/dist/composites/agent-dashboard.d.ts.map +1 -1
  38. package/dist/composites/catalog.d.ts.map +1 -1
  39. package/dist/composites/index.d.ts +4 -2
  40. package/dist/composites/index.d.ts.map +1 -1
  41. package/dist/composites/red-dashboard.d.ts +21 -2
  42. package/dist/composites/red-dashboard.d.ts.map +1 -1
  43. package/dist/composites/shared.d.ts +7 -0
  44. package/dist/composites/shared.d.ts.map +1 -1
  45. package/dist/composites/slo-alert-rules.d.ts +92 -0
  46. package/dist/composites/slo-alert-rules.d.ts.map +1 -0
  47. package/dist/config.d.ts +111 -0
  48. package/dist/config.d.ts.map +1 -0
  49. package/dist/contact-point-secrets.d.ts +17 -0
  50. package/dist/contact-point-secrets.d.ts.map +1 -0
  51. package/dist/dashboard.d.ts +16 -2
  52. package/dist/dashboard.d.ts.map +1 -1
  53. package/dist/datasource-refs.d.ts +95 -0
  54. package/dist/datasource-refs.d.ts.map +1 -0
  55. package/dist/datasource.d.ts +29 -0
  56. package/dist/datasource.d.ts.map +1 -1
  57. package/dist/deep-observe-hooks.d.ts +64 -0
  58. package/dist/deep-observe-hooks.d.ts.map +1 -0
  59. package/dist/deep-observe.d.ts +42 -0
  60. package/dist/deep-observe.d.ts.map +1 -0
  61. package/dist/describe-resources.d.ts +49 -0
  62. package/dist/describe-resources.d.ts.map +1 -0
  63. package/dist/detect.d.ts +28 -1
  64. package/dist/detect.d.ts.map +1 -1
  65. package/dist/export-resources.d.ts +38 -0
  66. package/dist/export-resources.d.ts.map +1 -0
  67. package/dist/import/alerting.d.ts +40 -0
  68. package/dist/import/alerting.d.ts.map +1 -0
  69. package/dist/import/edits.d.ts +47 -0
  70. package/dist/import/edits.d.ts.map +1 -0
  71. package/dist/import/embedded.d.ts +14 -0
  72. package/dist/import/embedded.d.ts.map +1 -0
  73. package/dist/import/generator.d.ts +60 -0
  74. package/dist/import/generator.d.ts.map +1 -0
  75. package/dist/import/live-export.d.ts +108 -0
  76. package/dist/import/live-export.d.ts.map +1 -0
  77. package/dist/import/mappings.d.ts +83 -0
  78. package/dist/import/mappings.d.ts.map +1 -0
  79. package/dist/import/model.d.ts +98 -0
  80. package/dist/import/model.d.ts.map +1 -0
  81. package/dist/import/normalize-alerting.d.ts +26 -0
  82. package/dist/import/normalize-alerting.d.ts.map +1 -0
  83. package/dist/import/normalize.d.ts +74 -0
  84. package/dist/import/normalize.d.ts.map +1 -0
  85. package/dist/import/parser.d.ts +110 -0
  86. package/dist/import/parser.d.ts.map +1 -0
  87. package/dist/import/report.d.ts +26 -0
  88. package/dist/import/report.d.ts.map +1 -0
  89. package/dist/import/testdata/fixtures.d.ts +35 -0
  90. package/dist/import/testdata/fixtures.d.ts.map +1 -0
  91. package/dist/import/v2.d.ts +72 -0
  92. package/dist/import/v2.d.ts.map +1 -0
  93. package/dist/index.d.ts +26 -9
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/integrity.json +18 -10
  96. package/dist/k8s.d.ts +107 -0
  97. package/dist/k8s.d.ts.map +1 -0
  98. package/dist/lint/audit-catalog.d.ts +2 -1
  99. package/dist/lint/audit-catalog.d.ts.map +1 -1
  100. package/dist/lint/post-synth/graf101.d.ts +2 -2
  101. package/dist/lint/post-synth/graf102.d.ts +1 -1
  102. package/dist/lint/post-synth/graf107.d.ts +1 -1
  103. package/dist/lint/post-synth/graf108.d.ts +8 -0
  104. package/dist/lint/post-synth/graf108.d.ts.map +1 -0
  105. package/dist/lint/post-synth/graf109.d.ts +8 -0
  106. package/dist/lint/post-synth/graf109.d.ts.map +1 -0
  107. package/dist/lint/post-synth/graf111.d.ts +8 -0
  108. package/dist/lint/post-synth/graf111.d.ts.map +1 -0
  109. package/dist/lint/post-synth/graf112.d.ts +8 -0
  110. package/dist/lint/post-synth/graf112.d.ts.map +1 -0
  111. package/dist/lint/post-synth/graf113.d.ts +8 -0
  112. package/dist/lint/post-synth/graf113.d.ts.map +1 -0
  113. package/dist/lint/post-synth/graf114.d.ts +8 -0
  114. package/dist/lint/post-synth/graf114.d.ts.map +1 -0
  115. package/dist/lint/post-synth/graf115.d.ts +8 -0
  116. package/dist/lint/post-synth/graf115.d.ts.map +1 -0
  117. package/dist/lint/post-synth/grafana-helpers.d.ts +7 -5
  118. package/dist/lint/post-synth/grafana-helpers.d.ts.map +1 -1
  119. package/dist/lint/post-synth/index.d.ts.map +1 -1
  120. package/dist/lint/rules/literal-secret.d.ts +7 -3
  121. package/dist/lint/rules/literal-secret.d.ts.map +1 -1
  122. package/dist/lsp/hover.d.ts.map +1 -1
  123. package/dist/manifest.json +1 -1
  124. package/dist/members.d.ts +27 -0
  125. package/dist/members.d.ts.map +1 -0
  126. package/dist/meta.json +135 -0
  127. package/dist/okf/index.md +36 -2
  128. package/dist/okf/rules/GRAF002.md +3 -2
  129. package/dist/okf/rules/GRAF101.md +3 -2
  130. package/dist/okf/rules/GRAF102.md +1 -0
  131. package/dist/okf/rules/GRAF108.md +11 -0
  132. package/dist/okf/rules/GRAF109.md +15 -0
  133. package/dist/okf/rules/GRAF111.md +11 -0
  134. package/dist/okf/rules/GRAF112.md +16 -0
  135. package/dist/okf/rules/GRAF113.md +16 -0
  136. package/dist/okf/rules/GRAF114.md +11 -0
  137. package/dist/okf/rules/GRAF115.md +11 -0
  138. package/dist/okf/types/AlertListPanel.md +9 -0
  139. package/dist/okf/types/AlertQuery.md +9 -0
  140. package/dist/okf/types/AlertRule.md +9 -0
  141. package/dist/okf/types/AlertRuleGroup.md +9 -0
  142. package/dist/okf/types/BarChartPanel.md +9 -0
  143. package/dist/okf/types/BarGaugePanel.md +9 -0
  144. package/dist/okf/types/CanvasPanel.md +9 -0
  145. package/dist/okf/types/ClassicConditionsExpression.md +9 -0
  146. package/dist/okf/types/ContactPoint.md +14 -0
  147. package/dist/okf/types/Dashboard.md +1 -0
  148. package/dist/okf/types/Datasource.md +3 -2
  149. package/dist/okf/types/ExternalDatasource.md +15 -0
  150. package/dist/okf/types/FlameGraphPanel.md +9 -0
  151. package/dist/okf/types/GeomapPanel.md +9 -0
  152. package/dist/okf/types/HistogramPanel.md +9 -0
  153. package/dist/okf/types/MathExpression.md +9 -0
  154. package/dist/okf/types/MuteTiming.md +13 -0
  155. package/dist/okf/types/NodeGraphPanel.md +9 -0
  156. package/dist/okf/types/NotificationPolicy.md +9 -0
  157. package/dist/okf/types/NotificationTemplate.md +9 -0
  158. package/dist/okf/types/PieChartPanel.md +9 -0
  159. package/dist/okf/types/ReduceExpression.md +9 -0
  160. package/dist/okf/types/ResampleExpression.md +9 -0
  161. package/dist/okf/types/SqlExpression.md +9 -0
  162. package/dist/okf/types/StateTimelinePanel.md +9 -0
  163. package/dist/okf/types/StatusHistoryPanel.md +9 -0
  164. package/dist/okf/types/ThresholdExpression.md +9 -0
  165. package/dist/okf/types/TrendPanel.md +9 -0
  166. package/dist/okf/types/XYChartPanel.md +9 -0
  167. package/dist/op/activities/grafana-apply.d.ts +75 -0
  168. package/dist/op/activities/grafana-apply.d.ts.map +1 -0
  169. package/dist/op/activities/index.d.ts +9 -0
  170. package/dist/op/activities/index.d.ts.map +1 -0
  171. package/dist/op/builders.d.ts +24 -0
  172. package/dist/op/builders.d.ts.map +1 -0
  173. package/dist/ownership.d.ts +67 -0
  174. package/dist/ownership.d.ts.map +1 -0
  175. package/dist/panel-options.d.ts +65 -0
  176. package/dist/panel-options.d.ts.map +1 -0
  177. package/dist/panels.d.ts +46 -9
  178. package/dist/panels.d.ts.map +1 -1
  179. package/dist/pin.d.ts +29 -7
  180. package/dist/pin.d.ts.map +1 -1
  181. package/dist/plugin.d.ts.map +1 -1
  182. package/dist/promql-check.d.ts +51 -0
  183. package/dist/promql-check.d.ts.map +1 -0
  184. package/dist/query.d.ts +9 -8
  185. package/dist/query.d.ts.map +1 -1
  186. package/dist/rules/graf101.ts +3 -3
  187. package/dist/rules/graf102.ts +1 -1
  188. package/dist/rules/graf107.ts +1 -1
  189. package/dist/rules/graf108.ts +17 -0
  190. package/dist/rules/graf109.ts +17 -0
  191. package/dist/rules/graf111.ts +17 -0
  192. package/dist/rules/graf112.ts +17 -0
  193. package/dist/rules/graf113.ts +17 -0
  194. package/dist/rules/graf114.ts +17 -0
  195. package/dist/rules/graf115.ts +17 -0
  196. package/dist/rules/grafana-helpers.ts +15 -8
  197. package/dist/rules/literal-secret.ts +60 -6
  198. package/dist/schema/barchart.gen.d.ts +198 -0
  199. package/dist/schema/barchart.gen.d.ts.map +1 -0
  200. package/dist/schema/bargauge.gen.d.ts +97 -0
  201. package/dist/schema/bargauge.gen.d.ts.map +1 -0
  202. package/dist/schema/canvas.gen.d.ts +152 -0
  203. package/dist/schema/canvas.gen.d.ts.map +1 -0
  204. package/dist/schema/dashboard.gen.d.ts +196 -21
  205. package/dist/schema/dashboard.gen.d.ts.map +1 -1
  206. package/dist/schema/expr.gen.d.ts +606 -0
  207. package/dist/schema/expr.gen.d.ts.map +1 -0
  208. package/dist/schema/gauge.gen.d.ts.map +1 -1
  209. package/dist/schema/geomap.gen.d.ts +100 -0
  210. package/dist/schema/geomap.gen.d.ts.map +1 -0
  211. package/dist/schema/heatmap.gen.d.ts.map +1 -1
  212. package/dist/schema/histogram.gen.d.ts +132 -0
  213. package/dist/schema/histogram.gen.d.ts.map +1 -0
  214. package/dist/schema/index.d.ts +12 -0
  215. package/dist/schema/index.d.ts.map +1 -1
  216. package/dist/schema/logs.gen.d.ts +1 -0
  217. package/dist/schema/logs.gen.d.ts.map +1 -1
  218. package/dist/schema/loki.gen.d.ts.map +1 -1
  219. package/dist/schema/nodegraph.gen.d.ts +49 -0
  220. package/dist/schema/nodegraph.gen.d.ts.map +1 -0
  221. package/dist/schema/piechart.gen.d.ts +127 -0
  222. package/dist/schema/piechart.gen.d.ts.map +1 -0
  223. package/dist/schema/prometheus.gen.d.ts.map +1 -1
  224. package/dist/schema/stat.gen.d.ts.map +1 -1
  225. package/dist/schema/statetimeline.gen.d.ts +124 -0
  226. package/dist/schema/statetimeline.gen.d.ts.map +1 -0
  227. package/dist/schema/statushistory.gen.d.ts +114 -0
  228. package/dist/schema/statushistory.gen.d.ts.map +1 -0
  229. package/dist/schema/table.gen.d.ts +22 -3
  230. package/dist/schema/table.gen.d.ts.map +1 -1
  231. package/dist/schema/tempo.gen.d.ts.map +1 -1
  232. package/dist/schema/text.gen.d.ts.map +1 -1
  233. package/dist/schema/timeseries.gen.d.ts +5 -1
  234. package/dist/schema/timeseries.gen.d.ts.map +1 -1
  235. package/dist/schema/trend.gen.d.ts +180 -0
  236. package/dist/schema/trend.gen.d.ts.map +1 -0
  237. package/dist/schema/xychart.gen.d.ts +145 -0
  238. package/dist/schema/xychart.gen.d.ts.map +1 -0
  239. package/dist/schema-validate.d.ts +30 -4
  240. package/dist/schema-validate.d.ts.map +1 -1
  241. package/dist/serializer.d.ts +11 -3
  242. package/dist/serializer.d.ts.map +1 -1
  243. package/dist/skill-defs.d.ts.map +1 -1
  244. package/dist/skills/chant-grafana-alerting.md +49 -0
  245. package/dist/skills/chant-grafana-provisioning.md +3 -3
  246. package/dist/skills/chant-grafana.md +12 -6
  247. package/dist/spec/fetch-units-cli.d.ts +3 -0
  248. package/dist/spec/fetch-units-cli.d.ts.map +1 -0
  249. package/dist/spec/overlay.d.ts +43 -0
  250. package/dist/spec/overlay.d.ts.map +1 -0
  251. package/dist/spec/schemas.d.ts +13 -7
  252. package/dist/spec/schemas.d.ts.map +1 -1
  253. package/dist/spec/units.d.ts +35 -0
  254. package/dist/spec/units.d.ts.map +1 -0
  255. package/dist/spec/units.gen.d.ts +2 -0
  256. package/dist/spec/units.gen.d.ts.map +1 -0
  257. package/dist/transformations.d.ts +459 -0
  258. package/dist/transformations.d.ts.map +1 -0
  259. package/dist/util.d.ts +6 -0
  260. package/dist/util.d.ts.map +1 -1
  261. package/dist/validate-alerting.d.ts +65 -0
  262. package/dist/validate-alerting.d.ts.map +1 -0
  263. package/dist/validate-output.d.ts +49 -9
  264. package/dist/validate-output.d.ts.map +1 -1
  265. package/dist/validate.d.ts.map +1 -1
  266. package/dist/variables.d.ts +7 -2
  267. package/dist/variables.d.ts.map +1 -1
  268. package/package.json +12 -4
  269. package/src/actions/actions.test.ts +24 -0
  270. package/src/actions/grafana.ts +40 -0
  271. package/src/actions/index.ts +1 -0
  272. package/src/alerting-build.ts +376 -0
  273. package/src/alerting.e2e.test.ts +212 -0
  274. package/src/alerting.test.ts +272 -0
  275. package/src/alerting.ts +435 -0
  276. package/src/api/apply.test.ts +238 -0
  277. package/src/api/apply.ts +384 -0
  278. package/src/api/bind.ts +58 -0
  279. package/src/api/client.ts +148 -0
  280. package/src/api/converge.ts +63 -0
  281. package/src/api/dashboards.ts +247 -0
  282. package/src/api/datasources.ts +33 -0
  283. package/src/api/fake-grafana-writes.ts +201 -0
  284. package/src/api/fake-grafana.ts +186 -0
  285. package/src/api/folders.ts +265 -0
  286. package/src/api/library-panels.ts +101 -0
  287. package/src/build.test.ts +210 -5
  288. package/src/build.ts +180 -43
  289. package/src/catalog.ts +86 -2
  290. package/src/codegen/docs.ts +42 -9
  291. package/src/codegen/schema-types.ts +16 -6
  292. package/src/composites/agent-dashboard.ts +6 -3
  293. package/src/composites/catalog.test.ts +2 -2
  294. package/src/composites/catalog.ts +82 -0
  295. package/src/composites/composites.test.ts +73 -9
  296. package/src/composites/index.ts +4 -2
  297. package/src/composites/queries.e2e.test.ts +374 -0
  298. package/src/composites/red-dashboard.ts +83 -12
  299. package/src/composites/shared.ts +11 -0
  300. package/src/composites/slo-alert-rules.ts +149 -0
  301. package/src/config.test.ts +61 -0
  302. package/src/config.ts +138 -0
  303. package/src/contact-point-secrets.ts +63 -0
  304. package/src/dashboard.ts +16 -2
  305. package/src/datasource-refs.test.ts +56 -0
  306. package/src/datasource-refs.ts +189 -0
  307. package/src/datasource.ts +52 -0
  308. package/src/deep-observe-hooks.ts +252 -0
  309. package/src/deep-observe.test.ts +265 -0
  310. package/src/deep-observe.ts +164 -0
  311. package/src/describe-resources.test.ts +255 -0
  312. package/src/describe-resources.ts +209 -0
  313. package/src/detect.ts +79 -2
  314. package/src/export-resources.test.ts +129 -0
  315. package/src/export-resources.ts +84 -0
  316. package/src/generated/lexicon-grafana.json +135 -0
  317. package/src/import/alerting-roundtrip.test.ts +161 -0
  318. package/src/import/alerting.ts +500 -0
  319. package/src/import/edits.ts +95 -0
  320. package/src/import/embedded.test.ts +45 -0
  321. package/src/import/embedded.ts +47 -0
  322. package/src/import/generated-types.e2e.test.ts +118 -0
  323. package/src/import/generator.test.ts +210 -0
  324. package/src/import/generator.ts +462 -0
  325. package/src/import/live-export.ts +264 -0
  326. package/src/import/mappings.ts +264 -0
  327. package/src/import/model.ts +110 -0
  328. package/src/import/normalize-alerting.ts +101 -0
  329. package/src/import/normalize.test.ts +117 -0
  330. package/src/import/normalize.ts +364 -0
  331. package/src/import/parser.test.ts +440 -0
  332. package/src/import/parser.ts +1236 -0
  333. package/src/import/report.ts +62 -0
  334. package/src/import/roundtrip.test.ts +468 -0
  335. package/src/import/testdata/fixtures.ts +129 -0
  336. package/src/import/v2.test.ts +292 -0
  337. package/src/import/v2.ts +803 -0
  338. package/src/import.e2e.test.ts +31 -84
  339. package/src/import.test.ts +9 -3
  340. package/src/index.ts +190 -5
  341. package/src/k8s.test.ts +98 -0
  342. package/src/k8s.ts +197 -0
  343. package/src/lint/audit-catalog.ts +60 -3
  344. package/src/lint/core-lint.test.ts +43 -0
  345. package/src/lint/post-synth/graf101.ts +3 -3
  346. package/src/lint/post-synth/graf102.ts +1 -1
  347. package/src/lint/post-synth/graf107.ts +1 -1
  348. package/src/lint/post-synth/graf108.ts +17 -0
  349. package/src/lint/post-synth/graf109.ts +17 -0
  350. package/src/lint/post-synth/graf111.ts +17 -0
  351. package/src/lint/post-synth/graf112.ts +17 -0
  352. package/src/lint/post-synth/graf113.ts +17 -0
  353. package/src/lint/post-synth/graf114.ts +17 -0
  354. package/src/lint/post-synth/graf115.ts +17 -0
  355. package/src/lint/post-synth/grafana-helpers.ts +15 -8
  356. package/src/lint/post-synth/index.ts +14 -0
  357. package/src/lint/post-synth/post-synth.test.ts +235 -11
  358. package/src/lint/rules/literal-secret.ts +60 -6
  359. package/src/lint/rules/rules.test.ts +27 -0
  360. package/src/lsp/completions.test.ts +5 -0
  361. package/src/lsp/hover.test.ts +7 -0
  362. package/src/lsp/hover.ts +8 -1
  363. package/src/members.ts +68 -0
  364. package/src/observe.e2e.test.ts +255 -0
  365. package/src/op/activities/grafana-apply.e2e.test.ts +175 -0
  366. package/src/op/activities/grafana-apply.test.ts +229 -0
  367. package/src/op/activities/grafana-apply.ts +171 -0
  368. package/src/op/activities/index.ts +8 -0
  369. package/src/op/builders.test.ts +40 -0
  370. package/src/op/builders.ts +34 -0
  371. package/src/ownership.ts +103 -0
  372. package/src/panel-options.ts +66 -0
  373. package/src/panels.test.ts +51 -0
  374. package/src/panels.ts +148 -10
  375. package/src/pin.ts +57 -6
  376. package/src/plugin.test.ts +5 -2
  377. package/src/plugin.ts +66 -0
  378. package/src/promql-check.test.ts +108 -0
  379. package/src/promql-check.ts +189 -0
  380. package/src/query.ts +13 -8
  381. package/src/schema/barchart.gen.ts +221 -0
  382. package/src/schema/bargauge.gen.ts +111 -0
  383. package/src/schema/canvas.gen.ts +176 -0
  384. package/src/schema/dashboard.gen.ts +206 -22
  385. package/src/schema/expr.gen.ts +618 -0
  386. package/src/schema/gauge.gen.ts +2 -1
  387. package/src/schema/geomap.gen.ts +112 -0
  388. package/src/schema/heatmap.gen.ts +2 -1
  389. package/src/schema/histogram.gen.ts +151 -0
  390. package/src/schema/index.ts +12 -0
  391. package/src/schema/logs.gen.ts +3 -1
  392. package/src/schema/loki.gen.ts +2 -1
  393. package/src/schema/nodegraph.gen.ts +58 -0
  394. package/src/schema/piechart.gen.ts +146 -0
  395. package/src/schema/prometheus.gen.ts +2 -1
  396. package/src/schema/stat.gen.ts +2 -1
  397. package/src/schema/statetimeline.gen.ts +143 -0
  398. package/src/schema/statushistory.gen.ts +132 -0
  399. package/src/schema/table.gen.ts +27 -4
  400. package/src/schema/tempo.gen.ts +2 -1
  401. package/src/schema/text.gen.ts +2 -1
  402. package/src/schema/timeseries.gen.ts +7 -2
  403. package/src/schema/trend.gen.ts +208 -0
  404. package/src/schema/xychart.gen.ts +167 -0
  405. package/src/schema-overlay.test.ts +282 -0
  406. package/src/schema-validate.ts +141 -50
  407. package/src/schema.test.ts +4 -2
  408. package/src/serializer.test.ts +13 -1
  409. package/src/serializer.ts +11 -3
  410. package/src/skill-defs.ts +17 -0
  411. package/src/skills/chant-grafana-alerting.md +49 -0
  412. package/src/skills/chant-grafana-provisioning.md +3 -3
  413. package/src/skills/chant-grafana.md +12 -6
  414. package/src/spec/fetch-cli.ts +3 -3
  415. package/src/spec/fetch-units-cli.ts +37 -0
  416. package/src/spec/overlay/canvas.overlay.json +142 -0
  417. package/src/spec/overlay/dashboard.overlay.json +378 -0
  418. package/src/spec/overlay/expr.overlay.json +14 -0
  419. package/src/spec/overlay/geomap.overlay.json +35 -0
  420. package/src/spec/overlay/logs.overlay.json +14 -0
  421. package/src/spec/overlay/nodegraph.overlay.json +31 -0
  422. package/src/spec/overlay/piechart.overlay.json +17 -0
  423. package/src/spec/overlay/table.overlay.json +84 -0
  424. package/src/spec/overlay/timeseries.overlay.json +21 -0
  425. package/src/spec/overlay/trend.overlay.json +17 -0
  426. package/src/spec/overlay/xychart.overlay.json +16 -0
  427. package/src/spec/overlay.ts +105 -0
  428. package/src/spec/schemas/barchart.jsonschema.json +419 -0
  429. package/src/spec/schemas/bargauge.jsonschema.json +224 -0
  430. package/src/spec/schemas/canvas.jsonschema.json +356 -0
  431. package/src/spec/schemas/dashboardv2.jsonschema.json +3387 -0
  432. package/src/spec/schemas/expr.jsonschema.json +987 -0
  433. package/src/spec/schemas/geomap.jsonschema.json +220 -0
  434. package/src/spec/schemas/histogram.jsonschema.json +308 -0
  435. package/src/spec/schemas/nodegraph.jsonschema.json +77 -0
  436. package/src/spec/schemas/piechart.jsonschema.json +275 -0
  437. package/src/spec/schemas/statetimeline.jsonschema.json +324 -0
  438. package/src/spec/schemas/statushistory.jsonschema.json +292 -0
  439. package/src/spec/schemas/trend.jsonschema.json +449 -0
  440. package/src/spec/schemas/xychart.jsonschema.json +428 -0
  441. package/src/spec/schemas.ts +22 -10
  442. package/src/spec/units.gen.ts +281 -0
  443. package/src/spec/units.ts +77 -0
  444. package/src/transformations.test.ts +65 -0
  445. package/src/transformations.ts +574 -0
  446. package/src/util.ts +8 -0
  447. package/src/validate-alerting.test.ts +255 -0
  448. package/src/validate-alerting.ts +428 -0
  449. package/src/validate-output.ts +332 -101
  450. package/src/validate.ts +14 -0
  451. package/src/variables.ts +7 -2
@@ -0,0 +1,618 @@
1
+ // Code generated by chant generate from the vendored Grafana schema
2
+ // src/spec/schemas/expr.jsonschema.json (see src/pin.ts) and its correction
3
+ // overlay in src/spec/overlay/ (see src/spec/overlay.ts). DO NOT EDIT.
4
+ /* eslint-disable */
5
+
6
+ export type Expr = TypeMath | TypeReduce | TypeResample | TypeClassicConditions | TypeThreshold | TypeSql;
7
+
8
+ export interface TypeMath {
9
+ /**
10
+ * The datasource
11
+ */
12
+ datasource?: DataSourceRef;
13
+ /**
14
+ * General math expression
15
+ */
16
+ expression: string;
17
+ /**
18
+ * true if query is disabled (ie should not be returned to the dashboard)
19
+ * NOTE: this does not always imply that the query should not be executed since
20
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
21
+ */
22
+ hide?: boolean;
23
+ /**
24
+ * Interval is the suggested duration between time points in a time series query.
25
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
26
+ * from the interval required to fill a pixels in the visualization
27
+ */
28
+ intervalMs?: number;
29
+ /**
30
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
31
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
32
+ * from the number of pixels visible in a visualization
33
+ */
34
+ maxDataPoints?: number;
35
+ /**
36
+ * QueryType is an optional identifier for the type of query.
37
+ * It can be used to distinguish different types of queries.
38
+ */
39
+ queryType?: string;
40
+ /**
41
+ * RefID is the unique identifier of the query, set by the frontend call.
42
+ */
43
+ refId?: string | null;
44
+ /**
45
+ * Optionally define expected query result behavior
46
+ */
47
+ resultAssertions?: {
48
+ /**
49
+ * Maximum frame count
50
+ */
51
+ maxFrames?: number;
52
+ /**
53
+ * Type asserts that the frame matches a known type structure.
54
+ * Possible enum values:
55
+ * - `""`
56
+ * - `"timeseries-wide"`
57
+ * - `"timeseries-long"`
58
+ * - `"timeseries-many"`
59
+ * - `"timeseries-multi"`
60
+ * - `"directory-listing"`
61
+ * - `"table"`
62
+ * - `"numeric-wide"`
63
+ * - `"numeric-multi"`
64
+ * - `"numeric-long"`
65
+ * - `"log-lines"`
66
+ */
67
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
68
+ /**
69
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
70
+ * contract documentation https://grafana.github.io/dataplane/contract/.
71
+ */
72
+ typeVersion: number[];
73
+ };
74
+ /**
75
+ * TimeRange represents the query range
76
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
77
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
78
+ */
79
+ timeRange?: {
80
+ /**
81
+ * From is the start time of the query.
82
+ */
83
+ from: string;
84
+ /**
85
+ * To is the end time of the query.
86
+ */
87
+ to: string;
88
+ };
89
+ type: "math";
90
+ }
91
+
92
+ export interface TypeReduce {
93
+ /**
94
+ * The datasource
95
+ */
96
+ datasource?: DataSourceRef;
97
+ /**
98
+ * Reference to single query result
99
+ */
100
+ expression: string;
101
+ /**
102
+ * true if query is disabled (ie should not be returned to the dashboard)
103
+ * NOTE: this does not always imply that the query should not be executed since
104
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
105
+ */
106
+ hide?: boolean;
107
+ /**
108
+ * Interval is the suggested duration between time points in a time series query.
109
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
110
+ * from the interval required to fill a pixels in the visualization
111
+ */
112
+ intervalMs?: number;
113
+ /**
114
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
115
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
116
+ * from the number of pixels visible in a visualization
117
+ */
118
+ maxDataPoints?: number;
119
+ /**
120
+ * QueryType is an optional identifier for the type of query.
121
+ * It can be used to distinguish different types of queries.
122
+ */
123
+ queryType?: string;
124
+ /**
125
+ * The reducer
126
+ * Possible enum values:
127
+ * - `"sum"`
128
+ * - `"mean"`
129
+ * - `"min"`
130
+ * - `"max"`
131
+ * - `"count"`
132
+ * - `"last"`
133
+ * - `"median"`
134
+ */
135
+ reducer: "sum" | "mean" | "min" | "max" | "count" | "last" | "median";
136
+ /**
137
+ * RefID is the unique identifier of the query, set by the frontend call.
138
+ */
139
+ refId?: string | null;
140
+ /**
141
+ * Optionally define expected query result behavior
142
+ */
143
+ resultAssertions?: {
144
+ /**
145
+ * Maximum frame count
146
+ */
147
+ maxFrames?: number;
148
+ /**
149
+ * Type asserts that the frame matches a known type structure.
150
+ * Possible enum values:
151
+ * - `""`
152
+ * - `"timeseries-wide"`
153
+ * - `"timeseries-long"`
154
+ * - `"timeseries-many"`
155
+ * - `"timeseries-multi"`
156
+ * - `"directory-listing"`
157
+ * - `"table"`
158
+ * - `"numeric-wide"`
159
+ * - `"numeric-multi"`
160
+ * - `"numeric-long"`
161
+ * - `"log-lines"`
162
+ */
163
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
164
+ /**
165
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
166
+ * contract documentation https://grafana.github.io/dataplane/contract/.
167
+ */
168
+ typeVersion: number[];
169
+ };
170
+ /**
171
+ * Reducer Options
172
+ */
173
+ settings?: {
174
+ /**
175
+ * Non-number reduce behavior
176
+ * Possible enum values:
177
+ * - `"dropNN"` Drop non-numbers
178
+ * - `"replaceNN"` Replace non-numbers
179
+ */
180
+ mode: "dropNN" | "replaceNN";
181
+ /**
182
+ * Only valid when mode is replace
183
+ */
184
+ replaceWithValue?: number;
185
+ };
186
+ /**
187
+ * TimeRange represents the query range
188
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
189
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
190
+ */
191
+ timeRange?: {
192
+ /**
193
+ * From is the start time of the query.
194
+ */
195
+ from: string;
196
+ /**
197
+ * To is the end time of the query.
198
+ */
199
+ to: string;
200
+ };
201
+ type: "reduce";
202
+ }
203
+
204
+ export interface TypeResample {
205
+ /**
206
+ * The datasource
207
+ */
208
+ datasource?: DataSourceRef;
209
+ /**
210
+ * The downsample function
211
+ * Possible enum values:
212
+ * - `"sum"`
213
+ * - `"mean"`
214
+ * - `"min"`
215
+ * - `"max"`
216
+ * - `"count"`
217
+ * - `"last"`
218
+ * - `"median"`
219
+ */
220
+ downsampler: "sum" | "mean" | "min" | "max" | "count" | "last" | "median";
221
+ /**
222
+ * The math expression
223
+ */
224
+ expression: string;
225
+ /**
226
+ * true if query is disabled (ie should not be returned to the dashboard)
227
+ * NOTE: this does not always imply that the query should not be executed since
228
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
229
+ */
230
+ hide?: boolean;
231
+ /**
232
+ * Interval is the suggested duration between time points in a time series query.
233
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
234
+ * from the interval required to fill a pixels in the visualization
235
+ */
236
+ intervalMs?: number;
237
+ /**
238
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
239
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
240
+ * from the number of pixels visible in a visualization
241
+ */
242
+ maxDataPoints?: number;
243
+ /**
244
+ * QueryType is an optional identifier for the type of query.
245
+ * It can be used to distinguish different types of queries.
246
+ */
247
+ queryType?: string;
248
+ /**
249
+ * RefID is the unique identifier of the query, set by the frontend call.
250
+ */
251
+ refId?: string | null;
252
+ /**
253
+ * Optionally define expected query result behavior
254
+ */
255
+ resultAssertions?: {
256
+ /**
257
+ * Maximum frame count
258
+ */
259
+ maxFrames?: number;
260
+ /**
261
+ * Type asserts that the frame matches a known type structure.
262
+ * Possible enum values:
263
+ * - `""`
264
+ * - `"timeseries-wide"`
265
+ * - `"timeseries-long"`
266
+ * - `"timeseries-many"`
267
+ * - `"timeseries-multi"`
268
+ * - `"directory-listing"`
269
+ * - `"table"`
270
+ * - `"numeric-wide"`
271
+ * - `"numeric-multi"`
272
+ * - `"numeric-long"`
273
+ * - `"log-lines"`
274
+ */
275
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
276
+ /**
277
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
278
+ * contract documentation https://grafana.github.io/dataplane/contract/.
279
+ */
280
+ typeVersion: number[];
281
+ };
282
+ /**
283
+ * TimeRange represents the query range
284
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
285
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
286
+ */
287
+ timeRange?: {
288
+ /**
289
+ * From is the start time of the query.
290
+ */
291
+ from: string;
292
+ /**
293
+ * To is the end time of the query.
294
+ */
295
+ to: string;
296
+ };
297
+ type: "resample";
298
+ /**
299
+ * The upsample function
300
+ * Possible enum values:
301
+ * - `"pad"` Use the last seen value
302
+ * - `"backfilling"` backfill
303
+ * - `"fillna"` Do not fill values (nill)
304
+ */
305
+ upsampler: "pad" | "backfilling" | "fillna";
306
+ /**
307
+ * The time duration
308
+ */
309
+ window: string;
310
+ }
311
+
312
+ export interface TypeClassicConditions {
313
+ conditions: {
314
+ evaluator: {
315
+ params: number[];
316
+ /**
317
+ * e.g. "gt"
318
+ */
319
+ type: string;
320
+ };
321
+ operator: {
322
+ type: "and" | "or" | "logic-or";
323
+ };
324
+ query: {
325
+ params: string[];
326
+ };
327
+ reducer: {
328
+ type: string;
329
+ };
330
+ }[];
331
+ /**
332
+ * The datasource
333
+ */
334
+ datasource?: DataSourceRef;
335
+ /**
336
+ * true if query is disabled (ie should not be returned to the dashboard)
337
+ * NOTE: this does not always imply that the query should not be executed since
338
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
339
+ */
340
+ hide?: boolean;
341
+ /**
342
+ * Interval is the suggested duration between time points in a time series query.
343
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
344
+ * from the interval required to fill a pixels in the visualization
345
+ */
346
+ intervalMs?: number;
347
+ /**
348
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
349
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
350
+ * from the number of pixels visible in a visualization
351
+ */
352
+ maxDataPoints?: number;
353
+ /**
354
+ * QueryType is an optional identifier for the type of query.
355
+ * It can be used to distinguish different types of queries.
356
+ */
357
+ queryType?: string;
358
+ /**
359
+ * RefID is the unique identifier of the query, set by the frontend call.
360
+ */
361
+ refId?: string | null;
362
+ /**
363
+ * Optionally define expected query result behavior
364
+ */
365
+ resultAssertions?: {
366
+ /**
367
+ * Maximum frame count
368
+ */
369
+ maxFrames?: number;
370
+ /**
371
+ * Type asserts that the frame matches a known type structure.
372
+ * Possible enum values:
373
+ * - `""`
374
+ * - `"timeseries-wide"`
375
+ * - `"timeseries-long"`
376
+ * - `"timeseries-many"`
377
+ * - `"timeseries-multi"`
378
+ * - `"directory-listing"`
379
+ * - `"table"`
380
+ * - `"numeric-wide"`
381
+ * - `"numeric-multi"`
382
+ * - `"numeric-long"`
383
+ * - `"log-lines"`
384
+ */
385
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
386
+ /**
387
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
388
+ * contract documentation https://grafana.github.io/dataplane/contract/.
389
+ */
390
+ typeVersion: number[];
391
+ };
392
+ /**
393
+ * TimeRange represents the query range
394
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
395
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
396
+ */
397
+ timeRange?: {
398
+ /**
399
+ * From is the start time of the query.
400
+ */
401
+ from: string;
402
+ /**
403
+ * To is the end time of the query.
404
+ */
405
+ to: string;
406
+ };
407
+ type: "classic_conditions";
408
+ }
409
+
410
+ export interface TypeThreshold {
411
+ /**
412
+ * Threshold Conditions
413
+ */
414
+ conditions: {
415
+ evaluator: {
416
+ params: number[];
417
+ /**
418
+ * e.g. "gt"
419
+ */
420
+ type: "gt" | "lt" | "eq" | "ne" | "gte" | "lte" | "within_range" | "outside_range" | "within_range_included" | "outside_range_included";
421
+ };
422
+ loadedDimensions?: Record<string, unknown>;
423
+ unloadEvaluator?: {
424
+ params: number[];
425
+ /**
426
+ * e.g. "gt"
427
+ */
428
+ type: "gt" | "lt" | "eq" | "ne" | "gte" | "lte" | "within_range" | "outside_range" | "within_range_included" | "outside_range_included";
429
+ };
430
+ /**
431
+ * Fingerprints of the series already firing, written by Grafana while it evaluates a rule with a recovery threshold. Supersedes loadedDimensions. Never set it by hand.
432
+ */
433
+ loadedFingerprints?: string[];
434
+ }[];
435
+ /**
436
+ * The datasource
437
+ */
438
+ datasource?: DataSourceRef;
439
+ /**
440
+ * Reference to single query result
441
+ */
442
+ expression: string;
443
+ /**
444
+ * true if query is disabled (ie should not be returned to the dashboard)
445
+ * NOTE: this does not always imply that the query should not be executed since
446
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
447
+ */
448
+ hide?: boolean;
449
+ /**
450
+ * Interval is the suggested duration between time points in a time series query.
451
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
452
+ * from the interval required to fill a pixels in the visualization
453
+ */
454
+ intervalMs?: number;
455
+ /**
456
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
457
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
458
+ * from the number of pixels visible in a visualization
459
+ */
460
+ maxDataPoints?: number;
461
+ /**
462
+ * QueryType is an optional identifier for the type of query.
463
+ * It can be used to distinguish different types of queries.
464
+ */
465
+ queryType?: string;
466
+ /**
467
+ * RefID is the unique identifier of the query, set by the frontend call.
468
+ */
469
+ refId?: string | null;
470
+ /**
471
+ * Optionally define expected query result behavior
472
+ */
473
+ resultAssertions?: {
474
+ /**
475
+ * Maximum frame count
476
+ */
477
+ maxFrames?: number;
478
+ /**
479
+ * Type asserts that the frame matches a known type structure.
480
+ * Possible enum values:
481
+ * - `""`
482
+ * - `"timeseries-wide"`
483
+ * - `"timeseries-long"`
484
+ * - `"timeseries-many"`
485
+ * - `"timeseries-multi"`
486
+ * - `"directory-listing"`
487
+ * - `"table"`
488
+ * - `"numeric-wide"`
489
+ * - `"numeric-multi"`
490
+ * - `"numeric-long"`
491
+ * - `"log-lines"`
492
+ */
493
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
494
+ /**
495
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
496
+ * contract documentation https://grafana.github.io/dataplane/contract/.
497
+ */
498
+ typeVersion: number[];
499
+ };
500
+ /**
501
+ * TimeRange represents the query range
502
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
503
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
504
+ */
505
+ timeRange?: {
506
+ /**
507
+ * From is the start time of the query.
508
+ */
509
+ from: string;
510
+ /**
511
+ * To is the end time of the query.
512
+ */
513
+ to: string;
514
+ };
515
+ type: "threshold";
516
+ }
517
+
518
+ export interface TypeSql {
519
+ /**
520
+ * The datasource
521
+ */
522
+ datasource?: DataSourceRef;
523
+ expression: string;
524
+ format: string;
525
+ /**
526
+ * true if query is disabled (ie should not be returned to the dashboard)
527
+ * NOTE: this does not always imply that the query should not be executed since
528
+ * the results from a hidden query may be used as the input to other queries (SSE etc)
529
+ */
530
+ hide?: boolean;
531
+ /**
532
+ * Interval is the suggested duration between time points in a time series query.
533
+ * NOTE: the values for intervalMs is not saved in the query model. It is typically calculated
534
+ * from the interval required to fill a pixels in the visualization
535
+ */
536
+ intervalMs?: number;
537
+ /**
538
+ * MaxDataPoints is the maximum number of data points that should be returned from a time series query.
539
+ * NOTE: the values for maxDataPoints is not saved in the query model. It is typically calculated
540
+ * from the number of pixels visible in a visualization
541
+ */
542
+ maxDataPoints?: number;
543
+ /**
544
+ * QueryType is an optional identifier for the type of query.
545
+ * It can be used to distinguish different types of queries.
546
+ */
547
+ queryType?: string;
548
+ /**
549
+ * RefID is the unique identifier of the query, set by the frontend call.
550
+ */
551
+ refId?: string | null;
552
+ /**
553
+ * Optionally define expected query result behavior
554
+ */
555
+ resultAssertions?: {
556
+ /**
557
+ * Maximum frame count
558
+ */
559
+ maxFrames?: number;
560
+ /**
561
+ * Type asserts that the frame matches a known type structure.
562
+ * Possible enum values:
563
+ * - `""`
564
+ * - `"timeseries-wide"`
565
+ * - `"timeseries-long"`
566
+ * - `"timeseries-many"`
567
+ * - `"timeseries-multi"`
568
+ * - `"directory-listing"`
569
+ * - `"table"`
570
+ * - `"numeric-wide"`
571
+ * - `"numeric-multi"`
572
+ * - `"numeric-long"`
573
+ * - `"log-lines"`
574
+ */
575
+ type?: "" | "timeseries-wide" | "timeseries-long" | "timeseries-many" | "timeseries-multi" | "directory-listing" | "table" | "numeric-wide" | "numeric-multi" | "numeric-long" | "log-lines";
576
+ /**
577
+ * TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane
578
+ * contract documentation https://grafana.github.io/dataplane/contract/.
579
+ */
580
+ typeVersion: number[];
581
+ };
582
+ /**
583
+ * TimeRange represents the query range
584
+ * NOTE: unlike generic /ds/query, we can now send explicit time values in each query
585
+ * NOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly
586
+ */
587
+ timeRange?: {
588
+ /**
589
+ * From is the start time of the query.
590
+ */
591
+ from: string;
592
+ /**
593
+ * To is the end time of the query.
594
+ */
595
+ to: string;
596
+ };
597
+ type: "sql";
598
+ }
599
+
600
+ export interface TypeMathOrTypeReduceOrTypeResampleOrTypeClassicConditionsOrTypeThresholdOrTypeSql {
601
+ TypeMath?: TypeMath | null;
602
+ TypeReduce?: TypeReduce | null;
603
+ TypeResample?: TypeResample | null;
604
+ TypeClassicConditions?: TypeClassicConditions | null;
605
+ TypeThreshold?: TypeThreshold | null;
606
+ TypeSql?: TypeSql | null;
607
+ }
608
+
609
+ export interface DataSourceRef {
610
+ /**
611
+ * The plugin type-id
612
+ */
613
+ type?: string;
614
+ /**
615
+ * Specific datasource instance
616
+ */
617
+ uid?: string;
618
+ }
@@ -1,5 +1,6 @@
1
1
  // Code generated by chant generate from the vendored Grafana schema
2
- // src/spec/schemas/gauge.jsonschema.json (see src/pin.ts). DO NOT EDIT.
2
+ // src/spec/schemas/gauge.jsonschema.json (see src/pin.ts) and its correction
3
+ // overlay in src/spec/overlay/ (see src/spec/overlay.ts). DO NOT EDIT.
3
4
  /* eslint-disable */
4
5
 
5
6
  export interface Options {