@kici-dev/engine 0.1.15 → 0.1.16

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.
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Shared approval requirement + clause types.
3
+ *
4
+ * One normalized `ApprovalRequirement` is produced by both approval triggers —
5
+ * a mandatory environment policy and an explicit SDK `requireApproval` — and is
6
+ * consumed identically by the orchestrator gate, the resolver, the held-run
7
+ * store, and the agent step round-trip. Pure Zod (no node built-ins), so this
8
+ * module is safe in the browser-facing engine barrel.
9
+ */
10
+ import { z } from 'zod';
11
+ /**
12
+ * A single approver clause. `{ team }` is satisfied by any member of the named
13
+ * team; `{ user }` by that specific user. A flat AND list of clauses must all
14
+ * be satisfied to release a held element.
15
+ */
16
+ export declare const approverClauseSchema: z.ZodUnion<readonly [z.ZodObject<{
17
+ team: z.ZodString;
18
+ }, z.core.$strict>, z.ZodObject<{
19
+ user: z.ZodString;
20
+ }, z.core.$strict>]>;
21
+ export type ApproverClause = z.infer<typeof approverClauseSchema>;
22
+ /** Granularity of a held element. */
23
+ export declare const HoldScope: z.ZodEnum<{
24
+ job: "job";
25
+ step: "step";
26
+ workflow: "workflow";
27
+ }>;
28
+ export type HoldScope = z.infer<typeof HoldScope>;
29
+ /** What triggered the hold: an environment policy (mandatory) or SDK code (explicit). */
30
+ export declare const TriggerSource: z.ZodEnum<{
31
+ environment: "environment";
32
+ explicit: "explicit";
33
+ }>;
34
+ export type TriggerSource = z.infer<typeof TriggerSource>;
35
+ /**
36
+ * The normalized requirement attached to a held element. `clauses` is a flat
37
+ * AND list; an empty list means "any approval-capable org member". `expiresAt`
38
+ * is an ISO timestamp; on expiry the element is rejected.
39
+ */
40
+ export declare const approvalRequirementSchema: z.ZodObject<{
41
+ clauses: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
42
+ team: z.ZodString;
43
+ }, z.core.$strict>, z.ZodObject<{
44
+ user: z.ZodString;
45
+ }, z.core.$strict>]>>;
46
+ expiresAt: z.ZodString;
47
+ reason: z.ZodString;
48
+ }, z.core.$strip>;
49
+ export type ApprovalRequirement = z.infer<typeof approvalRequirementSchema>;
50
+ /** An individual approve/reject decision recorded against a held element. */
51
+ export declare const ApprovalDecision: z.ZodEnum<{
52
+ approve: "approve";
53
+ reject: "reject";
54
+ }>;
55
+ export type ApprovalDecision = z.infer<typeof ApprovalDecision>;
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,42 @@
1
+ import "../chunk-gOLHoazu.js";
2
+ import { z } from "zod";
3
+ //#region src/approval/types.ts
4
+ /**
5
+ * Shared approval requirement + clause types.
6
+ *
7
+ * One normalized `ApprovalRequirement` is produced by both approval triggers —
8
+ * a mandatory environment policy and an explicit SDK `requireApproval` — and is
9
+ * consumed identically by the orchestrator gate, the resolver, the held-run
10
+ * store, and the agent step round-trip. Pure Zod (no node built-ins), so this
11
+ * module is safe in the browser-facing engine barrel.
12
+ */
13
+ /**
14
+ * A single approver clause. `{ team }` is satisfied by any member of the named
15
+ * team; `{ user }` by that specific user. A flat AND list of clauses must all
16
+ * be satisfied to release a held element.
17
+ */
18
+ const approverClauseSchema = z.union([z.object({ team: z.string().min(1) }).strict(), z.object({ user: z.string().min(1) }).strict()]);
19
+ /** Granularity of a held element. */
20
+ const HoldScope = z.enum([
21
+ "workflow",
22
+ "job",
23
+ "step"
24
+ ]);
25
+ /** What triggered the hold: an environment policy (mandatory) or SDK code (explicit). */
26
+ const TriggerSource = z.enum(["environment", "explicit"]);
27
+ /**
28
+ * The normalized requirement attached to a held element. `clauses` is a flat
29
+ * AND list; an empty list means "any approval-capable org member". `expiresAt`
30
+ * is an ISO timestamp; on expiry the element is rejected.
31
+ */
32
+ const approvalRequirementSchema = z.object({
33
+ clauses: z.array(approverClauseSchema),
34
+ expiresAt: z.string(),
35
+ reason: z.string()
36
+ });
37
+ /** An individual approve/reject decision recorded against a held element. */
38
+ const ApprovalDecision = z.enum(["approve", "reject"]);
39
+ //#endregion
40
+ export { ApprovalDecision, HoldScope, TriggerSource, approvalRequirementSchema, approverClauseSchema };
41
+
42
+ //# sourceMappingURL=types.js.map
@@ -136,6 +136,8 @@ const POLICY_BY_ACTION = {
136
136
  "secret_scope.delete": { kind: "always" },
137
137
  "held_run.approve": { kind: "always" },
138
138
  "held_run.reject": { kind: "always" },
139
+ "held_run.request": { kind: "always" },
140
+ "held_run.expire": { kind: "always" },
139
141
  "registration.disable": { kind: "always" },
140
142
  "registration.delete": { kind: "always" },
141
143
  "backend.sync": { kind: "always" },
@@ -52,6 +52,8 @@ const ACCESS_LOG_WARM_DAYS = {
52
52
  "env_binding.set": 180,
53
53
  "held_run.approve": 180,
54
54
  "held_run.reject": 180,
55
+ "held_run.request": 180,
56
+ "held_run.expire": 180,
55
57
  "registration.disable": 180,
56
58
  "registration.delete": 180,
57
59
  "backend.sync": 180,
@@ -286,6 +288,8 @@ const ACCESS_LOG_COLD_DAYS = {
286
288
  "env_binding.set": 730,
287
289
  "held_run.approve": 730,
288
290
  "held_run.reject": 730,
291
+ "held_run.request": 730,
292
+ "held_run.expire": 730,
289
293
  "registration.disable": 730,
290
294
  "registration.delete": 730,
291
295
  "backend.sync": 730,
@@ -4,6 +4,7 @@
4
4
  * Environments are org-level entities that group secrets, variables,
5
5
  * and protection rules for deployment targets (dev, staging, production).
6
6
  */
7
+ import type { ApproverClause } from '../approval/types.js';
7
8
  /** Environment entity — org-level deployment target with protection rules. */
8
9
  export interface Environment {
9
10
  id: string;
@@ -94,5 +95,12 @@ export interface ProtectionGateResult {
94
95
  reason?: string;
95
96
  holdUntil?: string;
96
97
  holdType?: 'reviewer' | 'timer' | 'concurrency' | 'security';
98
+ /**
99
+ * Approver clauses for a reviewer hold, mapped from the environment's
100
+ * `requiredReviewers`. Each reviewer string maps to a `{ user }` clause
101
+ * (team-named reviewers are a documented follow-up). Empty/undefined means
102
+ * "any approval-capable member".
103
+ */
104
+ clauses?: ApproverClause[];
97
105
  }
98
106
  //# sourceMappingURL=types.d.ts.map
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@ export * from './protocol/messages/execution-status.js';
18
18
  export * from './protocol/messages/scaler-event.js';
19
19
  export * from './protocol/messages/event-log.js';
20
20
  export * from './protocol/messages/access-log.js';
21
+ export * from './approval/types.js';
21
22
  export * from './audit/access-log-policy.js';
22
23
  export * from './audit/retention-policy.js';
23
24
  export * from './audit/activity.js';
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ import { AccessLogAction, AccessLogOutcome, AccessLogSource, AccessLogTargetType
10
10
  import { browserJobContextSchema, browserRunEventSchema, dashboardOrchLogsRequestSchema, dashboardOrchLogsResponseSchema, jobContextMessageSchema, runEventMessageSchema } from "./protocol/messages/run-events.js";
11
11
  import { EventLogSource, EventLogStatus, PayloadOmittedReason } from "./protocol/messages/event-log.js";
12
12
  import { ScalerBackendType } from "./scaler/scaler-backend-type.js";
13
+ import { ApprovalDecision, HoldScope, TriggerSource, approvalRequirementSchema, approverClauseSchema } from "./approval/types.js";
13
14
  import { EnvDeleteErrorCode, EventLogPayloadStreamError, HeldRunQueueType, HeldRunStatus, backendGetRequestSchema, backendGetResponseSchema, backendItemSchema, backendSyncRequestSchema, backendSyncResponseSchema, backendTestRequestSchema, backendTestResponseSchema, backendsListRequestSchema, backendsListResponseSchema, backendsSyncAllRequestSchema, backendsSyncAllResponseSchema, browserEventLogPayloadChunkSchema, dashboardDiagnosticsRequestSchema, dashboardDiagnosticsResponseSchema, dashboardEventDlqCountRequestSchema, dashboardEventDlqDiscardRequestSchema, dashboardEventDlqListItemSchema, dashboardEventDlqListRequestSchema, dashboardEventDlqRetryRequestSchema, dashboardEventLogDetailRequestSchema, dashboardEventLogListRequestSchema, dashboardEventLogPayloadChunkSchema, dashboardEventLogPayloadStreamRequestSchema, dashboardJobDetailSchema, dashboardOrchToPlatformSchema, dashboardPayloadRequestSchema, dashboardPlatformToOrchSchema, dashboardRunDetailApiResponseSchema, dashboardRunDetailRequestSchema, dashboardRunDetailResponseSchema, dashboardRunSummarySchema, dashboardRunsFiltersRequestSchema, dashboardRunsFiltersResponseSchema, dashboardRunsListRequestSchema, dashboardRunsListResponseSchema, dashboardScalerAgentsRequestSchema, dashboardScalerAgentsResponseSchema, dashboardScalerCapacityRequestSchema, dashboardScalerCapacityResponseSchema, dashboardSourceSummarySchema, dashboardSourcesListRequestSchema, dashboardSourcesListResponseSchema, dashboardStepLogsApiResponseSchema, dashboardStepLogsRequestSchema, dashboardStepLogsResponseSchema, envBindingsListRequestSchema, envBindingsSetRequestSchema, envCreateRequestSchema, envDeleteRequestSchema, envGetRequestSchema, envHistoryRequestSchema, envListRequestSchema, envSecretDeleteRequestSchema, envSecretScopeCreateRequestSchema, envSecretScopeDeleteRequestSchema, envSecretScopeRenameRequestSchema, envSecretSetRequestSchema, envSecretsListRequestSchema, envSourceOverrideDeleteRequestSchema, envSourceOverrideSetRequestSchema, envSourceOverridesListRequestSchema, envTestAccessSetRequestSchema, envUpdateRequestSchema, envVarDeleteRequestSchema, envVarSetRequestSchema, envVarsListRequestSchema, eventLogListItemSchema, heldRunApproveRequestSchema, heldRunRejectRequestSchema, heldRunsListRequestSchema, identityLinkItemSchema, identityLinkListResponseSchema, manualScheduleRequestSchema, memberIdentityLinkSchema, memberListResponseSchema, memberRoleAssignmentSchema, orgMemberSchema, registrationDeleteRequestSchema, registrationDisableRequestSchema, registrationItemSchema, registrationsListRequestSchema, registrationsListResponseSchema, runCancelRequestSchema, runEventSchema, runLineageResponseSchema, runRerunRequestSchema, trustPolicyResponseSchema } from "./protocol/messages/dashboard.js";
14
15
  import { WEBHOOK_RELAY_CHUNK_SIZE, WEBHOOK_RELAY_MAX_BODY_BYTES, WebhookRelayResult, cacheStatsSchema, executionEventSchema, logChunkSchema, orchMetricsSchema, orchestratorToPlatformMessageSchema, peerDiscoverSchema, peerUpdateSchema, platformToOrchestratorMessageSchema, staleCheckrunCleanupSchema, trustPolicyUpdateSchema, webhookAckSchema, webhookRelayChunkSchema, webhookRelaySchema, webhookRelayStartSchema } from "./protocol/messages/platform-orchestrator.js";
15
16
  import { ScalerEventType } from "./protocol/messages/scaler-event.js";
@@ -20,8 +21,8 @@ import { logPullOrchToPlatformSchema, logPullPlatformToOrchSchema } from "./prot
20
21
  import { EVENT_LOG_PAYLOAD_CHUNK_BYTES } from "./protocol/event-log-payload.js";
21
22
  import { browserAuthFailureSchema, browserAuthRefreshSchema, browserAuthRequestSchema, browserAuthSuccessSchema, browserErrorSchema, browserEventLogPayloadFetchSchema, browserGapSchema, browserJobNewSchema, browserJobStatusSchema, browserLogLinesSchema, browserLogStreamTerminatedReason, browserLogStreamTerminatedSchema, browserLogSubscribeSchema, browserLogUnsubscribeSchema, browserPingSchema, browserPongSchema, browserRunNewSchema, browserRunStatusSchema, browserStatusSubscribeSchema, browserStatusUnsubscribeSchema, browserStepStatusSchema, browserToPlatformMessageSchema, platformToBrowserMessageSchema } from "./protocol/messages/browser.js";
22
23
  import { joinRequestSchema, joinResponseSchema } from "./protocol/messages/join.js";
23
- import { jobProgressSchema, jobRerouteAckSchema, jobRerouteSchema, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerScalerEventSchema, peerToPeerMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema } from "./protocol/messages/peer.js";
24
- import { CacheRefScope, JobRejectReason, agentApiRequestSchema, agentApiResponseSchema, agentAuthFailureSchema, agentAuthRequestSchema, agentAuthSuccessSchema, agentLogChunkSchema, agentMetricsSchema, agentRegisterSchema, agentStatusSchema, agentStepStatusSchema, agentToOrchestratorMessageSchema, cacheUserRestoreRequestSchema, cacheUserRestoreResponseSchema, cacheUserSaveCompleteSchema, cacheUserSaveRequestSchema, cacheUserSaveResponseSchema, configAckSchema, eventEmitResponseSchema, eventEmitSchema, gitAuthSchema, jobAckSchema, jobCancelSchema, jobConcurrencyAckSchema, jobConcurrencyReportSchema, jobDispatchSchema, jobRejectSchema, jobStatusSchema, orchestratorToAgentMessageSchema, registerAckSchema } from "./protocol/messages/orchestrator-agent.js";
24
+ import { fleetSelectionSchema, jobProgressSchema, jobRerouteAckSchema, jobRerouteSchema, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerLogsCollectChunkSchema, peerLogsCollectErrorSchema, peerLogsCollectRequestSchema, peerScalerEventSchema, peerToPeerMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema } from "./protocol/messages/peer.js";
25
+ import { CacheRefScope, JobRejectReason, StepApprovalOutcome, agentApiRequestSchema, agentApiResponseSchema, agentAuthFailureSchema, agentAuthRequestSchema, agentAuthSuccessSchema, agentLogChunkSchema, agentMetricsSchema, agentRegisterSchema, agentStatusSchema, agentStepStatusSchema, agentToOrchestratorMessageSchema, cacheUserRestoreRequestSchema, cacheUserRestoreResponseSchema, cacheUserSaveCompleteSchema, cacheUserSaveRequestSchema, cacheUserSaveResponseSchema, configAckSchema, eventEmitResponseSchema, eventEmitSchema, fleetBundleChunkSchema, fleetBundleErrorSchema, fleetLogsRequestSchema, gitAuthSchema, jobAckSchema, jobCancelSchema, jobConcurrencyAckSchema, jobConcurrencyReportSchema, jobDispatchSchema, jobRejectSchema, jobStatusSchema, orchestratorToAgentMessageSchema, registerAckSchema, stepApprovalRequestSchema, stepApprovalResolvedSchema } from "./protocol/messages/orchestrator-agent.js";
25
26
  import { testCancelResponseSchema, testCancelSchema, testEventSchema, testTriggerResponseSchema, testTriggerSchema } from "./protocol/messages/test-run.js";
26
27
  import { observeCompleteSchema, observeLogSchema, observeStatusSchema, observeStepSchema, observeSubscribeSchema } from "./protocol/messages/observe.js";
27
28
  import { NeedsEntrySchema, NeedsGroupEntrySchema, SCHEMA_VERSION, isLockDynamicJobFn, isLockInlineValue, isLockStaticJob } from "./trigger/types.js";
@@ -44,4 +45,4 @@ import { parseMemoryString, resourceRequestNestedSchema, resourceSpecSchema, val
44
45
  import { RegisterableTriggerType } from "./registration/registerable-trigger-type.js";
45
46
  import { createWorkflowBundleConfig } from "./bundler/rolldown-config.js";
46
47
  import "./bundler/index.js";
47
- export { ACCESS_LOG_COLD_DAYS, ACCESS_LOG_WARM_DAYS, AGENT_REQUIRED_KICI_VARS, ALLOWED_SYSTEM_VARS, AccessLogAction, AccessLogOutcome, AccessLogPolicyKind, AccessLogSource, AccessLogTargetType, ActivityFilterSource, ActivityRowSource, ActorType, CacheOutcome, CacheRefScope, CacheRunEventType, CacheStepType, CheckRunConclusion, EVENT_LOG_PAYLOAD_CHUNK_BYTES, EnvDeleteErrorCode, EventLogPayloadStreamError, EventLogSource, EventLogStatus, ExecutionJobStatus, ExecutionRunStatus, ExecutionStepStatus, HOST_LABEL_PREFIX, HeldRunQueueType, HeldRunStatus, InitFailureCategory, JobRejectReason, KICI_AGENT_ENV_PREFIX, KNOWN_ROLES, LockFileParseError, MIN_PROTOCOL_VERSION, NeedsEntrySchema, NeedsGroupEntrySchema, ORCH_CAPABILITIES, OrchRole, POLICY_BY_ACTION, PROTOCOL_VERSION, PayloadOmittedReason, RegisterableTriggerType, SANDBOX_DEFAULT_VARS, SCHEMA_VERSION, SELF_REPORTED_LABEL_PREFIXES, ScalerBackendType, ScalerEventType, SourceProvider, SourceSubtype, TERMINAL_JOB_STATES, TERMINAL_RUN_STATES, TRIGGER_EVENT_META, TRIGGER_EVENT_TYPES, TimeoutReason, WEBHOOK_RELAY_CHUNK_SIZE, WEBHOOK_RELAY_MAX_BODY_BYTES, WS_CLOSE_AGENT_AUTH_FAILED, WS_CLOSE_AUTH_TIMEOUT, WS_CLOSE_CLUSTER_NAME_CONFLICT, WS_CLOSE_DISPATCH_ACK_TIMEOUT, WS_CLOSE_GOING_AWAY, WS_CLOSE_HEARTBEAT_TIMEOUT, WS_CLOSE_INTERNAL_ERROR, WS_CLOSE_INVALID_MESSAGE, WS_CLOSE_PLAN_LIMIT, WS_CLOSE_PROTOCOL_ERROR, WS_CLOSE_RUN_NOT_FOUND, WS_CLOSE_UNAUTHORIZED, WS_MAX_PAYLOAD_BYTES, WebhookRelayResult, WsRateLimiter, accessLogFilterSchema, accessLogItemSchema, accessLogWarmSqlCase, ackSchema, activityCursorSchema, activityFilterSchema, activityRowSchema, actorPrincipalSchema, agentApiRequestSchema, agentApiResponseSchema, agentAuthFailureSchema, agentAuthRequestSchema, agentAuthSuccessSchema, agentLogChunkSchema, agentMetricsSchema, agentRegisterSchema, agentStatusSchema, agentStepStatusSchema, agentToOrchestratorMessageSchema, agentTypeLabel, apiKeyActorSchema, auditLogColdDays, auditLogWarmDays, auditLogWarmSqlCase, authFailureSchema, authRequestSchema, authSuccessSchema, backendGetRequestSchema, backendGetResponseSchema, backendItemSchema, backendSyncRequestSchema, backendSyncResponseSchema, backendTestRequestSchema, backendTestResponseSchema, backendsListRequestSchema, backendsListResponseSchema, backendsSyncAllRequestSchema, backendsSyncAllResponseSchema, browserAuthFailureSchema, browserAuthRefreshSchema, browserAuthRequestSchema, browserAuthSuccessSchema, browserErrorSchema, browserEventLogPayloadChunkSchema, browserEventLogPayloadFetchSchema, browserGapSchema, browserJobContextSchema, browserJobNewSchema, browserJobStatusSchema, browserLogLinesSchema, browserLogStreamTerminatedReason, browserLogStreamTerminatedSchema, browserLogSubscribeSchema, browserLogUnsubscribeSchema, browserPingSchema, browserPongSchema, browserRunEventSchema, browserRunNewSchema, browserRunStatusSchema, browserStatusSubscribeSchema, browserStatusUnsubscribeSchema, browserStepStatusSchema, browserToPlatformMessageSchema, cacheStatsSchema, cacheUserRestoreRequestSchema, cacheUserRestoreResponseSchema, cacheUserSaveCompleteSchema, cacheUserSaveRequestSchema, cacheUserSaveResponseSchema, configAckSchema, createTraceEntry, createWorkflowBundleConfig, createWorkflowDecision, dashboardAccessLogListRequestSchema, dashboardAccessLogListResponseSchema, dashboardDiagnosticsRequestSchema, dashboardDiagnosticsResponseSchema, dashboardEventDlqCountRequestSchema, dashboardEventDlqDiscardRequestSchema, dashboardEventDlqListItemSchema, dashboardEventDlqListRequestSchema, dashboardEventDlqRetryRequestSchema, dashboardEventLogDetailRequestSchema, dashboardEventLogListRequestSchema, dashboardEventLogPayloadChunkSchema, dashboardEventLogPayloadStreamRequestSchema, dashboardJobDetailSchema, dashboardOrchLogsRequestSchema, dashboardOrchLogsResponseSchema, dashboardOrchToPlatformSchema, dashboardPayloadRequestSchema, dashboardPlatformToOrchSchema, dashboardRunDetailApiResponseSchema, dashboardRunDetailRequestSchema, dashboardRunDetailResponseSchema, dashboardRunSummarySchema, dashboardRunsFiltersRequestSchema, dashboardRunsFiltersResponseSchema, dashboardRunsListRequestSchema, dashboardRunsListResponseSchema, dashboardScalerAgentsRequestSchema, dashboardScalerAgentsResponseSchema, dashboardScalerCapacityRequestSchema, dashboardScalerCapacityResponseSchema, dashboardSourceSummarySchema, dashboardSourcesListRequestSchema, dashboardSourcesListResponseSchema, dashboardStepLogsApiResponseSchema, dashboardStepLogsRequestSchema, dashboardStepLogsResponseSchema, decodeActivityCursor, deriveOsArchLabels, encodeActivityCursor, envBindingsListRequestSchema, envBindingsSetRequestSchema, envCreateRequestSchema, envDeleteRequestSchema, envGetRequestSchema, envHistoryRequestSchema, envListRequestSchema, envSecretDeleteRequestSchema, envSecretScopeCreateRequestSchema, envSecretScopeDeleteRequestSchema, envSecretScopeRenameRequestSchema, envSecretSetRequestSchema, envSecretsListRequestSchema, envSourceOverrideDeleteRequestSchema, envSourceOverrideSetRequestSchema, envSourceOverridesListRequestSchema, envTestAccessSetRequestSchema, envUpdateRequestSchema, envVarDeleteRequestSchema, envVarSetRequestSchema, envVarsListRequestSchema, errorSchema, eventEmitResponseSchema, eventEmitSchema, eventLogListItemSchema, executionEventSchema, executionStatusSchema, flattenActor, fnv1a32, getAccessLogColdDays, getAccessLogWarmDays, getAuditLogColdDays, getAuditLogWarmDays, getSecretAuditLogColdDays, getSecretAuditLogWarmDays, gitAuthSchema, hasOrchCapability, heartbeatSchema, heldRunApproveRequestSchema, heldRunRejectRequestSchema, heldRunsListRequestSchema, hostLabel, identityLinkItemSchema, identityLinkListResponseSchema, initFailureSchema, isLockDynamicJobFn, isLockInlineValue, isLockStaticJob, isSelfReportedLabel, isTerminal, jobAckSchema, jobCancelSchema, jobConcurrencyAckSchema, jobConcurrencyReportSchema, jobContextMessageSchema, jobDispatchSchema, jobProgressSchema, jobRejectSchema, jobRerouteAckSchema, jobRerouteSchema, jobStatusForwardSchema, jobStatusSchema, joinRequestSchema, joinResponseSchema, logChunkSchema, logPullOrchToPlatformSchema, logPullPlatformToOrchSchema, manualScheduleRequestSchema, matchAllWorkflows, matchBranchPattern, matchPathPatterns, matchRepoPatterns, matchScopePattern, matchWorkflowTriggers, memberIdentityLinkSchema, memberListResponseSchema, memberRoleAssignmentSchema, mergeAutoLabels, minAccessLogWarmDays, minAuditLogWarmDays, minSecretAuditLogWarmDays, nackSchema, normalizeRunsOn, observeCompleteSchema, observeLogSchema, observeStatusSchema, observeStepSchema, observeSubscribeSchema, orchCapabilitiesSchema, orchMetricsSchema, orchestratorToAgentMessageSchema, orchestratorToPlatformMessageSchema, orgMemberSchema, parseActor, parseHostLabel, parseMemoryString, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerDiscoverSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerScalerEventSchema, peerToPeerMessageSchema, peerUpdateSchema, platformOperatorActorSchema, platformToBrowserMessageSchema, platformToOrchestratorMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema, registerAckSchema, registrationDeleteRequestSchema, registrationDisableRequestSchema, registrationItemSchema, registrationsListRequestSchema, registrationsListResponseSchema, resolveRoleLabels, resolveRunIdSugar, resolveSecretsForEnvironment, resourceRequestNestedSchema, resourceSpecSchema, runCancelRequestSchema, runEventMessageSchema, runEventSchema, runLineageResponseSchema, runRerunRequestSchema, scalerAgentLabels, scalerLabel, secretAuditLogColdDays, secretAuditLogWarmDays, secretAuditLogWarmSqlCase, serviceAccountActorSchema, shouldRecordAccess, shouldRecordSecretResolve, sourceDeregisterAckSchema, sourceDeregisterSchema, sourceRegistrationAckSchema, sourceRegistrationSchema, staleCheckrunCleanupSchema, stateReplaySchema, stepStatusForwardSchema, stringifyActor, stripScopePrefix, systemActorSchema, testCancelResponseSchema, testCancelSchema, testEventSchema, testTriggerResponseSchema, testTriggerSchema, transition, trustPolicyResponseSchema, trustPolicyUpdateSchema, userActorSchema, validateNoReservedLabels, validateResourceRequest, webhookAckSchema, webhookRelayChunkSchema, webhookRelaySchema, webhookRelayStartSchema };
48
+ export { ACCESS_LOG_COLD_DAYS, ACCESS_LOG_WARM_DAYS, AGENT_REQUIRED_KICI_VARS, ALLOWED_SYSTEM_VARS, AccessLogAction, AccessLogOutcome, AccessLogPolicyKind, AccessLogSource, AccessLogTargetType, ActivityFilterSource, ActivityRowSource, ActorType, ApprovalDecision, CacheOutcome, CacheRefScope, CacheRunEventType, CacheStepType, CheckRunConclusion, EVENT_LOG_PAYLOAD_CHUNK_BYTES, EnvDeleteErrorCode, EventLogPayloadStreamError, EventLogSource, EventLogStatus, ExecutionJobStatus, ExecutionRunStatus, ExecutionStepStatus, HOST_LABEL_PREFIX, HeldRunQueueType, HeldRunStatus, HoldScope, InitFailureCategory, JobRejectReason, KICI_AGENT_ENV_PREFIX, KNOWN_ROLES, LockFileParseError, MIN_PROTOCOL_VERSION, NeedsEntrySchema, NeedsGroupEntrySchema, ORCH_CAPABILITIES, OrchRole, POLICY_BY_ACTION, PROTOCOL_VERSION, PayloadOmittedReason, RegisterableTriggerType, SANDBOX_DEFAULT_VARS, SCHEMA_VERSION, SELF_REPORTED_LABEL_PREFIXES, ScalerBackendType, ScalerEventType, SourceProvider, SourceSubtype, StepApprovalOutcome, TERMINAL_JOB_STATES, TERMINAL_RUN_STATES, TRIGGER_EVENT_META, TRIGGER_EVENT_TYPES, TimeoutReason, TriggerSource, WEBHOOK_RELAY_CHUNK_SIZE, WEBHOOK_RELAY_MAX_BODY_BYTES, WS_CLOSE_AGENT_AUTH_FAILED, WS_CLOSE_AUTH_TIMEOUT, WS_CLOSE_CLUSTER_NAME_CONFLICT, WS_CLOSE_DISPATCH_ACK_TIMEOUT, WS_CLOSE_GOING_AWAY, WS_CLOSE_HEARTBEAT_TIMEOUT, WS_CLOSE_INTERNAL_ERROR, WS_CLOSE_INVALID_MESSAGE, WS_CLOSE_PLAN_LIMIT, WS_CLOSE_PROTOCOL_ERROR, WS_CLOSE_RUN_NOT_FOUND, WS_CLOSE_UNAUTHORIZED, WS_MAX_PAYLOAD_BYTES, WebhookRelayResult, WsRateLimiter, accessLogFilterSchema, accessLogItemSchema, accessLogWarmSqlCase, ackSchema, activityCursorSchema, activityFilterSchema, activityRowSchema, actorPrincipalSchema, agentApiRequestSchema, agentApiResponseSchema, agentAuthFailureSchema, agentAuthRequestSchema, agentAuthSuccessSchema, agentLogChunkSchema, agentMetricsSchema, agentRegisterSchema, agentStatusSchema, agentStepStatusSchema, agentToOrchestratorMessageSchema, agentTypeLabel, apiKeyActorSchema, approvalRequirementSchema, approverClauseSchema, auditLogColdDays, auditLogWarmDays, auditLogWarmSqlCase, authFailureSchema, authRequestSchema, authSuccessSchema, backendGetRequestSchema, backendGetResponseSchema, backendItemSchema, backendSyncRequestSchema, backendSyncResponseSchema, backendTestRequestSchema, backendTestResponseSchema, backendsListRequestSchema, backendsListResponseSchema, backendsSyncAllRequestSchema, backendsSyncAllResponseSchema, browserAuthFailureSchema, browserAuthRefreshSchema, browserAuthRequestSchema, browserAuthSuccessSchema, browserErrorSchema, browserEventLogPayloadChunkSchema, browserEventLogPayloadFetchSchema, browserGapSchema, browserJobContextSchema, browserJobNewSchema, browserJobStatusSchema, browserLogLinesSchema, browserLogStreamTerminatedReason, browserLogStreamTerminatedSchema, browserLogSubscribeSchema, browserLogUnsubscribeSchema, browserPingSchema, browserPongSchema, browserRunEventSchema, browserRunNewSchema, browserRunStatusSchema, browserStatusSubscribeSchema, browserStatusUnsubscribeSchema, browserStepStatusSchema, browserToPlatformMessageSchema, cacheStatsSchema, cacheUserRestoreRequestSchema, cacheUserRestoreResponseSchema, cacheUserSaveCompleteSchema, cacheUserSaveRequestSchema, cacheUserSaveResponseSchema, configAckSchema, createTraceEntry, createWorkflowBundleConfig, createWorkflowDecision, dashboardAccessLogListRequestSchema, dashboardAccessLogListResponseSchema, dashboardDiagnosticsRequestSchema, dashboardDiagnosticsResponseSchema, dashboardEventDlqCountRequestSchema, dashboardEventDlqDiscardRequestSchema, dashboardEventDlqListItemSchema, dashboardEventDlqListRequestSchema, dashboardEventDlqRetryRequestSchema, dashboardEventLogDetailRequestSchema, dashboardEventLogListRequestSchema, dashboardEventLogPayloadChunkSchema, dashboardEventLogPayloadStreamRequestSchema, dashboardJobDetailSchema, dashboardOrchLogsRequestSchema, dashboardOrchLogsResponseSchema, dashboardOrchToPlatformSchema, dashboardPayloadRequestSchema, dashboardPlatformToOrchSchema, dashboardRunDetailApiResponseSchema, dashboardRunDetailRequestSchema, dashboardRunDetailResponseSchema, dashboardRunSummarySchema, dashboardRunsFiltersRequestSchema, dashboardRunsFiltersResponseSchema, dashboardRunsListRequestSchema, dashboardRunsListResponseSchema, dashboardScalerAgentsRequestSchema, dashboardScalerAgentsResponseSchema, dashboardScalerCapacityRequestSchema, dashboardScalerCapacityResponseSchema, dashboardSourceSummarySchema, dashboardSourcesListRequestSchema, dashboardSourcesListResponseSchema, dashboardStepLogsApiResponseSchema, dashboardStepLogsRequestSchema, dashboardStepLogsResponseSchema, decodeActivityCursor, deriveOsArchLabels, encodeActivityCursor, envBindingsListRequestSchema, envBindingsSetRequestSchema, envCreateRequestSchema, envDeleteRequestSchema, envGetRequestSchema, envHistoryRequestSchema, envListRequestSchema, envSecretDeleteRequestSchema, envSecretScopeCreateRequestSchema, envSecretScopeDeleteRequestSchema, envSecretScopeRenameRequestSchema, envSecretSetRequestSchema, envSecretsListRequestSchema, envSourceOverrideDeleteRequestSchema, envSourceOverrideSetRequestSchema, envSourceOverridesListRequestSchema, envTestAccessSetRequestSchema, envUpdateRequestSchema, envVarDeleteRequestSchema, envVarSetRequestSchema, envVarsListRequestSchema, errorSchema, eventEmitResponseSchema, eventEmitSchema, eventLogListItemSchema, executionEventSchema, executionStatusSchema, flattenActor, fleetBundleChunkSchema, fleetBundleErrorSchema, fleetLogsRequestSchema, fleetSelectionSchema, fnv1a32, getAccessLogColdDays, getAccessLogWarmDays, getAuditLogColdDays, getAuditLogWarmDays, getSecretAuditLogColdDays, getSecretAuditLogWarmDays, gitAuthSchema, hasOrchCapability, heartbeatSchema, heldRunApproveRequestSchema, heldRunRejectRequestSchema, heldRunsListRequestSchema, hostLabel, identityLinkItemSchema, identityLinkListResponseSchema, initFailureSchema, isLockDynamicJobFn, isLockInlineValue, isLockStaticJob, isSelfReportedLabel, isTerminal, jobAckSchema, jobCancelSchema, jobConcurrencyAckSchema, jobConcurrencyReportSchema, jobContextMessageSchema, jobDispatchSchema, jobProgressSchema, jobRejectSchema, jobRerouteAckSchema, jobRerouteSchema, jobStatusForwardSchema, jobStatusSchema, joinRequestSchema, joinResponseSchema, logChunkSchema, logPullOrchToPlatformSchema, logPullPlatformToOrchSchema, manualScheduleRequestSchema, matchAllWorkflows, matchBranchPattern, matchPathPatterns, matchRepoPatterns, matchScopePattern, matchWorkflowTriggers, memberIdentityLinkSchema, memberListResponseSchema, memberRoleAssignmentSchema, mergeAutoLabels, minAccessLogWarmDays, minAuditLogWarmDays, minSecretAuditLogWarmDays, nackSchema, normalizeRunsOn, observeCompleteSchema, observeLogSchema, observeStatusSchema, observeStepSchema, observeSubscribeSchema, orchCapabilitiesSchema, orchMetricsSchema, orchestratorToAgentMessageSchema, orchestratorToPlatformMessageSchema, orgMemberSchema, parseActor, parseHostLabel, parseMemoryString, peerAgentTokenRevokeSchema, peerAuthRequestSchema, peerAuthResponseSchema, peerCapabilitiesSchema, peerConfigReloadResponseSchema, peerConfigReloadSchema, peerDiscoverSchema, peerFromPeerMessageSchema, peerHeartbeatSchema, peerHelloResponseSchema, peerHelloSchema, peerJobCancelSchema, peerLeavingSchema, peerLogsCollectChunkSchema, peerLogsCollectErrorSchema, peerLogsCollectRequestSchema, peerScalerEventSchema, peerToPeerMessageSchema, peerUpdateSchema, platformOperatorActorSchema, platformToBrowserMessageSchema, platformToOrchestratorMessageSchema, raftAppendEntriesSchema, raftVoteRequestSchema, raftVoteResponseSchema, registerAckSchema, registrationDeleteRequestSchema, registrationDisableRequestSchema, registrationItemSchema, registrationsListRequestSchema, registrationsListResponseSchema, resolveRoleLabels, resolveRunIdSugar, resolveSecretsForEnvironment, resourceRequestNestedSchema, resourceSpecSchema, runCancelRequestSchema, runEventMessageSchema, runEventSchema, runLineageResponseSchema, runRerunRequestSchema, scalerAgentLabels, scalerLabel, secretAuditLogColdDays, secretAuditLogWarmDays, secretAuditLogWarmSqlCase, serviceAccountActorSchema, shouldRecordAccess, shouldRecordSecretResolve, sourceDeregisterAckSchema, sourceDeregisterSchema, sourceRegistrationAckSchema, sourceRegistrationSchema, staleCheckrunCleanupSchema, stateReplaySchema, stepApprovalRequestSchema, stepApprovalResolvedSchema, stepStatusForwardSchema, stringifyActor, stripScopePrefix, systemActorSchema, testCancelResponseSchema, testCancelSchema, testEventSchema, testTriggerResponseSchema, testTriggerSchema, transition, trustPolicyResponseSchema, trustPolicyUpdateSchema, userActorSchema, validateNoReservedLabels, validateResourceRequest, webhookAckSchema, webhookRelayChunkSchema, webhookRelaySchema, webhookRelayStartSchema };
@@ -94,6 +94,8 @@ export declare const AccessLogAction: z.ZodEnum<{
94
94
  "held_run.list.read": "held_run.list.read";
95
95
  "held_run.approve": "held_run.approve";
96
96
  "held_run.reject": "held_run.reject";
97
+ "held_run.request": "held_run.request";
98
+ "held_run.expire": "held_run.expire";
97
99
  "registration.list.read": "registration.list.read";
98
100
  "diagnostics.read": "diagnostics.read";
99
101
  "scaler.capacity.read": "scaler.capacity.read";
@@ -178,6 +180,8 @@ export declare const accessLogItemSchema: z.ZodObject<{
178
180
  "held_run.list.read": "held_run.list.read";
179
181
  "held_run.approve": "held_run.approve";
180
182
  "held_run.reject": "held_run.reject";
183
+ "held_run.request": "held_run.request";
184
+ "held_run.expire": "held_run.expire";
181
185
  "registration.list.read": "registration.list.read";
182
186
  "diagnostics.read": "diagnostics.read";
183
187
  "scaler.capacity.read": "scaler.capacity.read";
@@ -284,6 +288,8 @@ export declare const accessLogFilterSchema: z.ZodObject<{
284
288
  "held_run.list.read": "held_run.list.read";
285
289
  "held_run.approve": "held_run.approve";
286
290
  "held_run.reject": "held_run.reject";
291
+ "held_run.request": "held_run.request";
292
+ "held_run.expire": "held_run.expire";
287
293
  "registration.list.read": "registration.list.read";
288
294
  "diagnostics.read": "diagnostics.read";
289
295
  "scaler.capacity.read": "scaler.capacity.read";
@@ -412,6 +418,8 @@ export declare const dashboardAccessLogListRequestSchema: z.ZodObject<{
412
418
  "held_run.list.read": "held_run.list.read";
413
419
  "held_run.approve": "held_run.approve";
414
420
  "held_run.reject": "held_run.reject";
421
+ "held_run.request": "held_run.request";
422
+ "held_run.expire": "held_run.expire";
415
423
  "registration.list.read": "registration.list.read";
416
424
  "diagnostics.read": "diagnostics.read";
417
425
  "scaler.capacity.read": "scaler.capacity.read";
@@ -528,6 +536,8 @@ export declare const dashboardAccessLogListResponseSchema: z.ZodObject<{
528
536
  "held_run.list.read": "held_run.list.read";
529
537
  "held_run.approve": "held_run.approve";
530
538
  "held_run.reject": "held_run.reject";
539
+ "held_run.request": "held_run.request";
540
+ "held_run.expire": "held_run.expire";
531
541
  "registration.list.read": "registration.list.read";
532
542
  "diagnostics.read": "diagnostics.read";
533
543
  "scaler.capacity.read": "scaler.capacity.read";
@@ -89,6 +89,8 @@ const AccessLogAction = z.enum([
89
89
  "held_run.list.read",
90
90
  "held_run.approve",
91
91
  "held_run.reject",
92
+ "held_run.request",
93
+ "held_run.expire",
92
94
  "registration.list.read",
93
95
  "registration.disable",
94
96
  "registration.delete",
@@ -1671,6 +1671,34 @@ declare const heldRunsListResponseSchema: z.ZodObject<{
1671
1671
  expiresAt: z.ZodNullable<z.ZodCoercedString<unknown>>;
1672
1672
  contributorUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1673
1673
  trustTier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1674
+ jobId: z.ZodOptional<z.ZodString>;
1675
+ holdScope: z.ZodOptional<z.ZodEnum<{
1676
+ job: "job";
1677
+ step: "step";
1678
+ workflow: "workflow";
1679
+ }>>;
1680
+ stepIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1681
+ requirement: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1682
+ clauses: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1683
+ team: z.ZodString;
1684
+ }, z.core.$strict>, z.ZodObject<{
1685
+ user: z.ZodString;
1686
+ }, z.core.$strict>]>>;
1687
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1688
+ }, z.core.$strip>>>;
1689
+ decisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1690
+ approverUserId: z.ZodString;
1691
+ decision: z.ZodEnum<{
1692
+ approve: "approve";
1693
+ reject: "reject";
1694
+ }>;
1695
+ clausesSatisfied: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1696
+ team: z.ZodString;
1697
+ }, z.core.$strict>, z.ZodObject<{
1698
+ user: z.ZodString;
1699
+ }, z.core.$strict>]>>>>;
1700
+ createdAt: z.ZodCoercedString<unknown>;
1701
+ }, z.core.$strip>>>;
1674
1702
  }, z.core.$strip>>>;
1675
1703
  error: z.ZodOptional<z.ZodString>;
1676
1704
  }, z.core.$strip>;
@@ -3807,6 +3835,8 @@ export declare const dashboardPlatformToOrchSchema: z.ZodDiscriminatedUnion<[z.Z
3807
3835
  "held_run.list.read": "held_run.list.read";
3808
3836
  "held_run.approve": "held_run.approve";
3809
3837
  "held_run.reject": "held_run.reject";
3838
+ "held_run.request": "held_run.request";
3839
+ "held_run.expire": "held_run.expire";
3810
3840
  "registration.list.read": "registration.list.read";
3811
3841
  "diagnostics.read": "diagnostics.read";
3812
3842
  "scaler.capacity.read": "scaler.capacity.read";
@@ -4216,6 +4246,34 @@ export declare const dashboardOrchToPlatformSchema: z.ZodDiscriminatedUnion<[z.Z
4216
4246
  expiresAt: z.ZodNullable<z.ZodCoercedString<unknown>>;
4217
4247
  contributorUsername: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4218
4248
  trustTier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4249
+ jobId: z.ZodOptional<z.ZodString>;
4250
+ holdScope: z.ZodOptional<z.ZodEnum<{
4251
+ job: "job";
4252
+ step: "step";
4253
+ workflow: "workflow";
4254
+ }>>;
4255
+ stepIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
4256
+ requirement: z.ZodOptional<z.ZodNullable<z.ZodObject<{
4257
+ clauses: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
4258
+ team: z.ZodString;
4259
+ }, z.core.$strict>, z.ZodObject<{
4260
+ user: z.ZodString;
4261
+ }, z.core.$strict>]>>;
4262
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4263
+ }, z.core.$strip>>>;
4264
+ decisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
4265
+ approverUserId: z.ZodString;
4266
+ decision: z.ZodEnum<{
4267
+ approve: "approve";
4268
+ reject: "reject";
4269
+ }>;
4270
+ clausesSatisfied: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
4271
+ team: z.ZodString;
4272
+ }, z.core.$strict>, z.ZodObject<{
4273
+ user: z.ZodString;
4274
+ }, z.core.$strict>]>>>>;
4275
+ createdAt: z.ZodCoercedString<unknown>;
4276
+ }, z.core.$strip>>>;
4219
4277
  }, z.core.$strip>>>;
4220
4278
  error: z.ZodOptional<z.ZodString>;
4221
4279
  }, z.core.$strip>, z.ZodObject<{
@@ -4733,6 +4791,8 @@ export declare const dashboardOrchToPlatformSchema: z.ZodDiscriminatedUnion<[z.Z
4733
4791
  "held_run.list.read": "held_run.list.read";
4734
4792
  "held_run.approve": "held_run.approve";
4735
4793
  "held_run.reject": "held_run.reject";
4794
+ "held_run.request": "held_run.request";
4795
+ "held_run.expire": "held_run.expire";
4736
4796
  "registration.list.read": "registration.list.read";
4737
4797
  "diagnostics.read": "diagnostics.read";
4738
4798
  "scaler.capacity.read": "scaler.capacity.read";
@@ -6,6 +6,7 @@ import { dashboardAccessLogListRequestSchema, dashboardAccessLogListResponseSche
6
6
  import { dashboardOrchLogsRequestSchema, dashboardOrchLogsResponseSchema } from "./run-events.js";
7
7
  import { EventLogSource, EventLogStatus, PayloadOmittedReason } from "./event-log.js";
8
8
  import { ScalerBackendType } from "../../scaler/scaler-backend-type.js";
9
+ import { ApprovalDecision, HoldScope, approverClauseSchema } from "../../approval/types.js";
9
10
  import { globalWorkflowsGetRequestSchema, globalWorkflowsGetResponseSchema, globalWorkflowsUpdateRequestSchema, globalWorkflowsUpdateResponseSchema } from "./dashboard-global-workflows.js";
10
11
  import { z } from "zod";
11
12
  //#region src/protocol/messages/dashboard.ts
@@ -906,7 +907,20 @@ const heldRunsListResponseSchema = z.object({
906
907
  reason: z.string().nullable(),
907
908
  expiresAt: z.coerce.string().nullable(),
908
909
  contributorUsername: z.string().nullable().optional(),
909
- trustTier: z.string().nullable().optional()
910
+ trustTier: z.string().nullable().optional(),
911
+ jobId: z.string().optional(),
912
+ holdScope: HoldScope.optional(),
913
+ stepIndex: z.number().nullable().optional(),
914
+ requirement: z.object({
915
+ clauses: z.array(approverClauseSchema),
916
+ reason: z.string().nullable().optional()
917
+ }).nullable().optional(),
918
+ decisions: z.array(z.object({
919
+ approverUserId: z.string(),
920
+ decision: ApprovalDecision,
921
+ clausesSatisfied: z.array(approverClauseSchema).nullable().optional(),
922
+ createdAt: z.coerce.string()
923
+ })).optional()
910
924
  })).optional(),
911
925
  error: z.string().optional()
912
926
  });
@@ -424,6 +424,81 @@ export declare const agentApiResponseSchema: z.ZodObject<{
424
424
  result: z.ZodOptional<z.ZodUnknown>;
425
425
  error: z.ZodOptional<z.ZodString>;
426
426
  }, z.core.$strip>;
427
+ /** Orchestrator asks an agent for its log/diagnostic mini-bundle. */
428
+ export declare const fleetLogsRequestSchema: z.ZodObject<{
429
+ type: z.ZodLiteral<"fleet.logs.request">;
430
+ requestId: z.ZodString;
431
+ logWindowHours: z.ZodNumber;
432
+ maxBytes: z.ZodNumber;
433
+ }, z.core.$strip>;
434
+ /** One base64 frame of an agent's mini-bundle ZIP. */
435
+ export declare const fleetBundleChunkSchema: z.ZodObject<{
436
+ type: z.ZodLiteral<"fleet.bundle.chunk">;
437
+ requestId: z.ZodString;
438
+ seq: z.ZodNumber;
439
+ isLast: z.ZodBoolean;
440
+ dataB64: z.ZodString;
441
+ }, z.core.$strip>;
442
+ /** Agent failed to build/stream its mini-bundle. */
443
+ export declare const fleetBundleErrorSchema: z.ZodObject<{
444
+ type: z.ZodLiteral<"fleet.bundle.error">;
445
+ requestId: z.ZodString;
446
+ message: z.ZodString;
447
+ }, z.core.$strip>;
448
+ /** Outcome of a step-level approval hold, sent back to the waiting agent. */
449
+ export declare const StepApprovalOutcome: z.ZodEnum<{
450
+ rejected: "rejected";
451
+ approved: "approved";
452
+ expired: "expired";
453
+ }>;
454
+ export type StepApprovalOutcome = z.infer<typeof StepApprovalOutcome>;
455
+ /**
456
+ * Agent -> Orchestrator: a step carrying `requireApproval` is about to run and
457
+ * the agent is blocking its step loop until the orchestrator resolves the
458
+ * approval. The orchestrator creates a step-scoped `held_runs` row from the
459
+ * normalized requirement and replies with `step.approval-resolved` once the
460
+ * hold is approved, rejected, or expired. The agent keeps heartbeats flowing
461
+ * during the wait so it is not reaped as stale.
462
+ *
463
+ * NOT fast-pathed — the `log.chunk` / `heartbeat` manual-validator invariant is
464
+ * untouched by this message.
465
+ */
466
+ export declare const stepApprovalRequestSchema: z.ZodObject<{
467
+ type: z.ZodLiteral<"step.approval-request">;
468
+ messageId: z.ZodString;
469
+ runId: z.ZodString;
470
+ jobId: z.ZodString;
471
+ stepIndex: z.ZodNumber;
472
+ stepName: z.ZodString;
473
+ clauses: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
474
+ team: z.ZodString;
475
+ }, z.core.$strict>, z.ZodObject<{
476
+ user: z.ZodString;
477
+ }, z.core.$strict>]>>;
478
+ reason: z.ZodString;
479
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
480
+ }, z.core.$strip>;
481
+ export type StepApprovalRequest = z.infer<typeof stepApprovalRequestSchema>;
482
+ /**
483
+ * Orchestrator -> Agent: resolution of a step-level approval hold. `requestId`
484
+ * correlates to the originating `step.approval-request.messageId`. On
485
+ * `approved` the agent runs the step with its live workspace intact; on
486
+ * `rejected`/`expired` it fails the job with a clear reason.
487
+ */
488
+ export declare const stepApprovalResolvedSchema: z.ZodObject<{
489
+ type: z.ZodLiteral<"step.approval-resolved">;
490
+ requestId: z.ZodString;
491
+ runId: z.ZodString;
492
+ jobId: z.ZodString;
493
+ stepIndex: z.ZodNumber;
494
+ outcome: z.ZodEnum<{
495
+ rejected: "rejected";
496
+ approved: "approved";
497
+ expired: "expired";
498
+ }>;
499
+ reason: z.ZodOptional<z.ZodString>;
500
+ }, z.core.$strip>;
501
+ export type StepApprovalResolved = z.infer<typeof stepApprovalResolvedSchema>;
427
502
  /** All messages that flow from Orchestrator to Agent. */
428
503
  export declare const orchestratorToAgentMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
429
504
  type: z.ZodLiteral<"job.dispatch">;
@@ -542,6 +617,23 @@ export declare const orchestratorToAgentMessageSchema: z.ZodDiscriminatedUnion<[
542
617
  }, z.core.$strip>, z.ZodObject<{
543
618
  type: z.ZodLiteral<"auth.failure">;
544
619
  reason: z.ZodString;
620
+ }, z.core.$strip>, z.ZodObject<{
621
+ type: z.ZodLiteral<"fleet.logs.request">;
622
+ requestId: z.ZodString;
623
+ logWindowHours: z.ZodNumber;
624
+ maxBytes: z.ZodNumber;
625
+ }, z.core.$strip>, z.ZodObject<{
626
+ type: z.ZodLiteral<"step.approval-resolved">;
627
+ requestId: z.ZodString;
628
+ runId: z.ZodString;
629
+ jobId: z.ZodString;
630
+ stepIndex: z.ZodNumber;
631
+ outcome: z.ZodEnum<{
632
+ rejected: "rejected";
633
+ approved: "approved";
634
+ expired: "expired";
635
+ }>;
636
+ reason: z.ZodOptional<z.ZodString>;
545
637
  }, z.core.$strip>], "type">;
546
638
  /** All messages that flow from Agent to Orchestrator. */
547
639
  export declare const agentToOrchestratorMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -752,6 +844,30 @@ export declare const agentToOrchestratorMessageSchema: z.ZodDiscriminatedUnion<[
752
844
  type: z.ZodLiteral<"auth.request">;
753
845
  token: z.ZodString;
754
846
  protocolVersion: z.ZodNumber;
847
+ }, z.core.$strip>, z.ZodObject<{
848
+ type: z.ZodLiteral<"fleet.bundle.chunk">;
849
+ requestId: z.ZodString;
850
+ seq: z.ZodNumber;
851
+ isLast: z.ZodBoolean;
852
+ dataB64: z.ZodString;
853
+ }, z.core.$strip>, z.ZodObject<{
854
+ type: z.ZodLiteral<"fleet.bundle.error">;
855
+ requestId: z.ZodString;
856
+ message: z.ZodString;
857
+ }, z.core.$strip>, z.ZodObject<{
858
+ type: z.ZodLiteral<"step.approval-request">;
859
+ messageId: z.ZodString;
860
+ runId: z.ZodString;
861
+ jobId: z.ZodString;
862
+ stepIndex: z.ZodNumber;
863
+ stepName: z.ZodString;
864
+ clauses: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
865
+ team: z.ZodString;
866
+ }, z.core.$strict>, z.ZodObject<{
867
+ user: z.ZodString;
868
+ }, z.core.$strict>]>>;
869
+ reason: z.ZodString;
870
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
755
871
  }, z.core.$strip>], "type">;
756
872
  export type JobDispatch = z.infer<typeof jobDispatchSchema>;
757
873
  export type JobCancel = z.infer<typeof jobCancelSchema>;
@@ -766,5 +882,9 @@ export type CacheUserRestoreResponse = z.infer<typeof cacheUserRestoreResponseSc
766
882
  export type CacheUserSaveRequest = z.infer<typeof cacheUserSaveRequestSchema>;
767
883
  export type CacheUserSaveResponse = z.infer<typeof cacheUserSaveResponseSchema>;
768
884
  export type CacheUserSaveComplete = z.infer<typeof cacheUserSaveCompleteSchema>;
885
+ export type FleetLogsRequest = z.infer<typeof fleetLogsRequestSchema>;
886
+ export type FleetBundleChunk = z.infer<typeof fleetBundleChunkSchema>;
887
+ export type FleetBundleError = z.infer<typeof fleetBundleErrorSchema>;
888
+ export type OrchestratorToAgentMessage = z.infer<typeof orchestratorToAgentMessageSchema>;
769
889
  export type AgentToOrchestratorMessage = z.infer<typeof agentToOrchestratorMessageSchema>;
770
890
  //# sourceMappingURL=orchestrator-agent.d.ts.map