@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,132 @@
1
+ // Code generated by chant generate from the vendored Grafana schema
2
+ // src/spec/schemas/statushistory.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 interface Options {
7
+ /**
8
+ * Set the height of the rows
9
+ */
10
+ rowHeight: number;
11
+ /**
12
+ * Show values on the columns
13
+ */
14
+ showValue: VisibilityMode;
15
+ /**
16
+ * Controls the column width
17
+ */
18
+ colWidth?: number;
19
+ legend: VizLegendOptions;
20
+ tooltip: VizTooltipOptions;
21
+ timezone?: TimeZone[];
22
+ /**
23
+ * Enables pagination when > 0
24
+ */
25
+ perPage?: number;
26
+ }
27
+
28
+ export interface FieldConfig {
29
+ lineWidth?: number;
30
+ axisPlacement?: AxisPlacement;
31
+ axisColorMode?: AxisColorMode;
32
+ axisLabel?: string;
33
+ axisWidth?: number;
34
+ axisSoftMin?: number;
35
+ axisSoftMax?: number;
36
+ axisGridShow?: boolean;
37
+ scaleDistribution?: ScaleDistributionConfig;
38
+ axisCenteredZero?: boolean;
39
+ hideFrom?: HideSeriesConfig;
40
+ fillOpacity?: number;
41
+ axisBorderShow?: boolean;
42
+ }
43
+
44
+ /**
45
+ * TODO docs
46
+ */
47
+ export type VisibilityMode = "auto" | "never" | "always";
48
+
49
+ /**
50
+ * TODO docs
51
+ */
52
+ export interface VizLegendOptions {
53
+ displayMode: LegendDisplayMode;
54
+ placement: LegendPlacement;
55
+ showLegend: boolean;
56
+ asTable?: boolean;
57
+ isVisible?: boolean;
58
+ sortBy?: string;
59
+ sortDesc?: boolean;
60
+ width?: number;
61
+ calcs: string[];
62
+ }
63
+
64
+ /**
65
+ * TODO docs
66
+ */
67
+ export interface VizTooltipOptions {
68
+ mode: TooltipDisplayMode;
69
+ sort: SortOrder;
70
+ maxWidth?: number;
71
+ maxHeight?: number;
72
+ hideZeros?: boolean;
73
+ }
74
+
75
+ /**
76
+ * A specific timezone from https://en.wikipedia.org/wiki/Tz_database
77
+ */
78
+ export type TimeZone = string;
79
+
80
+ /**
81
+ * TODO docs
82
+ */
83
+ export type AxisPlacement = "auto" | "top" | "right" | "bottom" | "left" | "hidden";
84
+
85
+ /**
86
+ * TODO docs
87
+ */
88
+ export type AxisColorMode = "text" | "series";
89
+
90
+ /**
91
+ * TODO docs
92
+ */
93
+ export interface ScaleDistributionConfig {
94
+ type: ScaleDistribution;
95
+ log?: number;
96
+ linearThreshold?: number;
97
+ }
98
+
99
+ /**
100
+ * TODO docs
101
+ */
102
+ export interface HideSeriesConfig {
103
+ tooltip: boolean;
104
+ legend: boolean;
105
+ viz: boolean;
106
+ }
107
+
108
+ /**
109
+ * TODO docs
110
+ * Note: "hidden" needs to remain as an option for plugins compatibility
111
+ */
112
+ export type LegendDisplayMode = "list" | "table" | "hidden";
113
+
114
+ /**
115
+ * TODO docs
116
+ */
117
+ export type LegendPlacement = "bottom" | "right";
118
+
119
+ /**
120
+ * TODO docs
121
+ */
122
+ export type TooltipDisplayMode = "single" | "multi" | "none";
123
+
124
+ /**
125
+ * TODO docs
126
+ */
127
+ export type SortOrder = "asc" | "desc" | "none";
128
+
129
+ /**
130
+ * TODO docs
131
+ */
132
+ export type ScaleDistribution = "linear" | "log" | "ordinal" | "symlog";
@@ -1,5 +1,6 @@
1
1
  // Code generated by chant generate from the vendored Grafana schema
2
- // src/spec/schemas/table.jsonschema.json (see src/pin.ts). DO NOT EDIT.
2
+ // src/spec/schemas/table.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 {
@@ -101,13 +102,13 @@ export type FieldTextAlignment = "auto" | "left" | "right" | "center";
101
102
  * The color-background-solid, gradient-gauge, and lcd-gauge
102
103
  * modes are deprecated in favor of new cell subOptions
103
104
  */
104
- export type TableCellDisplayMode = "auto" | "color-text" | "color-background" | "color-background-solid" | "gradient-gauge" | "lcd-gauge" | "json-view" | "basic" | "image" | "gauge" | "sparkline" | "data-links" | "custom" | "actions";
105
+ export type TableCellDisplayMode = "auto" | "color-text" | "color-background" | "color-background-solid" | "gradient-gauge" | "lcd-gauge" | "json-view" | "basic" | "image" | "gauge" | "sparkline" | "data-links" | "custom" | "actions" | "pill" | "markdown" | "geo";
105
106
 
106
107
  /**
107
108
  * Table cell options. Each cell has a display mode
108
109
  * and other potential options for that display.
109
110
  */
110
- export type TableCellOptions = TableAutoCellOptions | TableSparklineCellOptions | TableBarGaugeCellOptions | TableColoredBackgroundCellOptions | TableColorTextCellOptions | TableImageCellOptions | TableDataLinksCellOptions | TableActionsCellOptions | TableJsonViewCellOptions;
111
+ export type TableCellOptions = TableAutoCellOptions | TableSparklineCellOptions | TableBarGaugeCellOptions | TableColoredBackgroundCellOptions | TableColorTextCellOptions | TableImageCellOptions | TableDataLinksCellOptions | TableActionsCellOptions | TableJsonViewCellOptions | TablePillCellOptions | TableMarkdownCellOptions | TableGeoCellOptions;
111
112
 
112
113
  /**
113
114
  * Auto mode table cell options
@@ -250,7 +251,7 @@ export type LineInterpolation = "linear" | "smooth" | "stepBefore" | "stepAfter"
250
251
  * TODO docs
251
252
  */
252
253
  export interface LineStyle {
253
- fill?: "solid" | "dash" | "dot" | "square";
254
+ fill?: "solid" | "dash" | "dot" | "square" | "accessible";
254
255
  dash?: number[];
255
256
  }
256
257
 
@@ -332,3 +333,25 @@ export type ScaleDistribution = "linear" | "log" | "ordinal" | "symlog";
332
333
  * TODO docs
333
334
  */
334
335
  export type StackingMode = "none" | "normal" | "percent";
336
+
337
+ /**
338
+ * Pill cell options
339
+ */
340
+ export interface TablePillCellOptions {
341
+ type: TableCellDisplayMode;
342
+ }
343
+
344
+ /**
345
+ * Markdown cell options
346
+ */
347
+ export interface TableMarkdownCellOptions {
348
+ type: TableCellDisplayMode;
349
+ dynamicHeight?: boolean;
350
+ }
351
+
352
+ /**
353
+ * Geo cell options
354
+ */
355
+ export interface TableGeoCellOptions {
356
+ type: TableCellDisplayMode;
357
+ }
@@ -1,5 +1,6 @@
1
1
  // Code generated by chant generate from the vendored Grafana schema
2
- // src/spec/schemas/tempo.jsonschema.json (see src/pin.ts). DO NOT EDIT.
2
+ // src/spec/schemas/tempo.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 Dataquery {
@@ -1,5 +1,6 @@
1
1
  // Code generated by chant generate from the vendored Grafana schema
2
- // src/spec/schemas/text.jsonschema.json (see src/pin.ts). DO NOT EDIT.
2
+ // src/spec/schemas/text.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 type TextMode = "html" | "markdown" | "code";
@@ -1,5 +1,6 @@
1
1
  // Code generated by chant generate from the vendored Grafana schema
2
- // src/spec/schemas/timeseries.jsonschema.json (see src/pin.ts). DO NOT EDIT.
2
+ // src/spec/schemas/timeseries.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 {
@@ -88,6 +89,10 @@ export interface GraphFieldConfig {
88
89
  pointSymbol?: string;
89
90
  axisBorderShow?: boolean;
90
91
  barMaxWidth?: number;
92
+ /**
93
+ * Show point values on the graph.
94
+ */
95
+ showValues?: boolean;
91
96
  }
92
97
 
93
98
  /**
@@ -142,7 +147,7 @@ export type LineInterpolation = "linear" | "smooth" | "stepBefore" | "stepAfter"
142
147
  * TODO docs
143
148
  */
144
149
  export interface LineStyle {
145
- fill?: "solid" | "dash" | "dot" | "square";
150
+ fill?: "solid" | "dash" | "dot" | "square" | "accessible";
146
151
  dash?: number[];
147
152
  }
148
153
 
@@ -0,0 +1,208 @@
1
+ // Code generated by chant generate from the vendored Grafana schema
2
+ // src/spec/schemas/trend.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
+ /**
7
+ * Identical to timeseries... except it does not have timezone settings
8
+ */
9
+ export interface Options {
10
+ legend: VizLegendOptions;
11
+ tooltip: VizTooltipOptions;
12
+ /**
13
+ * Name of the x field to use (defaults to first number)
14
+ */
15
+ xField?: string;
16
+ }
17
+
18
+ export type FieldConfig = GraphFieldConfig;
19
+
20
+ /**
21
+ * TODO docs
22
+ */
23
+ export interface VizLegendOptions {
24
+ displayMode: LegendDisplayMode;
25
+ placement: LegendPlacement;
26
+ showLegend: boolean;
27
+ asTable?: boolean;
28
+ isVisible?: boolean;
29
+ sortBy?: string;
30
+ sortDesc?: boolean;
31
+ width?: number;
32
+ calcs: string[];
33
+ }
34
+
35
+ /**
36
+ * TODO docs
37
+ */
38
+ export interface VizTooltipOptions {
39
+ mode: TooltipDisplayMode;
40
+ sort: SortOrder;
41
+ maxWidth?: number;
42
+ maxHeight?: number;
43
+ hideZeros?: boolean;
44
+ }
45
+
46
+ /**
47
+ * TODO docs
48
+ */
49
+ export interface GraphFieldConfig {
50
+ drawStyle?: GraphDrawStyle;
51
+ gradientMode?: GraphGradientMode;
52
+ thresholdsStyle?: GraphThresholdsStyleConfig;
53
+ transform?: GraphTransform;
54
+ lineColor?: string;
55
+ lineWidth?: number;
56
+ lineInterpolation?: LineInterpolation;
57
+ lineStyle?: LineStyle;
58
+ fillColor?: string;
59
+ fillOpacity?: number;
60
+ showPoints?: VisibilityMode;
61
+ pointSize?: number;
62
+ pointColor?: string;
63
+ axisPlacement?: AxisPlacement;
64
+ axisColorMode?: AxisColorMode;
65
+ axisLabel?: string;
66
+ axisWidth?: number;
67
+ axisSoftMin?: number;
68
+ axisSoftMax?: number;
69
+ axisGridShow?: boolean;
70
+ scaleDistribution?: ScaleDistributionConfig;
71
+ axisCenteredZero?: boolean;
72
+ barAlignment?: BarAlignment;
73
+ barWidthFactor?: number;
74
+ stacking?: StackingConfig;
75
+ hideFrom?: HideSeriesConfig;
76
+ insertNulls?: boolean | number;
77
+ /**
78
+ * Indicate if null values should be treated as gaps or connected.
79
+ * When the value is a number, it represents the maximum delta in the
80
+ * X axis that should be considered connected. For timeseries, this is milliseconds
81
+ */
82
+ spanNulls?: boolean | number;
83
+ fillBelowTo?: string;
84
+ pointSymbol?: string;
85
+ axisBorderShow?: boolean;
86
+ barMaxWidth?: number;
87
+ /**
88
+ * Show point values on the graph.
89
+ */
90
+ showValues?: boolean;
91
+ }
92
+
93
+ /**
94
+ * TODO docs
95
+ * Note: "hidden" needs to remain as an option for plugins compatibility
96
+ */
97
+ export type LegendDisplayMode = "list" | "table" | "hidden";
98
+
99
+ /**
100
+ * TODO docs
101
+ */
102
+ export type LegendPlacement = "bottom" | "right";
103
+
104
+ /**
105
+ * TODO docs
106
+ */
107
+ export type TooltipDisplayMode = "single" | "multi" | "none";
108
+
109
+ /**
110
+ * TODO docs
111
+ */
112
+ export type SortOrder = "asc" | "desc" | "none";
113
+
114
+ /**
115
+ * TODO docs
116
+ */
117
+ export type GraphDrawStyle = "line" | "bars" | "points";
118
+
119
+ /**
120
+ * TODO docs
121
+ */
122
+ export type GraphGradientMode = "none" | "opacity" | "hue" | "scheme";
123
+
124
+ /**
125
+ * TODO docs
126
+ */
127
+ export interface GraphThresholdsStyleConfig {
128
+ mode: GraphThresholdsStyleMode;
129
+ }
130
+
131
+ /**
132
+ * TODO docs
133
+ */
134
+ export type GraphTransform = "constant" | "negative-Y";
135
+
136
+ /**
137
+ * TODO docs
138
+ */
139
+ export type LineInterpolation = "linear" | "smooth" | "stepBefore" | "stepAfter";
140
+
141
+ /**
142
+ * TODO docs
143
+ */
144
+ export interface LineStyle {
145
+ fill?: "solid" | "dash" | "dot" | "square";
146
+ dash?: number[];
147
+ }
148
+
149
+ /**
150
+ * TODO docs
151
+ */
152
+ export type VisibilityMode = "auto" | "never" | "always";
153
+
154
+ /**
155
+ * TODO docs
156
+ */
157
+ export type AxisPlacement = "auto" | "top" | "right" | "bottom" | "left" | "hidden";
158
+
159
+ /**
160
+ * TODO docs
161
+ */
162
+ export type AxisColorMode = "text" | "series";
163
+
164
+ /**
165
+ * TODO docs
166
+ */
167
+ export interface ScaleDistributionConfig {
168
+ type: ScaleDistribution;
169
+ log?: number;
170
+ linearThreshold?: number;
171
+ }
172
+
173
+ /**
174
+ * TODO docs
175
+ */
176
+ export type BarAlignment = -1 | 0 | 1;
177
+
178
+ /**
179
+ * TODO docs
180
+ */
181
+ export interface StackingConfig {
182
+ mode?: StackingMode;
183
+ group?: string;
184
+ }
185
+
186
+ /**
187
+ * TODO docs
188
+ */
189
+ export interface HideSeriesConfig {
190
+ tooltip: boolean;
191
+ legend: boolean;
192
+ viz: boolean;
193
+ }
194
+
195
+ /**
196
+ * TODO docs
197
+ */
198
+ export type GraphThresholdsStyleMode = "off" | "line" | "dashed" | "area" | "line+area" | "dashed+area" | "series";
199
+
200
+ /**
201
+ * TODO docs
202
+ */
203
+ export type ScaleDistribution = "linear" | "log" | "ordinal" | "symlog";
204
+
205
+ /**
206
+ * TODO docs
207
+ */
208
+ export type StackingMode = "none" | "normal" | "percent";
@@ -0,0 +1,167 @@
1
+ // Code generated by chant generate from the vendored Grafana schema
2
+ // src/spec/schemas/xychart.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 PointShape = "circle" | "square";
7
+
8
+ export type SeriesMapping = "auto" | "manual";
9
+
10
+ export type XYShowMode = "points" | "lines" | "points+lines";
11
+
12
+ /**
13
+ * NOTE: (copied from dashboard_kind.cue, since not exported)
14
+ * Matcher is a predicate configuration. Based on the config a set of field(s) or values is filtered in order to apply override / transformation.
15
+ * It comes with in id ( to resolve implementation from registry) and a configuration that’s specific to a particular matcher type.
16
+ */
17
+ export interface MatcherConfig {
18
+ /**
19
+ * The matcher id. This is used to find the matcher implementation from registry.
20
+ */
21
+ id: string;
22
+ /**
23
+ * The matcher options. This is specific to the matcher implementation: a field name for byName, a frame index for byIndex.
24
+ */
25
+ options?: unknown;
26
+ }
27
+
28
+ export interface FieldConfig {
29
+ show?: XYShowMode;
30
+ pointSize?: {
31
+ fixed?: number;
32
+ min?: number;
33
+ max?: number;
34
+ };
35
+ pointShape?: PointShape;
36
+ pointStrokeWidth?: number;
37
+ fillOpacity?: number;
38
+ lineWidth?: number;
39
+ hideFrom?: HideSeriesConfig;
40
+ axisPlacement?: AxisPlacement;
41
+ axisColorMode?: AxisColorMode;
42
+ axisLabel?: string;
43
+ axisWidth?: number;
44
+ axisSoftMin?: number;
45
+ axisSoftMax?: number;
46
+ axisGridShow?: boolean;
47
+ scaleDistribution?: ScaleDistributionConfig;
48
+ axisCenteredZero?: boolean;
49
+ lineStyle?: LineStyle;
50
+ axisBorderShow?: boolean;
51
+ }
52
+
53
+ export interface XYSeriesConfig {
54
+ name?: {
55
+ fixed?: string;
56
+ };
57
+ frame?: {
58
+ matcher: MatcherConfig;
59
+ };
60
+ x?: {
61
+ matcher: MatcherConfig;
62
+ };
63
+ y?: {
64
+ matcher: MatcherConfig;
65
+ };
66
+ color?: {
67
+ matcher: MatcherConfig;
68
+ };
69
+ size?: {
70
+ matcher: MatcherConfig;
71
+ };
72
+ }
73
+
74
+ export interface Options {
75
+ mapping: SeriesMapping;
76
+ legend: VizLegendOptions;
77
+ tooltip: VizTooltipOptions;
78
+ series: XYSeriesConfig[];
79
+ }
80
+
81
+ /**
82
+ * TODO docs
83
+ */
84
+ export interface HideSeriesConfig {
85
+ tooltip: boolean;
86
+ legend: boolean;
87
+ viz: boolean;
88
+ }
89
+
90
+ /**
91
+ * TODO docs
92
+ */
93
+ export type AxisPlacement = "auto" | "top" | "right" | "bottom" | "left" | "hidden";
94
+
95
+ /**
96
+ * TODO docs
97
+ */
98
+ export type AxisColorMode = "text" | "series";
99
+
100
+ /**
101
+ * TODO docs
102
+ */
103
+ export interface ScaleDistributionConfig {
104
+ type: ScaleDistribution;
105
+ log?: number;
106
+ linearThreshold?: number;
107
+ }
108
+
109
+ /**
110
+ * TODO docs
111
+ */
112
+ export interface LineStyle {
113
+ fill?: "solid" | "dash" | "dot" | "square";
114
+ dash?: number[];
115
+ }
116
+
117
+ /**
118
+ * TODO docs
119
+ */
120
+ export interface VizLegendOptions {
121
+ displayMode: LegendDisplayMode;
122
+ placement: LegendPlacement;
123
+ showLegend: boolean;
124
+ asTable?: boolean;
125
+ isVisible?: boolean;
126
+ sortBy?: string;
127
+ sortDesc?: boolean;
128
+ width?: number;
129
+ calcs: string[];
130
+ }
131
+
132
+ /**
133
+ * TODO docs
134
+ */
135
+ export interface VizTooltipOptions {
136
+ mode: TooltipDisplayMode;
137
+ sort: SortOrder;
138
+ maxWidth?: number;
139
+ maxHeight?: number;
140
+ hideZeros?: boolean;
141
+ }
142
+
143
+ /**
144
+ * TODO docs
145
+ */
146
+ export type ScaleDistribution = "linear" | "log" | "ordinal" | "symlog";
147
+
148
+ /**
149
+ * TODO docs
150
+ * Note: "hidden" needs to remain as an option for plugins compatibility
151
+ */
152
+ export type LegendDisplayMode = "list" | "table" | "hidden";
153
+
154
+ /**
155
+ * TODO docs
156
+ */
157
+ export type LegendPlacement = "bottom" | "right";
158
+
159
+ /**
160
+ * TODO docs
161
+ */
162
+ export type TooltipDisplayMode = "single" | "multi" | "none";
163
+
164
+ /**
165
+ * TODO docs
166
+ */
167
+ export type SortOrder = "asc" | "desc" | "none";