@opengeni/sdk 0.15.0 → 0.20.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,3 +1,190 @@
1
+ /**
2
+ * Framework- and transport-agnostic speech-to-text capability contract.
3
+ *
4
+ * Audio transport, microphone access, credentials, and provider SDKs belong to
5
+ * host-supplied adapters. This module deliberately contains no browser globals
6
+ * and no provider implementation.
7
+ */
8
+ type TranscriptionCredentialMode = "managed" | "byok";
9
+ type WorkspaceTranscriptionTarget = {
10
+ provider: string;
11
+ model: string | null;
12
+ credentialMode: TranscriptionCredentialMode;
13
+ /** Workspace-scoped connection reference. This is never a secret. */
14
+ credentialConnectionId: string | null;
15
+ region: string | null;
16
+ };
17
+ type WorkspaceTranscriptionPolicy = {
18
+ enabled: boolean;
19
+ /** Exact admin-accepted policy identity; required whenever enabled. */
20
+ acceptanceId: string | null;
21
+ primary: WorkspaceTranscriptionTarget | null;
22
+ /** Explicit language preference. Required when automatic detection is not accepted. */
23
+ language: string | null;
24
+ /** Whether the accepted adapter may automatically detect the spoken language. */
25
+ autoDetectLanguage: boolean;
26
+ /** Whether the accepted adapter may identify distinct speakers. */
27
+ diarization: {
28
+ enabled: boolean;
29
+ maxSpeakers: number | null;
30
+ };
31
+ retention: {
32
+ mode: "none" | "provider-policy";
33
+ maxDays: number | null;
34
+ };
35
+ privacy: {
36
+ allowProviderLogging: boolean;
37
+ allowProviderTraining: boolean;
38
+ };
39
+ fallback: {
40
+ mode: "disabled" | "explicit";
41
+ targets: WorkspaceTranscriptionTarget[];
42
+ };
43
+ cost: {
44
+ currency: "USD";
45
+ maxPerHour: number | null;
46
+ maxPerMonth: number | null;
47
+ };
48
+ };
49
+ declare const DEFAULT_WORKSPACE_TRANSCRIPTION_POLICY: WorkspaceTranscriptionPolicy;
50
+ type TranscriptionAdapterDescriptor = {
51
+ provider: string;
52
+ model: string | null;
53
+ credentialMode: TranscriptionCredentialMode;
54
+ region: string | null;
55
+ };
56
+ type TranscriptionTargetSelection = {
57
+ kind: "primary";
58
+ } | {
59
+ kind: "fallback";
60
+ index: number;
61
+ };
62
+ type TranscriptionPolicyBlockReason = "disabled" | "unaccepted" | "target_missing" | "fallback_disabled" | "fallback_unaccepted" | "provider_mismatch" | "model_mismatch" | "credential_mode_mismatch" | "region_mismatch";
63
+ type TranscriptionAuthorization = {
64
+ authorized: true;
65
+ acceptanceId: string;
66
+ target: WorkspaceTranscriptionTarget;
67
+ selection: TranscriptionTargetSelection;
68
+ } | {
69
+ authorized: false;
70
+ reason: TranscriptionPolicyBlockReason;
71
+ };
72
+ type TranscriptionLifecycleStatus = "idle" | "requesting-permission" | "listening" | "reconnecting" | "cancelling" | "closed" | "error";
73
+ type TranscriptionErrorCode = "permission_denied" | "not_supported" | "network" | "provider" | "policy_blocked" | "timeout" | "cancelled" | "unknown";
74
+ type TranscriptionTimeSpan = {
75
+ startMilliseconds: number;
76
+ endMilliseconds: number;
77
+ };
78
+ type TranscriptionSpeaker = {
79
+ /** Provider-neutral identity stable within the local transcription session. */
80
+ id: string;
81
+ label?: string | undefined;
82
+ };
83
+ type TranscriptionWord = {
84
+ text: string;
85
+ span: TranscriptionTimeSpan;
86
+ confidence?: number | undefined;
87
+ speaker?: TranscriptionSpeaker | undefined;
88
+ };
89
+ /** Optional result detail; adapters omit fields their provider cannot supply. */
90
+ type TranscriptionResultMetadata = {
91
+ detectedLanguage?: string | undefined;
92
+ span?: TranscriptionTimeSpan | undefined;
93
+ confidence?: number | undefined;
94
+ speaker?: TranscriptionSpeaker | undefined;
95
+ words?: TranscriptionWord[] | undefined;
96
+ };
97
+ type TranscriptionDiagnostic = {
98
+ operation: "start" | "session" | "cancel" | "close";
99
+ code: TranscriptionErrorCode;
100
+ /** Diagnostic-only detail. React sanitizes and bounds this before forwarding it. */
101
+ detail: string;
102
+ };
103
+ type TranscriptionEventBase = {
104
+ /** Stable across reconnects and explicitly accepted fallback attempts. */
105
+ localSessionId: string;
106
+ /** Adapter-monotonic across the entire local session, including replay. */
107
+ sequence: number;
108
+ occurredAt: string;
109
+ };
110
+ type TranscriptionEvent = (TranscriptionEventBase & {
111
+ type: "permission.requested";
112
+ }) | (TranscriptionEventBase & {
113
+ type: "session.opened";
114
+ providerSessionId: string;
115
+ }) | (TranscriptionEventBase & {
116
+ type: "transcript.partial";
117
+ segmentId: string;
118
+ text: string;
119
+ metadata?: TranscriptionResultMetadata | undefined;
120
+ }) | (TranscriptionEventBase & {
121
+ type: "transcript.final";
122
+ segmentId: string;
123
+ text: string;
124
+ /** Stable provider/coordinator acceptance identity used for dedupe. */
125
+ providerAcceptanceId: string;
126
+ metadata?: TranscriptionResultMetadata | undefined;
127
+ }) | (TranscriptionEventBase & {
128
+ type: "usage";
129
+ audioMilliseconds: number;
130
+ costUsd: number | null;
131
+ }) | (TranscriptionEventBase & {
132
+ type: "session.reconnecting";
133
+ attempt: number;
134
+ reason: string;
135
+ }) | (TranscriptionEventBase & {
136
+ type: "session.error";
137
+ code: TranscriptionErrorCode;
138
+ recoverable: boolean;
139
+ }) | (TranscriptionEventBase & {
140
+ type: "session.closed";
141
+ reason: "completed" | "cancelled" | "error" | "replaced";
142
+ });
143
+ type TranscriptionSessionRequest = {
144
+ localSessionId: string;
145
+ policyAcceptanceId: string;
146
+ selection: TranscriptionTargetSelection;
147
+ target: WorkspaceTranscriptionTarget;
148
+ language: string | null;
149
+ autoDetectLanguage: boolean;
150
+ diarization: WorkspaceTranscriptionPolicy["diarization"];
151
+ retention: WorkspaceTranscriptionPolicy["retention"];
152
+ privacy: WorkspaceTranscriptionPolicy["privacy"];
153
+ cost: WorkspaceTranscriptionPolicy["cost"];
154
+ /** A replacement/reconnect adapter must emit events above this floor. */
155
+ sequenceFloor: number;
156
+ };
157
+ type TranscriptionEventListener = (event: TranscriptionEvent) => void;
158
+ type TranscriptionAdapterStartContext = {
159
+ /** Aborted on local cancellation, policy replacement, timeout, or unmount. */
160
+ signal: AbortSignal;
161
+ /** Non-UI observability seam; callers receive only bounded, redacted detail. */
162
+ reportDiagnostic: (diagnostic: TranscriptionDiagnostic) => void;
163
+ };
164
+ type TranscriptionSession = {
165
+ readonly localSessionId: string;
166
+ cancel(reason?: string): Promise<void>;
167
+ close(): Promise<void>;
168
+ };
169
+ type TranscriptionAdapter = {
170
+ readonly descriptor: TranscriptionAdapterDescriptor;
171
+ start(request: TranscriptionSessionRequest, listener: TranscriptionEventListener, context: TranscriptionAdapterStartContext): Promise<TranscriptionSession>;
172
+ };
173
+ /** Invalid or absent settings always resolve to the fail-closed default. */
174
+ declare function resolveWorkspaceTranscriptionPolicy(settings: unknown): WorkspaceTranscriptionPolicy;
175
+ /**
176
+ * Speech authorization is intentionally independent from turn model policy.
177
+ * Every selected adapter must match one exact admin-accepted target.
178
+ */
179
+ declare function authorizeTranscriptionAdapter(policy: WorkspaceTranscriptionPolicy, descriptor: TranscriptionAdapterDescriptor, selection?: TranscriptionTargetSelection): TranscriptionAuthorization;
180
+ declare function createTranscriptionSessionRequest(input: {
181
+ policy: WorkspaceTranscriptionPolicy;
182
+ adapter: TranscriptionAdapter;
183
+ localSessionId: string;
184
+ selection?: TranscriptionTargetSelection | undefined;
185
+ sequenceFloor?: number | undefined;
186
+ }): TranscriptionSessionRequest | null;
187
+
1
188
  type SessionStatus = "queued" | "running" | "idle" | "requires_action" | "recovering" | "waiting_capacity" | "failed" | "cancelled";
2
189
  type SandboxBackend = "docker" | "modal" | "local" | "none" | "daytona" | "runloop" | "e2b" | "blaxel" | "cloudflare" | "vercel" | "selfhosted";
3
190
  type SandboxOs = "linux" | "macos" | "windows";
@@ -125,13 +312,23 @@ type ViewerHeartbeatResponse = {
125
312
  };
126
313
  type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
127
314
  type GitCredentialProvider = "github" | "gitlab" | "azure_devops";
315
+ type GitCredentialBindingId = string;
316
+ type GitRepositoryAccess = "read" | "write";
128
317
  type RepositoryResourceRef = {
129
318
  kind: "repository";
130
319
  uri: string;
131
320
  ref: string;
321
+ /**
322
+ * Optional workspace-relative override. When omitted, OpenGeni persists
323
+ * `repos/<encoded-host>/<owner>/<repo>` so equal names on different Git
324
+ * providers do not collide. Explicit paths are portable, traversal-free, and
325
+ * collision-checked case-insensitively before sandbox execution.
326
+ */
132
327
  mountPath?: string | undefined;
133
328
  subpath?: string | undefined;
134
329
  provider?: GitCredentialProvider | undefined;
330
+ credentialBindingId?: GitCredentialBindingId | undefined;
331
+ access?: GitRepositoryAccess | undefined;
135
332
  repositoryId?: number | string | undefined;
136
333
  installationId?: number | string | undefined;
137
334
  projectId?: number | string | undefined;
@@ -142,6 +339,7 @@ type RepositoryResourceRef = {
142
339
  type FileResourceRef = {
143
340
  kind: "file";
144
341
  fileId: string;
342
+ /** Optional workspace-relative override; defaults to `files/<file-id>`. */
145
343
  mountPath?: string | undefined;
146
344
  };
147
345
  type ResourceRef = RepositoryResourceRef | FileResourceRef;
@@ -161,7 +359,10 @@ type SessionMcpServerInput = {
161
359
  allowedTools?: string[] | undefined;
162
360
  timeoutMs?: number | undefined;
163
361
  cacheToolsList?: boolean | undefined;
362
+ /** Require human approval for every tool, or only the listed unprefixed tool names. */
363
+ requireApproval?: boolean | string[] | undefined;
164
364
  headers?: Record<string, string> | undefined;
365
+ connectionRef?: McpServerConnectionRef | undefined;
165
366
  };
166
367
  type SessionMcpCredentialUpdateInput = {
167
368
  id: string;
@@ -173,15 +374,21 @@ type SessionMcpServerMetadata = {
173
374
  url: string;
174
375
  headerNames: string[];
175
376
  credentialVersion: number;
377
+ connectionRef: McpServerConnectionRef | null;
176
378
  };
177
379
  type ConnectionKind = "oauth2" | "api_key" | "app_install" | "delegated";
178
380
  type ConnectionStatus = "active" | "needs_reauth" | "revoked" | "error";
179
381
  type McpServerConnectionRef = {
180
382
  connectionId?: string | undefined;
383
+ provider?: string | undefined;
181
384
  providerDomain: string;
182
385
  kind?: ConnectionKind | undefined;
183
386
  scopes?: string[] | undefined;
184
387
  resource?: string | undefined;
388
+ selectedResources?: Array<{
389
+ id: string;
390
+ kind: "repository";
391
+ }> | undefined;
185
392
  subjectScope?: "workspace" | "subject" | undefined;
186
393
  };
187
394
  type ConnectionMetadata = {
@@ -247,6 +454,19 @@ type OAuthStartResponse = {
247
454
  authorizationUrl: string | null;
248
455
  expiresAt: string;
249
456
  };
457
+ /** The immutable principal whose authority accepted a session or turn. */
458
+ type TurnInitiator = {
459
+ kind: "subject" | "service";
460
+ subjectId: string;
461
+ /** Display-only snapshot; never an authorization input. */
462
+ label?: string | undefined;
463
+ };
464
+ /** A trusted embedding host's causal machine/service principal. */
465
+ type ServiceTurnInitiator = TurnInitiator & {
466
+ kind: "service";
467
+ };
468
+ /** Bounded host provenance; OpenGeni-owned lineage keys are reserved. */
469
+ type ServiceTurnInitiatorContext = Record<string, unknown>;
250
470
  type IntegrationClientMetadata = {
251
471
  client_id: string;
252
472
  client_name: "OpenGeni";
@@ -267,6 +487,9 @@ type Session = {
267
487
  resources: ResourceRef[];
268
488
  tools: ToolRef[];
269
489
  metadata: Record<string, unknown>;
490
+ /** Frozen creator fact; later turns carry their own independent initiator. */
491
+ createdBy: TurnInitiator;
492
+ createdByContext: Record<string, unknown>;
270
493
  model: string;
271
494
  sandboxBackend: SandboxBackend;
272
495
  sandboxOs: SandboxOs;
@@ -308,14 +531,22 @@ type Session = {
308
531
  attentionDescendants: number;
309
532
  pausedDescendants: number;
310
533
  failedDescendants: number;
534
+ /** Counts are lower bounds rather than exact totals when true. */
535
+ truncated: boolean;
311
536
  } | undefined;
312
537
  createdAt: string;
313
538
  updatedAt: string;
314
539
  };
540
+ /** Additive receipt returned by POST /sessions. */
541
+ type CreateSessionResponse = Session & {
542
+ initialTurnId: string | null;
543
+ };
315
544
  type SessionSummary = Session;
316
545
  /** Canonical session-list page; pinned rows are excluded from ordinary pages. */
317
546
  type SessionListResponse = {
318
547
  pinned: Session[];
548
+ /** True when the server omitted older pins from its bounded pinned section. */
549
+ pinnedTruncated?: boolean;
319
550
  sessions: Session[];
320
551
  nextCursor: string | null;
321
552
  };
@@ -355,6 +586,8 @@ type SessionTurn = {
355
586
  executionGeneration: number;
356
587
  activeAttemptId: string | null;
357
588
  lineage: Record<string, unknown>;
589
+ initiator: TurnInitiator;
590
+ initiatorContext: Record<string, unknown>;
358
591
  cancelledBy?: string | null;
359
592
  cancelReason?: string | null;
360
593
  startedAt: string | null;
@@ -362,7 +595,64 @@ type SessionTurn = {
362
595
  createdAt: string;
363
596
  updatedAt: string;
364
597
  };
365
- 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.changed", "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"];
598
+ type HumanInputQuestionKind = "text" | "single_select" | "multi_select";
599
+ type HumanInputOption = {
600
+ id: string;
601
+ label: string;
602
+ description?: string | null | undefined;
603
+ };
604
+ type HumanInputQuestion = {
605
+ id: string;
606
+ kind: HumanInputQuestionKind;
607
+ prompt: string;
608
+ label?: string | null | undefined;
609
+ helpText?: string | null | undefined;
610
+ options: HumanInputOption[];
611
+ required: boolean;
612
+ allowOther: boolean;
613
+ validation?: {
614
+ minLength?: number | null | undefined;
615
+ maxLength?: number | null | undefined;
616
+ minSelections?: number | null | undefined;
617
+ maxSelections?: number | null | undefined;
618
+ } | null | undefined;
619
+ };
620
+ type HumanInputAnswer = {
621
+ questionId: string;
622
+ values: string[];
623
+ other?: string | null | undefined;
624
+ };
625
+ type HumanInputResponse = {
626
+ outcome: "answered";
627
+ answers: HumanInputAnswer[];
628
+ } | {
629
+ outcome: "skipped" | "expired" | "cancelled";
630
+ };
631
+ type SubmitHumanInputResponseRequest = {
632
+ outcome: "answered";
633
+ answers: HumanInputAnswer[];
634
+ } | {
635
+ outcome: "skipped";
636
+ };
637
+ type SessionHumanInputRequest = {
638
+ id: string;
639
+ workspaceId: string;
640
+ sessionId: string;
641
+ turnId: string;
642
+ turnGeneration: number;
643
+ creationAttemptId: string;
644
+ toolCallId: string;
645
+ status: "pending" | "answered" | "skipped" | "expired" | "cancelled";
646
+ questions: HumanInputQuestion[];
647
+ allowSkip: boolean;
648
+ response: HumanInputResponse | null;
649
+ respondedBy: string | null;
650
+ respondedAt: string | null;
651
+ expiresAt: string | null;
652
+ createdAt: string;
653
+ updatedAt: string;
654
+ };
655
+ declare const SESSION_EVENT_TYPES: readonly ["session.created", "session.event.envelope_omitted", "session.status.changed", "session.requiresAction", "session.humanInput.requested", "session.context.compaction.requested", "session.context.compacted", "session.context.compaction.skipped", "session.context.cleared", "user.message", "user.pause", "user.approvalDecision", "user.humanInputResponse", "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", "credential.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.changed", "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"];
366
656
  type KnownSessionEventType = (typeof SESSION_EVENT_TYPES)[number];
367
657
  /**
368
658
  * Event types the SDK knows about today, kept open so a newer OpenGeni server
@@ -386,14 +676,64 @@ type SessionEvent = {
386
676
  duplicateOfEventId?: string | null | undefined;
387
677
  duplicateReason?: string | null | undefined;
388
678
  };
679
+ type SessionEventSemanticClass = "control" | "terminal" | "failure" | "checkpoint" | "tool_receipt" | "provider_account";
680
+ type SessionEventPayloadMode = "none" | "summary" | "full";
681
+ type SessionEventReadMode = "monitoring" | "forensic";
682
+ type SessionEventReadDirection = "after" | "before";
683
+ type SessionEventListCommonOptions = {
684
+ after?: number;
685
+ before?: number;
686
+ limit?: number;
687
+ compact?: boolean;
688
+ mode?: SessionEventReadMode;
689
+ direction?: SessionEventReadDirection;
690
+ payloadMode?: SessionEventPayloadMode;
691
+ };
692
+ type SessionEventListOptions = SessionEventListCommonOptions & ({
693
+ latest?: never;
694
+ includeTypes?: SessionEventType[];
695
+ excludeTypes?: SessionEventType[];
696
+ includeClasses?: SessionEventSemanticClass[];
697
+ excludeClasses?: SessionEventSemanticClass[];
698
+ } | {
699
+ /** Exclusive lookup for the newest event in exactly this semantic class. */
700
+ latest: SessionEventSemanticClass;
701
+ includeTypes?: never;
702
+ excludeTypes?: never;
703
+ includeClasses?: never;
704
+ excludeClasses?: never;
705
+ });
706
+ type SessionEventPage = {
707
+ events: SessionEvent[];
708
+ mode: SessionEventReadMode;
709
+ payloadMode: SessionEventPayloadMode;
710
+ direction: SessionEventReadDirection;
711
+ bytes: number;
712
+ maxBytes: number;
713
+ truncated: boolean;
714
+ hasMore: boolean;
715
+ truncatedBy: "count" | "bytes" | "http_bytes" | null;
716
+ coveredSequence: {
717
+ first: number;
718
+ last: number;
719
+ } | null;
720
+ nextAfter: number | null;
721
+ nextBefore: number | null;
722
+ forensicExact: boolean;
723
+ };
389
724
  type ToolAuthNeededPayload = {
390
725
  serverId: string;
391
726
  toolName?: string | null | undefined;
392
727
  providerDomain: string;
728
+ provider?: string | undefined;
393
729
  connectionId?: string | null | undefined;
394
- reason: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed";
730
+ reason: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed" | "unsupported_auth" | "resource_scope_unavailable";
395
731
  scopes?: string[] | undefined;
396
732
  resource?: string | undefined;
733
+ selectedResources?: Array<{
734
+ id: string;
735
+ kind: "repository";
736
+ }> | undefined;
397
737
  authorizationUrl?: string | undefined;
398
738
  subjectId?: string | null | undefined;
399
739
  };
@@ -618,6 +958,7 @@ type GitFileDiff = {
618
958
  type GitDiffRequest = {
619
959
  path?: string;
620
960
  staged?: boolean;
961
+ includeUntracked?: boolean;
621
962
  fromRef?: string;
622
963
  toRef?: string;
623
964
  pathspec?: string[];
@@ -876,7 +1217,10 @@ type ScheduledTask = {
876
1217
  updatedAt: string;
877
1218
  };
878
1219
  type CreateSessionRequest = {
1220
+ requestedSessionId?: string | undefined;
879
1221
  initialMessage: string;
1222
+ /** System instructions scoped to the initial turn; never visible timeline text. */
1223
+ turnInstructions?: string | undefined;
880
1224
  instructions?: string | undefined;
881
1225
  resources?: ResourceRef[] | undefined;
882
1226
  tools?: ToolRef[] | undefined;
@@ -1063,7 +1407,7 @@ type ClientAuthConfig = {
1063
1407
  mode: "managedSession";
1064
1408
  session: "cookie";
1065
1409
  };
1066
- declare const OPENGENI_API_CONTRACT_REVISION: "2026-07-session-control-v1";
1410
+ declare const OPENGENI_API_CONTRACT_REVISION: "2026-07-turn-instructions-v1";
1067
1411
  declare const OPENGENI_API_CONTRACT_HEADER: "x-opengeni-api-contract";
1068
1412
  /**
1069
1413
  * Public, unauthenticated-by-default client bootstrap config returned by
@@ -1113,6 +1457,8 @@ type AccessGrant = {
1113
1457
  subjectLabel?: string | undefined;
1114
1458
  permissions: Permission[];
1115
1459
  metadata?: Record<string, unknown> | undefined;
1460
+ serviceInitiator?: ServiceTurnInitiator | undefined;
1461
+ serviceInitiatorContext?: ServiceTurnInitiatorContext | undefined;
1116
1462
  };
1117
1463
  type AccessContext = {
1118
1464
  mode: ProductAccessMode;
@@ -1145,10 +1491,12 @@ type Workspace = {
1145
1491
  };
1146
1492
  type WorkspaceSettings = {
1147
1493
  memoryEnabled?: boolean | undefined;
1494
+ transcription?: WorkspaceTranscriptionPolicy | undefined;
1148
1495
  [key: string]: unknown;
1149
1496
  };
1150
1497
  type UpdateWorkspaceSettingsRequest = {
1151
1498
  memoryEnabled?: boolean | undefined;
1499
+ transcription?: WorkspaceTranscriptionPolicy | undefined;
1152
1500
  [key: string]: unknown;
1153
1501
  };
1154
1502
  type SetWorkspaceDefaultRigRequest = {
@@ -1279,6 +1627,8 @@ type EffectiveSessionControl = {
1279
1627
  settlement: {
1280
1628
  state: "stopping";
1281
1629
  attemptCount: number;
1630
+ interruptionPendingCount: number;
1631
+ quiescencePendingCount: number;
1282
1632
  } | null;
1283
1633
  };
1284
1634
  type SessionCommandReceipt = {
@@ -1307,6 +1657,8 @@ type ComposerDraft = {
1307
1657
  type SessionQueueSnapshot = {
1308
1658
  version: number;
1309
1659
  effectiveControl: EffectiveSessionControl;
1660
+ /** The latest interrupted attempt has not yet durably proved physical quiescence. */
1661
+ stoppingPreviousAttempt: boolean;
1310
1662
  items: SessionTurn[];
1311
1663
  };
1312
1664
  type SystemUpdateClassification = "success" | "failure" | "action_required" | "info";
@@ -1354,6 +1706,21 @@ type WorkspaceControlEvent = {
1354
1706
  reason: string | null;
1355
1707
  actor: string;
1356
1708
  occurredAt: string;
1709
+ truncation?: {
1710
+ truncated: true;
1711
+ surface: "durable_control" | "database_guard" | "http_projection" | "nats_legacy_guard" | "sse_legacy_guard";
1712
+ deliveredBytes: number;
1713
+ fields: Array<{
1714
+ field: "reason" | "actor";
1715
+ originalBytes: number;
1716
+ deliveredBytes: number;
1717
+ omittedBytes: number;
1718
+ }>;
1719
+ fullEvidence: {
1720
+ available: false;
1721
+ reason: "not_retained";
1722
+ };
1723
+ } | null;
1357
1724
  };
1358
1725
  type SessionQueueMutationResponse = {
1359
1726
  receipt: SessionCommandReceipt;
@@ -1928,7 +2295,7 @@ type GetPackResponse = {
1928
2295
  installation: PackInstallation | null;
1929
2296
  };
1930
2297
  type CapabilityKind = "pack" | "mcp" | "api" | "skill" | "plugin";
1931
- type CapabilitySource = "built_in" | "configured" | "public_registry" | "registry" | "manual";
2298
+ type CapabilitySource = "built_in" | "library" | "configured" | "public_registry" | "registry" | "manual";
1932
2299
  type CapabilityInstallationStatus = "active" | "disabled";
1933
2300
  type CapabilityCatalogAuthKind = "oauth2" | "api_key" | "none" | "unknown";
1934
2301
  type CapabilityCatalogTier = "verified" | "community";
@@ -2044,13 +2411,27 @@ type GitHubRepository = {
2044
2411
  accountLogin: string;
2045
2412
  accountType: string | null;
2046
2413
  };
2414
+ type GitHubRepositoryScope = "all" | "selected";
2415
+ type GitHubInstallationBinding = {
2416
+ installationId: number;
2417
+ accountLogin: string | null;
2418
+ accountType: string | null;
2419
+ repositoryScope: GitHubRepositoryScope;
2420
+ repositoryCount: number;
2421
+ createdAt: string;
2422
+ updatedAt: string;
2423
+ };
2047
2424
  type GitHubAppInfo = {
2048
2425
  configured: boolean;
2049
2426
  appId: string | null;
2050
2427
  clientId: string | null;
2051
2428
  appSlug: string | null;
2052
- /** Ready-to-open GitHub install URL (carries the signed state), if configured. */
2429
+ /** Reserved compatibility field; null while new installation binding is disabled. */
2053
2430
  installUrl: string | null;
2431
+ /** Reserved compatibility field; null while new installation binding is disabled. */
2432
+ linkUrl: string | null;
2433
+ /** Installation bindings owned independently by this workspace. */
2434
+ installations: GitHubInstallationBinding[];
2054
2435
  /** Setting names still missing when `configured` is false. */
2055
2436
  missing: string[];
2056
2437
  };
@@ -2127,6 +2508,7 @@ type UserMessageEventInput = {
2127
2508
  clientEventId?: string | undefined;
2128
2509
  payload: {
2129
2510
  text: string;
2511
+ turnInstructions?: string | undefined;
2130
2512
  resources?: ResourceRef[] | undefined;
2131
2513
  tools?: ToolRef[] | undefined;
2132
2514
  model?: string | undefined;
@@ -2143,8 +2525,16 @@ type UserApprovalDecisionEventInput = {
2143
2525
  message?: string | undefined;
2144
2526
  };
2145
2527
  };
2528
+ type UserHumanInputResponseEventInput = {
2529
+ type: "user.humanInputResponse";
2530
+ clientEventId?: string | undefined;
2531
+ payload: {
2532
+ requestId: string;
2533
+ response: SubmitHumanInputResponseRequest;
2534
+ };
2535
+ };
2146
2536
  /** Control/user events a client may POST to a session's event log. */
2147
- type ClientSessionEventInput = UserMessageEventInput | UserApprovalDecisionEventInput;
2537
+ type ClientSessionEventInput = UserMessageEventInput | UserApprovalDecisionEventInput | UserHumanInputResponseEventInput;
2148
2538
  /** A point-in-time machine metrics sample. `gpuUtilPct`/`gpuMemBytes` are null
2149
2539
  * when no GPU was present (not-reported, never a real zero); the bytes/load are
2150
2540
  * numbers; `sampledAt` is an ISO-8601 instant. */
@@ -2358,6 +2748,12 @@ type WorkspaceControlStreamTransport = {
2358
2748
  declare function streamWorkspaceControlEvents(transport: WorkspaceControlStreamTransport, options?: StreamSessionEventsOptions): AsyncGenerator<WorkspaceControlEvent, void, void>;
2359
2749
 
2360
2750
  type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
2751
+ type WorkspaceControlEventPage = {
2752
+ events: WorkspaceControlEvent[];
2753
+ bytes: number;
2754
+ truncated: boolean;
2755
+ nextAfter: number | null;
2756
+ };
2361
2757
  type OpenGeniClientOptions = {
2362
2758
  /** Base URL of the OpenGeni API, e.g. `https://api.example.com`. */
2363
2759
  baseUrl: string;
@@ -2368,8 +2764,14 @@ type OpenGeniClientOptions = {
2368
2764
  /** Custom fetch implementation. Defaults to the global `fetch`. */
2369
2765
  fetch?: FetchLike;
2370
2766
  };
2767
+ /** Per-request cancellation for identity-scoped, side-effect-free reads. */
2768
+ type OpenGeniRequestOptions = {
2769
+ signal?: AbortSignal | undefined;
2770
+ };
2371
2771
  type SendMessageInput = {
2372
2772
  text: string;
2773
+ /** System instructions scoped to this exact turn; never visible timeline text. */
2774
+ turnInstructions?: string;
2373
2775
  resources?: ResourceRef[];
2374
2776
  tools?: ToolRef[];
2375
2777
  model?: string;
@@ -2395,7 +2797,7 @@ declare class OpenGeniClient {
2395
2797
  private readonly options;
2396
2798
  private readonly fetchImpl;
2397
2799
  constructor(options: OpenGeniClientOptions);
2398
- createSession(workspaceId: string, request: CreateSessionRequest): Promise<Session>;
2800
+ createSession(workspaceId: string, request: CreateSessionRequest): Promise<CreateSessionResponse>;
2399
2801
  getSession(workspaceId: string, sessionId: string): Promise<Session>;
2400
2802
  updateSession(workspaceId: string, sessionId: string, request: UpdateSessionRequest): Promise<Session>;
2401
2803
  listSessions(workspaceId: string, options?: {
@@ -2424,6 +2826,7 @@ declare class OpenGeniClient {
2424
2826
  */
2425
2827
  listMachines(workspaceId: string, options?: {
2426
2828
  sessionId?: string;
2829
+ signal?: AbortSignal;
2427
2830
  }): Promise<MachinesResponse>;
2428
2831
  /**
2429
2832
  * Read the downsampled (~1/min) metrics series for ONE machine over a time
@@ -2478,17 +2881,14 @@ declare class OpenGeniClient {
2478
2881
  }): Promise<ScheduledTask[]>;
2479
2882
  getScheduledTask(workspaceId: string, taskId: string): Promise<ScheduledTask>;
2480
2883
  /**
2481
- * Replay durable events by sequence, ascending. `before` is exclusive and
2482
- * returns the newest matching window. With `compact`, consecutive delta runs
2483
- * may be coalesced; `payload.coalescedUntil` carries the run's last sequence
2484
- * for resume cursors.
2884
+ * Return the events from one bounded page. With no cursor, this uses the safe
2885
+ * semantic monitoring tail; pass explicit forensic options and a cursor for
2886
+ * retained audit replay. Use `listEventPage` when projection, coverage, or
2887
+ * resume-cursor facts are required.
2485
2888
  */
2486
- listEvents(workspaceId: string, sessionId: string, options?: {
2487
- after?: number;
2488
- before?: number;
2489
- limit?: number;
2490
- compact?: boolean;
2491
- }): Promise<SessionEvent[]>;
2889
+ listEvents(workspaceId: string, sessionId: string, options?: SessionEventListOptions): Promise<SessionEvent[]>;
2890
+ /** Bounded durable/monitoring page plus exact projection and cursor facts. */
2891
+ listEventPage(workspaceId: string, sessionId: string, options?: SessionEventListOptions): Promise<SessionEventPage>;
2492
2892
  /** POST a user/control event to the session. Returns the accepted event. */
2493
2893
  sendEvent(workspaceId: string, sessionId: string, event: ClientSessionEventInput): Promise<SessionEvent>;
2494
2894
  sendMessage(workspaceId: string, sessionId: string, message: string | SendMessageInput): Promise<SessionEvent>;
@@ -2503,6 +2903,13 @@ declare class OpenGeniClient {
2503
2903
  message?: string;
2504
2904
  clientEventId?: string;
2505
2905
  }): Promise<SessionEvent>;
2906
+ listHumanInputRequests(workspaceId: string, sessionId: string, options?: {
2907
+ status?: SessionHumanInputRequest["status"];
2908
+ }): Promise<SessionHumanInputRequest[]>;
2909
+ getHumanInputRequest(workspaceId: string, sessionId: string, requestId: string): Promise<SessionHumanInputRequest>;
2910
+ submitHumanInputResponse(workspaceId: string, sessionId: string, requestId: string, response: SubmitHumanInputResponseRequest, options?: {
2911
+ clientEventId?: string;
2912
+ }): Promise<SessionEvent>;
2506
2913
  /**
2507
2914
  * Live-stream a session's events with automatic reconnect, resume from the
2508
2915
  * last seen sequence, gap backfill, and duplicate suppression. See
@@ -2544,6 +2951,11 @@ declare class OpenGeniClient {
2544
2951
  after?: number;
2545
2952
  limit?: number;
2546
2953
  }): Promise<WorkspaceControlEvent[]>;
2954
+ /** Count/byte-bounded page plus an explicit continuation cursor. */
2955
+ listWorkspaceControlEventPage(workspaceId: string, options?: {
2956
+ after?: number;
2957
+ limit?: number;
2958
+ }): Promise<WorkspaceControlEventPage>;
2547
2959
  streamWorkspaceControlEvents(workspaceId: string, options?: StreamSessionEventsOptions): AsyncGenerator<WorkspaceControlEvent, void, void>;
2548
2960
  workspaceControlStreamTransport(workspaceId: string): WorkspaceControlStreamTransport;
2549
2961
  openWorkspaceControlEventStream(workspaceId: string, options?: {
@@ -2576,9 +2988,9 @@ declare class OpenGeniClient {
2576
2988
  /** Request one durable portable compaction at the next safe model boundary. */
2577
2989
  compactSessionContext(workspaceId: string, sessionId: string): Promise<CompactSessionContextResult>;
2578
2990
  /** FileSystem: list a directory tree (feeds the Pierre file tree). */
2579
- fsList(workspaceId: string, sessionId: string, request?: FsListRequest): Promise<FsListResponse>;
2991
+ fsList(workspaceId: string, sessionId: string, request?: FsListRequest, options?: OpenGeniRequestOptions): Promise<FsListResponse>;
2580
2992
  /** FileSystem: read a file (text or base64; binary-safe, size-capped). */
2581
- fsRead(workspaceId: string, sessionId: string, request: FsReadRequest): Promise<FsReadResponse>;
2993
+ fsRead(workspaceId: string, sessionId: string, request: FsReadRequest, options?: OpenGeniRequestOptions): Promise<FsReadResponse>;
2582
2994
  /** FileSystem: write a file (last-writer-wins; emits fs.changed). */
2583
2995
  fsWrite(workspaceId: string, sessionId: string, request: FsWriteRequest): Promise<FsWriteResponse>;
2584
2996
  /** FileSystem: delete a path (emits fs.changed). */
@@ -2588,9 +3000,9 @@ declare class OpenGeniClient {
2588
3000
  /** FileSystem: create a directory (emits fs.changed; recursive defaults to true). */
2589
3001
  fsMkdir(workspaceId: string, sessionId: string, request: FsMkdirRequest): Promise<FsMkdirResponse>;
2590
3002
  /** Git: working-tree/index status (the Pierre file-status feed). */
2591
- gitStatus(workspaceId: string, sessionId: string, request?: GitStatusRequest): Promise<GitStatusResponse>;
3003
+ gitStatus(workspaceId: string, sessionId: string, request?: GitStatusRequest, options?: OpenGeniRequestOptions): Promise<GitStatusResponse>;
2592
3004
  /** Git: structured diff hunks (the Pierre diff feed). */
2593
- gitDiff(workspaceId: string, sessionId: string, request?: GitDiffRequest): Promise<GitDiffResponse>;
3005
+ gitDiff(workspaceId: string, sessionId: string, request?: GitDiffRequest, options?: OpenGeniRequestOptions): Promise<GitDiffResponse>;
2594
3006
  /** Git: commit log. */
2595
3007
  gitLog(workspaceId: string, sessionId: string, request?: GitLogRequest): Promise<GitLogResponse>;
2596
3008
  /** Git: show a commit (diff vs first parent) or fetch a raw blob at a ref. */
@@ -2599,11 +3011,11 @@ declare class OpenGeniClient {
2599
3011
  * (tree + per-repo diff + file after-image refs), served from durable storage
2600
3012
  * WITHOUT warming a machine — the workbench cold-paint source. Returns
2601
3013
  * `{available:false}` when no capture exists yet (fall back to the live path). */
2602
- getWorkspaceCapture(workspaceId: string, sessionId: string): Promise<GetWorkspaceCaptureResponse>;
3014
+ getWorkspaceCapture(workspaceId: string, sessionId: string, options?: OpenGeniRequestOptions): Promise<GetWorkspaceCaptureResponse>;
2603
3015
  /** Workspace capture: a single file's after-image from the capture (revision
2604
3016
  * pins a specific one; omitted → latest). Content is inline for small files,
2605
3017
  * else a short-TTL signed URL; a tooLarge file returns metadata only. */
2606
- getWorkspaceCaptureFile(workspaceId: string, sessionId: string, path: string, revision?: number): Promise<GetWorkspaceCaptureFileResponse>;
3018
+ getWorkspaceCaptureFile(workspaceId: string, sessionId: string, path: string, revision?: number, options?: OpenGeniRequestOptions): Promise<GetWorkspaceCaptureFileResponse>;
2607
3019
  /** Terminal: run a bounded command, returning buffered stdout/stderr inline. */
2608
3020
  terminalExec(workspaceId: string, sessionId: string, request: TerminalExecRequest): Promise<TerminalExecResponse>;
2609
3021
  /** Terminal: open an interactive PTY. Output streams on the event SSE as
@@ -2621,7 +3033,7 @@ declare class OpenGeniClient {
2621
3033
  * liveness the client polls on while `cold`/`warming`. The desktop URL/token
2622
3034
  * are minted in-process only when the box is warm AND the principal has
2623
3035
  * acknowledged the un-redacted plane. */
2624
- getStreamCapabilities(workspaceId: string, sessionId: string): Promise<SessionCapabilities>;
3036
+ getStreamCapabilities(workspaceId: string, sessionId: string, options?: OpenGeniRequestOptions): Promise<SessionCapabilities>;
2625
3037
  /** Record the calling principal's acknowledgment of the un-redacted desktop
2626
3038
  * pixel plane (and, when the box is shared, the shared-exposure disclosure).
2627
3039
  * The desktop viewer-attach path returns 409 until this is recorded. */
@@ -2808,17 +3220,18 @@ declare class OpenGeniClient {
2808
3220
  startConnectionOAuth(workspaceId: string, request: OAuthStartRequest): Promise<OAuthStartResponse>;
2809
3221
  /** Public, immutably-cached URL for a catalog item's logo, or null when the item has none. */
2810
3222
  catalogAssetUrl(logoAssetPath: string | null): string | null;
2811
- /** GitHub App configuration status + a signed install URL when configured. */
3223
+ /** GitHub App configuration status; install/link URLs are null while new binding is disabled. */
2812
3224
  getGitHubApp(workspaceId: string): Promise<GitHubAppInfo>;
2813
3225
  /**
2814
- * Browser entry point that plants the CSRF cookie and forwards to GitHub's
2815
- * install page. Open this in a browser (it redirects); `state` comes from
2816
- * `getGitHubApp().installUrl` or a github_connect_link tool.
3226
+ * Compatibility URL for previously issued state. New installation binding is
3227
+ * disabled, so the endpoint validates state and terminates with HTTP 410.
2817
3228
  */
2818
3229
  githubConnectUrl(workspaceId: string, state: string): string;
2819
3230
  listGitHubRepositories(workspaceId: string): Promise<GitHubRepositoriesResponse>;
2820
3231
  /** Re-sync the installation's repository list from GitHub. */
2821
3232
  syncGitHubRepositories(workspaceId: string): Promise<GitHubRepositoriesResponse>;
3233
+ /** Remove one workspace binding without uninstalling the GitHub App itself. */
3234
+ unlinkGitHubInstallation(workspaceId: string, installationId: number): Promise<void>;
2822
3235
  /** Build a GitHub App manifest + the GitHub URL to submit it to. */
2823
3236
  createGitHubAppManifest(workspaceId: string, request?: CreateGitHubAppManifestRequest): Promise<CreateGitHubAppManifestResponse>;
2824
3237
  listApiKeys(workspaceId: string): Promise<ApiKey[]>;
@@ -3107,4 +3520,4 @@ declare function ttydInputFrame(data: string): string;
3107
3520
  /** Build a client→server RESIZE frame: "1" + JSON.stringify({ columns, rows }). */
3108
3521
  declare function ttydResizeFrame(columns: number, rows: number): string;
3109
3522
 
3110
- 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 ComposerDraft, 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 DeleteSessionQueueItemRequest, 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 EditSessionQueueItemRequest, type EffectiveControlBlocker, type EffectiveControlResumeOption, type EffectiveSessionControl, 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 MoveSessionQueueItemRequest, type OAuthStartRequest, type OAuthStartResponse, OPENGENI_API_CONTRACT_HEADER, OPENGENI_API_CONTRACT_REVISION, OpenGeniApiContractMismatchError, 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 SaveComposerDraftRequest, 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 SessionCommandReceipt, 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 SteerSessionQueueItemRequest, 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 WorkspaceControlEvent, type WorkspaceControlStreamTransport, 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, streamWorkspaceControlEvents, terminalSocketUrl, ttydAuthFrame, ttydInputFrame, ttydResizeFrame };
3523
+ 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 ComposerDraft, 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, DEFAULT_WORKSPACE_TRANSCRIPTION_POLICY, type DeleteSessionQueueItemRequest, 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 EditSessionQueueItemRequest, type EffectiveControlBlocker, type EffectiveControlResumeOption, type EffectiveSessionControl, 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 GitCredentialBindingId, type GitCredentialProvider, type GitDiffHunk, type GitDiffLine, type GitDiffLineType, type GitDiffRequest, type GitDiffResponse, type GitFileDiff, type GitFileStatus, type GitFileStatusCode, type GitHubAppInfo, type GitHubInstallationBinding, type GitHubRepositoriesResponse, type GitHubRepository, type GitHubRepositoryScope, type GitLogRequest, type GitLogResponse, type GitRepositoryAccess, type GitShowRequest, type GitShowResponse, type GitStatusRequest, type GitStatusResponse, type GoalSpec, type HumanInputAnswer, type HumanInputOption, type HumanInputQuestion, type HumanInputQuestionKind, type HumanInputResponse, 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 MoveSessionQueueItemRequest, type OAuthStartRequest, type OAuthStartResponse, OPENGENI_API_CONTRACT_HEADER, OPENGENI_API_CONTRACT_REVISION, OpenGeniApiContractMismatchError, OpenGeniApiError, OpenGeniClient, type OpenGeniClientOptions, type OpenGeniRequestOptions, 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 SaveComposerDraftRequest, 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 ServiceTurnInitiator, type ServiceTurnInitiatorContext, type Session, type SessionCapabilities, type SessionCommandReceipt, type SessionControlResponse, type SessionEvent, type SessionEventListOptions, type SessionEventPage, type SessionEventPayloadMode, type SessionEventReadDirection, type SessionEventReadMode, type SessionEventSemanticClass, type SessionEventStreamTransport, type SessionEventType, type SessionGoal, type SessionGoalCreatedBy, type SessionGoalStatus, type SessionHumanInputRequest, 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 SteerSessionQueueItemRequest, type StreamClosedPayload, type StreamConnectionState, type StreamOpenedPayload, type StreamRevokedPayload, type StreamSessionEventsOptions, type StreamUrlRotatedPayload, type SubmitHumanInputResponseRequest, type SwapActiveSandboxRequest, type SwapActiveSandboxResponse, TTYD_SUBPROTOCOL, type TerminalCapability, type TerminalExecRequest, type TerminalExecResponse, type TerminalPtyExitedPayload, type TerminalPtyOutputDeltaPayload, type TerminalPtyStartedPayload, type ToolAuthNeededPayload, type ToolRef, type TranscriptionAdapter, type TranscriptionAdapterDescriptor, type TranscriptionAdapterStartContext, type TranscriptionAuthorization, type TranscriptionCredentialMode, type TranscriptionDiagnostic, type TranscriptionErrorCode, type TranscriptionEvent, type TranscriptionEventListener, type TranscriptionLifecycleStatus, type TranscriptionPolicyBlockReason, type TranscriptionResultMetadata, type TranscriptionSession, type TranscriptionSessionRequest, type TranscriptionSpeaker, type TranscriptionTargetSelection, type TranscriptionTimeSpan, type TranscriptionWord, TtydClientCommand, TtydServerCommand, type TurnInitiator, 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 UserHumanInputResponseEventInput, 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 WorkspaceControlEvent, type WorkspaceControlEventPage, type WorkspaceControlStreamTransport, type WorkspaceEnvironment, type WorkspaceEnvironmentVariableMetadata, type WorkspaceInferenceControlResponse, type WorkspaceMember, type WorkspaceMemorySearchMode, type WorkspaceMemorySearchRequest, type WorkspaceMemorySearchResponse, type WorkspaceMemorySearchResult, type WorkspaceRegisteredPack, type WorkspaceRevisionCapturedPayload, type WorkspaceRevisionDegradedPayload, type WorkspaceSettings, type WorkspaceTranscriptionPolicy, type WorkspaceTranscriptionTarget, applyUrlRotation, authorizeTranscriptionAdapter, createTranscriptionSessionRequest, desktopSocketUrl, formatSseEvent, isRetryableStreamError, nextDesktopState, parseSseStream, proxySessionEventStream, resolveWorkspaceTranscriptionPolicy, resumeSequenceFromRequest, sessionEventsToSseResponse, sessionEventsToSseStream, streamSessionEvents, streamWorkspaceControlEvents, terminalSocketUrl, ttydAuthFrame, ttydInputFrame, ttydResizeFrame };