@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,17 +1,17 @@
1
1
  import { seq } from "doddle"
2
- import { Origin_Entity } from "../../origin"
3
- import type { Origin_Exporter } from "../../origin/exporter"
4
- import { RefKey } from "../ref-key"
5
- import { ProxyOperationError } from "./error"
6
- import { FwRef } from "./fw-ref"
7
- import type { Rsc_Ref } from "./refable"
8
-
9
- /** Expands the resources exported by an Origin_Exported into a dictionary of name to FwRef. */
10
- export type FwRef_Exports_ByKey<Exports extends Rsc_Ref = Rsc_Ref> = {
11
- [E in Exports as `${E["kind"]["name"]}/${E["name"]}`]: FwRef<E>
2
+ import { OriginEntity } from "../../origin"
3
+ import type { ExporterOrigin } from "../../origin/exporter"
4
+ import { ResourceIdent } from "../ident"
5
+ import type { ResourceRef } from "../ref"
6
+ import { K8tsProxyError } from "./error"
7
+ import { ForwardRef } from "./ref"
8
+
9
+ /** Expands the resources exported by an OriginExported into a dictionary of name to FwRef. */
10
+ export type ForwardExports_ByKey<Exports extends ResourceRef = ResourceRef> = {
11
+ [E in Exports as `${E["kind"]["value"]}/${E["ident"]["name"]}`]: ForwardRef<E>
12
12
  }
13
13
  /**
14
- * A type describing all resources exported by an {@link Origin_Exporter} as forward references.
14
+ * A type describing all resources exported by an {@link ExporterOrigin} as forward references.
15
15
  *
16
16
  * FwRefs can be accessed using a key lookup, using the shorthand of `KindName/name`. For example, a
17
17
  * Deployment named "my-app" can be accessed via `exports["Deployment/my-app"]`.
@@ -27,39 +27,39 @@ export type FwRef_Exports_ByKey<Exports extends Rsc_Ref = Rsc_Ref> = {
27
27
  * During runtime, this construct can provide references to all resources attached to the Origin,
28
28
  * even if they were not explicitly exported.
29
29
  */
30
- export type Rsc_FwRef_Exports<Exported extends Rsc_Ref = any> = Rsc_FwRef_Exports_Proxied &
31
- FwRef_Exports_ByKey<Exported>
30
+ export type ForwardExports<Exported extends ResourceRef = any> = ForwardExports_Proxied &
31
+ ForwardExports_ByKey<Exported>
32
32
 
33
33
  /**
34
- * Creates a forward reference exports construct for the given {@link Origin_Exporter} entity.
34
+ * Creates a forward reference exports construct for the given {@link ExporterOrigin} entity.
35
35
  *
36
36
  * @param entity
37
37
  * @returns
38
38
  */
39
- export function Rsc_FwRef_Exports<Exported extends Rsc_Ref>(
40
- entity: Origin_Exporter
41
- ): Rsc_FwRef_Exports<Exported> {
42
- const proxied = new Rsc_FwRef_Exports_Proxied(entity)
43
- const handler = new FwRef_Exports_Handler(proxied)
39
+ export function ForwardExports<Exported extends ResourceRef>(
40
+ entity: ExporterOrigin
41
+ ): ForwardExports<Exported> {
42
+ const proxied = new ForwardExports_Proxied(entity)
43
+ const handler = new ForwardExports_ProxyHandler(proxied)
44
44
  return new Proxy(proxied, handler) as any
45
45
  }
46
- export namespace Rsc_FwRef_Exports {
47
- export function is(obj: any): obj is Rsc_FwRef_Exports {
48
- return obj instanceof Rsc_FwRef_Exports_Proxied
46
+ export namespace ForwardExports {
47
+ export function is(obj: any): obj is ForwardExports {
48
+ return obj instanceof ForwardExports_Proxied
49
49
  }
50
50
  }
51
51
 
52
52
  /**
53
- * A basic core of the {@link Rsc_FwRef_Exports} construct, containing information about the
54
- * underlying {@link Origin_Exporter} entity.
53
+ * A basic core of the {@link ForwardExports} construct, containing information about the underlying
54
+ * {@link ExporterOrigin} entity.
55
55
  */
56
- export class Rsc_FwRef_Exports_Proxied {
57
- #entity: Origin_Exporter
58
- constructor(entity: Origin_Exporter) {
56
+ export class ForwardExports_Proxied {
57
+ #entity: ExporterOrigin
58
+ constructor(entity: ExporterOrigin) {
59
59
  this.#entity = entity
60
60
  }
61
61
 
62
- __entity__(act?: (entity: Origin_Exporter) => any): Origin_Exporter {
62
+ __entity__(act?: (entity: ExporterOrigin) => any): ExporterOrigin {
63
63
  return this.#entity as any
64
64
  }
65
65
 
@@ -67,10 +67,10 @@ export class Rsc_FwRef_Exports_Proxied {
67
67
  if (!other) {
68
68
  return false
69
69
  }
70
- if (Rsc_FwRef_Exports.is(other)) {
70
+ if (ForwardExports.is(other)) {
71
71
  return this.#entity.equals(other.#entity)
72
72
  }
73
- if (other instanceof Origin_Entity) {
73
+ if (other instanceof OriginEntity) {
74
74
  return other.equals(this.#entity)
75
75
  }
76
76
  return false
@@ -78,24 +78,24 @@ export class Rsc_FwRef_Exports_Proxied {
78
78
  }
79
79
 
80
80
  /**
81
- * Proxy handler for the {@link Rsc_FwRef_Exports} construct, providing dynamic access to the
82
- * resources attached to the underlying {@link Origin_Exporter} entity.
81
+ * Proxy handler for the {@link ForwardExports} construct, providing dynamic access to the resources
82
+ * attached to the underlying {@link ExporterOrigin} entity.
83
83
  */
84
- class FwRef_Exports_Handler<Entity extends Origin_Exporter> implements ProxyHandler<Entity> {
85
- constructor(private readonly _subject: Rsc_FwRef_Exports_Proxied) {}
84
+ class ForwardExports_ProxyHandler<Entity extends ExporterOrigin> implements ProxyHandler<Entity> {
85
+ constructor(private readonly _subject: ForwardExports_Proxied) {}
86
86
 
87
87
  get entity() {
88
88
  return this._subject["__entity__"]()
89
89
  }
90
90
  get node() {
91
- return this.entity.node
91
+ return this.entity.__vertex__
92
92
  }
93
93
  get resourceKinds() {
94
94
  return this.node.resourceKinds
95
95
  }
96
96
 
97
97
  #createImmutableError(action: string) {
98
- return new ProxyOperationError(
98
+ return new K8tsProxyError(
99
99
  `Tried to ${action} an the exports constructs of ${this.entity}, but it is immutable.`
100
100
  )
101
101
  }
@@ -109,7 +109,7 @@ class FwRef_Exports_Handler<Entity extends Origin_Exporter> implements ProxyHand
109
109
  }
110
110
 
111
111
  getPrototypeOf(_: Entity): object | null {
112
- return Rsc_FwRef_Exports_Proxied.prototype
112
+ return ForwardExports_Proxied.prototype
113
113
  }
114
114
 
115
115
  get exported() {
@@ -135,21 +135,26 @@ class FwRef_Exports_Handler<Entity extends Origin_Exporter> implements ProxyHand
135
135
 
136
136
  const resourceKinds = this.resourceKinds
137
137
  const refKey = resourceKinds.tryParse(key)
138
- const clazz = resourceKinds.tryGetClass(key)
139
138
  if (refKey == null) {
140
139
  return undefined
141
140
  }
142
- return FwRef({
141
+ const clazz = resourceKinds.getClass(key)
142
+
143
+ return ForwardRef({
143
144
  class: clazz,
144
- key: new RefKey(refKey.kind, {
145
+ ident: new ResourceIdent(refKey.kind, {
145
146
  name: refKey.name
146
147
  }),
147
148
  origin: this.entity,
148
149
  resolver: this.exported
149
- .first(exp => exp.node.name === refKey.name && exp.node.kind.equals(refKey.kind))
150
+ .first(
151
+ exp =>
152
+ exp.__vertex__.name === refKey.name &&
153
+ exp.__vertex__.kind.equals(refKey.kind)
154
+ )
150
155
  .map(x => {
151
156
  if (x == null) {
152
- throw new ProxyOperationError(
157
+ throw new K8tsProxyError(
153
158
  `Failed to resolve forward reference to ${refKey} in ${this.entity}.`
154
159
  )
155
160
  }
@@ -177,7 +182,7 @@ class FwRef_Exports_Handler<Entity extends Origin_Exporter> implements ProxyHand
177
182
  }
178
183
 
179
184
  ownKeys(target: Entity): ArrayLike<string | symbol> {
180
- throw new ProxyOperationError(
185
+ throw new K8tsProxyError(
181
186
  `Cannot list all keys of a dynamic exports construct for ${this.entity}.`
182
187
  )
183
188
  }
@@ -0,0 +1,2 @@
1
+ export { ForwardExports } from "./exports"
2
+ export { ForwardRef } from "./ref"
@@ -1,8 +1,10 @@
1
- import type { Doddle } from "doddle"
2
- import type { AnyCtor } from "what-are-you"
3
- import { RefKey } from "../ref-key"
4
- import { ProxyOperationError } from "./error"
5
- import type { Rsc_Ref } from "./refable"
1
+ import { seq, type Doddle } from "doddle"
2
+ import { mapValues } from "lodash"
3
+ import { getNiceClassName } from "what-are-you"
4
+ import { K8tsGraphError } from "../../error"
5
+ import { ResourceIdent } from "../ident"
6
+ import type { ResourceRef, ResourceRef_Constructor_For } from "../ref"
7
+ import { K8tsProxyError } from "./error"
6
8
 
7
9
  /**
8
10
  * The type of a forward reference to a resource.
@@ -12,14 +14,14 @@ import type { Rsc_Ref } from "./refable"
12
14
  * allows for circular references and more flexible resource definitions.
13
15
  *
14
16
  * The base `FwRef` object only has some basic properties about the resource being referenced, such
15
- * as its {@link RefKey} and class type. Accessing any other properties or methods on the `FwRef`
16
- * will trigger the resolution of the actual resource via a resolver.
17
+ * as its {@link ResourceIdent} and class type. Accessing any other properties or methods on the
18
+ * `FwRef` will trigger the resolution of the actual resource via a resolver.
17
19
  *
18
20
  * Because the `FwRef` avoids resolving the actual resource until needed, it won't detect missing
19
21
  * resources when the reference is created. Instead, the missing resource will be detected later on,
20
22
  * typically until resources are manifested. This makes it a bit harder to debug such issues.
21
23
  */
22
- export type FwRef<T extends Rsc_Ref = Rsc_Ref> = FwRef_Proxied<T> & T
24
+ export type ForwardRef<T extends ResourceRef = ResourceRef> = ForwardRef_Proxied<T> & T
23
25
 
24
26
  /**
25
27
  * Creates a forward reference to a resource, returning a proxy that defers resource resolution
@@ -28,46 +30,71 @@ export type FwRef<T extends Rsc_Ref = Rsc_Ref> = FwRef_Proxied<T> & T
28
30
  * @param props The properties of the forward reference.
29
31
  * @returns The forward reference proxy.
30
32
  */
31
- export function FwRef<Referenced extends Rsc_Ref>(
32
- props: FwRef_Props<Referenced>
33
- ): FwRef<Referenced> {
34
- const core = new FwRef_Proxied(props)
35
- return new Proxy(core, new FwRef_Handler(core)) as FwRef<Referenced>
33
+ export function ForwardRef<Referenced extends ResourceRef>(
34
+ props: ForwardRef_Props<Referenced>
35
+ ): ForwardRef<Referenced> {
36
+ const core = new ForwardRef_Proxied(props)
37
+ return new Proxy(core, new ForwardRef_ProxyHandler(core)) as ForwardRef<Referenced>
36
38
  }
37
- export namespace FwRef {
38
- export function is(obj: any): obj is FwRef {
39
- return FwRef_Proxied.is(obj)
39
+ export namespace ForwardRef {
40
+ export function is(obj: any): obj is ForwardRef {
41
+ return ForwardRef_Proxied.is(obj)
40
42
  }
41
43
  }
42
44
  /** Properties for creating a forward reference to a resource. */
43
- export interface FwRef_Props<Referenced extends Rsc_Ref> {
45
+ export interface ForwardRef_Props<Referenced extends ResourceRef> {
44
46
  /** The class constructor of the referenced resource. */
45
- readonly class?: AnyCtor<Referenced>
47
+ readonly class?: ResourceRef_Constructor_For<Referenced>
46
48
  /** The reference key identifying the referenced resource. */
47
- readonly key: RefKey
49
+ readonly ident: ResourceIdent
48
50
  readonly origin: object
49
51
  readonly resolver: Doddle<Referenced>
50
52
  }
51
-
52
- class FwRef_Proxied<To extends Rsc_Ref> {
53
- readonly #props: FwRef_Props<To>
54
- constructor(props: FwRef_Props<To>) {
53
+ const hiddenProperties = {
54
+ is(this: ForwardRef_Proxied, clsOrKind: any): boolean {
55
+ if (typeof clsOrKind === "function") {
56
+ return this.clazz.prototype instanceof clsOrKind || this instanceof clsOrKind
57
+ }
58
+ return this.kind.equals(clsOrKind)
59
+ },
60
+ assert(this: ForwardRef_Proxied, cls: abstract new (...args: any[]) => any): any {
61
+ if (hiddenProperties.is.call(this, cls)) {
62
+ return this as any
63
+ }
64
+ throw new K8tsGraphError(
65
+ `This Resource ${this} is not compatible with the class ${getNiceClassName(cls)}.`
66
+ )
67
+ }
68
+ }
69
+ class ForwardRef_Proxied<To extends ResourceRef = ResourceRef> {
70
+ readonly #props: ForwardRef_Props<To>
71
+ constructor(props: ForwardRef_Props<To>) {
55
72
  this.#props = props
73
+ Object.defineProperties(
74
+ this,
75
+ mapValues(hiddenProperties, prop => ({ value: prop }))
76
+ )
56
77
  }
57
78
 
58
79
  get name() {
59
- return this.#props.key.name
80
+ return this.#props.ident.name
81
+ }
82
+
83
+ get clazz() {
84
+ return (
85
+ this.#props.class ?? (require("../top").ResourceTop as ResourceRef_Constructor_For<To>)
86
+ )
60
87
  }
61
88
 
62
89
  get namespace() {
63
- return this.__pull__().namespace // The $props.key won't have a namespace
90
+ return this.__pull__().ident.namespace // The $props.ident won't have a namespace
64
91
  }
65
92
 
66
93
  get kind() {
67
- return this.#props.key.kind
94
+ return this.#props.ident.kind
68
95
  }
69
96
 
70
- static is(obj: any): obj is FwRef {
97
+ static is(obj: any): obj is ForwardRef {
71
98
  return obj && typeof obj === "object" && "__reference_props__" in obj
72
99
  }
73
100
 
@@ -80,7 +107,7 @@ class FwRef_Proxied<To extends Rsc_Ref> {
80
107
  }
81
108
 
82
109
  get key() {
83
- return new RefKey(this.kind, {
110
+ return new ResourceIdent(this.kind, {
84
111
  name: this.name,
85
112
  namespace: this.namespace
86
113
  })
@@ -90,27 +117,29 @@ class FwRef_Proxied<To extends Rsc_Ref> {
90
117
  if (!other) {
91
118
  return false
92
119
  }
93
- // Resource_Top has a key property, but Resource_Child doesn't
120
+ // ResourceTop has a key property, but ResourceChild doesn't
94
121
  // However in that case, the kind will be different anyway
95
122
  // since FwRefs are just for top resources.
96
123
  return this.key.equals(other.key)
97
124
  }
98
125
  }
99
126
 
100
- class FwRef_Handler<T extends Rsc_Ref> implements ProxyHandler<T> {
127
+ class ForwardRef_ProxyHandler<T extends ResourceRef> implements ProxyHandler<T> {
101
128
  get _props() {
102
129
  return this._subject["__reference_props__"]()
103
130
  }
104
- constructor(private readonly _subject: FwRef_Proxied<T>) {}
131
+ constructor(private readonly _subject: ForwardRef_Proxied<T>) {}
105
132
 
106
133
  get(target: T, prop: PropertyKey) {
107
134
  const { _props, _subject } = this
108
135
  if (prop === "constructor") {
109
136
  return this._props.class
110
137
  }
138
+
111
139
  if (Reflect.has(_subject, prop)) {
112
140
  return Reflect.get(_subject, prop)
113
141
  }
142
+
114
143
  const resource = _subject["__pull__"]() as any
115
144
  const result = Reflect.get(resource, prop)
116
145
  if (typeof result === "function") {
@@ -119,8 +148,8 @@ class FwRef_Handler<T extends Rsc_Ref> implements ProxyHandler<T> {
119
148
  return result
120
149
  }
121
150
  getPrototypeOf(target: T) {
122
- const Rsc_Top = require("../top").Rsc_Top
123
- return this._props.class?.prototype ?? Rsc_Top.prototype
151
+ const RscTop = require("../top").ResourceTop
152
+ return this._props.class?.prototype ?? RscTop.prototype
124
153
  }
125
154
  has(target: T, prop: PropertyKey) {
126
155
  const { _props, _subject } = this
@@ -142,19 +171,21 @@ class FwRef_Handler<T extends Rsc_Ref> implements ProxyHandler<T> {
142
171
  return resourceDesc
143
172
  }
144
173
  get referant() {
145
- return this._subject["__reference_props__"]().key.string
174
+ return this._subject["__reference_props__"]().ident.string
146
175
  }
147
176
  #createImmutableError(action: string) {
148
- return new ProxyOperationError(
177
+ return new K8tsProxyError(
149
178
  `Tried to ${action} a forward reference to ${this.referant}, but it cannot be modified.`
150
179
  )
151
180
  }
152
181
 
153
182
  defineProperty(_: any, property: string | symbol, desc: PropertyDescriptor): boolean {
154
- throw this.#createImmutableError(`define property ${String(property)} on`)
183
+ const pulled = this._props.resolver.pull() as any
184
+ return Reflect.defineProperty(pulled, property, desc)
155
185
  }
156
186
  deleteProperty(_: T, p: string | symbol): boolean {
157
- throw this.#createImmutableError(`delete property ${String(p)} from`)
187
+ const pulled = this._props.resolver.pull() as any
188
+ return Reflect.deleteProperty(pulled, p)
158
189
  }
159
190
  preventExtensions(): boolean {
160
191
  return true
@@ -163,13 +194,18 @@ class FwRef_Handler<T extends Rsc_Ref> implements ProxyHandler<T> {
163
194
  return false
164
195
  }
165
196
  set(_: T, p: string | symbol): boolean {
166
- throw this.#createImmutableError(`set property ${String(p)} on`)
197
+ const pulled = this._props.resolver.pull() as any
198
+ return Reflect.set(pulled, p, (_ as any)[p])
167
199
  }
168
200
  ownKeys(): ArrayLike<string | symbol> {
169
201
  const pulled = this._props.resolver.pull() as any
170
- return [...Reflect.ownKeys(this._subject), ...Reflect.ownKeys(pulled)]
202
+ const keys1 = Reflect.ownKeys(this._subject)
203
+ const keys2 = Reflect.ownKeys(pulled)
204
+ const uniq = seq(keys1).concat(keys2).uniq().toArray()
205
+ return uniq.pull()
171
206
  }
172
207
  setPrototypeOf(): boolean {
173
- throw this.#createImmutableError(`set the prototype of`)
208
+ const pulled = this._props.resolver.pull() as any
209
+ return Reflect.setPrototypeOf(pulled, pulled)
174
210
  }
175
211
  }
@@ -0,0 +1,37 @@
1
+ export interface GVK_Like {
2
+ readonly value: string
3
+ readonly url: string
4
+ readonly dns: string
5
+ readonly parent: GVK_Like | null
6
+ equals(other: any): boolean
7
+ }
8
+ export abstract class Gvk_Base<Url extends string = string> implements GVK_Like {
9
+ constructor(readonly url: Url) {}
10
+ abstract get value(): string
11
+ abstract get parent(): Gvk_Base | null
12
+ get parts(): Gvk_Base[] {
13
+ const parts: Gvk_Base[] = []
14
+ let curr: Gvk_Base | null = this
15
+ while (curr) {
16
+ parts.unshift(curr)
17
+ curr = curr.parent
18
+ }
19
+ return parts
20
+ }
21
+ get dns() {
22
+ return this.parts
23
+ .map(p => p.value)
24
+ .filter(Boolean)
25
+ .join(".")
26
+ }
27
+
28
+ equals(other: any) {
29
+ if (other instanceof Gvk_Base) {
30
+ return this.url === other.url
31
+ }
32
+ if (typeof other === "string") {
33
+ return this.url === other
34
+ }
35
+ return false
36
+ }
37
+ }
@@ -0,0 +1,23 @@
1
+ import type { JoinIfNotEmpty } from "../../../../expressions"
2
+ import { Gvk_Base } from "./0-base"
3
+ import { Gvk_Version } from "./2=version"
4
+ import type { GVK_sVersion } from "./strings"
5
+ export class Gvk_Group<Group extends string = string> extends Gvk_Base<Group> {
6
+ get parts() {
7
+ return [this]
8
+ }
9
+ get parent() {
10
+ return null
11
+ }
12
+ get value(): Group {
13
+ return this.url
14
+ }
15
+
16
+ version<Version extends GVK_sVersion>(version: Version) {
17
+ const newUrl = [this.url, version].filter(Boolean).join("/")
18
+ return new Gvk_Version(newUrl as JoinIfNotEmpty<Group, "/", Version>)
19
+ }
20
+ }
21
+ export function group<ApiGroup extends string>(apiGroup: ApiGroup) {
22
+ return new Gvk_Group(apiGroup)
23
+ }
@@ -0,0 +1,21 @@
1
+ import { Gvk_Base } from "./0-base"
2
+ import { group, Gvk_Group } from "./1-group"
3
+ import { Gvk } from "./3-gvk"
4
+ import type { GVK_sVersion } from "./strings"
5
+
6
+ export class Gvk_Version<Url extends string> extends Gvk_Base<Url> {
7
+ get parent() {
8
+ return new Gvk_Group(this.url.split("/")[0] as string)
9
+ }
10
+
11
+ get value(): Url extends `${string}/${infer V}` ? V : Url extends `v${string}` ? Url : never {
12
+ return this.url.split("/")[1] as any
13
+ }
14
+
15
+ kind<Kind extends string>(kind: Kind, customPlural?: string) {
16
+ return new Gvk(`${this.url}/${kind}` as `${Url}/${Kind}`, customPlural)
17
+ }
18
+ }
19
+ export function version<ApiVersion extends GVK_sVersion>(apiVersion: ApiVersion) {
20
+ return group("").version(apiVersion)
21
+ }
@@ -0,0 +1,56 @@
1
+ import { ResourceIdent, type ResourceIdent_Options } from "../ident"
2
+ import { Gvk_Base } from "./0-base"
3
+ import { Gvk_Version } from "./2=version"
4
+ import { Gvk_SubKind } from "./4-subkind"
5
+
6
+ export class Gvk<Url extends string = string> extends Gvk_Base<Url> {
7
+ constructor(
8
+ url: Url,
9
+ private _customPlural?: string
10
+ ) {
11
+ super(url)
12
+ }
13
+ get parent() {
14
+ const stringParts = this.url.split("/").slice(0, -1)
15
+ return new Gvk_Version<string>(stringParts.join("/") as string)
16
+ }
17
+
18
+ get plural() {
19
+ return this._customPlural ?? pluralize(this.value)
20
+ }
21
+
22
+ refKey<Name extends string>(options: ResourceIdent_Options<Name>) {
23
+ return new ResourceIdent<this, Name>(this as any, options)
24
+ }
25
+
26
+ get dns() {
27
+ const parents = this.parent.parts.map(x => x.value)
28
+ parents.push(this.plural)
29
+ return parents.join(".")
30
+ }
31
+
32
+ get value(): Url extends `${string}/${string}/${infer K}`
33
+ ? K
34
+ : Url extends `v${string}/${infer K}`
35
+ ? K
36
+ : never {
37
+ return this.url.split("/").at(-1) as any
38
+ }
39
+
40
+ subkind<SubKind extends string>(subKind: SubKind) {
41
+ return new Gvk_SubKind<`${Url}.${SubKind}`>(`${this.url}.${subKind}` as `${Url}.${SubKind}`)
42
+ }
43
+ }
44
+
45
+ export function pluralize(word: string): string {
46
+ if (["s", "sh", "ch", "x", "z", "ro"].some(suffix => word.endsWith(suffix))) {
47
+ return `${word}es`
48
+ }
49
+ if (["ay", "ey", "iy", "oy", "uy"].some(suffix => word.endsWith(suffix))) {
50
+ return `${word}s`
51
+ }
52
+ if (word.endsWith("y")) {
53
+ return `${word.slice(0, -1)}ies`
54
+ }
55
+ return `${word}s`
56
+ }
@@ -0,0 +1,19 @@
1
+ import { Gvk_Base } from "./0-base"
2
+ import { Gvk } from "./3-gvk"
3
+
4
+ export class Gvk_SubKind<Url extends string = string> extends Gvk_Base<Url> {
5
+ get parent() {
6
+ const [group, version, kind] = this.url.split("/")
7
+ return new Gvk<`${string}/${string}`>(
8
+ `${group}/${version}/${kind}` as `${string}/${string}`
9
+ )
10
+ }
11
+
12
+ get value(): Url extends `${string}.${infer Sk}` ? Sk : never {
13
+ return this.url.split("/").at(-1) as any
14
+ }
15
+
16
+ subkind<SubKind extends string>(subKind: SubKind) {
17
+ return new Gvk_SubKind<`${Url}.${SubKind}`>(`${this.url}.${subKind}` as `${Url}.${SubKind}`)
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./0-base"
2
+ export * from "./1-group"
3
+ export * from "./2=version"
4
+ export * from "./3-gvk"
5
+ export * from "./4-subkind"
@@ -0,0 +1,3 @@
1
+ export type GVK_sGreek = "alpha" | "beta"
2
+ export type GVK_sVersion_Trailer = `${GVK_sGreek}${number}`
3
+ export type GVK_sVersion = `v${number}${GVK_sVersion_Trailer | ""}`