@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,89 +1,88 @@
1
1
  import { doddlify, seq, type Seq } from "doddle"
2
- import type { AnyCtor } from "what-are-you"
3
- import { InstrumentsError } from "../../../../error"
4
2
 
5
- import { Ident, Ident_Kind } from "../../resource/api-kind"
6
- import { RefKey } from "../../resource/ref-key"
7
- import { Rsc_Ctor_Of } from "../../resource/reference"
3
+ import { K8tsGraphError } from "../../error"
4
+ import { Gvk, Gvk_Base } from "../../resource/gvk"
5
+ import { ResourceIdent } from "../../resource/ident"
6
+ import { ResourceRef_Constructor } from "../../resource/ref"
8
7
  const separator = "/"
9
- interface NodeEntry {
8
+ interface GvkClassDictEntry {
10
9
  kindName: string
11
- class: AnyCtor<any>
12
- ident: Ident_Kind
10
+ class: ResourceRef_Constructor
11
+ kind: Gvk
13
12
  }
14
- export type KindMapInput<Ks extends Rsc_Ctor_Of> = Ks[]
15
- type LookupKey = string | RefKey | AnyCtor<any> | Ident_Kind
16
- export class KindMap<Kinds extends Rsc_Ctor_Of = Rsc_Ctor_Of> {
13
+ export type GvkClassDict_Input<Ks extends ResourceRef_Constructor> = Ks[]
14
+ type LookupKey = string | ResourceIdent | ResourceRef_Constructor | Gvk
15
+ export class GvkClassDict<Kinds extends ResourceRef_Constructor = ResourceRef_Constructor> {
17
16
  __KINDS__!: Kinds["prototype"]["kind"]
18
- constructor(private _ownKinds: KindMapInput<Kinds>) {}
17
+ constructor(private _ownKinds: GvkClassDict_Input<Kinds>) {}
19
18
 
20
19
  [Symbol.iterator]() {
21
20
  return this._ownKinds[Symbol.iterator]()
22
21
  }
23
- child<Ks extends Rsc_Ctor_Of = Rsc_Ctor_Of>(
24
- kinds: KindMapInput<Ks> | KindMap<Ks>
25
- ): KindMap<Kinds | Ks> {
26
- const ownKinds = kinds instanceof KindMap ? kinds._ownKinds : kinds
27
- return new KindMap<Kinds | Ks>([...this._ownKinds, ...ownKinds])
22
+ child<Ks extends ResourceRef_Constructor = ResourceRef_Constructor>(
23
+ kinds: GvkClassDict_Input<Ks> | GvkClassDict<Ks>
24
+ ): GvkClassDict<Kinds | Ks> {
25
+ const ownKinds = kinds instanceof GvkClassDict ? kinds._ownKinds : kinds
26
+ return new GvkClassDict<Kinds | Ks>([...this._ownKinds, ...ownKinds])
28
27
  }
29
28
 
30
29
  @doddlify
31
- private get _entriesSeq(): Seq<NodeEntry> {
30
+ private get _entriesSeq(): Seq<GvkClassDictEntry> {
32
31
  return seq(this._ownKinds).map(klass => {
33
32
  const kind = klass.prototype.kind
34
- const entry: NodeEntry = {
35
- kindName: kind.name,
33
+ const entry: GvkClassDictEntry = {
34
+ kindName: kind.value,
36
35
  class: klass,
37
- ident: kind
36
+ kind: kind
38
37
  }
39
38
  return entry
40
39
  })
41
40
  }
42
41
  @doddlify
43
- private get _entriesMap(): Map<LookupKey, NodeEntry> {
42
+ private get _entriesMap(): Map<LookupKey, GvkClassDictEntry> {
44
43
  return seq(this._entriesSeq)
45
44
  .flatMap(entry => {
46
45
  return [
47
46
  [entry.kindName, entry],
48
47
  [entry.class, entry],
49
- [entry.ident.text, entry]
48
+ [entry.kind.url, entry]
50
49
  ] as const
51
50
  })
52
51
  .toMap(x => x)
53
52
  .pull()
54
53
  }
55
54
 
56
- parse(ref: string | RefKey<this["__KINDS__"]>): RefKey<this["__KINDS__"]> {
55
+ parse(ref: string | ResourceIdent<this["__KINDS__"]>): ResourceIdent<this["__KINDS__"]> {
57
56
  const result = this.tryParse(ref)
58
57
  if (!result) {
59
- throw new InstrumentsError(`Could not parse reference key: ${ref}`)
58
+ throw new K8tsGraphError(`Could not parse reference key: ${ref}`)
60
59
  }
61
60
  return result as any
62
61
  }
63
62
 
64
- tryParse(ref: unknown): RefKey<this["__KINDS__"]> | undefined {
63
+ tryParse(ref: unknown): ResourceIdent<this["__KINDS__"]> | undefined {
65
64
  if (typeof ref !== "string" && typeof ref !== "object") {
66
65
  return undefined
67
66
  }
68
67
  if (ref == null) {
69
68
  return undefined
70
69
  }
71
- if (ref instanceof RefKey) {
70
+ if (ref instanceof ResourceIdent) {
72
71
  return ref
73
72
  }
74
73
  if (typeof ref === "object") {
75
74
  return undefined
76
75
  }
77
- const [kind, name] = ref.split(separator).map(s => s.trim())
78
- if (!kind || !name) {
76
+ const [sKind, name] = ref.split(separator).map(s => s.trim())
77
+ if (!sKind || !name) {
79
78
  return undefined
80
79
  }
81
- const ident = this.tryGetKind(kind)
82
- if (!ident) {
80
+ const kind = this.tryGetKind(sKind)
81
+ if (!kind) {
83
82
  return undefined
84
83
  }
85
84
 
86
- return (ident as Ident_Kind).refKey({
85
+ return (kind as Gvk).refKey({
87
86
  name
88
87
  })
89
88
  }
@@ -96,35 +95,36 @@ export class KindMap<Kinds extends Rsc_Ctor_Of = Rsc_Ctor_Of> {
96
95
  }
97
96
 
98
97
  private _unknownNameError(kind: string) {
99
- return new InstrumentsError(`The shorthand name ${kind} is not registered`)
98
+ return new K8tsGraphError(`The shorthand name ${kind} is not registered`)
100
99
  }
101
- private _unknownIdentError(ident: Ident) {
102
- return new InstrumentsError(`The kind identifier ${ident} is not registered`)
100
+ private _unknownIdentError(kind: Gvk_Base) {
101
+ return new K8tsGraphError(`The kind identifier ${kind} is not registered`)
103
102
  }
104
103
  private _unknownClassError(klass: Function) {
105
- return new InstrumentsError(`The class ${klass.name} is not registered`)
104
+ return new K8tsGraphError(`The class ${klass.name} is not registered`)
106
105
  }
107
- private _convert(something: LookupKey | RefKey | Function | Ident_Kind) {
106
+ private _convert(something: LookupKey | ResourceIdent | Function | Gvk) {
108
107
  if (typeof something === "string") {
109
108
  if (something.includes("/")) {
110
- return this.parse(something).kind
109
+ const r = this.parse(something)
110
+ return r.kind.url
111
111
  }
112
112
  return something
113
113
  } else if (typeof something === "function") {
114
- return something as AnyCtor<any>
115
- } else if (something instanceof Ident) {
116
- return something.text
117
- } else if (something instanceof RefKey) {
118
- return something.kind.text
114
+ return something as ResourceRef_Constructor
115
+ } else if (something instanceof Gvk_Base) {
116
+ return something.url
117
+ } else if (something instanceof ResourceIdent) {
118
+ return something.kind.url
119
119
  }
120
- throw new InstrumentsError(`Invalid argument ${something}`)
120
+ throw new K8tsGraphError(`Invalid argument ${something}`)
121
121
  }
122
122
  private _getEntry(key: LookupKey) {
123
123
  const entry = this._tryGetEntry(key)
124
124
  if (!entry) {
125
125
  if (typeof key === "string") {
126
126
  throw this._unknownNameError(key)
127
- } else if (key instanceof Ident) {
127
+ } else if (key instanceof Gvk_Base) {
128
128
  throw this._unknownIdentError(key)
129
129
  } else if (typeof key === "function") {
130
130
  throw this._unknownClassError(key)
@@ -132,31 +132,31 @@ export class KindMap<Kinds extends Rsc_Ctor_Of = Rsc_Ctor_Of> {
132
132
  }
133
133
  return entry!
134
134
  }
135
- private _tryGetEntry(key: LookupKey): NodeEntry | undefined {
135
+ private _tryGetEntry(key: LookupKey): GvkClassDictEntry | undefined {
136
136
  const converted = this._convert(key)
137
137
  return this._entriesMap.get(converted)
138
138
  }
139
139
 
140
140
  tryGetKind(kindOrIdent: LookupKey): this["__KINDS__"] | undefined {
141
- return this._tryGetEntry(kindOrIdent)?.ident as this["__KINDS__"] | undefined
141
+ return this._tryGetEntry(kindOrIdent)?.kind as this["__KINDS__"] | undefined
142
142
  }
143
143
 
144
144
  getKind(kindOrClass: LookupKey): this["__KINDS__"] {
145
- return this._getEntry(kindOrClass).ident
145
+ return this._getEntry(kindOrClass).kind
146
146
  }
147
147
 
148
- tryGetClass(kindOrIdent: LookupKey): AnyCtor<any> | undefined {
149
- return this._tryGetEntry(kindOrIdent)?.class
148
+ tryGetClass(kind: LookupKey): ResourceRef_Constructor | undefined {
149
+ return this._tryGetEntry(kind)?.class
150
150
  }
151
151
 
152
- getClass(refKey: RefKey): AnyCtor<any>
153
- getClass<F extends AnyCtor<any>>(klass: F): F
154
- getClass(kind: string): AnyCtor<any>
155
- getClass(ident: Ident_Kind): AnyCtor<any>
156
- getClass<T extends AnyCtor<any> | string>(
152
+ getClass(refKey: ResourceIdent): ResourceRef_Constructor
153
+ getClass<F extends ResourceRef_Constructor>(klass: F): F
154
+ getClass(kind: string): ResourceRef_Constructor
155
+ getClass(kind: Gvk): ResourceRef_Constructor
156
+ getClass<T extends ResourceRef_Constructor | string>(
157
157
  kindOrClass: T
158
- ): T extends AnyCtor<any> ? string : AnyCtor<any>
159
- getClass(kindOrClass: LookupKey): AnyCtor<any> | string {
158
+ ): T extends ResourceRef_Constructor ? string : ResourceRef_Constructor
159
+ getClass(kindOrClass: LookupKey): ResourceRef_Constructor | string {
160
160
  return this._getEntry(kindOrClass).class
161
161
  }
162
162
 
@@ -0,0 +1,144 @@
1
+ import { Metadata } from "@k8ts/metadata"
2
+ import chalk from "chalk"
3
+ import { doddlify, seq } from "doddle"
4
+ import EventEmitter from "eventemitter3"
5
+ import { mapValues } from "lodash"
6
+ import { display } from "../../../utils/mixin/display"
7
+ import { EntityBase } from "../entity"
8
+ import type { ResourceRef } from "../resource/ref"
9
+ import { ResourceEntity } from "../resource/resource"
10
+ import { type OriginEventMap } from "./events"
11
+ import { GvkClassDict } from "./kind-map"
12
+ import { type Origin_Props } from "./props"
13
+ import type { OriginTracker_Binder } from "./tracker"
14
+ import { OriginContextTracker } from "./tracker"
15
+ import { OriginVertex } from "./vertex"
16
+
17
+ @display({
18
+ simple: x => `[${x.__vertex__.shortFqn}]`,
19
+ pretty(origin) {
20
+ const kindPart = chalk.greenBright.bold(origin.kind)
21
+ const originName = chalk.cyan(origin.name)
22
+ return `${kindPart}/${originName}`
23
+ }
24
+ })
25
+ export abstract class OriginEntity<Props extends Origin_Props = Origin_Props> extends EntityBase<
26
+ OriginVertex,
27
+ OriginEntity
28
+ > {
29
+ abstract get kind(): string
30
+ private _emitter = new EventEmitter<OriginEventMap>()
31
+ private readonly _ownResources: ResourceEntity[] = []
32
+ readonly metadata: Metadata
33
+ abstract namespace: string | undefined
34
+ private readonly _ownKids: OriginEntity[] = []
35
+ protected __kids__() {
36
+ return this._ownKids
37
+ }
38
+ get noEmit() {
39
+ return !!this._props.noEmit
40
+ }
41
+ set noEmit(value: boolean) {
42
+ this._props.noEmit = value
43
+ }
44
+ protected __attach_kid__(kid: OriginEntity): void {
45
+ this._ownKids.push(kid)
46
+ this.__emit__("origin/attached", {
47
+ origin: this,
48
+ child: kid
49
+ })
50
+ }
51
+ equals(other: any): boolean {
52
+ const ForwardExports = require("../resource/forward/exports").ForwardExports
53
+ if (!other) {
54
+ return false
55
+ }
56
+ if (ForwardExports.is(other)) {
57
+ return other.equals(this)
58
+ }
59
+ if (other instanceof OriginEntity) {
60
+ return Object.is(this, other)
61
+ }
62
+
63
+ return false
64
+ }
65
+ constructor(
66
+ readonly name: string,
67
+ protected readonly _props: Props
68
+ ) {
69
+ super()
70
+
71
+ this.metadata = new Metadata(_props.metadata ?? {})
72
+ }
73
+
74
+ get __vertex__(): OriginVertex {
75
+ return new OriginVertex(this)
76
+ }
77
+ on<EventKey extends keyof OriginEventMap>(
78
+ event: EventKey,
79
+ listener: (data: OriginEventMap[EventKey]) => void
80
+ ) {
81
+ this._emitter.on(event, listener as any)
82
+ }
83
+
84
+ onMany<EventKeys extends keyof OriginEventMap>(handlers: {
85
+ [K in EventKeys]: (data: OriginEventMap[K]) => void
86
+ }) {
87
+ for (const key of Object.keys(handlers) as EventKeys[]) {
88
+ this._emitter.on(key, handlers[key] as any)
89
+ }
90
+ }
91
+ protected __emit__<EventKey extends keyof OriginEventMap>(
92
+ event: EventKey,
93
+ data: OriginEventMap[EventKey]
94
+ ) {
95
+ const values = mapValues(data, v => `${v}`)
96
+
97
+ for (const target of [this.__vertex__, ...this.__vertex__.ancestors]) {
98
+ target.entity.cast(OriginEntity)._emitter.emit(event, data)
99
+ }
100
+ }
101
+ @doddlify
102
+ protected get __resource_kinds__(): GvkClassDict {
103
+ const parent = this.__parent__?.cast(OriginEntity)
104
+ const parentKindsIfAny = parent?.__resource_kinds__ ?? []
105
+ return new GvkClassDict([...(this._props.kinds ?? []), ...parentKindsIfAny])
106
+ }
107
+
108
+ protected __attach_resource__(resources: ResourceEntity | Iterable<ResourceEntity>) {
109
+ resources = Symbol.iterator in resources ? resources : [resources]
110
+ for (const resource of resources) {
111
+ this._ownResources.push(resource)
112
+ if ("metadata" in resource && resource.metadata instanceof Metadata) {
113
+ resource.metadata.add(this.__vertex__.inheritedMeta)
114
+ }
115
+ this.__emit__("resource/attached", {
116
+ origin: this,
117
+ resource
118
+ })
119
+ }
120
+ }
121
+ protected __bind__<F extends (...args: any[]) => any>(fn: F): F {
122
+ const bound = this.__binder__.bind(fn)
123
+ return bound as F
124
+ }
125
+
126
+ protected get __binder__(): OriginTracker_Binder {
127
+ const origin = this
128
+ return OriginContextTracker.binder(origin)
129
+ }
130
+
131
+ // We don't cache this because resources can be added dynamically
132
+ get resources(): Iterable<ResourceRef> {
133
+ const self = this
134
+ return seq(function* () {
135
+ for (const resource of self._ownResources) {
136
+ yield resource
137
+ }
138
+ for (const kid of self.__kids__()) {
139
+ const asOrigin = kid as OriginEntity
140
+ yield* asOrigin.resources
141
+ }
142
+ })
143
+ }
144
+ }
@@ -0,0 +1,11 @@
1
+ import type { Metadata_Input } from "@k8ts/metadata"
2
+ import type { ResourceRef_Constructor } from "../resource"
3
+ import type { GvkClassDict_Input } from "./kind-map"
4
+
5
+ export interface Origin_Props<
6
+ KindedCtors extends ResourceRef_Constructor = ResourceRef_Constructor
7
+ > {
8
+ noEmit?: boolean
9
+ metadata?: Metadata_Input
10
+ kinds?: GvkClassDict_Input<KindedCtors>
11
+ }
@@ -0,0 +1,36 @@
1
+ import { ResourceEntity, ResourceRef } from "../resource"
2
+ import { OriginEntity } from "./origin"
3
+ import type { Origin_Props } from "./props"
4
+ export interface TemplateOrigin_Props extends Origin_Props {
5
+ owner: ResourceEntity
6
+ }
7
+ export class TemplateOrigin extends OriginEntity<TemplateOrigin_Props> {
8
+ #_ = (() => {
9
+ this.on("resource/manifested", e => {
10
+ // Templated resources should never have a namespace when manifested
11
+ // But they still need to keep track of it internally for validation
12
+ if (e.manifest?.metadata?.namespace) {
13
+ delete e.manifest.metadata.namespace
14
+ }
15
+ })
16
+ this.noEmit = true
17
+ })()
18
+
19
+ get __parent__() {
20
+ return this.owner.cast(ResourceEntity)["__origin__"]
21
+ }
22
+ get namespace() {
23
+ return this.owner.ident.namespace
24
+ }
25
+ get kind() {
26
+ return "Template"
27
+ }
28
+ get owner() {
29
+ return this._props.owner
30
+ }
31
+
32
+ attach<T extends ResourceRef>(scope: () => T): T {
33
+ const bound = this.__bind__(scope)
34
+ return bound()
35
+ }
36
+ }
@@ -1,35 +1,24 @@
1
1
  import { AsyncLocalStorage } from "async_hooks"
2
2
  import { doddle, pull, type Doddle, type MaybeDoddle } from "doddle"
3
- import { isIterable, type AnyCtor } from "what-are-you"
4
- import { Origin_Entity } from "./entity"
3
+ import { isIterable } from "what-are-you"
4
+ import { OriginEntity } from "./origin"
5
5
 
6
- export interface OriginStackBinder {
6
+ export interface OriginTracker_Binder {
7
7
  run<T>(callback: () => T): T
8
8
  bind<F extends (...args: any[]) => any>(fn: F): F
9
9
  }
10
10
 
11
- export class _OriginContextTracker {
12
- private readonly _store: AsyncLocalStorage<Origin_Entity | undefined>
11
+ export class OriginTracker {
12
+ private readonly _store: AsyncLocalStorage<OriginEntity | undefined>
13
13
  constructor() {
14
- this._store = new AsyncLocalStorage<Origin_Entity | undefined>()
14
+ this._store = new AsyncLocalStorage<OriginEntity | undefined>()
15
15
  }
16
16
 
17
- get current(): Origin_Entity | undefined {
17
+ get current(): OriginEntity | undefined {
18
18
  return this._store.getStore()
19
19
  }
20
20
 
21
- firstOfType<X extends Origin_Entity>(t: AnyCtor<X>): X {
22
- let current = this._store.getStore()
23
- while (current) {
24
- if (current instanceof t) {
25
- return current
26
- }
27
- current = current["__parent__"]()?.assert(Origin_Entity)
28
- }
29
- throw new Error(`No origin of type ${t.name} found in the current origin stack`)
30
- }
31
-
32
- disposableOriginModifier(origin: Origin_Entity): Disposable {
21
+ disposableOriginModifier(origin: OriginEntity): Disposable {
33
22
  const curOrigin = this._store.getStore()
34
23
  this._store.enterWith(origin)
35
24
  return {
@@ -39,7 +28,7 @@ export class _OriginContextTracker {
39
28
  }
40
29
  }
41
30
 
42
- binder(origin: MaybeDoddle<Origin_Entity>): OriginStackBinder {
31
+ binder(origin: MaybeDoddle<OriginEntity>): OriginTracker_Binder {
43
32
  const runner = this
44
33
  return {
45
34
  run<T>(callback: () => T): T {
@@ -48,17 +37,17 @@ export class _OriginContextTracker {
48
37
  },
49
38
  bind<F extends (...args: any[]) => any>(fn: F): F {
50
39
  const boundOrigin = origin
51
- return runner._bind(boundOrigin as Doddle<Origin_Entity>, fn)
40
+ return runner._bind(boundOrigin as Doddle<OriginEntity>, fn)
52
41
  }
53
42
  }
54
43
  }
55
44
 
56
- private _run<T>(origin: Origin_Entity, callback: () => T): T {
45
+ private _run<T>(origin: OriginEntity, callback: () => T): T {
57
46
  return this._store.run(origin, callback)
58
47
  }
59
48
 
60
49
  private _bindIterator(
61
- boundOrigin: Doddle<Origin_Entity> | Origin_Entity,
50
+ boundOrigin: Doddle<OriginEntity> | OriginEntity,
62
51
  iterator: Iterator<any>
63
52
  ): Iterator<any> {
64
53
  const runner = this
@@ -86,7 +75,7 @@ export class _OriginContextTracker {
86
75
  }
87
76
 
88
77
  private _bindIterable<It extends Iterable<any>>(
89
- boundOrigin: Doddle<Origin_Entity> | Origin_Entity,
78
+ boundOrigin: Doddle<OriginEntity> | OriginEntity,
90
79
  iterable: It
91
80
  ) {
92
81
  const iterator = iterable[Symbol.iterator]()
@@ -99,7 +88,7 @@ export class _OriginContextTracker {
99
88
  return boundIterator
100
89
  }
101
90
 
102
- private _bind<F extends (...args: any[]) => any>(origin: Doddle<Origin_Entity>, fn: F): F {
91
+ private _bind<F extends (...args: any[]) => any>(origin: Doddle<OriginEntity>, fn: F): F {
103
92
  const self = this
104
93
  return function boundRunFunction(this: any, ...args: any[]) {
105
94
  const result = self._run(pull(origin), () => fn.apply(this, args))
@@ -111,4 +100,4 @@ export class _OriginContextTracker {
111
100
  }
112
101
  }
113
102
 
114
- export const OriginContextTracker = new _OriginContextTracker()
103
+ export const OriginContextTracker = new OriginTracker()
@@ -1,13 +1,12 @@
1
- import { Meta } from "@k8ts/metadata"
1
+ import { Metadata } from "@k8ts/metadata"
2
2
  import chalk from "chalk"
3
3
  import { seq, Seq } from "doddle"
4
- import { displayers } from "../../../utils/displayers"
5
- import { Node } from "../node"
6
- import type { Rsc_Ctor_Of, Rsc_Ref } from "../resource"
7
- import { Origin_Entity } from "./entity"
8
- import { type KindMapInput } from "./kind-map"
4
+ import { display } from "../../../utils/mixin/display"
5
+ import type { ResourceRef } from "../resource"
6
+ import { Vertex } from "../vertex"
7
+ import { OriginEntity } from "./origin"
9
8
 
10
- @displayers({
9
+ @display({
11
10
  simple: s => `[${s.shortFqn}]`,
12
11
  prefix: s => {
13
12
  return ""
@@ -20,12 +19,21 @@ import { type KindMapInput } from "./kind-map"
20
19
  return chalk.underline(`${pref}${kindName}:${resourceName}`)
21
20
  }
22
21
  })
23
- export class OriginNode extends Node<OriginNode, Origin_Entity> {
22
+ export class OriginVertex extends Vertex<OriginVertex, OriginEntity> {
24
23
  get kids() {
25
- return seq(this.entity["__kids__"]()).map(x => x.assert(Origin_Entity).node)
24
+ return seq(this.entity["__kids__"]()).map(x => x.cast(OriginEntity).__vertex__)
26
25
  }
27
- get meta() {
28
- return this.entity.meta
26
+ get noEmit() {
27
+ return this.entity.noEmit
28
+ }
29
+ get hasInheritedNoEmit() {
30
+ return this.noEmit || this.ancestors.some(x => x.noEmit).pull()
31
+ }
32
+ get name() {
33
+ return this.entity.name
34
+ }
35
+ get metadata() {
36
+ return this.entity.metadata
29
37
  }
30
38
  get kind() {
31
39
  return this.entity.kind
@@ -33,18 +41,18 @@ export class OriginNode extends Node<OriginNode, Origin_Entity> {
33
41
  get shortFqn() {
34
42
  return `${this.kind}/${this.name}`
35
43
  }
36
- get inheritedMeta(): Meta {
44
+ get inheritedMeta(): Metadata {
37
45
  const self = this
38
46
  return [this, ...this.ancestors]
39
- .map(x => x.meta.clone())
40
- .reduce((acc, meta) => acc.add(meta), Meta.make())
47
+ .map(x => x.metadata.clone())
48
+ .reduce((acc, meta) => acc.add(meta), new Metadata())
41
49
  }
42
- constructor(entity: Origin_Entity) {
50
+ constructor(entity: OriginEntity) {
43
51
  super(entity)
44
52
  }
45
53
 
46
54
  get resourceKinds() {
47
- return this.entity["__resource_kinds__"]()
55
+ return this.entity["__resource_kinds__"]
48
56
  }
49
57
 
50
58
  get relations() {
@@ -54,7 +62,7 @@ export class OriginNode extends Node<OriginNode, Origin_Entity> {
54
62
  get resources() {
55
63
  return this.entity.resources
56
64
  }
57
- readonly attachedTree: Seq<Rsc_Ref> = seq(() => {
65
+ readonly attachedTree: Seq<ResourceRef> = seq(() => {
58
66
  const self = this
59
67
  const desc = self.descendants
60
68
  .concatTo([this])
@@ -68,8 +76,3 @@ export class OriginNode extends Node<OriginNode, Origin_Entity> {
68
76
  return desc
69
77
  }).cache()
70
78
  }
71
-
72
- export interface Origin_Props<KindedCtors extends Rsc_Ctor_Of = Rsc_Ctor_Of> {
73
- meta?: Meta.Input
74
- kinds?: KindMapInput<KindedCtors>
75
- }
@@ -1,19 +1,17 @@
1
- import { pretty } from "../../utils/_string"
2
- import { displayers } from "../../utils/displayers"
3
- import type { Node } from "./node"
1
+ import { display } from "../../utils/mixin/display"
2
+ import { phrases } from "../../utils/phrase-renderer"
3
+ import type { Vertex } from "./vertex"
4
4
 
5
- @displayers({
5
+ @display({
6
6
  simple: s => [s.why, "-->", s.needed],
7
7
  pretty: (dep, format) => {
8
- const neededFmt = pretty`${["lowkey", dep.needed]}`
8
+ const neededFmt = phrases`${["lowkey", dep.needed]}`
9
9
  return [dep.why, neededFmt].join("➜ ")
10
10
  }
11
11
  })
12
- export class Relation<_Node extends Node<_Node>> {
12
+ export class Relation<_Node extends Vertex<_Node>> {
13
13
  constructor(
14
14
  readonly why: string,
15
- readonly needed: Node
16
- ) {
17
- const a = 1
18
- }
15
+ readonly needed: Vertex
16
+ ) {}
19
17
  }
@@ -0,0 +1,27 @@
1
+ import type { Metadata_Input } from "@k8ts/metadata"
2
+ import type { OriginEntity } from "../origin"
3
+
4
+ export type DeepPartial<T> = {
5
+ [P in keyof T]?: T[P] extends { kind: any }
6
+ ? T[P]
7
+ : T[P] extends object
8
+ ? DeepPartial<T[P]>
9
+ : T[P]
10
+ }
11
+
12
+ export interface ResourceTop_CreationOptions_Origins {
13
+ /** The Resource's Origin. */
14
+ own: OriginEntity
15
+ /** The Origin to be used by top resources created within a subscope of this Resource. */
16
+ subscope: OriginEntity
17
+ }
18
+ export interface ResourceTop_CreationOptions {
19
+ /** Specifies explicit Origins to use for this Resource. */
20
+ origins: ResourceTop_CreationOptions_Origins
21
+ }
22
+
23
+ export interface ResourceTop_CreationOptions_Input
24
+ extends DeepPartial<ResourceTop_CreationOptions> {
25
+ /** Extra metadata to apply to the Resource. */
26
+ metadata?: Metadata_Input
27
+ }
@@ -0,0 +1,13 @@
1
+ import { NullOrigin } from "../../origin/dummy"
2
+ import type { Gvk_Base } from "../gvk"
3
+ import { ResourceEntity } from "../resource"
4
+ export abstract class DummyResource<K extends Gvk_Base> extends ResourceEntity<string, any> {
5
+ get noEmit() {
6
+ return true
7
+ }
8
+ protected get __origin__() {
9
+ return NullOrigin.instance
10
+ }
11
+
12
+ abstract get kind(): K
13
+ }
@@ -0,0 +1,7 @@
1
+ export class K8tsProxyError extends Error {
2
+ name = "K8tsProxyError" as const
3
+ constructor(message: string, details: Record<string, any> = {}) {
4
+ super(message)
5
+ Object.assign(this, details)
6
+ }
7
+ }