@k8ts/instruments 0.11.4 → 0.12.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 (737) hide show
  1. package/dist/core/graph/entity.d.ts +8 -23
  2. package/dist/core/graph/entity.d.ts.map +1 -1
  3. package/dist/core/graph/entity.js +9 -21
  4. package/dist/core/graph/entity.js.map +1 -1
  5. package/dist/core/graph/error.d.ts +7 -0
  6. package/dist/core/graph/error.d.ts.map +1 -0
  7. package/dist/core/graph/error.js +12 -0
  8. package/dist/core/graph/error.js.map +1 -0
  9. package/dist/core/graph/index.d.ts +2 -2
  10. package/dist/core/graph/index.d.ts.map +1 -1
  11. package/dist/core/graph/index.js +4 -4
  12. package/dist/core/graph/index.js.map +1 -1
  13. package/dist/core/graph/origin/dummy.d.ts +13 -0
  14. package/dist/core/graph/origin/dummy.d.ts.map +1 -0
  15. package/dist/core/graph/origin/dummy.js +25 -0
  16. package/dist/core/graph/origin/dummy.js.map +1 -0
  17. package/dist/core/graph/origin/events.d.ts +19 -26
  18. package/dist/core/graph/origin/events.d.ts.map +1 -1
  19. package/dist/core/graph/origin/events.js +1 -30
  20. package/dist/core/graph/origin/events.js.map +1 -1
  21. package/dist/core/graph/origin/exporter.d.ts +10 -10
  22. package/dist/core/graph/origin/exporter.d.ts.map +1 -1
  23. package/dist/core/graph/origin/exporter.js +20 -18
  24. package/dist/core/graph/origin/exporter.js.map +1 -1
  25. package/dist/core/graph/origin/index.d.ts +5 -3
  26. package/dist/core/graph/origin/index.d.ts.map +1 -1
  27. package/dist/core/graph/origin/index.js +5 -3
  28. package/dist/core/graph/origin/index.js.map +1 -1
  29. package/dist/core/graph/origin/kind-map/index.d.ts +16 -17
  30. package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -1
  31. package/dist/core/graph/origin/kind-map/index.js +35 -34
  32. package/dist/core/graph/origin/kind-map/index.js.map +1 -1
  33. package/dist/core/graph/origin/origin.d.ts +37 -0
  34. package/dist/core/graph/origin/origin.d.ts.map +1 -0
  35. package/dist/core/graph/origin/{entity.js → origin.js} +59 -50
  36. package/dist/core/graph/origin/origin.js.map +1 -0
  37. package/dist/core/graph/origin/props.d.ts +9 -0
  38. package/dist/core/graph/origin/props.d.ts.map +1 -0
  39. package/dist/core/graph/origin/props.js.map +1 -0
  40. package/dist/core/graph/origin/template.d.ts +15 -0
  41. package/dist/core/graph/origin/template.d.ts.map +1 -0
  42. package/dist/core/graph/origin/template.js +35 -0
  43. package/dist/core/graph/origin/template.js.map +1 -0
  44. package/dist/core/graph/origin/tracker.d.ts +7 -9
  45. package/dist/core/graph/origin/tracker.d.ts.map +1 -1
  46. package/dist/core/graph/origin/tracker.js +4 -15
  47. package/dist/core/graph/origin/tracker.js.map +1 -1
  48. package/dist/core/graph/origin/vertex.d.ts +21 -0
  49. package/dist/core/graph/origin/vertex.d.ts.map +1 -0
  50. package/dist/core/graph/origin/{node.js → vertex.js} +27 -18
  51. package/dist/core/graph/origin/vertex.js.map +1 -0
  52. package/dist/core/graph/relation.d.ts +4 -4
  53. package/dist/core/graph/relation.d.ts.map +1 -1
  54. package/dist/core/graph/relation.js +4 -5
  55. package/dist/core/graph/relation.js.map +1 -1
  56. package/dist/core/graph/resource/creation-options.d.ts +22 -0
  57. package/dist/core/graph/resource/creation-options.d.ts.map +1 -0
  58. package/dist/core/graph/resource/creation-options.js +3 -0
  59. package/dist/core/graph/resource/creation-options.js.map +1 -0
  60. package/dist/core/graph/resource/dummy/base.d.ts +9 -0
  61. package/dist/core/graph/resource/dummy/base.d.ts.map +1 -0
  62. package/dist/core/graph/resource/dummy/base.js +15 -0
  63. package/dist/core/graph/resource/dummy/base.js.map +1 -0
  64. package/dist/core/graph/resource/dummy/index.d.ts.map +1 -0
  65. package/dist/core/graph/resource/dummy/index.js.map +1 -0
  66. package/dist/core/graph/resource/forward/error.d.ts +5 -0
  67. package/dist/core/graph/resource/forward/error.d.ts.map +1 -0
  68. package/dist/core/graph/resource/forward/error.js +12 -0
  69. package/dist/core/graph/resource/forward/error.js.map +1 -0
  70. package/dist/core/graph/resource/forward/exports.d.ts +46 -0
  71. package/dist/core/graph/resource/forward/exports.d.ts.map +1 -0
  72. package/dist/core/graph/resource/{reference/fw-ref-exports.js → forward/exports.js} +32 -31
  73. package/dist/core/graph/resource/forward/exports.js.map +1 -0
  74. package/dist/core/graph/resource/forward/index.d.ts +3 -0
  75. package/dist/core/graph/resource/forward/index.d.ts.map +1 -0
  76. package/dist/core/graph/resource/forward/index.js +8 -0
  77. package/dist/core/graph/resource/forward/index.js.map +1 -0
  78. package/dist/core/graph/resource/{reference/fw-ref.d.ts → forward/ref.d.ts} +20 -20
  79. package/dist/core/graph/resource/forward/ref.d.ts.map +1 -0
  80. package/dist/core/graph/resource/{reference/fw-ref.js → forward/ref.js} +56 -27
  81. package/dist/core/graph/resource/forward/ref.js.map +1 -0
  82. package/dist/core/graph/resource/gvk/0-base.d.ts +17 -0
  83. package/dist/core/graph/resource/gvk/0-base.d.ts.map +1 -0
  84. package/dist/core/graph/resource/gvk/0-base.js +35 -0
  85. package/dist/core/graph/resource/gvk/0-base.js.map +1 -0
  86. package/dist/core/graph/resource/gvk/1-group.d.ts +12 -0
  87. package/dist/core/graph/resource/gvk/1-group.d.ts.map +1 -0
  88. package/dist/core/graph/resource/gvk/1-group.js +26 -0
  89. package/dist/core/graph/resource/gvk/1-group.js.map +1 -0
  90. package/dist/core/graph/resource/gvk/2=version.d.ts +11 -0
  91. package/dist/core/graph/resource/gvk/2=version.d.ts.map +1 -0
  92. package/dist/core/graph/resource/gvk/2=version.js +23 -0
  93. package/dist/core/graph/resource/gvk/2=version.js.map +1 -0
  94. package/dist/core/graph/resource/gvk/3-gvk.d.ts +16 -0
  95. package/dist/core/graph/resource/gvk/3-gvk.d.ts.map +1 -0
  96. package/dist/core/graph/resource/gvk/3-gvk.js +50 -0
  97. package/dist/core/graph/resource/gvk/3-gvk.js.map +1 -0
  98. package/dist/core/graph/resource/gvk/4-subkind.d.ts +8 -0
  99. package/dist/core/graph/resource/gvk/4-subkind.d.ts.map +1 -0
  100. package/dist/core/graph/resource/gvk/4-subkind.js +19 -0
  101. package/dist/core/graph/resource/gvk/4-subkind.js.map +1 -0
  102. package/dist/core/graph/resource/gvk/index.d.ts +6 -0
  103. package/dist/core/graph/resource/gvk/index.d.ts.map +1 -0
  104. package/dist/core/graph/resource/gvk/index.js +22 -0
  105. package/dist/core/graph/resource/gvk/index.js.map +1 -0
  106. package/dist/core/graph/resource/gvk/strings.d.ts +4 -0
  107. package/dist/core/graph/resource/gvk/strings.d.ts.map +1 -0
  108. package/dist/core/graph/resource/{reference/refable.js → gvk/strings.js} +1 -1
  109. package/dist/core/graph/resource/gvk/strings.js.map +1 -0
  110. package/dist/core/graph/resource/{ref-key/ref-key.d.ts → ident/ident.d.ts} +25 -36
  111. package/dist/core/graph/resource/ident/ident.d.ts.map +1 -0
  112. package/dist/core/graph/resource/{ref-key/ref-key.js → ident/ident.js} +38 -49
  113. package/dist/core/graph/resource/ident/ident.js.map +1 -0
  114. package/dist/core/graph/resource/ident/index.d.ts +2 -0
  115. package/dist/core/graph/resource/ident/index.d.ts.map +1 -0
  116. package/dist/core/graph/resource/{ref-key → ident}/index.js +1 -1
  117. package/dist/core/graph/resource/ident/index.js.map +1 -0
  118. package/dist/core/graph/resource/ident/parsing.d.ts +16 -0
  119. package/dist/core/graph/resource/ident/parsing.d.ts.map +1 -0
  120. package/dist/core/graph/resource/ident/parsing.js +36 -0
  121. package/dist/core/graph/resource/ident/parsing.js.map +1 -0
  122. package/dist/core/graph/resource/index.d.ts +10 -9
  123. package/dist/core/graph/resource/index.d.ts.map +1 -1
  124. package/dist/core/graph/resource/index.js +10 -9
  125. package/dist/core/graph/resource/index.js.map +1 -1
  126. package/dist/core/graph/resource/k8s-resource.d.ts +18 -0
  127. package/dist/core/graph/resource/k8s-resource.d.ts.map +1 -0
  128. package/dist/core/graph/resource/k8s-resource.js +85 -0
  129. package/dist/core/graph/resource/k8s-resource.js.map +1 -0
  130. package/dist/core/graph/resource/part.d.ts +12 -0
  131. package/dist/core/graph/resource/part.d.ts.map +1 -0
  132. package/dist/core/graph/resource/part.js +20 -0
  133. package/dist/core/graph/resource/part.js.map +1 -0
  134. package/dist/core/graph/resource/props.d.ts +9 -0
  135. package/dist/core/graph/resource/props.d.ts.map +1 -0
  136. package/dist/core/graph/resource/{field.js → props.js} +1 -1
  137. package/dist/core/graph/resource/props.js.map +1 -0
  138. package/dist/core/graph/resource/ref.d.ts +25 -0
  139. package/dist/core/graph/resource/ref.d.ts.map +1 -0
  140. package/dist/core/graph/resource/ref.js +3 -0
  141. package/dist/core/graph/resource/ref.js.map +1 -0
  142. package/dist/core/graph/resource/resource.d.ts +23 -0
  143. package/dist/core/graph/resource/resource.d.ts.map +1 -0
  144. package/dist/core/graph/resource/{entity.js → resource.js} +40 -37
  145. package/dist/core/graph/resource/resource.js.map +1 -0
  146. package/dist/core/graph/resource/vertex.d.ts +31 -0
  147. package/dist/core/graph/resource/vertex.d.ts.map +1 -0
  148. package/dist/core/graph/resource/{node.js → vertex.js} +36 -34
  149. package/dist/core/graph/resource/vertex.js.map +1 -0
  150. package/dist/core/graph/{node.d.ts → vertex.d.ts} +12 -14
  151. package/dist/core/graph/vertex.d.ts.map +1 -0
  152. package/dist/core/graph/{node.js → vertex.js} +18 -23
  153. package/dist/core/graph/vertex.js.map +1 -0
  154. package/dist/core/manifest/index.d.ts +7 -17
  155. package/dist/core/manifest/index.d.ts.map +1 -1
  156. package/dist/core/manifest/index.js +1 -1
  157. package/dist/core/manifest/index.js.map +1 -1
  158. package/dist/core/tracing/embedder.d.ts +4 -0
  159. package/dist/core/tracing/embedder.d.ts.map +1 -0
  160. package/dist/core/tracing/{traced.js → embedder.js} +2 -2
  161. package/dist/core/tracing/embedder.js.map +1 -0
  162. package/dist/core/tracing/git.d.ts +7 -7
  163. package/dist/core/tracing/git.d.ts.map +1 -1
  164. package/dist/core/tracing/git.js +7 -7
  165. package/dist/core/tracing/git.js.map +1 -1
  166. package/dist/core/tracing/index.d.ts +2 -2
  167. package/dist/core/tracing/index.d.ts.map +1 -1
  168. package/dist/core/tracing/index.js +2 -2
  169. package/dist/core/tracing/index.js.map +1 -1
  170. package/dist/core/tracing/source.d.ts +11 -0
  171. package/dist/core/tracing/source.d.ts.map +1 -0
  172. package/dist/core/tracing/{trace.js → source.js} +6 -6
  173. package/dist/core/tracing/source.js.map +1 -0
  174. package/dist/expressions/data-sources/env-var.d.ts +5 -25
  175. package/dist/expressions/data-sources/env-var.d.ts.map +1 -1
  176. package/dist/expressions/data-sources/env-var.js +58 -34
  177. package/dist/expressions/data-sources/env-var.js.map +1 -1
  178. package/dist/expressions/data-sources/error.d.ts +8 -0
  179. package/dist/expressions/data-sources/error.d.ts.map +1 -0
  180. package/dist/expressions/data-sources/error.js +13 -0
  181. package/dist/expressions/data-sources/error.js.map +1 -0
  182. package/dist/expressions/data-sources/index.d.ts +1 -1
  183. package/dist/expressions/data-sources/index.d.ts.map +1 -1
  184. package/dist/expressions/data-sources/index.js +1 -1
  185. package/dist/expressions/data-sources/index.js.map +1 -1
  186. package/dist/expressions/data-sources/interface.d.ts +9 -26
  187. package/dist/expressions/data-sources/interface.d.ts.map +1 -1
  188. package/dist/expressions/data-sources/interface.js +4 -0
  189. package/dist/expressions/data-sources/interface.js.map +1 -1
  190. package/dist/expressions/data-sources/js-object.d.ts +7 -0
  191. package/dist/expressions/data-sources/js-object.d.ts.map +1 -0
  192. package/dist/expressions/data-sources/js-object.js +98 -0
  193. package/dist/expressions/data-sources/js-object.js.map +1 -0
  194. package/dist/expressions/data-sources/local-file.d.ts +7 -28
  195. package/dist/expressions/data-sources/local-file.d.ts.map +1 -1
  196. package/dist/expressions/data-sources/local-file.js +139 -73
  197. package/dist/expressions/data-sources/local-file.js.map +1 -1
  198. package/dist/expressions/network/error.d.ts +7 -0
  199. package/dist/expressions/network/error.d.ts.map +1 -0
  200. package/dist/expressions/network/error.js +12 -0
  201. package/dist/expressions/network/error.js.map +1 -0
  202. package/dist/expressions/network/index.d.ts +5 -1
  203. package/dist/expressions/network/index.d.ts.map +1 -1
  204. package/dist/expressions/network/index.js +5 -1
  205. package/dist/expressions/network/index.js.map +1 -1
  206. package/dist/expressions/network/ip/ip4.d.ts +8 -0
  207. package/dist/expressions/network/ip/ip4.d.ts.map +1 -0
  208. package/dist/expressions/network/ip/ip4.js +14 -0
  209. package/dist/expressions/network/ip/ip4.js.map +1 -0
  210. package/dist/expressions/network/ip/subnet4.d.ts +8 -0
  211. package/dist/expressions/network/ip/subnet4.d.ts.map +1 -0
  212. package/dist/expressions/network/ip/{index.js → subnet4.js} +2 -11
  213. package/dist/expressions/network/ip/subnet4.js.map +1 -0
  214. package/dist/expressions/network/ports/entry.d.ts +5 -0
  215. package/dist/expressions/network/ports/entry.d.ts.map +1 -0
  216. package/dist/expressions/network/ports/{tools/entry.js → entry.js} +8 -12
  217. package/dist/expressions/network/ports/entry.js.map +1 -0
  218. package/dist/expressions/network/ports/{map.d.ts → mapping.d.ts} +15 -17
  219. package/dist/expressions/network/ports/mapping.d.ts.map +1 -0
  220. package/dist/expressions/network/ports/mapping.js +95 -0
  221. package/dist/expressions/network/ports/mapping.js.map +1 -0
  222. package/dist/expressions/network/ports/parser.d.ts +3 -0
  223. package/dist/expressions/network/ports/parser.d.ts.map +1 -0
  224. package/dist/expressions/network/ports/{tools/parse.js → parser.js} +2 -2
  225. package/dist/expressions/network/ports/parser.js.map +1 -0
  226. package/dist/expressions/network/ports/provider.d.ts +72 -0
  227. package/dist/expressions/network/ports/provider.d.ts.map +1 -0
  228. package/dist/expressions/network/ports/provider.js +143 -0
  229. package/dist/expressions/network/ports/provider.js.map +1 -0
  230. package/dist/expressions/network/ports/types.d.ts +22 -9
  231. package/dist/expressions/network/ports/types.d.ts.map +1 -1
  232. package/dist/expressions/quantities/error.d.ts +7 -0
  233. package/dist/expressions/quantities/error.d.ts.map +1 -0
  234. package/dist/expressions/quantities/error.js +12 -0
  235. package/dist/expressions/quantities/error.js.map +1 -0
  236. package/dist/expressions/quantities/index.d.ts +10 -2
  237. package/dist/expressions/quantities/index.d.ts.map +1 -1
  238. package/dist/expressions/quantities/index.js +10 -2
  239. package/dist/expressions/quantities/index.js.map +1 -1
  240. package/dist/expressions/quantities/reqs/objects.d.ts +18 -0
  241. package/dist/expressions/quantities/reqs/objects.d.ts.map +1 -0
  242. package/dist/expressions/quantities/reqs/objects.js +81 -0
  243. package/dist/expressions/quantities/reqs/objects.js.map +1 -0
  244. package/dist/expressions/quantities/reqs/parser.d.ts +4 -0
  245. package/dist/expressions/quantities/reqs/parser.d.ts.map +1 -0
  246. package/dist/expressions/quantities/{reqlem → reqs}/parser.js +2 -2
  247. package/dist/expressions/quantities/reqs/parser.js.map +1 -0
  248. package/dist/expressions/quantities/reqs/types.d.ts +28 -0
  249. package/dist/expressions/quantities/reqs/types.d.ts.map +1 -0
  250. package/dist/expressions/quantities/reqs/types.js.map +1 -0
  251. package/dist/expressions/quantities/reqs/values.d.ts +17 -0
  252. package/dist/expressions/quantities/reqs/values.d.ts.map +1 -0
  253. package/dist/expressions/quantities/reqs/values.js +42 -0
  254. package/dist/expressions/quantities/reqs/values.js.map +1 -0
  255. package/dist/expressions/quantities/units/{units.d.ts → built-in.d.ts} +6 -8
  256. package/dist/expressions/quantities/units/built-in.d.ts.map +1 -0
  257. package/dist/expressions/quantities/units/built-in.js +44 -0
  258. package/dist/expressions/quantities/units/built-in.js.map +1 -0
  259. package/dist/expressions/quantities/units/dimension.d.ts +20 -0
  260. package/dist/expressions/quantities/units/dimension.d.ts.map +1 -0
  261. package/dist/expressions/quantities/units/dimension.js +33 -0
  262. package/dist/expressions/quantities/units/dimension.js.map +1 -0
  263. package/dist/expressions/quantities/units/parser.d.ts +6 -0
  264. package/dist/expressions/quantities/units/parser.d.ts.map +1 -0
  265. package/dist/expressions/quantities/units/parser.js +11 -0
  266. package/dist/expressions/quantities/units/parser.js.map +1 -0
  267. package/dist/expressions/quantities/units/types.d.ts +2 -0
  268. package/dist/expressions/quantities/units/types.d.ts.map +1 -0
  269. package/dist/expressions/quantities/units/types.js +3 -0
  270. package/dist/expressions/quantities/units/types.js.map +1 -0
  271. package/dist/expressions/quantities/units/validator.d.ts +4 -0
  272. package/dist/expressions/quantities/units/validator.d.ts.map +1 -0
  273. package/dist/expressions/quantities/units/validator.js +16 -0
  274. package/dist/expressions/quantities/units/validator.js.map +1 -0
  275. package/dist/expressions/quantities/units/value.d.ts +10 -0
  276. package/dist/expressions/quantities/units/value.d.ts.map +1 -0
  277. package/dist/expressions/quantities/units/value.js +27 -0
  278. package/dist/expressions/quantities/units/value.js.map +1 -0
  279. package/dist/expressions/quantities/util.d.ts +11 -0
  280. package/dist/expressions/quantities/util.d.ts.map +1 -0
  281. package/dist/expressions/quantities/util.js +28 -0
  282. package/dist/expressions/quantities/util.js.map +1 -0
  283. package/dist/expressions/workload/cmd/cli-term.d.ts +7 -7
  284. package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -1
  285. package/dist/expressions/workload/cmd/cli-term.js +16 -15
  286. package/dist/expressions/workload/cmd/cli-term.js.map +1 -1
  287. package/dist/expressions/workload/cmd/cmd-line.d.ts +15 -0
  288. package/dist/expressions/workload/cmd/cmd-line.d.ts.map +1 -0
  289. package/dist/expressions/workload/cmd/{cli-command.js → cmd-line.js} +23 -27
  290. package/dist/expressions/workload/cmd/cmd-line.js.map +1 -0
  291. package/dist/expressions/workload/cmd/types.d.ts +4 -4
  292. package/dist/expressions/workload/cmd/types.d.ts.map +1 -1
  293. package/dist/expressions/workload/cronjob/parse-type.d.ts +30 -0
  294. package/dist/expressions/workload/cronjob/parse-type.d.ts.map +1 -0
  295. package/dist/{core/graph/resource/external/features.js → expressions/workload/cronjob/parse-type.js} +1 -1
  296. package/dist/expressions/workload/cronjob/parse-type.js.map +1 -0
  297. package/dist/expressions/workload/cronjob/shorthand.d.ts +13 -0
  298. package/dist/expressions/workload/cronjob/shorthand.d.ts.map +1 -0
  299. package/dist/expressions/workload/cronjob/shorthand.js +39 -0
  300. package/dist/expressions/workload/cronjob/shorthand.js.map +1 -0
  301. package/dist/expressions/workload/cronjob/stanza.d.ts +15 -0
  302. package/dist/expressions/workload/cronjob/stanza.d.ts.map +1 -0
  303. package/dist/expressions/workload/cronjob/{index.js → stanza.js} +29 -62
  304. package/dist/expressions/workload/cronjob/stanza.js.map +1 -0
  305. package/dist/expressions/workload/cronjob/types.d.ts +3 -1
  306. package/dist/expressions/workload/cronjob/types.d.ts.map +1 -1
  307. package/dist/expressions/workload/error.d.ts +7 -0
  308. package/dist/expressions/workload/error.d.ts.map +1 -0
  309. package/dist/expressions/workload/error.js +12 -0
  310. package/dist/expressions/workload/error.js.map +1 -0
  311. package/dist/expressions/workload/image/1-host.d.ts +11 -0
  312. package/dist/expressions/workload/image/1-host.d.ts.map +1 -0
  313. package/dist/expressions/workload/image/1-host.js +27 -0
  314. package/dist/expressions/workload/image/1-host.js.map +1 -0
  315. package/dist/expressions/workload/image/2-namespace.d.ts +11 -0
  316. package/dist/expressions/workload/image/2-namespace.d.ts.map +1 -0
  317. package/dist/expressions/workload/image/2-namespace.js +90 -0
  318. package/dist/expressions/workload/image/2-namespace.js.map +1 -0
  319. package/dist/expressions/workload/image/3-repository.d.ts +11 -0
  320. package/dist/expressions/workload/image/3-repository.d.ts.map +1 -0
  321. package/dist/expressions/workload/image/3-repository.js +38 -0
  322. package/dist/expressions/workload/image/3-repository.js.map +1 -0
  323. package/dist/expressions/workload/image/4-image.d.ts +22 -0
  324. package/dist/expressions/workload/image/4-image.d.ts.map +1 -0
  325. package/dist/expressions/workload/image/4-image.js +43 -0
  326. package/dist/expressions/workload/image/4-image.js.map +1 -0
  327. package/dist/expressions/workload/image/index.d.ts +4 -1
  328. package/dist/expressions/workload/image/index.d.ts.map +1 -1
  329. package/dist/expressions/workload/image/index.js +3 -6
  330. package/dist/expressions/workload/image/index.js.map +1 -1
  331. package/dist/expressions/workload/image/types.d.ts +2 -0
  332. package/dist/expressions/workload/image/types.d.ts.map +1 -0
  333. package/dist/expressions/workload/image/types.js +3 -0
  334. package/dist/expressions/workload/image/types.js.map +1 -0
  335. package/dist/expressions/workload/image/util.d.ts +2 -0
  336. package/dist/expressions/workload/image/util.d.ts.map +1 -0
  337. package/dist/expressions/workload/image/util.js +3 -0
  338. package/dist/expressions/workload/image/util.js.map +1 -0
  339. package/dist/expressions/workload/index.d.ts +9 -3
  340. package/dist/expressions/workload/index.d.ts.map +1 -1
  341. package/dist/expressions/workload/index.js +9 -3
  342. package/dist/expressions/workload/index.js.map +1 -1
  343. package/dist/expressions/workload/owner/group.d.ts +10 -0
  344. package/dist/expressions/workload/owner/group.d.ts.map +1 -0
  345. package/dist/expressions/workload/owner/group.js +27 -0
  346. package/dist/expressions/workload/owner/group.js.map +1 -0
  347. package/dist/expressions/workload/owner/index.d.ts +4 -0
  348. package/dist/expressions/workload/owner/index.d.ts.map +1 -0
  349. package/dist/expressions/workload/owner/index.js +8 -0
  350. package/dist/expressions/workload/owner/index.js.map +1 -0
  351. package/dist/expressions/workload/owner/ownership.d.ts +9 -0
  352. package/dist/expressions/workload/owner/ownership.d.ts.map +1 -0
  353. package/dist/expressions/workload/owner/ownership.js +22 -0
  354. package/dist/expressions/workload/owner/ownership.js.map +1 -0
  355. package/dist/expressions/workload/owner/user.d.ts +18 -0
  356. package/dist/expressions/workload/owner/user.d.ts.map +1 -0
  357. package/dist/expressions/workload/owner/user.js +32 -0
  358. package/dist/expressions/workload/owner/user.js.map +1 -0
  359. package/dist/utils/index.d.ts +3 -3
  360. package/dist/utils/index.d.ts.map +1 -1
  361. package/dist/utils/index.js +3 -3
  362. package/dist/utils/index.js.map +1 -1
  363. package/dist/utils/{displayers → mixin/display}/displayers.d.ts +9 -9
  364. package/dist/utils/mixin/display/displayers.d.ts.map +1 -0
  365. package/dist/utils/{displayers → mixin/display}/displayers.js +13 -7
  366. package/dist/utils/mixin/display/displayers.js.map +1 -0
  367. package/dist/utils/mixin/display/index.d.ts.map +1 -0
  368. package/dist/utils/mixin/display/index.js.map +1 -0
  369. package/dist/utils/mixin/embedder/base.d.ts.map +1 -0
  370. package/dist/utils/{embedder → mixin/embedder}/base.js +3 -2
  371. package/dist/utils/mixin/embedder/base.js.map +1 -0
  372. package/dist/utils/mixin/embedder/index.d.ts +2 -0
  373. package/dist/utils/mixin/embedder/index.d.ts.map +1 -0
  374. package/dist/{core/graph/resource/external → utils/mixin/embedder}/index.js +0 -2
  375. package/dist/utils/mixin/embedder/index.js.map +1 -0
  376. package/dist/utils/mixin/error.d.ts +5 -0
  377. package/dist/utils/mixin/error.d.ts.map +1 -0
  378. package/dist/{expressions/network/ports → utils/mixin}/error.js +4 -5
  379. package/dist/utils/mixin/error.js.map +1 -0
  380. package/dist/utils/mixin/index.d.ts +3 -0
  381. package/dist/utils/mixin/index.d.ts.map +1 -0
  382. package/dist/{expressions/quantities/reqlem → utils/mixin}/index.js +2 -2
  383. package/dist/utils/mixin/index.js.map +1 -0
  384. package/dist/utils/phrase-renderer/index.d.ts +4 -0
  385. package/dist/utils/phrase-renderer/index.d.ts.map +1 -0
  386. package/dist/utils/phrase-renderer/index.js +43 -0
  387. package/dist/utils/phrase-renderer/index.js.map +1 -0
  388. package/dist/utils/{_string/pretty-objects.d.ts → phrase-renderer/phrases.d.ts} +1 -1
  389. package/dist/utils/phrase-renderer/phrases.d.ts.map +1 -0
  390. package/dist/utils/{_string/pretty-objects.js → phrase-renderer/phrases.js} +7 -7
  391. package/dist/utils/phrase-renderer/phrases.js.map +1 -0
  392. package/dist/utils/{_string/post-processor.d.ts → phrase-renderer/renderer.d.ts} +2 -2
  393. package/dist/utils/phrase-renderer/renderer.d.ts.map +1 -0
  394. package/dist/utils/{_string/post-processor.js → phrase-renderer/renderer.js} +4 -4
  395. package/dist/utils/phrase-renderer/renderer.js.map +1 -0
  396. package/dist/utils/types.d.ts +2 -0
  397. package/dist/utils/types.d.ts.map +1 -0
  398. package/dist/utils/types.js +3 -0
  399. package/dist/utils/types.js.map +1 -0
  400. package/dist/utils/util.d.ts +6 -0
  401. package/dist/utils/util.d.ts.map +1 -0
  402. package/dist/utils/util.js +23 -0
  403. package/dist/utils/util.js.map +1 -0
  404. package/package.json +6 -4
  405. package/src/core/graph/entity.ts +20 -41
  406. package/src/core/graph/error.ts +7 -0
  407. package/src/core/graph/index.ts +2 -2
  408. package/src/core/graph/origin/dummy.ts +23 -0
  409. package/src/core/graph/origin/events.ts +21 -60
  410. package/src/core/graph/origin/exporter.ts +26 -24
  411. package/src/core/graph/origin/index.ts +5 -3
  412. package/src/core/graph/origin/kind-map/index.ts +57 -57
  413. package/src/core/graph/origin/origin.ts +144 -0
  414. package/src/core/graph/origin/props.ts +11 -0
  415. package/src/core/graph/origin/template.ts +36 -0
  416. package/src/core/graph/origin/tracker.ts +15 -26
  417. package/src/core/graph/origin/{node.ts → vertex.ts} +25 -22
  418. package/src/core/graph/relation.ts +8 -10
  419. package/src/core/graph/resource/creation-options.ts +27 -0
  420. package/src/core/graph/resource/dummy/base.ts +13 -0
  421. package/src/core/graph/resource/forward/error.ts +7 -0
  422. package/src/core/graph/resource/{reference/fw-ref-exports.ts → forward/exports.ts} +48 -43
  423. package/src/core/graph/resource/forward/index.ts +2 -0
  424. package/src/core/graph/resource/{reference/fw-ref.ts → forward/ref.ts} +76 -40
  425. package/src/core/graph/resource/gvk/0-base.ts +37 -0
  426. package/src/core/graph/resource/gvk/1-group.ts +23 -0
  427. package/src/core/graph/resource/gvk/2=version.ts +21 -0
  428. package/src/core/graph/resource/gvk/3-gvk.ts +56 -0
  429. package/src/core/graph/resource/gvk/4-subkind.ts +19 -0
  430. package/src/core/graph/resource/gvk/index.ts +5 -0
  431. package/src/core/graph/resource/gvk/strings.ts +3 -0
  432. package/src/core/graph/resource/ident/ident.ts +140 -0
  433. package/src/core/graph/resource/ident/index.ts +1 -0
  434. package/src/core/graph/resource/ident/parsing.ts +36 -0
  435. package/src/core/graph/resource/index.ts +10 -9
  436. package/src/core/graph/resource/k8s-resource.ts +98 -0
  437. package/src/core/graph/resource/part.ts +26 -0
  438. package/src/core/graph/resource/props.ts +11 -0
  439. package/src/core/graph/resource/ref.ts +33 -0
  440. package/src/core/graph/resource/resource.ts +78 -0
  441. package/src/core/graph/resource/vertex.ts +134 -0
  442. package/src/core/graph/{node.ts → vertex.ts} +35 -38
  443. package/src/core/manifest/index.ts +7 -18
  444. package/src/core/tracing/embedder.ts +4 -0
  445. package/src/core/tracing/git.ts +9 -9
  446. package/src/core/tracing/index.ts +2 -2
  447. package/src/core/tracing/{trace.ts → source.ts} +6 -6
  448. package/src/expressions/data-sources/env-var.ts +15 -33
  449. package/src/expressions/data-sources/error.ts +8 -0
  450. package/src/expressions/data-sources/index.ts +1 -1
  451. package/src/expressions/data-sources/interface.ts +14 -28
  452. package/src/expressions/data-sources/js-object.ts +39 -0
  453. package/src/expressions/data-sources/local-file.ts +55 -61
  454. package/src/expressions/network/error.ts +7 -0
  455. package/src/expressions/network/index.ts +5 -1
  456. package/src/expressions/network/ip/ip4.ts +14 -0
  457. package/src/expressions/network/ip/subnet4.ts +9 -0
  458. package/src/expressions/network/ports/{tools/entry.ts → entry.ts} +17 -15
  459. package/src/expressions/network/ports/mapping.ts +108 -0
  460. package/src/expressions/network/ports/{tools/parse.ts → parser.ts} +4 -4
  461. package/src/expressions/network/ports/provider.ts +193 -0
  462. package/src/expressions/network/ports/types.ts +23 -9
  463. package/src/expressions/quantities/error.ts +8 -0
  464. package/src/expressions/quantities/index.ts +11 -2
  465. package/src/expressions/quantities/reqs/objects.ts +85 -0
  466. package/src/expressions/quantities/{reqlem → reqs}/parser.ts +5 -5
  467. package/src/expressions/quantities/reqs/types.ts +35 -0
  468. package/src/expressions/quantities/reqs/values.ts +47 -0
  469. package/src/expressions/quantities/units/{units.ts → built-in.ts} +14 -7
  470. package/src/expressions/quantities/units/dimension.ts +47 -0
  471. package/src/expressions/quantities/units/parser.ts +11 -0
  472. package/src/expressions/quantities/units/types.ts +1 -0
  473. package/src/expressions/quantities/units/validator.ts +17 -0
  474. package/src/expressions/quantities/units/value.ts +22 -0
  475. package/src/expressions/quantities/util.ts +37 -0
  476. package/src/expressions/workload/cmd/cli-term.ts +13 -12
  477. package/src/expressions/workload/cmd/cmd-line.ts +103 -0
  478. package/src/expressions/workload/cmd/types.ts +4 -4
  479. package/src/expressions/workload/cronjob/parse-type.ts +58 -0
  480. package/src/expressions/workload/cronjob/shorthand.ts +37 -0
  481. package/src/expressions/workload/cronjob/stanza.ts +91 -0
  482. package/src/expressions/workload/cronjob/types.ts +3 -0
  483. package/src/expressions/workload/error.ts +7 -0
  484. package/src/expressions/workload/image/1-host.ts +31 -0
  485. package/src/expressions/workload/image/2-namespace.ts +49 -0
  486. package/src/expressions/workload/image/3-repository.ts +50 -0
  487. package/src/expressions/workload/image/4-image.ts +95 -0
  488. package/src/expressions/workload/image/index.ts +4 -1
  489. package/src/expressions/workload/image/types.ts +5 -0
  490. package/src/expressions/workload/index.ts +9 -3
  491. package/src/expressions/workload/owner/group.ts +30 -0
  492. package/src/expressions/workload/owner/index.ts +3 -0
  493. package/src/expressions/workload/owner/ownership.ts +26 -0
  494. package/src/expressions/workload/owner/user.ts +34 -0
  495. package/src/utils/index.ts +3 -3
  496. package/src/utils/{displayers → mixin/display}/displayers.ts +26 -20
  497. package/src/utils/{embedder → mixin/embedder}/base.ts +4 -2
  498. package/src/utils/mixin/embedder/index.ts +1 -0
  499. package/src/{expressions/network/ports → utils/mixin}/error.ts +2 -3
  500. package/src/utils/mixin/index.ts +2 -0
  501. package/src/utils/{_string/pretty-print.ts → phrase-renderer/index.ts} +5 -3
  502. package/src/utils/{_string/pretty-objects.ts → phrase-renderer/phrases.ts} +6 -6
  503. package/src/utils/{_string/post-processor.ts → phrase-renderer/renderer.ts} +1 -1
  504. package/src/utils/types.ts +1 -0
  505. package/src/utils/util.ts +24 -0
  506. package/dist/core/graph/node.d.ts.map +0 -1
  507. package/dist/core/graph/node.js.map +0 -1
  508. package/dist/core/graph/origin/entity.d.ts +0 -35
  509. package/dist/core/graph/origin/entity.d.ts.map +0 -1
  510. package/dist/core/graph/origin/entity.js.map +0 -1
  511. package/dist/core/graph/origin/external.d.ts +0 -14
  512. package/dist/core/graph/origin/external.d.ts.map +0 -1
  513. package/dist/core/graph/origin/external.js +0 -22
  514. package/dist/core/graph/origin/external.js.map +0 -1
  515. package/dist/core/graph/origin/node.d.ts +0 -23
  516. package/dist/core/graph/origin/node.d.ts.map +0 -1
  517. package/dist/core/graph/origin/node.js.map +0 -1
  518. package/dist/core/graph/origin/origin-events.d.ts +0 -41
  519. package/dist/core/graph/origin/origin-events.d.ts.map +0 -1
  520. package/dist/core/graph/origin/origin-events.js +0 -46
  521. package/dist/core/graph/origin/origin-events.js.map +0 -1
  522. package/dist/core/graph/resource/api-kind/index.d.ts +0 -54
  523. package/dist/core/graph/resource/api-kind/index.d.ts.map +0 -1
  524. package/dist/core/graph/resource/api-kind/index.js +0 -239
  525. package/dist/core/graph/resource/api-kind/index.js.map +0 -1
  526. package/dist/core/graph/resource/api-kind/pluralize.d.ts +0 -24
  527. package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +0 -1
  528. package/dist/core/graph/resource/api-kind/pluralize.js +0 -16
  529. package/dist/core/graph/resource/api-kind/pluralize.js.map +0 -1
  530. package/dist/core/graph/resource/child.d.ts +0 -11
  531. package/dist/core/graph/resource/child.d.ts.map +0 -1
  532. package/dist/core/graph/resource/child.js +0 -22
  533. package/dist/core/graph/resource/child.js.map +0 -1
  534. package/dist/core/graph/resource/entity.d.ts +0 -23
  535. package/dist/core/graph/resource/entity.d.ts.map +0 -1
  536. package/dist/core/graph/resource/entity.js.map +0 -1
  537. package/dist/core/graph/resource/external/base.d.ts +0 -14
  538. package/dist/core/graph/resource/external/base.d.ts.map +0 -1
  539. package/dist/core/graph/resource/external/base.js +0 -37
  540. package/dist/core/graph/resource/external/base.js.map +0 -1
  541. package/dist/core/graph/resource/external/features.d.ts +0 -2
  542. package/dist/core/graph/resource/external/features.d.ts.map +0 -1
  543. package/dist/core/graph/resource/external/features.js.map +0 -1
  544. package/dist/core/graph/resource/external/index.d.ts +0 -4
  545. package/dist/core/graph/resource/external/index.d.ts.map +0 -1
  546. package/dist/core/graph/resource/external/index.js.map +0 -1
  547. package/dist/core/graph/resource/external/props.d.ts +0 -15
  548. package/dist/core/graph/resource/external/props.d.ts.map +0 -1
  549. package/dist/core/graph/resource/external/props.js.map +0 -1
  550. package/dist/core/graph/resource/field.d.ts +0 -2
  551. package/dist/core/graph/resource/field.d.ts.map +0 -1
  552. package/dist/core/graph/resource/field.js.map +0 -1
  553. package/dist/core/graph/resource/node.d.ts +0 -30
  554. package/dist/core/graph/resource/node.d.ts.map +0 -1
  555. package/dist/core/graph/resource/node.js.map +0 -1
  556. package/dist/core/graph/resource/ref-key/index.d.ts +0 -2
  557. package/dist/core/graph/resource/ref-key/index.d.ts.map +0 -1
  558. package/dist/core/graph/resource/ref-key/index.js.map +0 -1
  559. package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +0 -1
  560. package/dist/core/graph/resource/ref-key/ref-key.js.map +0 -1
  561. package/dist/core/graph/resource/reference/error.d.ts +0 -5
  562. package/dist/core/graph/resource/reference/error.d.ts.map +0 -1
  563. package/dist/core/graph/resource/reference/error.js +0 -11
  564. package/dist/core/graph/resource/reference/error.js.map +0 -1
  565. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +0 -46
  566. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +0 -1
  567. package/dist/core/graph/resource/reference/fw-ref-exports.js.map +0 -1
  568. package/dist/core/graph/resource/reference/fw-ref.d.ts.map +0 -1
  569. package/dist/core/graph/resource/reference/fw-ref.js.map +0 -1
  570. package/dist/core/graph/resource/reference/index.d.ts +0 -4
  571. package/dist/core/graph/resource/reference/index.d.ts.map +0 -1
  572. package/dist/core/graph/resource/reference/index.js +0 -8
  573. package/dist/core/graph/resource/reference/index.js.map +0 -1
  574. package/dist/core/graph/resource/reference/refable.d.ts +0 -21
  575. package/dist/core/graph/resource/reference/refable.d.ts.map +0 -1
  576. package/dist/core/graph/resource/reference/refable.js.map +0 -1
  577. package/dist/core/graph/resource/top.d.ts +0 -21
  578. package/dist/core/graph/resource/top.d.ts.map +0 -1
  579. package/dist/core/graph/resource/top.js +0 -73
  580. package/dist/core/graph/resource/top.js.map +0 -1
  581. package/dist/core/tracing/trace.d.ts +0 -11
  582. package/dist/core/tracing/trace.d.ts.map +0 -1
  583. package/dist/core/tracing/trace.js.map +0 -1
  584. package/dist/core/tracing/traced.d.ts +0 -4
  585. package/dist/core/tracing/traced.d.ts.map +0 -1
  586. package/dist/core/tracing/traced.js.map +0 -1
  587. package/dist/expressions/data-sources/base.d.ts +0 -30
  588. package/dist/expressions/data-sources/base.d.ts.map +0 -1
  589. package/dist/expressions/data-sources/base.js +0 -37
  590. package/dist/expressions/data-sources/base.js.map +0 -1
  591. package/dist/expressions/network/ip/index.d.ts +0 -14
  592. package/dist/expressions/network/ip/index.d.ts.map +0 -1
  593. package/dist/expressions/network/ip/index.js.map +0 -1
  594. package/dist/expressions/network/ports/error.d.ts +0 -5
  595. package/dist/expressions/network/ports/error.d.ts.map +0 -1
  596. package/dist/expressions/network/ports/error.js.map +0 -1
  597. package/dist/expressions/network/ports/index.d.ts +0 -7
  598. package/dist/expressions/network/ports/index.d.ts.map +0 -1
  599. package/dist/expressions/network/ports/index.js +0 -13
  600. package/dist/expressions/network/ports/index.js.map +0 -1
  601. package/dist/expressions/network/ports/map.d.ts.map +0 -1
  602. package/dist/expressions/network/ports/map.js +0 -68
  603. package/dist/expressions/network/ports/map.js.map +0 -1
  604. package/dist/expressions/network/ports/set.d.ts +0 -93
  605. package/dist/expressions/network/ports/set.d.ts.map +0 -1
  606. package/dist/expressions/network/ports/set.js +0 -125
  607. package/dist/expressions/network/ports/set.js.map +0 -1
  608. package/dist/expressions/network/ports/tools/entry.d.ts +0 -6
  609. package/dist/expressions/network/ports/tools/entry.d.ts.map +0 -1
  610. package/dist/expressions/network/ports/tools/entry.js.map +0 -1
  611. package/dist/expressions/network/ports/tools/parse.d.ts +0 -3
  612. package/dist/expressions/network/ports/tools/parse.d.ts.map +0 -1
  613. package/dist/expressions/network/ports/tools/parse.js.map +0 -1
  614. package/dist/expressions/quantities/reqlem/index.d.ts +0 -3
  615. package/dist/expressions/quantities/reqlem/index.d.ts.map +0 -1
  616. package/dist/expressions/quantities/reqlem/index.js.map +0 -1
  617. package/dist/expressions/quantities/reqlem/objects.d.ts +0 -24
  618. package/dist/expressions/quantities/reqlem/objects.d.ts.map +0 -1
  619. package/dist/expressions/quantities/reqlem/objects.js +0 -103
  620. package/dist/expressions/quantities/reqlem/objects.js.map +0 -1
  621. package/dist/expressions/quantities/reqlem/parser.d.ts +0 -4
  622. package/dist/expressions/quantities/reqlem/parser.d.ts.map +0 -1
  623. package/dist/expressions/quantities/reqlem/parser.js.map +0 -1
  624. package/dist/expressions/quantities/reqlem/types.d.ts +0 -23
  625. package/dist/expressions/quantities/reqlem/types.d.ts.map +0 -1
  626. package/dist/expressions/quantities/reqlem/types.js.map +0 -1
  627. package/dist/expressions/quantities/units/index.d.ts +0 -3
  628. package/dist/expressions/quantities/units/index.d.ts.map +0 -1
  629. package/dist/expressions/quantities/units/index.js +0 -22
  630. package/dist/expressions/quantities/units/index.js.map +0 -1
  631. package/dist/expressions/quantities/units/unit-parser.d.ts +0 -29
  632. package/dist/expressions/quantities/units/unit-parser.d.ts.map +0 -1
  633. package/dist/expressions/quantities/units/unit-parser.js +0 -85
  634. package/dist/expressions/quantities/units/unit-parser.js.map +0 -1
  635. package/dist/expressions/quantities/units/units.d.ts.map +0 -1
  636. package/dist/expressions/quantities/units/units.js +0 -35
  637. package/dist/expressions/quantities/units/units.js.map +0 -1
  638. package/dist/expressions/workload/_user/index.d.ts +0 -16
  639. package/dist/expressions/workload/_user/index.d.ts.map +0 -1
  640. package/dist/expressions/workload/_user/index.js +0 -33
  641. package/dist/expressions/workload/_user/index.js.map +0 -1
  642. package/dist/expressions/workload/cmd/cli-command.d.ts +0 -22
  643. package/dist/expressions/workload/cmd/cli-command.d.ts.map +0 -1
  644. package/dist/expressions/workload/cmd/cli-command.js.map +0 -1
  645. package/dist/expressions/workload/cmd/index.d.ts +0 -3
  646. package/dist/expressions/workload/cmd/index.d.ts.map +0 -1
  647. package/dist/expressions/workload/cmd/index.js +0 -7
  648. package/dist/expressions/workload/cmd/index.js.map +0 -1
  649. package/dist/expressions/workload/cronjob/index.d.ts +0 -57
  650. package/dist/expressions/workload/cronjob/index.d.ts.map +0 -1
  651. package/dist/expressions/workload/cronjob/index.js.map +0 -1
  652. package/dist/expressions/workload/image/family.d.ts +0 -30
  653. package/dist/expressions/workload/image/family.d.ts.map +0 -1
  654. package/dist/expressions/workload/image/family.js +0 -180
  655. package/dist/expressions/workload/image/family.js.map +0 -1
  656. package/dist/utils/_string/index.d.ts +0 -6
  657. package/dist/utils/_string/index.d.ts.map +0 -1
  658. package/dist/utils/_string/index.js +0 -22
  659. package/dist/utils/_string/index.js.map +0 -1
  660. package/dist/utils/_string/markers.d.ts +0 -3
  661. package/dist/utils/_string/markers.d.ts.map +0 -1
  662. package/dist/utils/_string/markers.js +0 -64
  663. package/dist/utils/_string/markers.js.map +0 -1
  664. package/dist/utils/_string/post-processor.d.ts.map +0 -1
  665. package/dist/utils/_string/post-processor.js.map +0 -1
  666. package/dist/utils/_string/pretty-objects.d.ts.map +0 -1
  667. package/dist/utils/_string/pretty-objects.js.map +0 -1
  668. package/dist/utils/_string/pretty-print.d.ts +0 -2
  669. package/dist/utils/_string/pretty-print.d.ts.map +0 -1
  670. package/dist/utils/_string/pretty-print.js +0 -27
  671. package/dist/utils/_string/pretty-print.js.map +0 -1
  672. package/dist/utils/_string/super-script.d.ts +0 -2
  673. package/dist/utils/_string/super-script.d.ts.map +0 -1
  674. package/dist/utils/_string/super-script.js +0 -20
  675. package/dist/utils/_string/super-script.js.map +0 -1
  676. package/dist/utils/displayers/displayers.d.ts.map +0 -1
  677. package/dist/utils/displayers/displayers.js.map +0 -1
  678. package/dist/utils/displayers/index.d.ts.map +0 -1
  679. package/dist/utils/displayers/index.js.map +0 -1
  680. package/dist/utils/embedder/base.d.ts.map +0 -1
  681. package/dist/utils/embedder/base.js.map +0 -1
  682. package/dist/utils/embedder/index.d.ts.map +0 -1
  683. package/dist/utils/embedder/index.js.map +0 -1
  684. package/dist/utils/tagged-template.d.ts +0 -2
  685. package/dist/utils/tagged-template.d.ts.map +0 -1
  686. package/dist/utils/tagged-template.js +0 -10
  687. package/dist/utils/tagged-template.js.map +0 -1
  688. package/src/core/graph/entities.md +0 -1
  689. package/src/core/graph/origin/entity.ts +0 -136
  690. package/src/core/graph/origin/external.ts +0 -21
  691. package/src/core/graph/origin/origin-events.ts +0 -86
  692. package/src/core/graph/readme.md +0 -161
  693. package/src/core/graph/resource/api-kind/index.ts +0 -171
  694. package/src/core/graph/resource/api-kind/pluralize.ts +0 -40
  695. package/src/core/graph/resource/child.ts +0 -23
  696. package/src/core/graph/resource/entity.ts +0 -73
  697. package/src/core/graph/resource/external/base.ts +0 -39
  698. package/src/core/graph/resource/external/index.ts +0 -3
  699. package/src/core/graph/resource/external/props.ts +0 -16
  700. package/src/core/graph/resource/field.ts +0 -0
  701. package/src/core/graph/resource/node.ts +0 -132
  702. package/src/core/graph/resource/ref-key/index.ts +0 -1
  703. package/src/core/graph/resource/ref-key/ref-key.ts +0 -156
  704. package/src/core/graph/resource/reference/error.ts +0 -7
  705. package/src/core/graph/resource/reference/index.ts +0 -3
  706. package/src/core/graph/resource/reference/refable.ts +0 -26
  707. package/src/core/graph/resource/top.ts +0 -82
  708. package/src/core/tracing/traced.ts +0 -4
  709. package/src/expressions/data-sources/base.ts +0 -38
  710. package/src/expressions/network/ip/index.ts +0 -17
  711. package/src/expressions/network/ports/index.ts +0 -8
  712. package/src/expressions/network/ports/map.ts +0 -88
  713. package/src/expressions/network/ports/set.ts +0 -178
  714. package/src/expressions/quantities/reqlem/index.ts +0 -2
  715. package/src/expressions/quantities/reqlem/objects.ts +0 -107
  716. package/src/expressions/quantities/reqlem/types.ts +0 -28
  717. package/src/expressions/quantities/units/index.ts +0 -2
  718. package/src/expressions/quantities/units/unit-parser.ts +0 -92
  719. package/src/expressions/workload/_user/index.ts +0 -24
  720. package/src/expressions/workload/cmd/cli-command.ts +0 -99
  721. package/src/expressions/workload/cmd/index.ts +0 -2
  722. package/src/expressions/workload/cronjob/index.ts +0 -166
  723. package/src/expressions/workload/image/family.ts +0 -87
  724. package/src/utils/_string/index.ts +0 -5
  725. package/src/utils/_string/markers.ts +0 -66
  726. package/src/utils/_string/super-script.ts +0 -17
  727. package/src/utils/tagged-template.ts +0 -6
  728. /package/dist/core/graph/{resource/external → origin}/props.js +0 -0
  729. /package/dist/{utils/embedder → core/graph/resource/dummy}/index.d.ts +0 -0
  730. /package/dist/{utils/embedder → core/graph/resource/dummy}/index.js +0 -0
  731. /package/dist/expressions/quantities/{reqlem → reqs}/types.js +0 -0
  732. /package/dist/utils/{displayers → mixin/display}/index.d.ts +0 -0
  733. /package/dist/utils/{displayers → mixin/display}/index.js +0 -0
  734. /package/dist/utils/{embedder → mixin/embedder}/base.d.ts +0 -0
  735. /package/src/{utils/embedder → core/graph/resource/dummy}/index.ts +0 -0
  736. /package/src/{core/graph/resource/external/features.ts → expressions/workload/image/util.ts} +0 -0
  737. /package/src/utils/{displayers → mixin/display}/index.ts +0 -0
@@ -1,26 +0,0 @@
1
- import type { AnyCtor } from "what-are-you"
2
- import type { RefLike } from "../../entity"
3
- import type { Ident_Like } from "../api-kind"
4
- import type { Rsc_Node } from "../node"
5
- export type Rsc_Ctor_Of<K extends Ident_Like = Ident_Like> = AnyCtor<Rsc_Ref<K>> & {
6
- prototype: Rsc_Ref<K>
7
- }
8
- export type Rsc_Ref<
9
- _Kind extends Ident_Like = Ident_Like,
10
- Name extends string = string
11
- > = RefLike & {
12
- kind: _Kind
13
- name: Name
14
- namespace?: string
15
- is<_Kind2 extends Ident_Like>(kind: _Kind2): this is Rsc_Ref<_Kind2>
16
- equals(other: any): boolean
17
- node: Rsc_Node
18
- }
19
-
20
- export type Rsc_Ref_Keys_Of<X extends Rsc_Ref, Else = never> = [X] extends [
21
- {
22
- keys: (infer K extends string)[]
23
- }
24
- ]
25
- ? K
26
- : Else
@@ -1,82 +0,0 @@
1
- import { Meta } from "@k8ts/metadata"
2
- import StackTracey from "stacktracey"
3
- import { type Manifest, type Manifest_Ident, type Manifest_Metadata } from "../../manifest"
4
- import { Trace, TraceEmbedder } from "../../tracing"
5
- import type { Origin_Entity } from "../origin/entity"
6
- import { OriginContextTracker } from "../origin/tracker"
7
- import type { Ident_Kind } from "./api-kind"
8
- import { Rsc_Entity } from "./entity"
9
- export abstract class Rsc_Top<
10
- Name extends string = string,
11
- Props extends object = object
12
- > extends Rsc_Entity<Name, Props> {
13
- private readonly _origin: Origin_Entity
14
- readonly meta: Meta
15
- abstract readonly kind: Ident_Kind
16
-
17
- get key() {
18
- return this.kind.refKey({ name: this.name, namespace: this.namespace })
19
- }
20
- get disabled() {
21
- return this.meta.tryGet("#k8ts.org/disabled", "") !== ""
22
- }
23
- set disabled(v: boolean) {
24
- if (!v) {
25
- this.meta.delete("#k8ts.org/disabled")
26
- } else {
27
- this.meta.add("#k8ts.org/disabled", "true")
28
- }
29
- }
30
- constructor(name: Name, props: Props) {
31
- super(name, props)
32
- this.meta = Meta.make({
33
- name
34
- })
35
- const lastOrigin = OriginContextTracker.current
36
- if (!lastOrigin) {
37
- throw new Error(
38
- `ManifestResource ${this.name} must be created within an OriginEntity context`
39
- )
40
- }
41
- this._origin = lastOrigin
42
- this._origin["__attach_resource__"](this)
43
- TraceEmbedder.add(this, new Trace(new StackTracey().slice(2)))
44
- }
45
-
46
- protected __origin__() {
47
- return this._origin
48
- }
49
-
50
- protected __metadata__(): Manifest_Metadata {
51
- const self = this
52
- return {
53
- name: self.meta.get("name"),
54
- namespace: self.meta.tryGet("namespace"),
55
- labels: self.meta.labels,
56
- annotations: self.meta.annotations
57
- }
58
- }
59
-
60
- protected __idents__(): Manifest_Ident {
61
- return {
62
- apiVersion: this.kind.parent!.text,
63
- kind: this.kind.name
64
- }
65
- }
66
-
67
- protected abstract body(): Promise<object> | object
68
-
69
- protected async __manifest__(): Promise<Manifest> {
70
- const a = {
71
- ...this.__idents__(),
72
- metadata: this.__metadata__(),
73
- ...(await this.body())
74
- }
75
-
76
- return a
77
- }
78
-
79
- get namespace() {
80
- return this.meta.tryGet("namespace")
81
- }
82
- }
@@ -1,4 +0,0 @@
1
- import { Embedder } from "../../utils/embedder"
2
- import { Trace } from "./trace"
3
-
4
- export const TraceEmbedder = new Embedder<object, Trace>("TRACED")
@@ -1,38 +0,0 @@
1
- import { doddle, type DoddleAsync } from "doddle"
2
-
3
- /** Unique symbol used to identify data source objects. */
4
- export declare const DATA_SOURCE: unique symbol
5
-
6
- /**
7
- * Lazy-loading data source that caches the result of a getter function. The getter is executed only
8
- * once, and the result is memoized for subsequent calls.
9
- *
10
- * @example
11
- * const lazy = new DataSource_Lazy(() => expensiveComputation())
12
- * const value1 = await lazy.get() // Computes value
13
- * const value2 = await lazy.get() // Returns cached value
14
- *
15
- * @typeParam T - The type of data this source provides
16
- */
17
- export class DataSource_Lazy<T = any> {
18
- private readonly _data: DoddleAsync<T>
19
-
20
- /**
21
- * Creates a new lazy data source.
22
- *
23
- * @param getter - Function that computes or retrieves the value (can be async)
24
- */
25
- constructor(getter: () => T | Promise<T>) {
26
- this._data = doddle(async () => getter())
27
- }
28
-
29
- /**
30
- * Retrieves the value, computing it on first call and returning cached value on subsequent
31
- * calls.
32
- *
33
- * @returns Promise resolving to the data value
34
- */
35
- get() {
36
- return this._data.pull()
37
- }
38
- }
@@ -1,17 +0,0 @@
1
- import { Address4 } from "ip-address"
2
-
3
- export type Ip4_String = `${number}.${number}.${number}.${number}`
4
-
5
- export class Ip4<Text extends Ip4_String = Ip4_String> {
6
- readonly _addr4: Address4 | undefined
7
- constructor(readonly text: Text) {
8
- this._addr4 = new Address4(text)
9
- }
10
- }
11
- export type Subnet4_String = `${number}.${number}.${number}.${number}/${number}`
12
- export class Subnet4<Text extends Subnet4_String = Subnet4_String> {
13
- readonly _addr4: Address4 | undefined
14
- constructor(readonly text: Text) {
15
- this._addr4 = new Address4(text)
16
- }
17
- }
@@ -1,8 +0,0 @@
1
- import type { Port_Exports_Input } from "./set"
2
- import { Port_Exports } from "./set"
3
- export { Port_Map, type PortMapping_Input } from "./map"
4
- export { Port_Exports, type Port_Exports_Input } from "./set"
5
- export type { Port_Full, Port_Mapping_Entry } from "./types"
6
- export function ports<Names extends string>(input: Port_Exports_Input<Names>): Port_Exports<Names> {
7
- return Port_Exports.make(input)
8
- }
@@ -1,88 +0,0 @@
1
- import { filterMap, mapValues } from "@k8ts/metadata/util"
2
- import { PortError } from "./error"
3
- import type { Port_Mapping_Entry } from "./types"
4
-
5
- /**
6
- * Represents an immutable mapping of named ports to their frontend/backend configuration.
7
- *
8
- * Used to define how container ports are exposed through services, mapping backend container ports
9
- * to frontend service ports.
10
- *
11
- * @template Names The union type of all port names in the map.
12
- */
13
- export class Port_Map<Names extends string> {
14
- constructor(private readonly _map: Map<string, Port_Mapping_Entry>) {}
15
-
16
- private _apply(
17
- f: (map: Map<string, Port_Mapping_Entry>) => Map<string, Port_Mapping_Entry>
18
- ): Port_Map<any> {
19
- return new Port_Map(f(this._map))
20
- }
21
-
22
- /**
23
- * Creates a new Port_Map containing only the specified port names.
24
- *
25
- * @param name The port names to include in the new map.
26
- * @returns A new Port_Map with only the selected ports.
27
- */
28
- pick<InNames extends Names>(...name: InNames[]): Port_Map<InNames> {
29
- return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames)))
30
- }
31
-
32
- /** The underlying map of port names to their mapping entries. */
33
- get values() {
34
- return this._map
35
- }
36
-
37
- /**
38
- * Remaps the frontend ports to new values.
39
- *
40
- * @param mapping A record mapping port names to their new frontend port numbers.
41
- * @returns A new Port_Map with updated frontend ports.
42
- */
43
- map(mapping: Record<Names, number>): Port_Map<Names> {
44
- return new Port_Map(
45
- mapValues(this._map, entry => {
46
- return {
47
- ...entry,
48
- frontend: mapping[entry.name as keyof typeof mapping]
49
- }
50
- })
51
- )
52
- }
53
-
54
- /**
55
- * Retrieves a port mapping entry by name.
56
- *
57
- * @param name The name of the port to retrieve.
58
- * @returns The port mapping entry.
59
- * @throws {PortError} If the port name is not found in the map.
60
- */
61
- get(name: Names): Port_Mapping_Entry {
62
- if (!this._map.has(name)) {
63
- throw new PortError(`Port ${name} not found`)
64
- }
65
- return this._map.get(name) as Port_Mapping_Entry
66
- }
67
-
68
- /** Converts this Port_Map to a standard Map. */
69
- toMap() {
70
- return this._map
71
- }
72
- }
73
-
74
- /**
75
- * Input type for creating port mappings.
76
- *
77
- * Each port name maps to either:
78
- *
79
- * - A number specifying the frontend port
80
- * - `true` to use the same port number as the backend
81
- *
82
- * @template Names The union type of port names.
83
- */
84
- export type PortMapping_Input<Names extends string = string> = [Names] extends [never]
85
- ? never
86
- : {
87
- [K in Names]: number | true
88
- }
@@ -1,178 +0,0 @@
1
- import { Meta } from "@k8ts/metadata"
2
- import { filterMap, mapValues, merge } from "@k8ts/metadata/util"
3
- import { seq } from "doddle"
4
- import { PortError } from "./error"
5
- import { Port_Map, PortMapping_Input } from "./map"
6
- import { parsePortInput, portRecordInput } from "./tools/entry"
7
- import type {
8
- Port_Basic_Input,
9
- Port_Full,
10
- Port_Full_Input,
11
- Port_Input,
12
- Port_Protocol_Input
13
- } from "./types"
14
-
15
- /**
16
- * An immutable dictionary of named network ports exported by a container. Each port also has an
17
- * attached configuration.
18
- *
19
- * @template Names All exported port names.
20
- */
21
- export class Port_Exports<Names extends string = never> {
22
- constructor(private readonly _map: Map<Names, Port_Full> = new Map()) {
23
- for (const entry of _map.values()) {
24
- Meta._checkNameValue(`container port '${entry.name}' (${entry.port})`, entry.name)
25
- }
26
- }
27
-
28
- private _apply(f: (map: Map<string, Port_Full>) => Map<string, Port_Full>) {
29
- return new Port_Exports(f(this._map))
30
- }
31
-
32
- /**
33
- * Creates a new Port_Exports that is the union of this and another Port_Exports.
34
- *
35
- * @param other The other Port_Exports to merge with.
36
- * @returns A new Port_Exports containing ports from both dictionaries. The 2nd dictionary's
37
- * ports will overwrite any with the same name from the first.
38
- */
39
- union<InNames extends string>(other: Port_Exports<InNames>): Port_Exports<Names | InNames> {
40
- return new Port_Exports(merge(this._map, other._map))
41
- }
42
-
43
- /**
44
- * Adds a port with explicit name, port number, and protocol.
45
- *
46
- * @param name The unique name for the port.
47
- * @param port The port number.
48
- * @param protocol The protocol (TCP or UDP).
49
- */
50
- add<Name extends string>(
51
- name: Name,
52
- port: Port_Basic_Input,
53
- protocol: Port_Protocol_Input
54
- ): Port_Exports<Names | Name>
55
- /**
56
- * Adds a port with a name and full port configuration.
57
- *
58
- * @param name The unique name for the port.
59
- * @param entry The port configuration including number and protocol, and optional host
60
- * settings.
61
- */
62
- add<Name extends string>(name: Name, entry: Port_Full_Input): Port_Exports<Names | Name>
63
- /**
64
- * Adds multiple ports from a record of port configurations.
65
- *
66
- * @param input A record mapping port names to their configurations.
67
- */
68
- add<InNames extends string>(input?: Port_Exports_Input<InNames>): Port_Exports<Names | InNames>
69
- add(a: any, b?: any, c?: any): any {
70
- if (!a) {
71
- return this
72
- }
73
- if (c) {
74
- return this._apply(map => map.set(a, { name: a, port: +b, protocol: c.toUpperCase() }))
75
- }
76
- if (b) {
77
- return this._apply(map => map.set(a, parsePortInput(a, b)))
78
- }
79
- return this._apply(map => {
80
- const processed = portRecordInput(a)
81
- return merge(map, processed)
82
- })
83
- }
84
-
85
- /**
86
- * Creates a new Port_Exports containing only the specified port names.
87
- *
88
- * @param name The port names to include.
89
- * @returns A new Port_Exports with only the selected ports.
90
- */
91
- pick<InNames extends Names>(...name: InNames[]): Port_Exports<InNames> {
92
- return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames))) as any
93
- }
94
-
95
- /** An array of all port names in this set. */
96
- get names() {
97
- return seq(this._map.keys()).toArray().pull() as Names[]
98
- }
99
-
100
- /**
101
- * Retrieves a port by name.
102
- *
103
- * @param name The name of the port to retrieve.
104
- * @returns The full port configuration.
105
- * @throws {PortError} If the port name is not found.
106
- */
107
- get(name: Names): Port_Full {
108
- if (!this._map.has(name)) {
109
- throw new PortError(`Port ${name} not found`)
110
- }
111
- return this._map.get(name)!
112
- }
113
-
114
- /** The underlying map of port names to their full configurations. */
115
- get values() {
116
- return this._map
117
- }
118
-
119
- /**
120
- * Creates a Port_Map by mapping each port to a frontend port number.
121
- *
122
- * @param mapping A record where each port name maps to either a frontend port number or `true`
123
- * to use the backend port.
124
- * @returns A new Port_Map with the specified frontend mappings.
125
- * @throws {PortError} If a port name is missing from the mapping or has an invalid value.
126
- */
127
- map(mapping: PortMapping_Input<Names>): Port_Map<Names> {
128
- return new Port_Map(
129
- mapValues(this._map, entry => {
130
- if (!(entry.name in mapping)) {
131
- throw new PortError(`Port ${entry.name} not found in mapping`)
132
- }
133
- const portIn = mapping[entry.name as keyof typeof mapping]
134
- let portVal: number
135
- if (typeof portIn === "boolean") {
136
- portVal = entry.port
137
- } else if (typeof portIn === "number") {
138
- portVal = portIn
139
- } else {
140
- throw new PortError(
141
- `Port ${entry.name} mapping value must be a number or boolean`
142
- )
143
- }
144
- return {
145
- name: entry.name,
146
- protocol: entry.protocol,
147
- backend: entry.name,
148
- frontend: portVal as any
149
- }
150
- })
151
- )
152
- }
153
-
154
- /**
155
- * Creates a new Port_Exports from a record of port configurations.
156
- *
157
- * @param input A record mapping port names to their configurations.
158
- * @returns A new Port_Exports containing the specified ports.
159
- */
160
- static make<Names extends string>(input?: Port_Exports_Input<Names>) {
161
- return new Port_Exports().add(input)
162
- }
163
- }
164
-
165
- /**
166
- * Input type for creating Port_Exports.
167
- *
168
- * A record mapping port names to their configurations, which can be:
169
- *
170
- * - A port number (uses TCP by default)
171
- * - A tuple of `[port, protocol]`
172
- * - A full port configuration object
173
- *
174
- * @template Names The union type of port names.
175
- */
176
- export type Port_Exports_Input<Names extends string = string> = {
177
- [K in Names]: Port_Input
178
- }
@@ -1,2 +0,0 @@
1
- export * from "./objects"
2
- export * from "./types"
@@ -1,107 +0,0 @@
1
- import { mapFromObject, mapValues } from "@k8ts/metadata/util"
2
- import { seq } from "doddle"
3
- import { isEmpty, merge } from "lodash"
4
- import { string, type Parjser } from "parjs"
5
- import { mapConst, or } from "parjs/combinators"
6
- import { InstrumentsError } from "../../../error"
7
- import type { UnitParser, UnitValue } from "../units"
8
- import { AnyUnitParser } from "../units/unit-parser"
9
- import { createResourceParser } from "./parser"
10
- import type { ReqLimit, Resources_ReqLimits_Trait, Resources_UnitMap_Trait } from "./types"
11
-
12
- export class Resources_UnitMap<const RM extends Resources_UnitMap_Trait<RM>> {
13
- constructor(private _map: Map<string, ReqLimit>) {}
14
-
15
- toObject() {
16
- const kubernetesForm = mapValues(this._map, (value, key) => {
17
- const result = {} as any
18
- if (value.request) {
19
- result.requests = {
20
- [key]: value.request.val
21
- }
22
- }
23
- if (value.limit) {
24
- result.limits = {
25
- [key]: value.limit.val
26
- }
27
- }
28
- if (!isEmpty(result)) {
29
- return result
30
- }
31
- return undefined
32
- })
33
-
34
- return merge({}, ...kubernetesForm.values())
35
- }
36
- }
37
-
38
- export class ResourcesSpec<const RM extends Resources_UnitMap_Trait<RM>> {
39
- readonly _unitParsers: Map<string, Parjser<UnitValue | undefined>>
40
- readonly _reqLimitParsers: Map<string, Parjser<ReqLimit>>
41
- readonly _anyUnitParser = AnyUnitParser.make()
42
- readonly _anyReqLimitParser = createResourceParser(this._anyUnitParser)
43
- constructor(_unitMap: Map<string, UnitParser>) {
44
- const questionMarkParser = string("?").pipe(mapConst(undefined))
45
- this._unitParsers = mapValues(_unitMap, parser =>
46
- parser.parser.pipe(or(questionMarkParser))
47
- )
48
- this._reqLimitParsers = mapValues(_unitMap, parser => createResourceParser(parser))
49
- }
50
-
51
- private _parseUnitValue(resource: string, input: string): UnitValue | undefined {
52
- const pUnitValue = this._unitParsers.get(input)
53
- if (!pUnitValue) {
54
- throw new InstrumentsError(`No parser found for ${input}`)
55
- }
56
- return pUnitValue.parse(input).value
57
- }
58
-
59
- private _parseReqLimit(resource: string, input: string): ReqLimit {
60
- const pReqLimit = this._reqLimitParsers.get(resource)
61
- if (!pReqLimit) {
62
- return this._anyReqLimitParser.parse(input).value
63
- }
64
- return pReqLimit.parse(input).value
65
- }
66
- __INPUT__!: Resources_ReqLimits_Trait<RM>
67
-
68
- parse<const R extends Resources_ReqLimits_Trait<RM>>(input: R): Resources_UnitMap<RM> {
69
- const allKeys = new Set([...Object.keys(input), ...this._unitParsers.keys()])
70
- const map = seq(allKeys)
71
- .toMap(key => {
72
- const getVal = () => {
73
- const value = input[key as keyof R]
74
- const pUnitValue = this._unitParsers.get(key) ?? this._anyUnitParser.parser
75
- if (!pUnitValue) {
76
- throw new InstrumentsError(`No parser found for ${String(key)}`)
77
- }
78
- if (!value) {
79
- throw new InstrumentsError(`No value found for ${String(key)}`)
80
- }
81
-
82
- if (Array.isArray(value)) {
83
- const [req, limit] = value.map(v => {
84
- return pUnitValue.parse(v as any).value
85
- })
86
- return {
87
- request: req,
88
- limit: limit
89
- }
90
- } else if (typeof value === "string") {
91
- return this._parseReqLimit(key as string, value)
92
- } else {
93
- throw new InstrumentsError(`Invalid value for resource ${String(key)}`)
94
- }
95
- }
96
- return [key, getVal()] as const
97
- })
98
- .pull()
99
- return new Resources_UnitMap(map as Map<string, ReqLimit>)
100
- }
101
-
102
- static make<const RM extends Resources_UnitMap_Trait<RM>>(unitMap: {
103
- [K in keyof RM]: UnitParser<RM[K]>
104
- }) {
105
- return new ResourcesSpec<RM>(mapFromObject(unitMap as any) as Map<string, UnitParser>)
106
- }
107
- }
@@ -1,28 +0,0 @@
1
- import type { UnitValue } from "../units/unit-parser"
2
- export type Resources_sUnitTerm<Unit extends string> = `${number}${Unit}` | "?"
3
-
4
- export type ReqLim_Array<Unit extends string> = [
5
- Resources_sUnitTerm<Unit>,
6
- Resources_sUnitTerm<Unit>
7
- ]
8
- export type Resources_UnitMap_Trait<T> = Record<keyof T, string>
9
- type _Spaces = "" | " " | " "
10
- export type Resources_sToFrom<Unit extends string> =
11
- `${Resources_sUnitTerm<Unit>}${_Spaces}->${_Spaces}${Resources_sUnitTerm<Unit>}`
12
- export type Resources_sExactly<U extends string> = `=${Resources_sUnitTerm<U>}`
13
- export interface ReqLimit<Unit extends string = string> {
14
- readonly request?: UnitValue<Unit>
15
- readonly limit?: UnitValue<Unit>
16
- }
17
- export type ReqLim_Input_Of<Unit extends string> =
18
- | Resources_sToFrom<Unit>
19
- | Resources_sExactly<Unit>
20
- | ReqLim_Array<Unit>
21
- type CustomResource = `${string}/${string}`
22
-
23
- export type Resources_ReqLimits_Trait<ResourceUnit extends Resources_UnitMap_Trait<ResourceUnit>> =
24
- {
25
- [K in keyof ResourceUnit]: ReqLim_Input_Of<ResourceUnit[K]>
26
- } & {
27
- [K in CustomResource]?: ReqLim_Input_Of<string>
28
- }
@@ -1,2 +0,0 @@
1
- export { UnitParser, UnitValue } from "./unit-parser"
2
- export * from "./units"
@@ -1,92 +0,0 @@
1
- import { int, letter, type Parjser } from "parjs"
2
- import { many, map, stringify, then } from "parjs/combinators"
3
- import { InstrumentsError } from "../../../error"
4
- const pUnit = letter().pipe(many(), stringify())
5
-
6
- const pValueUnit = int().pipe(
7
- then(pUnit),
8
- map(arr => {
9
- const [value, unit] = arr
10
- return { value, unit }
11
- })
12
- )
13
- export class UnitValue<Unit extends string = string> {
14
- constructor(
15
- readonly unit: Unit,
16
- readonly value: number,
17
- readonly type: string
18
- ) {}
19
-
20
- get str() {
21
- return `${this.value}${this.unit}`
22
- }
23
-
24
- get val() {
25
- if (!this.unit) {
26
- return +this.value
27
- }
28
- return this.str
29
- }
30
-
31
- toString() {
32
- return this.str
33
- }
34
- }
35
-
36
- export abstract class UnitParser<const Unit extends string = string> {
37
- readonly parser: Parjser<UnitValue<Unit>>
38
- protected abstract _validate(unit: string): asserts unit is Unit
39
- constructor(protected readonly _unitType: string) {
40
- this.parser = pValueUnit.pipe(
41
- map(({ value, unit }) => {
42
- this._validate(unit)
43
-
44
- return new UnitValue<Unit>(unit as any, value, this._unitType)
45
- })
46
- )
47
- }
48
-
49
- parse = (input: `${number}${Unit}`) => {
50
- const pUnitValue = this.parser
51
- const result = pUnitValue.parse(input)
52
- if (result.kind !== "OK") {
53
- throw new InstrumentsError(`Failed to parse ${this._unitType}`, {
54
- more: result.trace.toString()
55
- })
56
- }
57
- return result.value
58
- }
59
- }
60
-
61
- export class AnyUnitParser extends UnitParser<string> {
62
- constructor() {
63
- super("any")
64
- }
65
-
66
- _validate(_unit: string): void {
67
- // Accept any unit
68
- }
69
-
70
- static make() {
71
- return new AnyUnitParser()
72
- }
73
- }
74
-
75
- export class SetUnitParser<const Unit extends string = string> extends UnitParser<Unit> {
76
- constructor(
77
- unitType: string,
78
- private readonly _units: Set<Unit>
79
- ) {
80
- super(unitType)
81
- }
82
-
83
- _validate(unit: string): asserts unit is Unit {
84
- if (!this._units.has(unit as Unit)) {
85
- throw new InstrumentsError(`Unit ${unit} is not a valid unit of type ${this._unitType}`)
86
- }
87
- }
88
-
89
- static make<const Unit extends string>(unitType: string, units: Set<Unit>) {
90
- return new SetUnitParser<Unit>(unitType, units)
91
- }
92
- }