@opengeni/sdk 0.11.0 → 0.13.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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- type SessionStatus = "queued" | "running" | "idle" | "requires_action" | "failed" | "cancelled";
1
+ type SessionStatus = "queued" | "running" | "idle" | "requires_action" | "recovering" | "waiting_capacity" | "paused" | "failed" | "cancelled";
2
2
  type SandboxBackend = "docker" | "modal" | "local" | "none" | "daytona" | "runloop" | "e2b" | "blaxel" | "cloudflare" | "vercel" | "selfhosted";
3
3
  type SandboxOs = "linux" | "macos" | "windows";
4
4
  type SandboxCapabilityName = "FileSystem" | "Terminal" | "Git" | "DesktopStream" | "Recording";
@@ -124,12 +124,18 @@ type ViewerHeartbeatResponse = {
124
124
  alive: boolean;
125
125
  };
126
126
  type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
127
+ type GitCredentialProvider = "github" | "gitlab" | "azure_devops";
127
128
  type RepositoryResourceRef = {
128
129
  kind: "repository";
129
130
  uri: string;
130
131
  ref: string;
131
132
  mountPath?: string | undefined;
132
133
  subpath?: string | undefined;
134
+ provider?: GitCredentialProvider | undefined;
135
+ repositoryId?: number | string | undefined;
136
+ installationId?: number | string | undefined;
137
+ projectId?: number | string | undefined;
138
+ connectionId?: string | undefined;
133
139
  githubInstallationId?: number | undefined;
134
140
  githubRepositoryId?: number | undefined;
135
141
  };
@@ -230,6 +236,11 @@ type OAuthStartRequest = {
230
236
  requestedScopes?: string[] | undefined;
231
237
  returnPath?: string | undefined;
232
238
  connectionId?: string | undefined;
239
+ oauthClient?: {
240
+ clientId: string;
241
+ clientSecret?: string | undefined;
242
+ tokenEndpointAuthMethod?: "none" | "client_secret_post" | "client_secret_basic" | undefined;
243
+ } | undefined;
233
244
  };
234
245
  type OAuthStartResponse = {
235
246
  state: string;
@@ -258,22 +269,76 @@ type Session = {
258
269
  metadata: Record<string, unknown>;
259
270
  model: string;
260
271
  sandboxBackend: SandboxBackend;
272
+ sandboxOs: SandboxOs;
273
+ sandboxGroupId: string;
274
+ activeSandboxId: string | null;
275
+ activeEpoch: number;
276
+ variableSetId: string | null;
277
+ /** @deprecated use variableSetId */
261
278
  environmentId: string | null;
279
+ rigId: string | null;
280
+ rigVersionId: string | null;
262
281
  firstPartyMcpPermissions: string[] | null;
263
282
  mcpServers: SessionMcpServerMetadata[];
283
+ parentSessionId: string | null;
264
284
  createIdempotencyKey: string | null;
265
285
  temporalWorkflowId: string | null;
266
286
  activeTurnId: string | null;
287
+ queueVersion: number;
288
+ queueHeadPosition: number;
289
+ queueTailPosition: number;
290
+ controlState: "active" | "paused";
291
+ controlGeneration: number;
292
+ controlReason: string | null;
293
+ controlChangedBy: string | null;
294
+ controlChangedAt: string | null;
295
+ workspaceRunExceptionGeneration: number | null;
267
296
  lastSequence: number;
268
297
  /** Multi-account Codex (P1): the account this session is pinned to (null ⇒ follow workspace active). */
269
298
  codexPinnedCredentialId?: string | null;
270
299
  /** Multi-account Codex (P1): the account the most recent turn ran on (the "Running on:" indicator). */
271
300
  codexLastCredentialId?: string | null;
301
+ /** Personal (authenticated subject) workspace pin state, never workspace-global. */
302
+ pinned?: boolean;
303
+ /** Stable pin ordering key; null when this subject has not pinned the session. */
304
+ pinnedAt?: string | null;
305
+ /** Optimistic pin-state revision; zero represents an absent pin relation. */
306
+ pinVersion?: number;
307
+ /** Server-authoritative descendant counts populated by session-list reads. */
308
+ treeStats?: {
309
+ directChildren: number;
310
+ totalDescendants: number;
311
+ runningDescendants: number;
312
+ queuedDescendants: number;
313
+ attentionDescendants: number;
314
+ pausedDescendants: number;
315
+ failedDescendants: number;
316
+ } | undefined;
272
317
  createdAt: string;
273
318
  updatedAt: string;
274
319
  };
275
- type SessionTurnStatus = "queued" | "running" | "requires_action" | "completed" | "failed" | "cancelled";
276
- type SessionTurnSource = "user" | "scheduled_task" | "api" | "goal";
320
+ type SessionSummary = Session;
321
+ /** Canonical session-list page; pinned rows are excluded from ordinary pages. */
322
+ type SessionListResponse = {
323
+ pinned: Session[];
324
+ sessions: Session[];
325
+ nextCursor: string | null;
326
+ };
327
+ type UpdateSessionPinRequest = {
328
+ pinned: boolean;
329
+ expectedVersion?: number;
330
+ };
331
+ type LineageNode = {
332
+ session: SessionSummary;
333
+ children: LineageNode[];
334
+ };
335
+ type SessionLineageResponse = {
336
+ ancestors: SessionSummary[];
337
+ children: LineageNode[];
338
+ truncated: boolean;
339
+ };
340
+ type SessionTurnStatus = "queued" | "running" | "requires_action" | "recovering" | "waiting_capacity" | "completed" | "failed" | "cancelled" | "superseded";
341
+ type SessionTurnSource = "user" | "scheduled_task" | "api" | "goal" | "system" | "compaction";
277
342
  type SessionTurn = {
278
343
  id: string;
279
344
  workspaceId: string;
@@ -289,13 +354,20 @@ type SessionTurn = {
289
354
  model: string;
290
355
  reasoningEffort: ReasoningEffort;
291
356
  sandboxBackend: SandboxBackend;
357
+ sandboxOs: SandboxOs | null;
292
358
  metadata: Record<string, unknown>;
359
+ version: number;
360
+ executionGeneration: number;
361
+ activeAttemptId: string | null;
362
+ lineage: Record<string, unknown>;
363
+ cancelledBy?: string | null;
364
+ cancelReason?: string | null;
293
365
  startedAt: string | null;
294
366
  finishedAt: string | null;
295
367
  createdAt: string;
296
368
  updatedAt: string;
297
369
  };
298
- declare const SESSION_EVENT_TYPES: readonly ["session.created", "session.status.changed", "session.requiresAction", "session.context.compacted", "session.context.cleared", "user.message", "user.interrupt", "user.approvalDecision", "turn.queued", "turn.updated", "turn.started", "turn.completed", "turn.failed", "turn.cancelled", "turn.preempted", "agent.message.delta", "agent.message.completed", "agent.reasoning.delta", "agent.toolCall.created", "agent.toolCall.output", "tool.auth_needed", "agent.updated", "sandbox.operation.started", "sandbox.operation.completed", "sandbox.operation.failed", "sandbox.command.output.delta", "artifact.created", "goal.set", "goal.updated", "goal.completed", "goal.paused", "goal.resumed", "goal.continuation", "stream.url.rotated", "stream.opened", "stream.closed", "stream.revoked", "recording.started", "recording.available", "recording.failed", "fs.changed", "git.changed", "terminal.pty.started", "terminal.pty.output.delta", "terminal.pty.exited", "session.title_set", "codex.account.switched"];
370
+ declare const SESSION_EVENT_TYPES: readonly ["session.created", "session.status.changed", "session.requiresAction", "session.context.compaction.requested", "session.context.compacted", "session.context.compaction.skipped", "session.context.cleared", "user.message", "user.pause", "user.approvalDecision", "turn.queued", "turn.started", "turn.completed", "turn.failed", "turn.cancelled", "turn.superseded", "turn.recovery.requested", "turn.capacity_waiting", "agent.message.delta", "agent.message.completed", "agent.reasoning.delta", "agent.toolCall.created", "agent.toolCall.output", "agent.model.usage", "tool.auth_needed", "agent.updated", "rig.setup.started", "rig.setup.completed", "rig.setup.skipped", "rig.setup.failed", "sandbox.operation.started", "sandbox.operation.completed", "sandbox.operation.failed", "sandbox.command.output.delta", "artifact.created", "goal.set", "goal.updated", "goal.completed", "goal.paused", "goal.resumed", "goal.cleared", "goal.continuation", "system.update.pending", "system.update.delivered", "session.control.paused", "session.control.resumed", "session.control.steer_requested", "workspace.inference.paused", "workspace.inference.resumed", "session.queue.prompt.cancelled", "session.queue.history", "turn.event.rejected_late", "memory.saved", "memory.corrected", "stream.url.rotated", "stream.opened", "stream.closed", "stream.revoked", "recording.started", "recording.available", "recording.failed", "fs.changed", "git.changed", "terminal.pty.started", "terminal.pty.output.delta", "terminal.pty.exited", "session.title_set", "codex.account.switched", "codex.credential.selected", "codex.capacity.waiting", "codex.capacity.resumed", "codex.capacity.superseded", "sandbox.box.created", "sandbox.box.lost", "sandbox.box.terminated", "sandbox.box.snapshot", "sandbox.env.drift", "session.route.reconciled", "workspace.revision.captured", "workspace.revision.degraded", "machine.op.failed", "machine.op.recovered", "machine.link.lost", "machine.link.restored", "machine.runner.restarted"];
299
371
  type KnownSessionEventType = (typeof SESSION_EVENT_TYPES)[number];
300
372
  /**
301
373
  * Event types the SDK knows about today, kept open so a newer OpenGeni server
@@ -313,6 +385,11 @@ type SessionEvent = {
313
385
  occurredAt: string;
314
386
  clientEventId?: string | null | undefined;
315
387
  turnId?: string | null | undefined;
388
+ turnGeneration?: number | null | undefined;
389
+ turnAttemptId?: string | null | undefined;
390
+ turnAssociation?: "current" | "late_rejected" | "duplicate" | null | undefined;
391
+ duplicateOfEventId?: string | null | undefined;
392
+ duplicateReason?: string | null | undefined;
316
393
  };
317
394
  type ToolAuthNeededPayload = {
318
395
  serverId: string;
@@ -603,6 +680,102 @@ type GitShowResponse = {
603
680
  } | null;
604
681
  revision: number;
605
682
  };
683
+ type WorkspaceCaptureFile = {
684
+ path: string;
685
+ status: GitFileStatusCode;
686
+ hash: string | null;
687
+ baseHash: string | null;
688
+ contentRef: string | null;
689
+ sizeBytes: number;
690
+ isBinary: boolean;
691
+ tooLarge: boolean;
692
+ deleted: boolean;
693
+ };
694
+ type WorkspaceCaptureRepo = {
695
+ root: string;
696
+ head: string | null;
697
+ detached: boolean;
698
+ upstream: string | null;
699
+ ahead: number;
700
+ behind: number;
701
+ status: GitFileStatus[];
702
+ diff: GitFileDiff[];
703
+ };
704
+ type WorkspaceCaptureDegradedReason = "repository_discovery_command_failed" | "repository_discovery_timed_out" | "repository_discovery_result_limit_exceeded";
705
+ type WorkspaceCaptureStats = {
706
+ repoCount: number;
707
+ fileCount: number;
708
+ additions: number;
709
+ deletions: number;
710
+ totalBytes: number;
711
+ tooLargeCount: number;
712
+ binaryCount: number;
713
+ treeEntryCount: number;
714
+ treeTruncated: boolean;
715
+ durationMs: number;
716
+ fingerprint?: string;
717
+ };
718
+ type WorkspaceCaptureManifest = {
719
+ version: 1;
720
+ revision: number;
721
+ capturedAt: string;
722
+ turnId: string | null;
723
+ leaseEpoch: number;
724
+ treeIndex: FsTreeNode;
725
+ treeTruncated: boolean;
726
+ repos: WorkspaceCaptureRepo[];
727
+ files: WorkspaceCaptureFile[];
728
+ stats: WorkspaceCaptureStats;
729
+ };
730
+ type WorkspaceRevisionCapturedPayload = {
731
+ revision: number;
732
+ turnId: string | null;
733
+ capturedAt: string;
734
+ leaseEpoch: number;
735
+ stats: WorkspaceCaptureStats;
736
+ };
737
+ type WorkspaceRevisionDegradedPayload = {
738
+ revision: number;
739
+ turnId: string | null;
740
+ capturedAt: string;
741
+ leaseEpoch: number;
742
+ reason: WorkspaceCaptureDegradedReason;
743
+ };
744
+ type WorkspaceCaptureSignedUrl = {
745
+ url: string;
746
+ expiresAt: string;
747
+ };
748
+ type GetWorkspaceCaptureResponse = {
749
+ available: false;
750
+ degradedReason?: WorkspaceCaptureDegradedReason | null;
751
+ revision?: number | null;
752
+ capturedAt?: string | null;
753
+ turnId?: string | null;
754
+ leaseEpoch?: number | null;
755
+ } | {
756
+ available: true;
757
+ revision: number;
758
+ capturedAt: string;
759
+ turnId: string | null;
760
+ leaseEpoch: number;
761
+ sizeBytes: number;
762
+ stats: WorkspaceCaptureStats;
763
+ manifest: WorkspaceCaptureManifest | null;
764
+ manifestUrl: WorkspaceCaptureSignedUrl | null;
765
+ };
766
+ type GetWorkspaceCaptureFileResponse = {
767
+ path: string;
768
+ revision: number;
769
+ status: GitFileStatusCode;
770
+ hash: string | null;
771
+ baseHash: string | null;
772
+ sizeBytes: number;
773
+ isBinary: boolean;
774
+ tooLarge: boolean;
775
+ encoding: FsEncoding | null;
776
+ content: string | null;
777
+ contentUrl: WorkspaceCaptureSignedUrl | null;
778
+ };
606
779
  type TerminalExecRequest = {
607
780
  command: string;
608
781
  cwd?: string;
@@ -699,7 +872,10 @@ type ScheduledTask = {
699
872
  overlapPolicy: ScheduledTaskOverlapPolicy;
700
873
  agentConfig: ScheduledTaskAgentConfig;
701
874
  reusableSessionId: string | null;
875
+ variableSetId: string | null;
876
+ /** @deprecated use variableSetId */
702
877
  environmentId: string | null;
878
+ rigId: string | null;
703
879
  metadata: Record<string, unknown>;
704
880
  createdAt: string;
705
881
  updatedAt: string;
@@ -715,7 +891,10 @@ type CreateSessionRequest = {
715
891
  sandboxBackend?: SandboxBackend | undefined;
716
892
  targetSandboxId?: string | undefined;
717
893
  workingDir?: string | undefined;
894
+ variableSetId?: string | undefined;
895
+ /** @deprecated use variableSetId */
718
896
  environmentId?: string | undefined;
897
+ rigId?: string | undefined;
719
898
  goal?: GoalSpec | undefined;
720
899
  clientEventId?: string | undefined;
721
900
  idempotencyKey?: string | undefined;
@@ -725,7 +904,7 @@ type CreateSessionRequest = {
725
904
  groupId: string;
726
905
  } | undefined;
727
906
  };
728
- declare const KNOWN_PERMISSIONS: readonly ["account:read", "account:admin", "members:manage", "workspace:create", "billing:read", "billing:manage", "workspace:read", "workspace:admin", "sessions:create", "sessions:read", "sessions:control", "stream:view", "stream:control", "stream:acknowledge", "files:upload", "files:read", "files:write", "terminal:attach", "documents:manage", "documents:search", "scheduled_tasks:manage", "scheduled_tasks:run", "github:manage", "github:use", "api_keys:manage", "connections:read", "connections:write", "environments:manage", "environments:use", "mcp_servers:attach", "toolspace:call", "goals:manage", "enrollments:read", "enrollments:manage"];
907
+ declare const KNOWN_PERMISSIONS: readonly ["account:read", "account:admin", "members:manage", "workspace:create", "billing:read", "billing:manage", "workspace:read", "workspace:admin", "sessions:create", "sessions:read", "sessions:control", "stream:view", "stream:control", "stream:acknowledge", "files:upload", "files:read", "files:write", "terminal:attach", "documents:manage", "documents:search", "scheduled_tasks:manage", "scheduled_tasks:run", "github:manage", "github:use", "api_keys:manage", "connections:read", "connections:write", "environments:manage", "environments:use", "variable-sets:manage", "variable-sets:use", "mcp_servers:attach", "toolspace:call", "goals:manage", "enrollments:read", "enrollments:manage", "rigs:use", "rigs:manage"];
729
908
  type KnownPermission = (typeof KNOWN_PERMISSIONS)[number];
730
909
  /**
731
910
  * Permissions the SDK knows about today, kept open so a newer OpenGeni server
@@ -953,9 +1132,27 @@ type Workspace = {
953
1132
  externalSource: string | null;
954
1133
  externalId: string | null;
955
1134
  agentInstructions: string | null;
1135
+ settings: Record<string, unknown>;
1136
+ inferenceState?: "active" | "paused";
1137
+ inferenceGeneration?: number;
1138
+ inferenceReason?: string | null;
1139
+ inferenceChangedBy?: string | null;
1140
+ inferenceChangedAt?: string | null;
1141
+ defaultRigId?: string | null;
956
1142
  createdAt: string;
957
1143
  updatedAt: string;
958
1144
  };
1145
+ type WorkspaceSettings = {
1146
+ memoryEnabled?: boolean | undefined;
1147
+ [key: string]: unknown;
1148
+ };
1149
+ type UpdateWorkspaceSettingsRequest = {
1150
+ memoryEnabled?: boolean | undefined;
1151
+ [key: string]: unknown;
1152
+ };
1153
+ type SetWorkspaceDefaultRigRequest = {
1154
+ rigId: string | null;
1155
+ };
959
1156
  type CreateWorkspaceRequest = {
960
1157
  accountId?: string | undefined;
961
1158
  name: string;
@@ -1045,21 +1242,61 @@ type UpdateSessionRequest = {
1045
1242
  };
1046
1243
  /** Outcome of a manual /compact trigger. */
1047
1244
  type CompactSessionContextResult = {
1048
- /**
1049
- * queued: a client-side (Azure) compaction will run before the next turn.
1050
- * noop: nothing to do (server-managed provider, mode off, or no history).
1051
- */
1052
- status: "queued" | "noop";
1245
+ /** pending waits for the current safe boundary; completed ran while idle. */
1246
+ status: "pending" | "completed" | "noop";
1053
1247
  message: string;
1054
1248
  };
1055
- type UpdateSessionTurnRequest = {
1056
- prompt?: string | undefined;
1057
- resources?: ResourceRef[] | undefined;
1058
- tools?: ToolRef[] | undefined;
1059
- model?: string | undefined;
1060
- reasoningEffort?: ReasoningEffort | undefined;
1061
- sandboxBackend?: SandboxBackend | undefined;
1062
- metadata?: Record<string, unknown> | undefined;
1249
+ type SessionQueueSnapshot = {
1250
+ version: number;
1251
+ controlState: "active" | "paused";
1252
+ controlGeneration: number;
1253
+ workspaceInferenceState: "active" | "paused";
1254
+ workspaceInferenceGeneration: number;
1255
+ workspaceRunExceptionGeneration: number | null;
1256
+ items: SessionTurn[];
1257
+ };
1258
+ type SystemUpdateClassification = "success" | "failure" | "action_required" | "info";
1259
+ type SessionSystemUpdateKind = "child_session_update" | "scheduled_wake" | "lifecycle_event" | "runtime_notice";
1260
+ type SessionSystemUpdateState = "pending" | "deferred" | "delivered" | "cancelled" | "failed";
1261
+ type SessionSystemUpdate = {
1262
+ id: string;
1263
+ sessionId: string;
1264
+ kind: SessionSystemUpdateKind;
1265
+ classification: SystemUpdateClassification;
1266
+ sourceId: string;
1267
+ dedupeKey: string;
1268
+ summary: string;
1269
+ payload: Record<string, unknown>;
1270
+ lineage: Record<string, unknown>;
1271
+ state: SessionSystemUpdateState;
1272
+ deliveredTurnId: string | null;
1273
+ deliveredAt: string | null;
1274
+ createdAt: string;
1275
+ };
1276
+ type SessionControlResponse = {
1277
+ operationId: string;
1278
+ event: SessionEvent;
1279
+ controlState: "active" | "paused";
1280
+ controlGeneration: number;
1281
+ expectedActiveTurnId: string | null;
1282
+ expectedExecutionGeneration: number | null;
1283
+ expectedAttemptId: string | null;
1284
+ deliveryEventId: string | null;
1285
+ shouldSignalControl: boolean;
1286
+ shouldWake: boolean;
1287
+ };
1288
+ type WorkspaceInferenceControlResponse = {
1289
+ operationId: string;
1290
+ state: "active" | "paused";
1291
+ generation: number;
1292
+ affectedSessionIds: string[];
1293
+ controlSessionIds: string[];
1294
+ exceptionSessionIds: string[];
1295
+ };
1296
+ type SessionQueueMutationResponse = {
1297
+ snapshot: SessionQueueSnapshot;
1298
+ events: SessionEvent[];
1299
+ shouldWake: boolean;
1063
1300
  };
1064
1301
  /** Input shape for agent config on create/update (server applies defaults). */
1065
1302
  type ScheduledTaskAgentConfigInput = {
@@ -1079,7 +1316,10 @@ type CreateScheduledTaskRequest = {
1079
1316
  overlapPolicy?: ScheduledTaskOverlapPolicy | undefined;
1080
1317
  agentConfig: ScheduledTaskAgentConfigInput;
1081
1318
  status?: ScheduledTaskStatus | undefined;
1319
+ variableSetId?: string | null | undefined;
1320
+ /** @deprecated use variableSetId */
1082
1321
  environmentId?: string | null | undefined;
1322
+ rigId?: string | null | undefined;
1083
1323
  metadata?: Record<string, unknown> | undefined;
1084
1324
  };
1085
1325
  type UpdateScheduledTaskRequest = {
@@ -1089,7 +1329,10 @@ type UpdateScheduledTaskRequest = {
1089
1329
  overlapPolicy?: ScheduledTaskOverlapPolicy | undefined;
1090
1330
  agentConfig?: ScheduledTaskAgentConfigInput | undefined;
1091
1331
  status?: ScheduledTaskStatus | undefined;
1332
+ variableSetId?: string | null | undefined;
1333
+ /** @deprecated use variableSetId */
1092
1334
  environmentId?: string | null | undefined;
1335
+ rigId?: string | null | undefined;
1093
1336
  metadata?: Record<string, unknown> | undefined;
1094
1337
  };
1095
1338
  type ScheduledTaskRunStatus = "queued" | "dispatched" | "failed";
@@ -1114,23 +1357,27 @@ type ScheduledTaskRun = {
1114
1357
  * reads expose name + version metadata only. Values are decrypted exclusively
1115
1358
  * inside the worker at sandbox materialization time.
1116
1359
  */
1117
- type WorkspaceEnvironmentVariableMetadata = {
1360
+ type VariableSetVariableMetadata = {
1118
1361
  name: string;
1119
1362
  version: number;
1120
1363
  createdAt: string;
1121
1364
  updatedAt: string;
1122
1365
  };
1123
- type WorkspaceEnvironment = {
1366
+ type VariableSet = {
1124
1367
  id: string;
1125
1368
  accountId: string;
1126
1369
  workspaceId: string;
1127
1370
  name: string;
1128
1371
  description: string | null;
1129
- variables: WorkspaceEnvironmentVariableMetadata[];
1372
+ variables: VariableSetVariableMetadata[];
1130
1373
  createdAt: string;
1131
1374
  updatedAt: string;
1132
1375
  };
1133
- type CreateWorkspaceEnvironmentRequest = {
1376
+ /** @deprecated use VariableSetVariableMetadata */
1377
+ type WorkspaceEnvironmentVariableMetadata = VariableSetVariableMetadata;
1378
+ /** @deprecated use VariableSet */
1379
+ type WorkspaceEnvironment = VariableSet;
1380
+ type CreateVariableSetRequest = {
1134
1381
  name: string;
1135
1382
  description?: string | undefined;
1136
1383
  /** Initial variables. Values are write-only: they never come back on reads. */
@@ -1139,10 +1386,114 @@ type CreateWorkspaceEnvironmentRequest = {
1139
1386
  value: string;
1140
1387
  }[] | undefined;
1141
1388
  };
1142
- type UpdateWorkspaceEnvironmentRequest = {
1389
+ /** @deprecated use CreateVariableSetRequest */
1390
+ type CreateWorkspaceEnvironmentRequest = CreateVariableSetRequest;
1391
+ type UpdateVariableSetRequest = {
1392
+ name?: string | undefined;
1393
+ description?: string | null | undefined;
1394
+ };
1395
+ /** @deprecated use UpdateVariableSetRequest */
1396
+ type UpdateWorkspaceEnvironmentRequest = UpdateVariableSetRequest;
1397
+ type SetVariableSetVariableRequest = {
1398
+ value: string;
1399
+ };
1400
+ /** @deprecated use SetVariableSetVariableRequest */
1401
+ type SetWorkspaceEnvironmentVariableRequest = SetVariableSetVariableRequest;
1402
+ type RigCheck = {
1403
+ name: string;
1404
+ command: string;
1405
+ };
1406
+ type RigVersion = {
1407
+ id: string;
1408
+ rigId: string;
1409
+ version: number;
1410
+ image: string | null;
1411
+ setupScript: string | null;
1412
+ checks: RigCheck[];
1413
+ credentialHooks: string[];
1414
+ defaultVariableSetIds: string[];
1415
+ changelog: string | null;
1416
+ createdBy: string | null;
1417
+ active: boolean;
1418
+ createdAt: string;
1419
+ };
1420
+ type RigVerificationHealth = {
1421
+ checkHealth: "passing" | "failing" | "unknown";
1422
+ lastVerifiedAt: string | null;
1423
+ };
1424
+ type Rig = {
1425
+ id: string;
1426
+ accountId: string;
1427
+ workspaceId: string;
1428
+ name: string;
1429
+ description: string | null;
1430
+ createdBy: string | null;
1431
+ activeVersion: RigVersion | null;
1432
+ activeVersionHealth?: RigVerificationHealth | null;
1433
+ versionCount: number;
1434
+ createdAt: string;
1435
+ updatedAt: string;
1436
+ };
1437
+ type RigChangeKind = "setup_append" | "definition_edit";
1438
+ type RigChangeStatus = "proposed" | "verifying" | "merged" | "rejected" | "failed";
1439
+ type RigCheckResult = {
1440
+ name: string;
1441
+ command: string;
1442
+ exitCode: number | null;
1443
+ output?: string | undefined;
1444
+ };
1445
+ type RigChangeVerification = {
1446
+ startedAt?: string | undefined;
1447
+ finishedAt?: string | undefined;
1448
+ log?: string | undefined;
1449
+ checkResults?: RigCheckResult[] | undefined;
1450
+ [key: string]: unknown;
1451
+ };
1452
+ type RigChange = {
1453
+ id: string;
1454
+ rigId: string;
1455
+ baseVersionId: string | null;
1456
+ kind: RigChangeKind;
1457
+ payload: Record<string, unknown>;
1458
+ status: RigChangeStatus;
1459
+ proposedBy: string | null;
1460
+ verification: RigChangeVerification | null;
1461
+ resultVersionId: string | null;
1462
+ createdAt: string;
1463
+ updatedAt: string;
1464
+ };
1465
+ type CreateRigRequest = {
1466
+ name: string;
1467
+ description?: string | undefined;
1468
+ image?: string | undefined;
1469
+ setupScript?: string | undefined;
1470
+ checks?: RigCheck[] | undefined;
1471
+ credentialHooks?: string[] | undefined;
1472
+ defaultVariableSetIds?: string[] | undefined;
1473
+ };
1474
+ type UpdateRigRequest = {
1143
1475
  name?: string | undefined;
1144
1476
  description?: string | null | undefined;
1145
1477
  };
1478
+ type RigSetupAppendPayload = {
1479
+ command: string;
1480
+ note?: string | undefined;
1481
+ };
1482
+ type RigDefinitionEditPayload = {
1483
+ image?: string | null | undefined;
1484
+ setupScript?: string | null | undefined;
1485
+ checks?: RigCheck[] | undefined;
1486
+ credentialHooks?: string[] | undefined;
1487
+ defaultVariableSetIds?: string[] | undefined;
1488
+ changelog?: string | null | undefined;
1489
+ };
1490
+ type ProposeRigChangeRequest = {
1491
+ kind: "setup_append";
1492
+ payload: RigSetupAppendPayload;
1493
+ } | {
1494
+ kind: "definition_edit";
1495
+ payload: RigDefinitionEditPayload;
1496
+ };
1146
1497
  type FileStatus = "pending_upload" | "ready" | "failed" | "expired" | "deleted";
1147
1498
  type FileAsset = {
1148
1499
  id: string;
@@ -1274,7 +1625,7 @@ type DocumentSearchRequest = {
1274
1625
  type DocumentSearchResponse = {
1275
1626
  results: DocumentSearchResult[];
1276
1627
  };
1277
- type KnowledgeMemoryStatus = "proposed" | "approved" | "rejected";
1628
+ type KnowledgeMemoryStatus = "proposed" | "approved" | "rejected" | "active" | "superseded" | "archived";
1278
1629
  type KnowledgeMemoryKind = "semantic" | "episodic" | "procedural" | "decision" | "preference";
1279
1630
  type KnowledgeSourceRef = {
1280
1631
  kind: "document_chunk" | "document" | "session_event" | "memory" | "external";
@@ -1296,6 +1647,13 @@ type KnowledgeMemory = {
1296
1647
  createdBySessionId: string | null;
1297
1648
  reviewedBy: string | null;
1298
1649
  reviewedAt: string | null;
1650
+ pinned: boolean;
1651
+ usageCount: number;
1652
+ lastUsedAt: string | null;
1653
+ supersedesId: string | null;
1654
+ supersededById: string | null;
1655
+ validFrom: string;
1656
+ validUntil: string | null;
1299
1657
  createdAt: string;
1300
1658
  updatedAt: string;
1301
1659
  };
@@ -1308,6 +1666,8 @@ type CreateKnowledgeMemoryRequest = {
1308
1666
  confidence?: number | undefined;
1309
1667
  metadata?: Record<string, unknown> | undefined;
1310
1668
  createdBySessionId?: string | undefined;
1669
+ pinned?: boolean | undefined;
1670
+ replacesId?: string | undefined;
1311
1671
  };
1312
1672
  type UpdateKnowledgeMemoryRequest = {
1313
1673
  status?: KnowledgeMemoryStatus | undefined;
@@ -1318,6 +1678,7 @@ type UpdateKnowledgeMemoryRequest = {
1318
1678
  confidence?: number | undefined;
1319
1679
  metadata?: Record<string, unknown> | undefined;
1320
1680
  reviewedBy?: string | undefined;
1681
+ pinned?: boolean | undefined;
1321
1682
  };
1322
1683
  type KnowledgeMemorySearchRequest = {
1323
1684
  query?: string | undefined;
@@ -1326,6 +1687,23 @@ type KnowledgeMemorySearchRequest = {
1326
1687
  scope?: string | undefined;
1327
1688
  limit?: number | undefined;
1328
1689
  };
1690
+ type WorkspaceMemorySearchMode = "hybrid" | "vector" | "keyword";
1691
+ type WorkspaceMemorySearchRequest = {
1692
+ query: string;
1693
+ kind?: KnowledgeMemoryKind | undefined;
1694
+ limit?: number | undefined;
1695
+ mode?: WorkspaceMemorySearchMode | undefined;
1696
+ };
1697
+ type WorkspaceMemorySearchResult = {
1698
+ memory: KnowledgeMemory;
1699
+ score: number;
1700
+ matchType: WorkspaceMemorySearchMode;
1701
+ vectorScore: number | null;
1702
+ keywordScore: number | null;
1703
+ };
1704
+ type WorkspaceMemorySearchResponse = {
1705
+ results: WorkspaceMemorySearchResult[];
1706
+ };
1329
1707
  type CapabilityPackConnectorAuthModel = "oauth2_authorization_code_pkce" | "oauth2_authorization_code" | "api_key" | "credential_ref";
1330
1708
  type CapabilityPackConnector = {
1331
1709
  id: string;
@@ -1362,7 +1740,7 @@ type CapabilityPackSkill = {
1362
1740
  description?: string | undefined;
1363
1741
  files: CapabilityPackSkillFile[];
1364
1742
  };
1365
- type CapabilityPackEnvironmentSpec = {
1743
+ type CapabilityPackVariableSetSpec = {
1366
1744
  description: string;
1367
1745
  requiredVariables: string[];
1368
1746
  required: boolean;
@@ -1380,7 +1758,7 @@ type CapabilityPack = {
1380
1758
  connectors: CapabilityPackConnector[];
1381
1759
  knowledge: CapabilityPackKnowledge[];
1382
1760
  scheduledTaskTemplates: CapabilityPackScheduledTaskTemplate[];
1383
- environment?: CapabilityPackEnvironmentSpec | undefined;
1761
+ variableSet?: CapabilityPackVariableSetSpec | undefined;
1384
1762
  metadata: Record<string, unknown>;
1385
1763
  };
1386
1764
  /** Input shape for registering a pack manifest (server applies defaults). */
@@ -1424,7 +1802,7 @@ type RegisterCapabilityPackRequest = {
1424
1802
  defaultOverlapPolicy?: ScheduledTaskOverlapPolicy | undefined;
1425
1803
  prompt?: string | undefined;
1426
1804
  }[] | undefined;
1427
- environment?: {
1805
+ variableSet?: {
1428
1806
  description: string;
1429
1807
  requiredVariables?: string[] | undefined;
1430
1808
  required?: boolean | undefined;
@@ -1450,6 +1828,8 @@ type PackInstallation = {
1450
1828
  updatedAt: string;
1451
1829
  };
1452
1830
  type EnablePackRequest = {
1831
+ variableSetId?: string | undefined;
1832
+ /** @deprecated use variableSetId */
1453
1833
  environmentId?: string | undefined;
1454
1834
  metadata?: Record<string, unknown> | undefined;
1455
1835
  };
@@ -1502,6 +1882,12 @@ type CapabilityCatalogItem = {
1502
1882
  runtime: CapabilityRuntime;
1503
1883
  enabled: boolean;
1504
1884
  enabledReason: string | null;
1885
+ /** The connection backing this enabled installation, or null when none is involved. */
1886
+ connectionRef: {
1887
+ connectionId: string;
1888
+ providerDomain: string;
1889
+ kind: string;
1890
+ } | null;
1505
1891
  metadata: Record<string, unknown>;
1506
1892
  createdAt?: string | undefined;
1507
1893
  updatedAt?: string | undefined;
@@ -1547,10 +1933,12 @@ type EnableCapabilityRequest = {
1547
1933
  */
1548
1934
  headers?: Record<string, string> | undefined;
1549
1935
  /**
1550
- * Initial environment attachment for kind=pack capabilities — mirrors the
1936
+ * Initial variableSet attachment for kind=pack capabilities — mirrors the
1551
1937
  * dedicated POST /packs/:id/enable body. Required to enable an
1552
- * environment.required pack through this unified path; ignored otherwise.
1938
+ * variableSet.required pack through this unified path; ignored otherwise.
1553
1939
  */
1940
+ variableSetId?: string | undefined;
1941
+ /** @deprecated use variableSetId */
1554
1942
  environmentId?: string | undefined;
1555
1943
  };
1556
1944
  type DiscoverMcpCapabilitiesResponse = {
@@ -1660,13 +2048,6 @@ type UserMessageEventInput = {
1660
2048
  mcpCredentialUpdates?: SessionMcpCredentialUpdateInput[] | undefined;
1661
2049
  };
1662
2050
  };
1663
- type UserInterruptEventInput = {
1664
- type: "user.interrupt";
1665
- clientEventId?: string | undefined;
1666
- payload?: {
1667
- reason?: string | undefined;
1668
- } | undefined;
1669
- };
1670
2051
  type UserApprovalDecisionEventInput = {
1671
2052
  type: "user.approvalDecision";
1672
2053
  clientEventId?: string | undefined;
@@ -1677,7 +2058,7 @@ type UserApprovalDecisionEventInput = {
1677
2058
  };
1678
2059
  };
1679
2060
  /** Control/user events a client may POST to a session's event log. */
1680
- type ClientSessionEventInput = UserMessageEventInput | UserInterruptEventInput | UserApprovalDecisionEventInput;
2061
+ type ClientSessionEventInput = UserMessageEventInput | UserApprovalDecisionEventInput;
1681
2062
  /** A point-in-time machine metrics sample. `gpuUtilPct`/`gpuMemBytes` are null
1682
2063
  * when no GPU was present (not-reported, never a real zero); the bytes/load are
1683
2064
  * numbers; `sampledAt` is an ISO-8601 instant. */
@@ -1747,6 +2128,7 @@ type SwapActiveSandboxResponse = {
1747
2128
  activeSandboxId: string | null;
1748
2129
  activeEpoch: number;
1749
2130
  reason?: string;
2131
+ code?: "stale_pointer" | "offline_enrollment" | "unsupported_backend_context" | "transient_establishment" | "concurrent_swap";
1750
2132
  };
1751
2133
  /** Mirror of `@opengeni/contracts` EnrollmentOs. */
1752
2134
  type EnrollmentOs = "linux" | "macos" | "windows";
@@ -1894,18 +2276,15 @@ type SendMessageInput = {
1894
2276
  model?: string;
1895
2277
  reasoningEffort?: ReasoningEffort;
1896
2278
  clientEventId?: string;
2279
+ expectedControlGeneration?: number;
2280
+ expectedWorkspaceInferenceGeneration?: number;
2281
+ mcpCredentialUpdates?: SessionMcpCredentialUpdateInput[];
1897
2282
  };
1898
2283
  type SteerMessageResult = {
1899
2284
  /** The accepted `user.message` event. */
1900
2285
  accepted: SessionEvent;
1901
- /**
1902
- * The turn created for the message, when it could be located — usually
1903
- * still queued, but already claimed (running/requires_action or even
1904
- * finished) when the worker picked it up mid-call.
1905
- */
1906
- turn: SessionTurn | null;
1907
- /** True when the running turn was interrupted to make way for the message. */
1908
- interrupted: boolean;
2286
+ /** The exact turn created for this message in the same server transaction. */
2287
+ turn: SessionTurn;
1909
2288
  };
1910
2289
  /**
1911
2290
  * Typed client for the OpenGeni public API. Framework-agnostic: only needs
@@ -1922,7 +2301,19 @@ declare class OpenGeniClient {
1922
2301
  updateSession(workspaceId: string, sessionId: string, request: UpdateSessionRequest): Promise<Session>;
1923
2302
  listSessions(workspaceId: string, options?: {
1924
2303
  limit?: number;
2304
+ parentSessionId?: string | null;
2305
+ search?: string;
1925
2306
  }): Promise<Session[]>;
2307
+ /** Pin-aware ordinary-session page with a stable keyset cursor. */
2308
+ listSessionPage(workspaceId: string, options?: {
2309
+ limit?: number;
2310
+ parentSessionId?: string | null;
2311
+ cursor?: string;
2312
+ search?: string;
2313
+ }): Promise<SessionListResponse>;
2314
+ /** Set this authenticated member's personal workspace pin for a session. */
2315
+ updateSessionPin(workspaceId: string, sessionId: string, request: UpdateSessionPinRequest): Promise<Session>;
2316
+ getSessionLineage(workspaceId: string, sessionId: string): Promise<SessionLineageResponse>;
1926
2317
  listTurns(workspaceId: string, sessionId: string, options?: {
1927
2318
  limit?: number;
1928
2319
  }): Promise<SessionTurn[]>;
@@ -2002,7 +2393,7 @@ declare class OpenGeniClient {
2002
2393
  /** POST a user/control event to the session. Returns the accepted event. */
2003
2394
  sendEvent(workspaceId: string, sessionId: string, event: ClientSessionEventInput): Promise<SessionEvent>;
2004
2395
  sendMessage(workspaceId: string, sessionId: string, message: string | SendMessageInput): Promise<SessionEvent>;
2005
- interrupt(workspaceId: string, sessionId: string, options?: {
2396
+ pauseSession(workspaceId: string, sessionId: string, options?: {
2006
2397
  reason?: string;
2007
2398
  clientEventId?: string;
2008
2399
  }): Promise<SessionEvent>;
@@ -2025,35 +2416,43 @@ declare class OpenGeniClient {
2025
2416
  after?: number;
2026
2417
  signal?: AbortSignal;
2027
2418
  }): Promise<ReadableStream<Uint8Array>>;
2028
- /** Edit a still-queued turn (prompt, model, resources, tools, ...). */
2029
- updateQueuedTurn(workspaceId: string, sessionId: string, turnId: string, update: UpdateSessionTurnRequest): Promise<SessionTurn>;
2030
- /**
2031
- * Reorder the queued turns. `turnIds` must all reference queued turns; the
2032
- * server assigns positions in the given order and returns the queue.
2033
- */
2034
- reorderQueuedTurns(workspaceId: string, sessionId: string, turnIds: string[]): Promise<SessionTurn[]>;
2419
+ getQueue(workspaceId: string, sessionId: string): Promise<SessionQueueSnapshot>;
2420
+ cancelQueueItem(workspaceId: string, sessionId: string, turnId: string, request: {
2421
+ expectedQueueVersion: number;
2422
+ expectedItemVersion: number;
2423
+ reason?: string;
2424
+ }): Promise<SessionQueueMutationResponse>;
2425
+ controlSession(workspaceId: string, sessionId: string, request: {
2426
+ mode: "pause" | "resume";
2427
+ reason?: string;
2428
+ clientEventId?: string;
2429
+ expectedControlState?: "active" | "paused";
2430
+ expectedControlGeneration?: number;
2431
+ expectedWorkspaceInferenceGeneration?: number;
2432
+ }): Promise<SessionControlResponse>;
2433
+ resumeSession(workspaceId: string, sessionId: string, options?: {
2434
+ reason?: string;
2435
+ clientEventId?: string;
2436
+ }): Promise<SessionControlResponse>;
2437
+ setWorkspaceInferenceState(workspaceId: string, request: {
2438
+ state: "active" | "paused";
2439
+ reason: string;
2440
+ clientEventId: string;
2441
+ expectedState: "active" | "paused";
2442
+ expectedGeneration: number;
2443
+ exceptSessionIds?: string[];
2444
+ }): Promise<WorkspaceInferenceControlResponse>;
2035
2445
  /** Cancel a queued turn before it is claimed. Returns the cancelled turn. */
2036
2446
  deleteQueuedTurn(workspaceId: string, sessionId: string, turnId: string): Promise<SessionTurn>;
2037
2447
  /**
2038
- * Steer: deliver a message *now* instead of behind the queue. Sends the
2039
- * message, promotes its queued turn to the front, and interrupts the
2040
- * running turn so the session picks the steer turn up next. On a session
2041
- * that is not running this degrades gracefully to a plain queued message.
2042
- *
2043
- * The steer turn is located by `triggerEventId` across ALL turns (retried
2044
- * briefly in case the server is still materializing it) — not just the
2045
- * queued ones, because the worker can claim the steer turn before it is
2046
- * ever observed queued, and a claimed steer turn means the message is
2047
- * already being delivered: interrupting then would cancel the very message
2048
- * being steered. If the turn cannot be found while other turns are queued,
2049
- * the interrupt is also skipped — stopping the running turn would otherwise
2050
- * promote someone else's queued work over this message — and the call
2051
- * degrades to a plain queued send (`interrupted: false`).
2448
+ * Steer: atomically put this prompt at the head and supersede the current
2449
+ * inference. The client performs one request and renders server order.
2052
2450
  */
2053
2451
  steerMessage(workspaceId: string, sessionId: string, message: string | SendMessageInput): Promise<SteerMessageResult>;
2054
2452
  /** The session's goal. 404s when the session never had one. */
2055
2453
  getGoal(workspaceId: string, sessionId: string): Promise<SessionGoal>;
2056
2454
  updateGoal(workspaceId: string, sessionId: string, request: UpdateSessionGoalRequest): Promise<SessionGoal>;
2455
+ deleteGoal(workspaceId: string, sessionId: string): Promise<void>;
2057
2456
  /** Pause the goal loop: the session stops self-continuing until resumed. */
2058
2457
  pauseGoal(workspaceId: string, sessionId: string, options?: {
2059
2458
  rationale?: string;
@@ -2068,12 +2467,7 @@ declare class OpenGeniClient {
2068
2467
  * context — the destructive intent is explicit on the wire.
2069
2468
  */
2070
2469
  clearSessionContext(workspaceId: string, sessionId: string): Promise<void>;
2071
- /**
2072
- * Trigger conversation compaction now. On the client-managed (Azure) path this
2073
- * queues a forced compaction the worker honors before the next turn
2074
- * (`status:"queued"`); on a server-managed provider or when compaction is off
2075
- * it is a no-op (`status:"noop"`) with an explanatory message.
2076
- */
2470
+ /** Request one durable portable compaction at the next safe model boundary. */
2077
2471
  compactSessionContext(workspaceId: string, sessionId: string): Promise<CompactSessionContextResult>;
2078
2472
  /** FileSystem: list a directory tree (feeds the Pierre file tree). */
2079
2473
  fsList(workspaceId: string, sessionId: string, request?: FsListRequest): Promise<FsListResponse>;
@@ -2095,6 +2489,15 @@ declare class OpenGeniClient {
2095
2489
  gitLog(workspaceId: string, sessionId: string, request?: GitLogRequest): Promise<GitLogResponse>;
2096
2490
  /** Git: show a commit (diff vs first parent) or fetch a raw blob at a ref. */
2097
2491
  gitShow(workspaceId: string, sessionId: string, request: GitShowRequest): Promise<GitShowResponse>;
2492
+ /** Workspace capture: the latest turn-end snapshot of the session's workspace
2493
+ * (tree + per-repo diff + file after-image refs), served from durable storage
2494
+ * WITHOUT warming a machine — the workbench cold-paint source. Returns
2495
+ * `{available:false}` when no capture exists yet (fall back to the live path). */
2496
+ getWorkspaceCapture(workspaceId: string, sessionId: string): Promise<GetWorkspaceCaptureResponse>;
2497
+ /** Workspace capture: a single file's after-image from the capture (revision
2498
+ * pins a specific one; omitted → latest). Content is inline for small files,
2499
+ * else a short-TTL signed URL; a tooLarge file returns metadata only. */
2500
+ getWorkspaceCaptureFile(workspaceId: string, sessionId: string, path: string, revision?: number): Promise<GetWorkspaceCaptureFileResponse>;
2098
2501
  /** Terminal: run a bounded command, returning buffered stdout/stderr inline. */
2099
2502
  terminalExec(workspaceId: string, sessionId: string, request: TerminalExecRequest): Promise<TerminalExecResponse>;
2100
2503
  /** Terminal: open an interactive PTY. Output streams on the event SSE as
@@ -2180,13 +2583,60 @@ declare class OpenGeniClient {
2180
2583
  listScheduledTaskRuns(workspaceId: string, taskId: string, options?: {
2181
2584
  limit?: number;
2182
2585
  }): Promise<ScheduledTaskRun[]>;
2183
- listEnvironments(workspaceId: string): Promise<WorkspaceEnvironment[]>;
2184
- createEnvironment(workspaceId: string, request: CreateWorkspaceEnvironmentRequest): Promise<WorkspaceEnvironment>;
2185
- getEnvironment(workspaceId: string, environmentId: string): Promise<WorkspaceEnvironment>;
2186
- updateEnvironment(workspaceId: string, environmentId: string, request: UpdateWorkspaceEnvironmentRequest): Promise<WorkspaceEnvironment>;
2187
- deleteEnvironment(workspaceId: string, environmentId: string): Promise<void>;
2586
+ listVariableSets(workspaceId: string): Promise<VariableSet[]>;
2587
+ createVariableSet(workspaceId: string, request: CreateVariableSetRequest): Promise<VariableSet>;
2588
+ getVariableSet(workspaceId: string, variableSetId: string): Promise<VariableSet>;
2589
+ updateVariableSet(workspaceId: string, variableSetId: string, request: UpdateVariableSetRequest): Promise<VariableSet>;
2590
+ deleteVariableSet(workspaceId: string, variableSetId: string): Promise<void>;
2188
2591
  /** Create or rotate a variable. The value never comes back on any read. */
2189
- setEnvironmentVariable(workspaceId: string, environmentId: string, name: string, value: string): Promise<WorkspaceEnvironmentVariableMetadata>;
2592
+ setVariableSetVariable(workspaceId: string, variableSetId: string, name: string, value: string): Promise<VariableSetVariableMetadata>;
2593
+ deleteVariableSetVariable(workspaceId: string, variableSetId: string, name: string): Promise<void>;
2594
+ listRigs(workspaceId: string): Promise<Rig[]>;
2595
+ createRig(workspaceId: string, request: CreateRigRequest): Promise<Rig>;
2596
+ getRig(workspaceId: string, rigId: string): Promise<Rig>;
2597
+ updateRig(workspaceId: string, rigId: string, request: UpdateRigRequest): Promise<Rig>;
2598
+ deleteRig(workspaceId: string, rigId: string): Promise<void>;
2599
+ listRigVersions(workspaceId: string, rigId: string): Promise<RigVersion[]>;
2600
+ /** Roll the active version to an existing one (rollback / promote-activate). */
2601
+ activateRigVersion(workspaceId: string, rigId: string, versionId: string): Promise<RigVersion>;
2602
+ listRigChanges(workspaceId: string, rigId: string): Promise<RigChange[]>;
2603
+ /** Propose a change against the rig's active version (rigs:use). */
2604
+ proposeRigChange(workspaceId: string, rigId: string, request: ProposeRigChangeRequest): Promise<RigChange>;
2605
+ getRigChange(workspaceId: string, rigId: string, changeId: string): Promise<RigChange>;
2606
+ /**
2607
+ * Re-run verification for a change (rigs:use). Verification is asynchronous:
2608
+ * this returns the change immediately with status `verifying`; poll
2609
+ * `getRigChange`/`listRigChanges` for the terminal outcome + logs.
2610
+ */
2611
+ verifyRigChange(workspaceId: string, rigId: string, changeId: string): Promise<RigChange>;
2612
+ /**
2613
+ * Promote a verified `definition_edit` change into a new active rig version
2614
+ * (rigs:manage). Only valid once the change's verification passed; returns the
2615
+ * newly minted version.
2616
+ */
2617
+ promoteRigChange(workspaceId: string, rigId: string, changeId: string): Promise<RigVersion>;
2618
+ /**
2619
+ * Re-run the active version's checks in a clean throwaway sandbox (rigs:use).
2620
+ * Asynchronous — returns the version id being verified; the outcome lands on
2621
+ * the version's audit trail.
2622
+ */
2623
+ verifyRig(workspaceId: string, rigId: string): Promise<{
2624
+ ok: boolean;
2625
+ versionId: string;
2626
+ }>;
2627
+ /** @deprecated use listVariableSets */
2628
+ listEnvironments(workspaceId: string): Promise<VariableSet[]>;
2629
+ /** @deprecated use createVariableSet */
2630
+ createEnvironment(workspaceId: string, request: CreateVariableSetRequest): Promise<VariableSet>;
2631
+ /** @deprecated use getVariableSet */
2632
+ getEnvironment(workspaceId: string, environmentId: string): Promise<VariableSet>;
2633
+ /** @deprecated use updateVariableSet */
2634
+ updateEnvironment(workspaceId: string, environmentId: string, request: UpdateVariableSetRequest): Promise<VariableSet>;
2635
+ /** @deprecated use deleteVariableSet */
2636
+ deleteEnvironment(workspaceId: string, environmentId: string): Promise<void>;
2637
+ /** @deprecated use setVariableSetVariable */
2638
+ setEnvironmentVariable(workspaceId: string, environmentId: string, name: string, value: string): Promise<VariableSetVariableMetadata>;
2639
+ /** @deprecated use deleteVariableSetVariable */
2190
2640
  deleteEnvironmentVariable(workspaceId: string, environmentId: string, name: string): Promise<void>;
2191
2641
  /** Step 1 of the upload flow: returns the pre-signed PUT target. */
2192
2642
  beginFileUpload(workspaceId: string, request: CreateFileUploadRequest): Promise<CreateFileUploadResponse>;
@@ -2220,6 +2670,11 @@ declare class OpenGeniClient {
2220
2670
  getKnowledgeMemory(workspaceId: string, memoryId: string): Promise<KnowledgeMemory>;
2221
2671
  createKnowledgeMemory(workspaceId: string, request: CreateKnowledgeMemoryRequest): Promise<KnowledgeMemory>;
2222
2672
  updateKnowledgeMemory(workspaceId: string, memoryId: string, request: UpdateKnowledgeMemoryRequest): Promise<KnowledgeMemory>;
2673
+ /** Hybrid (semantic + keyword) search over the workspace's agent-visible memory. */
2674
+ searchWorkspaceMemories(workspaceId: string, request: WorkspaceMemorySearchRequest): Promise<WorkspaceMemorySearchResponse>;
2675
+ /** Deep-merge a settings patch into the workspace (preserves unknown keys). */
2676
+ updateWorkspaceSettings(workspaceId: string, request: UpdateWorkspaceSettingsRequest): Promise<Workspace>;
2677
+ setWorkspaceDefaultRig(workspaceId: string, request: SetWorkspaceDefaultRigRequest): Promise<Workspace>;
2223
2678
  /** Built-in + registered packs, with the workspace's installations. */
2224
2679
  listPacks(workspaceId: string): Promise<ListPacksResponse>;
2225
2680
  /** Register (or replace) a workspace-scoped pack from a manifest. */
@@ -2239,6 +2694,14 @@ declare class OpenGeniClient {
2239
2694
  query?: string;
2240
2695
  limit?: number;
2241
2696
  }): Promise<DiscoverMcpCapabilitiesResponse>;
2697
+ listConnections(workspaceId: string): Promise<ConnectionMetadata[]>;
2698
+ createConnection(workspaceId: string, request: CreateConnectionRequest): Promise<ConnectionMetadata>;
2699
+ updateConnection(workspaceId: string, connectionId: string, request: UpdateConnectionRequest): Promise<ConnectionMetadata>;
2700
+ deleteConnection(workspaceId: string, connectionId: string): Promise<ConnectionMetadata>;
2701
+ /** Start an OAuth connection flow; redirect the user to the returned `authorizationUrl`. */
2702
+ startConnectionOAuth(workspaceId: string, request: OAuthStartRequest): Promise<OAuthStartResponse>;
2703
+ /** Public, immutably-cached URL for a catalog item's logo, or null when the item has none. */
2704
+ catalogAssetUrl(logoAssetPath: string | null): string | null;
2242
2705
  /** GitHub App configuration status + a signed install URL when configured. */
2243
2706
  getGitHubApp(workspaceId: string): Promise<GitHubAppInfo>;
2244
2707
  /**
@@ -2532,4 +2995,4 @@ declare function ttydInputFrame(data: string): string;
2532
2995
  /** Build a client→server RESIZE frame: "1" + JSON.stringify({ columns, rows }). */
2533
2996
  declare function ttydResizeFrame(columns: number, rows: number): string;
2534
2997
 
2535
- export { type AccessContext, type AccessGrant, type AccountGrant, type AccountRole, type AcknowledgeStreamRequest, type AcknowledgeStreamResponse, type AddDocumentRequest, type AddWorkspaceMemberRequest, type AgentMessageCompletedPayload, type AgentTextDeltaPayload, type AgentToolCallCreatedPayload, type AgentToolCallOutputPayload, type ApiKey, type AttachViewerRequest, type AttachViewerResponse, type BillingBalance, type BillingEntitlementsResponse, type BillingMode, type BillingSummary, type BillingUsageResponse, type CapabilityCatalogItem, type CapabilityCatalogResponse, type CapabilityInstallation, type CapabilityInstallationStatus, type CapabilityKind, type CapabilityPack, type CapabilityPackConnector, type CapabilityPackConnectorAuthModel, type CapabilityPackEnvironmentSpec, type CapabilityPackKnowledge, type CapabilityPackScheduledTaskTemplate, type CapabilityPackSkill, type CapabilityPackSkillFile, type CapabilityRuntime, type CapabilitySource, type CapabilityUnavailableReason, type ClientAuthConfig, type ClientConfig, type ClientModel, type ClientSessionEventInput, type CodexAccount, type CodexAccountSwitchedPayload, type CodexAccountsResponse, type CodexConnectPoll, type CodexConnectStart, type CodexConnectionStatus, type CodexRotationSettings, type CodexUsage, type CodexUsageMap, type CodexUsagePayload, type CodexUsageWindow, type CompactSessionContextResult, type CompleteFileUploadResponse, type ComputerUseCapability, type ConnectionKind, type ConnectionMetadata, type ConnectionResponse, type ConnectionStatus, type CreateApiKeyRequest, type CreateApiKeyResponse, type CreateCapabilityCatalogItemRequest, type CreateCheckoutRequest, type CreateCheckoutResponse, type CreateConnectionRequest, type CreateDocumentBaseRequest, type CreateFileUploadRequest, type CreateFileUploadResponse, type CreateGitHubAppManifestRequest, type CreateGitHubAppManifestResponse, type CreateKnowledgeMemoryRequest, type CreateScheduledTaskRequest, type CreateSessionRequest, type CreateWorkspaceEnvironmentRequest, type CreateWorkspaceRequest, type DesktopConnectionState, type DesktopRfbFactory, type DesktopRfbLike, type DesktopStreamCapability, type DesktopStreamEvent, type DeviceEnrollmentApproveRequest, type DeviceEnrollmentApproveResponse, type DeviceEnrollmentDenyRequest, type DeviceEnrollmentDenyResponse, type DeviceEnrollmentLookupMachine, type DeviceEnrollmentLookupRequest, type DeviceEnrollmentLookupResponse, type DiscoverMcpCapabilitiesResponse, type Document, type DocumentBase, type DocumentSearchMode, type DocumentSearchRequest, type DocumentSearchResponse, type DocumentSearchResult, type DocumentStatus, type EnableCapabilityRequest, type EnablePackRequest, type EnrollTokenExchangeRequest, type EnrollTokenExchangeResponse, type EnrollmentCredentials, type EnrollmentOs, type EntitlementValue, type Entitlements, type EntitlementsMode, type FetchLike, type FileAsset, type FileDownloadUrlResponse, type FileResourceRef, type FileStatus, type FileSystemCapability, type FileUploadData, type FsChangeKind, type FsChangedPayload, type FsDeleteRequest, type FsDeleteResponse, type FsEncoding, type FsListRequest, type FsListResponse, type FsMkdirRequest, type FsMkdirResponse, type FsMoveRequest, type FsMoveResponse, type FsNodeType, type FsReadRequest, type FsReadResponse, type FsTreeNode, type FsWriteRequest, type FsWriteResponse, type GetPackResponse, type GitCapability, type GitChangedPayload, type GitCommit, type GitDiffHunk, type GitDiffLine, type GitDiffLineType, type GitDiffRequest, type GitDiffResponse, type GitFileDiff, type GitFileStatus, type GitFileStatusCode, type GitHubAppInfo, type GitHubRepositoriesResponse, type GitHubRepository, type GitLogRequest, type GitLogResponse, type GitShowRequest, type GitShowResponse, type GitStatusRequest, type GitStatusResponse, type GoalSpec, type IntegrationClientMetadata, KNOWN_PERMISSIONS, KNOWN_USAGE_EVENT_TYPES, type KnowledgeMemory, type KnowledgeMemoryKind, type KnowledgeMemorySearchRequest, type KnowledgeMemoryStatus, type KnowledgeSourceKind, type KnowledgeSourceRef, type KnownPermission, type KnownSessionEventType, type KnownUsageEventType, type ListApiKeysResponse, type ListConnectionsResponse, type ListPacksResponse, type ListWorkspaceMembersResponse, type MachineKind, type MachineMetricsSeriesResponse, type MachineState, type MachineView, type MachinesResponse, type McpServerConnectionRef, type MetricSample, type MintEnrollTokenRequest, type MintEnrollTokenResponse, type OAuthStartRequest, type OAuthStartResponse, OpenGeniApiError, OpenGeniClient, type OpenGeniClientOptions, OpenGeniStreamError, type PackInstallation, type PackInstallationStatus, type Permission, type ProductAccessMode, type ProxySessionEventStreamOptions, type PtyCloseRequest, type PtyOpenRequest, type PtyOpenResponse, type PtyResizeRequest, type PtyWriteRequest, type ReasoningEffort, type RecordingAvailablePayload, type RecordingCapability, type RecordingCodec, type RecordingContentType, type RecordingFailedPayload, type RecordingFailedReason, type RecordingMode, type RecordingStartedPayload, type RegisterCapabilityPackRequest, type RepositoryResourceRef, type ResourceRef, SESSION_EVENT_TYPES, type SandboxBackend, type SandboxCapabilityName, type SandboxCommandOutputDeltaPayload, type SandboxOs, type ScheduledTask, type ScheduledTaskAgentConfig, type ScheduledTaskAgentConfigInput, type ScheduledTaskDayOfWeek, type ScheduledTaskOverlapPolicy, type ScheduledTaskRun, type ScheduledTaskRunMode, type ScheduledTaskRunStatus, type ScheduledTaskScheduleSpec, type ScheduledTaskStatus, type ScheduledTaskTriggerType, type SendMessageInput, type Session, type SessionCapabilities, type SessionEvent, type SessionEventStreamTransport, type SessionEventType, type SessionGoal, type SessionGoalCreatedBy, type SessionGoalStatus, type SessionMcpCredentialUpdateInput, type SessionMcpServerInput, type SessionMcpServerMetadata, type SessionStatus, type SessionStatusChangedPayload, type SessionStructuredCapabilities, type SessionTurn, type SessionTurnSource, type SessionTurnStatus, type SseMessage, type SseReStreamOptions, type SteerMessageResult, type StreamClosedPayload, type StreamConnectionState, type StreamOpenedPayload, type StreamRevokedPayload, type StreamSessionEventsOptions, type StreamUrlRotatedPayload, type SwapActiveSandboxRequest, type SwapActiveSandboxResponse, TTYD_SUBPROTOCOL, type TerminalCapability, type TerminalExecRequest, type TerminalExecResponse, type TerminalPtyExitedPayload, type TerminalPtyOutputDeltaPayload, type TerminalPtyStartedPayload, type ToolAuthNeededPayload, type ToolRef, TtydClientCommand, TtydServerCommand, type UpdateConnectionRequest, type UpdateKnowledgeMemoryRequest, type UpdateScheduledTaskRequest, type UpdateSessionGoalRequest, type UpdateSessionRequest, type UpdateSessionTurnRequest, type UpdateWorkspaceEnvironmentRequest, type UpdateWorkspaceMemberRequest, type UpdateWorkspaceRequest, type UploadFileInput, type UsageEvent, type UsageEventType, type UserApprovalDecisionEventInput, type UserInterruptEventInput, type UserMessageEventInput, type ViewerHeartbeatRequest, type ViewerHeartbeatResponse, type ViewerHolder, type Workspace, type WorkspaceEnvironment, type WorkspaceEnvironmentVariableMetadata, type WorkspaceMember, type WorkspaceRegisteredPack, applyUrlRotation, desktopSocketUrl, formatSseEvent, isRetryableStreamError, nextDesktopState, parseSseStream, proxySessionEventStream, resumeSequenceFromRequest, sessionEventsToSseResponse, sessionEventsToSseStream, streamSessionEvents, terminalSocketUrl, ttydAuthFrame, ttydInputFrame, ttydResizeFrame };
2998
+ export { type AccessContext, type AccessGrant, type AccountGrant, type AccountRole, type AcknowledgeStreamRequest, type AcknowledgeStreamResponse, type AddDocumentRequest, type AddWorkspaceMemberRequest, type AgentMessageCompletedPayload, type AgentTextDeltaPayload, type AgentToolCallCreatedPayload, type AgentToolCallOutputPayload, type ApiKey, type AttachViewerRequest, type AttachViewerResponse, type BillingBalance, type BillingEntitlementsResponse, type BillingMode, type BillingSummary, type BillingUsageResponse, type CapabilityCatalogItem, type CapabilityCatalogResponse, type CapabilityInstallation, type CapabilityInstallationStatus, type CapabilityKind, type CapabilityPack, type CapabilityPackConnector, type CapabilityPackConnectorAuthModel, type CapabilityPackKnowledge, type CapabilityPackScheduledTaskTemplate, type CapabilityPackSkill, type CapabilityPackSkillFile, type CapabilityPackVariableSetSpec, type CapabilityRuntime, type CapabilitySource, type CapabilityUnavailableReason, type ClientAuthConfig, type ClientConfig, type ClientModel, type ClientSessionEventInput, type CodexAccount, type CodexAccountSwitchedPayload, type CodexAccountsResponse, type CodexConnectPoll, type CodexConnectStart, type CodexConnectionStatus, type CodexRotationSettings, type CodexUsage, type CodexUsageMap, type CodexUsagePayload, type CodexUsageWindow, type CompactSessionContextResult, type CompleteFileUploadResponse, type ComputerUseCapability, type ConnectionKind, type ConnectionMetadata, type ConnectionResponse, type ConnectionStatus, type CreateApiKeyRequest, type CreateApiKeyResponse, type CreateCapabilityCatalogItemRequest, type CreateCheckoutRequest, type CreateCheckoutResponse, type CreateConnectionRequest, type CreateDocumentBaseRequest, type CreateFileUploadRequest, type CreateFileUploadResponse, type CreateGitHubAppManifestRequest, type CreateGitHubAppManifestResponse, type CreateKnowledgeMemoryRequest, type CreateRigRequest, type CreateScheduledTaskRequest, type CreateSessionRequest, type CreateVariableSetRequest, type CreateWorkspaceEnvironmentRequest, type CreateWorkspaceRequest, type DesktopConnectionState, type DesktopRfbFactory, type DesktopRfbLike, type DesktopStreamCapability, type DesktopStreamEvent, type DeviceEnrollmentApproveRequest, type DeviceEnrollmentApproveResponse, type DeviceEnrollmentDenyRequest, type DeviceEnrollmentDenyResponse, type DeviceEnrollmentLookupMachine, type DeviceEnrollmentLookupRequest, type DeviceEnrollmentLookupResponse, type DiscoverMcpCapabilitiesResponse, type Document, type DocumentBase, type DocumentSearchMode, type DocumentSearchRequest, type DocumentSearchResponse, type DocumentSearchResult, type DocumentStatus, type EnableCapabilityRequest, type EnablePackRequest, type EnrollTokenExchangeRequest, type EnrollTokenExchangeResponse, type EnrollmentCredentials, type EnrollmentOs, type EntitlementValue, type Entitlements, type EntitlementsMode, type FetchLike, type FileAsset, type FileDownloadUrlResponse, type FileResourceRef, type FileStatus, type FileSystemCapability, type FileUploadData, type FsChangeKind, type FsChangedPayload, type FsDeleteRequest, type FsDeleteResponse, type FsEncoding, type FsListRequest, type FsListResponse, type FsMkdirRequest, type FsMkdirResponse, type FsMoveRequest, type FsMoveResponse, type FsNodeType, type FsReadRequest, type FsReadResponse, type FsTreeNode, type FsWriteRequest, type FsWriteResponse, type GetPackResponse, type GetWorkspaceCaptureFileResponse, type GetWorkspaceCaptureResponse, type GitCapability, type GitChangedPayload, type GitCommit, type GitCredentialProvider, type GitDiffHunk, type GitDiffLine, type GitDiffLineType, type GitDiffRequest, type GitDiffResponse, type GitFileDiff, type GitFileStatus, type GitFileStatusCode, type GitHubAppInfo, type GitHubRepositoriesResponse, type GitHubRepository, type GitLogRequest, type GitLogResponse, type GitShowRequest, type GitShowResponse, type GitStatusRequest, type GitStatusResponse, type GoalSpec, type IntegrationClientMetadata, KNOWN_PERMISSIONS, KNOWN_USAGE_EVENT_TYPES, type KnowledgeMemory, type KnowledgeMemoryKind, type KnowledgeMemorySearchRequest, type KnowledgeMemoryStatus, type KnowledgeSourceKind, type KnowledgeSourceRef, type KnownPermission, type KnownSessionEventType, type KnownUsageEventType, type LineageNode, type ListApiKeysResponse, type ListConnectionsResponse, type ListPacksResponse, type ListWorkspaceMembersResponse, type MachineKind, type MachineMetricsSeriesResponse, type MachineState, type MachineView, type MachinesResponse, type McpServerConnectionRef, type MetricSample, type MintEnrollTokenRequest, type MintEnrollTokenResponse, type OAuthStartRequest, type OAuthStartResponse, OpenGeniApiError, OpenGeniClient, type OpenGeniClientOptions, OpenGeniStreamError, type PackInstallation, type PackInstallationStatus, type Permission, type ProductAccessMode, type ProposeRigChangeRequest, type ProxySessionEventStreamOptions, type PtyCloseRequest, type PtyOpenRequest, type PtyOpenResponse, type PtyResizeRequest, type PtyWriteRequest, type ReasoningEffort, type RecordingAvailablePayload, type RecordingCapability, type RecordingCodec, type RecordingContentType, type RecordingFailedPayload, type RecordingFailedReason, type RecordingMode, type RecordingStartedPayload, type RegisterCapabilityPackRequest, type RepositoryResourceRef, type ResourceRef, type Rig, type RigChange, type RigChangeKind, type RigChangeStatus, type RigChangeVerification, type RigCheck, type RigCheckResult, type RigDefinitionEditPayload, type RigSetupAppendPayload, type RigVersion, SESSION_EVENT_TYPES, type SandboxBackend, type SandboxCapabilityName, type SandboxCommandOutputDeltaPayload, type SandboxOs, type ScheduledTask, type ScheduledTaskAgentConfig, type ScheduledTaskAgentConfigInput, type ScheduledTaskDayOfWeek, type ScheduledTaskOverlapPolicy, type ScheduledTaskRun, type ScheduledTaskRunMode, type ScheduledTaskRunStatus, type ScheduledTaskScheduleSpec, type ScheduledTaskStatus, type ScheduledTaskTriggerType, type SendMessageInput, type Session, type SessionCapabilities, type SessionControlResponse, type SessionEvent, type SessionEventStreamTransport, type SessionEventType, type SessionGoal, type SessionGoalCreatedBy, type SessionGoalStatus, type SessionLineageResponse, type SessionListResponse, type SessionMcpCredentialUpdateInput, type SessionMcpServerInput, type SessionMcpServerMetadata, type SessionQueueMutationResponse, type SessionQueueSnapshot, type SessionStatus, type SessionStatusChangedPayload, type SessionStructuredCapabilities, type SessionSummary, type SessionSystemUpdate, type SessionSystemUpdateKind, type SessionSystemUpdateState, type SessionTurn, type SessionTurnSource, type SessionTurnStatus, type SetWorkspaceEnvironmentVariableRequest, type SseMessage, type SseReStreamOptions, type SteerMessageResult, type StreamClosedPayload, type StreamConnectionState, type StreamOpenedPayload, type StreamRevokedPayload, type StreamSessionEventsOptions, type StreamUrlRotatedPayload, type SwapActiveSandboxRequest, type SwapActiveSandboxResponse, TTYD_SUBPROTOCOL, type TerminalCapability, type TerminalExecRequest, type TerminalExecResponse, type TerminalPtyExitedPayload, type TerminalPtyOutputDeltaPayload, type TerminalPtyStartedPayload, type ToolAuthNeededPayload, type ToolRef, TtydClientCommand, TtydServerCommand, type UpdateConnectionRequest, type UpdateKnowledgeMemoryRequest, type UpdateRigRequest, type UpdateScheduledTaskRequest, type UpdateSessionGoalRequest, type UpdateSessionPinRequest, type UpdateSessionRequest, type UpdateVariableSetRequest, type UpdateWorkspaceEnvironmentRequest, type UpdateWorkspaceMemberRequest, type UpdateWorkspaceRequest, type UpdateWorkspaceSettingsRequest, type UploadFileInput, type UsageEvent, type UsageEventType, type UserApprovalDecisionEventInput, type UserMessageEventInput, type VariableSet, type VariableSetVariableMetadata, type ViewerHeartbeatRequest, type ViewerHeartbeatResponse, type ViewerHolder, type Workspace, type WorkspaceCaptureDegradedReason, type WorkspaceCaptureFile, type WorkspaceCaptureManifest, type WorkspaceCaptureRepo, type WorkspaceCaptureSignedUrl, type WorkspaceCaptureStats, type WorkspaceEnvironment, type WorkspaceEnvironmentVariableMetadata, type WorkspaceInferenceControlResponse, type WorkspaceMember, type WorkspaceMemorySearchMode, type WorkspaceMemorySearchRequest, type WorkspaceMemorySearchResponse, type WorkspaceMemorySearchResult, type WorkspaceRegisteredPack, type WorkspaceRevisionCapturedPayload, type WorkspaceRevisionDegradedPayload, type WorkspaceSettings, applyUrlRotation, desktopSocketUrl, formatSseEvent, isRetryableStreamError, nextDesktopState, parseSseStream, proxySessionEventStream, resumeSequenceFromRequest, sessionEventsToSseResponse, sessionEventsToSseStream, streamSessionEvents, terminalSocketUrl, ttydAuthFrame, ttydInputFrame, ttydResizeFrame };