@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.
- package/dist/core/graph/entity.d.ts +8 -23
- package/dist/core/graph/entity.d.ts.map +1 -1
- package/dist/core/graph/entity.js +9 -21
- package/dist/core/graph/entity.js.map +1 -1
- package/dist/core/graph/error.d.ts +7 -0
- package/dist/core/graph/error.d.ts.map +1 -0
- package/dist/core/graph/error.js +12 -0
- package/dist/core/graph/error.js.map +1 -0
- package/dist/core/graph/index.d.ts +2 -2
- package/dist/core/graph/index.d.ts.map +1 -1
- package/dist/core/graph/index.js +4 -4
- package/dist/core/graph/index.js.map +1 -1
- package/dist/core/graph/origin/dummy.d.ts +13 -0
- package/dist/core/graph/origin/dummy.d.ts.map +1 -0
- package/dist/core/graph/origin/dummy.js +25 -0
- package/dist/core/graph/origin/dummy.js.map +1 -0
- package/dist/core/graph/origin/events.d.ts +19 -26
- package/dist/core/graph/origin/events.d.ts.map +1 -1
- package/dist/core/graph/origin/events.js +1 -30
- package/dist/core/graph/origin/events.js.map +1 -1
- package/dist/core/graph/origin/exporter.d.ts +10 -10
- package/dist/core/graph/origin/exporter.d.ts.map +1 -1
- package/dist/core/graph/origin/exporter.js +20 -18
- package/dist/core/graph/origin/exporter.js.map +1 -1
- package/dist/core/graph/origin/index.d.ts +5 -3
- package/dist/core/graph/origin/index.d.ts.map +1 -1
- package/dist/core/graph/origin/index.js +5 -3
- package/dist/core/graph/origin/index.js.map +1 -1
- package/dist/core/graph/origin/kind-map/index.d.ts +16 -17
- package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -1
- package/dist/core/graph/origin/kind-map/index.js +35 -34
- package/dist/core/graph/origin/kind-map/index.js.map +1 -1
- package/dist/core/graph/origin/origin.d.ts +37 -0
- package/dist/core/graph/origin/origin.d.ts.map +1 -0
- package/dist/core/graph/origin/{entity.js → origin.js} +59 -50
- package/dist/core/graph/origin/origin.js.map +1 -0
- package/dist/core/graph/origin/props.d.ts +9 -0
- package/dist/core/graph/origin/props.d.ts.map +1 -0
- package/dist/core/graph/origin/props.js.map +1 -0
- package/dist/core/graph/origin/template.d.ts +15 -0
- package/dist/core/graph/origin/template.d.ts.map +1 -0
- package/dist/core/graph/origin/template.js +35 -0
- package/dist/core/graph/origin/template.js.map +1 -0
- package/dist/core/graph/origin/tracker.d.ts +7 -9
- package/dist/core/graph/origin/tracker.d.ts.map +1 -1
- package/dist/core/graph/origin/tracker.js +4 -15
- package/dist/core/graph/origin/tracker.js.map +1 -1
- package/dist/core/graph/origin/vertex.d.ts +21 -0
- package/dist/core/graph/origin/vertex.d.ts.map +1 -0
- package/dist/core/graph/origin/{node.js → vertex.js} +27 -18
- package/dist/core/graph/origin/vertex.js.map +1 -0
- package/dist/core/graph/relation.d.ts +4 -4
- package/dist/core/graph/relation.d.ts.map +1 -1
- package/dist/core/graph/relation.js +4 -5
- package/dist/core/graph/relation.js.map +1 -1
- package/dist/core/graph/resource/creation-options.d.ts +22 -0
- package/dist/core/graph/resource/creation-options.d.ts.map +1 -0
- package/dist/core/graph/resource/creation-options.js +3 -0
- package/dist/core/graph/resource/creation-options.js.map +1 -0
- package/dist/core/graph/resource/dummy/base.d.ts +9 -0
- package/dist/core/graph/resource/dummy/base.d.ts.map +1 -0
- package/dist/core/graph/resource/dummy/base.js +15 -0
- package/dist/core/graph/resource/dummy/base.js.map +1 -0
- package/dist/core/graph/resource/dummy/index.d.ts.map +1 -0
- package/dist/core/graph/resource/dummy/index.js.map +1 -0
- package/dist/core/graph/resource/forward/error.d.ts +5 -0
- package/dist/core/graph/resource/forward/error.d.ts.map +1 -0
- package/dist/core/graph/resource/forward/error.js +12 -0
- package/dist/core/graph/resource/forward/error.js.map +1 -0
- package/dist/core/graph/resource/forward/exports.d.ts +46 -0
- package/dist/core/graph/resource/forward/exports.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref-exports.js → forward/exports.js} +32 -31
- package/dist/core/graph/resource/forward/exports.js.map +1 -0
- package/dist/core/graph/resource/forward/index.d.ts +3 -0
- package/dist/core/graph/resource/forward/index.d.ts.map +1 -0
- package/dist/core/graph/resource/forward/index.js +8 -0
- package/dist/core/graph/resource/forward/index.js.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref.d.ts → forward/ref.d.ts} +20 -20
- package/dist/core/graph/resource/forward/ref.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref.js → forward/ref.js} +56 -27
- package/dist/core/graph/resource/forward/ref.js.map +1 -0
- package/dist/core/graph/resource/gvk/0-base.d.ts +17 -0
- package/dist/core/graph/resource/gvk/0-base.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/0-base.js +35 -0
- package/dist/core/graph/resource/gvk/0-base.js.map +1 -0
- package/dist/core/graph/resource/gvk/1-group.d.ts +12 -0
- package/dist/core/graph/resource/gvk/1-group.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/1-group.js +26 -0
- package/dist/core/graph/resource/gvk/1-group.js.map +1 -0
- package/dist/core/graph/resource/gvk/2=version.d.ts +11 -0
- package/dist/core/graph/resource/gvk/2=version.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/2=version.js +23 -0
- package/dist/core/graph/resource/gvk/2=version.js.map +1 -0
- package/dist/core/graph/resource/gvk/3-gvk.d.ts +16 -0
- package/dist/core/graph/resource/gvk/3-gvk.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/3-gvk.js +50 -0
- package/dist/core/graph/resource/gvk/3-gvk.js.map +1 -0
- package/dist/core/graph/resource/gvk/4-subkind.d.ts +8 -0
- package/dist/core/graph/resource/gvk/4-subkind.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/4-subkind.js +19 -0
- package/dist/core/graph/resource/gvk/4-subkind.js.map +1 -0
- package/dist/core/graph/resource/gvk/index.d.ts +6 -0
- package/dist/core/graph/resource/gvk/index.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/index.js +22 -0
- package/dist/core/graph/resource/gvk/index.js.map +1 -0
- package/dist/core/graph/resource/gvk/strings.d.ts +4 -0
- package/dist/core/graph/resource/gvk/strings.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/refable.js → gvk/strings.js} +1 -1
- package/dist/core/graph/resource/gvk/strings.js.map +1 -0
- package/dist/core/graph/resource/{ref-key/ref-key.d.ts → ident/ident.d.ts} +25 -36
- package/dist/core/graph/resource/ident/ident.d.ts.map +1 -0
- package/dist/core/graph/resource/{ref-key/ref-key.js → ident/ident.js} +38 -49
- package/dist/core/graph/resource/ident/ident.js.map +1 -0
- package/dist/core/graph/resource/ident/index.d.ts +2 -0
- package/dist/core/graph/resource/ident/index.d.ts.map +1 -0
- package/dist/core/graph/resource/{ref-key → ident}/index.js +1 -1
- package/dist/core/graph/resource/ident/index.js.map +1 -0
- package/dist/core/graph/resource/ident/parsing.d.ts +16 -0
- package/dist/core/graph/resource/ident/parsing.d.ts.map +1 -0
- package/dist/core/graph/resource/ident/parsing.js +36 -0
- package/dist/core/graph/resource/ident/parsing.js.map +1 -0
- package/dist/core/graph/resource/index.d.ts +10 -9
- package/dist/core/graph/resource/index.d.ts.map +1 -1
- package/dist/core/graph/resource/index.js +10 -9
- package/dist/core/graph/resource/index.js.map +1 -1
- package/dist/core/graph/resource/k8s-resource.d.ts +18 -0
- package/dist/core/graph/resource/k8s-resource.d.ts.map +1 -0
- package/dist/core/graph/resource/k8s-resource.js +85 -0
- package/dist/core/graph/resource/k8s-resource.js.map +1 -0
- package/dist/core/graph/resource/part.d.ts +12 -0
- package/dist/core/graph/resource/part.d.ts.map +1 -0
- package/dist/core/graph/resource/part.js +20 -0
- package/dist/core/graph/resource/part.js.map +1 -0
- package/dist/core/graph/resource/props.d.ts +9 -0
- package/dist/core/graph/resource/props.d.ts.map +1 -0
- package/dist/core/graph/resource/{field.js → props.js} +1 -1
- package/dist/core/graph/resource/props.js.map +1 -0
- package/dist/core/graph/resource/ref.d.ts +25 -0
- package/dist/core/graph/resource/ref.d.ts.map +1 -0
- package/dist/core/graph/resource/ref.js +3 -0
- package/dist/core/graph/resource/ref.js.map +1 -0
- package/dist/core/graph/resource/resource.d.ts +23 -0
- package/dist/core/graph/resource/resource.d.ts.map +1 -0
- package/dist/core/graph/resource/{entity.js → resource.js} +40 -37
- package/dist/core/graph/resource/resource.js.map +1 -0
- package/dist/core/graph/resource/vertex.d.ts +31 -0
- package/dist/core/graph/resource/vertex.d.ts.map +1 -0
- package/dist/core/graph/resource/{node.js → vertex.js} +36 -34
- package/dist/core/graph/resource/vertex.js.map +1 -0
- package/dist/core/graph/{node.d.ts → vertex.d.ts} +12 -14
- package/dist/core/graph/vertex.d.ts.map +1 -0
- package/dist/core/graph/{node.js → vertex.js} +18 -23
- package/dist/core/graph/vertex.js.map +1 -0
- package/dist/core/manifest/index.d.ts +7 -17
- package/dist/core/manifest/index.d.ts.map +1 -1
- package/dist/core/manifest/index.js +1 -1
- package/dist/core/manifest/index.js.map +1 -1
- package/dist/core/tracing/embedder.d.ts +4 -0
- package/dist/core/tracing/embedder.d.ts.map +1 -0
- package/dist/core/tracing/{traced.js → embedder.js} +2 -2
- package/dist/core/tracing/embedder.js.map +1 -0
- package/dist/core/tracing/git.d.ts +7 -7
- package/dist/core/tracing/git.d.ts.map +1 -1
- package/dist/core/tracing/git.js +7 -7
- package/dist/core/tracing/git.js.map +1 -1
- package/dist/core/tracing/index.d.ts +2 -2
- package/dist/core/tracing/index.d.ts.map +1 -1
- package/dist/core/tracing/index.js +2 -2
- package/dist/core/tracing/index.js.map +1 -1
- package/dist/core/tracing/source.d.ts +11 -0
- package/dist/core/tracing/source.d.ts.map +1 -0
- package/dist/core/tracing/{trace.js → source.js} +6 -6
- package/dist/core/tracing/source.js.map +1 -0
- package/dist/expressions/data-sources/env-var.d.ts +5 -25
- package/dist/expressions/data-sources/env-var.d.ts.map +1 -1
- package/dist/expressions/data-sources/env-var.js +58 -34
- package/dist/expressions/data-sources/env-var.js.map +1 -1
- package/dist/expressions/data-sources/error.d.ts +8 -0
- package/dist/expressions/data-sources/error.d.ts.map +1 -0
- package/dist/expressions/data-sources/error.js +13 -0
- package/dist/expressions/data-sources/error.js.map +1 -0
- package/dist/expressions/data-sources/index.d.ts +1 -1
- package/dist/expressions/data-sources/index.d.ts.map +1 -1
- package/dist/expressions/data-sources/index.js +1 -1
- package/dist/expressions/data-sources/index.js.map +1 -1
- package/dist/expressions/data-sources/interface.d.ts +9 -26
- package/dist/expressions/data-sources/interface.d.ts.map +1 -1
- package/dist/expressions/data-sources/interface.js +4 -0
- package/dist/expressions/data-sources/interface.js.map +1 -1
- package/dist/expressions/data-sources/js-object.d.ts +7 -0
- package/dist/expressions/data-sources/js-object.d.ts.map +1 -0
- package/dist/expressions/data-sources/js-object.js +98 -0
- package/dist/expressions/data-sources/js-object.js.map +1 -0
- package/dist/expressions/data-sources/local-file.d.ts +7 -28
- package/dist/expressions/data-sources/local-file.d.ts.map +1 -1
- package/dist/expressions/data-sources/local-file.js +139 -73
- package/dist/expressions/data-sources/local-file.js.map +1 -1
- package/dist/expressions/network/error.d.ts +7 -0
- package/dist/expressions/network/error.d.ts.map +1 -0
- package/dist/expressions/network/error.js +12 -0
- package/dist/expressions/network/error.js.map +1 -0
- package/dist/expressions/network/index.d.ts +5 -1
- package/dist/expressions/network/index.d.ts.map +1 -1
- package/dist/expressions/network/index.js +5 -1
- package/dist/expressions/network/index.js.map +1 -1
- package/dist/expressions/network/ip/ip4.d.ts +8 -0
- package/dist/expressions/network/ip/ip4.d.ts.map +1 -0
- package/dist/expressions/network/ip/ip4.js +14 -0
- package/dist/expressions/network/ip/ip4.js.map +1 -0
- package/dist/expressions/network/ip/subnet4.d.ts +8 -0
- package/dist/expressions/network/ip/subnet4.d.ts.map +1 -0
- package/dist/expressions/network/ip/{index.js → subnet4.js} +2 -11
- package/dist/expressions/network/ip/subnet4.js.map +1 -0
- package/dist/expressions/network/ports/entry.d.ts +5 -0
- package/dist/expressions/network/ports/entry.d.ts.map +1 -0
- package/dist/expressions/network/ports/{tools/entry.js → entry.js} +8 -12
- package/dist/expressions/network/ports/entry.js.map +1 -0
- package/dist/expressions/network/ports/{map.d.ts → mapping.d.ts} +15 -17
- package/dist/expressions/network/ports/mapping.d.ts.map +1 -0
- package/dist/expressions/network/ports/mapping.js +95 -0
- package/dist/expressions/network/ports/mapping.js.map +1 -0
- package/dist/expressions/network/ports/parser.d.ts +3 -0
- package/dist/expressions/network/ports/parser.d.ts.map +1 -0
- package/dist/expressions/network/ports/{tools/parse.js → parser.js} +2 -2
- package/dist/expressions/network/ports/parser.js.map +1 -0
- package/dist/expressions/network/ports/provider.d.ts +72 -0
- package/dist/expressions/network/ports/provider.d.ts.map +1 -0
- package/dist/expressions/network/ports/provider.js +143 -0
- package/dist/expressions/network/ports/provider.js.map +1 -0
- package/dist/expressions/network/ports/types.d.ts +22 -9
- package/dist/expressions/network/ports/types.d.ts.map +1 -1
- package/dist/expressions/quantities/error.d.ts +7 -0
- package/dist/expressions/quantities/error.d.ts.map +1 -0
- package/dist/expressions/quantities/error.js +12 -0
- package/dist/expressions/quantities/error.js.map +1 -0
- package/dist/expressions/quantities/index.d.ts +10 -2
- package/dist/expressions/quantities/index.d.ts.map +1 -1
- package/dist/expressions/quantities/index.js +10 -2
- package/dist/expressions/quantities/index.js.map +1 -1
- package/dist/expressions/quantities/reqs/objects.d.ts +18 -0
- package/dist/expressions/quantities/reqs/objects.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/objects.js +81 -0
- package/dist/expressions/quantities/reqs/objects.js.map +1 -0
- package/dist/expressions/quantities/reqs/parser.d.ts +4 -0
- package/dist/expressions/quantities/reqs/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/{reqlem → reqs}/parser.js +2 -2
- package/dist/expressions/quantities/reqs/parser.js.map +1 -0
- package/dist/expressions/quantities/reqs/types.d.ts +28 -0
- package/dist/expressions/quantities/reqs/types.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/types.js.map +1 -0
- package/dist/expressions/quantities/reqs/values.d.ts +17 -0
- package/dist/expressions/quantities/reqs/values.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/values.js +42 -0
- package/dist/expressions/quantities/reqs/values.js.map +1 -0
- package/dist/expressions/quantities/units/{units.d.ts → built-in.d.ts} +6 -8
- package/dist/expressions/quantities/units/built-in.d.ts.map +1 -0
- package/dist/expressions/quantities/units/built-in.js +44 -0
- package/dist/expressions/quantities/units/built-in.js.map +1 -0
- package/dist/expressions/quantities/units/dimension.d.ts +20 -0
- package/dist/expressions/quantities/units/dimension.d.ts.map +1 -0
- package/dist/expressions/quantities/units/dimension.js +33 -0
- package/dist/expressions/quantities/units/dimension.js.map +1 -0
- package/dist/expressions/quantities/units/parser.d.ts +6 -0
- package/dist/expressions/quantities/units/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/units/parser.js +11 -0
- package/dist/expressions/quantities/units/parser.js.map +1 -0
- package/dist/expressions/quantities/units/types.d.ts +2 -0
- package/dist/expressions/quantities/units/types.d.ts.map +1 -0
- package/dist/expressions/quantities/units/types.js +3 -0
- package/dist/expressions/quantities/units/types.js.map +1 -0
- package/dist/expressions/quantities/units/validator.d.ts +4 -0
- package/dist/expressions/quantities/units/validator.d.ts.map +1 -0
- package/dist/expressions/quantities/units/validator.js +16 -0
- package/dist/expressions/quantities/units/validator.js.map +1 -0
- package/dist/expressions/quantities/units/value.d.ts +10 -0
- package/dist/expressions/quantities/units/value.d.ts.map +1 -0
- package/dist/expressions/quantities/units/value.js +27 -0
- package/dist/expressions/quantities/units/value.js.map +1 -0
- package/dist/expressions/quantities/util.d.ts +11 -0
- package/dist/expressions/quantities/util.d.ts.map +1 -0
- package/dist/expressions/quantities/util.js +28 -0
- package/dist/expressions/quantities/util.js.map +1 -0
- package/dist/expressions/workload/cmd/cli-term.d.ts +7 -7
- package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -1
- package/dist/expressions/workload/cmd/cli-term.js +16 -15
- package/dist/expressions/workload/cmd/cli-term.js.map +1 -1
- package/dist/expressions/workload/cmd/cmd-line.d.ts +15 -0
- package/dist/expressions/workload/cmd/cmd-line.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/{cli-command.js → cmd-line.js} +23 -27
- package/dist/expressions/workload/cmd/cmd-line.js.map +1 -0
- package/dist/expressions/workload/cmd/types.d.ts +4 -4
- package/dist/expressions/workload/cmd/types.d.ts.map +1 -1
- package/dist/expressions/workload/cronjob/parse-type.d.ts +30 -0
- package/dist/expressions/workload/cronjob/parse-type.d.ts.map +1 -0
- package/dist/{core/graph/resource/external/features.js → expressions/workload/cronjob/parse-type.js} +1 -1
- package/dist/expressions/workload/cronjob/parse-type.js.map +1 -0
- package/dist/expressions/workload/cronjob/shorthand.d.ts +13 -0
- package/dist/expressions/workload/cronjob/shorthand.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/shorthand.js +39 -0
- package/dist/expressions/workload/cronjob/shorthand.js.map +1 -0
- package/dist/expressions/workload/cronjob/stanza.d.ts +15 -0
- package/dist/expressions/workload/cronjob/stanza.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/{index.js → stanza.js} +29 -62
- package/dist/expressions/workload/cronjob/stanza.js.map +1 -0
- package/dist/expressions/workload/cronjob/types.d.ts +3 -1
- package/dist/expressions/workload/cronjob/types.d.ts.map +1 -1
- package/dist/expressions/workload/error.d.ts +7 -0
- package/dist/expressions/workload/error.d.ts.map +1 -0
- package/dist/expressions/workload/error.js +12 -0
- package/dist/expressions/workload/error.js.map +1 -0
- package/dist/expressions/workload/image/1-host.d.ts +11 -0
- package/dist/expressions/workload/image/1-host.d.ts.map +1 -0
- package/dist/expressions/workload/image/1-host.js +27 -0
- package/dist/expressions/workload/image/1-host.js.map +1 -0
- package/dist/expressions/workload/image/2-namespace.d.ts +11 -0
- package/dist/expressions/workload/image/2-namespace.d.ts.map +1 -0
- package/dist/expressions/workload/image/2-namespace.js +90 -0
- package/dist/expressions/workload/image/2-namespace.js.map +1 -0
- package/dist/expressions/workload/image/3-repository.d.ts +11 -0
- package/dist/expressions/workload/image/3-repository.d.ts.map +1 -0
- package/dist/expressions/workload/image/3-repository.js +38 -0
- package/dist/expressions/workload/image/3-repository.js.map +1 -0
- package/dist/expressions/workload/image/4-image.d.ts +22 -0
- package/dist/expressions/workload/image/4-image.d.ts.map +1 -0
- package/dist/expressions/workload/image/4-image.js +43 -0
- package/dist/expressions/workload/image/4-image.js.map +1 -0
- package/dist/expressions/workload/image/index.d.ts +4 -1
- package/dist/expressions/workload/image/index.d.ts.map +1 -1
- package/dist/expressions/workload/image/index.js +3 -6
- package/dist/expressions/workload/image/index.js.map +1 -1
- package/dist/expressions/workload/image/types.d.ts +2 -0
- package/dist/expressions/workload/image/types.d.ts.map +1 -0
- package/dist/expressions/workload/image/types.js +3 -0
- package/dist/expressions/workload/image/types.js.map +1 -0
- package/dist/expressions/workload/image/util.d.ts +2 -0
- package/dist/expressions/workload/image/util.d.ts.map +1 -0
- package/dist/expressions/workload/image/util.js +3 -0
- package/dist/expressions/workload/image/util.js.map +1 -0
- package/dist/expressions/workload/index.d.ts +9 -3
- package/dist/expressions/workload/index.d.ts.map +1 -1
- package/dist/expressions/workload/index.js +9 -3
- package/dist/expressions/workload/index.js.map +1 -1
- package/dist/expressions/workload/owner/group.d.ts +10 -0
- package/dist/expressions/workload/owner/group.d.ts.map +1 -0
- package/dist/expressions/workload/owner/group.js +27 -0
- package/dist/expressions/workload/owner/group.js.map +1 -0
- package/dist/expressions/workload/owner/index.d.ts +4 -0
- package/dist/expressions/workload/owner/index.d.ts.map +1 -0
- package/dist/expressions/workload/owner/index.js +8 -0
- package/dist/expressions/workload/owner/index.js.map +1 -0
- package/dist/expressions/workload/owner/ownership.d.ts +9 -0
- package/dist/expressions/workload/owner/ownership.d.ts.map +1 -0
- package/dist/expressions/workload/owner/ownership.js +22 -0
- package/dist/expressions/workload/owner/ownership.js.map +1 -0
- package/dist/expressions/workload/owner/user.d.ts +18 -0
- package/dist/expressions/workload/owner/user.d.ts.map +1 -0
- package/dist/expressions/workload/owner/user.js +32 -0
- package/dist/expressions/workload/owner/user.js.map +1 -0
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/{displayers → mixin/display}/displayers.d.ts +9 -9
- package/dist/utils/mixin/display/displayers.d.ts.map +1 -0
- package/dist/utils/{displayers → mixin/display}/displayers.js +13 -7
- package/dist/utils/mixin/display/displayers.js.map +1 -0
- package/dist/utils/mixin/display/index.d.ts.map +1 -0
- package/dist/utils/mixin/display/index.js.map +1 -0
- package/dist/utils/mixin/embedder/base.d.ts.map +1 -0
- package/dist/utils/{embedder → mixin/embedder}/base.js +3 -2
- package/dist/utils/mixin/embedder/base.js.map +1 -0
- package/dist/utils/mixin/embedder/index.d.ts +2 -0
- package/dist/utils/mixin/embedder/index.d.ts.map +1 -0
- package/dist/{core/graph/resource/external → utils/mixin/embedder}/index.js +0 -2
- package/dist/utils/mixin/embedder/index.js.map +1 -0
- package/dist/utils/mixin/error.d.ts +5 -0
- package/dist/utils/mixin/error.d.ts.map +1 -0
- package/dist/{expressions/network/ports → utils/mixin}/error.js +4 -5
- package/dist/utils/mixin/error.js.map +1 -0
- package/dist/utils/mixin/index.d.ts +3 -0
- package/dist/utils/mixin/index.d.ts.map +1 -0
- package/dist/{expressions/quantities/reqlem → utils/mixin}/index.js +2 -2
- package/dist/utils/mixin/index.js.map +1 -0
- package/dist/utils/phrase-renderer/index.d.ts +4 -0
- package/dist/utils/phrase-renderer/index.d.ts.map +1 -0
- package/dist/utils/phrase-renderer/index.js +43 -0
- package/dist/utils/phrase-renderer/index.js.map +1 -0
- package/dist/utils/{_string/pretty-objects.d.ts → phrase-renderer/phrases.d.ts} +1 -1
- package/dist/utils/phrase-renderer/phrases.d.ts.map +1 -0
- package/dist/utils/{_string/pretty-objects.js → phrase-renderer/phrases.js} +7 -7
- package/dist/utils/phrase-renderer/phrases.js.map +1 -0
- package/dist/utils/{_string/post-processor.d.ts → phrase-renderer/renderer.d.ts} +2 -2
- package/dist/utils/phrase-renderer/renderer.d.ts.map +1 -0
- package/dist/utils/{_string/post-processor.js → phrase-renderer/renderer.js} +4 -4
- package/dist/utils/phrase-renderer/renderer.js.map +1 -0
- package/dist/utils/types.d.ts +2 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/util.d.ts +6 -0
- package/dist/utils/util.d.ts.map +1 -0
- package/dist/utils/util.js +23 -0
- package/dist/utils/util.js.map +1 -0
- package/package.json +6 -4
- package/src/core/graph/entity.ts +20 -41
- package/src/core/graph/error.ts +7 -0
- package/src/core/graph/index.ts +2 -2
- package/src/core/graph/origin/dummy.ts +23 -0
- package/src/core/graph/origin/events.ts +21 -60
- package/src/core/graph/origin/exporter.ts +26 -24
- package/src/core/graph/origin/index.ts +5 -3
- package/src/core/graph/origin/kind-map/index.ts +57 -57
- package/src/core/graph/origin/origin.ts +144 -0
- package/src/core/graph/origin/props.ts +11 -0
- package/src/core/graph/origin/template.ts +36 -0
- package/src/core/graph/origin/tracker.ts +15 -26
- package/src/core/graph/origin/{node.ts → vertex.ts} +25 -22
- package/src/core/graph/relation.ts +8 -10
- package/src/core/graph/resource/creation-options.ts +27 -0
- package/src/core/graph/resource/dummy/base.ts +13 -0
- package/src/core/graph/resource/forward/error.ts +7 -0
- package/src/core/graph/resource/{reference/fw-ref-exports.ts → forward/exports.ts} +48 -43
- package/src/core/graph/resource/forward/index.ts +2 -0
- package/src/core/graph/resource/{reference/fw-ref.ts → forward/ref.ts} +76 -40
- package/src/core/graph/resource/gvk/0-base.ts +37 -0
- package/src/core/graph/resource/gvk/1-group.ts +23 -0
- package/src/core/graph/resource/gvk/2=version.ts +21 -0
- package/src/core/graph/resource/gvk/3-gvk.ts +56 -0
- package/src/core/graph/resource/gvk/4-subkind.ts +19 -0
- package/src/core/graph/resource/gvk/index.ts +5 -0
- package/src/core/graph/resource/gvk/strings.ts +3 -0
- package/src/core/graph/resource/ident/ident.ts +140 -0
- package/src/core/graph/resource/ident/index.ts +1 -0
- package/src/core/graph/resource/ident/parsing.ts +36 -0
- package/src/core/graph/resource/index.ts +10 -9
- package/src/core/graph/resource/k8s-resource.ts +98 -0
- package/src/core/graph/resource/part.ts +26 -0
- package/src/core/graph/resource/props.ts +11 -0
- package/src/core/graph/resource/ref.ts +33 -0
- package/src/core/graph/resource/resource.ts +78 -0
- package/src/core/graph/resource/vertex.ts +134 -0
- package/src/core/graph/{node.ts → vertex.ts} +35 -38
- package/src/core/manifest/index.ts +7 -18
- package/src/core/tracing/embedder.ts +4 -0
- package/src/core/tracing/git.ts +9 -9
- package/src/core/tracing/index.ts +2 -2
- package/src/core/tracing/{trace.ts → source.ts} +6 -6
- package/src/expressions/data-sources/env-var.ts +15 -33
- package/src/expressions/data-sources/error.ts +8 -0
- package/src/expressions/data-sources/index.ts +1 -1
- package/src/expressions/data-sources/interface.ts +14 -28
- package/src/expressions/data-sources/js-object.ts +39 -0
- package/src/expressions/data-sources/local-file.ts +55 -61
- package/src/expressions/network/error.ts +7 -0
- package/src/expressions/network/index.ts +5 -1
- package/src/expressions/network/ip/ip4.ts +14 -0
- package/src/expressions/network/ip/subnet4.ts +9 -0
- package/src/expressions/network/ports/{tools/entry.ts → entry.ts} +17 -15
- package/src/expressions/network/ports/mapping.ts +108 -0
- package/src/expressions/network/ports/{tools/parse.ts → parser.ts} +4 -4
- package/src/expressions/network/ports/provider.ts +193 -0
- package/src/expressions/network/ports/types.ts +23 -9
- package/src/expressions/quantities/error.ts +8 -0
- package/src/expressions/quantities/index.ts +11 -2
- package/src/expressions/quantities/reqs/objects.ts +85 -0
- package/src/expressions/quantities/{reqlem → reqs}/parser.ts +5 -5
- package/src/expressions/quantities/reqs/types.ts +35 -0
- package/src/expressions/quantities/reqs/values.ts +47 -0
- package/src/expressions/quantities/units/{units.ts → built-in.ts} +14 -7
- package/src/expressions/quantities/units/dimension.ts +47 -0
- package/src/expressions/quantities/units/parser.ts +11 -0
- package/src/expressions/quantities/units/types.ts +1 -0
- package/src/expressions/quantities/units/validator.ts +17 -0
- package/src/expressions/quantities/units/value.ts +22 -0
- package/src/expressions/quantities/util.ts +37 -0
- package/src/expressions/workload/cmd/cli-term.ts +13 -12
- package/src/expressions/workload/cmd/cmd-line.ts +103 -0
- package/src/expressions/workload/cmd/types.ts +4 -4
- package/src/expressions/workload/cronjob/parse-type.ts +58 -0
- package/src/expressions/workload/cronjob/shorthand.ts +37 -0
- package/src/expressions/workload/cronjob/stanza.ts +91 -0
- package/src/expressions/workload/cronjob/types.ts +3 -0
- package/src/expressions/workload/error.ts +7 -0
- package/src/expressions/workload/image/1-host.ts +31 -0
- package/src/expressions/workload/image/2-namespace.ts +49 -0
- package/src/expressions/workload/image/3-repository.ts +50 -0
- package/src/expressions/workload/image/4-image.ts +95 -0
- package/src/expressions/workload/image/index.ts +4 -1
- package/src/expressions/workload/image/types.ts +5 -0
- package/src/expressions/workload/index.ts +9 -3
- package/src/expressions/workload/owner/group.ts +30 -0
- package/src/expressions/workload/owner/index.ts +3 -0
- package/src/expressions/workload/owner/ownership.ts +26 -0
- package/src/expressions/workload/owner/user.ts +34 -0
- package/src/utils/index.ts +3 -3
- package/src/utils/{displayers → mixin/display}/displayers.ts +26 -20
- package/src/utils/{embedder → mixin/embedder}/base.ts +4 -2
- package/src/utils/mixin/embedder/index.ts +1 -0
- package/src/{expressions/network/ports → utils/mixin}/error.ts +2 -3
- package/src/utils/mixin/index.ts +2 -0
- package/src/utils/{_string/pretty-print.ts → phrase-renderer/index.ts} +5 -3
- package/src/utils/{_string/pretty-objects.ts → phrase-renderer/phrases.ts} +6 -6
- package/src/utils/{_string/post-processor.ts → phrase-renderer/renderer.ts} +1 -1
- package/src/utils/types.ts +1 -0
- package/src/utils/util.ts +24 -0
- package/dist/core/graph/node.d.ts.map +0 -1
- package/dist/core/graph/node.js.map +0 -1
- package/dist/core/graph/origin/entity.d.ts +0 -35
- package/dist/core/graph/origin/entity.d.ts.map +0 -1
- package/dist/core/graph/origin/entity.js.map +0 -1
- package/dist/core/graph/origin/external.d.ts +0 -14
- package/dist/core/graph/origin/external.d.ts.map +0 -1
- package/dist/core/graph/origin/external.js +0 -22
- package/dist/core/graph/origin/external.js.map +0 -1
- package/dist/core/graph/origin/node.d.ts +0 -23
- package/dist/core/graph/origin/node.d.ts.map +0 -1
- package/dist/core/graph/origin/node.js.map +0 -1
- package/dist/core/graph/origin/origin-events.d.ts +0 -41
- package/dist/core/graph/origin/origin-events.d.ts.map +0 -1
- package/dist/core/graph/origin/origin-events.js +0 -46
- package/dist/core/graph/origin/origin-events.js.map +0 -1
- package/dist/core/graph/resource/api-kind/index.d.ts +0 -54
- package/dist/core/graph/resource/api-kind/index.d.ts.map +0 -1
- package/dist/core/graph/resource/api-kind/index.js +0 -239
- package/dist/core/graph/resource/api-kind/index.js.map +0 -1
- package/dist/core/graph/resource/api-kind/pluralize.d.ts +0 -24
- package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +0 -1
- package/dist/core/graph/resource/api-kind/pluralize.js +0 -16
- package/dist/core/graph/resource/api-kind/pluralize.js.map +0 -1
- package/dist/core/graph/resource/child.d.ts +0 -11
- package/dist/core/graph/resource/child.d.ts.map +0 -1
- package/dist/core/graph/resource/child.js +0 -22
- package/dist/core/graph/resource/child.js.map +0 -1
- package/dist/core/graph/resource/entity.d.ts +0 -23
- package/dist/core/graph/resource/entity.d.ts.map +0 -1
- package/dist/core/graph/resource/entity.js.map +0 -1
- package/dist/core/graph/resource/external/base.d.ts +0 -14
- package/dist/core/graph/resource/external/base.d.ts.map +0 -1
- package/dist/core/graph/resource/external/base.js +0 -37
- package/dist/core/graph/resource/external/base.js.map +0 -1
- package/dist/core/graph/resource/external/features.d.ts +0 -2
- package/dist/core/graph/resource/external/features.d.ts.map +0 -1
- package/dist/core/graph/resource/external/features.js.map +0 -1
- package/dist/core/graph/resource/external/index.d.ts +0 -4
- package/dist/core/graph/resource/external/index.d.ts.map +0 -1
- package/dist/core/graph/resource/external/index.js.map +0 -1
- package/dist/core/graph/resource/external/props.d.ts +0 -15
- package/dist/core/graph/resource/external/props.d.ts.map +0 -1
- package/dist/core/graph/resource/external/props.js.map +0 -1
- package/dist/core/graph/resource/field.d.ts +0 -2
- package/dist/core/graph/resource/field.d.ts.map +0 -1
- package/dist/core/graph/resource/field.js.map +0 -1
- package/dist/core/graph/resource/node.d.ts +0 -30
- package/dist/core/graph/resource/node.d.ts.map +0 -1
- package/dist/core/graph/resource/node.js.map +0 -1
- package/dist/core/graph/resource/ref-key/index.d.ts +0 -2
- package/dist/core/graph/resource/ref-key/index.d.ts.map +0 -1
- package/dist/core/graph/resource/ref-key/index.js.map +0 -1
- package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +0 -1
- package/dist/core/graph/resource/ref-key/ref-key.js.map +0 -1
- package/dist/core/graph/resource/reference/error.d.ts +0 -5
- package/dist/core/graph/resource/reference/error.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/error.js +0 -11
- package/dist/core/graph/resource/reference/error.js.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +0 -46
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref-exports.js.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref.js.map +0 -1
- package/dist/core/graph/resource/reference/index.d.ts +0 -4
- package/dist/core/graph/resource/reference/index.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/index.js +0 -8
- package/dist/core/graph/resource/reference/index.js.map +0 -1
- package/dist/core/graph/resource/reference/refable.d.ts +0 -21
- package/dist/core/graph/resource/reference/refable.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/refable.js.map +0 -1
- package/dist/core/graph/resource/top.d.ts +0 -21
- package/dist/core/graph/resource/top.d.ts.map +0 -1
- package/dist/core/graph/resource/top.js +0 -73
- package/dist/core/graph/resource/top.js.map +0 -1
- package/dist/core/tracing/trace.d.ts +0 -11
- package/dist/core/tracing/trace.d.ts.map +0 -1
- package/dist/core/tracing/trace.js.map +0 -1
- package/dist/core/tracing/traced.d.ts +0 -4
- package/dist/core/tracing/traced.d.ts.map +0 -1
- package/dist/core/tracing/traced.js.map +0 -1
- package/dist/expressions/data-sources/base.d.ts +0 -30
- package/dist/expressions/data-sources/base.d.ts.map +0 -1
- package/dist/expressions/data-sources/base.js +0 -37
- package/dist/expressions/data-sources/base.js.map +0 -1
- package/dist/expressions/network/ip/index.d.ts +0 -14
- package/dist/expressions/network/ip/index.d.ts.map +0 -1
- package/dist/expressions/network/ip/index.js.map +0 -1
- package/dist/expressions/network/ports/error.d.ts +0 -5
- package/dist/expressions/network/ports/error.d.ts.map +0 -1
- package/dist/expressions/network/ports/error.js.map +0 -1
- package/dist/expressions/network/ports/index.d.ts +0 -7
- package/dist/expressions/network/ports/index.d.ts.map +0 -1
- package/dist/expressions/network/ports/index.js +0 -13
- package/dist/expressions/network/ports/index.js.map +0 -1
- package/dist/expressions/network/ports/map.d.ts.map +0 -1
- package/dist/expressions/network/ports/map.js +0 -68
- package/dist/expressions/network/ports/map.js.map +0 -1
- package/dist/expressions/network/ports/set.d.ts +0 -93
- package/dist/expressions/network/ports/set.d.ts.map +0 -1
- package/dist/expressions/network/ports/set.js +0 -125
- package/dist/expressions/network/ports/set.js.map +0 -1
- package/dist/expressions/network/ports/tools/entry.d.ts +0 -6
- package/dist/expressions/network/ports/tools/entry.d.ts.map +0 -1
- package/dist/expressions/network/ports/tools/entry.js.map +0 -1
- package/dist/expressions/network/ports/tools/parse.d.ts +0 -3
- package/dist/expressions/network/ports/tools/parse.d.ts.map +0 -1
- package/dist/expressions/network/ports/tools/parse.js.map +0 -1
- package/dist/expressions/quantities/reqlem/index.d.ts +0 -3
- package/dist/expressions/quantities/reqlem/index.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/index.js.map +0 -1
- package/dist/expressions/quantities/reqlem/objects.d.ts +0 -24
- package/dist/expressions/quantities/reqlem/objects.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/objects.js +0 -103
- package/dist/expressions/quantities/reqlem/objects.js.map +0 -1
- package/dist/expressions/quantities/reqlem/parser.d.ts +0 -4
- package/dist/expressions/quantities/reqlem/parser.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/parser.js.map +0 -1
- package/dist/expressions/quantities/reqlem/types.d.ts +0 -23
- package/dist/expressions/quantities/reqlem/types.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/types.js.map +0 -1
- package/dist/expressions/quantities/units/index.d.ts +0 -3
- package/dist/expressions/quantities/units/index.d.ts.map +0 -1
- package/dist/expressions/quantities/units/index.js +0 -22
- package/dist/expressions/quantities/units/index.js.map +0 -1
- package/dist/expressions/quantities/units/unit-parser.d.ts +0 -29
- package/dist/expressions/quantities/units/unit-parser.d.ts.map +0 -1
- package/dist/expressions/quantities/units/unit-parser.js +0 -85
- package/dist/expressions/quantities/units/unit-parser.js.map +0 -1
- package/dist/expressions/quantities/units/units.d.ts.map +0 -1
- package/dist/expressions/quantities/units/units.js +0 -35
- package/dist/expressions/quantities/units/units.js.map +0 -1
- package/dist/expressions/workload/_user/index.d.ts +0 -16
- package/dist/expressions/workload/_user/index.d.ts.map +0 -1
- package/dist/expressions/workload/_user/index.js +0 -33
- package/dist/expressions/workload/_user/index.js.map +0 -1
- package/dist/expressions/workload/cmd/cli-command.d.ts +0 -22
- package/dist/expressions/workload/cmd/cli-command.d.ts.map +0 -1
- package/dist/expressions/workload/cmd/cli-command.js.map +0 -1
- package/dist/expressions/workload/cmd/index.d.ts +0 -3
- package/dist/expressions/workload/cmd/index.d.ts.map +0 -1
- package/dist/expressions/workload/cmd/index.js +0 -7
- package/dist/expressions/workload/cmd/index.js.map +0 -1
- package/dist/expressions/workload/cronjob/index.d.ts +0 -57
- package/dist/expressions/workload/cronjob/index.d.ts.map +0 -1
- package/dist/expressions/workload/cronjob/index.js.map +0 -1
- package/dist/expressions/workload/image/family.d.ts +0 -30
- package/dist/expressions/workload/image/family.d.ts.map +0 -1
- package/dist/expressions/workload/image/family.js +0 -180
- package/dist/expressions/workload/image/family.js.map +0 -1
- package/dist/utils/_string/index.d.ts +0 -6
- package/dist/utils/_string/index.d.ts.map +0 -1
- package/dist/utils/_string/index.js +0 -22
- package/dist/utils/_string/index.js.map +0 -1
- package/dist/utils/_string/markers.d.ts +0 -3
- package/dist/utils/_string/markers.d.ts.map +0 -1
- package/dist/utils/_string/markers.js +0 -64
- package/dist/utils/_string/markers.js.map +0 -1
- package/dist/utils/_string/post-processor.d.ts.map +0 -1
- package/dist/utils/_string/post-processor.js.map +0 -1
- package/dist/utils/_string/pretty-objects.d.ts.map +0 -1
- package/dist/utils/_string/pretty-objects.js.map +0 -1
- package/dist/utils/_string/pretty-print.d.ts +0 -2
- package/dist/utils/_string/pretty-print.d.ts.map +0 -1
- package/dist/utils/_string/pretty-print.js +0 -27
- package/dist/utils/_string/pretty-print.js.map +0 -1
- package/dist/utils/_string/super-script.d.ts +0 -2
- package/dist/utils/_string/super-script.d.ts.map +0 -1
- package/dist/utils/_string/super-script.js +0 -20
- package/dist/utils/_string/super-script.js.map +0 -1
- package/dist/utils/displayers/displayers.d.ts.map +0 -1
- package/dist/utils/displayers/displayers.js.map +0 -1
- package/dist/utils/displayers/index.d.ts.map +0 -1
- package/dist/utils/displayers/index.js.map +0 -1
- package/dist/utils/embedder/base.d.ts.map +0 -1
- package/dist/utils/embedder/base.js.map +0 -1
- package/dist/utils/embedder/index.d.ts.map +0 -1
- package/dist/utils/embedder/index.js.map +0 -1
- package/dist/utils/tagged-template.d.ts +0 -2
- package/dist/utils/tagged-template.d.ts.map +0 -1
- package/dist/utils/tagged-template.js +0 -10
- package/dist/utils/tagged-template.js.map +0 -1
- package/src/core/graph/entities.md +0 -1
- package/src/core/graph/origin/entity.ts +0 -136
- package/src/core/graph/origin/external.ts +0 -21
- package/src/core/graph/origin/origin-events.ts +0 -86
- package/src/core/graph/readme.md +0 -161
- package/src/core/graph/resource/api-kind/index.ts +0 -171
- package/src/core/graph/resource/api-kind/pluralize.ts +0 -40
- package/src/core/graph/resource/child.ts +0 -23
- package/src/core/graph/resource/entity.ts +0 -73
- package/src/core/graph/resource/external/base.ts +0 -39
- package/src/core/graph/resource/external/index.ts +0 -3
- package/src/core/graph/resource/external/props.ts +0 -16
- package/src/core/graph/resource/field.ts +0 -0
- package/src/core/graph/resource/node.ts +0 -132
- package/src/core/graph/resource/ref-key/index.ts +0 -1
- package/src/core/graph/resource/ref-key/ref-key.ts +0 -156
- package/src/core/graph/resource/reference/error.ts +0 -7
- package/src/core/graph/resource/reference/index.ts +0 -3
- package/src/core/graph/resource/reference/refable.ts +0 -26
- package/src/core/graph/resource/top.ts +0 -82
- package/src/core/tracing/traced.ts +0 -4
- package/src/expressions/data-sources/base.ts +0 -38
- package/src/expressions/network/ip/index.ts +0 -17
- package/src/expressions/network/ports/index.ts +0 -8
- package/src/expressions/network/ports/map.ts +0 -88
- package/src/expressions/network/ports/set.ts +0 -178
- package/src/expressions/quantities/reqlem/index.ts +0 -2
- package/src/expressions/quantities/reqlem/objects.ts +0 -107
- package/src/expressions/quantities/reqlem/types.ts +0 -28
- package/src/expressions/quantities/units/index.ts +0 -2
- package/src/expressions/quantities/units/unit-parser.ts +0 -92
- package/src/expressions/workload/_user/index.ts +0 -24
- package/src/expressions/workload/cmd/cli-command.ts +0 -99
- package/src/expressions/workload/cmd/index.ts +0 -2
- package/src/expressions/workload/cronjob/index.ts +0 -166
- package/src/expressions/workload/image/family.ts +0 -87
- package/src/utils/_string/index.ts +0 -5
- package/src/utils/_string/markers.ts +0 -66
- package/src/utils/_string/super-script.ts +0 -17
- package/src/utils/tagged-template.ts +0 -6
- /package/dist/core/graph/{resource/external → origin}/props.js +0 -0
- /package/dist/{utils/embedder → core/graph/resource/dummy}/index.d.ts +0 -0
- /package/dist/{utils/embedder → core/graph/resource/dummy}/index.js +0 -0
- /package/dist/expressions/quantities/{reqlem → reqs}/types.js +0 -0
- /package/dist/utils/{displayers → mixin/display}/index.d.ts +0 -0
- /package/dist/utils/{displayers → mixin/display}/index.js +0 -0
- /package/dist/utils/{embedder → mixin/embedder}/base.d.ts +0 -0
- /package/src/{utils/embedder → core/graph/resource/dummy}/index.ts +0 -0
- /package/src/{core/graph/resource/external/features.ts → expressions/workload/image/util.ts} +0 -0
- /package/src/utils/{displayers → mixin/display}/index.ts +0 -0
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { AnyCtor } from "what-are-you"
|
|
2
|
-
import type { RefLike } from "../../entity"
|
|
3
|
-
import type { Ident_Like } from "../api-kind"
|
|
4
|
-
import type { Rsc_Node } from "../node"
|
|
5
|
-
export type Rsc_Ctor_Of<K extends Ident_Like = Ident_Like> = AnyCtor<Rsc_Ref<K>> & {
|
|
6
|
-
prototype: Rsc_Ref<K>
|
|
7
|
-
}
|
|
8
|
-
export type Rsc_Ref<
|
|
9
|
-
_Kind extends Ident_Like = Ident_Like,
|
|
10
|
-
Name extends string = string
|
|
11
|
-
> = RefLike & {
|
|
12
|
-
kind: _Kind
|
|
13
|
-
name: Name
|
|
14
|
-
namespace?: string
|
|
15
|
-
is<_Kind2 extends Ident_Like>(kind: _Kind2): this is Rsc_Ref<_Kind2>
|
|
16
|
-
equals(other: any): boolean
|
|
17
|
-
node: Rsc_Node
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type Rsc_Ref_Keys_Of<X extends Rsc_Ref, Else = never> = [X] extends [
|
|
21
|
-
{
|
|
22
|
-
keys: (infer K extends string)[]
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
? K
|
|
26
|
-
: Else
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import StackTracey from "stacktracey"
|
|
3
|
-
import { type Manifest, type Manifest_Ident, type Manifest_Metadata } from "../../manifest"
|
|
4
|
-
import { Trace, TraceEmbedder } from "../../tracing"
|
|
5
|
-
import type { Origin_Entity } from "../origin/entity"
|
|
6
|
-
import { OriginContextTracker } from "../origin/tracker"
|
|
7
|
-
import type { Ident_Kind } from "./api-kind"
|
|
8
|
-
import { Rsc_Entity } from "./entity"
|
|
9
|
-
export abstract class Rsc_Top<
|
|
10
|
-
Name extends string = string,
|
|
11
|
-
Props extends object = object
|
|
12
|
-
> extends Rsc_Entity<Name, Props> {
|
|
13
|
-
private readonly _origin: Origin_Entity
|
|
14
|
-
readonly meta: Meta
|
|
15
|
-
abstract readonly kind: Ident_Kind
|
|
16
|
-
|
|
17
|
-
get key() {
|
|
18
|
-
return this.kind.refKey({ name: this.name, namespace: this.namespace })
|
|
19
|
-
}
|
|
20
|
-
get disabled() {
|
|
21
|
-
return this.meta.tryGet("#k8ts.org/disabled", "") !== ""
|
|
22
|
-
}
|
|
23
|
-
set disabled(v: boolean) {
|
|
24
|
-
if (!v) {
|
|
25
|
-
this.meta.delete("#k8ts.org/disabled")
|
|
26
|
-
} else {
|
|
27
|
-
this.meta.add("#k8ts.org/disabled", "true")
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
constructor(name: Name, props: Props) {
|
|
31
|
-
super(name, props)
|
|
32
|
-
this.meta = Meta.make({
|
|
33
|
-
name
|
|
34
|
-
})
|
|
35
|
-
const lastOrigin = OriginContextTracker.current
|
|
36
|
-
if (!lastOrigin) {
|
|
37
|
-
throw new Error(
|
|
38
|
-
`ManifestResource ${this.name} must be created within an OriginEntity context`
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
this._origin = lastOrigin
|
|
42
|
-
this._origin["__attach_resource__"](this)
|
|
43
|
-
TraceEmbedder.add(this, new Trace(new StackTracey().slice(2)))
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
protected __origin__() {
|
|
47
|
-
return this._origin
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected __metadata__(): Manifest_Metadata {
|
|
51
|
-
const self = this
|
|
52
|
-
return {
|
|
53
|
-
name: self.meta.get("name"),
|
|
54
|
-
namespace: self.meta.tryGet("namespace"),
|
|
55
|
-
labels: self.meta.labels,
|
|
56
|
-
annotations: self.meta.annotations
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
protected __idents__(): Manifest_Ident {
|
|
61
|
-
return {
|
|
62
|
-
apiVersion: this.kind.parent!.text,
|
|
63
|
-
kind: this.kind.name
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
protected abstract body(): Promise<object> | object
|
|
68
|
-
|
|
69
|
-
protected async __manifest__(): Promise<Manifest> {
|
|
70
|
-
const a = {
|
|
71
|
-
...this.__idents__(),
|
|
72
|
-
metadata: this.__metadata__(),
|
|
73
|
-
...(await this.body())
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return a
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
get namespace() {
|
|
80
|
-
return this.meta.tryGet("namespace")
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { doddle, type DoddleAsync } from "doddle"
|
|
2
|
-
|
|
3
|
-
/** Unique symbol used to identify data source objects. */
|
|
4
|
-
export declare const DATA_SOURCE: unique symbol
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Lazy-loading data source that caches the result of a getter function. The getter is executed only
|
|
8
|
-
* once, and the result is memoized for subsequent calls.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* const lazy = new DataSource_Lazy(() => expensiveComputation())
|
|
12
|
-
* const value1 = await lazy.get() // Computes value
|
|
13
|
-
* const value2 = await lazy.get() // Returns cached value
|
|
14
|
-
*
|
|
15
|
-
* @typeParam T - The type of data this source provides
|
|
16
|
-
*/
|
|
17
|
-
export class DataSource_Lazy<T = any> {
|
|
18
|
-
private readonly _data: DoddleAsync<T>
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Creates a new lazy data source.
|
|
22
|
-
*
|
|
23
|
-
* @param getter - Function that computes or retrieves the value (can be async)
|
|
24
|
-
*/
|
|
25
|
-
constructor(getter: () => T | Promise<T>) {
|
|
26
|
-
this._data = doddle(async () => getter())
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Retrieves the value, computing it on first call and returning cached value on subsequent
|
|
31
|
-
* calls.
|
|
32
|
-
*
|
|
33
|
-
* @returns Promise resolving to the data value
|
|
34
|
-
*/
|
|
35
|
-
get() {
|
|
36
|
-
return this._data.pull()
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Address4 } from "ip-address"
|
|
2
|
-
|
|
3
|
-
export type Ip4_String = `${number}.${number}.${number}.${number}`
|
|
4
|
-
|
|
5
|
-
export class Ip4<Text extends Ip4_String = Ip4_String> {
|
|
6
|
-
readonly _addr4: Address4 | undefined
|
|
7
|
-
constructor(readonly text: Text) {
|
|
8
|
-
this._addr4 = new Address4(text)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export type Subnet4_String = `${number}.${number}.${number}.${number}/${number}`
|
|
12
|
-
export class Subnet4<Text extends Subnet4_String = Subnet4_String> {
|
|
13
|
-
readonly _addr4: Address4 | undefined
|
|
14
|
-
constructor(readonly text: Text) {
|
|
15
|
-
this._addr4 = new Address4(text)
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Port_Exports_Input } from "./set"
|
|
2
|
-
import { Port_Exports } from "./set"
|
|
3
|
-
export { Port_Map, type PortMapping_Input } from "./map"
|
|
4
|
-
export { Port_Exports, type Port_Exports_Input } from "./set"
|
|
5
|
-
export type { Port_Full, Port_Mapping_Entry } from "./types"
|
|
6
|
-
export function ports<Names extends string>(input: Port_Exports_Input<Names>): Port_Exports<Names> {
|
|
7
|
-
return Port_Exports.make(input)
|
|
8
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { filterMap, mapValues } from "@k8ts/metadata/util"
|
|
2
|
-
import { PortError } from "./error"
|
|
3
|
-
import type { Port_Mapping_Entry } from "./types"
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Represents an immutable mapping of named ports to their frontend/backend configuration.
|
|
7
|
-
*
|
|
8
|
-
* Used to define how container ports are exposed through services, mapping backend container ports
|
|
9
|
-
* to frontend service ports.
|
|
10
|
-
*
|
|
11
|
-
* @template Names The union type of all port names in the map.
|
|
12
|
-
*/
|
|
13
|
-
export class Port_Map<Names extends string> {
|
|
14
|
-
constructor(private readonly _map: Map<string, Port_Mapping_Entry>) {}
|
|
15
|
-
|
|
16
|
-
private _apply(
|
|
17
|
-
f: (map: Map<string, Port_Mapping_Entry>) => Map<string, Port_Mapping_Entry>
|
|
18
|
-
): Port_Map<any> {
|
|
19
|
-
return new Port_Map(f(this._map))
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Creates a new Port_Map containing only the specified port names.
|
|
24
|
-
*
|
|
25
|
-
* @param name The port names to include in the new map.
|
|
26
|
-
* @returns A new Port_Map with only the selected ports.
|
|
27
|
-
*/
|
|
28
|
-
pick<InNames extends Names>(...name: InNames[]): Port_Map<InNames> {
|
|
29
|
-
return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames)))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/** The underlying map of port names to their mapping entries. */
|
|
33
|
-
get values() {
|
|
34
|
-
return this._map
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Remaps the frontend ports to new values.
|
|
39
|
-
*
|
|
40
|
-
* @param mapping A record mapping port names to their new frontend port numbers.
|
|
41
|
-
* @returns A new Port_Map with updated frontend ports.
|
|
42
|
-
*/
|
|
43
|
-
map(mapping: Record<Names, number>): Port_Map<Names> {
|
|
44
|
-
return new Port_Map(
|
|
45
|
-
mapValues(this._map, entry => {
|
|
46
|
-
return {
|
|
47
|
-
...entry,
|
|
48
|
-
frontend: mapping[entry.name as keyof typeof mapping]
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Retrieves a port mapping entry by name.
|
|
56
|
-
*
|
|
57
|
-
* @param name The name of the port to retrieve.
|
|
58
|
-
* @returns The port mapping entry.
|
|
59
|
-
* @throws {PortError} If the port name is not found in the map.
|
|
60
|
-
*/
|
|
61
|
-
get(name: Names): Port_Mapping_Entry {
|
|
62
|
-
if (!this._map.has(name)) {
|
|
63
|
-
throw new PortError(`Port ${name} not found`)
|
|
64
|
-
}
|
|
65
|
-
return this._map.get(name) as Port_Mapping_Entry
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** Converts this Port_Map to a standard Map. */
|
|
69
|
-
toMap() {
|
|
70
|
-
return this._map
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Input type for creating port mappings.
|
|
76
|
-
*
|
|
77
|
-
* Each port name maps to either:
|
|
78
|
-
*
|
|
79
|
-
* - A number specifying the frontend port
|
|
80
|
-
* - `true` to use the same port number as the backend
|
|
81
|
-
*
|
|
82
|
-
* @template Names The union type of port names.
|
|
83
|
-
*/
|
|
84
|
-
export type PortMapping_Input<Names extends string = string> = [Names] extends [never]
|
|
85
|
-
? never
|
|
86
|
-
: {
|
|
87
|
-
[K in Names]: number | true
|
|
88
|
-
}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import { filterMap, mapValues, merge } from "@k8ts/metadata/util"
|
|
3
|
-
import { seq } from "doddle"
|
|
4
|
-
import { PortError } from "./error"
|
|
5
|
-
import { Port_Map, PortMapping_Input } from "./map"
|
|
6
|
-
import { parsePortInput, portRecordInput } from "./tools/entry"
|
|
7
|
-
import type {
|
|
8
|
-
Port_Basic_Input,
|
|
9
|
-
Port_Full,
|
|
10
|
-
Port_Full_Input,
|
|
11
|
-
Port_Input,
|
|
12
|
-
Port_Protocol_Input
|
|
13
|
-
} from "./types"
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* An immutable dictionary of named network ports exported by a container. Each port also has an
|
|
17
|
-
* attached configuration.
|
|
18
|
-
*
|
|
19
|
-
* @template Names All exported port names.
|
|
20
|
-
*/
|
|
21
|
-
export class Port_Exports<Names extends string = never> {
|
|
22
|
-
constructor(private readonly _map: Map<Names, Port_Full> = new Map()) {
|
|
23
|
-
for (const entry of _map.values()) {
|
|
24
|
-
Meta._checkNameValue(`container port '${entry.name}' (${entry.port})`, entry.name)
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
private _apply(f: (map: Map<string, Port_Full>) => Map<string, Port_Full>) {
|
|
29
|
-
return new Port_Exports(f(this._map))
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new Port_Exports that is the union of this and another Port_Exports.
|
|
34
|
-
*
|
|
35
|
-
* @param other The other Port_Exports to merge with.
|
|
36
|
-
* @returns A new Port_Exports containing ports from both dictionaries. The 2nd dictionary's
|
|
37
|
-
* ports will overwrite any with the same name from the first.
|
|
38
|
-
*/
|
|
39
|
-
union<InNames extends string>(other: Port_Exports<InNames>): Port_Exports<Names | InNames> {
|
|
40
|
-
return new Port_Exports(merge(this._map, other._map))
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Adds a port with explicit name, port number, and protocol.
|
|
45
|
-
*
|
|
46
|
-
* @param name The unique name for the port.
|
|
47
|
-
* @param port The port number.
|
|
48
|
-
* @param protocol The protocol (TCP or UDP).
|
|
49
|
-
*/
|
|
50
|
-
add<Name extends string>(
|
|
51
|
-
name: Name,
|
|
52
|
-
port: Port_Basic_Input,
|
|
53
|
-
protocol: Port_Protocol_Input
|
|
54
|
-
): Port_Exports<Names | Name>
|
|
55
|
-
/**
|
|
56
|
-
* Adds a port with a name and full port configuration.
|
|
57
|
-
*
|
|
58
|
-
* @param name The unique name for the port.
|
|
59
|
-
* @param entry The port configuration including number and protocol, and optional host
|
|
60
|
-
* settings.
|
|
61
|
-
*/
|
|
62
|
-
add<Name extends string>(name: Name, entry: Port_Full_Input): Port_Exports<Names | Name>
|
|
63
|
-
/**
|
|
64
|
-
* Adds multiple ports from a record of port configurations.
|
|
65
|
-
*
|
|
66
|
-
* @param input A record mapping port names to their configurations.
|
|
67
|
-
*/
|
|
68
|
-
add<InNames extends string>(input?: Port_Exports_Input<InNames>): Port_Exports<Names | InNames>
|
|
69
|
-
add(a: any, b?: any, c?: any): any {
|
|
70
|
-
if (!a) {
|
|
71
|
-
return this
|
|
72
|
-
}
|
|
73
|
-
if (c) {
|
|
74
|
-
return this._apply(map => map.set(a, { name: a, port: +b, protocol: c.toUpperCase() }))
|
|
75
|
-
}
|
|
76
|
-
if (b) {
|
|
77
|
-
return this._apply(map => map.set(a, parsePortInput(a, b)))
|
|
78
|
-
}
|
|
79
|
-
return this._apply(map => {
|
|
80
|
-
const processed = portRecordInput(a)
|
|
81
|
-
return merge(map, processed)
|
|
82
|
-
})
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Creates a new Port_Exports containing only the specified port names.
|
|
87
|
-
*
|
|
88
|
-
* @param name The port names to include.
|
|
89
|
-
* @returns A new Port_Exports with only the selected ports.
|
|
90
|
-
*/
|
|
91
|
-
pick<InNames extends Names>(...name: InNames[]): Port_Exports<InNames> {
|
|
92
|
-
return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames))) as any
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/** An array of all port names in this set. */
|
|
96
|
-
get names() {
|
|
97
|
-
return seq(this._map.keys()).toArray().pull() as Names[]
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Retrieves a port by name.
|
|
102
|
-
*
|
|
103
|
-
* @param name The name of the port to retrieve.
|
|
104
|
-
* @returns The full port configuration.
|
|
105
|
-
* @throws {PortError} If the port name is not found.
|
|
106
|
-
*/
|
|
107
|
-
get(name: Names): Port_Full {
|
|
108
|
-
if (!this._map.has(name)) {
|
|
109
|
-
throw new PortError(`Port ${name} not found`)
|
|
110
|
-
}
|
|
111
|
-
return this._map.get(name)!
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/** The underlying map of port names to their full configurations. */
|
|
115
|
-
get values() {
|
|
116
|
-
return this._map
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Creates a Port_Map by mapping each port to a frontend port number.
|
|
121
|
-
*
|
|
122
|
-
* @param mapping A record where each port name maps to either a frontend port number or `true`
|
|
123
|
-
* to use the backend port.
|
|
124
|
-
* @returns A new Port_Map with the specified frontend mappings.
|
|
125
|
-
* @throws {PortError} If a port name is missing from the mapping or has an invalid value.
|
|
126
|
-
*/
|
|
127
|
-
map(mapping: PortMapping_Input<Names>): Port_Map<Names> {
|
|
128
|
-
return new Port_Map(
|
|
129
|
-
mapValues(this._map, entry => {
|
|
130
|
-
if (!(entry.name in mapping)) {
|
|
131
|
-
throw new PortError(`Port ${entry.name} not found in mapping`)
|
|
132
|
-
}
|
|
133
|
-
const portIn = mapping[entry.name as keyof typeof mapping]
|
|
134
|
-
let portVal: number
|
|
135
|
-
if (typeof portIn === "boolean") {
|
|
136
|
-
portVal = entry.port
|
|
137
|
-
} else if (typeof portIn === "number") {
|
|
138
|
-
portVal = portIn
|
|
139
|
-
} else {
|
|
140
|
-
throw new PortError(
|
|
141
|
-
`Port ${entry.name} mapping value must be a number or boolean`
|
|
142
|
-
)
|
|
143
|
-
}
|
|
144
|
-
return {
|
|
145
|
-
name: entry.name,
|
|
146
|
-
protocol: entry.protocol,
|
|
147
|
-
backend: entry.name,
|
|
148
|
-
frontend: portVal as any
|
|
149
|
-
}
|
|
150
|
-
})
|
|
151
|
-
)
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Creates a new Port_Exports from a record of port configurations.
|
|
156
|
-
*
|
|
157
|
-
* @param input A record mapping port names to their configurations.
|
|
158
|
-
* @returns A new Port_Exports containing the specified ports.
|
|
159
|
-
*/
|
|
160
|
-
static make<Names extends string>(input?: Port_Exports_Input<Names>) {
|
|
161
|
-
return new Port_Exports().add(input)
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Input type for creating Port_Exports.
|
|
167
|
-
*
|
|
168
|
-
* A record mapping port names to their configurations, which can be:
|
|
169
|
-
*
|
|
170
|
-
* - A port number (uses TCP by default)
|
|
171
|
-
* - A tuple of `[port, protocol]`
|
|
172
|
-
* - A full port configuration object
|
|
173
|
-
*
|
|
174
|
-
* @template Names The union type of port names.
|
|
175
|
-
*/
|
|
176
|
-
export type Port_Exports_Input<Names extends string = string> = {
|
|
177
|
-
[K in Names]: Port_Input
|
|
178
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { mapFromObject, mapValues } from "@k8ts/metadata/util"
|
|
2
|
-
import { seq } from "doddle"
|
|
3
|
-
import { isEmpty, merge } from "lodash"
|
|
4
|
-
import { string, type Parjser } from "parjs"
|
|
5
|
-
import { mapConst, or } from "parjs/combinators"
|
|
6
|
-
import { InstrumentsError } from "../../../error"
|
|
7
|
-
import type { UnitParser, UnitValue } from "../units"
|
|
8
|
-
import { AnyUnitParser } from "../units/unit-parser"
|
|
9
|
-
import { createResourceParser } from "./parser"
|
|
10
|
-
import type { ReqLimit, Resources_ReqLimits_Trait, Resources_UnitMap_Trait } from "./types"
|
|
11
|
-
|
|
12
|
-
export class Resources_UnitMap<const RM extends Resources_UnitMap_Trait<RM>> {
|
|
13
|
-
constructor(private _map: Map<string, ReqLimit>) {}
|
|
14
|
-
|
|
15
|
-
toObject() {
|
|
16
|
-
const kubernetesForm = mapValues(this._map, (value, key) => {
|
|
17
|
-
const result = {} as any
|
|
18
|
-
if (value.request) {
|
|
19
|
-
result.requests = {
|
|
20
|
-
[key]: value.request.val
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (value.limit) {
|
|
24
|
-
result.limits = {
|
|
25
|
-
[key]: value.limit.val
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (!isEmpty(result)) {
|
|
29
|
-
return result
|
|
30
|
-
}
|
|
31
|
-
return undefined
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
return merge({}, ...kubernetesForm.values())
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export class ResourcesSpec<const RM extends Resources_UnitMap_Trait<RM>> {
|
|
39
|
-
readonly _unitParsers: Map<string, Parjser<UnitValue | undefined>>
|
|
40
|
-
readonly _reqLimitParsers: Map<string, Parjser<ReqLimit>>
|
|
41
|
-
readonly _anyUnitParser = AnyUnitParser.make()
|
|
42
|
-
readonly _anyReqLimitParser = createResourceParser(this._anyUnitParser)
|
|
43
|
-
constructor(_unitMap: Map<string, UnitParser>) {
|
|
44
|
-
const questionMarkParser = string("?").pipe(mapConst(undefined))
|
|
45
|
-
this._unitParsers = mapValues(_unitMap, parser =>
|
|
46
|
-
parser.parser.pipe(or(questionMarkParser))
|
|
47
|
-
)
|
|
48
|
-
this._reqLimitParsers = mapValues(_unitMap, parser => createResourceParser(parser))
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private _parseUnitValue(resource: string, input: string): UnitValue | undefined {
|
|
52
|
-
const pUnitValue = this._unitParsers.get(input)
|
|
53
|
-
if (!pUnitValue) {
|
|
54
|
-
throw new InstrumentsError(`No parser found for ${input}`)
|
|
55
|
-
}
|
|
56
|
-
return pUnitValue.parse(input).value
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private _parseReqLimit(resource: string, input: string): ReqLimit {
|
|
60
|
-
const pReqLimit = this._reqLimitParsers.get(resource)
|
|
61
|
-
if (!pReqLimit) {
|
|
62
|
-
return this._anyReqLimitParser.parse(input).value
|
|
63
|
-
}
|
|
64
|
-
return pReqLimit.parse(input).value
|
|
65
|
-
}
|
|
66
|
-
__INPUT__!: Resources_ReqLimits_Trait<RM>
|
|
67
|
-
|
|
68
|
-
parse<const R extends Resources_ReqLimits_Trait<RM>>(input: R): Resources_UnitMap<RM> {
|
|
69
|
-
const allKeys = new Set([...Object.keys(input), ...this._unitParsers.keys()])
|
|
70
|
-
const map = seq(allKeys)
|
|
71
|
-
.toMap(key => {
|
|
72
|
-
const getVal = () => {
|
|
73
|
-
const value = input[key as keyof R]
|
|
74
|
-
const pUnitValue = this._unitParsers.get(key) ?? this._anyUnitParser.parser
|
|
75
|
-
if (!pUnitValue) {
|
|
76
|
-
throw new InstrumentsError(`No parser found for ${String(key)}`)
|
|
77
|
-
}
|
|
78
|
-
if (!value) {
|
|
79
|
-
throw new InstrumentsError(`No value found for ${String(key)}`)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (Array.isArray(value)) {
|
|
83
|
-
const [req, limit] = value.map(v => {
|
|
84
|
-
return pUnitValue.parse(v as any).value
|
|
85
|
-
})
|
|
86
|
-
return {
|
|
87
|
-
request: req,
|
|
88
|
-
limit: limit
|
|
89
|
-
}
|
|
90
|
-
} else if (typeof value === "string") {
|
|
91
|
-
return this._parseReqLimit(key as string, value)
|
|
92
|
-
} else {
|
|
93
|
-
throw new InstrumentsError(`Invalid value for resource ${String(key)}`)
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return [key, getVal()] as const
|
|
97
|
-
})
|
|
98
|
-
.pull()
|
|
99
|
-
return new Resources_UnitMap(map as Map<string, ReqLimit>)
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
static make<const RM extends Resources_UnitMap_Trait<RM>>(unitMap: {
|
|
103
|
-
[K in keyof RM]: UnitParser<RM[K]>
|
|
104
|
-
}) {
|
|
105
|
-
return new ResourcesSpec<RM>(mapFromObject(unitMap as any) as Map<string, UnitParser>)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { UnitValue } from "../units/unit-parser"
|
|
2
|
-
export type Resources_sUnitTerm<Unit extends string> = `${number}${Unit}` | "?"
|
|
3
|
-
|
|
4
|
-
export type ReqLim_Array<Unit extends string> = [
|
|
5
|
-
Resources_sUnitTerm<Unit>,
|
|
6
|
-
Resources_sUnitTerm<Unit>
|
|
7
|
-
]
|
|
8
|
-
export type Resources_UnitMap_Trait<T> = Record<keyof T, string>
|
|
9
|
-
type _Spaces = "" | " " | " "
|
|
10
|
-
export type Resources_sToFrom<Unit extends string> =
|
|
11
|
-
`${Resources_sUnitTerm<Unit>}${_Spaces}->${_Spaces}${Resources_sUnitTerm<Unit>}`
|
|
12
|
-
export type Resources_sExactly<U extends string> = `=${Resources_sUnitTerm<U>}`
|
|
13
|
-
export interface ReqLimit<Unit extends string = string> {
|
|
14
|
-
readonly request?: UnitValue<Unit>
|
|
15
|
-
readonly limit?: UnitValue<Unit>
|
|
16
|
-
}
|
|
17
|
-
export type ReqLim_Input_Of<Unit extends string> =
|
|
18
|
-
| Resources_sToFrom<Unit>
|
|
19
|
-
| Resources_sExactly<Unit>
|
|
20
|
-
| ReqLim_Array<Unit>
|
|
21
|
-
type CustomResource = `${string}/${string}`
|
|
22
|
-
|
|
23
|
-
export type Resources_ReqLimits_Trait<ResourceUnit extends Resources_UnitMap_Trait<ResourceUnit>> =
|
|
24
|
-
{
|
|
25
|
-
[K in keyof ResourceUnit]: ReqLim_Input_Of<ResourceUnit[K]>
|
|
26
|
-
} & {
|
|
27
|
-
[K in CustomResource]?: ReqLim_Input_Of<string>
|
|
28
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { int, letter, type Parjser } from "parjs"
|
|
2
|
-
import { many, map, stringify, then } from "parjs/combinators"
|
|
3
|
-
import { InstrumentsError } from "../../../error"
|
|
4
|
-
const pUnit = letter().pipe(many(), stringify())
|
|
5
|
-
|
|
6
|
-
const pValueUnit = int().pipe(
|
|
7
|
-
then(pUnit),
|
|
8
|
-
map(arr => {
|
|
9
|
-
const [value, unit] = arr
|
|
10
|
-
return { value, unit }
|
|
11
|
-
})
|
|
12
|
-
)
|
|
13
|
-
export class UnitValue<Unit extends string = string> {
|
|
14
|
-
constructor(
|
|
15
|
-
readonly unit: Unit,
|
|
16
|
-
readonly value: number,
|
|
17
|
-
readonly type: string
|
|
18
|
-
) {}
|
|
19
|
-
|
|
20
|
-
get str() {
|
|
21
|
-
return `${this.value}${this.unit}`
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
get val() {
|
|
25
|
-
if (!this.unit) {
|
|
26
|
-
return +this.value
|
|
27
|
-
}
|
|
28
|
-
return this.str
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
toString() {
|
|
32
|
-
return this.str
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export abstract class UnitParser<const Unit extends string = string> {
|
|
37
|
-
readonly parser: Parjser<UnitValue<Unit>>
|
|
38
|
-
protected abstract _validate(unit: string): asserts unit is Unit
|
|
39
|
-
constructor(protected readonly _unitType: string) {
|
|
40
|
-
this.parser = pValueUnit.pipe(
|
|
41
|
-
map(({ value, unit }) => {
|
|
42
|
-
this._validate(unit)
|
|
43
|
-
|
|
44
|
-
return new UnitValue<Unit>(unit as any, value, this._unitType)
|
|
45
|
-
})
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
parse = (input: `${number}${Unit}`) => {
|
|
50
|
-
const pUnitValue = this.parser
|
|
51
|
-
const result = pUnitValue.parse(input)
|
|
52
|
-
if (result.kind !== "OK") {
|
|
53
|
-
throw new InstrumentsError(`Failed to parse ${this._unitType}`, {
|
|
54
|
-
more: result.trace.toString()
|
|
55
|
-
})
|
|
56
|
-
}
|
|
57
|
-
return result.value
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export class AnyUnitParser extends UnitParser<string> {
|
|
62
|
-
constructor() {
|
|
63
|
-
super("any")
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
_validate(_unit: string): void {
|
|
67
|
-
// Accept any unit
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
static make() {
|
|
71
|
-
return new AnyUnitParser()
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export class SetUnitParser<const Unit extends string = string> extends UnitParser<Unit> {
|
|
76
|
-
constructor(
|
|
77
|
-
unitType: string,
|
|
78
|
-
private readonly _units: Set<Unit>
|
|
79
|
-
) {
|
|
80
|
-
super(unitType)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
_validate(unit: string): asserts unit is Unit {
|
|
84
|
-
if (!this._units.has(unit as Unit)) {
|
|
85
|
-
throw new InstrumentsError(`Unit ${unit} is not a valid unit of type ${this._unitType}`)
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
static make<const Unit extends string>(unitType: string, units: Set<Unit>) {
|
|
90
|
-
return new SetUnitParser<Unit>(unitType, units)
|
|
91
|
-
}
|
|
92
|
-
}
|