@k8ts/instruments 0.6.0 → 0.8.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 +13 -0
- package/dist/core/graph/entity.d.ts.map +1 -0
- package/dist/core/graph/entity.js +27 -0
- package/dist/core/graph/entity.js.map +1 -0
- package/dist/core/graph/index.d.ts +6 -0
- package/dist/core/graph/index.d.ts.map +1 -0
- package/dist/core/graph/index.js +26 -0
- package/dist/core/graph/index.js.map +1 -0
- package/dist/core/graph/node.d.ts +24 -0
- package/dist/core/graph/node.d.ts.map +1 -0
- package/dist/core/graph/node.js +131 -0
- package/dist/core/graph/node.js.map +1 -0
- package/dist/core/graph/origin/entity.d.ts +32 -0
- package/dist/core/graph/origin/entity.d.ts.map +1 -0
- package/dist/core/graph/origin/entity.js +149 -0
- package/dist/core/graph/origin/entity.js.map +1 -0
- package/dist/core/graph/origin/events.d.ts +41 -0
- package/dist/core/graph/origin/events.d.ts.map +1 -0
- package/dist/core/graph/origin/events.js +46 -0
- package/dist/core/graph/origin/events.js.map +1 -0
- package/dist/core/graph/origin/exporter.d.ts +13 -0
- package/dist/core/graph/origin/exporter.d.ts.map +1 -0
- package/dist/core/graph/origin/exporter.js +94 -0
- package/dist/core/graph/origin/exporter.js.map +1 -0
- package/dist/core/graph/origin/index.d.ts +7 -0
- package/dist/core/graph/origin/index.d.ts.map +1 -0
- package/dist/core/graph/origin/index.js +23 -0
- package/dist/core/graph/origin/index.js.map +1 -0
- package/dist/core/graph/origin/kind-map/index.d.ts +36 -0
- package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -0
- package/dist/core/graph/origin/kind-map/index.js +195 -0
- package/dist/core/graph/origin/kind-map/index.js.map +1 -0
- package/dist/core/graph/origin/node.d.ts +23 -0
- package/dist/core/graph/origin/node.d.ts.map +1 -0
- package/dist/{graph/origin-node.js → core/graph/origin/node.js} +33 -78
- package/dist/core/graph/origin/node.js.map +1 -0
- package/dist/core/graph/origin/origin-events.d.ts +41 -0
- package/dist/core/graph/origin/origin-events.d.ts.map +1 -0
- package/dist/core/graph/origin/origin-events.js +46 -0
- package/dist/core/graph/origin/origin-events.js.map +1 -0
- package/dist/core/graph/origin/tracker.d.ts +19 -0
- package/dist/core/graph/origin/tracker.d.ts.map +1 -0
- package/dist/core/graph/origin/tracker.js +87 -0
- package/dist/core/graph/origin/tracker.js.map +1 -0
- package/dist/core/graph/relation.d.ts +7 -0
- package/dist/core/graph/relation.d.ts.map +1 -0
- package/dist/{graph/dependencies.js → core/graph/relation.js} +3 -13
- package/dist/core/graph/relation.js.map +1 -0
- package/dist/core/graph/resource/api-kind/index.d.ts +57 -0
- package/dist/core/graph/resource/api-kind/index.d.ts.map +1 -0
- package/dist/{api-kind → core/graph/resource/api-kind}/index.js +35 -15
- package/dist/core/graph/resource/api-kind/index.js.map +1 -0
- package/dist/core/graph/resource/api-kind/pluralize.d.ts +19 -0
- package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +1 -0
- package/dist/core/graph/resource/api-kind/pluralize.js +13 -0
- package/dist/core/graph/resource/api-kind/pluralize.js.map +1 -0
- package/dist/core/graph/resource/child.d.ts +10 -0
- package/dist/core/graph/resource/child.d.ts.map +1 -0
- package/dist/core/graph/resource/child.js +22 -0
- package/dist/core/graph/resource/child.js.map +1 -0
- package/dist/core/graph/resource/entity.d.ts +21 -0
- package/dist/core/graph/resource/entity.d.ts.map +1 -0
- package/dist/{graph/base-origin-entity.js → core/graph/resource/entity.js} +37 -34
- package/dist/core/graph/resource/entity.js.map +1 -0
- package/dist/core/graph/resource/index.d.ts +8 -0
- package/dist/core/graph/resource/index.d.ts.map +1 -0
- package/dist/core/graph/resource/index.js +24 -0
- package/dist/core/graph/resource/index.js.map +1 -0
- package/dist/core/graph/resource/node.d.ts +29 -0
- package/dist/core/graph/resource/node.d.ts.map +1 -0
- package/dist/{graph/resource-node.js → core/graph/resource/node.js} +23 -31
- package/dist/core/graph/resource/node.js.map +1 -0
- package/dist/core/graph/resource/ref-key/index.d.ts.map +1 -0
- package/dist/core/graph/resource/ref-key/index.js.map +1 -0
- package/dist/core/graph/resource/ref-key/ref-key.d.ts +18 -0
- package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +1 -0
- package/dist/core/graph/resource/ref-key/ref-key.js +58 -0
- package/dist/core/graph/resource/ref-key/ref-key.js.map +1 -0
- package/dist/core/graph/resource/reference/error.d.ts +5 -0
- package/dist/core/graph/resource/reference/error.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/error.js +11 -0
- package/dist/core/graph/resource/reference/error.js.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +15 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.js +133 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.js.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref.d.ts +25 -0
- package/dist/core/graph/resource/reference/fw-ref.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref.js +105 -0
- package/dist/core/graph/resource/reference/fw-ref.js.map +1 -0
- package/dist/core/graph/resource/reference/index.d.ts +4 -0
- package/dist/core/graph/resource/reference/index.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/index.js +8 -0
- package/dist/core/graph/resource/reference/index.js.map +1 -0
- package/dist/core/graph/resource/reference/refable.d.ts +17 -0
- package/dist/core/graph/resource/reference/refable.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/refable.js.map +1 -0
- package/dist/core/graph/resource/top.d.ts +18 -0
- package/dist/core/graph/resource/top.d.ts.map +1 -0
- package/dist/core/graph/resource/top.js +59 -0
- package/dist/core/graph/resource/top.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/manifest/index.d.ts +31 -0
- package/dist/core/manifest/index.d.ts.map +1 -0
- package/dist/core/manifest/index.js +6 -0
- package/dist/core/manifest/index.js.map +1 -0
- package/dist/{tracing → core/tracing}/git.d.ts +2 -1
- package/dist/core/tracing/git.d.ts.map +1 -0
- package/dist/{tracing → core/tracing}/git.js +20 -3
- package/dist/core/tracing/git.js.map +1 -0
- package/dist/core/tracing/index.d.ts.map +1 -0
- package/dist/core/tracing/index.js.map +1 -0
- package/dist/core/tracing/trace.d.ts.map +1 -0
- package/dist/core/tracing/trace.js.map +1 -0
- package/dist/{tracing → core/tracing}/traced.d.ts +1 -1
- package/dist/core/tracing/traced.d.ts.map +1 -0
- package/dist/core/tracing/traced.js +6 -0
- package/dist/core/tracing/traced.js.map +1 -0
- package/dist/error.d.ts +0 -3
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +1 -7
- package/dist/error.js.map +1 -1
- package/dist/{data-sources → expressions/data-sources}/index.d.ts +8 -9
- package/dist/expressions/data-sources/index.d.ts.map +1 -0
- package/dist/{data-sources → expressions/data-sources}/index.js +52 -34
- package/dist/expressions/data-sources/index.js.map +1 -0
- package/dist/expressions/index.d.ts +6 -0
- package/dist/expressions/index.d.ts.map +1 -0
- package/dist/{manifest → expressions}/index.js +5 -4
- package/dist/expressions/index.js.map +1 -0
- package/dist/expressions/network/index.d.ts +2 -0
- package/dist/expressions/network/index.d.ts.map +1 -0
- package/dist/{producer → expressions/network}/index.js +1 -1
- package/dist/expressions/network/index.js.map +1 -0
- package/dist/expressions/network/ip/index.d.ts.map +1 -0
- package/dist/expressions/network/ip/index.js.map +1 -0
- package/dist/expressions/network/ports/error.d.ts.map +1 -0
- package/dist/expressions/network/ports/error.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/index.d.ts +1 -1
- package/dist/expressions/network/ports/index.d.ts.map +1 -0
- package/dist/expressions/network/ports/index.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/map.d.ts +0 -1
- package/dist/expressions/network/ports/map.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/map.js +3 -2
- package/dist/expressions/network/ports/map.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/set.d.ts +0 -1
- package/dist/expressions/network/ports/set.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/set.js +8 -7
- package/dist/expressions/network/ports/set.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/tools/entry.d.ts +0 -1
- package/dist/expressions/network/ports/tools/entry.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/tools/entry.js +7 -5
- package/dist/expressions/network/ports/tools/entry.js.map +1 -0
- package/dist/expressions/network/ports/tools/parse.d.ts.map +1 -0
- package/dist/expressions/network/ports/tools/parse.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/types.d.ts +1 -1
- package/dist/expressions/network/ports/types.d.ts.map +1 -0
- package/dist/expressions/network/ports/types.js.map +1 -0
- package/dist/expressions/quantities/index.d.ts +3 -0
- package/dist/expressions/quantities/index.d.ts.map +1 -0
- package/dist/{forward-exports → expressions/quantities}/index.js +2 -1
- package/dist/expressions/quantities/index.js.map +1 -0
- package/dist/expressions/quantities/reqlem/index.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/index.js.map +1 -0
- package/dist/{resources → expressions/quantities/reqlem}/objects.d.ts +6 -7
- package/dist/expressions/quantities/reqlem/objects.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/objects.js +103 -0
- package/dist/expressions/quantities/reqlem/objects.js.map +1 -0
- package/dist/expressions/quantities/reqlem/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/parser.js.map +1 -0
- package/dist/expressions/quantities/reqlem/types.d.ts +23 -0
- package/dist/expressions/quantities/reqlem/types.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/types.js.map +1 -0
- package/dist/expressions/quantities/units/index.d.ts.map +1 -0
- package/dist/expressions/quantities/units/index.js.map +1 -0
- package/dist/{units → expressions/quantities/units}/unit-parser.d.ts +0 -1
- package/dist/expressions/quantities/units/unit-parser.d.ts.map +1 -0
- package/dist/{units → expressions/quantities/units}/unit-parser.js +1 -1
- package/dist/expressions/quantities/units/unit-parser.js.map +1 -0
- package/dist/{units → expressions/quantities/units}/units.d.ts +1 -1
- package/dist/expressions/quantities/units/units.d.ts.map +1 -0
- package/dist/{units → expressions/quantities/units}/units.js +3 -4
- package/dist/expressions/quantities/units/units.js.map +1 -0
- package/dist/expressions/timezone.d.ts.map +1 -0
- package/dist/{timezone.js.map → expressions/timezone.js.map} +1 -1
- package/dist/expressions/workload/_user/index.d.ts.map +1 -0
- package/dist/expressions/workload/_user/index.js.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-command.d.ts +7 -8
- package/dist/expressions/workload/cmd/cli-command.d.ts.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-command.js +15 -11
- package/dist/expressions/workload/cmd/cli-command.js.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-term.d.ts +7 -7
- package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-term.js +12 -12
- package/dist/expressions/workload/cmd/cli-term.js.map +1 -0
- package/dist/expressions/workload/cmd/index.d.ts +3 -0
- package/dist/expressions/workload/cmd/index.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/index.js.map +1 -0
- package/dist/expressions/workload/cmd/types.d.ts +5 -0
- package/dist/expressions/workload/cmd/types.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/types.js.map +1 -0
- package/dist/expressions/workload/cronjob/index.d.ts.map +1 -0
- package/dist/{_cronjob → expressions/workload/cronjob}/index.js +1 -1
- package/dist/expressions/workload/cronjob/index.js.map +1 -0
- package/dist/expressions/workload/cronjob/types.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/types.js.map +1 -0
- package/dist/expressions/workload/image/family.d.ts.map +1 -0
- package/dist/{image → expressions/workload/image}/family.js +1 -1
- package/dist/expressions/workload/image/family.js.map +1 -0
- package/dist/expressions/workload/image/index.d.ts.map +1 -0
- package/dist/expressions/workload/image/index.js.map +1 -0
- package/dist/expressions/workload/index.d.ts +5 -0
- package/dist/expressions/workload/index.d.ts.map +1 -0
- package/dist/expressions/workload/index.js +21 -0
- package/dist/expressions/workload/index.js.map +1 -0
- package/dist/index.d.ts +4 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -21
- package/dist/index.js.map +1 -1
- package/dist/utils/_string/index.d.ts.map +1 -0
- package/dist/utils/_string/index.js.map +1 -0
- package/dist/utils/_string/markers.d.ts.map +1 -0
- package/dist/utils/_string/markers.js.map +1 -0
- package/dist/utils/_string/post-processor.d.ts.map +1 -0
- package/dist/utils/_string/post-processor.js.map +1 -0
- package/dist/utils/_string/pretty-objects.d.ts.map +1 -0
- package/dist/utils/_string/pretty-objects.js.map +1 -0
- package/dist/utils/_string/pretty-print.d.ts.map +1 -0
- package/dist/utils/_string/pretty-print.js.map +1 -0
- package/dist/utils/_string/super-script.d.ts.map +1 -0
- package/dist/utils/_string/super-script.js.map +1 -0
- package/dist/utils/bind.d.ts +3 -0
- package/dist/utils/bind.d.ts.map +1 -0
- package/dist/{displayers → utils}/bind.js +2 -3
- package/dist/utils/bind.js.map +1 -0
- package/dist/{displayers → utils/displayers}/displayers.d.ts +2 -10
- package/dist/utils/displayers/displayers.d.ts.map +1 -0
- package/dist/{displayers → utils/displayers}/displayers.js +27 -8
- package/dist/utils/displayers/displayers.js.map +1 -0
- package/dist/utils/displayers/index.d.ts.map +1 -0
- package/dist/utils/displayers/index.js.map +1 -0
- package/dist/{_embedder → utils/embedder}/base.d.ts +2 -1
- package/dist/utils/embedder/base.d.ts.map +1 -0
- package/dist/{_embedder → utils/embedder}/base.js +8 -4
- package/dist/utils/embedder/base.js.map +1 -0
- package/dist/utils/embedder/index.d.ts.map +1 -0
- package/dist/utils/embedder/index.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +16 -16
- package/src/core/graph/entity.ts +35 -0
- package/src/core/graph/index.ts +5 -0
- package/src/core/graph/node.ts +139 -0
- package/src/core/graph/origin/entity.ts +118 -0
- package/src/core/graph/origin/events.ts +86 -0
- package/src/core/graph/origin/exporter.ts +62 -0
- package/src/core/graph/origin/index.ts +6 -0
- package/src/core/graph/origin/kind-map/index.ts +171 -0
- package/src/core/graph/origin/node.ts +75 -0
- package/src/core/graph/origin/origin-events.ts +86 -0
- package/src/core/graph/origin/tracker.ts +103 -0
- package/src/core/graph/relation.ts +17 -0
- package/src/core/graph/resource/api-kind/index.ts +176 -0
- package/src/core/graph/resource/api-kind/pluralize.ts +32 -0
- package/src/core/graph/resource/child.ts +26 -0
- package/src/core/graph/resource/entity.ts +58 -0
- package/src/core/graph/resource/index.ts +7 -0
- package/src/{graph/resource-node.ts → core/graph/resource/node.ts} +28 -40
- package/src/core/graph/resource/ref-key/ref-key.ts +62 -0
- package/src/core/graph/resource/reference/error.ts +7 -0
- package/src/core/graph/resource/reference/fw-ref-exports.ts +164 -0
- package/src/core/graph/resource/reference/fw-ref.ts +122 -0
- package/src/core/graph/resource/reference/index.ts +8 -0
- package/src/core/graph/resource/reference/refable.ts +24 -0
- package/src/core/graph/resource/top.ts +69 -0
- package/src/core/index.ts +4 -0
- package/src/{manifest → core/manifest}/index.ts +7 -22
- package/src/{tracing → core/tracing}/git.ts +20 -3
- package/src/{tracing → core/tracing}/traced.ts +1 -1
- package/src/error.ts +0 -6
- package/src/expressions/data-sources/index.ts +147 -0
- package/src/expressions/index.ts +5 -0
- package/src/expressions/network/index.ts +1 -0
- package/src/{ports → expressions/network/ports}/index.ts +1 -1
- package/src/{ports → expressions/network/ports}/map.ts +3 -3
- package/src/{ports → expressions/network/ports}/set.ts +8 -7
- package/src/{ports → expressions/network/ports}/tools/entry.ts +6 -4
- package/src/{ports → expressions/network/ports}/types.ts +1 -1
- package/src/expressions/quantities/index.ts +2 -0
- package/src/expressions/quantities/reqlem/objects.ts +107 -0
- package/src/expressions/quantities/reqlem/types.ts +28 -0
- package/src/{units → expressions/quantities/units}/unit-parser.ts +1 -2
- package/src/{units → expressions/quantities/units}/units.ts +3 -4
- package/src/{cmd → expressions/workload/cmd}/cli-command.ts +35 -31
- package/src/{cmd → expressions/workload/cmd}/cli-term.ts +9 -9
- package/src/expressions/workload/cmd/index.ts +2 -0
- package/src/expressions/workload/cmd/types.ts +4 -0
- package/src/{_cronjob → expressions/workload/cronjob}/index.ts +1 -1
- package/src/{image → expressions/workload/image}/family.ts +1 -1
- package/src/expressions/workload/index.ts +4 -0
- package/src/index.ts +5 -21
- package/src/{displayers → utils}/bind.ts +4 -4
- package/src/{displayers → utils/displayers}/displayers.ts +28 -20
- package/src/{_embedder → utils/embedder}/base.ts +9 -5
- package/src/utils/index.ts +4 -0
- package/dist/_cronjob/index.d.ts.map +0 -1
- package/dist/_cronjob/index.js.map +0 -1
- package/dist/_cronjob/types.d.ts.map +0 -1
- package/dist/_cronjob/types.js.map +0 -1
- package/dist/_embedder/base.d.ts.map +0 -1
- package/dist/_embedder/base.js.map +0 -1
- package/dist/_embedder/index.d.ts.map +0 -1
- package/dist/_embedder/index.js.map +0 -1
- package/dist/_ip/index.d.ts.map +0 -1
- package/dist/_ip/index.js.map +0 -1
- package/dist/_string/index.d.ts.map +0 -1
- package/dist/_string/index.js.map +0 -1
- package/dist/_string/markers.d.ts.map +0 -1
- package/dist/_string/markers.js.map +0 -1
- package/dist/_string/post-processor.d.ts.map +0 -1
- package/dist/_string/post-processor.js.map +0 -1
- package/dist/_string/pretty-objects.d.ts.map +0 -1
- package/dist/_string/pretty-objects.js.map +0 -1
- package/dist/_string/pretty-print.d.ts.map +0 -1
- package/dist/_string/pretty-print.js.map +0 -1
- package/dist/_string/super-script.d.ts.map +0 -1
- package/dist/_string/super-script.js.map +0 -1
- package/dist/_user/index.d.ts.map +0 -1
- package/dist/_user/index.js.map +0 -1
- package/dist/api-kind/index.d.ts +0 -45
- package/dist/api-kind/index.d.ts.map +0 -1
- package/dist/api-kind/index.js.map +0 -1
- package/dist/cmd/cli-command.d.ts.map +0 -1
- package/dist/cmd/cli-command.js.map +0 -1
- package/dist/cmd/cli-term.d.ts.map +0 -1
- package/dist/cmd/cli-term.js.map +0 -1
- package/dist/cmd/index.d.ts +0 -3
- package/dist/cmd/index.d.ts.map +0 -1
- package/dist/cmd/index.js.map +0 -1
- package/dist/cmd/types.d.ts +0 -5
- package/dist/cmd/types.d.ts.map +0 -1
- package/dist/cmd/types.js.map +0 -1
- package/dist/data-sources/index.d.ts.map +0 -1
- package/dist/data-sources/index.js.map +0 -1
- package/dist/displayers/bind.d.ts +0 -4
- package/dist/displayers/bind.d.ts.map +0 -1
- package/dist/displayers/bind.js.map +0 -1
- package/dist/displayers/displayers.d.ts.map +0 -1
- package/dist/displayers/displayers.js.map +0 -1
- package/dist/displayers/index.d.ts.map +0 -1
- package/dist/displayers/index.js.map +0 -1
- package/dist/forward-exports/delayed-exports.d.ts +0 -18
- package/dist/forward-exports/delayed-exports.d.ts.map +0 -1
- package/dist/forward-exports/delayed-exports.js +0 -115
- package/dist/forward-exports/delayed-exports.js.map +0 -1
- package/dist/forward-exports/index.d.ts +0 -2
- package/dist/forward-exports/index.d.ts.map +0 -1
- package/dist/forward-exports/index.js.map +0 -1
- package/dist/graph/base-node.d.ts +0 -35
- package/dist/graph/base-node.d.ts.map +0 -1
- package/dist/graph/base-node.js +0 -112
- package/dist/graph/base-node.js.map +0 -1
- package/dist/graph/base-origin-entity.d.ts +0 -19
- package/dist/graph/base-origin-entity.d.ts.map +0 -1
- package/dist/graph/base-origin-entity.js.map +0 -1
- package/dist/graph/dependencies.d.ts +0 -12
- package/dist/graph/dependencies.d.ts.map +0 -1
- package/dist/graph/dependencies.js.map +0 -1
- package/dist/graph/index.d.ts +0 -7
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -23
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/origin-node.d.ts +0 -32
- package/dist/graph/origin-node.d.ts.map +0 -1
- package/dist/graph/origin-node.js.map +0 -1
- package/dist/graph/relations.d.ts +0 -26
- package/dist/graph/relations.d.ts.map +0 -1
- package/dist/graph/relations.js +0 -36
- package/dist/graph/relations.js.map +0 -1
- package/dist/graph/resource-node.d.ts +0 -35
- package/dist/graph/resource-node.d.ts.map +0 -1
- package/dist/graph/resource-node.js.map +0 -1
- package/dist/image/family.d.ts.map +0 -1
- package/dist/image/family.js.map +0 -1
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js.map +0 -1
- package/dist/kind-map/index.d.ts +0 -44
- package/dist/kind-map/index.d.ts.map +0 -1
- package/dist/kind-map/index.js +0 -125
- package/dist/kind-map/index.js.map +0 -1
- package/dist/manifest/index.d.ts +0 -46
- package/dist/manifest/index.d.ts.map +0 -1
- package/dist/manifest/index.js.map +0 -1
- package/dist/manifest/manifest-builder.d.ts +0 -41
- package/dist/manifest/manifest-builder.d.ts.map +0 -1
- package/dist/manifest/manifest-builder.js +0 -64
- package/dist/manifest/manifest-builder.js.map +0 -1
- package/dist/ports/error.d.ts.map +0 -1
- package/dist/ports/error.js.map +0 -1
- package/dist/ports/index.d.ts.map +0 -1
- package/dist/ports/index.js.map +0 -1
- package/dist/ports/map.d.ts.map +0 -1
- package/dist/ports/map.js.map +0 -1
- package/dist/ports/set.d.ts.map +0 -1
- package/dist/ports/set.js.map +0 -1
- package/dist/ports/tools/entry.d.ts.map +0 -1
- package/dist/ports/tools/entry.js.map +0 -1
- package/dist/ports/tools/parse.d.ts.map +0 -1
- package/dist/ports/tools/parse.js.map +0 -1
- package/dist/ports/types.d.ts.map +0 -1
- package/dist/ports/types.js.map +0 -1
- package/dist/producer/index.d.ts +0 -2
- package/dist/producer/index.d.ts.map +0 -1
- package/dist/producer/index.js.map +0 -1
- package/dist/producer/producer.d.ts +0 -6
- package/dist/producer/producer.d.ts.map +0 -1
- package/dist/producer/producer.js +0 -13
- package/dist/producer/producer.js.map +0 -1
- package/dist/ref-key/index.d.ts.map +0 -1
- package/dist/ref-key/index.js.map +0 -1
- package/dist/ref-key/ref-key.d.ts +0 -23
- package/dist/ref-key/ref-key.d.ts.map +0 -1
- package/dist/ref-key/ref-key.js +0 -69
- package/dist/ref-key/ref-key.js.map +0 -1
- package/dist/reference/forward-ref.d.ts +0 -22
- package/dist/reference/forward-ref.d.ts.map +0 -1
- package/dist/reference/forward-ref.js +0 -113
- package/dist/reference/forward-ref.js.map +0 -1
- package/dist/reference/index.d.ts +0 -4
- package/dist/reference/index.d.ts.map +0 -1
- package/dist/reference/index.js +0 -8
- package/dist/reference/index.js.map +0 -1
- package/dist/reference/refable.d.ts +0 -9
- package/dist/reference/refable.d.ts.map +0 -1
- package/dist/reference/refable.js.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js.map +0 -1
- package/dist/resources/objects.d.ts.map +0 -1
- package/dist/resources/objects.js +0 -100
- package/dist/resources/objects.js.map +0 -1
- package/dist/resources/parser.d.ts.map +0 -1
- package/dist/resources/parser.js.map +0 -1
- package/dist/resources/types.d.ts +0 -24
- package/dist/resources/types.d.ts.map +0 -1
- package/dist/resources/types.js.map +0 -1
- package/dist/timezone.d.ts.map +0 -1
- package/dist/tracing/git.d.ts.map +0 -1
- package/dist/tracing/git.js.map +0 -1
- package/dist/tracing/index.d.ts.map +0 -1
- package/dist/tracing/index.js.map +0 -1
- package/dist/tracing/trace.d.ts.map +0 -1
- package/dist/tracing/trace.js.map +0 -1
- package/dist/tracing/traced.d.ts.map +0 -1
- package/dist/tracing/traced.js +0 -6
- package/dist/tracing/traced.js.map +0 -1
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/units/index.d.ts.map +0 -1
- package/dist/units/index.js.map +0 -1
- package/dist/units/unit-parser.d.ts.map +0 -1
- package/dist/units/unit-parser.js.map +0 -1
- package/dist/units/units.d.ts.map +0 -1
- package/dist/units/units.js.map +0 -1
- package/src/api-kind/index.ts +0 -142
- package/src/cmd/index.ts +0 -2
- package/src/cmd/types.ts +0 -4
- package/src/data-sources/index.ts +0 -126
- package/src/forward-exports/delayed-exports.ts +0 -157
- package/src/forward-exports/index.ts +0 -1
- package/src/graph/base-node.ts +0 -135
- package/src/graph/base-origin-entity.ts +0 -44
- package/src/graph/dependencies.ts +0 -30
- package/src/graph/index.ts +0 -6
- package/src/graph/origin-node.ts +0 -122
- package/src/graph/relations.ts +0 -62
- package/src/kind-map/index.ts +0 -150
- package/src/manifest/manifest-builder.ts +0 -99
- package/src/producer/index.ts +0 -1
- package/src/producer/producer.ts +0 -18
- package/src/ref-key/ref-key.ts +0 -76
- package/src/reference/forward-ref.ts +0 -122
- package/src/reference/index.ts +0 -3
- package/src/reference/refable.ts +0 -12
- package/src/resources/objects.ts +0 -102
- package/src/resources/types.ts +0 -30
- package/src/types.ts +0 -13
- /package/dist/{ref-key → core/graph/resource/ref-key}/index.d.ts +0 -0
- /package/dist/{ref-key → core/graph/resource/ref-key}/index.js +0 -0
- /package/dist/{reference → core/graph/resource/reference}/refable.js +0 -0
- /package/dist/{tracing → core/tracing}/index.d.ts +0 -0
- /package/dist/{tracing → core/tracing}/index.js +0 -0
- /package/dist/{tracing → core/tracing}/trace.d.ts +0 -0
- /package/dist/{tracing → core/tracing}/trace.js +0 -0
- /package/dist/{_ip → expressions/network/ip}/index.d.ts +0 -0
- /package/dist/{_ip → expressions/network/ip}/index.js +0 -0
- /package/dist/{ports → expressions/network/ports}/error.d.ts +0 -0
- /package/dist/{ports → expressions/network/ports}/error.js +0 -0
- /package/dist/{ports → expressions/network/ports}/index.js +0 -0
- /package/dist/{ports → expressions/network/ports}/tools/parse.d.ts +0 -0
- /package/dist/{ports → expressions/network/ports}/tools/parse.js +0 -0
- /package/dist/{_cronjob → expressions/network/ports}/types.js +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/index.d.ts +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/index.js +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/parser.d.ts +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/parser.js +0 -0
- /package/dist/{cmd → expressions/quantities/reqlem}/types.js +0 -0
- /package/dist/{units → expressions/quantities/units}/index.d.ts +0 -0
- /package/dist/{units → expressions/quantities/units}/index.js +0 -0
- /package/dist/{timezone.d.ts → expressions/timezone.d.ts} +0 -0
- /package/dist/{timezone.js → expressions/timezone.js} +0 -0
- /package/dist/{_user → expressions/workload/_user}/index.d.ts +0 -0
- /package/dist/{_user → expressions/workload/_user}/index.js +0 -0
- /package/dist/{cmd → expressions/workload/cmd}/index.js +0 -0
- /package/dist/{ports → expressions/workload/cmd}/types.js +0 -0
- /package/dist/{_cronjob → expressions/workload/cronjob}/index.d.ts +0 -0
- /package/dist/{_cronjob → expressions/workload/cronjob}/types.d.ts +0 -0
- /package/dist/{resources → expressions/workload/cronjob}/types.js +0 -0
- /package/dist/{image → expressions/workload/image}/family.d.ts +0 -0
- /package/dist/{image → expressions/workload/image}/index.d.ts +0 -0
- /package/dist/{image → expressions/workload/image}/index.js +0 -0
- /package/dist/{_string → utils/_string}/index.d.ts +0 -0
- /package/dist/{_string → utils/_string}/index.js +0 -0
- /package/dist/{_string → utils/_string}/markers.d.ts +0 -0
- /package/dist/{_string → utils/_string}/markers.js +0 -0
- /package/dist/{_string → utils/_string}/post-processor.d.ts +0 -0
- /package/dist/{_string → utils/_string}/post-processor.js +0 -0
- /package/dist/{_string → utils/_string}/pretty-objects.d.ts +0 -0
- /package/dist/{_string → utils/_string}/pretty-objects.js +0 -0
- /package/dist/{_string → utils/_string}/pretty-print.d.ts +0 -0
- /package/dist/{_string → utils/_string}/pretty-print.js +0 -0
- /package/dist/{_string → utils/_string}/super-script.d.ts +0 -0
- /package/dist/{_string → utils/_string}/super-script.js +0 -0
- /package/dist/{displayers → utils/displayers}/index.d.ts +0 -0
- /package/dist/{displayers → utils/displayers}/index.js +0 -0
- /package/dist/{_embedder → utils/embedder}/index.d.ts +0 -0
- /package/dist/{_embedder → utils/embedder}/index.js +0 -0
- /package/src/{ref-key → core/graph/resource/ref-key}/index.ts +0 -0
- /package/src/{tracing → core/tracing}/index.ts +0 -0
- /package/src/{tracing → core/tracing}/trace.ts +0 -0
- /package/src/{_ip → expressions/network/ip}/index.ts +0 -0
- /package/src/{ports → expressions/network/ports}/error.ts +0 -0
- /package/src/{ports → expressions/network/ports}/tools/parse.ts +0 -0
- /package/src/{resources → expressions/quantities/reqlem}/index.ts +0 -0
- /package/src/{resources → expressions/quantities/reqlem}/parser.ts +0 -0
- /package/src/{units → expressions/quantities/units}/index.ts +0 -0
- /package/src/{timezone.ts → expressions/timezone.ts} +0 -0
- /package/src/{_user → expressions/workload/_user}/index.ts +0 -0
- /package/src/{_cronjob → expressions/workload/cronjob}/types.ts +0 -0
- /package/src/{image → expressions/workload/image}/index.ts +0 -0
- /package/src/{_string → utils/_string}/index.ts +0 -0
- /package/src/{_string → utils/_string}/markers.ts +0 -0
- /package/src/{_string → utils/_string}/post-processor.ts +0 -0
- /package/src/{_string → utils/_string}/pretty-objects.ts +0 -0
- /package/src/{_string → utils/_string}/pretty-print.ts +0 -0
- /package/src/{_string → utils/_string}/super-script.ts +0 -0
- /package/src/{displayers → utils/displayers}/index.ts +0 -0
- /package/src/{_embedder → utils/embedder}/index.ts +0 -0
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
import { Embedder } from "
|
|
2
|
-
import {
|
|
3
|
-
export interface
|
|
1
|
+
import { Embedder } from "../../utils/embedder"
|
|
2
|
+
import { Resource_Entity } from "../graph/resource/entity"
|
|
3
|
+
export interface Manifest_Metadata {
|
|
4
4
|
labels: Record<string, string>
|
|
5
5
|
annotations: Record<string, string>
|
|
6
6
|
name: string
|
|
7
7
|
namespace?: string
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface Manifest_Ident {
|
|
10
10
|
kind: string
|
|
11
11
|
apiVersion: string
|
|
12
12
|
}
|
|
13
|
-
export interface BuilderInputTypes {
|
|
14
|
-
body: PreManifest
|
|
15
|
-
metadata?: ManifestMetadata
|
|
16
|
-
idents?: ManifestIdentFields
|
|
17
|
-
}
|
|
18
13
|
|
|
19
14
|
export type JsonSerializable =
|
|
20
15
|
| string
|
|
@@ -24,16 +19,7 @@ export type JsonSerializable =
|
|
|
24
19
|
| JsonSerializable[]
|
|
25
20
|
| { [key: string]: JsonSerializable }
|
|
26
21
|
|
|
27
|
-
export interface
|
|
28
|
-
metadata?: {
|
|
29
|
-
name?: string
|
|
30
|
-
namespace?: string
|
|
31
|
-
annotations?: Record<string, string>
|
|
32
|
-
labels?: Record<string, string>
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export interface BaseManifest {
|
|
36
|
-
[key: string]: JsonSerializable
|
|
22
|
+
export interface Manifest {
|
|
37
23
|
[key: number]: never
|
|
38
24
|
apiVersion: string
|
|
39
25
|
kind: string
|
|
@@ -45,9 +31,8 @@ export interface BaseManifest {
|
|
|
45
31
|
}
|
|
46
32
|
}
|
|
47
33
|
|
|
48
|
-
export interface SpecManifest<T extends JsonSerializable> extends
|
|
34
|
+
export interface SpecManifest<T extends JsonSerializable> extends Manifest {
|
|
49
35
|
spec: T
|
|
50
36
|
}
|
|
51
37
|
|
|
52
|
-
export const ManifestSourceEmbedder = new Embedder<object,
|
|
53
|
-
export * from "./manifest-builder"
|
|
38
|
+
export const ManifestSourceEmbedder = new Embedder<object, Resource_Entity>("ManifestSource")
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Meta } from "@k8ts/metadata"
|
|
1
2
|
import dayjs from "dayjs"
|
|
2
3
|
import simpleGit from "simple-git"
|
|
3
4
|
|
|
@@ -17,12 +18,20 @@ export interface GitTraceProps {
|
|
|
17
18
|
export class GitTrace {
|
|
18
19
|
private constructor(readonly props: GitTraceProps) {}
|
|
19
20
|
|
|
20
|
-
get
|
|
21
|
+
get metaFields() {
|
|
21
22
|
const hashPart = this.props.commit.sha.slice(0, 7)
|
|
22
23
|
const shortDate = dayjs(this.props.commit.date).format("YYYY-MM-DD")
|
|
23
24
|
const shortMessage = this.props.commit.message.split("\n")[0].slice(0, 20)
|
|
24
25
|
const author = this.props.commit.author
|
|
25
|
-
|
|
26
|
+
|
|
27
|
+
return Meta.make({
|
|
28
|
+
"git.k8ts.org/": {
|
|
29
|
+
"^sha": hashPart,
|
|
30
|
+
"^message": shortMessage,
|
|
31
|
+
"^author": author,
|
|
32
|
+
"^date": shortDate
|
|
33
|
+
}
|
|
34
|
+
})
|
|
26
35
|
}
|
|
27
36
|
|
|
28
37
|
static async make(options?: Partial<GitTraceOptions>) {
|
|
@@ -31,7 +40,15 @@ export class GitTrace {
|
|
|
31
40
|
absolute: false,
|
|
32
41
|
...options
|
|
33
42
|
}
|
|
34
|
-
|
|
43
|
+
try {
|
|
44
|
+
var sg = simpleGit(options.cwd)
|
|
45
|
+
} catch (err: any) {
|
|
46
|
+
if (err.code === "ENOENT") {
|
|
47
|
+
console.warn(`Git not found or not a repo; skipping git trace.`)
|
|
48
|
+
return undefined
|
|
49
|
+
}
|
|
50
|
+
throw err
|
|
51
|
+
}
|
|
35
52
|
const isRepo = await sg.checkIsRepo()
|
|
36
53
|
if (!isRepo) {
|
|
37
54
|
return undefined
|
package/src/error.ts
CHANGED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { doddle, DoddleAsync, seq, type Doddle } from "doddle"
|
|
2
|
+
import { readFile } from "fs/promises"
|
|
3
|
+
import { dirname, join, resolve } from "path"
|
|
4
|
+
import StackTracey from "stacktracey"
|
|
5
|
+
import { InstrumentsError } from "../../error"
|
|
6
|
+
export type DataSource_LocalFile_Mode = "text" | "binary"
|
|
7
|
+
|
|
8
|
+
export interface DataSource_LocalFile_Props<Mode extends DataSource_LocalFile_Mode = "text"> {
|
|
9
|
+
pointOfCall: StackTracey
|
|
10
|
+
path: string
|
|
11
|
+
cwd?: string
|
|
12
|
+
mode?: Mode
|
|
13
|
+
}
|
|
14
|
+
export class DataSource_LocalFile<Mode extends DataSource_LocalFile_Mode = "text"> {
|
|
15
|
+
constructor(private readonly _props: DataSource_LocalFile_Props<Mode>) {}
|
|
16
|
+
|
|
17
|
+
get cwd() {
|
|
18
|
+
if (this._props.cwd) {
|
|
19
|
+
return this._props.cwd
|
|
20
|
+
}
|
|
21
|
+
const where = this._props.pointOfCall.at(0)
|
|
22
|
+
return dirname(where.file)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
get path() {
|
|
26
|
+
const where = this._props.pointOfCall.at(0)
|
|
27
|
+
const joined = join(dirname(where.file), this._props.path)
|
|
28
|
+
return resolve(joined)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
contents = doddle(async () => {
|
|
32
|
+
const mode = this._props.mode ?? "text"
|
|
33
|
+
if (mode === "binary") {
|
|
34
|
+
const data = await readFile(this.path, null)
|
|
35
|
+
return data
|
|
36
|
+
}
|
|
37
|
+
return readFile(this.path, "utf-8")
|
|
38
|
+
}) as DoddleAsync<Mode extends "text" ? string : Uint8Array>
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function localFile<Mode extends DataSource_LocalFile_Mode = "text">(
|
|
42
|
+
path: string,
|
|
43
|
+
props?: Pick<DataSource_LocalFile_Props<Mode>, "cwd" | "mode">
|
|
44
|
+
): DataSource_LocalFile<Mode>
|
|
45
|
+
export function localFile(
|
|
46
|
+
args: TemplateStringsArray,
|
|
47
|
+
...params: any[]
|
|
48
|
+
): DataSource_LocalFile<"text">
|
|
49
|
+
export function localFile(args: any, ...params: any[]) {
|
|
50
|
+
if (typeof args === "string") {
|
|
51
|
+
const options = params[0] ?? {}
|
|
52
|
+
return new DataSource_LocalFile({
|
|
53
|
+
pointOfCall: new StackTracey().slice(1),
|
|
54
|
+
path: args,
|
|
55
|
+
...(options ?? {})
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
const path = String.raw(args, ...params)
|
|
59
|
+
return new DataSource_LocalFile({
|
|
60
|
+
pointOfCall: new StackTracey().slice(1),
|
|
61
|
+
path
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface TypedArrayLike {
|
|
66
|
+
buffer: ArrayBuffer
|
|
67
|
+
byteLength: number
|
|
68
|
+
}
|
|
69
|
+
export type DataSource_Text = DataSource_LocalFile<"text"> | string
|
|
70
|
+
export type DataSource_Binary = DataSource_LocalFile<"binary"> | TypedArrayLike | ArrayBuffer
|
|
71
|
+
export type DataSourceRecord_Text = Record<string, DataSource_Text>
|
|
72
|
+
export type DataSourceRecord_Binary = Record<string, DataSource_Binary>
|
|
73
|
+
export type DataSourceRecord = DataSourceRecord_Text | DataSourceRecord_Binary
|
|
74
|
+
export function isTypedArray(data: DataSource_Binary): data is TypedArrayLike {
|
|
75
|
+
return (
|
|
76
|
+
typeof data === "object" &&
|
|
77
|
+
"buffer" in data &&
|
|
78
|
+
"byteSize" in data &&
|
|
79
|
+
typeof data.byteSize === "number"
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
export function isArrayBuffer(data: DataSource_Binary): data is ArrayBuffer {
|
|
83
|
+
return data instanceof ArrayBuffer
|
|
84
|
+
}
|
|
85
|
+
export interface DataSourceResolvedRecord {
|
|
86
|
+
data: Record<string, string>
|
|
87
|
+
binaryData: Record<string, Uint8Array>
|
|
88
|
+
}
|
|
89
|
+
type MaybePromise<T> = T | Promise<T>
|
|
90
|
+
async function promiseAllMap<K, V>(m: Map<K, Doddle<MaybePromise<V>>>): Promise<Map<K, V>> {
|
|
91
|
+
const promises = seq(m)
|
|
92
|
+
.map(async x => [x[0], await x[1].pull()] as [K, V])
|
|
93
|
+
.toArray()
|
|
94
|
+
.pull()
|
|
95
|
+
const res = await Promise.all(promises)
|
|
96
|
+
return new Map(res)
|
|
97
|
+
}
|
|
98
|
+
export async function resolveText(record: DataSourceRecord_Text) {
|
|
99
|
+
const mp = seq(Object.entries(record))
|
|
100
|
+
.map(([k, v]) => {
|
|
101
|
+
return [
|
|
102
|
+
k,
|
|
103
|
+
doddle(async () => {
|
|
104
|
+
let resolved = v
|
|
105
|
+
if (v instanceof DataSource_LocalFile) {
|
|
106
|
+
resolved = await v.contents.pull()
|
|
107
|
+
}
|
|
108
|
+
if (typeof resolved !== "string") {
|
|
109
|
+
throw new InstrumentsError(
|
|
110
|
+
`Got an invalid data value ${v} for key ${k}. Must be a string.`
|
|
111
|
+
)
|
|
112
|
+
}
|
|
113
|
+
return resolved
|
|
114
|
+
})
|
|
115
|
+
] as const
|
|
116
|
+
})
|
|
117
|
+
.toMap(x => x)
|
|
118
|
+
.pull()
|
|
119
|
+
return promiseAllMap(mp)
|
|
120
|
+
}
|
|
121
|
+
export async function resolveBinary(record: DataSourceRecord_Binary) {
|
|
122
|
+
const mp = seq(Object.entries(record))
|
|
123
|
+
.map(([k, v]) => {
|
|
124
|
+
return [
|
|
125
|
+
k,
|
|
126
|
+
doddle(async () => {
|
|
127
|
+
let resolved = v as any
|
|
128
|
+
if (v instanceof DataSource_LocalFile) {
|
|
129
|
+
resolved = await v.contents.pull()
|
|
130
|
+
}
|
|
131
|
+
if (isTypedArray(resolved)) {
|
|
132
|
+
return new Uint8Array(resolved.buffer)
|
|
133
|
+
} else if (isArrayBuffer(resolved)) {
|
|
134
|
+
return new Uint8Array(resolved)
|
|
135
|
+
} else {
|
|
136
|
+
throw new InstrumentsError(
|
|
137
|
+
`Got an invalid data value ${v} for key ${k}. Must be binary data.`
|
|
138
|
+
)
|
|
139
|
+
}
|
|
140
|
+
})
|
|
141
|
+
] as const
|
|
142
|
+
})
|
|
143
|
+
.toMap(x => x)
|
|
144
|
+
.pull()
|
|
145
|
+
|
|
146
|
+
return promiseAllMap(mp)
|
|
147
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./ports"
|
|
@@ -2,7 +2,7 @@ import { PortSet } from "./set"
|
|
|
2
2
|
import type { InputPortSetRecord } from "./types"
|
|
3
3
|
export { PortMap } from "./map"
|
|
4
4
|
export { PortSet } from "./set"
|
|
5
|
-
export { InputPortMapping, InputPortSetRecord, PortMapEntry, PortSetEntry } from "./types"
|
|
5
|
+
export type { InputPortMapping, InputPortSetRecord, PortMapEntry, PortSetEntry } from "./types"
|
|
6
6
|
export function ports<Names extends string>(input: InputPortSetRecord<Names>): PortSet<Names> {
|
|
7
7
|
return PortSet.make(input)
|
|
8
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { filterMap, mapValues } from "@k8ts/metadata/util"
|
|
2
2
|
import { PortError } from "./error"
|
|
3
3
|
import type { PortMapEntry } from "./types"
|
|
4
4
|
export class PortMap<Names extends string> {
|
|
@@ -9,7 +9,7 @@ export class PortMap<Names extends string> {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
pick<InNames extends Names>(...name: InNames[]): PortMap<InNames> {
|
|
12
|
-
return this._apply(map => map
|
|
12
|
+
return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames)))
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
get values() {
|
|
@@ -18,7 +18,7 @@ export class PortMap<Names extends string> {
|
|
|
18
18
|
|
|
19
19
|
map(mapping: Record<Names, number>): PortMap<Names> {
|
|
20
20
|
return new PortMap(
|
|
21
|
-
this._map
|
|
21
|
+
mapValues(this._map, entry => {
|
|
22
22
|
return {
|
|
23
23
|
...entry,
|
|
24
24
|
frontend: mapping[entry.name as keyof typeof mapping]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import {
|
|
2
|
+
import { filterMap, mapValues, merge } from "@k8ts/metadata/util"
|
|
3
|
+
import { seq } from "doddle"
|
|
3
4
|
import { PortError } from "./error"
|
|
4
5
|
import { PortMap } from "./map"
|
|
5
6
|
import { parsePortInput, portRecordInput } from "./tools/entry"
|
|
@@ -14,7 +15,7 @@ import type {
|
|
|
14
15
|
|
|
15
16
|
declare const __NAMES__: unique symbol
|
|
16
17
|
export class PortSet<Names extends string = never> {
|
|
17
|
-
constructor(private readonly _map: Map<Names, PortSetEntry> = Map()) {
|
|
18
|
+
constructor(private readonly _map: Map<Names, PortSetEntry> = new Map()) {
|
|
18
19
|
for (const entry of _map.values()) {
|
|
19
20
|
Meta._checkNameValue(`container port '${entry.name}' (${entry.port})`, entry.name)
|
|
20
21
|
}
|
|
@@ -25,7 +26,7 @@ export class PortSet<Names extends string = never> {
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
union<InNames extends string>(other: PortSet<InNames>): PortSet<Names | InNames> {
|
|
28
|
-
return new PortSet(this._map
|
|
29
|
+
return new PortSet(merge(this._map, other._map))
|
|
29
30
|
}
|
|
30
31
|
add<Name extends string>(
|
|
31
32
|
name: Name,
|
|
@@ -46,16 +47,16 @@ export class PortSet<Names extends string = never> {
|
|
|
46
47
|
}
|
|
47
48
|
return this._apply(map => {
|
|
48
49
|
const processed = portRecordInput(a)
|
|
49
|
-
return
|
|
50
|
+
return merge(map, processed)
|
|
50
51
|
})
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
pick<InNames extends Names>(...name: InNames[]): PortSet<InNames> {
|
|
54
|
-
return this._apply(map => map
|
|
55
|
+
return this._apply(map => filterMap(map, (_, key) => name.includes(key as InNames))) as any
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
get names() {
|
|
58
|
-
return this._map.
|
|
59
|
+
return seq(this._map.keys()).toArray().pull() as Names[]
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
get(name: Names): PortSetEntry {
|
|
@@ -71,7 +72,7 @@ export class PortSet<Names extends string = never> {
|
|
|
71
72
|
|
|
72
73
|
map(mapping: InputPortMapping<Names>): PortMap<Names> {
|
|
73
74
|
return new PortMap(
|
|
74
|
-
this._map
|
|
75
|
+
mapValues(this._map, entry => {
|
|
75
76
|
if (!(entry.name in mapping)) {
|
|
76
77
|
throw new PortError(`Port ${entry.name} not found in mapping`)
|
|
77
78
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Ip4 } from "../../
|
|
1
|
+
import { seq } from "doddle"
|
|
2
|
+
import { Ip4 } from "../../ip"
|
|
3
3
|
import { PortSet } from "../set"
|
|
4
4
|
import type {
|
|
5
5
|
InputPortSetEntry,
|
|
@@ -39,6 +39,8 @@ export function portRecordInput(
|
|
|
39
39
|
if (record instanceof PortSet) {
|
|
40
40
|
return record.values
|
|
41
41
|
}
|
|
42
|
-
const inputMap =
|
|
43
|
-
|
|
42
|
+
const inputMap = seq(Object.entries(record))
|
|
43
|
+
.toMap(([k, v]) => [k, parsePortInput(k, v)])
|
|
44
|
+
.pull()
|
|
45
|
+
return inputMap
|
|
44
46
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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_Map<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_Map<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_Map(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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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,7 +1,6 @@
|
|
|
1
|
-
import type { Set } from "immutable"
|
|
2
1
|
import { int, letter, type Parjser } from "parjs"
|
|
3
2
|
import { many, map, stringify, then } from "parjs/combinators"
|
|
4
|
-
import { InstrumentsError } from "
|
|
3
|
+
import { InstrumentsError } from "../../../error"
|
|
5
4
|
const pUnit = letter().pipe(many(), stringify())
|
|
6
5
|
|
|
7
6
|
const pValueUnit = int().pipe(
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Set } from "immutable"
|
|
2
1
|
import { SetUnitParser } from "./unit-parser"
|
|
3
2
|
|
|
4
3
|
export type G = `${number}G`
|
|
@@ -45,9 +44,9 @@ export namespace Unit {
|
|
|
45
44
|
export type Time = m | h | d | s | ms
|
|
46
45
|
export type Any = Data | Cpu | Time
|
|
47
46
|
|
|
48
|
-
export const Cpu = SetUnitParser.make("cpu", Set(["m"]))
|
|
47
|
+
export const Cpu = SetUnitParser.make("cpu", new Set(["m"]))
|
|
49
48
|
|
|
50
|
-
export const Data = SetUnitParser.make("data", Set(["M", "G", "T", "K", "Mi", "Gi", "Ki"]))
|
|
49
|
+
export const Data = SetUnitParser.make("data", new Set(["M", "G", "T", "K", "Mi", "Gi", "Ki"]))
|
|
51
50
|
|
|
52
|
-
export const Time = SetUnitParser.make("time", Set(["m", "h", "d", "s", "ms"]))
|
|
51
|
+
export const Time = SetUnitParser.make("time", new Set(["m", "h", "d", "s", "ms"]))
|
|
53
52
|
}
|