@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,4 +1,4 @@
1
- import { SetUnitParser } from "./unit-parser"
1
+ import { UnitDimension } from "./dimension"
2
2
 
3
3
  export type G = `${number}G`
4
4
  export const G = (n: number) => `${n}G` as G
@@ -36,17 +36,24 @@ export const s = (n: number) => `${n}s` as s
36
36
  export type ms = `${number}ms`
37
37
  export const ms = (n: number) => `${n}ms` as ms
38
38
 
39
- export interface UnitDefinition<Unit extends string> {}
40
-
41
- export namespace Unit {
39
+ export namespace Units {
42
40
  export type Data = M | G | T | K | Mi | Gi | Ki
43
41
  export type Cpu = m
44
42
  export type Time = m | h | d | s | ms
45
43
  export type Any = Data | Cpu | Time
46
44
 
47
- export const Cpu = SetUnitParser.make("cpu", new Set(["m"]))
45
+ export const Cpu = new UnitDimension({
46
+ name: "cpu",
47
+ units: ["m"]
48
+ })
48
49
 
49
- export const Data = SetUnitParser.make("data", new Set(["M", "G", "T", "K", "Mi", "Gi", "Ki"]))
50
+ export const Data = new UnitDimension({
51
+ name: "data",
52
+ units: ["M", "G", "T", "K", "Mi", "Gi", "Ki"]
53
+ })
50
54
 
51
- export const Time = SetUnitParser.make("time", new Set(["m", "h", "d", "s", "ms"]))
55
+ export const Time = new UnitDimension({
56
+ name: "time",
57
+ units: ["m", "h", "d", "s", "ms"]
58
+ })
52
59
  }
@@ -0,0 +1,47 @@
1
+ import { type Parjser } from "parjs"
2
+ import { map } from "parjs/combinators"
3
+ import { K8tsQuantityError } from "../error"
4
+ import { pValueUnit } from "./parser"
5
+ import type { Reqs_sUnitTerm } from "./types"
6
+ import { type Dimension_Validator, getValidator } from "./validator"
7
+ import { UnitValue } from "./value"
8
+
9
+ export interface Dimension_Props_Any {
10
+ name: string
11
+ units: "any"
12
+ }
13
+
14
+ export interface Dimension_Props_Explicit<Units extends string> {
15
+ name: string
16
+ units: [Units, ...Units[]]
17
+ }
18
+
19
+ export type Dimension_Props<Units extends string = string> =
20
+ | Dimension_Props_Any
21
+ | Dimension_Props_Explicit<Units>
22
+
23
+ export class UnitDimension<const _Units extends string = string> {
24
+ readonly parser: Parjser<UnitValue<_Units>>
25
+ private _validate: Dimension_Validator<_Units>
26
+ constructor(readonly _props: Dimension_Props<_Units>) {
27
+ this._validate = getValidator(_props)
28
+ this.parser = pValueUnit.pipe(
29
+ map(({ value, unit }) => {
30
+ this._validate(unit)
31
+
32
+ return new UnitValue<_Units>(unit as any, value, this._props.name)
33
+ })
34
+ )
35
+ }
36
+
37
+ parse(input: Reqs_sUnitTerm<_Units>) {
38
+ const pUnitValue = this.parser
39
+ const result = pUnitValue.parse(input)
40
+ if (result.kind !== "OK") {
41
+ throw new K8tsQuantityError(`Failed to parse ${this._props}`, {
42
+ more: result.trace.toString()
43
+ })
44
+ }
45
+ return result.value
46
+ }
47
+ }
@@ -0,0 +1,11 @@
1
+ import { int, letter } from "parjs"
2
+ import { many, map, stringify, then } from "parjs/combinators"
3
+
4
+ export const pUnit = letter().pipe(many(), stringify())
5
+ export const pValueUnit = int().pipe(
6
+ then(pUnit),
7
+ map(arr => {
8
+ const [value, unit] = arr
9
+ return { value, unit }
10
+ })
11
+ )
@@ -0,0 +1 @@
1
+ export type Reqs_sUnitTerm<_Unit extends string> = `${number}${_Unit}` | "?"
@@ -0,0 +1,17 @@
1
+ import { K8tsQuantityError } from "../error"
2
+ import type { Dimension_Props } from "./dimension"
3
+
4
+ export type Dimension_Validator<Units extends string> = (unit: string) => asserts unit is Units
5
+ export function getValidator<Units extends string>(
6
+ props: Dimension_Props<Units>
7
+ ): Dimension_Validator<Units> {
8
+ if (props.units === "any") {
9
+ return (_unit: string) => true
10
+ }
11
+ const validUnits = new Set(props.units)
12
+ return (unit: string) => {
13
+ if (!validUnits.has(unit as any)) {
14
+ throw new K8tsQuantityError(`Unit ${unit} is not a valid unit of type ${props.name}`)
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,22 @@
1
+ export class UnitValue<_Unit extends string = string> {
2
+ constructor(
3
+ readonly unit: _Unit,
4
+ readonly value: number,
5
+ readonly type: string
6
+ ) {}
7
+
8
+ get str() {
9
+ return `${this.value}${this.unit}`
10
+ }
11
+
12
+ get val() {
13
+ if (!this.unit) {
14
+ return +this.value
15
+ }
16
+ return this.str
17
+ }
18
+
19
+ toString() {
20
+ return this.str
21
+ }
22
+ }
@@ -0,0 +1,37 @@
1
+ export interface CdkQuanitity<T extends string | number = string | number> {
2
+ value: T
3
+ }
4
+ export function isCdkQuanitity<T extends string | number>(input: any): input is CdkQuanitity<T> {
5
+ return (
6
+ typeof input === "object" &&
7
+ input !== null &&
8
+ "value" in input &&
9
+ Object.keys(input).length === 1
10
+ )
11
+ }
12
+ export function toCdkQuantity<T extends string | number | undefined>(
13
+ input: T
14
+ ): T extends undefined ? undefined : CdkQuanitity<Exclude<T, undefined>> {
15
+ return { value: input } as any
16
+ }
17
+
18
+ export type SkipUndefinedKeys<R extends Record<string, any>> = {
19
+ [K in keyof R as R[K] extends undefined ? never : K]: CdkQuanitity<R[K]>
20
+ }
21
+ export type NormEmptyObjectToUndefined<T> = T extends Record<string, never> ? undefined : T
22
+
23
+ export function toCdkQuantityRecord<R extends Record<string, any>>(
24
+ input: R
25
+ ): NormEmptyObjectToUndefined<SkipUndefinedKeys<R>> {
26
+ const output: any = {}
27
+ for (const key in input) {
28
+ const quantity = toCdkQuantity(input[key])
29
+ if (quantity !== undefined) {
30
+ output[key] = quantity
31
+ }
32
+ }
33
+ if (Object.keys(output).length === 0) {
34
+ return undefined as any
35
+ }
36
+ return output
37
+ }
@@ -1,8 +1,9 @@
1
- import { InstrumentsError } from "../../../error"
2
- import { displayers } from "../../../utils/displayers"
3
- import type { Cli_Value } from "./types"
1
+ import { K8tsGraphError } from "../../../core/graph/error"
2
+ import { display } from "../../../utils/mixin/display"
3
+ import { K8tsWorkloadToolsError } from "../error"
4
+ import type { CmdLine_Value } from "./types"
4
5
 
5
- export class Cli_Flag {
6
+ export class CmdLine_Term_Flag {
6
7
  constructor(readonly key: string) {}
7
8
 
8
9
  str(joiner: string) {
@@ -18,16 +19,16 @@ export class Cli_Flag {
18
19
  }
19
20
  }
20
21
 
21
- export type Cli_sTermJoiner = "=" | " "
22
+ export type CmdLine_sTermJoiner = "=" | " "
22
23
 
23
- @displayers({
24
+ @display({
24
25
  simple: s => s.str("=")
25
26
  })
26
- export class Cli_OptionValueTerm {
27
+ export class CmdLine_Term_Value {
27
28
  constructor(
28
29
  private readonly key: string,
29
30
  private readonly overrideTermJoiner: string | undefined,
30
- private readonly value: Cli_Value
31
+ private readonly value: CmdLine_Value
31
32
  ) {}
32
33
 
33
34
  get isMissing() {
@@ -36,7 +37,7 @@ export class Cli_OptionValueTerm {
36
37
 
37
38
  private _valueStr() {
38
39
  if (this.value === null) {
39
- throw new Error("Shouldn't be here")
40
+ throw new K8tsWorkloadToolsError("Shouldn't be here")
40
41
  }
41
42
  if (this.value === "") {
42
43
  return `""`
@@ -46,7 +47,7 @@ export class Cli_OptionValueTerm {
46
47
 
47
48
  str(joiner: string) {
48
49
  if (this.value === undefined) {
49
- throw new InstrumentsError("CliOptionValue cannot be undefined, use null instead")
50
+ throw new K8tsGraphError("CliOptionValue cannot be undefined, use null instead")
50
51
  }
51
52
 
52
53
  return [this.key, this._valueStr()].join(this.overrideTermJoiner ?? joiner)
@@ -61,7 +62,7 @@ export class Cli_OptionValueTerm {
61
62
  }
62
63
  }
63
64
 
64
- export class Cli_VerbatimTerm {
65
+ export class CmdLine_Term_Verbatim {
65
66
  constructor(readonly value: string) {}
66
67
 
67
68
  str(joiner: string) {
@@ -77,4 +78,4 @@ export class Cli_VerbatimTerm {
77
78
  }
78
79
  }
79
80
 
80
- export type CliTerm = Cli_Flag | Cli_OptionValueTerm | Cli_VerbatimTerm
81
+ export type CmdLine_Term = CmdLine_Term_Flag | CmdLine_Term_Value | CmdLine_Term_Verbatim
@@ -0,0 +1,103 @@
1
+ import { seq } from "doddle"
2
+ import { merge } from "lodash"
3
+ import { display } from "../../../utils/mixin/display"
4
+ import {
5
+ CmdLine_Term_Flag,
6
+ CmdLine_Term_Value,
7
+ CmdLine_Term_Verbatim,
8
+ type CmdLine_sTermJoiner,
9
+ type CmdLine_Term
10
+ } from "./cli-term"
11
+ import type { CmdLine_Args, CmdLine_sArg } from "./types"
12
+
13
+ export interface CmdLine_Options {
14
+ joiner: CmdLine_sTermJoiner
15
+ }
16
+ export interface Cmd {
17
+ flag(...flags: CmdLine_sArg[]): Cmd
18
+ verbatim(...values: string[]): Cmd
19
+ options(args: CmdLine_Args): Cmd
20
+ joiner(joiner: CmdLine_sTermJoiner): Cmd
21
+ toArray(): string[]
22
+ toString(): string
23
+ }
24
+
25
+ const defaultOptions: CmdLine_Options = {
26
+ joiner: " "
27
+ }
28
+ export function Cmd(executable: string) {
29
+ return new _CmdLine(executable, [], {
30
+ joiner: " "
31
+ }) as Cmd
32
+ }
33
+
34
+ @display({
35
+ simple: s => s.toString()
36
+ })
37
+ class _CmdLine implements Cmd {
38
+ constructor(
39
+ readonly executable: string,
40
+ private readonly _terms: CmdLine_Term[],
41
+ private readonly _options: CmdLine_Options
42
+ ) {}
43
+
44
+ private _withArgs(f: (args: CmdLine_Term[]) => CmdLine_Term[]) {
45
+ return new _CmdLine(this.executable, f(this._terms), this._options)
46
+ }
47
+
48
+ private _withOptions(f: (options: CmdLine_Options) => CmdLine_Options) {
49
+ return new _CmdLine(this.executable, this._terms, f(this._options))
50
+ }
51
+
52
+ flag(...flags: CmdLine_sArg[]) {
53
+ const flagTerms = flags.map(flag => new CmdLine_Term_Flag(flag))
54
+ return this._withArgs(terms => terms.concat(flagTerms))
55
+ }
56
+
57
+ verbatim(...values: string[]) {
58
+ const verbatimTerms = values.map(value => new CmdLine_Term_Verbatim(value))
59
+ return this._withArgs(terms => terms.concat(verbatimTerms))
60
+ }
61
+
62
+ options(args: CmdLine_Args) {
63
+ const map = new Map(Object.entries(args)) as Map<CmdLine_sArg, string>
64
+ const optionTerms = seq(map)
65
+ .map(([key, value]) => {
66
+ let joiner: string | undefined
67
+ const lastChar = key.at(-1)
68
+ if (lastChar === "=") {
69
+ joiner = "="
70
+ key = key.slice(0, -1) as CmdLine_sArg
71
+ } else if (lastChar === " ") {
72
+ joiner = " "
73
+ key = key.slice(0, -1) as CmdLine_sArg
74
+ }
75
+ return new CmdLine_Term_Value(key, joiner, value)
76
+ })
77
+ .toArray()
78
+ .pull()
79
+ return this._withArgs(terms => terms.concat(optionTerms))
80
+ }
81
+
82
+ joiner(joiner: CmdLine_sTermJoiner) {
83
+ return this._withOptions(options => merge({}, options, { joiner: joiner }))
84
+ }
85
+
86
+ toArray() {
87
+ const terms = seq(this._terms)
88
+ .filter(x => !x.isMissing)
89
+ .flatMap(term => {
90
+ return term.arr(this._options.joiner)
91
+ })
92
+ .toArray()
93
+ .pull()
94
+ if (this.executable !== "") {
95
+ terms.unshift(this.executable)
96
+ }
97
+ return terms
98
+ }
99
+
100
+ toString() {
101
+ return this.toArray().join(" ")
102
+ }
103
+ }
@@ -1,4 +1,4 @@
1
- export type Cli_sFlag = `-${string}` | `--${string}`
2
- export type Cli_sArgKey = `${Cli_sFlag}=` | `${Cli_sFlag} ` | Cli_sFlag
3
- export type Cli_Value = string | number | boolean | null | `${string}` | ` ${string}`
4
- export type Cli_Record_ArgMap = Record<Cli_sArgKey, Cli_Value>
1
+ export type CmdLine_sArg = `-${string}` | `--${string}`
2
+ export type CmdLine_sOption = `${CmdLine_sArg}=` | `${CmdLine_sArg} ` | CmdLine_sArg
3
+ export type CmdLine_Value = string | number | boolean | null | `${string}` | ` ${string}`
4
+ export type CmdLine_Args = Record<CmdLine_sOption, CmdLine_Value>
@@ -0,0 +1,58 @@
1
+ export type Cron_Divisor = number
2
+ export type Cron_Element_Simple = `${number}` | `*`
3
+ export type Cron_Element_Divided = `${Cron_Element_Simple}/${Cron_Divisor}`
4
+ type Cron_Element_RangeItem = Cron_Element_Simple | Cron_Element_Divided
5
+ export type Cron_Element_Range = `${Cron_Element_RangeItem}-${string}` &
6
+ `${string}-${Cron_Element_RangeItem}`
7
+ type Cron_Element_ListItem = Cron_Element_Simple | Cron_Element_Divided | Cron_Element_Range
8
+ export type Cron_Element_List<Es extends Cron_Element_ListItem[] = Cron_Element_ListItem[]> =
9
+ Es extends []
10
+ ? ""
11
+ : Es extends [
12
+ infer E extends Cron_Element_ListItem,
13
+ ...infer Rest extends Cron_Element_ListItem[]
14
+ ]
15
+ ? `${E},${Cron_Element_List<Rest>}`
16
+ : never
17
+
18
+ export type Cron_Element_Real =
19
+ | Cron_Element_Simple
20
+ | Cron_Element_Divided
21
+ | Cron_Element_Range
22
+ | Cron_Element_List
23
+ export type Cron_Element = Cron_Element_Real | true | number | false
24
+ export type Cron_Tuple<
25
+ Minute extends Cron_Element = Cron_Element,
26
+ Hour extends Cron_Element = Cron_Element,
27
+ DayOfMonth extends Cron_Element = Cron_Element,
28
+ Month extends Cron_Element = Cron_Element,
29
+ DayOfWeek extends Cron_Element = Cron_Element
30
+ > = [minute: Minute, hour: Hour, dayOfMonth: DayOfMonth, month: Month, dayOfWeek: DayOfWeek]
31
+
32
+ export type Cron_Record<
33
+ Minute extends Cron_Element = Cron_Element,
34
+ Hour extends Cron_Element = Cron_Element,
35
+ DayOfMonth extends Cron_Element = Cron_Element,
36
+ Month extends Cron_Element = Cron_Element,
37
+ DayOfWeek extends Cron_Element = Cron_Element
38
+ > = {
39
+ minute: Minute
40
+ hour: Hour
41
+ dayOfMonth: DayOfMonth
42
+ month: Month
43
+ dayOfWeek: DayOfWeek
44
+ }
45
+ export type Cron_RecordToTuple<T extends Cron_Record> = Cron_Tuple<
46
+ T["minute"],
47
+ T["hour"],
48
+ T["dayOfMonth"],
49
+ T["month"],
50
+ T["dayOfWeek"]
51
+ >
52
+ export type Cron_RecordFromTuple<T extends Cron_Tuple> = {
53
+ minute: T[0]
54
+ hour: T[1]
55
+ dayOfMonth: T[2]
56
+ month: T[3]
57
+ dayOfWeek: T[4]
58
+ }
@@ -0,0 +1,37 @@
1
+ import { K8tsGraphError } from "../../../core/graph/error"
2
+ import type { Cron_Record, Cron_RecordFromTuple, Cron_Tuple } from "./parse-type"
3
+ import { CronStanza } from "./stanza"
4
+
5
+ function shorthand<Tpl extends Cron_Tuple>(...items: Tpl): CronStanza<Cron_RecordFromTuple<Tpl>> {
6
+ return CronStanza<Cron_RecordFromTuple<Tpl>>({
7
+ minute: items[0],
8
+ hour: items[1],
9
+ dayOfMonth: items[2],
10
+ month: items[3],
11
+ dayOfWeek: items[4]
12
+ })
13
+ }
14
+
15
+ export namespace Cron {
16
+ export function from<R extends Cron_Record>(record: R): CronStanza<R> {
17
+ return CronStanza<R>(record)
18
+ }
19
+
20
+ export const minutely = shorthand(true, true, true, true, true)
21
+ export const hourly = shorthand(0, true, true, true, true)
22
+ export const daily = shorthand(0, 0, true, true, true)
23
+ export const weekly = shorthand(0, 0, true, true, 0)
24
+ export const monthly = shorthand(0, 0, 1, true, true)
25
+ export const yearly = shorthand(0, 0, 1, 1, true)
26
+
27
+ // TODO: Parse cron strings with type safety
28
+ // TODO: Write a runtime parser too
29
+ // TODO: Consider using an existing library for this
30
+ export function parse(cron: string): CronStanza<Cron_Record> {
31
+ const parts = cron.split(" ")
32
+ if (parts.length !== 5) {
33
+ throw new K8tsGraphError(`Invalid cron string: ${cron}`)
34
+ }
35
+ return shorthand(...(parts as any))
36
+ }
37
+ }
@@ -0,0 +1,91 @@
1
+ import { display } from "../../../utils/mixin/display"
2
+ import type { Cron_Element, Cron_Record, Cron_RecordToTuple } from "./parse-type"
3
+ import type { _SetObjectKey } from "./types"
4
+
5
+ export declare const CRON_STRING: unique symbol
6
+
7
+ function _convertStanzaElement(X: Cron_Element): string {
8
+ if (X === true) {
9
+ return "*"
10
+ }
11
+ if (X === false) {
12
+ return "0"
13
+ }
14
+ return `${X}`
15
+ }
16
+ export interface CronStanza<R extends Cron_Record = Cron_Record> {
17
+ get tuple(): Cron_RecordToTuple<R>
18
+ toString(): string
19
+ get string(): string
20
+ minute<Minute extends Cron_Element>(
21
+ minute: Minute
22
+ ): CronStanza<_SetObjectKey<R, "minute", Minute>>
23
+ hour<Hour extends Cron_Element>(hour: Hour): CronStanza<_SetObjectKey<R, "hour", Hour>>
24
+ dayOfMonth<DayOfMonth extends Cron_Element>(
25
+ dayOfMonth: DayOfMonth
26
+ ): CronStanza<_SetObjectKey<R, "dayOfMonth", DayOfMonth>>
27
+ month<Month extends Cron_Element>(month: Month): CronStanza<_SetObjectKey<R, "month", Month>>
28
+ dayOfWeek<DayOfWeek extends Cron_Element>(
29
+ dayOfWeek: DayOfWeek
30
+ ): CronStanza<_SetObjectKey<R, "dayOfWeek", DayOfWeek>>
31
+ }
32
+ export function CronStanza<R extends Cron_Record>(record: R) {
33
+ return new _CronStanza(record) as CronStanza<R>
34
+ }
35
+ @display({
36
+ simple(self) {
37
+ return self.string
38
+ }
39
+ })
40
+ class _CronStanza {
41
+ constructor(private readonly _parts: Cron_Record) {}
42
+
43
+ get tuple() {
44
+ return [
45
+ this._parts.minute,
46
+ this._parts.hour,
47
+ this._parts.dayOfMonth,
48
+ this._parts.month,
49
+ this._parts.dayOfWeek
50
+ ] as Cron_RecordToTuple<Cron_Record>
51
+ }
52
+
53
+ get string() {
54
+ return this.tuple.map(_convertStanzaElement).join(" ")
55
+ }
56
+
57
+ minute<Minute extends Cron_Element>(minute: Minute): _CronStanza {
58
+ return new _CronStanza({
59
+ ...this._parts,
60
+ minute
61
+ } as any)
62
+ }
63
+
64
+ hour<Hour extends Cron_Element>(hour: Hour): _CronStanza {
65
+ return new _CronStanza({
66
+ ...this._parts,
67
+ hour
68
+ } as any)
69
+ }
70
+
71
+ dayOfMonth<DayOfMonth extends Cron_Element>(dayOfMonth: DayOfMonth): _CronStanza {
72
+ return new _CronStanza({
73
+ ...this._parts,
74
+ dayOfMonth
75
+ } as any)
76
+ }
77
+
78
+ month<Month extends Cron_Element>(month: Month): _CronStanza {
79
+ return new _CronStanza({
80
+ ...this._parts,
81
+ month
82
+ } as any)
83
+ }
84
+
85
+ dayOfWeek<DayOfWeek extends Cron_Element>(dayOfWeek: DayOfWeek): _CronStanza {
86
+ return new _CronStanza({
87
+ ...this._parts,
88
+ dayOfWeek
89
+ } as any)
90
+ }
91
+ }
@@ -0,0 +1,3 @@
1
+ export type _SetObjectKey<Obj extends object, K extends keyof Obj, V> = {
2
+ [P in keyof Obj]: P extends K ? V : Obj[P]
3
+ }
@@ -0,0 +1,7 @@
1
+ export class K8tsWorkloadToolsError extends Error {
2
+ override name = "K8tsWorkloadToolsError" as const
3
+ constructor(message: string, fields: Record<string, any> & { cause?: Error } = {}) {
4
+ super(message)
5
+ Object.assign(this, fields)
6
+ }
7
+ }
@@ -0,0 +1,31 @@
1
+ import { ImageNamespace } from "./2-namespace"
2
+ import { ImageRepository } from "./3-repository"
3
+ import type { JoinIfNotEmpty } from "./types"
4
+
5
+ export interface ImageRegistry<Text extends string = string> {
6
+ toString(): Text
7
+ isEmpty: boolean
8
+ repo<Name extends string = "">(name?: Name): ImageRepository<JoinIfNotEmpty<Text, "/", Name>>
9
+ namespace<Ns extends string = "">(namespace?: Ns): ImageNamespace<JoinIfNotEmpty<Text, "/", Ns>>
10
+ }
11
+ export function ImageRegistry<Text extends string = "">(registry?: Text) {
12
+ return new _ImageRegistry(registry ?? "") as ImageRegistry<Text>
13
+ }
14
+ class _ImageRegistry implements ImageRegistry<string> {
15
+ constructor(readonly _registry: string) {}
16
+ toString(): any {
17
+ return this._registry
18
+ }
19
+
20
+ get isEmpty() {
21
+ return this._registry === ""
22
+ }
23
+
24
+ repo(name?: string) {
25
+ return ImageRepository<any>(this._registry, "", name ?? "")
26
+ }
27
+
28
+ namespace<Ns extends string = "">(namespace?: Ns) {
29
+ return ImageNamespace<any>(this._registry, namespace ?? "")
30
+ }
31
+ }
@@ -0,0 +1,49 @@
1
+ import { display } from "../../../utils"
2
+ import { ImageRegistry } from "./1-host"
3
+ import { ImageRepository } from "./3-repository"
4
+ import type { JoinIfNotEmpty } from "./types"
5
+
6
+ export interface ImageNamespace<Text extends string = string> {
7
+ toString(): Text
8
+ isEmpty: boolean
9
+ get registry(): ImageRegistry
10
+ repo<Name extends string>(name?: Name): ImageRepository<JoinIfNotEmpty<Text, "/", Name>>
11
+ }
12
+ export function ImageNamespace<Text extends string = "">(registry: string, namespace?: Text) {
13
+ return new _ImageNamespace(registry, namespace ?? "") as ImageNamespace<Text>
14
+ }
15
+ @display({
16
+ simple: s => s._url
17
+ })
18
+ class _ImageNamespace implements ImageNamespace<any> {
19
+ private readonly _url: string
20
+ constructor(
21
+ private readonly _registry: string,
22
+ private readonly _namespace: string
23
+ ) {
24
+ const parts = []
25
+ if (!this.registry.isEmpty) {
26
+ parts.push(this.registry)
27
+ }
28
+ if (this._namespace !== "") {
29
+ parts.push(this._namespace)
30
+ }
31
+ this._url = parts.join("/")
32
+ }
33
+
34
+ toString(): any {
35
+ return this._url
36
+ }
37
+
38
+ get registry() {
39
+ return ImageRegistry<any>(this._registry)
40
+ }
41
+
42
+ get isEmpty() {
43
+ return this.registry.isEmpty && this._namespace === ""
44
+ }
45
+
46
+ repo<Repo extends string = "">(name?: Repo): ImageRepository<any> {
47
+ return ImageRepository(this._registry, this._namespace, name ?? "")
48
+ }
49
+ }