@kici-dev/engine 0.1.26 → 0.2.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/approval/types.d.ts +11 -4
- package/dist/approval/types.js +11 -4
- package/dist/artifacts/name.d.ts +60 -0
- package/dist/artifacts/name.js +71 -0
- package/dist/audit/access-log-policy.d.ts +1 -1
- package/dist/audit/access-log-policy.js +20 -11
- package/dist/audit/activity.d.ts +12 -12
- package/dist/audit/retention-policy.js +40 -22
- package/dist/billing/plan-type.d.ts +53 -0
- package/dist/billing/plan-type.js +70 -0
- package/dist/bundler/rolldown-config.d.ts +3 -3
- package/dist/check-mode.d.ts +1 -1
- package/dist/context/concurrency-strategy.d.ts +34 -0
- package/dist/context/concurrency-strategy.js +35 -0
- package/dist/context/held-run-job-id.d.ts +45 -0
- package/dist/context/held-run-job-id.js +56 -0
- package/dist/context/held-run-status.d.ts +33 -0
- package/dist/context/held-run-status.js +37 -0
- package/dist/context/hold-expiry.d.ts +20 -0
- package/dist/context/hold-expiry.js +25 -0
- package/dist/context/hold-reason.d.ts +33 -0
- package/dist/context/hold-reason.js +23 -0
- package/dist/context/hold-type.d.ts +40 -0
- package/dist/context/hold-type.js +61 -0
- package/dist/{environment → context}/host-match.js +1 -1
- package/dist/context/index.d.ts +14 -0
- package/dist/context/index.js +12 -0
- package/dist/context/multi-context.d.ts +30 -0
- package/dist/context/multi-context.js +38 -0
- package/dist/context/scope-name.d.ts +29 -0
- package/dist/context/scope-name.js +49 -0
- package/dist/context/scope-resolver.d.ts +79 -0
- package/dist/{environment → context}/scope-resolver.js +47 -17
- package/dist/{environment → context}/scope-template.js +1 -1
- package/dist/{environment → context}/types.d.ts +25 -22
- package/dist/{environment → context}/types.js +3 -3
- package/dist/dev-ops/operations.d.ts +9 -1
- package/dist/dev-ops/operations.js +37 -20
- package/dist/diagnostics/infra-alert.d.ts +71 -0
- package/dist/diagnostics/infra-alert.js +60 -0
- package/dist/env/environment-allowlist.d.ts +26 -3
- package/dist/env/environment-allowlist.js +35 -1
- package/dist/fanout/materialize.d.ts +16 -0
- package/dist/fanout/materialize.js +34 -5
- package/dist/index.d.ts +16 -7
- package/dist/index.js +38 -23
- package/dist/inputs/descriptor.d.ts +9 -9
- package/dist/inventory.d.ts +4 -4
- package/dist/labels.d.ts +82 -2
- package/dist/labels.js +119 -1
- package/dist/matrix/expand.d.ts +49 -2
- package/dist/matrix/expand.js +102 -13
- package/dist/matrix/format.d.ts +6 -1
- package/dist/matrix/format.js +6 -1
- package/dist/mcp/held-run-resolve.d.ts +7 -10
- package/dist/mcp/held-run-resolve.js +33 -7
- package/dist/metrics/catalog-policy.js +4 -4
- package/dist/metrics/metric-catalog.generated.d.ts +954 -734
- package/dist/metrics/metric-catalog.generated.js +296 -32
- package/dist/metrics/metric-kind-compat.d.ts +26 -0
- package/dist/metrics/metric-kind-compat.js +33 -0
- package/dist/protocol/analytics-events.d.ts +6 -6
- package/dist/protocol/dashboard-api-errors.d.ts +13 -0
- package/dist/protocol/dashboard-api-errors.js +17 -0
- package/dist/protocol/dashboard-write-operations.d.ts +143 -86
- package/dist/protocol/dashboard-write-operations.js +143 -69
- package/dist/protocol/messages/access-log.d.ts +438 -388
- package/dist/protocol/messages/access-log.js +24 -14
- package/dist/protocol/messages/actor.d.ts +2 -2
- package/dist/protocol/messages/agent-dev-ops.d.ts +4 -2
- package/dist/protocol/messages/agent-dev-ops.js +2 -5
- package/dist/protocol/messages/agent-run-result.d.ts +74 -64
- package/dist/protocol/messages/agent-run-result.js +1 -1
- package/dist/protocol/messages/auth.d.ts +35 -23
- package/dist/protocol/messages/browser.d.ts +81 -5
- package/dist/protocol/messages/browser.js +53 -2
- package/dist/protocol/messages/capabilities.d.ts +106 -31
- package/dist/protocol/messages/capabilities.js +94 -10
- package/dist/protocol/messages/common.d.ts +45 -2
- package/dist/protocol/messages/common.js +64 -3
- package/dist/protocol/messages/dashboard-sealed-write.d.ts +52 -0
- package/dist/protocol/messages/dashboard-sealed-write.js +57 -0
- package/dist/protocol/messages/dashboard.d.ts +1232 -706
- package/dist/protocol/messages/dashboard.js +387 -220
- package/dist/protocol/messages/deployment-identity.d.ts +37 -10
- package/dist/protocol/messages/deployment-identity.js +30 -3
- package/dist/protocol/messages/event-log.d.ts +5 -5
- package/dist/protocol/messages/execution-status.d.ts +198 -62
- package/dist/protocol/messages/execution-status.js +114 -46
- package/dist/protocol/messages/heartbeat-health.d.ts +83 -0
- package/dist/protocol/messages/heartbeat-health.js +87 -0
- package/dist/protocol/messages/log-stream.d.ts +18 -0
- package/dist/protocol/messages/log-stream.js +19 -0
- package/dist/protocol/messages/oidc-mint.d.ts +7 -0
- package/dist/protocol/messages/oidc-mint.js +7 -0
- package/dist/protocol/messages/orchestrator-agent.d.ts +264 -67
- package/dist/protocol/messages/orchestrator-agent.js +170 -5
- package/dist/protocol/messages/pat-kind.d.ts +1 -1
- package/dist/protocol/messages/peer.d.ts +122 -58
- package/dist/protocol/messages/peer.js +37 -2
- package/dist/protocol/messages/platform-orchestrator.d.ts +603 -258
- package/dist/protocol/messages/platform-orchestrator.js +131 -21
- package/dist/protocol/messages/run-events.d.ts +5 -5
- package/dist/protocol/messages/scaler-event.d.ts +3 -3
- package/dist/protocol/messages/source-registration.d.ts +56 -13
- package/dist/protocol/messages/source-registration.js +49 -6
- package/dist/protocol/session-policy.d.ts +20 -0
- package/dist/protocol/session-policy.js +25 -0
- package/dist/protocol/source-origin.d.ts +1 -1
- package/dist/provenance/attestation-origin.d.ts +1 -1
- package/dist/provenance/schema.d.ts +11 -11
- package/dist/provenance/verify.js +2 -1
- package/dist/provider/changed-files-fetcher.d.ts +21 -2
- package/dist/provider/check-run-conclusion.d.ts +2 -2
- package/dist/provider/check-status-poster.d.ts +23 -0
- package/dist/provider/index.d.ts +2 -2
- package/dist/registration/registerable-trigger-type.d.ts +14 -13
- package/dist/registration/registerable-trigger-type.js +1 -0
- package/dist/sandbox/capabilities.d.ts +6 -0
- package/dist/sandbox/capabilities.js +57 -0
- package/dist/scaler/scaler-backend-type.d.ts +1 -1
- package/dist/status/presentation.d.ts +89 -0
- package/dist/status/presentation.js +163 -0
- package/dist/trigger/compiled-matchers.d.ts +13 -0
- package/dist/trigger/compiled-matchers.js +44 -0
- package/dist/trigger/event-buckets.d.ts +44 -0
- package/dist/trigger/event-buckets.js +93 -0
- package/dist/trigger/matcher.d.ts +7 -3
- package/dist/trigger/matcher.js +53 -15
- package/dist/trigger/schedule-key.d.ts +14 -0
- package/dist/trigger/schedule-key.js +21 -0
- package/dist/trigger/trigger-event-type.d.ts +1 -1
- package/dist/trigger/trigger-event-type.js +2 -0
- package/dist/trigger/types.d.ts +178 -47
- package/dist/trigger/types.js +82 -24
- package/dist/webhook/event-types.d.ts +56 -0
- package/dist/webhook/event-types.js +59 -0
- package/dist/ws/ws-like.d.ts +13 -0
- package/package.json +26 -10
- package/sbom.spdx.json +10 -10
- package/dist/environment/index.d.ts +0 -6
- package/dist/environment/index.js +0 -5
- package/dist/environment/multi-env.d.ts +0 -30
- package/dist/environment/multi-env.js +0 -38
- package/dist/environment/scope-resolver.d.ts +0 -46
- package/dist/package-manager.d.ts +0 -20
- package/dist/protocol/messages/observe.d.ts +0 -76
- package/dist/protocol/messages/saas-orchestrator.d.ts +0 -2179
- package/dist/protocol/messages/test-run.d.ts +0 -59
- package/dist/state-machine/index.d.ts +0 -2
- package/dist/state-machine/index.js +0 -3
- package/dist/state-machine/machine.d.ts +0 -34
- package/dist/state-machine/machine.js +0 -103
- package/dist/state-machine/types.d.ts +0 -34
- package/dist/state-machine/types.js +0 -15
- /package/dist/{environment → context}/host-match.d.ts +0 -0
- /package/dist/{environment → context}/scope-template.d.ts +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The metric-kind vocabulary shared by the orchestrator's push reporter, the
|
|
3
|
+
* Platform's admission filter, and the runtime-metrics drift guard.
|
|
4
|
+
*
|
|
5
|
+
* The catalog records the OTel instrument kind (`observableGauge`, …) while the
|
|
6
|
+
* wire carries a narrower set, so admission needs a compatibility relation
|
|
7
|
+
* rather than equality. Keeping one implementation is what stops the guard and
|
|
8
|
+
* the runtime path from disagreeing about which series are admissible.
|
|
9
|
+
*/
|
|
10
|
+
/** Metric kinds that appear on the orchestrator → Platform wire. */
|
|
11
|
+
export type WireMetricKind = 'counter' | 'histogram' | 'gauge' | 'upDownCounter';
|
|
12
|
+
/**
|
|
13
|
+
* OTel `DataPointType` enum values, mirrored as plain numbers so this module
|
|
14
|
+
* stays dependency-free. `@opentelemetry/sdk-metrics` is not an engine
|
|
15
|
+
* dependency and must not become one.
|
|
16
|
+
*/
|
|
17
|
+
export declare const OTEL_DATA_POINT_TYPE: {
|
|
18
|
+
readonly HISTOGRAM: 0;
|
|
19
|
+
readonly GAUGE: 2;
|
|
20
|
+
readonly SUM: 3;
|
|
21
|
+
};
|
|
22
|
+
/** Derive the wire kind from an OTel descriptor's data-point type. */
|
|
23
|
+
export declare function mapDataPointTypeToWireKind(dataPointType: number, isMonotonic?: boolean): WireMetricKind;
|
|
24
|
+
/** True when a wire kind may be admitted against a catalogued instrument kind. */
|
|
25
|
+
export declare function isCompatibleMetricKind(wire: WireMetricKind, catalog: string): boolean;
|
|
26
|
+
//# sourceMappingURL=metric-kind-compat.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "../rolldown-runtime-ClRpJifh.js";
|
|
2
|
+
//#region src/metrics/metric-kind-compat.ts
|
|
3
|
+
/**
|
|
4
|
+
* OTel `DataPointType` enum values, mirrored as plain numbers so this module
|
|
5
|
+
* stays dependency-free. `@opentelemetry/sdk-metrics` is not an engine
|
|
6
|
+
* dependency and must not become one.
|
|
7
|
+
*/
|
|
8
|
+
const OTEL_DATA_POINT_TYPE = {
|
|
9
|
+
HISTOGRAM: 0,
|
|
10
|
+
GAUGE: 2,
|
|
11
|
+
SUM: 3
|
|
12
|
+
};
|
|
13
|
+
/** Derive the wire kind from an OTel descriptor's data-point type. */
|
|
14
|
+
function mapDataPointTypeToWireKind(dataPointType, isMonotonic) {
|
|
15
|
+
switch (dataPointType) {
|
|
16
|
+
case OTEL_DATA_POINT_TYPE.HISTOGRAM: return "histogram";
|
|
17
|
+
case OTEL_DATA_POINT_TYPE.GAUGE: return "gauge";
|
|
18
|
+
case OTEL_DATA_POINT_TYPE.SUM: return isMonotonic === false ? "upDownCounter" : "counter";
|
|
19
|
+
default: return "gauge";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** True when a wire kind may be admitted against a catalogued instrument kind. */
|
|
23
|
+
function isCompatibleMetricKind(wire, catalog) {
|
|
24
|
+
if (wire === catalog) return true;
|
|
25
|
+
if (wire === "gauge" && catalog === "observableGauge") return true;
|
|
26
|
+
if (wire === "counter" && catalog === "observableCounter") return true;
|
|
27
|
+
if (wire === "upDownCounter" && catalog === "observableUpDownCounter") return true;
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { OTEL_DATA_POINT_TYPE, isCompatibleMetricKind, mapDataPointTypeToWireKind };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=metric-kind-compat.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const AnalyticsEvent: z.ZodEnum<{
|
|
3
|
+
billing_plan_selected: "billing_plan_selected";
|
|
4
|
+
code_copy: "code_copy";
|
|
5
|
+
cta_dashboard: "cta_dashboard";
|
|
6
|
+
docs_search: "docs_search";
|
|
3
7
|
login: "login";
|
|
4
8
|
org_created: "org_created";
|
|
9
|
+
run_viewed: "run_viewed";
|
|
5
10
|
secret_created: "secret_created";
|
|
6
11
|
workflow_run_triggered: "workflow_run_triggered";
|
|
7
|
-
run_viewed: "run_viewed";
|
|
8
|
-
billing_plan_selected: "billing_plan_selected";
|
|
9
|
-
code_copy: "code_copy";
|
|
10
|
-
docs_search: "docs_search";
|
|
11
|
-
cta_dashboard: "cta_dashboard";
|
|
12
12
|
}>;
|
|
13
13
|
export type AnalyticsEvent = z.infer<typeof AnalyticsEvent>;
|
|
14
14
|
/** The catalogue as a plain array (for build-time mirroring + tests). */
|
|
15
|
-
export declare const ANALYTICS_EVENTS: ("
|
|
15
|
+
export declare const ANALYTICS_EVENTS: ("billing_plan_selected" | "code_copy" | "cta_dashboard" | "docs_search" | "login" | "org_created" | "run_viewed" | "secret_created" | "workflow_run_triggered")[];
|
|
16
16
|
//# sourceMappingURL=analytics-events.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Structured `error` codes the Platform dashboard API returns in a JSON body,
|
|
4
|
+
* which the dashboard SPA special-cases when rendering. Shared so the emit
|
|
5
|
+
* sites (Platform) and the match site (dashboard) never drift on the literal.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DashboardApiErrorCode: z.ZodEnum<{
|
|
8
|
+
orchestrator_not_found: "orchestrator_not_found";
|
|
9
|
+
run_outside_retention: "run_outside_retention";
|
|
10
|
+
session_max_age_exceeded: "session_max_age_exceeded";
|
|
11
|
+
}>;
|
|
12
|
+
export type DashboardApiErrorCode = z.infer<typeof DashboardApiErrorCode>;
|
|
13
|
+
//# sourceMappingURL=dashboard-api-errors.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "../rolldown-runtime-ClRpJifh.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/protocol/dashboard-api-errors.ts
|
|
4
|
+
/**
|
|
5
|
+
* Structured `error` codes the Platform dashboard API returns in a JSON body,
|
|
6
|
+
* which the dashboard SPA special-cases when rendering. Shared so the emit
|
|
7
|
+
* sites (Platform) and the match site (dashboard) never drift on the literal.
|
|
8
|
+
*/
|
|
9
|
+
const DashboardApiErrorCode = z.enum([
|
|
10
|
+
"orchestrator_not_found",
|
|
11
|
+
"session_max_age_exceeded",
|
|
12
|
+
"run_outside_retention"
|
|
13
|
+
]);
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DashboardApiErrorCode };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=dashboard-api-errors.js.map
|
|
@@ -20,54 +20,54 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { z } from 'zod';
|
|
22
22
|
export declare const DashboardWriteOperation: z.ZodEnum<{
|
|
23
|
-
"secrets.set": "secrets.set";
|
|
24
|
-
"secrets.delete": "secrets.delete";
|
|
25
|
-
"secrets.scope.create": "secrets.scope.create";
|
|
26
|
-
"secrets.scope.rename": "secrets.scope.rename";
|
|
27
|
-
"secrets.scope.delete": "secrets.scope.delete";
|
|
28
|
-
"variables.set": "variables.set";
|
|
29
|
-
"variables.delete": "variables.delete";
|
|
30
|
-
"environments.create": "environments.create";
|
|
31
|
-
"environments.update": "environments.update";
|
|
32
|
-
"environments.test_access.set": "environments.test_access.set";
|
|
33
|
-
"environments.delete": "environments.delete";
|
|
34
|
-
"environments.bindings.set": "environments.bindings.set";
|
|
35
|
-
"environments.source_overrides.set": "environments.source_overrides.set";
|
|
36
|
-
"environments.source_overrides.delete": "environments.source_overrides.delete";
|
|
37
|
-
"held_runs.approve": "held_runs.approve";
|
|
38
|
-
"held_runs.reject": "held_runs.reject";
|
|
39
|
-
"event_dlq.retry": "event_dlq.retry";
|
|
40
|
-
"event_dlq.discard": "event_dlq.discard";
|
|
41
23
|
"attestations.retry": "attestations.retry";
|
|
42
|
-
"registration.disable": "registration.disable";
|
|
43
|
-
"registration.delete": "registration.delete";
|
|
44
|
-
"global_workflows.update": "global_workflows.update";
|
|
45
24
|
"backends.sync": "backends.sync";
|
|
46
25
|
"backends.sync_one": "backends.sync_one";
|
|
47
26
|
"backends.test": "backends.test";
|
|
27
|
+
"contexts.bindings.set": "contexts.bindings.set";
|
|
28
|
+
"contexts.create": "contexts.create";
|
|
29
|
+
"contexts.delete": "contexts.delete";
|
|
30
|
+
"contexts.source_overrides.delete": "contexts.source_overrides.delete";
|
|
31
|
+
"contexts.source_overrides.set": "contexts.source_overrides.set";
|
|
32
|
+
"contexts.test_access.set": "contexts.test_access.set";
|
|
33
|
+
"contexts.update": "contexts.update";
|
|
34
|
+
"event_dlq.discard": "event_dlq.discard";
|
|
35
|
+
"event_dlq.retry": "event_dlq.retry";
|
|
48
36
|
"fleet.host.declare": "fleet.host.declare";
|
|
49
37
|
"fleet.host.remove": "fleet.host.remove";
|
|
38
|
+
"global_workflows.update": "global_workflows.update";
|
|
39
|
+
"held_runs.approve": "held_runs.approve";
|
|
40
|
+
"held_runs.reject": "held_runs.reject";
|
|
41
|
+
"registration.delete": "registration.delete";
|
|
42
|
+
"registration.disable": "registration.disable";
|
|
43
|
+
"secrets.delete": "secrets.delete";
|
|
44
|
+
"secrets.scope.create": "secrets.scope.create";
|
|
45
|
+
"secrets.scope.delete": "secrets.scope.delete";
|
|
46
|
+
"secrets.scope.rename": "secrets.scope.rename";
|
|
47
|
+
"secrets.set": "secrets.set";
|
|
48
|
+
"variables.delete": "variables.delete";
|
|
49
|
+
"variables.set": "variables.set";
|
|
50
50
|
}>;
|
|
51
51
|
export type DashboardWriteOperation = z.infer<typeof DashboardWriteOperation>;
|
|
52
52
|
/** Stable list of every operation in enum-declaration order. */
|
|
53
53
|
export declare const DASHBOARD_WRITE_OPERATION_VALUES: readonly DashboardWriteOperation[];
|
|
54
54
|
export declare const DashboardWriteCategory: z.ZodEnum<{
|
|
55
|
-
|
|
56
|
-
Variables: "Variables";
|
|
57
|
-
Environments: "Environments";
|
|
55
|
+
Attestations: "Attestations";
|
|
58
56
|
Bindings: "Bindings";
|
|
59
|
-
|
|
57
|
+
Contexts: "Contexts";
|
|
60
58
|
DLQ: "DLQ";
|
|
61
|
-
|
|
59
|
+
Fleet: "Fleet";
|
|
60
|
+
"Held runs": "Held runs";
|
|
62
61
|
Registrations: "Registrations";
|
|
62
|
+
Secrets: "Secrets";
|
|
63
63
|
Topology: "Topology";
|
|
64
|
-
|
|
64
|
+
Variables: "Variables";
|
|
65
65
|
}>;
|
|
66
66
|
export type DashboardWriteCategory = z.infer<typeof DashboardWriteCategory>;
|
|
67
67
|
export declare const DashboardWriteSensitivity: z.ZodEnum<{
|
|
68
|
-
plaintext: "plaintext";
|
|
69
68
|
authority: "authority";
|
|
70
69
|
dispatch: "dispatch";
|
|
70
|
+
plaintext: "plaintext";
|
|
71
71
|
}>;
|
|
72
72
|
export type DashboardWriteSensitivity = z.infer<typeof DashboardWriteSensitivity>;
|
|
73
73
|
/**
|
|
@@ -98,87 +98,144 @@ export declare function getDashboardWriteOperationDescriptor(op: DashboardWriteO
|
|
|
98
98
|
export declare function getDashboardWriteOperationsByCategory(category: DashboardWriteCategory): readonly DashboardWriteOperationDescriptor[];
|
|
99
99
|
export declare function getDashboardWriteOperationsBySensitivity(sensitivity: DashboardWriteSensitivity): readonly DashboardWriteOperationDescriptor[];
|
|
100
100
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
101
|
+
* Per-operation dashboard-write posture.
|
|
102
|
+
*
|
|
103
|
+
* - `permissive` — the write is accepted and its plaintext value transits
|
|
104
|
+
* the hosted Platform process (today's default; the absent-key default).
|
|
105
|
+
* - `encrypted` — the write is accepted but the value is sealed in the
|
|
106
|
+
* browser to the orchestrator's published X25519 key, so the Platform
|
|
107
|
+
* relays only opaque ciphertext. Valid ONLY for `plaintext`-sensitivity
|
|
108
|
+
* operations (`secrets.set`, `variables.set`) — an operation with no
|
|
109
|
+
* plaintext payload has nothing to seal.
|
|
110
|
+
* - `disabled` — the write is refused; the operator must use the CLI.
|
|
111
|
+
*
|
|
112
|
+
* Absent from the sparse map ⇒ `permissive`.
|
|
104
113
|
*/
|
|
105
|
-
export
|
|
114
|
+
export declare const DashboardWritePolicyState: z.ZodEnum<{
|
|
115
|
+
disabled: "disabled";
|
|
116
|
+
encrypted: "encrypted";
|
|
117
|
+
permissive: "permissive";
|
|
118
|
+
}>;
|
|
119
|
+
export type DashboardWritePolicyState = z.infer<typeof DashboardWritePolicyState>;
|
|
106
120
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
121
|
+
* Coerce a single stored / on-the-wire policy value to a
|
|
122
|
+
* {@link DashboardWritePolicyState}. Older orchestrators (and pre-migration
|
|
123
|
+
* JSONB rows) carry the legacy boolean shape: `true` (enabled/permissive) and
|
|
124
|
+
* `false` (disabled). New peers carry the enum string directly. This keeps the
|
|
125
|
+
* protected wire + storage surfaces backward-compatible during the deprecation
|
|
126
|
+
* window — a boolean is never rejected, it is translated.
|
|
112
127
|
*/
|
|
113
|
-
export declare
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
export declare function coerceDashboardWritePolicyValue(value: unknown): DashboardWritePolicyState;
|
|
129
|
+
/**
|
|
130
|
+
* Map of operation → posture. Omitted operations default to `permissive`.
|
|
131
|
+
* The orch persists this shape verbatim as JSONB; the Platform mirrors it in
|
|
132
|
+
* its per-org cache.
|
|
133
|
+
*/
|
|
134
|
+
export type DashboardWritePolicyMap = Partial<Record<DashboardWriteOperation, DashboardWritePolicyState>>;
|
|
135
|
+
/**
|
|
136
|
+
* Validates a sparse policy map. Accepts BOTH the enum-string shape and the
|
|
137
|
+
* legacy boolean shape (coerced), so an older orchestrator's boolean map and a
|
|
138
|
+
* pre-migration JSONB row both parse. `encrypted` is rejected for any operation
|
|
139
|
+
* whose sensitivity is not `plaintext` (nothing to seal without a plaintext
|
|
140
|
+
* payload; the signing half that would cover authority/dispatch ops is a
|
|
141
|
+
* separate feature). Use this where the value is required but may be empty
|
|
142
|
+
* (e.g. the JSONB column on the orch). For optional fields on outer schemas,
|
|
143
|
+
* embed `dashboardWritePolicyMap` directly with `.optional()` so omission stays
|
|
144
|
+
* as `undefined` rather than being coerced to `{}`.
|
|
145
|
+
*/
|
|
146
|
+
export declare const dashboardWritePolicyMap: z.ZodPipe<z.ZodRecord<z.ZodEnum<{
|
|
132
147
|
"attestations.retry": "attestations.retry";
|
|
133
|
-
"registration.disable": "registration.disable";
|
|
134
|
-
"registration.delete": "registration.delete";
|
|
135
|
-
"global_workflows.update": "global_workflows.update";
|
|
136
148
|
"backends.sync": "backends.sync";
|
|
137
149
|
"backends.sync_one": "backends.sync_one";
|
|
138
150
|
"backends.test": "backends.test";
|
|
151
|
+
"contexts.bindings.set": "contexts.bindings.set";
|
|
152
|
+
"contexts.create": "contexts.create";
|
|
153
|
+
"contexts.delete": "contexts.delete";
|
|
154
|
+
"contexts.source_overrides.delete": "contexts.source_overrides.delete";
|
|
155
|
+
"contexts.source_overrides.set": "contexts.source_overrides.set";
|
|
156
|
+
"contexts.test_access.set": "contexts.test_access.set";
|
|
157
|
+
"contexts.update": "contexts.update";
|
|
158
|
+
"event_dlq.discard": "event_dlq.discard";
|
|
159
|
+
"event_dlq.retry": "event_dlq.retry";
|
|
139
160
|
"fleet.host.declare": "fleet.host.declare";
|
|
140
161
|
"fleet.host.remove": "fleet.host.remove";
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
"
|
|
162
|
+
"global_workflows.update": "global_workflows.update";
|
|
163
|
+
"held_runs.approve": "held_runs.approve";
|
|
164
|
+
"held_runs.reject": "held_runs.reject";
|
|
165
|
+
"registration.delete": "registration.delete";
|
|
166
|
+
"registration.disable": "registration.disable";
|
|
144
167
|
"secrets.delete": "secrets.delete";
|
|
145
168
|
"secrets.scope.create": "secrets.scope.create";
|
|
146
|
-
"secrets.scope.rename": "secrets.scope.rename";
|
|
147
169
|
"secrets.scope.delete": "secrets.scope.delete";
|
|
148
|
-
"
|
|
170
|
+
"secrets.scope.rename": "secrets.scope.rename";
|
|
171
|
+
"secrets.set": "secrets.set";
|
|
149
172
|
"variables.delete": "variables.delete";
|
|
150
|
-
"
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
"held_runs.approve": "held_runs.approve";
|
|
158
|
-
"held_runs.reject": "held_runs.reject";
|
|
159
|
-
"event_dlq.retry": "event_dlq.retry";
|
|
160
|
-
"event_dlq.discard": "event_dlq.discard";
|
|
173
|
+
"variables.set": "variables.set";
|
|
174
|
+
}> & z.core.$partial, z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
|
|
175
|
+
disabled: "disabled";
|
|
176
|
+
encrypted: "encrypted";
|
|
177
|
+
permissive: "permissive";
|
|
178
|
+
}>]>>, z.ZodTransform<Partial<Record<"attestations.retry" | "backends.sync" | "backends.sync_one" | "backends.test" | "contexts.bindings.set" | "contexts.create" | "contexts.delete" | "contexts.source_overrides.delete" | "contexts.source_overrides.set" | "contexts.test_access.set" | "contexts.update" | "event_dlq.discard" | "event_dlq.retry" | "fleet.host.declare" | "fleet.host.remove" | "global_workflows.update" | "held_runs.approve" | "held_runs.reject" | "registration.delete" | "registration.disable" | "secrets.delete" | "secrets.scope.create" | "secrets.scope.delete" | "secrets.scope.rename" | "secrets.set" | "variables.delete" | "variables.set", "disabled" | "encrypted" | "permissive">>, Partial<Record<"attestations.retry" | "backends.sync" | "backends.sync_one" | "backends.test" | "contexts.bindings.set" | "contexts.create" | "contexts.delete" | "contexts.source_overrides.delete" | "contexts.source_overrides.set" | "contexts.test_access.set" | "contexts.update" | "event_dlq.discard" | "event_dlq.retry" | "fleet.host.declare" | "fleet.host.remove" | "global_workflows.update" | "held_runs.approve" | "held_runs.reject" | "registration.delete" | "registration.disable" | "secrets.delete" | "secrets.scope.create" | "secrets.scope.delete" | "secrets.scope.rename" | "secrets.set" | "variables.delete" | "variables.set", "disabled" | "encrypted" | "permissive" | boolean>>>>;
|
|
179
|
+
export declare const dashboardWritePolicyMapSchema: z.ZodDefault<z.ZodPipe<z.ZodRecord<z.ZodEnum<{
|
|
161
180
|
"attestations.retry": "attestations.retry";
|
|
162
|
-
"registration.disable": "registration.disable";
|
|
163
|
-
"registration.delete": "registration.delete";
|
|
164
|
-
"global_workflows.update": "global_workflows.update";
|
|
165
181
|
"backends.sync": "backends.sync";
|
|
166
182
|
"backends.sync_one": "backends.sync_one";
|
|
167
183
|
"backends.test": "backends.test";
|
|
184
|
+
"contexts.bindings.set": "contexts.bindings.set";
|
|
185
|
+
"contexts.create": "contexts.create";
|
|
186
|
+
"contexts.delete": "contexts.delete";
|
|
187
|
+
"contexts.source_overrides.delete": "contexts.source_overrides.delete";
|
|
188
|
+
"contexts.source_overrides.set": "contexts.source_overrides.set";
|
|
189
|
+
"contexts.test_access.set": "contexts.test_access.set";
|
|
190
|
+
"contexts.update": "contexts.update";
|
|
191
|
+
"event_dlq.discard": "event_dlq.discard";
|
|
192
|
+
"event_dlq.retry": "event_dlq.retry";
|
|
168
193
|
"fleet.host.declare": "fleet.host.declare";
|
|
169
194
|
"fleet.host.remove": "fleet.host.remove";
|
|
170
|
-
|
|
195
|
+
"global_workflows.update": "global_workflows.update";
|
|
196
|
+
"held_runs.approve": "held_runs.approve";
|
|
197
|
+
"held_runs.reject": "held_runs.reject";
|
|
198
|
+
"registration.delete": "registration.delete";
|
|
199
|
+
"registration.disable": "registration.disable";
|
|
200
|
+
"secrets.delete": "secrets.delete";
|
|
201
|
+
"secrets.scope.create": "secrets.scope.create";
|
|
202
|
+
"secrets.scope.delete": "secrets.scope.delete";
|
|
203
|
+
"secrets.scope.rename": "secrets.scope.rename";
|
|
204
|
+
"secrets.set": "secrets.set";
|
|
205
|
+
"variables.delete": "variables.delete";
|
|
206
|
+
"variables.set": "variables.set";
|
|
207
|
+
}> & z.core.$partial, z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
|
|
208
|
+
disabled: "disabled";
|
|
209
|
+
encrypted: "encrypted";
|
|
210
|
+
permissive: "permissive";
|
|
211
|
+
}>]>>, z.ZodTransform<Partial<Record<"attestations.retry" | "backends.sync" | "backends.sync_one" | "backends.test" | "contexts.bindings.set" | "contexts.create" | "contexts.delete" | "contexts.source_overrides.delete" | "contexts.source_overrides.set" | "contexts.test_access.set" | "contexts.update" | "event_dlq.discard" | "event_dlq.retry" | "fleet.host.declare" | "fleet.host.remove" | "global_workflows.update" | "held_runs.approve" | "held_runs.reject" | "registration.delete" | "registration.disable" | "secrets.delete" | "secrets.scope.create" | "secrets.scope.delete" | "secrets.scope.rename" | "secrets.set" | "variables.delete" | "variables.set", "disabled" | "encrypted" | "permissive">>, Partial<Record<"attestations.retry" | "backends.sync" | "backends.sync_one" | "backends.test" | "contexts.bindings.set" | "contexts.create" | "contexts.delete" | "contexts.source_overrides.delete" | "contexts.source_overrides.set" | "contexts.test_access.set" | "contexts.update" | "event_dlq.discard" | "event_dlq.retry" | "fleet.host.declare" | "fleet.host.remove" | "global_workflows.update" | "held_runs.approve" | "held_runs.reject" | "registration.delete" | "registration.disable" | "secrets.delete" | "secrets.scope.create" | "secrets.scope.delete" | "secrets.scope.rename" | "secrets.set" | "variables.delete" | "variables.set", "disabled" | "encrypted" | "permissive" | boolean>>>>>;
|
|
212
|
+
/**
|
|
213
|
+
* Resolve the effective posture of an operation given a (possibly sparse)
|
|
214
|
+
* policy map. Treats `undefined` as the permissive default.
|
|
215
|
+
*/
|
|
216
|
+
export declare function resolvePolicyState(policy: DashboardWritePolicyMap | null | undefined, op: DashboardWriteOperation): DashboardWritePolicyState;
|
|
171
217
|
/**
|
|
172
|
-
* Resolve the effective state of an operation
|
|
173
|
-
*
|
|
218
|
+
* Resolve the effective enabled state of an operation. `true` unless the
|
|
219
|
+
* posture is `disabled`. Convenience for the many read-only "may this write
|
|
220
|
+
* proceed at all?" call sites.
|
|
174
221
|
*/
|
|
175
222
|
export declare function isDashboardWriteOperationEnabled(policy: DashboardWritePolicyMap | null | undefined, op: DashboardWriteOperation): boolean;
|
|
223
|
+
/** True only when the operation's posture is `encrypted`. */
|
|
224
|
+
export declare function isEncryptedState(policy: DashboardWritePolicyMap | null | undefined, op: DashboardWriteOperation): boolean;
|
|
176
225
|
/**
|
|
177
|
-
* Expand a (possibly sparse) policy map into the full effective
|
|
178
|
-
* for all 27 operations. Operations the policy doesn't mention come
|
|
179
|
-
* back as `true` (permissive).
|
|
180
|
-
* the
|
|
181
|
-
*
|
|
226
|
+
* Expand a (possibly sparse) policy map into the full effective enabled
|
|
227
|
+
* boolean for all 27 operations. Operations the policy doesn't mention come
|
|
228
|
+
* back as `true` (permissive). Retained for existing consumers that only need
|
|
229
|
+
* the enabled/disabled bit; {@link resolveFullPolicyStateView} exposes the
|
|
230
|
+
* richer tri-state.
|
|
182
231
|
*/
|
|
183
232
|
export declare function resolveFullPolicyView(policy: DashboardWritePolicyMap | null | undefined): Record<DashboardWriteOperation, boolean>;
|
|
233
|
+
/**
|
|
234
|
+
* Expand a (possibly sparse) policy map into the full tri-state posture for
|
|
235
|
+
* all 27 operations. Used by the orch HTTP admin response, the WS
|
|
236
|
+
* `orch.capabilities` broadcast, and the dashboard's policy page so consumers
|
|
237
|
+
* see the full picture (including which plaintext ops are `encrypted`), not the
|
|
238
|
+
* sparse storage shape.
|
|
239
|
+
*/
|
|
240
|
+
export declare function resolveFullPolicyStateView(policy: DashboardWritePolicyMap | null | undefined): Record<DashboardWriteOperation, DashboardWritePolicyState>;
|
|
184
241
|
//# sourceMappingURL=dashboard-write-operations.d.ts.map
|