@opengeni/sdk 0.15.0 → 0.23.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,12 +339,40 @@ 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;
148
346
  type ToolRef = {
149
347
  kind: "mcp";
150
348
  id: string;
349
+ optional?: boolean | undefined;
350
+ };
351
+ type SessionToolPolicy = {
352
+ mode: "workspace_default" | "explicit" | "inherited" | "legacy";
353
+ inheritedFromSessionId: string | null;
354
+ };
355
+ type SessionEffectiveToolPolicy = {
356
+ mode: SessionToolPolicy["mode"];
357
+ inheritedFromSessionId: string | null;
358
+ selectedIds: string[];
359
+ effectiveIds: string[];
360
+ mandatoryIds: string[];
361
+ lazyRouter: {
362
+ state: "required" | "disabled";
363
+ deferredIds: string[];
364
+ };
365
+ configuredIds: string[];
366
+ droppedIds: string[];
367
+ counts: {
368
+ selected: number;
369
+ effective: number;
370
+ mandatory: number;
371
+ deferred: number;
372
+ configured: number;
373
+ dropped: number;
374
+ };
375
+ idsTruncated: boolean;
151
376
  };
152
377
  type GoalSpec = {
153
378
  text: string;
@@ -161,27 +386,45 @@ type SessionMcpServerInput = {
161
386
  allowedTools?: string[] | undefined;
162
387
  timeoutMs?: number | undefined;
163
388
  cacheToolsList?: boolean | undefined;
389
+ /** Require human approval for every tool, or only the listed unprefixed tool names. */
390
+ requireApproval?: boolean | string[] | undefined;
164
391
  headers?: Record<string, string> | undefined;
392
+ connectionRef?: McpServerConnectionRef | undefined;
165
393
  };
166
394
  type SessionMcpCredentialUpdateInput = {
167
395
  id: string;
168
396
  headers: Record<string, string>;
169
397
  };
398
+ type SessionMcpApprovalPolicy = boolean | string[];
170
399
  type SessionMcpServerMetadata = {
171
400
  id: string;
172
401
  name: string | null;
173
402
  url: string;
174
403
  headerNames: string[];
175
404
  credentialVersion: number;
405
+ requireApproval: SessionMcpApprovalPolicy;
406
+ connectionRef: McpServerConnectionRef | null;
407
+ };
408
+ type UpdateSessionMcpApprovalPolicyRequest = {
409
+ requireApproval: SessionMcpApprovalPolicy;
410
+ };
411
+ type UpdateSessionMcpApprovalPolicyResponse = {
412
+ server: SessionMcpServerMetadata;
413
+ effectiveFrom: "next_attempt";
176
414
  };
177
415
  type ConnectionKind = "oauth2" | "api_key" | "app_install" | "delegated";
178
416
  type ConnectionStatus = "active" | "needs_reauth" | "revoked" | "error";
179
417
  type McpServerConnectionRef = {
180
418
  connectionId?: string | undefined;
419
+ provider?: string | undefined;
181
420
  providerDomain: string;
182
421
  kind?: ConnectionKind | undefined;
183
422
  scopes?: string[] | undefined;
184
423
  resource?: string | undefined;
424
+ selectedResources?: Array<{
425
+ id: string;
426
+ kind: "repository";
427
+ }> | undefined;
185
428
  subjectScope?: "workspace" | "subject" | undefined;
186
429
  };
187
430
  type ConnectionMetadata = {
@@ -247,6 +490,19 @@ type OAuthStartResponse = {
247
490
  authorizationUrl: string | null;
248
491
  expiresAt: string;
249
492
  };
493
+ /** The immutable principal whose authority accepted a session or turn. */
494
+ type TurnInitiator = {
495
+ kind: "subject" | "service";
496
+ subjectId: string;
497
+ /** Display-only snapshot; never an authorization input. */
498
+ label?: string | undefined;
499
+ };
500
+ /** A trusted embedding host's causal machine/service principal. */
501
+ type ServiceTurnInitiator = TurnInitiator & {
502
+ kind: "service";
503
+ };
504
+ /** Bounded host provenance; OpenGeni-owned lineage keys are reserved. */
505
+ type ServiceTurnInitiatorContext = Record<string, unknown>;
250
506
  type IntegrationClientMetadata = {
251
507
  client_id: string;
252
508
  client_name: "OpenGeni";
@@ -266,7 +522,12 @@ type Session = {
266
522
  instructions: string | null;
267
523
  resources: ResourceRef[];
268
524
  tools: ToolRef[];
525
+ toolPolicy?: SessionToolPolicy | undefined;
526
+ effectiveToolPolicy?: SessionEffectiveToolPolicy | undefined;
269
527
  metadata: Record<string, unknown>;
528
+ /** Frozen creator fact; later turns carry their own independent initiator. */
529
+ createdBy: TurnInitiator;
530
+ createdByContext: Record<string, unknown>;
270
531
  model: string;
271
532
  sandboxBackend: SandboxBackend;
272
533
  sandboxOs: SandboxOs;
@@ -308,14 +569,22 @@ type Session = {
308
569
  attentionDescendants: number;
309
570
  pausedDescendants: number;
310
571
  failedDescendants: number;
572
+ /** Counts are lower bounds rather than exact totals when true. */
573
+ truncated: boolean;
311
574
  } | undefined;
312
575
  createdAt: string;
313
576
  updatedAt: string;
314
577
  };
578
+ /** Additive receipt returned by POST /sessions. */
579
+ type CreateSessionResponse = Session & {
580
+ initialTurnId: string | null;
581
+ };
315
582
  type SessionSummary = Session;
316
583
  /** Canonical session-list page; pinned rows are excluded from ordinary pages. */
317
584
  type SessionListResponse = {
318
585
  pinned: Session[];
586
+ /** True when the server omitted older pins from its bounded pinned section. */
587
+ pinnedTruncated?: boolean;
319
588
  sessions: Session[];
320
589
  nextCursor: string | null;
321
590
  };
@@ -346,6 +615,7 @@ type SessionTurn = {
346
615
  prompt: string;
347
616
  resources: ResourceRef[];
348
617
  tools: ToolRef[];
618
+ toolsProvided?: boolean | undefined;
349
619
  model: string;
350
620
  reasoningEffort: ReasoningEffort;
351
621
  sandboxBackend: SandboxBackend;
@@ -355,6 +625,8 @@ type SessionTurn = {
355
625
  executionGeneration: number;
356
626
  activeAttemptId: string | null;
357
627
  lineage: Record<string, unknown>;
628
+ initiator: TurnInitiator;
629
+ initiatorContext: Record<string, unknown>;
358
630
  cancelledBy?: string | null;
359
631
  cancelReason?: string | null;
360
632
  startedAt: string | null;
@@ -362,7 +634,64 @@ type SessionTurn = {
362
634
  createdAt: string;
363
635
  updatedAt: string;
364
636
  };
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"];
637
+ type HumanInputQuestionKind = "text" | "single_select" | "multi_select";
638
+ type HumanInputOption = {
639
+ id: string;
640
+ label: string;
641
+ description?: string | null | undefined;
642
+ };
643
+ type HumanInputQuestion = {
644
+ id: string;
645
+ kind: HumanInputQuestionKind;
646
+ prompt: string;
647
+ label?: string | null | undefined;
648
+ helpText?: string | null | undefined;
649
+ options: HumanInputOption[];
650
+ required: boolean;
651
+ allowOther: boolean;
652
+ validation?: {
653
+ minLength?: number | null | undefined;
654
+ maxLength?: number | null | undefined;
655
+ minSelections?: number | null | undefined;
656
+ maxSelections?: number | null | undefined;
657
+ } | null | undefined;
658
+ };
659
+ type HumanInputAnswer = {
660
+ questionId: string;
661
+ values: string[];
662
+ other?: string | null | undefined;
663
+ };
664
+ type HumanInputResponse = {
665
+ outcome: "answered";
666
+ answers: HumanInputAnswer[];
667
+ } | {
668
+ outcome: "skipped" | "expired" | "cancelled";
669
+ };
670
+ type SubmitHumanInputResponseRequest = {
671
+ outcome: "answered";
672
+ answers: HumanInputAnswer[];
673
+ } | {
674
+ outcome: "skipped";
675
+ };
676
+ type SessionHumanInputRequest = {
677
+ id: string;
678
+ workspaceId: string;
679
+ sessionId: string;
680
+ turnId: string;
681
+ turnGeneration: number;
682
+ creationAttemptId: string;
683
+ toolCallId: string;
684
+ status: "pending" | "answered" | "skipped" | "expired" | "cancelled";
685
+ questions: HumanInputQuestion[];
686
+ allowSkip: boolean;
687
+ response: HumanInputResponse | null;
688
+ respondedBy: string | null;
689
+ respondedAt: string | null;
690
+ expiresAt: string | null;
691
+ createdAt: string;
692
+ updatedAt: string;
693
+ };
694
+ 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.request", "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", "session.mcp.approval_policy.updated", "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
695
  type KnownSessionEventType = (typeof SESSION_EVENT_TYPES)[number];
367
696
  /**
368
697
  * Event types the SDK knows about today, kept open so a newer OpenGeni server
@@ -386,14 +715,117 @@ type SessionEvent = {
386
715
  duplicateOfEventId?: string | null | undefined;
387
716
  duplicateReason?: string | null | undefined;
388
717
  };
718
+ type SessionEventSemanticClass = "control" | "terminal" | "failure" | "checkpoint" | "tool_receipt" | "provider_account";
719
+ type SessionEventLatestClass = SessionEventSemanticClass | "receipt";
720
+ type SessionEventPayloadMode = "none" | "summary" | "full";
721
+ type SessionEventReadMode = "monitoring" | "forensic";
722
+ type SessionEventReadDirection = "after" | "before";
723
+ type SessionEventResultMode = "events" | "compact";
724
+ type SessionEventListCommonOptions = {
725
+ after?: number;
726
+ before?: number;
727
+ limit?: number;
728
+ compact?: boolean;
729
+ mode?: SessionEventReadMode;
730
+ direction?: SessionEventReadDirection;
731
+ payloadMode?: SessionEventPayloadMode;
732
+ resultMode?: "events";
733
+ };
734
+ type SessionEventListOptions = SessionEventListCommonOptions & ({
735
+ latest?: never;
736
+ includeTypes?: SessionEventType[];
737
+ excludeTypes?: SessionEventType[];
738
+ includeClasses?: SessionEventSemanticClass[];
739
+ excludeClasses?: SessionEventSemanticClass[];
740
+ } | {
741
+ /** Exclusive lookup for the newest event in exactly this semantic class. */
742
+ latest: SessionEventLatestClass;
743
+ includeTypes?: never;
744
+ excludeTypes?: never;
745
+ includeClasses?: never;
746
+ excludeClasses?: never;
747
+ });
748
+ type SessionEventCompactResult = {
749
+ version: 1;
750
+ semanticClass: SessionEventSemanticClass;
751
+ source: {
752
+ id: string;
753
+ type: SessionEventType;
754
+ sequence: number;
755
+ occurredAt: string;
756
+ turnId: string | null;
757
+ turnGeneration: number | null;
758
+ turnAttemptId: string | null;
759
+ turnAssociation: SessionEvent["turnAssociation"];
760
+ };
761
+ id: string;
762
+ type: SessionEventType;
763
+ sequence: number;
764
+ occurredAt: string;
765
+ turnId: string | null;
766
+ turnGeneration: number | null;
767
+ turnAttemptId: string | null;
768
+ turnAssociation: SessionEvent["turnAssociation"];
769
+ coveredSequence: {
770
+ first: number;
771
+ last: number;
772
+ };
773
+ status: "completed" | "failed" | "cancelled" | "superseded" | "checkpoint" | "receipt" | "unknown";
774
+ text: string | null;
775
+ output: unknown;
776
+ result: unknown;
777
+ failure: {
778
+ error: string | null;
779
+ code: string | null;
780
+ retryable: boolean | null;
781
+ recovery: string | null;
782
+ } | null;
783
+ checkpoint: unknown;
784
+ receipt: unknown;
785
+ truncation: {
786
+ truncated: boolean;
787
+ fields: string[];
788
+ originalBytes: number | null;
789
+ deliveredBytes: number;
790
+ };
791
+ };
792
+ type SessionEventCompactResultOptions = {
793
+ latest: SessionEventLatestClass;
794
+ resultMode: "compact";
795
+ mode?: SessionEventReadMode;
796
+ payloadMode?: SessionEventPayloadMode;
797
+ };
798
+ type SessionEventPage = {
799
+ events: SessionEvent[];
800
+ mode: SessionEventReadMode;
801
+ payloadMode: SessionEventPayloadMode;
802
+ direction: SessionEventReadDirection;
803
+ bytes: number;
804
+ maxBytes: number;
805
+ truncated: boolean;
806
+ hasMore: boolean;
807
+ truncatedBy: "count" | "bytes" | "http_bytes" | null;
808
+ coveredSequence: {
809
+ first: number;
810
+ last: number;
811
+ } | null;
812
+ nextAfter: number | null;
813
+ nextBefore: number | null;
814
+ forensicExact: boolean;
815
+ };
389
816
  type ToolAuthNeededPayload = {
390
817
  serverId: string;
391
818
  toolName?: string | null | undefined;
392
819
  providerDomain: string;
820
+ provider?: string | undefined;
393
821
  connectionId?: string | null | undefined;
394
- reason: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed";
822
+ reason: "missing_connection" | "expired" | "insufficient_scope" | "refresh_failed" | "unsupported_auth" | "resource_scope_unavailable";
395
823
  scopes?: string[] | undefined;
396
824
  resource?: string | undefined;
825
+ selectedResources?: Array<{
826
+ id: string;
827
+ kind: "repository";
828
+ }> | undefined;
397
829
  authorizationUrl?: string | undefined;
398
830
  subjectId?: string | null | undefined;
399
831
  };
@@ -618,6 +1050,7 @@ type GitFileDiff = {
618
1050
  type GitDiffRequest = {
619
1051
  path?: string;
620
1052
  staged?: boolean;
1053
+ includeUntracked?: boolean;
621
1054
  fromRef?: string;
622
1055
  toRef?: string;
623
1056
  pathspec?: string[];
@@ -876,7 +1309,10 @@ type ScheduledTask = {
876
1309
  updatedAt: string;
877
1310
  };
878
1311
  type CreateSessionRequest = {
1312
+ requestedSessionId?: string | undefined;
879
1313
  initialMessage: string;
1314
+ /** System instructions scoped to the initial turn; never visible timeline text. */
1315
+ turnInstructions?: string | undefined;
880
1316
  instructions?: string | undefined;
881
1317
  resources?: ResourceRef[] | undefined;
882
1318
  tools?: ToolRef[] | undefined;
@@ -907,6 +1343,65 @@ type KnownPermission = (typeof KNOWN_PERMISSIONS)[number];
907
1343
  */
908
1344
  type Permission = KnownPermission | (string & {});
909
1345
  type ProductAccessMode = "local" | "configured" | "managed";
1346
+ type ModelCapabilitySupportV1 = "supported" | "unsupported" | "unknown";
1347
+ type ModelCapabilityStateV1 = {
1348
+ upstream: ModelCapabilitySupportV1;
1349
+ runnable: boolean;
1350
+ };
1351
+ type ModelCapabilitiesV1 = {
1352
+ reasoning: ModelCapabilityStateV1 & {
1353
+ efforts: ReasoningEffort[];
1354
+ defaultEffort: ReasoningEffort | null;
1355
+ required: boolean;
1356
+ };
1357
+ functionCalling: ModelCapabilityStateV1;
1358
+ structuredOutput: ModelCapabilityStateV1;
1359
+ hostedTools: {
1360
+ webSearch: ModelCapabilityStateV1;
1361
+ xSearch: ModelCapabilityStateV1;
1362
+ codeExecution: ModelCapabilityStateV1;
1363
+ };
1364
+ inputModalities: Array<"text" | "image" | "audio">;
1365
+ outputModalities: Array<"text" | "image" | "audio">;
1366
+ transports: {
1367
+ sse: ModelCapabilityStateV1;
1368
+ responsesWebSocket: ModelCapabilityStateV1;
1369
+ realtimeAudio: ModelCapabilityStateV1;
1370
+ };
1371
+ latencyModes: Array<{
1372
+ id: "standard" | "priority" | "fast";
1373
+ upstream: ModelCapabilitySupportV1;
1374
+ runnable: boolean;
1375
+ billingMultiplierBps?: number | undefined;
1376
+ }>;
1377
+ };
1378
+ type ModelCredentialSourceV1 = {
1379
+ kind: "deployment";
1380
+ mechanism: "api_key" | "azure_ad_bearer";
1381
+ } | {
1382
+ kind: "connected_subscription";
1383
+ provider: "codex";
1384
+ } | {
1385
+ kind: "workspace_connection";
1386
+ mechanism: "api_key";
1387
+ };
1388
+ type ModelBillingAttributionV1 = {
1389
+ upstreamPayer: "deployment" | "workspace" | "connected_subscription";
1390
+ metering: "opengeni_credits" | "external";
1391
+ };
1392
+ type ModelPricingV1 = {
1393
+ inputMicrosPerMillionTokens: number;
1394
+ cachedInputMicrosPerMillionTokens?: number | undefined;
1395
+ outputMicrosPerMillionTokens: number;
1396
+ marginBps?: number | undefined;
1397
+ };
1398
+ type ModelPricingScheduleV1 = {
1399
+ default: ModelPricingV1;
1400
+ inputTokenTiers?: Array<{
1401
+ minimumInputTokens: number;
1402
+ pricing: ModelPricingV1;
1403
+ }> | undefined;
1404
+ };
910
1405
  /**
911
1406
  * One model a client may select at send time, plus the provider that serves it.
912
1407
  * The wire API (`responses` | `chat`) lets a client reason about provider
@@ -921,6 +1416,42 @@ type ClientModel = {
921
1416
  providerLabel: string;
922
1417
  api: "responses" | "chat";
923
1418
  contextWindowTokens?: number | undefined;
1419
+ schemaVersion?: 1 | undefined;
1420
+ aliases?: string[] | undefined;
1421
+ deployment?: {
1422
+ upstreamModelId: string;
1423
+ wireApi: "responses" | "chat";
1424
+ } | undefined;
1425
+ executionLimits?: {
1426
+ contextWindowTokens: number | null;
1427
+ effectiveContextWindowTokens: number | null;
1428
+ autoCompactTokenLimit: number | null;
1429
+ toolOutputTruncationTokens: number | null;
1430
+ } | undefined;
1431
+ credentialSource?: ModelCredentialSourceV1 | undefined;
1432
+ billing?: ModelBillingAttributionV1 | undefined;
1433
+ capabilities?: ModelCapabilitiesV1 | undefined;
1434
+ pricing?: ModelPricingScheduleV1 | undefined;
1435
+ definitionVersion?: string | undefined;
1436
+ };
1437
+ type ModelAvailabilityV1 = {
1438
+ status: "available" | "unavailable" | "degraded" | "unknown";
1439
+ selectable: boolean;
1440
+ reason: "missing_credential" | "needs_reauth" | "credential_not_ready" | "not_entitled" | "provider_unhealthy" | "policy_blocked" | "unsupported" | null;
1441
+ checkedAt: string | null;
1442
+ };
1443
+ type ModelCredentialReadinessV1 = {
1444
+ status: "ready" | "not_ready" | "error";
1445
+ reason: "missing_credential" | "needs_reauth" | "prerequisites_missing" | "resolver_error" | "observation_stale" | null;
1446
+ basis: "configuration" | "connection" | "resolver";
1447
+ checkedAt: string | null;
1448
+ };
1449
+ type WorkspaceModelCatalogModel = ClientModel & {
1450
+ credentialReadiness: ModelCredentialReadinessV1;
1451
+ availability: ModelAvailabilityV1;
1452
+ };
1453
+ type WorkspaceModelCatalogResponse = {
1454
+ models: WorkspaceModelCatalogModel[];
924
1455
  };
925
1456
  /**
926
1457
  * Connection state of a workspace's Codex (ChatGPT) subscription, returned by
@@ -969,6 +1500,11 @@ type CodexUsagePayload = {
969
1500
  weekly: CodexUsageWindow | null;
970
1501
  limitReached: boolean;
971
1502
  fetchedAt: string;
1503
+ /** Authoritative count-only summary from /wham/usage; never synthesized rows. */
1504
+ rateLimitResetCredits?: {
1505
+ availableCount: number;
1506
+ credits: null;
1507
+ } | null;
972
1508
  /** Present only on an auth/refresh failure path. */
973
1509
  reason?: "needs_relogin";
974
1510
  additionalLimits?: Array<{
@@ -1000,6 +1536,73 @@ type CodexAccount = {
1000
1536
  weekly?: CodexUsageWindow | null;
1001
1537
  usageCheckedAt?: string | null;
1002
1538
  exhaustedUntil?: string | null;
1539
+ /** Controls only NEW automatic allocations. */
1540
+ allocatorEnabled: boolean;
1541
+ /** Independent OCC sequence; credential/token `version` is never exposed. */
1542
+ allocatorVersion: number;
1543
+ allocatorUpdatedAt?: string | null;
1544
+ /** Cached authoritative summary count, never detailed redemption authority. */
1545
+ resetCreditAvailableCount?: number | null;
1546
+ resetCreditsCheckedAt?: string | null;
1547
+ };
1548
+ type CodexResetCredit = {
1549
+ id: string;
1550
+ resetType: "codexRateLimits" | "unknown";
1551
+ status: "available" | "redeeming" | "redeemed" | "unknown";
1552
+ /** Unix seconds from the provider contract. */
1553
+ grantedAt: number;
1554
+ /** Unix seconds, or null when the provider reports no expiry. */
1555
+ expiresAt: number | null;
1556
+ title: string | null;
1557
+ description: string | null;
1558
+ /** True only for fresh, complete, owning-human provider detail. */
1559
+ actionable: boolean;
1560
+ };
1561
+ /** Owning-human recovery metadata. It contains no token, browser-session hash, or provider key. */
1562
+ type CodexResetRedemptionRecovery = {
1563
+ attemptId: string;
1564
+ creditId: string;
1565
+ status: "provider_started" | "completed";
1566
+ outcome: "reset" | "nothingToReset" | "noCredit" | "alreadyRedeemed" | null;
1567
+ providerStartedAt: string | null;
1568
+ completedAt: string | null;
1569
+ createdAt: string;
1570
+ updatedAt: string;
1571
+ };
1572
+ type CodexAccountOverview = {
1573
+ accountId: string;
1574
+ usage: {
1575
+ source: "provider" | "cache" | "none";
1576
+ fetchedAt: string | null;
1577
+ stale: boolean;
1578
+ error: string | null;
1579
+ value: CodexUsagePayload | null;
1580
+ };
1581
+ resetCredits: {
1582
+ source: "provider" | "cache" | "none";
1583
+ fetchedAt: string | null;
1584
+ stale: boolean;
1585
+ error: string | null;
1586
+ detailState: "detailed" | "count_only" | "capped" | "unsupported" | "unknown" | "error";
1587
+ detailsComplete: boolean;
1588
+ availableCount: number | null;
1589
+ credits: CodexResetCredit[];
1590
+ };
1591
+ canRedeem: boolean;
1592
+ /** Owning managed-cookie human may replay durable completion without a healthy provider token. */
1593
+ canResumeRedemption: boolean;
1594
+ /** Durable owner-scoped ambiguity/completion discovery; never redemption authority for agents. */
1595
+ redemptions: CodexResetRedemptionRecovery[];
1596
+ };
1597
+ /** Independently settled live overview keyed by workspace credential id. */
1598
+ type CodexOverviewResponse = {
1599
+ accounts: Record<string, CodexAccountOverview>;
1600
+ };
1601
+ type CodexAllocatorUpdate = {
1602
+ allocatorEnabled: boolean;
1603
+ allocatorVersion: number;
1604
+ allocatorUpdatedAt: string | null;
1605
+ changed: boolean;
1003
1606
  };
1004
1607
  /** Per-workspace Codex rotation/active settings. P1: rotation inert, only activeCredentialId loads. */
1005
1608
  type CodexRotationSettings = {
@@ -1063,7 +1666,7 @@ type ClientAuthConfig = {
1063
1666
  mode: "managedSession";
1064
1667
  session: "cookie";
1065
1668
  };
1066
- declare const OPENGENI_API_CONTRACT_REVISION: "2026-07-session-control-v1";
1669
+ declare const OPENGENI_API_CONTRACT_REVISION: "2026-07-turn-instructions-v1";
1067
1670
  declare const OPENGENI_API_CONTRACT_HEADER: "x-opengeni-api-contract";
1068
1671
  /**
1069
1672
  * Public, unauthenticated-by-default client bootstrap config returned by
@@ -1113,6 +1716,8 @@ type AccessGrant = {
1113
1716
  subjectLabel?: string | undefined;
1114
1717
  permissions: Permission[];
1115
1718
  metadata?: Record<string, unknown> | undefined;
1719
+ serviceInitiator?: ServiceTurnInitiator | undefined;
1720
+ serviceInitiatorContext?: ServiceTurnInitiatorContext | undefined;
1116
1721
  };
1117
1722
  type AccessContext = {
1118
1723
  mode: ProductAccessMode;
@@ -1145,10 +1750,12 @@ type Workspace = {
1145
1750
  };
1146
1751
  type WorkspaceSettings = {
1147
1752
  memoryEnabled?: boolean | undefined;
1753
+ transcription?: WorkspaceTranscriptionPolicy | undefined;
1148
1754
  [key: string]: unknown;
1149
1755
  };
1150
1756
  type UpdateWorkspaceSettingsRequest = {
1151
1757
  memoryEnabled?: boolean | undefined;
1758
+ transcription?: WorkspaceTranscriptionPolicy | undefined;
1152
1759
  [key: string]: unknown;
1153
1760
  };
1154
1761
  type SetWorkspaceDefaultRigRequest = {
@@ -1279,6 +1886,8 @@ type EffectiveSessionControl = {
1279
1886
  settlement: {
1280
1887
  state: "stopping";
1281
1888
  attemptCount: number;
1889
+ interruptionPendingCount: number;
1890
+ quiescencePendingCount: number;
1282
1891
  } | null;
1283
1892
  };
1284
1893
  type SessionCommandReceipt = {
@@ -1298,6 +1907,8 @@ type ComposerDraft = {
1298
1907
  text: string;
1299
1908
  resources: ResourceRef[];
1300
1909
  tools: ToolRef[];
1910
+ /** False inherits the session policy; true preserves an explicit array. */
1911
+ toolsProvided: boolean;
1301
1912
  model: string;
1302
1913
  reasoningEffort: ReasoningEffort;
1303
1914
  sourceTurnId: string | null;
@@ -1307,6 +1918,8 @@ type ComposerDraft = {
1307
1918
  type SessionQueueSnapshot = {
1308
1919
  version: number;
1309
1920
  effectiveControl: EffectiveSessionControl;
1921
+ /** The latest interrupted attempt has not yet durably proved physical quiescence. */
1922
+ stoppingPreviousAttempt: boolean;
1310
1923
  items: SessionTurn[];
1311
1924
  };
1312
1925
  type SystemUpdateClassification = "success" | "failure" | "action_required" | "info";
@@ -1354,6 +1967,21 @@ type WorkspaceControlEvent = {
1354
1967
  reason: string | null;
1355
1968
  actor: string;
1356
1969
  occurredAt: string;
1970
+ truncation?: {
1971
+ truncated: true;
1972
+ surface: "durable_control" | "database_guard" | "http_projection" | "nats_legacy_guard" | "sse_legacy_guard";
1973
+ deliveredBytes: number;
1974
+ fields: Array<{
1975
+ field: "reason" | "actor";
1976
+ originalBytes: number;
1977
+ deliveredBytes: number;
1978
+ omittedBytes: number;
1979
+ }>;
1980
+ fullEvidence: {
1981
+ available: false;
1982
+ reason: "not_retained";
1983
+ };
1984
+ } | null;
1357
1985
  };
1358
1986
  type SessionQueueMutationResponse = {
1359
1987
  receipt: SessionCommandReceipt;
@@ -1595,6 +2223,49 @@ type FileAsset = {
1595
2223
  createdAt: string;
1596
2224
  updatedAt: string;
1597
2225
  };
2226
+ /** Mirrors the closed, provider-neutral retained-output contract. */
2227
+ declare const RETAINED_OUTPUT_DEFAULT_PAGE_BYTES: number;
2228
+ declare const RETAINED_OUTPUT_MAX_PAGE_BYTES: number;
2229
+ type RetainedOutputKind = "tool_result" | "assistant_completion" | "internal_update" | "event_media" | "file";
2230
+ type RetainedOutputUnavailableReason = "not_retained" | "pending" | "failed" | "expired" | "deleted" | "missing_storage" | "storage_write_failed" | "unsupported";
2231
+ type RetainedArtifactReference = {
2232
+ available: true;
2233
+ artifactId: string;
2234
+ kind: RetainedOutputKind;
2235
+ contentType: string;
2236
+ originalBytes: number;
2237
+ sha256: string;
2238
+ retainedAt: string;
2239
+ retention: {
2240
+ policy: "workspace_file";
2241
+ expiresAt: null;
2242
+ };
2243
+ retrieval: {
2244
+ method: "GET";
2245
+ path: string;
2246
+ acceptRanges: "bytes";
2247
+ maxRangeBytes: number;
2248
+ };
2249
+ };
2250
+ type RetainedArtifactUnavailable = {
2251
+ available: false;
2252
+ artifactId: string;
2253
+ reason: RetainedOutputUnavailableReason;
2254
+ };
2255
+ type RetainedArtifactMetadata = RetainedArtifactReference | RetainedArtifactUnavailable;
2256
+ type RetainedArtifactContentOptions = {
2257
+ /** One RFC-style bytes range, for example `bytes=1048576-2097151`. */
2258
+ range?: string | undefined;
2259
+ signal?: AbortSignal | undefined;
2260
+ };
2261
+ type RetainedArtifactContent = {
2262
+ bytes: Uint8Array;
2263
+ status: 200 | 206;
2264
+ contentType: string;
2265
+ contentLength: number;
2266
+ contentRange: string | null;
2267
+ acceptRanges: "bytes";
2268
+ };
1598
2269
  type CreateFileUploadRequest = {
1599
2270
  filename: string;
1600
2271
  contentType: string;
@@ -1928,7 +2599,7 @@ type GetPackResponse = {
1928
2599
  installation: PackInstallation | null;
1929
2600
  };
1930
2601
  type CapabilityKind = "pack" | "mcp" | "api" | "skill" | "plugin";
1931
- type CapabilitySource = "built_in" | "configured" | "public_registry" | "registry" | "manual";
2602
+ type CapabilitySource = "built_in" | "library" | "configured" | "public_registry" | "registry" | "manual";
1932
2603
  type CapabilityInstallationStatus = "active" | "disabled";
1933
2604
  type CapabilityCatalogAuthKind = "oauth2" | "api_key" | "none" | "unknown";
1934
2605
  type CapabilityCatalogTier = "verified" | "community";
@@ -1937,6 +2608,11 @@ type CapabilityRuntime = {
1937
2608
  mcpServerId?: string | undefined;
1938
2609
  transport?: string | undefined;
1939
2610
  notes: string | null;
2611
+ /** Secret-safe server-derived registry exposure state. */
2612
+ catalogTrust?: {
2613
+ state: "trusted" | "legacy_active" | "unverified";
2614
+ reason: "trusted_source" | "verified_probe" | "active_installation_compatibility" | "missing_verification";
2615
+ } | undefined;
1940
2616
  };
1941
2617
  type CapabilityCatalogItem = {
1942
2618
  id: string;
@@ -2044,13 +2720,27 @@ type GitHubRepository = {
2044
2720
  accountLogin: string;
2045
2721
  accountType: string | null;
2046
2722
  };
2723
+ type GitHubRepositoryScope = "all" | "selected";
2724
+ type GitHubInstallationBinding = {
2725
+ installationId: number;
2726
+ accountLogin: string | null;
2727
+ accountType: string | null;
2728
+ repositoryScope: GitHubRepositoryScope;
2729
+ repositoryCount: number;
2730
+ createdAt: string;
2731
+ updatedAt: string;
2732
+ };
2047
2733
  type GitHubAppInfo = {
2048
2734
  configured: boolean;
2049
2735
  appId: string | null;
2050
2736
  clientId: string | null;
2051
2737
  appSlug: string | null;
2052
- /** Ready-to-open GitHub install URL (carries the signed state), if configured. */
2738
+ /** Reserved compatibility field; null while new installation binding is disabled. */
2053
2739
  installUrl: string | null;
2740
+ /** Reserved compatibility field; null while new installation binding is disabled. */
2741
+ linkUrl: string | null;
2742
+ /** Installation bindings owned independently by this workspace. */
2743
+ installations: GitHubInstallationBinding[];
2054
2744
  /** Setting names still missing when `configured` is false. */
2055
2745
  missing: string[];
2056
2746
  };
@@ -2127,6 +2817,7 @@ type UserMessageEventInput = {
2127
2817
  clientEventId?: string | undefined;
2128
2818
  payload: {
2129
2819
  text: string;
2820
+ turnInstructions?: string | undefined;
2130
2821
  resources?: ResourceRef[] | undefined;
2131
2822
  tools?: ToolRef[] | undefined;
2132
2823
  model?: string | undefined;
@@ -2143,8 +2834,16 @@ type UserApprovalDecisionEventInput = {
2143
2834
  message?: string | undefined;
2144
2835
  };
2145
2836
  };
2837
+ type UserHumanInputResponseEventInput = {
2838
+ type: "user.humanInputResponse";
2839
+ clientEventId?: string | undefined;
2840
+ payload: {
2841
+ requestId: string;
2842
+ response: SubmitHumanInputResponseRequest;
2843
+ };
2844
+ };
2146
2845
  /** Control/user events a client may POST to a session's event log. */
2147
- type ClientSessionEventInput = UserMessageEventInput | UserApprovalDecisionEventInput;
2846
+ type ClientSessionEventInput = UserMessageEventInput | UserApprovalDecisionEventInput | UserHumanInputResponseEventInput;
2148
2847
  /** A point-in-time machine metrics sample. `gpuUtilPct`/`gpuMemBytes` are null
2149
2848
  * when no GPU was present (not-reported, never a real zero); the bytes/load are
2150
2849
  * numbers; `sampledAt` is an ISO-8601 instant. */
@@ -2358,6 +3057,12 @@ type WorkspaceControlStreamTransport = {
2358
3057
  declare function streamWorkspaceControlEvents(transport: WorkspaceControlStreamTransport, options?: StreamSessionEventsOptions): AsyncGenerator<WorkspaceControlEvent, void, void>;
2359
3058
 
2360
3059
  type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
3060
+ type WorkspaceControlEventPage = {
3061
+ events: WorkspaceControlEvent[];
3062
+ bytes: number;
3063
+ truncated: boolean;
3064
+ nextAfter: number | null;
3065
+ };
2361
3066
  type OpenGeniClientOptions = {
2362
3067
  /** Base URL of the OpenGeni API, e.g. `https://api.example.com`. */
2363
3068
  baseUrl: string;
@@ -2368,8 +3073,14 @@ type OpenGeniClientOptions = {
2368
3073
  /** Custom fetch implementation. Defaults to the global `fetch`. */
2369
3074
  fetch?: FetchLike;
2370
3075
  };
3076
+ /** Per-request cancellation for identity-scoped, side-effect-free reads. */
3077
+ type OpenGeniRequestOptions = {
3078
+ signal?: AbortSignal | undefined;
3079
+ };
2371
3080
  type SendMessageInput = {
2372
3081
  text: string;
3082
+ /** System instructions scoped to this exact turn; never visible timeline text. */
3083
+ turnInstructions?: string;
2373
3084
  resources?: ResourceRef[];
2374
3085
  tools?: ToolRef[];
2375
3086
  model?: string;
@@ -2395,9 +3106,15 @@ declare class OpenGeniClient {
2395
3106
  private readonly options;
2396
3107
  private readonly fetchImpl;
2397
3108
  constructor(options: OpenGeniClientOptions);
2398
- createSession(workspaceId: string, request: CreateSessionRequest): Promise<Session>;
3109
+ createSession(workspaceId: string, request: CreateSessionRequest): Promise<CreateSessionResponse>;
2399
3110
  getSession(workspaceId: string, sessionId: string): Promise<Session>;
2400
3111
  updateSession(workspaceId: string, sessionId: string, request: UpdateSessionRequest): Promise<Session>;
3112
+ /**
3113
+ * Replace one attached MCP server's approval policy. The change is captured
3114
+ * by the next claimed attempt; already-claimed work keeps its immutable
3115
+ * policy snapshot.
3116
+ */
3117
+ updateSessionMcpApprovalPolicy(workspaceId: string, sessionId: string, serverId: string, request: UpdateSessionMcpApprovalPolicyRequest): Promise<UpdateSessionMcpApprovalPolicyResponse>;
2401
3118
  listSessions(workspaceId: string, options?: {
2402
3119
  limit?: number;
2403
3120
  parentSessionId?: string | null;
@@ -2424,6 +3141,7 @@ declare class OpenGeniClient {
2424
3141
  */
2425
3142
  listMachines(workspaceId: string, options?: {
2426
3143
  sessionId?: string;
3144
+ signal?: AbortSignal;
2427
3145
  }): Promise<MachinesResponse>;
2428
3146
  /**
2429
3147
  * Read the downsampled (~1/min) metrics series for ONE machine over a time
@@ -2478,17 +3196,22 @@ declare class OpenGeniClient {
2478
3196
  }): Promise<ScheduledTask[]>;
2479
3197
  getScheduledTask(workspaceId: string, taskId: string): Promise<ScheduledTask>;
2480
3198
  /**
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.
3199
+ * Return the events from one bounded page. With no cursor, this uses the safe
3200
+ * semantic monitoring tail; pass explicit forensic options and a cursor for
3201
+ * retained audit replay. Use `listEventPage` when projection, coverage, or
3202
+ * resume-cursor facts are required.
2485
3203
  */
2486
- listEvents(workspaceId: string, sessionId: string, options?: {
2487
- after?: number;
2488
- before?: number;
2489
- limit?: number;
2490
- compact?: boolean;
2491
- }): Promise<SessionEvent[]>;
3204
+ listEvents(workspaceId: string, sessionId: string, options?: SessionEventListOptions): Promise<SessionEvent[]>;
3205
+ /** Bounded durable/monitoring page plus exact projection and cursor facts. */
3206
+ listEventPage(workspaceId: string, sessionId: string, options: SessionEventCompactResultOptions): Promise<SessionEventCompactResult | null>;
3207
+ listEventPage(workspaceId: string, sessionId: string, options?: SessionEventListOptions): Promise<SessionEventPage>;
3208
+ /**
3209
+ * Fetch the authoritative newest-sequence semantic result directly. This is
3210
+ * the callback-loss recovery path: it reads one compact durable result and
3211
+ * never creates a model turn. `latest: "receipt"` aliases `tool_receipt`;
3212
+ * turn generation remains scoped retry metadata.
3213
+ */
3214
+ getLatestEventResult(workspaceId: string, sessionId: string, options?: Omit<SessionEventCompactResultOptions, "resultMode">): Promise<SessionEventCompactResult | null>;
2492
3215
  /** POST a user/control event to the session. Returns the accepted event. */
2493
3216
  sendEvent(workspaceId: string, sessionId: string, event: ClientSessionEventInput): Promise<SessionEvent>;
2494
3217
  sendMessage(workspaceId: string, sessionId: string, message: string | SendMessageInput): Promise<SessionEvent>;
@@ -2503,6 +3226,13 @@ declare class OpenGeniClient {
2503
3226
  message?: string;
2504
3227
  clientEventId?: string;
2505
3228
  }): Promise<SessionEvent>;
3229
+ listHumanInputRequests(workspaceId: string, sessionId: string, options?: {
3230
+ status?: SessionHumanInputRequest["status"];
3231
+ }): Promise<SessionHumanInputRequest[]>;
3232
+ getHumanInputRequest(workspaceId: string, sessionId: string, requestId: string): Promise<SessionHumanInputRequest>;
3233
+ submitHumanInputResponse(workspaceId: string, sessionId: string, requestId: string, response: SubmitHumanInputResponseRequest, options?: {
3234
+ clientEventId?: string;
3235
+ }): Promise<SessionEvent>;
2506
3236
  /**
2507
3237
  * Live-stream a session's events with automatic reconnect, resume from the
2508
3238
  * last seen sequence, gap backfill, and duplicate suppression. See
@@ -2544,6 +3274,11 @@ declare class OpenGeniClient {
2544
3274
  after?: number;
2545
3275
  limit?: number;
2546
3276
  }): Promise<WorkspaceControlEvent[]>;
3277
+ /** Count/byte-bounded page plus an explicit continuation cursor. */
3278
+ listWorkspaceControlEventPage(workspaceId: string, options?: {
3279
+ after?: number;
3280
+ limit?: number;
3281
+ }): Promise<WorkspaceControlEventPage>;
2547
3282
  streamWorkspaceControlEvents(workspaceId: string, options?: StreamSessionEventsOptions): AsyncGenerator<WorkspaceControlEvent, void, void>;
2548
3283
  workspaceControlStreamTransport(workspaceId: string): WorkspaceControlStreamTransport;
2549
3284
  openWorkspaceControlEventStream(workspaceId: string, options?: {
@@ -2576,9 +3311,9 @@ declare class OpenGeniClient {
2576
3311
  /** Request one durable portable compaction at the next safe model boundary. */
2577
3312
  compactSessionContext(workspaceId: string, sessionId: string): Promise<CompactSessionContextResult>;
2578
3313
  /** FileSystem: list a directory tree (feeds the Pierre file tree). */
2579
- fsList(workspaceId: string, sessionId: string, request?: FsListRequest): Promise<FsListResponse>;
3314
+ fsList(workspaceId: string, sessionId: string, request?: FsListRequest, options?: OpenGeniRequestOptions): Promise<FsListResponse>;
2580
3315
  /** FileSystem: read a file (text or base64; binary-safe, size-capped). */
2581
- fsRead(workspaceId: string, sessionId: string, request: FsReadRequest): Promise<FsReadResponse>;
3316
+ fsRead(workspaceId: string, sessionId: string, request: FsReadRequest, options?: OpenGeniRequestOptions): Promise<FsReadResponse>;
2582
3317
  /** FileSystem: write a file (last-writer-wins; emits fs.changed). */
2583
3318
  fsWrite(workspaceId: string, sessionId: string, request: FsWriteRequest): Promise<FsWriteResponse>;
2584
3319
  /** FileSystem: delete a path (emits fs.changed). */
@@ -2588,9 +3323,9 @@ declare class OpenGeniClient {
2588
3323
  /** FileSystem: create a directory (emits fs.changed; recursive defaults to true). */
2589
3324
  fsMkdir(workspaceId: string, sessionId: string, request: FsMkdirRequest): Promise<FsMkdirResponse>;
2590
3325
  /** Git: working-tree/index status (the Pierre file-status feed). */
2591
- gitStatus(workspaceId: string, sessionId: string, request?: GitStatusRequest): Promise<GitStatusResponse>;
3326
+ gitStatus(workspaceId: string, sessionId: string, request?: GitStatusRequest, options?: OpenGeniRequestOptions): Promise<GitStatusResponse>;
2592
3327
  /** Git: structured diff hunks (the Pierre diff feed). */
2593
- gitDiff(workspaceId: string, sessionId: string, request?: GitDiffRequest): Promise<GitDiffResponse>;
3328
+ gitDiff(workspaceId: string, sessionId: string, request?: GitDiffRequest, options?: OpenGeniRequestOptions): Promise<GitDiffResponse>;
2594
3329
  /** Git: commit log. */
2595
3330
  gitLog(workspaceId: string, sessionId: string, request?: GitLogRequest): Promise<GitLogResponse>;
2596
3331
  /** Git: show a commit (diff vs first parent) or fetch a raw blob at a ref. */
@@ -2599,11 +3334,11 @@ declare class OpenGeniClient {
2599
3334
  * (tree + per-repo diff + file after-image refs), served from durable storage
2600
3335
  * WITHOUT warming a machine — the workbench cold-paint source. Returns
2601
3336
  * `{available:false}` when no capture exists yet (fall back to the live path). */
2602
- getWorkspaceCapture(workspaceId: string, sessionId: string): Promise<GetWorkspaceCaptureResponse>;
3337
+ getWorkspaceCapture(workspaceId: string, sessionId: string, options?: OpenGeniRequestOptions): Promise<GetWorkspaceCaptureResponse>;
2603
3338
  /** Workspace capture: a single file's after-image from the capture (revision
2604
3339
  * pins a specific one; omitted → latest). Content is inline for small files,
2605
3340
  * else a short-TTL signed URL; a tooLarge file returns metadata only. */
2606
- getWorkspaceCaptureFile(workspaceId: string, sessionId: string, path: string, revision?: number): Promise<GetWorkspaceCaptureFileResponse>;
3341
+ getWorkspaceCaptureFile(workspaceId: string, sessionId: string, path: string, revision?: number, options?: OpenGeniRequestOptions): Promise<GetWorkspaceCaptureFileResponse>;
2607
3342
  /** Terminal: run a bounded command, returning buffered stdout/stderr inline. */
2608
3343
  terminalExec(workspaceId: string, sessionId: string, request: TerminalExecRequest): Promise<TerminalExecResponse>;
2609
3344
  /** Terminal: open an interactive PTY. Output streams on the event SSE as
@@ -2621,7 +3356,7 @@ declare class OpenGeniClient {
2621
3356
  * liveness the client polls on while `cold`/`warming`. The desktop URL/token
2622
3357
  * are minted in-process only when the box is warm AND the principal has
2623
3358
  * acknowledged the un-redacted plane. */
2624
- getStreamCapabilities(workspaceId: string, sessionId: string): Promise<SessionCapabilities>;
3359
+ getStreamCapabilities(workspaceId: string, sessionId: string, options?: OpenGeniRequestOptions): Promise<SessionCapabilities>;
2625
3360
  /** Record the calling principal's acknowledgment of the un-redacted desktop
2626
3361
  * pixel plane (and, when the box is shared, the shared-exposure disclosure).
2627
3362
  * The desktop viewer-attach path returns 409 until this is recorded. */
@@ -2649,6 +3384,8 @@ declare class OpenGeniClient {
2649
3384
  * knowledge of the host setup; safe to call before any auth is established.
2650
3385
  */
2651
3386
  getClientConfig(): Promise<ClientConfig>;
3387
+ /** Authenticated model definitions plus workspace-specific selectability. */
3388
+ getWorkspaceModelCatalog(workspaceId: string): Promise<WorkspaceModelCatalogResponse>;
2652
3389
  /** The caller's access context: subject, account + workspace grants, defaults. */
2653
3390
  getAccessContext(): Promise<AccessContext>;
2654
3391
  listWorkspaces(): Promise<Workspace[]>;
@@ -2755,6 +3492,13 @@ declare class OpenGeniClient {
2755
3492
  */
2756
3493
  uploadFile(workspaceId: string, input: UploadFileInput): Promise<FileAsset>;
2757
3494
  getFile(workspaceId: string, fileId: string): Promise<FileAsset>;
3495
+ /** Read provider-neutral retained evidence metadata; never returns a storage location. */
3496
+ getRetainedArtifact(workspaceId: string, artifactId: string): Promise<RetainedArtifactMetadata>;
3497
+ /**
3498
+ * Read at most one authenticated retained-evidence range from the API. This
3499
+ * deliberately does not use the ordinary signed file-download URL.
3500
+ */
3501
+ getRetainedArtifactContent(workspaceId: string, artifactId: string, options?: RetainedArtifactContentOptions): Promise<RetainedArtifactContent>;
2758
3502
  /** Mint a short-lived signed download URL for a ready file. */
2759
3503
  createFileDownloadUrl(workspaceId: string, fileId: string): Promise<FileDownloadUrlResponse>;
2760
3504
  createDocumentBase(workspaceId: string, request: CreateDocumentBaseRequest): Promise<DocumentBase>;
@@ -2808,17 +3552,18 @@ declare class OpenGeniClient {
2808
3552
  startConnectionOAuth(workspaceId: string, request: OAuthStartRequest): Promise<OAuthStartResponse>;
2809
3553
  /** Public, immutably-cached URL for a catalog item's logo, or null when the item has none. */
2810
3554
  catalogAssetUrl(logoAssetPath: string | null): string | null;
2811
- /** GitHub App configuration status + a signed install URL when configured. */
3555
+ /** GitHub App configuration status; install/link URLs are null while new binding is disabled. */
2812
3556
  getGitHubApp(workspaceId: string): Promise<GitHubAppInfo>;
2813
3557
  /**
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.
3558
+ * Compatibility URL for previously issued state. New installation binding is
3559
+ * disabled, so the endpoint validates state and terminates with HTTP 410.
2817
3560
  */
2818
3561
  githubConnectUrl(workspaceId: string, state: string): string;
2819
3562
  listGitHubRepositories(workspaceId: string): Promise<GitHubRepositoriesResponse>;
2820
3563
  /** Re-sync the installation's repository list from GitHub. */
2821
3564
  syncGitHubRepositories(workspaceId: string): Promise<GitHubRepositoriesResponse>;
3565
+ /** Remove one workspace binding without uninstalling the GitHub App itself. */
3566
+ unlinkGitHubInstallation(workspaceId: string, installationId: number): Promise<void>;
2822
3567
  /** Build a GitHub App manifest + the GitHub URL to submit it to. */
2823
3568
  createGitHubAppManifest(workspaceId: string, request?: CreateGitHubAppManifestRequest): Promise<CreateGitHubAppManifestResponse>;
2824
3569
  listApiKeys(workspaceId: string): Promise<ApiKey[]>;
@@ -2854,6 +3599,8 @@ declare class OpenGeniClient {
2854
3599
  refreshCodexUsage(workspaceId: string): Promise<{
2855
3600
  usage: CodexUsageMap;
2856
3601
  }>;
3602
+ /** Live independently-settled quota + reset-credit overview for every account. */
3603
+ codexOverview(workspaceId: string): Promise<CodexOverviewResponse>;
2857
3604
  /** Disconnect ALL accounts (legacy workspace-wide). Prefer `disconnectCodexAccount`. */
2858
3605
  codexDisconnect(workspaceId: string): Promise<{
2859
3606
  disconnected: boolean;
@@ -2870,6 +3617,11 @@ declare class OpenGeniClient {
2870
3617
  rotationEnabled?: boolean;
2871
3618
  rotationStrategy?: CodexRotationSettings["rotationStrategy"];
2872
3619
  }): Promise<CodexRotationSettings>;
3620
+ /** Toggle only NEW automatic allocations under independent allocator OCC. */
3621
+ setCodexAccountAllocator(workspaceId: string, accountId: string, input: {
3622
+ enabled: boolean;
3623
+ expectedVersion: number;
3624
+ }): Promise<CodexAllocatorUpdate>;
2873
3625
  /** Disconnect ONE Codex account by id (re-picks active when the removed one was active). */
2874
3626
  disconnectCodexAccount(workspaceId: string, accountId: string): Promise<{
2875
3627
  disconnected: boolean;
@@ -3107,4 +3859,4 @@ declare function ttydInputFrame(data: string): string;
3107
3859
  /** Build a client→server RESIZE frame: "1" + JSON.stringify({ columns, rows }). */
3108
3860
  declare function ttydResizeFrame(columns: number, rows: number): string;
3109
3861
 
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 };
3862
+ 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 CodexAccountOverview, type CodexAccountSwitchedPayload, type CodexAccountsResponse, type CodexAllocatorUpdate, type CodexConnectPoll, type CodexConnectStart, type CodexConnectionStatus, type CodexOverviewResponse, type CodexResetCredit, type CodexResetRedemptionRecovery, 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 ModelAvailabilityV1, type ModelBillingAttributionV1, type ModelCapabilitiesV1, type ModelCapabilityStateV1, type ModelCapabilitySupportV1, type ModelCredentialReadinessV1, type ModelCredentialSourceV1, type ModelPricingScheduleV1, type ModelPricingV1, 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, RETAINED_OUTPUT_DEFAULT_PAGE_BYTES, RETAINED_OUTPUT_MAX_PAGE_BYTES, 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 RetainedArtifactContent, type RetainedArtifactContentOptions, type RetainedArtifactMetadata, type RetainedArtifactReference, type RetainedArtifactUnavailable, type RetainedOutputKind, type RetainedOutputUnavailableReason, 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 SessionEffectiveToolPolicy, type SessionEvent, type SessionEventCompactResult, type SessionEventCompactResultOptions, type SessionEventLatestClass, type SessionEventListOptions, type SessionEventPage, type SessionEventPayloadMode, type SessionEventReadDirection, type SessionEventReadMode, type SessionEventResultMode, type SessionEventSemanticClass, type SessionEventStreamTransport, type SessionEventType, type SessionGoal, type SessionGoalCreatedBy, type SessionGoalStatus, type SessionHumanInputRequest, type SessionLineageResponse, type SessionListResponse, type SessionMcpApprovalPolicy, 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 SessionToolPolicy, 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 UpdateSessionMcpApprovalPolicyRequest, type UpdateSessionMcpApprovalPolicyResponse, 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 WorkspaceModelCatalogModel, type WorkspaceModelCatalogResponse, 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 };