@k8ts/instruments 0.5.3 → 0.6.2

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 (567) hide show
  1. package/dist/core/graph/entity.d.ts +13 -0
  2. package/dist/core/graph/entity.d.ts.map +1 -0
  3. package/dist/core/graph/entity.js +27 -0
  4. package/dist/core/graph/entity.js.map +1 -0
  5. package/dist/core/graph/index.d.ts +6 -0
  6. package/dist/core/graph/index.d.ts.map +1 -0
  7. package/dist/core/graph/index.js +26 -0
  8. package/dist/core/graph/index.js.map +1 -0
  9. package/dist/core/graph/node.d.ts +24 -0
  10. package/dist/core/graph/node.d.ts.map +1 -0
  11. package/dist/core/graph/node.js +131 -0
  12. package/dist/core/graph/node.js.map +1 -0
  13. package/dist/core/graph/origin/entity.d.ts +32 -0
  14. package/dist/core/graph/origin/entity.d.ts.map +1 -0
  15. package/dist/core/graph/origin/entity.js +149 -0
  16. package/dist/core/graph/origin/entity.js.map +1 -0
  17. package/dist/core/graph/origin/events.d.ts +41 -0
  18. package/dist/core/graph/origin/events.d.ts.map +1 -0
  19. package/dist/core/graph/origin/events.js +46 -0
  20. package/dist/core/graph/origin/events.js.map +1 -0
  21. package/dist/core/graph/origin/exporter.d.ts +13 -0
  22. package/dist/core/graph/origin/exporter.d.ts.map +1 -0
  23. package/dist/core/graph/origin/exporter.js +94 -0
  24. package/dist/core/graph/origin/exporter.js.map +1 -0
  25. package/dist/core/graph/origin/index.d.ts +7 -0
  26. package/dist/core/graph/origin/index.d.ts.map +1 -0
  27. package/dist/core/graph/origin/index.js +23 -0
  28. package/dist/core/graph/origin/index.js.map +1 -0
  29. package/dist/core/graph/origin/kind-map/index.d.ts +36 -0
  30. package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -0
  31. package/dist/core/graph/origin/kind-map/index.js +195 -0
  32. package/dist/core/graph/origin/kind-map/index.js.map +1 -0
  33. package/dist/core/graph/origin/node.d.ts +23 -0
  34. package/dist/core/graph/origin/node.d.ts.map +1 -0
  35. package/dist/{graph/origin-node.js → core/graph/origin/node.js} +33 -78
  36. package/dist/core/graph/origin/node.js.map +1 -0
  37. package/dist/core/graph/origin/origin-events.d.ts +41 -0
  38. package/dist/core/graph/origin/origin-events.d.ts.map +1 -0
  39. package/dist/core/graph/origin/origin-events.js +46 -0
  40. package/dist/core/graph/origin/origin-events.js.map +1 -0
  41. package/dist/core/graph/origin/tracker.d.ts +19 -0
  42. package/dist/core/graph/origin/tracker.d.ts.map +1 -0
  43. package/dist/core/graph/origin/tracker.js +87 -0
  44. package/dist/core/graph/origin/tracker.js.map +1 -0
  45. package/dist/core/graph/relation.d.ts +7 -0
  46. package/dist/core/graph/relation.d.ts.map +1 -0
  47. package/dist/{graph/dependencies.js → core/graph/relation.js} +3 -13
  48. package/dist/core/graph/relation.js.map +1 -0
  49. package/dist/core/graph/resource/api-kind/index.d.ts +57 -0
  50. package/dist/core/graph/resource/api-kind/index.d.ts.map +1 -0
  51. package/dist/{api-kind → core/graph/resource/api-kind}/index.js +35 -15
  52. package/dist/core/graph/resource/api-kind/index.js.map +1 -0
  53. package/dist/core/graph/resource/api-kind/pluralize.d.ts +19 -0
  54. package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +1 -0
  55. package/dist/core/graph/resource/api-kind/pluralize.js +13 -0
  56. package/dist/core/graph/resource/api-kind/pluralize.js.map +1 -0
  57. package/dist/core/graph/resource/child.d.ts +10 -0
  58. package/dist/core/graph/resource/child.d.ts.map +1 -0
  59. package/dist/core/graph/resource/child.js +22 -0
  60. package/dist/core/graph/resource/child.js.map +1 -0
  61. package/dist/core/graph/resource/entity.d.ts +21 -0
  62. package/dist/core/graph/resource/entity.d.ts.map +1 -0
  63. package/dist/{graph/base-origin-entity.js → core/graph/resource/entity.js} +37 -34
  64. package/dist/core/graph/resource/entity.js.map +1 -0
  65. package/dist/core/graph/resource/index.d.ts +8 -0
  66. package/dist/core/graph/resource/index.d.ts.map +1 -0
  67. package/dist/core/graph/resource/index.js +24 -0
  68. package/dist/core/graph/resource/index.js.map +1 -0
  69. package/dist/core/graph/resource/node.d.ts +29 -0
  70. package/dist/core/graph/resource/node.d.ts.map +1 -0
  71. package/dist/{graph/resource-node.js → core/graph/resource/node.js} +23 -31
  72. package/dist/core/graph/resource/node.js.map +1 -0
  73. package/dist/core/graph/resource/ref-key/index.d.ts.map +1 -0
  74. package/dist/core/graph/resource/ref-key/index.js.map +1 -0
  75. package/dist/core/graph/resource/ref-key/ref-key.d.ts +18 -0
  76. package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +1 -0
  77. package/dist/core/graph/resource/ref-key/ref-key.js +58 -0
  78. package/dist/core/graph/resource/ref-key/ref-key.js.map +1 -0
  79. package/dist/core/graph/resource/reference/error.d.ts +5 -0
  80. package/dist/core/graph/resource/reference/error.d.ts.map +1 -0
  81. package/dist/core/graph/resource/reference/error.js +11 -0
  82. package/dist/core/graph/resource/reference/error.js.map +1 -0
  83. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +15 -0
  84. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +1 -0
  85. package/dist/core/graph/resource/reference/fw-ref-exports.js +133 -0
  86. package/dist/core/graph/resource/reference/fw-ref-exports.js.map +1 -0
  87. package/dist/core/graph/resource/reference/fw-ref.d.ts +25 -0
  88. package/dist/core/graph/resource/reference/fw-ref.d.ts.map +1 -0
  89. package/dist/core/graph/resource/reference/fw-ref.js +105 -0
  90. package/dist/core/graph/resource/reference/fw-ref.js.map +1 -0
  91. package/dist/core/graph/resource/reference/index.d.ts +4 -0
  92. package/dist/core/graph/resource/reference/index.d.ts.map +1 -0
  93. package/dist/core/graph/resource/reference/index.js +8 -0
  94. package/dist/core/graph/resource/reference/index.js.map +1 -0
  95. package/dist/core/graph/resource/reference/refable.d.ts +17 -0
  96. package/dist/core/graph/resource/reference/refable.d.ts.map +1 -0
  97. package/dist/core/graph/resource/reference/refable.js.map +1 -0
  98. package/dist/core/graph/resource/top.d.ts +18 -0
  99. package/dist/core/graph/resource/top.d.ts.map +1 -0
  100. package/dist/core/graph/resource/top.js +59 -0
  101. package/dist/core/graph/resource/top.js.map +1 -0
  102. package/dist/core/index.d.ts +5 -0
  103. package/dist/core/index.d.ts.map +1 -0
  104. package/dist/core/index.js +21 -0
  105. package/dist/core/index.js.map +1 -0
  106. package/dist/core/manifest/index.d.ts +31 -0
  107. package/dist/core/manifest/index.d.ts.map +1 -0
  108. package/dist/core/manifest/index.js +6 -0
  109. package/dist/core/manifest/index.js.map +1 -0
  110. package/dist/{tracing → core/tracing}/git.d.ts +2 -1
  111. package/dist/core/tracing/git.d.ts.map +1 -0
  112. package/dist/{tracing → core/tracing}/git.js +20 -3
  113. package/dist/core/tracing/git.js.map +1 -0
  114. package/dist/core/tracing/index.d.ts.map +1 -0
  115. package/dist/core/tracing/index.js.map +1 -0
  116. package/dist/core/tracing/trace.d.ts.map +1 -0
  117. package/dist/core/tracing/trace.js.map +1 -0
  118. package/dist/{tracing → core/tracing}/traced.d.ts +1 -1
  119. package/dist/core/tracing/traced.d.ts.map +1 -0
  120. package/dist/core/tracing/traced.js +6 -0
  121. package/dist/core/tracing/traced.js.map +1 -0
  122. package/dist/error.d.ts +0 -3
  123. package/dist/error.d.ts.map +1 -1
  124. package/dist/error.js +1 -7
  125. package/dist/error.js.map +1 -1
  126. package/dist/{data-sources → expressions/data-sources}/index.d.ts +8 -9
  127. package/dist/expressions/data-sources/index.d.ts.map +1 -0
  128. package/dist/{data-sources → expressions/data-sources}/index.js +52 -34
  129. package/dist/expressions/data-sources/index.js.map +1 -0
  130. package/dist/expressions/index.d.ts +6 -0
  131. package/dist/expressions/index.d.ts.map +1 -0
  132. package/dist/{manifest → expressions}/index.js +5 -4
  133. package/dist/expressions/index.js.map +1 -0
  134. package/dist/expressions/network/index.d.ts +2 -0
  135. package/dist/expressions/network/index.d.ts.map +1 -0
  136. package/dist/{producer → expressions/network}/index.js +1 -1
  137. package/dist/expressions/network/index.js.map +1 -0
  138. package/dist/expressions/network/ip/index.d.ts.map +1 -0
  139. package/dist/expressions/network/ip/index.js.map +1 -0
  140. package/dist/expressions/network/ports/error.d.ts.map +1 -0
  141. package/dist/expressions/network/ports/error.js.map +1 -0
  142. package/dist/{ports → expressions/network/ports}/index.d.ts +1 -1
  143. package/dist/expressions/network/ports/index.d.ts.map +1 -0
  144. package/dist/expressions/network/ports/index.js.map +1 -0
  145. package/dist/{ports → expressions/network/ports}/map.d.ts +0 -1
  146. package/dist/expressions/network/ports/map.d.ts.map +1 -0
  147. package/dist/{ports → expressions/network/ports}/map.js +3 -2
  148. package/dist/expressions/network/ports/map.js.map +1 -0
  149. package/dist/{ports → expressions/network/ports}/set.d.ts +0 -1
  150. package/dist/expressions/network/ports/set.d.ts.map +1 -0
  151. package/dist/{ports → expressions/network/ports}/set.js +8 -7
  152. package/dist/expressions/network/ports/set.js.map +1 -0
  153. package/dist/{ports → expressions/network/ports}/tools/entry.d.ts +0 -1
  154. package/dist/expressions/network/ports/tools/entry.d.ts.map +1 -0
  155. package/dist/{ports → expressions/network/ports}/tools/entry.js +7 -5
  156. package/dist/expressions/network/ports/tools/entry.js.map +1 -0
  157. package/dist/expressions/network/ports/tools/parse.d.ts.map +1 -0
  158. package/dist/expressions/network/ports/tools/parse.js.map +1 -0
  159. package/dist/{ports → expressions/network/ports}/types.d.ts +1 -1
  160. package/dist/expressions/network/ports/types.d.ts.map +1 -0
  161. package/dist/expressions/network/ports/types.js.map +1 -0
  162. package/dist/expressions/quantities/index.d.ts +3 -0
  163. package/dist/expressions/quantities/index.d.ts.map +1 -0
  164. package/dist/{forward-exports → expressions/quantities}/index.js +2 -1
  165. package/dist/expressions/quantities/index.js.map +1 -0
  166. package/dist/expressions/quantities/reqlem/index.d.ts.map +1 -0
  167. package/dist/expressions/quantities/reqlem/index.js.map +1 -0
  168. package/dist/expressions/quantities/reqlem/objects.d.ts +24 -0
  169. package/dist/expressions/quantities/reqlem/objects.d.ts.map +1 -0
  170. package/dist/expressions/quantities/reqlem/objects.js +103 -0
  171. package/dist/expressions/quantities/reqlem/objects.js.map +1 -0
  172. package/dist/expressions/quantities/reqlem/parser.d.ts.map +1 -0
  173. package/dist/expressions/quantities/reqlem/parser.js.map +1 -0
  174. package/dist/expressions/quantities/reqlem/types.d.ts +23 -0
  175. package/dist/expressions/quantities/reqlem/types.d.ts.map +1 -0
  176. package/dist/expressions/quantities/reqlem/types.js.map +1 -0
  177. package/dist/expressions/quantities/units/index.d.ts.map +1 -0
  178. package/dist/expressions/quantities/units/index.js.map +1 -0
  179. package/dist/expressions/quantities/units/unit-parser.d.ts +29 -0
  180. package/dist/expressions/quantities/units/unit-parser.d.ts.map +1 -0
  181. package/dist/{units → expressions/quantities/units}/unit-parser.js +43 -16
  182. package/dist/expressions/quantities/units/unit-parser.js.map +1 -0
  183. package/dist/{units → expressions/quantities/units}/units.d.ts +4 -4
  184. package/dist/expressions/quantities/units/units.d.ts.map +1 -0
  185. package/dist/{units → expressions/quantities/units}/units.js +3 -4
  186. package/dist/expressions/quantities/units/units.js.map +1 -0
  187. package/dist/expressions/timezone.d.ts.map +1 -0
  188. package/dist/{timezone.js.map → expressions/timezone.js.map} +1 -1
  189. package/dist/expressions/workload/_user/index.d.ts.map +1 -0
  190. package/dist/expressions/workload/_user/index.js.map +1 -0
  191. package/dist/{cmd → expressions/workload/cmd}/cli-command.d.ts +7 -8
  192. package/dist/expressions/workload/cmd/cli-command.d.ts.map +1 -0
  193. package/dist/{cmd → expressions/workload/cmd}/cli-command.js +15 -11
  194. package/dist/expressions/workload/cmd/cli-command.js.map +1 -0
  195. package/dist/{cmd → expressions/workload/cmd}/cli-term.d.ts +7 -7
  196. package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -0
  197. package/dist/{cmd → expressions/workload/cmd}/cli-term.js +12 -12
  198. package/dist/expressions/workload/cmd/cli-term.js.map +1 -0
  199. package/dist/expressions/workload/cmd/index.d.ts +3 -0
  200. package/dist/expressions/workload/cmd/index.d.ts.map +1 -0
  201. package/dist/expressions/workload/cmd/index.js.map +1 -0
  202. package/dist/expressions/workload/cmd/types.d.ts +5 -0
  203. package/dist/expressions/workload/cmd/types.d.ts.map +1 -0
  204. package/dist/expressions/workload/cmd/types.js.map +1 -0
  205. package/dist/expressions/workload/cronjob/index.d.ts.map +1 -0
  206. package/dist/{_cronjob → expressions/workload/cronjob}/index.js +1 -1
  207. package/dist/expressions/workload/cronjob/index.js.map +1 -0
  208. package/dist/expressions/workload/cronjob/types.d.ts.map +1 -0
  209. package/dist/expressions/workload/cronjob/types.js.map +1 -0
  210. package/dist/expressions/workload/image/family.d.ts.map +1 -0
  211. package/dist/{image → expressions/workload/image}/family.js +1 -1
  212. package/dist/expressions/workload/image/family.js.map +1 -0
  213. package/dist/expressions/workload/image/index.d.ts.map +1 -0
  214. package/dist/expressions/workload/image/index.js.map +1 -0
  215. package/dist/expressions/workload/index.d.ts +5 -0
  216. package/dist/expressions/workload/index.d.ts.map +1 -0
  217. package/dist/expressions/workload/index.js +21 -0
  218. package/dist/expressions/workload/index.js.map +1 -0
  219. package/dist/index.d.ts +4 -21
  220. package/dist/index.d.ts.map +1 -1
  221. package/dist/index.js +4 -21
  222. package/dist/index.js.map +1 -1
  223. package/dist/utils/_string/index.d.ts.map +1 -0
  224. package/dist/utils/_string/index.js.map +1 -0
  225. package/dist/utils/_string/markers.d.ts.map +1 -0
  226. package/dist/utils/_string/markers.js.map +1 -0
  227. package/dist/utils/_string/post-processor.d.ts.map +1 -0
  228. package/dist/utils/_string/post-processor.js.map +1 -0
  229. package/dist/utils/_string/pretty-objects.d.ts.map +1 -0
  230. package/dist/utils/_string/pretty-objects.js.map +1 -0
  231. package/dist/utils/_string/pretty-print.d.ts.map +1 -0
  232. package/dist/utils/_string/pretty-print.js.map +1 -0
  233. package/dist/utils/_string/super-script.d.ts.map +1 -0
  234. package/dist/utils/_string/super-script.js.map +1 -0
  235. package/dist/utils/bind.d.ts +3 -0
  236. package/dist/utils/bind.d.ts.map +1 -0
  237. package/dist/{displayers → utils}/bind.js +2 -3
  238. package/dist/utils/bind.js.map +1 -0
  239. package/dist/{displayers → utils/displayers}/displayers.d.ts +2 -10
  240. package/dist/utils/displayers/displayers.d.ts.map +1 -0
  241. package/dist/{displayers → utils/displayers}/displayers.js +27 -8
  242. package/dist/utils/displayers/displayers.js.map +1 -0
  243. package/dist/utils/displayers/index.d.ts.map +1 -0
  244. package/dist/utils/displayers/index.js.map +1 -0
  245. package/dist/{_embedder → utils/embedder}/base.d.ts +2 -1
  246. package/dist/utils/embedder/base.d.ts.map +1 -0
  247. package/dist/{_embedder → utils/embedder}/base.js +8 -4
  248. package/dist/utils/embedder/base.js.map +1 -0
  249. package/dist/utils/embedder/index.d.ts.map +1 -0
  250. package/dist/utils/embedder/index.js.map +1 -0
  251. package/dist/utils/index.d.ts +5 -0
  252. package/dist/utils/index.d.ts.map +1 -0
  253. package/dist/utils/index.js +21 -0
  254. package/dist/utils/index.js.map +1 -0
  255. package/package.json +16 -16
  256. package/src/core/graph/entity.ts +35 -0
  257. package/src/core/graph/index.ts +5 -0
  258. package/src/core/graph/node.ts +139 -0
  259. package/src/core/graph/origin/entity.ts +118 -0
  260. package/src/core/graph/origin/events.ts +86 -0
  261. package/src/core/graph/origin/exporter.ts +62 -0
  262. package/src/core/graph/origin/index.ts +6 -0
  263. package/src/core/graph/origin/kind-map/index.ts +171 -0
  264. package/src/core/graph/origin/node.ts +75 -0
  265. package/src/core/graph/origin/origin-events.ts +86 -0
  266. package/src/core/graph/origin/tracker.ts +103 -0
  267. package/src/core/graph/relation.ts +17 -0
  268. package/src/core/graph/resource/api-kind/index.ts +176 -0
  269. package/src/core/graph/resource/api-kind/pluralize.ts +32 -0
  270. package/src/core/graph/resource/child.ts +26 -0
  271. package/src/core/graph/resource/entity.ts +58 -0
  272. package/src/core/graph/resource/index.ts +7 -0
  273. package/src/{graph/resource-node.ts → core/graph/resource/node.ts} +28 -40
  274. package/src/core/graph/resource/ref-key/ref-key.ts +62 -0
  275. package/src/core/graph/resource/reference/error.ts +7 -0
  276. package/src/core/graph/resource/reference/fw-ref-exports.ts +164 -0
  277. package/src/core/graph/resource/reference/fw-ref.ts +122 -0
  278. package/src/core/graph/resource/reference/index.ts +8 -0
  279. package/src/core/graph/resource/reference/refable.ts +24 -0
  280. package/src/core/graph/resource/top.ts +69 -0
  281. package/src/core/index.ts +4 -0
  282. package/src/{manifest → core/manifest}/index.ts +7 -22
  283. package/src/{tracing → core/tracing}/git.ts +20 -3
  284. package/src/{tracing → core/tracing}/traced.ts +1 -1
  285. package/src/error.ts +0 -6
  286. package/src/expressions/data-sources/index.ts +147 -0
  287. package/src/expressions/index.ts +5 -0
  288. package/src/expressions/network/index.ts +1 -0
  289. package/src/{ports → expressions/network/ports}/index.ts +1 -1
  290. package/src/{ports → expressions/network/ports}/map.ts +3 -3
  291. package/src/{ports → expressions/network/ports}/set.ts +8 -7
  292. package/src/{ports → expressions/network/ports}/tools/entry.ts +6 -4
  293. package/src/{ports → expressions/network/ports}/types.ts +1 -1
  294. package/src/expressions/quantities/index.ts +2 -0
  295. package/src/expressions/quantities/reqlem/objects.ts +107 -0
  296. package/src/expressions/quantities/reqlem/types.ts +28 -0
  297. package/src/expressions/quantities/units/unit-parser.ts +93 -0
  298. package/src/{units → expressions/quantities/units}/units.ts +4 -5
  299. package/src/{cmd → expressions/workload/cmd}/cli-command.ts +35 -31
  300. package/src/{cmd → expressions/workload/cmd}/cli-term.ts +9 -9
  301. package/src/expressions/workload/cmd/index.ts +2 -0
  302. package/src/expressions/workload/cmd/types.ts +4 -0
  303. package/src/{_cronjob → expressions/workload/cronjob}/index.ts +1 -1
  304. package/src/{image → expressions/workload/image}/family.ts +1 -1
  305. package/src/expressions/workload/index.ts +4 -0
  306. package/src/index.ts +5 -21
  307. package/src/{displayers → utils}/bind.ts +4 -4
  308. package/src/{displayers → utils/displayers}/displayers.ts +28 -20
  309. package/src/{_embedder → utils/embedder}/base.ts +9 -5
  310. package/src/utils/index.ts +4 -0
  311. package/dist/_cronjob/index.d.ts.map +0 -1
  312. package/dist/_cronjob/index.js.map +0 -1
  313. package/dist/_cronjob/types.d.ts.map +0 -1
  314. package/dist/_cronjob/types.js.map +0 -1
  315. package/dist/_embedder/base.d.ts.map +0 -1
  316. package/dist/_embedder/base.js.map +0 -1
  317. package/dist/_embedder/index.d.ts.map +0 -1
  318. package/dist/_embedder/index.js.map +0 -1
  319. package/dist/_ip/index.d.ts.map +0 -1
  320. package/dist/_ip/index.js.map +0 -1
  321. package/dist/_string/index.d.ts.map +0 -1
  322. package/dist/_string/index.js.map +0 -1
  323. package/dist/_string/markers.d.ts.map +0 -1
  324. package/dist/_string/markers.js.map +0 -1
  325. package/dist/_string/post-processor.d.ts.map +0 -1
  326. package/dist/_string/post-processor.js.map +0 -1
  327. package/dist/_string/pretty-objects.d.ts.map +0 -1
  328. package/dist/_string/pretty-objects.js.map +0 -1
  329. package/dist/_string/pretty-print.d.ts.map +0 -1
  330. package/dist/_string/pretty-print.js.map +0 -1
  331. package/dist/_string/super-script.d.ts.map +0 -1
  332. package/dist/_string/super-script.js.map +0 -1
  333. package/dist/_user/index.d.ts.map +0 -1
  334. package/dist/_user/index.js.map +0 -1
  335. package/dist/api-kind/index.d.ts +0 -45
  336. package/dist/api-kind/index.d.ts.map +0 -1
  337. package/dist/api-kind/index.js.map +0 -1
  338. package/dist/cmd/cli-command.d.ts.map +0 -1
  339. package/dist/cmd/cli-command.js.map +0 -1
  340. package/dist/cmd/cli-term.d.ts.map +0 -1
  341. package/dist/cmd/cli-term.js.map +0 -1
  342. package/dist/cmd/index.d.ts +0 -3
  343. package/dist/cmd/index.d.ts.map +0 -1
  344. package/dist/cmd/index.js.map +0 -1
  345. package/dist/cmd/types.d.ts +0 -5
  346. package/dist/cmd/types.d.ts.map +0 -1
  347. package/dist/cmd/types.js.map +0 -1
  348. package/dist/data-sources/index.d.ts.map +0 -1
  349. package/dist/data-sources/index.js.map +0 -1
  350. package/dist/displayers/bind.d.ts +0 -4
  351. package/dist/displayers/bind.d.ts.map +0 -1
  352. package/dist/displayers/bind.js.map +0 -1
  353. package/dist/displayers/displayers.d.ts.map +0 -1
  354. package/dist/displayers/displayers.js.map +0 -1
  355. package/dist/displayers/index.d.ts.map +0 -1
  356. package/dist/displayers/index.js.map +0 -1
  357. package/dist/forward-exports/delayed-exports.d.ts +0 -18
  358. package/dist/forward-exports/delayed-exports.d.ts.map +0 -1
  359. package/dist/forward-exports/delayed-exports.js +0 -115
  360. package/dist/forward-exports/delayed-exports.js.map +0 -1
  361. package/dist/forward-exports/index.d.ts +0 -2
  362. package/dist/forward-exports/index.d.ts.map +0 -1
  363. package/dist/forward-exports/index.js.map +0 -1
  364. package/dist/graph/base-node.d.ts +0 -35
  365. package/dist/graph/base-node.d.ts.map +0 -1
  366. package/dist/graph/base-node.js +0 -112
  367. package/dist/graph/base-node.js.map +0 -1
  368. package/dist/graph/base-origin-entity.d.ts +0 -19
  369. package/dist/graph/base-origin-entity.d.ts.map +0 -1
  370. package/dist/graph/base-origin-entity.js.map +0 -1
  371. package/dist/graph/dependencies.d.ts +0 -12
  372. package/dist/graph/dependencies.d.ts.map +0 -1
  373. package/dist/graph/dependencies.js.map +0 -1
  374. package/dist/graph/index.d.ts +0 -7
  375. package/dist/graph/index.d.ts.map +0 -1
  376. package/dist/graph/index.js +0 -23
  377. package/dist/graph/index.js.map +0 -1
  378. package/dist/graph/origin-node.d.ts +0 -32
  379. package/dist/graph/origin-node.d.ts.map +0 -1
  380. package/dist/graph/origin-node.js.map +0 -1
  381. package/dist/graph/relations.d.ts +0 -26
  382. package/dist/graph/relations.d.ts.map +0 -1
  383. package/dist/graph/relations.js +0 -36
  384. package/dist/graph/relations.js.map +0 -1
  385. package/dist/graph/resource-node.d.ts +0 -35
  386. package/dist/graph/resource-node.d.ts.map +0 -1
  387. package/dist/graph/resource-node.js.map +0 -1
  388. package/dist/image/family.d.ts.map +0 -1
  389. package/dist/image/family.js.map +0 -1
  390. package/dist/image/index.d.ts.map +0 -1
  391. package/dist/image/index.js.map +0 -1
  392. package/dist/kind-map/index.d.ts +0 -44
  393. package/dist/kind-map/index.d.ts.map +0 -1
  394. package/dist/kind-map/index.js +0 -125
  395. package/dist/kind-map/index.js.map +0 -1
  396. package/dist/manifest/index.d.ts +0 -46
  397. package/dist/manifest/index.d.ts.map +0 -1
  398. package/dist/manifest/index.js.map +0 -1
  399. package/dist/manifest/manifest-builder.d.ts +0 -41
  400. package/dist/manifest/manifest-builder.d.ts.map +0 -1
  401. package/dist/manifest/manifest-builder.js +0 -64
  402. package/dist/manifest/manifest-builder.js.map +0 -1
  403. package/dist/ports/error.d.ts.map +0 -1
  404. package/dist/ports/error.js.map +0 -1
  405. package/dist/ports/index.d.ts.map +0 -1
  406. package/dist/ports/index.js.map +0 -1
  407. package/dist/ports/map.d.ts.map +0 -1
  408. package/dist/ports/map.js.map +0 -1
  409. package/dist/ports/set.d.ts.map +0 -1
  410. package/dist/ports/set.js.map +0 -1
  411. package/dist/ports/tools/entry.d.ts.map +0 -1
  412. package/dist/ports/tools/entry.js.map +0 -1
  413. package/dist/ports/tools/parse.d.ts.map +0 -1
  414. package/dist/ports/tools/parse.js.map +0 -1
  415. package/dist/ports/types.d.ts.map +0 -1
  416. package/dist/ports/types.js.map +0 -1
  417. package/dist/producer/index.d.ts +0 -2
  418. package/dist/producer/index.d.ts.map +0 -1
  419. package/dist/producer/index.js.map +0 -1
  420. package/dist/producer/producer.d.ts +0 -6
  421. package/dist/producer/producer.d.ts.map +0 -1
  422. package/dist/producer/producer.js +0 -13
  423. package/dist/producer/producer.js.map +0 -1
  424. package/dist/ref-key/index.d.ts.map +0 -1
  425. package/dist/ref-key/index.js.map +0 -1
  426. package/dist/ref-key/ref-key.d.ts +0 -23
  427. package/dist/ref-key/ref-key.d.ts.map +0 -1
  428. package/dist/ref-key/ref-key.js +0 -69
  429. package/dist/ref-key/ref-key.js.map +0 -1
  430. package/dist/reference/forward-ref.d.ts +0 -22
  431. package/dist/reference/forward-ref.d.ts.map +0 -1
  432. package/dist/reference/forward-ref.js +0 -113
  433. package/dist/reference/forward-ref.js.map +0 -1
  434. package/dist/reference/index.d.ts +0 -4
  435. package/dist/reference/index.d.ts.map +0 -1
  436. package/dist/reference/index.js +0 -8
  437. package/dist/reference/index.js.map +0 -1
  438. package/dist/reference/refable.d.ts +0 -9
  439. package/dist/reference/refable.d.ts.map +0 -1
  440. package/dist/reference/refable.js.map +0 -1
  441. package/dist/resources/index.d.ts.map +0 -1
  442. package/dist/resources/index.js.map +0 -1
  443. package/dist/resources/objects.d.ts +0 -22
  444. package/dist/resources/objects.d.ts.map +0 -1
  445. package/dist/resources/objects.js +0 -97
  446. package/dist/resources/objects.js.map +0 -1
  447. package/dist/resources/parser.d.ts.map +0 -1
  448. package/dist/resources/parser.js.map +0 -1
  449. package/dist/resources/types.d.ts +0 -21
  450. package/dist/resources/types.d.ts.map +0 -1
  451. package/dist/resources/types.js.map +0 -1
  452. package/dist/timezone.d.ts.map +0 -1
  453. package/dist/tracing/git.d.ts.map +0 -1
  454. package/dist/tracing/git.js.map +0 -1
  455. package/dist/tracing/index.d.ts.map +0 -1
  456. package/dist/tracing/index.js.map +0 -1
  457. package/dist/tracing/trace.d.ts.map +0 -1
  458. package/dist/tracing/trace.js.map +0 -1
  459. package/dist/tracing/traced.d.ts.map +0 -1
  460. package/dist/tracing/traced.js +0 -6
  461. package/dist/tracing/traced.js.map +0 -1
  462. package/dist/types.d.ts +0 -7
  463. package/dist/types.d.ts.map +0 -1
  464. package/dist/types.js +0 -3
  465. package/dist/types.js.map +0 -1
  466. package/dist/units/index.d.ts.map +0 -1
  467. package/dist/units/index.js.map +0 -1
  468. package/dist/units/unit-parser.d.ts +0 -19
  469. package/dist/units/unit-parser.d.ts.map +0 -1
  470. package/dist/units/unit-parser.js.map +0 -1
  471. package/dist/units/units.d.ts.map +0 -1
  472. package/dist/units/units.js.map +0 -1
  473. package/src/api-kind/index.ts +0 -142
  474. package/src/cmd/index.ts +0 -2
  475. package/src/cmd/types.ts +0 -4
  476. package/src/data-sources/index.ts +0 -126
  477. package/src/forward-exports/delayed-exports.ts +0 -157
  478. package/src/forward-exports/index.ts +0 -1
  479. package/src/graph/base-node.ts +0 -135
  480. package/src/graph/base-origin-entity.ts +0 -44
  481. package/src/graph/dependencies.ts +0 -30
  482. package/src/graph/index.ts +0 -6
  483. package/src/graph/origin-node.ts +0 -122
  484. package/src/graph/relations.ts +0 -62
  485. package/src/kind-map/index.ts +0 -150
  486. package/src/manifest/manifest-builder.ts +0 -99
  487. package/src/producer/index.ts +0 -1
  488. package/src/producer/producer.ts +0 -18
  489. package/src/ref-key/ref-key.ts +0 -76
  490. package/src/reference/forward-ref.ts +0 -122
  491. package/src/reference/index.ts +0 -3
  492. package/src/reference/refable.ts +0 -12
  493. package/src/resources/objects.ts +0 -99
  494. package/src/resources/types.ts +0 -26
  495. package/src/types.ts +0 -13
  496. package/src/units/unit-parser.ts +0 -63
  497. /package/dist/{ref-key → core/graph/resource/ref-key}/index.d.ts +0 -0
  498. /package/dist/{ref-key → core/graph/resource/ref-key}/index.js +0 -0
  499. /package/dist/{reference → core/graph/resource/reference}/refable.js +0 -0
  500. /package/dist/{tracing → core/tracing}/index.d.ts +0 -0
  501. /package/dist/{tracing → core/tracing}/index.js +0 -0
  502. /package/dist/{tracing → core/tracing}/trace.d.ts +0 -0
  503. /package/dist/{tracing → core/tracing}/trace.js +0 -0
  504. /package/dist/{_ip → expressions/network/ip}/index.d.ts +0 -0
  505. /package/dist/{_ip → expressions/network/ip}/index.js +0 -0
  506. /package/dist/{ports → expressions/network/ports}/error.d.ts +0 -0
  507. /package/dist/{ports → expressions/network/ports}/error.js +0 -0
  508. /package/dist/{ports → expressions/network/ports}/index.js +0 -0
  509. /package/dist/{ports → expressions/network/ports}/tools/parse.d.ts +0 -0
  510. /package/dist/{ports → expressions/network/ports}/tools/parse.js +0 -0
  511. /package/dist/{_cronjob → expressions/network/ports}/types.js +0 -0
  512. /package/dist/{resources → expressions/quantities/reqlem}/index.d.ts +0 -0
  513. /package/dist/{resources → expressions/quantities/reqlem}/index.js +0 -0
  514. /package/dist/{resources → expressions/quantities/reqlem}/parser.d.ts +0 -0
  515. /package/dist/{resources → expressions/quantities/reqlem}/parser.js +0 -0
  516. /package/dist/{cmd → expressions/quantities/reqlem}/types.js +0 -0
  517. /package/dist/{units → expressions/quantities/units}/index.d.ts +0 -0
  518. /package/dist/{units → expressions/quantities/units}/index.js +0 -0
  519. /package/dist/{timezone.d.ts → expressions/timezone.d.ts} +0 -0
  520. /package/dist/{timezone.js → expressions/timezone.js} +0 -0
  521. /package/dist/{_user → expressions/workload/_user}/index.d.ts +0 -0
  522. /package/dist/{_user → expressions/workload/_user}/index.js +0 -0
  523. /package/dist/{cmd → expressions/workload/cmd}/index.js +0 -0
  524. /package/dist/{ports → expressions/workload/cmd}/types.js +0 -0
  525. /package/dist/{_cronjob → expressions/workload/cronjob}/index.d.ts +0 -0
  526. /package/dist/{_cronjob → expressions/workload/cronjob}/types.d.ts +0 -0
  527. /package/dist/{resources → expressions/workload/cronjob}/types.js +0 -0
  528. /package/dist/{image → expressions/workload/image}/family.d.ts +0 -0
  529. /package/dist/{image → expressions/workload/image}/index.d.ts +0 -0
  530. /package/dist/{image → expressions/workload/image}/index.js +0 -0
  531. /package/dist/{_string → utils/_string}/index.d.ts +0 -0
  532. /package/dist/{_string → utils/_string}/index.js +0 -0
  533. /package/dist/{_string → utils/_string}/markers.d.ts +0 -0
  534. /package/dist/{_string → utils/_string}/markers.js +0 -0
  535. /package/dist/{_string → utils/_string}/post-processor.d.ts +0 -0
  536. /package/dist/{_string → utils/_string}/post-processor.js +0 -0
  537. /package/dist/{_string → utils/_string}/pretty-objects.d.ts +0 -0
  538. /package/dist/{_string → utils/_string}/pretty-objects.js +0 -0
  539. /package/dist/{_string → utils/_string}/pretty-print.d.ts +0 -0
  540. /package/dist/{_string → utils/_string}/pretty-print.js +0 -0
  541. /package/dist/{_string → utils/_string}/super-script.d.ts +0 -0
  542. /package/dist/{_string → utils/_string}/super-script.js +0 -0
  543. /package/dist/{displayers → utils/displayers}/index.d.ts +0 -0
  544. /package/dist/{displayers → utils/displayers}/index.js +0 -0
  545. /package/dist/{_embedder → utils/embedder}/index.d.ts +0 -0
  546. /package/dist/{_embedder → utils/embedder}/index.js +0 -0
  547. /package/src/{ref-key → core/graph/resource/ref-key}/index.ts +0 -0
  548. /package/src/{tracing → core/tracing}/index.ts +0 -0
  549. /package/src/{tracing → core/tracing}/trace.ts +0 -0
  550. /package/src/{_ip → expressions/network/ip}/index.ts +0 -0
  551. /package/src/{ports → expressions/network/ports}/error.ts +0 -0
  552. /package/src/{ports → expressions/network/ports}/tools/parse.ts +0 -0
  553. /package/src/{resources → expressions/quantities/reqlem}/index.ts +0 -0
  554. /package/src/{resources → expressions/quantities/reqlem}/parser.ts +0 -0
  555. /package/src/{units → expressions/quantities/units}/index.ts +0 -0
  556. /package/src/{timezone.ts → expressions/timezone.ts} +0 -0
  557. /package/src/{_user → expressions/workload/_user}/index.ts +0 -0
  558. /package/src/{_cronjob → expressions/workload/cronjob}/types.ts +0 -0
  559. /package/src/{image → expressions/workload/image}/index.ts +0 -0
  560. /package/src/{_string → utils/_string}/index.ts +0 -0
  561. /package/src/{_string → utils/_string}/markers.ts +0 -0
  562. /package/src/{_string → utils/_string}/post-processor.ts +0 -0
  563. /package/src/{_string → utils/_string}/pretty-objects.ts +0 -0
  564. /package/src/{_string → utils/_string}/pretty-print.ts +0 -0
  565. /package/src/{_string → utils/_string}/super-script.ts +0 -0
  566. /package/src/{displayers → utils/displayers}/index.ts +0 -0
  567. /package/src/{_embedder → utils/embedder}/index.ts +0 -0
@@ -1,142 +0,0 @@
1
- import { hash } from "immutable"
2
- import { displayers } from "../displayers"
3
- import { bind_own_methods } from "../displayers/bind"
4
- import { InstrumentsError } from "../error"
5
-
6
- export type Kind<
7
- Name extends string = string,
8
- Version extends Kind.Version = Kind.Version
9
- > = Kind.Kind<Name, Version>
10
- export namespace Kind {
11
- export type InputVersion = `v${string}`
12
-
13
- export interface IdentParent {
14
- text: string
15
- name: string
16
- dns: string
17
- }
18
-
19
- @displayers({
20
- simple: self => self.text
21
- })
22
- @bind_own_methods()
23
- export abstract class Identifier<
24
- Name extends string = string,
25
- Parent extends IdentParent | null = IdentParent | null
26
- > implements IdentParent
27
- {
28
- constructor(
29
- readonly name: Name,
30
- readonly parent: Parent
31
- ) {}
32
- get text(): string {
33
- return [this.parent?.text, this.name].filter(Boolean).join("/")
34
- }
35
-
36
- get dns() {
37
- return [this.name, this.parent?.dns].filter(Boolean).join(".")
38
- }
39
-
40
- abstract child<Name extends string>(name: Name): Identifier<Name, this>
41
-
42
- equals(other: any) {
43
- if (typeof other !== "object" || !other) {
44
- return false
45
- }
46
- if (!(other instanceof Identifier)) {
47
- return false
48
- }
49
- return this.text === other.text
50
- }
51
-
52
- private hashCode() {
53
- return hash(this.text)
54
- }
55
- }
56
- @bind_own_methods()
57
- export class Group<const Name extends string = string> extends Identifier<Name, null> {
58
- constructor(override name: Name) {
59
- super(name, null)
60
- }
61
- version<Version extends InputVersion>(apiVersion: Version) {
62
- return new Version(apiVersion, this)
63
- }
64
-
65
- child<Name extends string>(name: Name): Version<Name, this> {
66
- if (!name.startsWith("v")) {
67
- throw new InstrumentsError(
68
- `Invalid version name "${name}". Version name must start with "v".`
69
- )
70
- }
71
- return this.version(name as any)
72
- }
73
- }
74
- @bind_own_methods()
75
- export class Version<
76
- const _Version extends string = string,
77
- const _Group extends Group = Group
78
- > extends Identifier<_Version, _Group> {
79
- kind<Kind extends string>(kind: Kind) {
80
- return new Kind(kind, this)
81
- }
82
-
83
- get group() {
84
- return this.parent
85
- }
86
-
87
- child<Name extends string>(name: Name): Kind<Name, this> {
88
- return this.kind(name)
89
- }
90
- }
91
- @bind_own_methods()
92
- export class Kind<
93
- const Name extends string = string,
94
- const V extends Version = Version
95
- > extends Identifier<Name, V> {
96
- get version() {
97
- return this.parent
98
- }
99
-
100
- get group() {
101
- return this.parent?.parent
102
- }
103
-
104
- subkind<SubKind extends string>(subkind: SubKind) {
105
- return new SubKind(subkind, this)
106
- }
107
-
108
- child<Name extends string>(name: Name): SubKind<Name, this> {
109
- return this.subkind(name)
110
- }
111
- }
112
- @bind_own_methods()
113
- export class SubKind<
114
- _SubKind extends string = string,
115
- _Parent extends Identifier = Identifier
116
- > extends Identifier<_SubKind, _Parent> {
117
- constructor(name: _SubKind, parent: _Parent) {
118
- super(name, parent)
119
- }
120
- subkind<_SubKind2 extends string>(subkind: _SubKind2): SubKind<_SubKind2, this> {
121
- return new SubKind(subkind, this)
122
- }
123
-
124
- child<Name extends string>(name: Name) {
125
- return this.subkind(name)
126
- }
127
- }
128
-
129
- export function group<ApiGroup extends string>(apiGroup: ApiGroup) {
130
- return new Group(apiGroup)
131
- }
132
-
133
- export function version<ApiVersion extends InputVersion>(apiVersion: ApiVersion) {
134
- return new Version(apiVersion, group(""))
135
- }
136
- }
137
- export function kinded(kind: Kind.Identifier) {
138
- return <T extends abstract new (...args: any[]) => object>(ctor: T) => {
139
- ctor.prototype.kind = kind
140
- return ctor
141
- }
142
- }
package/src/cmd/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export { Cmd, CmdBuilder } from "./cli-command"
2
- export { CliArgsMapping, CliKey, CliValue } from "./types"
package/src/cmd/types.ts DELETED
@@ -1,4 +0,0 @@
1
- export type CliKey = `-${string}` | `--${string}`
2
- export type InputCliKey = `${CliKey}=` | `${CliKey} ` | CliKey
3
- export type CliValue = string | number | boolean | null | `${string}` | ` ${string}`
4
- export type CliArgsMapping = Record<InputCliKey, CliValue>
@@ -1,126 +0,0 @@
1
- import { doddle, DoddleAsync } from "doddle"
2
- import { readFile } from "fs/promises"
3
- import { Map } from "immutable"
4
- import { dirname, join, resolve } from "path"
5
- import StackTracey from "stacktracey"
6
- import { InstrumentsError } from "../error"
7
- export type LocalFileMode = "text" | "binary"
8
-
9
- export interface LocalFileSourceProps<Mode extends LocalFileMode = "text"> {
10
- pointOfCall: StackTracey
11
- path: string
12
- cwd?: string
13
- mode?: Mode
14
- }
15
- export class LocalFileSource<Mode extends LocalFileMode = "text"> {
16
- constructor(private readonly _props: LocalFileSourceProps<Mode>) {}
17
-
18
- get cwd() {
19
- if (this._props.cwd) {
20
- return this._props.cwd
21
- }
22
- const where = this._props.pointOfCall.at(0)
23
- return dirname(where.file)
24
- }
25
-
26
- get path() {
27
- const where = this._props.pointOfCall.at(0)
28
- const joined = join(dirname(where.file), this._props.path)
29
- return resolve(joined)
30
- }
31
-
32
- contents = doddle(async () => {
33
- const mode = this._props.mode ?? "text"
34
- if (mode === "binary") {
35
- const data = await readFile(this.path, null)
36
- return data
37
- }
38
- return readFile(this.path, "utf-8")
39
- }) as DoddleAsync<Mode extends "text" ? string : Uint8Array>
40
- }
41
-
42
- export function localFile<Mode extends LocalFileMode = "text">(
43
- path: string,
44
- props?: Pick<LocalFileSourceProps<Mode>, "cwd" | "mode">
45
- ): LocalFileSource<Mode>
46
- export function localFile(args: TemplateStringsArray, ...params: any[]): LocalFileSource<"text">
47
- export function localFile(args: any, ...params: any[]) {
48
- if (typeof args === "string") {
49
- const options = params[0] ?? {}
50
- return new LocalFileSource({
51
- pointOfCall: new StackTracey().slice(1),
52
- path: args,
53
- ...(options ?? {})
54
- })
55
- }
56
- const path = String.raw(args, ...params)
57
- return new LocalFileSource({
58
- pointOfCall: new StackTracey().slice(1),
59
- path
60
- })
61
- }
62
-
63
- export interface TypedArrayLike {
64
- buffer: ArrayBuffer
65
- byteLength: number
66
- }
67
- export type DataSource_Text = LocalFileSource<"text"> | string
68
- export type DataSource_Binary = LocalFileSource<"binary"> | TypedArrayLike | ArrayBuffer
69
- export type DataSourceRecord_Text = Record<string, DataSource_Text>
70
- export type DataSourceRecord_Binary = Record<string, DataSource_Binary>
71
- export type DataSourceRecord = DataSourceRecord_Text | DataSourceRecord_Binary
72
- export function isTypedArray(data: DataSource_Binary): data is TypedArrayLike {
73
- return (
74
- typeof data === "object" &&
75
- "buffer" in data &&
76
- "byteSize" in data &&
77
- typeof data.byteSize === "number"
78
- )
79
- }
80
- export function isArrayBuffer(data: DataSource_Binary): data is ArrayBuffer {
81
- return data instanceof ArrayBuffer
82
- }
83
- export interface DataSourceResolvedRecord {
84
- data: Record<string, string>
85
- binaryData: Record<string, Uint8Array>
86
- }
87
- type MaybePromise<T> = T | Promise<T>
88
- async function promiseAllMap<K, V>(m: Map<K, MaybePromise<V>>) {
89
- const promises = m.toArray().map(async x => [x[0], await x[1]] as [K, V])
90
- const res = await Promise.all(promises)
91
- return Map(res)
92
- }
93
- export async function resolveText(record: DataSourceRecord_Text) {
94
- const mp = Map(record).map(async (v, k) => {
95
- let resolved = v
96
- if (v instanceof LocalFileSource) {
97
- resolved = await v.contents.pull()
98
- }
99
- if (typeof resolved !== "string") {
100
- throw new InstrumentsError(
101
- `Got an invalid data value ${v} for key ${k}. Must be a string.`
102
- )
103
- }
104
- return resolved
105
- })
106
- return promiseAllMap(mp)
107
- }
108
- export async function resolveBinary(record: DataSourceRecord_Binary) {
109
- const mp = Map(record).map(async (v, k) => {
110
- let resolved = v
111
- if (v instanceof LocalFileSource) {
112
- resolved = await v.contents.pull()
113
- }
114
- if (isTypedArray(resolved)) {
115
- return new Uint8Array(resolved.buffer)
116
- } else if (isArrayBuffer(resolved)) {
117
- return new Uint8Array(resolved)
118
- } else {
119
- throw new InstrumentsError(
120
- `Got an invalid data value ${v} for key ${k}. Must be binary data.`
121
- )
122
- }
123
- })
124
-
125
- return promiseAllMap(mp)
126
- }
@@ -1,157 +0,0 @@
1
- import { seq } from "doddle"
2
- import { ProxyOperationError } from "../error"
3
- import { ResourceEntity } from "../graph"
4
- import { Origin } from "../graph/origin-node"
5
- import type { LiveRefable } from "../reference"
6
- import { ForwardRef } from "../reference"
7
-
8
- export type FutureExports<Exps extends LiveRefable> = FutureExports.FutureExports<Exps>
9
- export namespace FutureExports {
10
- export type FutureExports<Exps extends LiveRefable> = _ExportsByKey<Exps>
11
- type _ExportsByKey<Exports extends LiveRefable = LiveRefable> = {
12
- [E in Exports as `${E["kind"]["name"]}/${E["name"]}`]: ForwardRef<E>
13
- }
14
- export interface Props<
15
- Actual extends object = object,
16
- Exports extends LiveRefable = LiveRefable
17
- > {
18
- readonly origin: Origin
19
- readonly actual: Actual
20
- readonly exports: Iterable<Exports>
21
- }
22
-
23
- export function make<T extends LiveRefable, Actual extends object>(
24
- props: Props<Actual, T>
25
- ): Actual & FutureExports<LiveRefable> {
26
- const handler = new Handler(props)
27
- return new Proxy(props.actual, handler) as any
28
- }
29
- class Handler implements ProxyHandler<object> {
30
- constructor(private readonly _props: Props) {}
31
-
32
- #createImmutableError(action: string) {
33
- return new ProxyOperationError(
34
- `Tried to ${action} an the exports constructs of ${this._props.origin}, but it is immutable.`
35
- )
36
- }
37
-
38
- defineProperty(_: object, property: string | symbol, __: PropertyDescriptor): boolean {
39
- throw this.#createImmutableError(`define property ${String(property)} on`)
40
- }
41
-
42
- deleteProperty(_: object, property: string | symbol): boolean {
43
- throw this.#createImmutableError(`delete property ${String(property)} from`)
44
- }
45
-
46
- getPrototypeOf(_: Iterable<LiveRefable>): object | null {
47
- return Reflect.getPrototypeOf(this._target)
48
- }
49
-
50
- get seq() {
51
- return seq(this._props.exports)
52
- }
53
-
54
- #isValidReferant(prop: PropertyKey) {
55
- return this._props.origin.resourceKinds.tryParse(prop as string) != null
56
- }
57
-
58
- get _target() {
59
- return this._props.actual
60
- }
61
-
62
- get(target: any, property: string | symbol): any {
63
- const key = property as string
64
- if (Reflect.has(this._target, key)) {
65
- const x = Reflect.get(this._target, property)
66
- if (typeof x === "function") {
67
- return x.bind(this._target)
68
- }
69
- return x
70
- }
71
-
72
- const refKey = this._props.origin.resourceKinds.tryParse(key)
73
- if (refKey == null) {
74
- return undefined
75
- }
76
- const cls = this._props.origin.resourceKinds.getClass(refKey)
77
- return ForwardRef.make({
78
- class: cls,
79
- key: refKey,
80
- origin: this._props.origin,
81
- namespace: this._props.origin.meta.tryGet("namespace"),
82
- resolver: this.seq
83
- .as<ResourceEntity>()
84
- .first(exp => exp.node.key.equals(refKey))
85
- .map(x => {
86
- if (x == null) {
87
- throw new ProxyOperationError(
88
- `Failed to resolve forward reference to ${refKey} in ${this._props.origin}.`
89
- )
90
- }
91
- return x
92
- })
93
- })
94
- }
95
-
96
- has(_: Iterable<LiveRefable>, p: string | symbol): boolean {
97
- if (Reflect.has(this._target, p)) {
98
- return true
99
- }
100
- if (!this.#isValidReferant(p)) {
101
- return false
102
- }
103
- return true
104
- }
105
-
106
- isExtensible(target: Iterable<LiveRefable>): boolean {
107
- return false
108
- }
109
-
110
- preventExtensions(target: Iterable<LiveRefable>): boolean {
111
- return true
112
- }
113
-
114
- ownKeys(target: Iterable<LiveRefable>): ArrayLike<string | symbol> {
115
- throw new ProxyOperationError(
116
- `Cannot list all keys of a dynamic exports construct for ${this._props.origin}.`
117
- )
118
- }
119
-
120
- set(
121
- target: Iterable<LiveRefable>,
122
- p: string | symbol,
123
- newValue: any,
124
- receiver: any
125
- ): boolean {
126
- throw this.#createImmutableError(`set property ${String(p)} on`)
127
- }
128
-
129
- setPrototypeOf(target: Iterable<LiveRefable>, v: any): boolean {
130
- throw this.#createImmutableError(`set prototype of`)
131
- }
132
-
133
- _tryTargetDescriptor(p: PropertyKey) {
134
- return Object.getOwnPropertyDescriptor(this._target, p)
135
- }
136
-
137
- getOwnPropertyDescriptor(
138
- target: Iterable<LiveRefable>,
139
- p: string | symbol
140
- ): PropertyDescriptor | undefined {
141
- const desc = this._tryTargetDescriptor(p)
142
- if (desc) {
143
- return desc
144
- }
145
- const value = this.get(this._target, p)
146
- if (value == null) {
147
- return undefined
148
- }
149
- return {
150
- configurable: false,
151
- enumerable: true,
152
- value,
153
- writable: false
154
- }
155
- }
156
- }
157
- }
@@ -1 +0,0 @@
1
- export * from "./delayed-exports"
@@ -1,135 +0,0 @@
1
- import { Seq, seq } from "doddle"
2
- import { hash, Set } from "immutable"
3
- import { Kind } from "../api-kind"
4
- import { RefKey } from "../ref-key"
5
- import { ForwardRef } from "../reference"
6
- import { Relation } from "./dependencies"
7
-
8
- export interface BaseEntity<Node extends BaseNode<Node>> {
9
- readonly node: Node
10
-
11
- readonly kind: Kind.Identifier
12
- readonly name: string
13
- }
14
-
15
- export abstract class BaseNode<
16
- Node extends BaseNode<Node, Entity>,
17
- Entity extends BaseEntity<Node> = BaseEntity<Node>
18
- > {
19
- private _eqProxy = {}
20
- abstract readonly key: RefKey
21
- get kind() {
22
- return this.key.kind
23
- }
24
-
25
- abstract readonly kids: Seq<Node>
26
- abstract readonly relations: Seq<Relation<Node>>
27
- abstract readonly parent: Node | null
28
- protected get _asNode() {
29
- return this as any as Node
30
- }
31
-
32
- constructor(readonly _entity: Entity) {}
33
-
34
- get shortFqn() {
35
- return `${this.kind.name}/${this.name}`
36
- }
37
-
38
- get root(): Node {
39
- return (this.ancestors.at(-1).pull() as any) ?? (this as any)
40
- }
41
- get name() {
42
- return this.key.name
43
- }
44
- get isRoot() {
45
- return this.parent === null && this._entity.kind.name !== "PodTemplate"
46
- }
47
-
48
- hashCode() {
49
- return hash(this._eqProxy)
50
- }
51
- equals(other: any) {
52
- if (ForwardRef.is(other)) {
53
- return other.equals(this)
54
- }
55
- return this === other
56
- }
57
-
58
- readonly ancestors = seq(() => {
59
- const seen = Set<Node>()
60
- const recurse = function* (from: Node): Iterable<Node> {
61
- const parent = from.parent
62
- if (parent && !seen.has(parent)) {
63
- seen.add(parent)
64
- yield parent
65
- yield* recurse(parent)
66
- }
67
- }
68
- return seq(recurse.bind(null, this._asNode))
69
- }).cache()
70
-
71
- readonly descendants = seq(() => {
72
- const self = this
73
- let seen = Set<Node>()
74
- const recurse = function* (from: Node): Iterable<Node> {
75
- for (const kid of from.kids) {
76
- if (seen.has(kid)) {
77
- continue
78
- }
79
- seen = seen.add(kid)
80
- yield kid
81
- yield* recurse(kid)
82
- }
83
- }
84
- return seq(recurse.bind(null, self._asNode))
85
- }).cache()
86
-
87
- isParentOf(other: Node): boolean {
88
- if (ForwardRef.is(other)) {
89
- return other.isChildOf(this._asNode)
90
- }
91
- return Set(this.descendants).has(other)
92
- }
93
-
94
- isChildOf(other: Node): boolean {
95
- if (ForwardRef.is(other)) {
96
- return other.isParentOf(this._asNode)
97
- }
98
- return this.equals(other) || Set(this.ancestors).has(other._asNode)
99
- }
100
-
101
- hasRelationTo(other: Node): boolean {
102
- return this.recursiveRelations.some(x => x.needed.equals(other)).pull()
103
- }
104
-
105
- readonly recursiveRelationsSubtree = seq((): Seq<Relation<Node>> => {
106
- const self = this
107
- return seq(function* () {
108
- for (const child of [self, ...self.descendants] as Node[]) {
109
- yield* child.recursiveRelations
110
- }
111
- }) as any
112
- })
113
-
114
- readonly recursiveRelations = seq(() => {
115
- let resources = Set<Node>()
116
- const recurseIntoDependency = function* (root: Relation<Node>): Iterable<Relation<Node>> {
117
- yield root
118
- if (resources.has(root.needed)) {
119
- return
120
- }
121
- resources = resources.add(root.needed)
122
-
123
- const ownDeps = root.needed.relations
124
- for (const needsEdge of ownDeps) {
125
- yield* recurseIntoDependency(needsEdge)
126
- }
127
- }
128
- return seq(recurseIntoDependency.bind(null, new Relation<Node>("self", this._asNode)))
129
- .after(() => {
130
- resources = Set()
131
- })
132
- .cache()
133
- })
134
- }
135
- export type Formats = "local" | "source" | undefined
@@ -1,44 +0,0 @@
1
- import { Meta } from "@k8ts/metadata"
2
- import chalk from "chalk"
3
- import { doddle, Doddle } from "doddle"
4
- import { Kind } from "../api-kind"
5
- import { displayers } from "../displayers"
6
- import { RefKey } from "../ref-key"
7
- import { Origin, OriginEntity } from "./origin-node"
8
- export interface OriginEntityProps {
9
- meta?: Meta.Input
10
- alias?: string
11
- }
12
- @displayers({
13
- simple: x => `[${x.shortFqn}]`,
14
- pretty(origin) {
15
- const kindPart = chalk.greenBright.bold(origin.kind.name)
16
- const originName = chalk.cyan(origin.name)
17
- return `${kindPart}/${originName}`
18
- }
19
- })
20
- export abstract class BaseOriginEntity<Props extends OriginEntityProps = OriginEntityProps>
21
- implements OriginEntity
22
- {
23
- abstract readonly kind: Kind.Kind
24
- #node: Doddle<Origin>
25
-
26
- meta: Meta
27
- get alias() {
28
- return this.props.alias ?? undefined
29
- }
30
- get node() {
31
- return this.#node.pull()
32
- }
33
- constructor(
34
- readonly name: string,
35
- readonly props: Props,
36
- parent: Origin | null
37
- ) {
38
- this.#node = doddle(() => new Origin(parent, this, RefKey.make(this.kind, name)))
39
- this.meta = Meta.make(props.meta)
40
- }
41
- get shortFqn() {
42
- return this.node.shortFqn
43
- }
44
- }
@@ -1,30 +0,0 @@
1
- import { pretty } from "../_string"
2
- import { displayers } from "../displayers"
3
- import { BaseNode } from "./base-node"
4
- import { ResourceEntity } from "./resource-node"
5
-
6
- export namespace Dependencies {
7
- export type Input = Record<string, ResourceEntity | undefined>
8
- }
9
- export function dependencies(record: Dependencies.Input) {
10
- return Object.entries(record)
11
- .map(([key, value]) => {
12
- if (value) {
13
- return new Relation(key, value.node)
14
- }
15
- })
16
- .filter(x => !!x)
17
- }
18
- @displayers({
19
- simple: s => [s.why, "-->", s.needed],
20
- pretty: (dep, format) => {
21
- const neededFmt = pretty`${["lowkey", dep.needed]}`
22
- return [dep.why, neededFmt].join("➜ ")
23
- }
24
- })
25
- export class Relation<Node extends BaseNode<Node>> {
26
- constructor(
27
- readonly why: string,
28
- readonly needed: Node
29
- ) {}
30
- }
@@ -1,6 +0,0 @@
1
- export * from "./base-node"
2
- export * from "./base-origin-entity"
3
- export * from "./dependencies"
4
- export * from "./origin-node"
5
- export * from "./relations"
6
- export * from "./resource-node"