@opengeni/db 3.8.2-canary.0 → 4.0.0-canary.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/canonical-human-identities.js +3 -3
- package/dist/capability-integrations.d.ts +2 -0
- package/dist/{chunk-6DPJA36C.js → chunk-2XEZK4LF.js} +7 -1
- package/dist/chunk-2XEZK4LF.js.map +1 -0
- package/dist/{chunk-F5YOZEYQ.js → chunk-3RI33YQN.js} +19 -1
- package/dist/chunk-3RI33YQN.js.map +1 -0
- package/dist/{chunk-5S4BQAHX.js → chunk-CJROYHSC.js} +3 -3
- package/dist/{chunk-UKOGHUGC.js → chunk-MX6V5F65.js} +2 -2
- package/dist/{chunk-CITYUGMW.js → chunk-N5VXJ4I2.js} +151 -78
- package/dist/chunk-N5VXJ4I2.js.map +1 -0
- package/dist/{chunk-Y53WEFYB.js → chunk-NLFHMPUB.js} +2 -2
- package/dist/{chunk-RLQVPOVR.js → chunk-P6NSEG2S.js} +2 -2
- package/dist/{chunk-53A2PEHT.js → chunk-QM6YOWHZ.js} +303 -33
- package/dist/chunk-QM6YOWHZ.js.map +1 -0
- package/dist/{chunk-X6TO5HII.js → chunk-RZNOSEMC.js} +2 -2
- package/dist/{chunk-HZV7O6JR.js → chunk-UFAMOUWL.js} +2 -2
- package/dist/codemode-operations.d.ts +5 -0
- package/dist/codex-token-resolver.d.ts +6 -2
- package/dist/connection-token-resolver.d.ts +4 -0
- package/dist/editable-artifact-durable-export.js +2 -2
- package/dist/editable-artifacts.js +3 -3
- package/dist/generated-images.d.ts +15 -0
- package/dist/index.d.ts +229 -77
- package/dist/index.js +7663 -5625
- package/dist/index.js.map +1 -1
- package/dist/managed-auth-session-sets.js +3 -3
- package/dist/managed-user-setup.d.ts +3 -0
- package/dist/mcp-oauth.d.ts +80 -0
- package/dist/migrate.d.ts +1 -0
- package/dist/migrate.js +3 -1
- package/dist/model-context-snapshots.d.ts +20 -0
- package/dist/provision-roles.js +1 -1
- package/dist/runtime-posture.d.ts +5 -5
- package/dist/schema.d.ts +2046 -375
- package/dist/schema.js +15 -1
- package/dist/session-background-commands.d.ts +18 -6
- package/dist/session-background-commands.js +15 -9
- package/dist/session-control.d.ts +2 -2
- package/dist/session-goal-pacing.d.ts +3 -6
- package/dist/session-tenancy.js +3 -3
- package/dist/tool-gateway-approvals.d.ts +31 -0
- package/dist/video-generation.js +3 -3
- package/dist/workspace-artifacts.d.ts +17 -3
- package/drizzle/0400_session_attempt_model_context_snapshots.sql +65 -0
- package/drizzle/0401_organization_user_setup_token_transport.sql +178 -0
- package/drizzle/0402_session_input_wait_and_background_command_results.sql +1023 -0
- package/drizzle/0403_codex_unconditional_credential_leasing.sql +181 -0
- package/drizzle/0404_mcp_oauth_authorization_server.sql +471 -0
- package/drizzle/0405_tool_gateway_approval_capabilities.sql +184 -0
- package/drizzle/0406_workspace_html_site_sources.sql +71 -0
- package/package.json +6 -6
- package/src/capability-integrations.ts +8 -0
- package/src/codemode-operations.ts +31 -21
- package/src/codex-token-resolver.ts +16 -6
- package/src/connection-token-resolver.ts +40 -3
- package/src/generated-images.ts +70 -6
- package/src/index.ts +2444 -823
- package/src/managed-user-setup.ts +14 -3
- package/src/mcp-oauth.ts +488 -0
- package/src/migrate.ts +9 -1
- package/src/model-context-snapshots.ts +151 -0
- package/src/provision-roles.ts +2 -0
- package/src/runtime-posture.ts +16 -0
- package/src/schema.ts +324 -35
- package/src/session-background-commands.ts +180 -78
- package/src/session-control.ts +11 -12
- package/src/session-goal-pacing.ts +4 -8
- package/src/tool-gateway-approvals.ts +168 -0
- package/src/workspace-artifacts.ts +633 -178
- package/dist/chunk-53A2PEHT.js.map +0 -1
- package/dist/chunk-6DPJA36C.js.map +0 -1
- package/dist/chunk-CITYUGMW.js.map +0 -1
- package/dist/chunk-F5YOZEYQ.js.map +0 -1
- /package/dist/{chunk-5S4BQAHX.js.map → chunk-CJROYHSC.js.map} +0 -0
- /package/dist/{chunk-UKOGHUGC.js.map → chunk-MX6V5F65.js.map} +0 -0
- /package/dist/{chunk-Y53WEFYB.js.map → chunk-NLFHMPUB.js.map} +0 -0
- /package/dist/{chunk-RLQVPOVR.js.map → chunk-P6NSEG2S.js.map} +0 -0
- /package/dist/{chunk-X6TO5HII.js.map → chunk-RZNOSEMC.js.map} +0 -0
- /package/dist/{chunk-HZV7O6JR.js.map → chunk-UFAMOUWL.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ChildLifecycleSystemUpdateKind, type ChildRequiresActionRespondedByKind, SessionGoalSnapshot } from "@opengeni/contracts";
|
|
2
|
-
import type { AccessContext, AccessGrant, AccessPrincipalKind, ApiKey, AttemptToolResult, BillingBalance, CapabilityCatalogItem, CapabilityInstallation, CapabilityPack, CapabilitySource, ConnectionKind, ConnectionMetadata, ConnectionStatus, DocumentAuthorityKind, McpServerConnectionRef, FileAsset, FileUploadStatus, FirstPartyMcpToolName, HumanInputQuestion, HumanInputResponse, KnowledgeMemory, KnowledgeMemoryKind, KnowledgeMemoryStatus, KnowledgeSourceRef, GitHubInstallationAuthorityKind, GitHubRepositoryScope, HostEventExportBatch, HostUsageExportBatch, ManagedAccount, ManagedOrganizationMembershipProjection, WorkspaceMemberCandidate, McpPersonalConnectionDelegation, ModelContextContributionSummary, Permission, PersonalResourceAttachmentIntent, PackInstallation, PackInstallationStatus, ResourceRef, SandboxBackend, SandboxOs, ScheduledTask, ScheduledTaskAction, ScheduledTaskActionKind, KnowledgeSourceSyncAction, ScheduledTaskAgentConfig, ScheduledTaskOverlapPolicy, ScheduledTaskRun, ScheduledTaskRunAcceptedExecution as ScheduledTaskRunAcceptedExecutionType, ScheduledTaskRunMode, ScheduledTaskRunStatus, ScheduledTaskScheduleSpec, ScheduledTaskStatus, ScheduledTaskTriggerType, SlackInstallationBinding, Session, SessionAuthorizationListScope, SessionListResponse, SessionEvent, SessionEventPayloadMode, SessionEventReadDirection, SessionEventSemanticClass, SessionEventType, SessionGoal, SessionGoalChangeKind, SessionGoalCreatedBy, SessionGoalMutationPolicy, SessionGoalRevision, SessionGoalStatus, SessionHumanInputRequest, LineageNode, SessionMcpApprovalPolicy, SessionSkill, SessionMcpServerMetadata, SessionStatus, SessionToolPolicy, SessionTurn, SessionQueueSnapshot, SessionSystemUpdate, SessionSystemUpdateKind, SystemUpdateClassification, SessionTurnSource, SessionTurnStatus, TurnInitiator, TurnInitiatorContext, SocialConnection, SocialConnectionStatus, SocialPost, SocialProvider, ToolRef, ReasoningEffort, UsageEvent, Workspace, WorkspaceControlEvent, VariableSet, VariableSetSecret, VariableSetVariableMetadata, WorkspaceMember, WorkspaceMemoryPromptMode, WorkspaceRegisteredPack, Channel, Rig, RigProviderImage, RigProviderImages, RigVersion, RigVerificationHealth, RigChange, RigChangeKind, RigChangeStatus, RigCheck, NativeSnapshotDescriptor, TarWorkspaceArchiveDescriptor, WorkspaceArchiveDescriptor, ModalCheckpointProviderBinding, SandboxProviderContinuityRecovery, WorkClaimSubjectFilter, WorkDiscoveryProjection } from "@opengeni/contracts";
|
|
2
|
+
import type { AccessContext, AccessGrant, AccessPrincipalKind, ApiKey, AttemptToolResult, BillingBalance, CapabilityCatalogItem, CapabilityInstallation, CapabilityPack, CapabilitySource, ConnectionKind, ConnectionMetadata, ConnectionStatus, DocumentAuthorityKind, McpServerConnectionRef, FileAsset, FileUploadStatus, FirstPartyMcpToolName, HumanInputQuestion, HumanInputResponse, KnowledgeMemory, KnowledgeMemoryKind, KnowledgeMemoryStatus, KnowledgeSourceRef, GitHubInstallationAuthorityKind, GitHubRepositoryScope, HostEventExportBatch, HostUsageExportBatch, ManagedAccount, ManagedOrganizationMembershipProjection, WorkspaceMemberCandidate, McpPersonalConnectionDelegation, ModelContextContributionSummary, Permission, PersonalResourceAttachmentIntent, PackInstallation, PackInstallationStatus, ResourceRef, SandboxBackend, SandboxOs, ScheduledTask, ScheduledTaskAction, ScheduledTaskActionKind, KnowledgeSourceSyncAction, ScheduledTaskAgentConfig, ScheduledTaskOverlapPolicy, ScheduledTaskRun, ScheduledTaskRunAcceptedExecution as ScheduledTaskRunAcceptedExecutionType, ScheduledTaskRunMode, ScheduledTaskRunStatus, ScheduledTaskScheduleSpec, ScheduledTaskStatus, ScheduledTaskTriggerType, SlackInstallationBinding, Session, SessionAuthorizationListScope, SessionListResponse, SessionEvent, SessionEventPayloadMode, SessionEventReadDirection, SessionEventSemanticClass, SessionEventType, SessionGoal, SessionGoalChangeKind, SessionGoalCreatedBy, SessionGoalMutationPolicy, SessionGoalRevision, SessionGoalStatus, SessionHumanInputRequest, LineageNode, SessionMcpApprovalPolicy, SessionBackgroundCommand, SessionSkill, SessionMcpServerMetadata, SessionStatus, SessionToolPolicy, SessionTurn, SessionQueueSnapshot, SessionSystemUpdate, SessionSystemUpdateKind, SystemUpdateClassification, SessionTurnSource, SessionTurnStatus, TurnInitiator, TurnInitiatorContext, SocialConnection, SocialConnectionStatus, SocialPost, SocialProvider, ToolRef, ReasoningEffort, UsageEvent, Workspace, WorkspaceControlEvent, VariableSet, VariableSetSecret, VariableSetVariableMetadata, WorkspaceMember, WorkspaceMemoryPromptMode, WorkspaceRegisteredPack, Channel, Rig, RigProviderImage, RigProviderImages, RigVersion, RigVerificationHealth, RigChange, RigChangeKind, RigChangeStatus, RigCheck, NativeSnapshotDescriptor, TarWorkspaceArchiveDescriptor, WorkspaceArchiveDescriptor, ModalCheckpointProviderBinding, SandboxProviderContinuityRecovery, WorkClaimSubjectFilter, WorkDiscoveryProjection } from "@opengeni/contracts";
|
|
3
3
|
import { type WorkspaceArchiveObjectRef, RequestHumanInteractionToolInput, XaiProviderAccountAuthoritySnapshotV1, type TimelineAnnotation } from "@opengeni/contracts";
|
|
4
|
-
import { type LatencyMode, SessionSystemUpdatePayload, TurnExecutionPolicyV1 } from "@opengeni/contracts";
|
|
4
|
+
import { type LatencyMode, SessionSystemUpdatePayload, TurnExecutionPolicyV1, CodexCredentialPolicySnapshotV1 } from "@opengeni/contracts";
|
|
5
5
|
import { type Settings } from "@opengeni/config";
|
|
6
6
|
import { type CodexFetch } from "@opengeni/codex";
|
|
7
7
|
export { isCodexBilledModel } from "@opengeni/codex";
|
|
@@ -11,6 +11,7 @@ export { frozenInitiatorForCommandActor, type FrozenTurnInitiator } from "./turn
|
|
|
11
11
|
export { LOSSLESS_TEXT_PREFIX } from "./lossless-json.js";
|
|
12
12
|
import { type NewSessionDraftSnapshot } from "./new-session-drafts.js";
|
|
13
13
|
import { type SessionDiscoveryControl, type SessionCommandActor, type SessionTurnAttemptOutcome } from "./session-control.js";
|
|
14
|
+
import { type ConnectedMachineBackgroundCommandClaim } from "./session-background-commands.js";
|
|
14
15
|
import { type SessionRealtimeContinuityEntry } from "./session-realtime-context.js";
|
|
15
16
|
import * as schema from "./schema.js";
|
|
16
17
|
export { sql as dbSql } from "drizzle-orm";
|
|
@@ -3683,6 +3684,10 @@ export type WorkspaceCodexSubscriptionSource = {
|
|
|
3683
3684
|
organizationAvailable: boolean;
|
|
3684
3685
|
};
|
|
3685
3686
|
export declare function getWorkspaceCodexSubscriptionSource(db: Database, workspaceId: string): Promise<WorkspaceCodexSubscriptionSource>;
|
|
3687
|
+
export declare class CodexSubscriptionSourceChangeBlockedError extends Error {
|
|
3688
|
+
readonly code = "codex_subscription_source_change_blocked";
|
|
3689
|
+
constructor();
|
|
3690
|
+
}
|
|
3686
3691
|
export declare function setWorkspaceCodexSubscriptionModeInTransaction(scopedDb: Database, input: {
|
|
3687
3692
|
accountId: string;
|
|
3688
3693
|
workspaceId: string;
|
|
@@ -3935,7 +3940,7 @@ export declare function getCodexCredentialStatus(db: Database, workspaceId: stri
|
|
|
3935
3940
|
* decide whether to inject the synthetic codex-subscription provider, so billing
|
|
3936
3941
|
* and provider-injection cannot drift. Metadata-only read (never the secret).
|
|
3937
3942
|
*/
|
|
3938
|
-
export declare function workspaceCodexSubscriptionActive(db: Database, settings: Pick<Settings, "codexSubscriptionEnabled"
|
|
3943
|
+
export declare function workspaceCodexSubscriptionActive(db: Database, settings: Pick<Settings, "codexSubscriptionEnabled">, workspaceId: string): Promise<boolean>;
|
|
3939
3944
|
/**
|
|
3940
3945
|
* CANONICAL "is this a Codex-billed turn?" predicate.
|
|
3941
3946
|
*
|
|
@@ -3951,7 +3956,7 @@ export declare function workspaceCodexSubscriptionActive(db: Database, settings:
|
|
|
3951
3956
|
*/
|
|
3952
3957
|
export declare function isCodexBilledTurn(input: {
|
|
3953
3958
|
db: Database;
|
|
3954
|
-
settings: Pick<Settings, "codexSubscriptionEnabled"
|
|
3959
|
+
settings: Pick<Settings, "codexSubscriptionEnabled">;
|
|
3955
3960
|
workspaceId: string;
|
|
3956
3961
|
model: string | null | undefined;
|
|
3957
3962
|
/**
|
|
@@ -4023,15 +4028,25 @@ export type CodexCredentialLeaseCandidateFilter<TPolicyScope, TUnavailableDiagno
|
|
|
4023
4028
|
accounts: readonly CodexLeaseAccountStatus[];
|
|
4024
4029
|
policyScope: TPolicyScope | null;
|
|
4025
4030
|
}) => readonly CodexLeaseAccountStatus[] | CodexCredentialLeaseCandidateFilterResult<TUnavailableDiagnostic>;
|
|
4031
|
+
/**
|
|
4032
|
+
* Codex session state read from the exact session row locked by credential
|
|
4033
|
+
* acquisition. Selection and pointer movement must use this snapshot rather
|
|
4034
|
+
* than an unlocked read taken before the allocator transaction.
|
|
4035
|
+
*/
|
|
4036
|
+
export type CodexCredentialLeaseSessionState = {
|
|
4037
|
+
pinnedCredentialId: string | null;
|
|
4038
|
+
pinSource: "manual" | "policy" | null;
|
|
4039
|
+
lastCredentialId: string | null;
|
|
4040
|
+
};
|
|
4026
4041
|
export type CodexCredentialLeaseSelectionContext<TPolicyScope = never, TUnavailableDiagnostic = never> = {
|
|
4027
4042
|
accounts: CodexLeaseAccountStatus[];
|
|
4028
4043
|
activeCredentialId: string | null;
|
|
4029
4044
|
rotationEnabled: boolean;
|
|
4030
|
-
/** Workspace cutover fence. False means the additive lease table stays inert. */
|
|
4031
|
-
leaseRotationEnabled: boolean;
|
|
4032
4045
|
rotationStrategy: string;
|
|
4033
4046
|
/** A still-live idempotent lease for this SAME turn, if one exists. */
|
|
4034
4047
|
existingCredentialId: string | null;
|
|
4048
|
+
/** Credentials already consumed by a definitive refusal on this accepted turn. */
|
|
4049
|
+
failedCredentialIds?: readonly string[];
|
|
4035
4050
|
/** Downstream-owned accepted-turn policy; absent until a resolver is supplied. */
|
|
4036
4051
|
policyScope: TPolicyScope | null;
|
|
4037
4052
|
/** Diagnostics produced while choosing one policy scope for this NEW allocation. */
|
|
@@ -4049,6 +4064,14 @@ export type CodexCredentialLeaseResult<T, TUnavailableDiagnostic = never> = {
|
|
|
4049
4064
|
activeCredentialId: string | null;
|
|
4050
4065
|
rotationEnabled: boolean;
|
|
4051
4066
|
rotationStrategy: string;
|
|
4067
|
+
/** Session state from the row locked during this acquisition. */
|
|
4068
|
+
sessionCodexState: CodexCredentialLeaseSessionState;
|
|
4069
|
+
/** Number of effective-pool rows before any downstream policy filter. */
|
|
4070
|
+
poolAccountCount: number;
|
|
4071
|
+
/** Accepted allocator policy captured with the first durable lease. */
|
|
4072
|
+
codexPolicySnapshot: CodexCredentialPolicySnapshotV1 | null;
|
|
4073
|
+
/** True when this acquisition reused a snapshot already present on the turn. */
|
|
4074
|
+
codexPolicySnapshotReused: boolean;
|
|
4052
4075
|
credentialId: string | null;
|
|
4053
4076
|
reused: boolean;
|
|
4054
4077
|
holderId: string | null;
|
|
@@ -4057,7 +4080,19 @@ export type CodexCredentialLeaseResult<T, TUnavailableDiagnostic = never> = {
|
|
|
4057
4080
|
unavailableDiagnostics: readonly TUnavailableDiagnostic[];
|
|
4058
4081
|
/** Final selector decision after input policy and manual/policy pin handling. */
|
|
4059
4082
|
advanceActivePointer: boolean;
|
|
4083
|
+
/** Frozen alternate-account budget observed before the first provider request. */
|
|
4084
|
+
failoverLimit: number;
|
|
4060
4085
|
};
|
|
4086
|
+
export declare class CodexCredentialLeaseAttemptFencedError extends Error {
|
|
4087
|
+
readonly code = "codex_credential_lease_attempt_fenced";
|
|
4088
|
+
constructor();
|
|
4089
|
+
}
|
|
4090
|
+
export declare class CodexCredentialFailoverExhaustedError extends Error {
|
|
4091
|
+
readonly failoverCount: number;
|
|
4092
|
+
readonly maxFailovers: number;
|
|
4093
|
+
readonly code = "codex_credential_failover_exhausted";
|
|
4094
|
+
constructor(failoverCount: number, maxFailovers: number);
|
|
4095
|
+
}
|
|
4061
4096
|
/**
|
|
4062
4097
|
* Five minutes is deliberately much longer than the one-minute heartbeat and
|
|
4063
4098
|
* much shorter than a five-hour allowance window. A killed worker therefore
|
|
@@ -4082,7 +4117,14 @@ export declare const CODEX_CREDENTIAL_LEASE_TTL_MS: number;
|
|
|
4082
4117
|
export declare function acquireCodexCredentialLease<T, TPolicyScope = never, TUnavailableDiagnostic = never>(db: Database, input: {
|
|
4083
4118
|
accountId: string;
|
|
4084
4119
|
workspaceId: string;
|
|
4120
|
+
sessionId: string;
|
|
4085
4121
|
turnId: string;
|
|
4122
|
+
attemptId: string;
|
|
4123
|
+
executionGeneration: number;
|
|
4124
|
+
workflowId: string;
|
|
4125
|
+
workflowRunId: string;
|
|
4126
|
+
dispatchId: string;
|
|
4127
|
+
expectedRedispatches: number;
|
|
4086
4128
|
/** Unique Temporal/local activity execution id used as the zombie fence. */
|
|
4087
4129
|
holderId: string;
|
|
4088
4130
|
/** Pins must not move the workspace-global cursor. */
|
|
@@ -4100,9 +4142,9 @@ export declare function acquireCodexCredentialLease<T, TPolicyScope = never, TUn
|
|
|
4100
4142
|
*/
|
|
4101
4143
|
filterNewAllocationCandidates?: CodexCredentialLeaseCandidateFilter<TPolicyScope, TUnavailableDiagnostic>;
|
|
4102
4144
|
leaseTtlMs?: number;
|
|
4103
|
-
}, select: (context: CodexCredentialLeaseSelectionContext<TPolicyScope, TUnavailableDiagnostic
|
|
4145
|
+
}, select: (context: CodexCredentialLeaseSelectionContext<TPolicyScope, TUnavailableDiagnostic>, sessionCodexState: CodexCredentialLeaseSessionState) => CodexCredentialLeaseSelection<T>): Promise<CodexCredentialLeaseResult<T, TUnavailableDiagnostic>>;
|
|
4104
4146
|
export type CodexCapacityWaitStatus = "waiting" | "resumed" | "superseded";
|
|
4105
|
-
export type CodexCapacityResetKind = "authoritative" | "bounded_refresh";
|
|
4147
|
+
export type CodexCapacityResetKind = "authoritative" | "bounded_refresh" | "mutation_only";
|
|
4106
4148
|
export type CodexCapacityWait = {
|
|
4107
4149
|
id: string;
|
|
4108
4150
|
accountId: string;
|
|
@@ -4198,7 +4240,8 @@ export declare const CODEX_CAPACITY_REFRESH_MAX_MS: number;
|
|
|
4198
4240
|
export declare function codexCapacityRefreshBackoffMs(attempt: number): number;
|
|
4199
4241
|
/**
|
|
4200
4242
|
* Atomically close one all-unavailable attempt and arm exactly one durable wait
|
|
4201
|
-
* for the same logical turn. Lock order is
|
|
4243
|
+
* for the same logical turn. Lock order is workspace source advisory -> allocator
|
|
4244
|
+
* rotation row -> workspace
|
|
4202
4245
|
* control -> actual workspace -> session -> exact turn -> exact attempt ->
|
|
4203
4246
|
* optional goal -> live lease (when a reactive failure owns one) -> waiter.
|
|
4204
4247
|
* The waiting turn/session pointer, durable events, exact lease release, and
|
|
@@ -4265,6 +4308,8 @@ export declare function reconcileCodexCapacityWait<TPolicyScope = never, TUnavai
|
|
|
4265
4308
|
waiterId: string;
|
|
4266
4309
|
generation: number;
|
|
4267
4310
|
now?: Date;
|
|
4311
|
+
/** True only after the caller performed the due bounded metadata refresh. */
|
|
4312
|
+
boundedRefreshAttempted?: boolean;
|
|
4268
4313
|
}, decide: (context: CodexCapacitySelectionContext<TPolicyScope, TUnavailableDiagnostic>) => CodexCapacityAvailabilityDecision, policy?: {
|
|
4269
4314
|
resolvePolicyScope?: CodexCredentialLeasePolicyScopeResolver<TPolicyScope>;
|
|
4270
4315
|
filterNewAllocationCandidates?: CodexCredentialLeaseCandidateFilter<TPolicyScope, TUnavailableDiagnostic>;
|
|
@@ -4368,7 +4413,8 @@ export declare function reconcileXaiCapacityWait(db: Database, input: {
|
|
|
4368
4413
|
* Extend a live holder and return the database-confirmed expiry. A
|
|
4369
4414
|
* missing/expired/released row returns null. A successful result lets the worker
|
|
4370
4415
|
* derive a conservative monotonic deadline from the request start and configured
|
|
4371
|
-
* TTL, without comparing the Postgres and worker wall clocks
|
|
4416
|
+
* TTL, without comparing the Postgres and worker wall clocks; the worker still
|
|
4417
|
+
* rejects a response that returns after its prior confirmed deadline.
|
|
4372
4418
|
*/
|
|
4373
4419
|
export declare function heartbeatCodexCredentialLeaseUntil(db: Database, accountId: string, workspaceId: string, turnId: string, holderId: string, generation: number, leaseTtlMs?: number): Promise<Date | null>;
|
|
4374
4420
|
/** Extend a live holder. Compatibility wrapper for boolean-only callers. */
|
|
@@ -4384,20 +4430,46 @@ export type CodexCredentialLeaseQuarantine = {
|
|
|
4384
4430
|
until: Date;
|
|
4385
4431
|
cooldownKind: CodexCredentialCooldownKind;
|
|
4386
4432
|
};
|
|
4433
|
+
export type CodexCredentialLeaseQuarantineResult = {
|
|
4434
|
+
action: "recorded";
|
|
4435
|
+
failoverCount: number;
|
|
4436
|
+
maxFailovers: number;
|
|
4437
|
+
exhausted: boolean;
|
|
4438
|
+
} | {
|
|
4439
|
+
action: "credential_changed";
|
|
4440
|
+
failoverCount: number;
|
|
4441
|
+
maxFailovers: number;
|
|
4442
|
+
currentCredentialVersion: number;
|
|
4443
|
+
} | {
|
|
4444
|
+
action: "stale";
|
|
4445
|
+
failoverCount: number;
|
|
4446
|
+
maxFailovers: number;
|
|
4447
|
+
};
|
|
4387
4448
|
/**
|
|
4388
|
-
* Quarantine the credential served by one exact live
|
|
4389
|
-
*
|
|
4390
|
-
*
|
|
4449
|
+
* Quarantine the credential served by one exact live attempt and token family.
|
|
4450
|
+
* The attempt, dispatch, lease, and credential version are checked before the
|
|
4451
|
+
* write. The same transaction freezes the accepted turn's alternate budget and
|
|
4452
|
+
* records the attempted credential, so waiter/database recovery cannot reset
|
|
4453
|
+
* accounting or return to an already-consumed account under rotation policy.
|
|
4391
4454
|
*/
|
|
4392
4455
|
export declare function quarantineCodexCredentialForLease(db: Database, input: {
|
|
4393
4456
|
accountId: string;
|
|
4394
4457
|
workspaceId: string;
|
|
4458
|
+
sessionId: string;
|
|
4395
4459
|
turnId: string;
|
|
4460
|
+
attemptId: string;
|
|
4461
|
+
executionGeneration: number;
|
|
4462
|
+
workflowId: string;
|
|
4463
|
+
workflowRunId: string;
|
|
4464
|
+
dispatchId: string;
|
|
4465
|
+
expectedRedispatches: number;
|
|
4396
4466
|
credentialId: string;
|
|
4467
|
+
credentialVersion: number;
|
|
4397
4468
|
holderId: string;
|
|
4398
4469
|
generation: number;
|
|
4470
|
+
maxFailovers: number;
|
|
4399
4471
|
quarantine: CodexCredentialLeaseQuarantine;
|
|
4400
|
-
}): Promise<
|
|
4472
|
+
}): Promise<CodexCredentialLeaseQuarantineResult>;
|
|
4401
4473
|
/**
|
|
4402
4474
|
* Metadata-only list of every connected Codex account in the workspace, for the
|
|
4403
4475
|
* accounts UI + the worker's selection resolver. NEVER decrypts. `isActive` marks
|
|
@@ -4600,10 +4672,8 @@ export declare function recordCodexAccountUsage(db: Database, workspaceId: strin
|
|
|
4600
4672
|
export declare function recordCodexAccountUsageWithWakeTargets(db: Database, workspaceId: string, credentialId: string, snapshot: CodexAccountUsageSnapshot): Promise<CodexCapacityMutationResult<boolean>>;
|
|
4601
4673
|
export type CodexRotationSettings = {
|
|
4602
4674
|
activeCredentialId: string | null;
|
|
4603
|
-
/**
|
|
4675
|
+
/** False keeps new allocations on the active account; true permits pool failover. */
|
|
4604
4676
|
rotationEnabled: boolean;
|
|
4605
|
-
/** New allocator cutover bit; ignored safely by old binaries. */
|
|
4606
|
-
leaseRotationEnabled: boolean;
|
|
4607
4677
|
rotationStrategy: string;
|
|
4608
4678
|
};
|
|
4609
4679
|
/**
|
|
@@ -4655,20 +4725,6 @@ export declare function setInitialActiveCodexCredential(db: Database, workspaceI
|
|
|
4655
4725
|
export declare function setCodexCredentialExhausted(db: Database, workspaceId: string, credentialId: string, until: Date | null, cooldownKind: CodexCredentialCooldownKind | null): Promise<boolean>;
|
|
4656
4726
|
/** Cooldown mutation plus its committed durable capacity-wake outbox. */
|
|
4657
4727
|
export declare function setCodexCredentialExhaustedWithWakeTargets(db: Database, workspaceId: string, credentialId: string, until: Date | null, cooldownKind: CodexCredentialCooldownKind | null): Promise<CodexCapacityMutationResult<boolean>>;
|
|
4658
|
-
/**
|
|
4659
|
-
* P3 reactive-rotation boundedness (Finding 1b): the number of CONSECUTIVE rotated
|
|
4660
|
-
* 429-failover turns since the session last had a SUCCESSFUL turn. Counts
|
|
4661
|
-
* `turn.failed` events carrying the `rotated` marker that occurred AFTER the most
|
|
4662
|
-
* recent `turn.completed` event (the natural reset anchor — any successful turn
|
|
4663
|
-
* moves the anchor past every prior failover, so the streak resets to 0). The
|
|
4664
|
-
* reactive 429 catch consults this to bound its otherwise-0-delay re-dispatch:
|
|
4665
|
-
* once the streak exceeds ~(connected accounts + margin) the path degrades to a
|
|
4666
|
-
* fixed positive idle instead of another hot re-dispatch (invariant 4: NO THRASH),
|
|
4667
|
-
* covering the double-fault where a cooldown write did not persist AND the 429
|
|
4668
|
-
* carried no usage headers. Derived from persisted events so it is correct across
|
|
4669
|
-
* the Temporal re-dispatch (each failover is a NEW turn, but its event survives).
|
|
4670
|
-
*/
|
|
4671
|
-
export declare function countConsecutiveReactiveRotations(db: Database, workspaceId: string, sessionId: string): Promise<number>;
|
|
4672
4728
|
/** The supported rotation strategies (P3). */
|
|
4673
4729
|
export declare const CODEX_ROTATION_STRATEGIES: readonly ["most_remaining", "round_robin", "drain_then_next", "sharded"];
|
|
4674
4730
|
export type CodexRotationStrategy = (typeof CODEX_ROTATION_STRATEGIES)[number];
|
|
@@ -4864,6 +4920,8 @@ export declare function ensureConnectorActionPolicyDefault(db: Database, input:
|
|
|
4864
4920
|
changed: boolean;
|
|
4865
4921
|
}>;
|
|
4866
4922
|
export declare function prepareConnectorActionApproval(db: Database, identity: ConnectorActionAttemptIdentity, invocation: ConnectorActionInvocation): Promise<PrepareConnectorActionApprovalResult>;
|
|
4923
|
+
/** Resolve the frozen connector policy without creating approval or audit state. */
|
|
4924
|
+
export declare function previewConnectorActionApproval(db: Database, identity: ConnectorActionAttemptIdentity, invocation: ConnectorActionInvocation): Promise<PrepareConnectorActionApprovalResult>;
|
|
4867
4925
|
export declare function beginConnectorActionExecution(db: Database, identity: ConnectorActionAttemptIdentity, invocation: ConnectorActionInvocation): Promise<BeginConnectorActionExecutionResult>;
|
|
4868
4926
|
export declare function completeConnectorActionExecution(db: Database, input: {
|
|
4869
4927
|
accountId: string;
|
|
@@ -5164,7 +5222,7 @@ type SessionTreeStats = NonNullable<Session["treeStats"]>;
|
|
|
5164
5222
|
export declare function projectEffectiveControlForRelatedAccess(control: Session["effectiveControl"], sessionId: string, access: "target" | "root"): Session["effectiveControl"];
|
|
5165
5223
|
/**
|
|
5166
5224
|
* Remove metadata derived from sessions other than the exact authorized
|
|
5167
|
-
* target, including parent identity and descendant counts.
|
|
5225
|
+
* target, including parent identity, policy provenance, and descendant counts.
|
|
5168
5226
|
*/
|
|
5169
5227
|
export declare function projectSessionForRelatedAccess(session: Session, access: "target" | "root"): Session;
|
|
5170
5228
|
/**
|
|
@@ -5345,7 +5403,8 @@ export declare function listSessionDiscoverySummaries(db: Database, workspaceId:
|
|
|
5345
5403
|
recentHours?: number;
|
|
5346
5404
|
subject?: WorkClaimSubjectFilter;
|
|
5347
5405
|
claimLimit?: number;
|
|
5348
|
-
/** Skip advisory claim reads
|
|
5406
|
+
/** Skip advisory claim reads on plain MCP browse or an operator-disabled rollout.
|
|
5407
|
+
* Omitted retains the REST/UI legacy evidence default. */
|
|
5349
5408
|
includeWorkDiscovery?: boolean;
|
|
5350
5409
|
subjectId?: string;
|
|
5351
5410
|
authorizationScope?: SessionAuthorizationListScope;
|
|
@@ -5477,6 +5536,18 @@ export declare function getWorkspaceControlEvent(db: Database, workspaceId: stri
|
|
|
5477
5536
|
* a session, while the workspace predicate remains the tenancy boundary.
|
|
5478
5537
|
*/
|
|
5479
5538
|
export declare function getSessionEventByClientEventId(db: Database, workspaceId: string, sessionId: string, clientEventId: string): Promise<SessionEvent | null>;
|
|
5539
|
+
/**
|
|
5540
|
+
* Resolve the visible creation event for one exact tool operation. This is a
|
|
5541
|
+
* rolling-upgrade compatibility lookup for producers that predate deterministic
|
|
5542
|
+
* client event ids; the operation id remains bound to the same turn attempt.
|
|
5543
|
+
*/
|
|
5544
|
+
export declare function getSessionToolCallCreatedEventByOperationId(db: Database, input: {
|
|
5545
|
+
workspaceId: string;
|
|
5546
|
+
sessionId: string;
|
|
5547
|
+
turnId: string;
|
|
5548
|
+
attemptId: string;
|
|
5549
|
+
operationId: string;
|
|
5550
|
+
}): Promise<SessionEvent | null>;
|
|
5480
5551
|
export declare const APPROVAL_RUN_STATE_MAX_JSON_BYTES: number;
|
|
5481
5552
|
export declare const APPROVAL_RUN_STATE_MAX_JSON_NODES = 65536;
|
|
5482
5553
|
export declare const APPROVAL_RUN_STATE_MAX_JSON_PROPERTIES = 32768;
|
|
@@ -5608,6 +5679,34 @@ export declare function adoptConnectedMachineSessionBackgroundCommand(db: Databa
|
|
|
5608
5679
|
settledAt: string | null;
|
|
5609
5680
|
updatedAt: string;
|
|
5610
5681
|
}>;
|
|
5682
|
+
/** Transfer one exact managed retained process from a live turn attempt to its
|
|
5683
|
+
* session. Retaining the provider process and backgrounding it are deliberately
|
|
5684
|
+
* separate: a provider yield only preserves physical ownership; this adoption
|
|
5685
|
+
* occurs immediately before the running receipt becomes model-visible. */
|
|
5686
|
+
export declare function adoptManagedSessionBackgroundCommand(db: Database, input: {
|
|
5687
|
+
accountId: string;
|
|
5688
|
+
workspaceId: string;
|
|
5689
|
+
sessionId: string;
|
|
5690
|
+
turnId: string;
|
|
5691
|
+
executionGeneration: number;
|
|
5692
|
+
attemptId: string;
|
|
5693
|
+
processId: string;
|
|
5694
|
+
expected: SandboxRetainedProcessIdentity;
|
|
5695
|
+
command: string;
|
|
5696
|
+
}): Promise<{
|
|
5697
|
+
id: string;
|
|
5698
|
+
workspaceId: string;
|
|
5699
|
+
sessionId: string;
|
|
5700
|
+
provider: "connected_machine" | "managed";
|
|
5701
|
+
state: "exited" | "lost" | "running" | "stopping";
|
|
5702
|
+
commandPreview: string;
|
|
5703
|
+
cancelRequestedAt: string | null;
|
|
5704
|
+
exitCode: number | null;
|
|
5705
|
+
settlementReason: string | null;
|
|
5706
|
+
startedAt: string;
|
|
5707
|
+
settledAt: string | null;
|
|
5708
|
+
updatedAt: string;
|
|
5709
|
+
}>;
|
|
5611
5710
|
export type InstallOrReadTurnExecutionPolicyForAttemptResult = {
|
|
5612
5711
|
accepted: true;
|
|
5613
5712
|
installed: boolean;
|
|
@@ -7472,8 +7571,9 @@ export declare function deferRetainedProcessReconciliation(db: Database, input:
|
|
|
7472
7571
|
export declare function countActiveRetainedProcessesByOwnerState(db: Database): Promise<ActiveRetainedProcessOwnerCount[]>;
|
|
7473
7572
|
export declare function countExpiredDrainingSandboxLeases(db: Database): Promise<ExpiredDrainingSandboxLeaseCount[]>;
|
|
7474
7573
|
/** Settle an exact retained process only after exit or definitive loss proof.
|
|
7475
|
-
* The process row, parent admission, non-TTL holder,
|
|
7476
|
-
* commit atomically. A duplicate
|
|
7574
|
+
* The process row, parent admission, non-TTL holder, lease count, and any
|
|
7575
|
+
* linked background-command terminal input commit atomically. A duplicate
|
|
7576
|
+
* terminal state + exit code is idempotent and
|
|
7477
7577
|
* preserves the first durable evidence reason; contradictory physical truth
|
|
7478
7578
|
* fails closed. */
|
|
7479
7579
|
export declare function settleRetainedProcess(db: Database, input: {
|
|
@@ -7490,6 +7590,7 @@ export declare function settleRetainedProcess(db: Database, input: {
|
|
|
7490
7590
|
}): Promise<{
|
|
7491
7591
|
settled: boolean;
|
|
7492
7592
|
process: SandboxRetainedProcess;
|
|
7593
|
+
backgroundCommandEvents: SessionEvent[];
|
|
7493
7594
|
}>;
|
|
7494
7595
|
/** Read the exact generation a verified capture must later fold. This is a
|
|
7495
7596
|
* preflight only: persistWarmSnapshot/persistDrainSnapshot repeat the full
|
|
@@ -8714,6 +8815,9 @@ export type CreateSessionGoalInput = {
|
|
|
8714
8815
|
};
|
|
8715
8816
|
export declare function createSessionGoal(db: Database, input: CreateSessionGoalInput): Promise<SessionGoal>;
|
|
8716
8817
|
export declare function getSessionGoal(db: Database, workspaceId: string, sessionId: string): Promise<SessionGoal | null>;
|
|
8818
|
+
/** Bounded MCP management facts. No config, goal metadata, or event payload is materialized.
|
|
8819
|
+
* The caller must authorize session.read first, just as for getSession/queue reads. */
|
|
8820
|
+
export declare function getSessionMcpMonitoringSummary(db: Database, workspaceId: string, sessionId: string): Promise<import("@opengeni/contracts").SessionMcpMonitoringSource>;
|
|
8717
8821
|
export type SessionGoalContinuationProjection = {
|
|
8718
8822
|
state: "inactive" | "scheduled" | "running" | "blocked" | "invariant_broken";
|
|
8719
8823
|
reason: "goal_inactive" | "wake_pending" | "continuation_pending" | "human_work_pending" | "goal_turn_running" | "human_turn_running" | "workstream_paused" | "approval_required" | "provider_backpressure" | "session_cancelled" | "system_work_pending" | "held_for_input" | "backoff_pending" | "missing_obligation";
|
|
@@ -8721,7 +8825,7 @@ export type SessionGoalContinuationProjection = {
|
|
|
8721
8825
|
observedRevision: number;
|
|
8722
8826
|
nextAttemptAt: string | null;
|
|
8723
8827
|
lastError: string | null;
|
|
8724
|
-
/** The agent's stated `
|
|
8828
|
+
/** The agent's stated `wait_for_input` reason while held; null otherwise. */
|
|
8725
8829
|
holdReason: string | null;
|
|
8726
8830
|
};
|
|
8727
8831
|
/**
|
|
@@ -8841,34 +8945,19 @@ export declare function updateSessionGoalWithEvent(db: Database, workspaceId: st
|
|
|
8841
8945
|
outcome: "applied" | "proposed";
|
|
8842
8946
|
proposalId: string | null;
|
|
8843
8947
|
}>;
|
|
8948
|
+
/** Maximum relative duration accepted by the session-level out-of-turn wait. */
|
|
8949
|
+
export declare const SESSION_INPUT_WAIT_MIN_SECONDS = 30;
|
|
8950
|
+
export declare const SESSION_INPUT_WAIT_MAX_SECONDS: number;
|
|
8951
|
+
export declare const SESSION_INPUT_WAIT_REASON_MAX_BYTES: number;
|
|
8844
8952
|
/**
|
|
8845
|
-
*
|
|
8846
|
-
*
|
|
8847
|
-
*
|
|
8848
|
-
|
|
8849
|
-
/**
|
|
8850
|
-
* Column set that retires an agent-declared `goal_wait` hold. Spread into every
|
|
8851
|
-
* goal head mutation (status transition, applied semantic revision, replace) so
|
|
8852
|
-
* newer truth never sits behind an older wait.
|
|
8953
|
+
* Agent `wait_for_input`: persist one session-owned, self-only out-of-turn
|
|
8954
|
+
* wait. The exact declaring turn and absolute deadline are causal authority;
|
|
8955
|
+
* Temporal/NATS are replaceable wake hints. A replacement attempt replaying
|
|
8956
|
+
* the same target-scoped operation key receives the committed result.
|
|
8853
8957
|
*/
|
|
8854
|
-
export declare
|
|
8855
|
-
export declare const SESSION_GOAL_HOLD_MAX_SECONDS: number;
|
|
8856
|
-
/**
|
|
8857
|
-
* Agent `goal_wait`: record that the active goal's next continuation should
|
|
8858
|
-
* wait for child results, a message, a human prompt, or the deadline instead of
|
|
8859
|
-
* materializing immediately after the declaring turn ends.
|
|
8860
|
-
*
|
|
8861
|
-
* The hold is bound to the exact caller turn. The materializer honors it only
|
|
8862
|
-
* while that turn is still the latest finished turn and `now < until`; it
|
|
8863
|
-
* never consumes the wake/observed revision ledger. The receipt, goal
|
|
8864
|
-
* mutation, and `goal.held` timeline fact commit under the canonical goal
|
|
8865
|
-
* event-write prefix (control FOR SHARE -> workspace FOR KEY SHARE -> session
|
|
8866
|
-
* FOR NO KEY UPDATE), never a workspace FOR UPDATE. A replacement attempt
|
|
8867
|
-
* replaying the same target-scoped operation key receives the stored result.
|
|
8868
|
-
*/
|
|
8869
|
-
export declare function holdSessionGoalContinuationWithEvent(db: Database, workspaceId: string, sessionId: string, input: {
|
|
8958
|
+
export declare function waitForSessionInputWithEvent(db: Database, workspaceId: string, sessionId: string, input: {
|
|
8870
8959
|
reason: string;
|
|
8871
|
-
|
|
8960
|
+
timeoutSeconds: number;
|
|
8872
8961
|
command: {
|
|
8873
8962
|
accountId: string;
|
|
8874
8963
|
actor: Extract<SessionCommandActor, {
|
|
@@ -8877,13 +8966,17 @@ export declare function holdSessionGoalContinuationWithEvent(db: Database, works
|
|
|
8877
8966
|
operationKey: string;
|
|
8878
8967
|
};
|
|
8879
8968
|
}): Promise<{
|
|
8880
|
-
goal: SessionGoal;
|
|
8881
8969
|
events: SessionEvent[];
|
|
8882
8970
|
operationId: string;
|
|
8883
8971
|
replay: boolean;
|
|
8884
|
-
|
|
8885
|
-
|
|
8972
|
+
waitTurnId: string;
|
|
8973
|
+
deadlineAt: string;
|
|
8886
8974
|
}>;
|
|
8975
|
+
/**
|
|
8976
|
+
* Record execution progress without changing goal semantics or either goal
|
|
8977
|
+
* revision. The attempt-fenced operation receipt makes a recovered tool call
|
|
8978
|
+
* converge on the original event instead of manufacturing progress twice.
|
|
8979
|
+
*/
|
|
8887
8980
|
export declare function recordSessionGoalProgressWithEvent(db: Database, workspaceId: string, sessionId: string, input: {
|
|
8888
8981
|
progressNote: string;
|
|
8889
8982
|
command: {
|
|
@@ -9044,11 +9137,6 @@ export type GoalIdleBackoffPolicy = {
|
|
|
9044
9137
|
export type MaterializeGoalContinuationResult = {
|
|
9045
9138
|
action: "none" | "queue";
|
|
9046
9139
|
events: [];
|
|
9047
|
-
} | {
|
|
9048
|
-
action: "held";
|
|
9049
|
-
events: [];
|
|
9050
|
-
holdTurnId: string;
|
|
9051
|
-
holdUntil: Date;
|
|
9052
9140
|
} | {
|
|
9053
9141
|
action: "deferred";
|
|
9054
9142
|
events: [];
|
|
@@ -9331,10 +9419,37 @@ export type SessionWorkPeek = {
|
|
|
9331
9419
|
} | {
|
|
9332
9420
|
kind: "cancellation-wait";
|
|
9333
9421
|
attemptId: string;
|
|
9422
|
+
} | {
|
|
9423
|
+
kind: "input-wait";
|
|
9424
|
+
disposition: "held" | "timeout" | "superseded";
|
|
9425
|
+
waitTurnId: string;
|
|
9426
|
+
deadlineAt: string;
|
|
9334
9427
|
} | {
|
|
9335
9428
|
kind: "idle";
|
|
9336
9429
|
};
|
|
9337
9430
|
export declare function peekSessionWork(db: Database, workspaceId: string, sessionId: string): Promise<SessionWorkPeek>;
|
|
9431
|
+
export type SettleSessionInputWaitResult = {
|
|
9432
|
+
action: "held";
|
|
9433
|
+
events: [];
|
|
9434
|
+
workflowWakeRevision: number;
|
|
9435
|
+
} | {
|
|
9436
|
+
action: "timeout";
|
|
9437
|
+
events: SessionEvent[];
|
|
9438
|
+
workflowWakeRevision: number | null;
|
|
9439
|
+
} | {
|
|
9440
|
+
action: "superseded";
|
|
9441
|
+
events: SessionEvent[];
|
|
9442
|
+
} | {
|
|
9443
|
+
action: "stale";
|
|
9444
|
+
events: [];
|
|
9445
|
+
};
|
|
9446
|
+
export declare function settleSessionInputWait(db: Database, input: {
|
|
9447
|
+
accountId: string;
|
|
9448
|
+
workspaceId: string;
|
|
9449
|
+
sessionId: string;
|
|
9450
|
+
waitTurnId: string;
|
|
9451
|
+
disposition: "held" | "timeout" | "superseded";
|
|
9452
|
+
}): Promise<SettleSessionInputWaitResult>;
|
|
9338
9453
|
export type FailSessionWorkBeforeAttemptClaimInput = {
|
|
9339
9454
|
accountId: string;
|
|
9340
9455
|
sessionId: string;
|
|
@@ -9409,6 +9524,13 @@ export type ApplySessionTurnSettlementInput = {
|
|
|
9409
9524
|
turnStatus: SessionTurnStatus;
|
|
9410
9525
|
sessionStatus: SessionStatus;
|
|
9411
9526
|
activeTurnId: string | null;
|
|
9527
|
+
/**
|
|
9528
|
+
* Finish this terminal turn without arming the active goal's autonomous
|
|
9529
|
+
* continuation. The goal remains active so explicit later work can proceed,
|
|
9530
|
+
* but this exact settlement cannot synthesize another turn from unchanged
|
|
9531
|
+
* input after a bounded terminal condition.
|
|
9532
|
+
*/
|
|
9533
|
+
suppressGoalContinuation?: boolean;
|
|
9412
9534
|
events: AppendEventInput[];
|
|
9413
9535
|
/**
|
|
9414
9536
|
* A mid-turn requires_action freeze. Human-input rows and interaction
|
|
@@ -9491,7 +9613,8 @@ export type SettleCodexCredentialFailoverResult = {
|
|
|
9491
9613
|
} | {
|
|
9492
9614
|
action: "limit_exceeded";
|
|
9493
9615
|
failoverCount: number;
|
|
9494
|
-
|
|
9616
|
+
maxFailovers: number;
|
|
9617
|
+
events: SessionEvent[];
|
|
9495
9618
|
};
|
|
9496
9619
|
export type SettleCodexCredentialLeaseLossResult = {
|
|
9497
9620
|
action: "recovering";
|
|
@@ -9529,11 +9652,13 @@ export declare function settleCodexCredentialLeaseLoss(db: Database, input: {
|
|
|
9529
9652
|
/**
|
|
9530
9653
|
* Atomically settle a definitive Codex credential failover. Conversation
|
|
9531
9654
|
* history/RunState is persisted by the caller first; this transaction then
|
|
9532
|
-
* fences the exact activity lease,
|
|
9533
|
-
*
|
|
9534
|
-
* session, and releases the lease together.
|
|
9535
|
-
*
|
|
9536
|
-
*
|
|
9655
|
+
* fences the exact activity lease, consumes the quarantine transaction's
|
|
9656
|
+
* bounded same-turn receipt, appends durable recovery or terminal events,
|
|
9657
|
+
* updates the turn/session, and releases the lease together. Exhaustion also
|
|
9658
|
+
* suppresses autonomous goal continuation and enqueues a failed-child notice in
|
|
9659
|
+
* this transaction. The exact holder remains provable if its row just expired
|
|
9660
|
+
* or was reaped; a successor, redispatch, or closed inference gate makes the
|
|
9661
|
+
* caller stale without a second settlement path.
|
|
9537
9662
|
*/
|
|
9538
9663
|
export declare function settleCodexCredentialFailover(db: Database, input: {
|
|
9539
9664
|
accountId: string;
|
|
@@ -9541,11 +9666,12 @@ export declare function settleCodexCredentialFailover(db: Database, input: {
|
|
|
9541
9666
|
sessionId: string;
|
|
9542
9667
|
turnId: string;
|
|
9543
9668
|
attemptId: string;
|
|
9544
|
-
holderId
|
|
9545
|
-
generation
|
|
9669
|
+
holderId?: string | null;
|
|
9670
|
+
generation?: number | null;
|
|
9546
9671
|
expectedRedispatches: number;
|
|
9547
9672
|
maxFailovers: number;
|
|
9548
9673
|
recoveryPayload: Record<string, unknown>;
|
|
9674
|
+
failedPayload?: Record<string, unknown>;
|
|
9549
9675
|
}): Promise<SettleCodexCredentialFailoverResult>;
|
|
9550
9676
|
export type RequestSessionTurnRecoveryInput = {
|
|
9551
9677
|
sessionId: string;
|
|
@@ -9829,6 +9955,29 @@ export declare function addSessionSystemUpdateWithSourceMutation<RequireIdleSess
|
|
|
9829
9955
|
/** Runs under the locked session/source transaction before any update/event insert. */
|
|
9830
9956
|
prepareSource?: (tx: Database, sessionId: string) => Promise<PrepareSessionSystemUpdateSourceResult | void>;
|
|
9831
9957
|
}): Promise<AddSessionSystemUpdateResult<RequireIdleSession>>;
|
|
9958
|
+
export type SessionBackgroundCommandTerminalSettlement = {
|
|
9959
|
+
command: SessionBackgroundCommand;
|
|
9960
|
+
events: SessionEvent[];
|
|
9961
|
+
};
|
|
9962
|
+
export declare function settleConnectedMachineSessionBackgroundCommand(db: Database, input: {
|
|
9963
|
+
accountId: string;
|
|
9964
|
+
workspaceId: string;
|
|
9965
|
+
sessionId: string;
|
|
9966
|
+
commandId: string;
|
|
9967
|
+
controlWorkspaceId: string;
|
|
9968
|
+
enrollmentId: string;
|
|
9969
|
+
connectionInstanceId: string;
|
|
9970
|
+
opId: string;
|
|
9971
|
+
outcome: "exited" | "lost";
|
|
9972
|
+
exitCode: number | null;
|
|
9973
|
+
reason: string;
|
|
9974
|
+
}): Promise<SessionBackgroundCommandTerminalSettlement | null>;
|
|
9975
|
+
export declare function settleClaimedConnectedMachineBackgroundCommand(db: Database, input: {
|
|
9976
|
+
claim: ConnectedMachineBackgroundCommandClaim;
|
|
9977
|
+
}): Promise<{
|
|
9978
|
+
settled: boolean;
|
|
9979
|
+
events: SessionEvent[];
|
|
9980
|
+
}>;
|
|
9832
9981
|
/**
|
|
9833
9982
|
* One durable machine input by id, under the ordinary workspace RLS scope.
|
|
9834
9983
|
* The row outlives delivery, so a late bounded projection of an already
|
|
@@ -10028,10 +10177,13 @@ export { adoptPackComponentReferences, finalizePackComponentOwnership, listPackI
|
|
|
10028
10177
|
export { deferPackInstallationOperation, finalizePackInstallationOperation, finalizePackUninstallOperation, PackManifestChangedError, PackOperationClaimLostError, PackOperationInProgressError, PackInstallationVersionConflictError, PackInstallationVersionRequiredError, PackOperationIdempotencyError, preparePackInstallationOperation, preparePackUninstallOperation, touchPackInstallationOperation, type PreparedPackInstallation, } from "./pack-installations.js";
|
|
10029
10178
|
export { checkpointPluginPackageOperation, deferPluginPackageOperation, finalizePluginPackageInstall, getInstalledPluginPackage, getPluginPackageUninstallPreview, installPluginMcpReference, listInstalledPluginPackages, PluginInstallationVersionConflictError, PluginInstallationVersionRequiredError, PluginOperationIdempotencyError, preparePluginPackageInstall, uninstallPluginPackage, type InstalledPluginPackage, type InstalledPluginPackageSummary, type PluginBomComponent, type PreparedPluginPackage, } from "./plugin-packages.js";
|
|
10030
10179
|
export * from "./workspace-artifacts.js";
|
|
10180
|
+
export * from "./mcp-oauth.js";
|
|
10181
|
+
export * from "./tool-gateway-approvals.js";
|
|
10031
10182
|
export * from "./transcription-recordings.js";
|
|
10032
10183
|
export * from "./editable-artifacts.js";
|
|
10033
10184
|
export * from "./editable-artifact-materialization.js";
|
|
10034
10185
|
export * from "./attempt-tool-catalogs.js";
|
|
10186
|
+
export * from "./model-context-snapshots.js";
|
|
10035
10187
|
export * from "./codemode-operations.js";
|
|
10036
10188
|
export * from "./browser-sessions.js";
|
|
10037
10189
|
export * from "./computer-sessions.js";
|