@opengeni/sdk 0.57.0 → 2.2.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -2
- package/dist/artifacts.js +5 -5
- package/dist/automations-client.d.ts +17 -0
- package/dist/automations.d.ts +3 -0
- package/dist/automations.js +78 -0
- package/dist/automations.js.map +1 -0
- package/dist/{chunk-JDLDDRNE.js → chunk-C2H7HBNP.js} +290 -33
- package/dist/chunk-C2H7HBNP.js.map +1 -0
- package/dist/{chunk-GU6JF75T.js → chunk-C4DJPZRU.js} +1 -1
- package/dist/{chunk-GU6JF75T.js.map → chunk-C4DJPZRU.js.map} +1 -1
- package/dist/{chunk-JRPFWI6T.js → chunk-G6LBVWKT.js} +2 -2
- package/dist/{chunk-HJ3HHUT5.js → chunk-GLDV5QY7.js} +16 -2
- package/dist/chunk-GLDV5QY7.js.map +1 -0
- package/dist/{chunk-ST5DDKJP.js → chunk-GW3EJ2GP.js} +52 -1
- package/dist/chunk-GW3EJ2GP.js.map +1 -0
- package/dist/{chunk-VWE2QIVO.js → chunk-XNG7YGR3.js} +23 -6
- package/dist/chunk-XNG7YGR3.js.map +1 -0
- package/dist/{chunk-PKQ377ED.js → chunk-YBQTKNTL.js} +696 -57
- package/dist/chunk-YBQTKNTL.js.map +1 -0
- package/dist/client.d.ts +151 -26
- package/dist/codex-realtime-controller.d.ts +3 -0
- package/dist/codex-realtime-controller.js +2 -2
- package/dist/codex-realtime-v3.d.ts +13 -2
- package/dist/company-brain.d.ts +32 -0
- package/dist/company-profile.d.ts +1 -1
- package/dist/core.js +4 -4
- package/dist/editable-artifacts/browser-session.d.ts +7 -3
- package/dist/editable-artifacts/controller.d.ts +4 -1
- package/dist/editable-artifacts/errors.d.ts +1 -1
- package/dist/editable-artifacts/http-live-transport.d.ts +6 -2
- package/dist/editable-artifacts/index.d.ts +2 -0
- package/dist/editable-artifacts/open-failure.d.ts +9 -0
- package/dist/editable-artifacts/types.d.ts +4 -3
- package/dist/editable-artifacts/worker/kernel-adapter.d.ts +1 -1
- package/dist/editable-artifacts-worker.js +44 -17
- package/dist/editable-artifacts-worker.js.map +1 -1
- package/dist/editable-artifacts.js +222 -119
- package/dist/editable-artifacts.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +61 -12
- package/dist/index.js.map +1 -1
- package/dist/interaction.d.ts +23 -0
- package/dist/interaction.js +4 -1
- package/dist/organization-private-session-settings.d.ts +6 -0
- package/dist/organization-private-session-settings.js +22 -0
- package/dist/organization-private-session-settings.js.map +1 -0
- package/dist/pr-review-client.d.ts +15 -0
- package/dist/pr-review.d.ts +4 -0
- package/dist/pr-review.js +56 -0
- package/dist/pr-review.js.map +1 -0
- package/dist/preference-registry.d.ts +8 -0
- package/dist/realtime.js +2 -2
- package/dist/retained-artifacts.d.ts +5 -1
- package/dist/types.d.ts +976 -17
- package/dist/workspace-instruction-policies.d.ts +22 -0
- package/dist/workspace-learning.d.ts +124 -0
- package/package.json +14 -2
- package/src/automations-client.ts +118 -0
- package/src/automations.ts +15 -0
- package/src/client.ts +974 -71
- package/src/codex-realtime-controller.ts +235 -5
- package/src/codex-realtime-v3.ts +162 -31
- package/src/company-brain.ts +99 -0
- package/src/company-profile.ts +4 -1
- package/src/editable-artifacts/browser-session.ts +36 -22
- package/src/editable-artifacts/controller.ts +66 -45
- package/src/editable-artifacts/errors.ts +2 -0
- package/src/editable-artifacts/http-live-transport.ts +62 -37
- package/src/editable-artifacts/index.ts +6 -0
- package/src/editable-artifacts/open-failure.ts +79 -0
- package/src/editable-artifacts/storage.ts +31 -40
- package/src/editable-artifacts/types.ts +4 -3
- package/src/editable-artifacts/worker/kernel-adapter.ts +23 -7
- package/src/editable-artifacts/worker/runtime.ts +26 -13
- package/src/editable-artifacts/worker/wire-codec.ts +23 -5
- package/src/errors.ts +1 -1
- package/src/index.ts +131 -0
- package/src/interaction.ts +95 -0
- package/src/organization-private-session-settings.ts +33 -0
- package/src/pr-review-client.ts +84 -0
- package/src/pr-review.ts +15 -0
- package/src/preference-registry.ts +9 -0
- package/src/retained-artifacts.ts +101 -0
- package/src/stream.ts +13 -2
- package/src/types.ts +1117 -16
- package/src/workspace-instruction-policies.ts +24 -0
- package/src/workspace-learning.ts +138 -0
- package/dist/chunk-HJ3HHUT5.js.map +0 -1
- package/dist/chunk-JDLDDRNE.js.map +0 -1
- package/dist/chunk-PKQ377ED.js.map +0 -1
- package/dist/chunk-ST5DDKJP.js.map +0 -1
- package/dist/chunk-VWE2QIVO.js.map +0 -1
- /package/dist/{chunk-JRPFWI6T.js.map → chunk-G6LBVWKT.js.map} +0 -0
package/src/types.ts
CHANGED
|
@@ -125,6 +125,8 @@ export type SessionRealtimeInboundEntry = {
|
|
|
125
125
|
delegationItemId?: string | null | undefined;
|
|
126
126
|
text?: string | null | undefined;
|
|
127
127
|
payload?: Record<string, unknown> | undefined;
|
|
128
|
+
/** Model-visible application context attached to this exact realtime message. */
|
|
129
|
+
modelContext?: string | undefined;
|
|
128
130
|
};
|
|
129
131
|
|
|
130
132
|
export type SyncSessionRealtimeLedgerRequest = {
|
|
@@ -170,7 +172,11 @@ export type WorkspaceRealtimeModelCatalogResponse = {
|
|
|
170
172
|
models: WorkspaceRealtimeModelCatalogItem[];
|
|
171
173
|
};
|
|
172
174
|
export type SessionRealtimeState = "active" | "ended";
|
|
173
|
-
export type SessionRealtimeEndReason =
|
|
175
|
+
export type SessionRealtimeEndReason =
|
|
176
|
+
| "user_stop"
|
|
177
|
+
| "browser_unload"
|
|
178
|
+
| "lease_expired"
|
|
179
|
+
| "authority_revoked";
|
|
174
180
|
|
|
175
181
|
export type SessionRealtimeMode = {
|
|
176
182
|
id: string;
|
|
@@ -220,7 +226,7 @@ export type SessionStatus =
|
|
|
220
226
|
| "failed"
|
|
221
227
|
| "cancelled";
|
|
222
228
|
|
|
223
|
-
// Mirror of `@opengeni/contracts` SandboxBackend (
|
|
229
|
+
// Mirror of `@opengeni/contracts` SandboxBackend (12 values; every member is
|
|
224
230
|
// additive at the end). 3-way enum parity is pinned by
|
|
225
231
|
// `test/contract-parity.test.ts`.
|
|
226
232
|
export type SandboxBackend =
|
|
@@ -234,7 +240,8 @@ export type SandboxBackend =
|
|
|
234
240
|
| "blaxel"
|
|
235
241
|
| "cloudflare"
|
|
236
242
|
| "vercel"
|
|
237
|
-
| "selfhosted"
|
|
243
|
+
| "selfhosted"
|
|
244
|
+
| "opensandbox";
|
|
238
245
|
|
|
239
246
|
// Mirror of `@opengeni/contracts` SandboxOs. Only "linux" is reachable in v1.
|
|
240
247
|
export type SandboxOs = "linux" | "macos" | "windows";
|
|
@@ -447,6 +454,8 @@ export type RepositoryResourceRef = {
|
|
|
447
454
|
kind: "repository";
|
|
448
455
|
uri: string;
|
|
449
456
|
ref: string;
|
|
457
|
+
/** Exact immutable commit that repository materialization must produce. */
|
|
458
|
+
expectedCommitSha?: string | undefined;
|
|
450
459
|
/**
|
|
451
460
|
* Optional workspace-relative override. When omitted, OpenGeni persists
|
|
452
461
|
* `repos/<encoded-host>/<owner>/<repo>` so equal names on different Git
|
|
@@ -456,6 +465,7 @@ export type RepositoryResourceRef = {
|
|
|
456
465
|
mountPath?: string | undefined;
|
|
457
466
|
subpath?: string | undefined;
|
|
458
467
|
provider?: GitCredentialProvider | undefined;
|
|
468
|
+
connectionType?: "github_personal" | undefined;
|
|
459
469
|
credentialBindingId?: GitCredentialBindingId | undefined;
|
|
460
470
|
access?: GitRepositoryAccess | undefined;
|
|
461
471
|
repositoryId?: number | string | undefined;
|
|
@@ -482,6 +492,7 @@ export type ToolRef = {
|
|
|
482
492
|
kind: "mcp";
|
|
483
493
|
id: string;
|
|
484
494
|
optional?: boolean | undefined;
|
|
495
|
+
eager?: boolean | undefined;
|
|
485
496
|
};
|
|
486
497
|
|
|
487
498
|
export type SessionToolPolicy = {
|
|
@@ -527,6 +538,7 @@ export type SessionEffectiveToolPolicy = {
|
|
|
527
538
|
export type GoalSpec = {
|
|
528
539
|
text: string;
|
|
529
540
|
successCriteria?: string | undefined;
|
|
541
|
+
rootConstraints?: string[] | undefined;
|
|
530
542
|
maxAutoContinuations?: number | undefined;
|
|
531
543
|
mutationPolicy?: SessionGoalMutationPolicy | undefined;
|
|
532
544
|
};
|
|
@@ -573,6 +585,27 @@ export type UpdateSessionMcpApprovalPolicyResponse = {
|
|
|
573
585
|
export type ConnectionKind = "oauth2" | "api_key" | "app_install" | "delegated";
|
|
574
586
|
export type ConnectionStatus = "active" | "needs_reauth" | "revoked" | "error";
|
|
575
587
|
|
|
588
|
+
export type UserResourceDelegation = {
|
|
589
|
+
authorityId: string;
|
|
590
|
+
grantId: string;
|
|
591
|
+
organizationId: string;
|
|
592
|
+
workspaceId: string;
|
|
593
|
+
sessionId: string | null;
|
|
594
|
+
action: string;
|
|
595
|
+
mode: "once" | "session" | "always";
|
|
596
|
+
context: "user_private" | "workspace_shared";
|
|
597
|
+
authorityEpoch: number | null;
|
|
598
|
+
authorityGeneration: number;
|
|
599
|
+
grantGeneration: number;
|
|
600
|
+
resourceVersionId?: string | null | undefined;
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
export type McpConnectionAuthoritySelection = {
|
|
604
|
+
serverId: string;
|
|
605
|
+
connectionId: string;
|
|
606
|
+
userDelegation: UserResourceDelegation;
|
|
607
|
+
};
|
|
608
|
+
|
|
576
609
|
export type McpServerConnectionRef = {
|
|
577
610
|
connectionId?: string | undefined;
|
|
578
611
|
provider?: string | undefined;
|
|
@@ -637,6 +670,114 @@ export type CreateConnectionRequest = {
|
|
|
637
670
|
metadata?: Record<string, unknown> | undefined;
|
|
638
671
|
};
|
|
639
672
|
|
|
673
|
+
export type PersonalGitHubConnectionMetadata = {
|
|
674
|
+
credentialRole: "opengeni_github_personal";
|
|
675
|
+
providerFamily: "github";
|
|
676
|
+
providerPrincipalId: string;
|
|
677
|
+
githubUserId: string;
|
|
678
|
+
githubLogin: string;
|
|
679
|
+
oauthEnvironment: string;
|
|
680
|
+
oauthClientMarker: string;
|
|
681
|
+
credentialBindingId: string;
|
|
682
|
+
connectedAt: string;
|
|
683
|
+
lastVerifiedAt: string;
|
|
684
|
+
refreshTokenExpiresAt?: string | null | undefined;
|
|
685
|
+
disconnectedAt?: string | null | undefined;
|
|
686
|
+
[key: string]: unknown;
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
export type PersonalGitHubOAuthStartRequest = {
|
|
690
|
+
connectionId?: string | undefined;
|
|
691
|
+
returnPath?: string | undefined;
|
|
692
|
+
};
|
|
693
|
+
|
|
694
|
+
export type PersonalGitHubOAuthStartResponse = {
|
|
695
|
+
authorizationUrl: string;
|
|
696
|
+
expiresAt: string;
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
export type PersonalGitHubConnectionStatusResponse = {
|
|
700
|
+
enabled: boolean;
|
|
701
|
+
connection: ConnectionMetadata | null;
|
|
702
|
+
reviewUrl: string | null;
|
|
703
|
+
};
|
|
704
|
+
|
|
705
|
+
export type PersonalGitHubDisconnectRequest = {
|
|
706
|
+
expectedVersion: number;
|
|
707
|
+
idempotencyKey: string;
|
|
708
|
+
};
|
|
709
|
+
|
|
710
|
+
export type PersonalGitHubRepositoryAccess = "read" | "write";
|
|
711
|
+
|
|
712
|
+
export type PersonalGitHubRepositoryPermissions = {
|
|
713
|
+
pull: boolean;
|
|
714
|
+
push: boolean;
|
|
715
|
+
admin: boolean;
|
|
716
|
+
maintain: boolean;
|
|
717
|
+
triage: boolean;
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
export type PersonalGitHubRepository = {
|
|
721
|
+
repositoryId: string;
|
|
722
|
+
fullName: string;
|
|
723
|
+
canonicalUrl: string;
|
|
724
|
+
defaultBranch: string;
|
|
725
|
+
visibility: "public" | "private" | "internal";
|
|
726
|
+
private: boolean;
|
|
727
|
+
archived: boolean;
|
|
728
|
+
disabled: boolean;
|
|
729
|
+
permissions: PersonalGitHubRepositoryPermissions;
|
|
730
|
+
};
|
|
731
|
+
|
|
732
|
+
export type PersonalGitHubSelectedRepository = PersonalGitHubRepository & {
|
|
733
|
+
selectedAccess: PersonalGitHubRepositoryAccess;
|
|
734
|
+
selectionGeneration: number;
|
|
735
|
+
selectedAt: string;
|
|
736
|
+
lastVerifiedAt: string;
|
|
737
|
+
};
|
|
738
|
+
|
|
739
|
+
export type PersonalGitHubRepositorySelectionState = {
|
|
740
|
+
connectionAuthorityGeneration: number;
|
|
741
|
+
credentialBindingId: string;
|
|
742
|
+
providerPrincipalId: string;
|
|
743
|
+
selectionGeneration: number;
|
|
744
|
+
repositories: PersonalGitHubSelectedRepository[];
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
export type PersonalGitHubRepositoryCatalogItem = PersonalGitHubRepository & {
|
|
748
|
+
selectedAccess: PersonalGitHubRepositoryAccess | null;
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
export type ListPersonalGitHubRepositoriesOptions = {
|
|
752
|
+
cursor?: number | undefined;
|
|
753
|
+
limit?: number | undefined;
|
|
754
|
+
};
|
|
755
|
+
|
|
756
|
+
export type ListPersonalGitHubRepositoriesResponse = {
|
|
757
|
+
repositories: PersonalGitHubRepositoryCatalogItem[];
|
|
758
|
+
nextCursor: number | null;
|
|
759
|
+
selection: PersonalGitHubRepositorySelectionState;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
export type PersonalGitHubRepositorySelectionInput = {
|
|
763
|
+
repositoryId: string;
|
|
764
|
+
fullName: string;
|
|
765
|
+
access: PersonalGitHubRepositoryAccess;
|
|
766
|
+
};
|
|
767
|
+
|
|
768
|
+
export type ReplacePersonalGitHubRepositorySelectionsRequest = {
|
|
769
|
+
expectedConnectionAuthorityGeneration: number;
|
|
770
|
+
expectedSelectionGeneration: number;
|
|
771
|
+
idempotencyKey: string;
|
|
772
|
+
repositories: PersonalGitHubRepositorySelectionInput[];
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
export type VerifyPersonalGitHubRepositorySelectionsRequest = {
|
|
776
|
+
expectedConnectionAuthorityGeneration: number;
|
|
777
|
+
expectedSelectionGeneration: number;
|
|
778
|
+
idempotencyKey: string;
|
|
779
|
+
};
|
|
780
|
+
|
|
640
781
|
export type OpenGeniSlackBotInstallRequest = {
|
|
641
782
|
/** Existing OpenGeni Slack bot connection to reinstall in place. */
|
|
642
783
|
connectionId?: string | undefined;
|
|
@@ -679,7 +820,7 @@ export type SlackInstallationBinding = {
|
|
|
679
820
|
slackTeamName: string;
|
|
680
821
|
botId: string;
|
|
681
822
|
botUserId: string;
|
|
682
|
-
botDisplayName: "OpenGeni";
|
|
823
|
+
botDisplayName: "OpenGeni" | "OpenGeni Staging";
|
|
683
824
|
state: SlackInstallationBindingState;
|
|
684
825
|
quarantineReason: string | null;
|
|
685
826
|
version: number;
|
|
@@ -743,8 +884,9 @@ export type GoogleDriveConnectionMetadata = {
|
|
|
743
884
|
googleEmail: string;
|
|
744
885
|
googleDisplayName: string | null;
|
|
745
886
|
verifiedAt: string;
|
|
746
|
-
accessMode: "metadata_readonly" | "readonly";
|
|
887
|
+
accessMode: "file_only" | "metadata_readonly" | "readonly";
|
|
747
888
|
lifecycle?: GoogleDriveConnectionLifecycle | undefined;
|
|
889
|
+
outputDestination?: GoogleDriveOutputDestination | undefined;
|
|
748
890
|
documentDestination?: ConnectorDocumentDestination | undefined;
|
|
749
891
|
selectedSources?: GoogleDriveSelectedSource[] | undefined;
|
|
750
892
|
/** @deprecated Read selectedSources; retained while existing connections migrate. */
|
|
@@ -752,8 +894,17 @@ export type GoogleDriveConnectionMetadata = {
|
|
|
752
894
|
[key: string]: unknown;
|
|
753
895
|
};
|
|
754
896
|
|
|
897
|
+
export type GoogleDriveOutputDestination = {
|
|
898
|
+
folderId: string;
|
|
899
|
+
folderName: string;
|
|
900
|
+
driveId: string | null;
|
|
901
|
+
location: "my_drive" | "shared_drive";
|
|
902
|
+
selectedAt: string;
|
|
903
|
+
};
|
|
904
|
+
|
|
755
905
|
export type GoogleDriveOAuthStartRequest = {
|
|
756
906
|
connectionId?: string | undefined;
|
|
907
|
+
capability?: "source_read" | "publish" | undefined;
|
|
757
908
|
};
|
|
758
909
|
|
|
759
910
|
export type GoogleDriveOAuthStartResponse = {
|
|
@@ -1015,11 +1166,95 @@ export type IntegrationClientMetadata = {
|
|
|
1015
1166
|
response_types: ["code"];
|
|
1016
1167
|
};
|
|
1017
1168
|
|
|
1169
|
+
export type SessionVisibility = "private" | "workspace";
|
|
1170
|
+
|
|
1171
|
+
export type SessionTenancyCreateCapabilities = {
|
|
1172
|
+
activated: boolean;
|
|
1173
|
+
canCreatePrivate: boolean;
|
|
1174
|
+
reason: "available" | "not_activated" | "managed_session_required" | "unavailable";
|
|
1175
|
+
};
|
|
1176
|
+
|
|
1177
|
+
export type SessionTenancyPublicProjection = {
|
|
1178
|
+
visibility: SessionVisibility;
|
|
1179
|
+
authorityEpoch: number;
|
|
1180
|
+
ownedByCurrentUser: boolean;
|
|
1181
|
+
fork: {
|
|
1182
|
+
sourceVisibility: SessionVisibility;
|
|
1183
|
+
sourceAuthorityEpoch: number;
|
|
1184
|
+
forkedAt: string;
|
|
1185
|
+
} | null;
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1188
|
+
export type UpdateSessionVisibilityRequest = {
|
|
1189
|
+
visibility: SessionVisibility;
|
|
1190
|
+
expectedAuthorityEpoch: number;
|
|
1191
|
+
idempotencyKey: string;
|
|
1192
|
+
};
|
|
1193
|
+
|
|
1194
|
+
export type UpdateSessionVisibilityResponse = {
|
|
1195
|
+
operationId: string;
|
|
1196
|
+
eventId: string | null;
|
|
1197
|
+
eventSequence: number | null;
|
|
1198
|
+
visibility: SessionVisibility;
|
|
1199
|
+
authorityEpoch: number;
|
|
1200
|
+
changed: boolean;
|
|
1201
|
+
replay: boolean;
|
|
1202
|
+
revokedGrantCount: number;
|
|
1203
|
+
};
|
|
1204
|
+
|
|
1205
|
+
export type ForkSessionRequest = {
|
|
1206
|
+
idempotencyKey: string;
|
|
1207
|
+
visibility: SessionVisibility;
|
|
1208
|
+
workspaceSharedAcknowledged: boolean;
|
|
1209
|
+
};
|
|
1210
|
+
|
|
1211
|
+
export type ForkSessionResponse = {
|
|
1212
|
+
operationId: string;
|
|
1213
|
+
eventId: string;
|
|
1214
|
+
eventSequence: number;
|
|
1215
|
+
sessionId: string;
|
|
1216
|
+
workspaceId: string;
|
|
1217
|
+
visibility: SessionVisibility;
|
|
1218
|
+
authorityEpoch: 1;
|
|
1219
|
+
copiedHistoryItemCount: number;
|
|
1220
|
+
replay: boolean;
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
export type SessionBackgroundCommandActivity = {
|
|
1224
|
+
state: "running" | "stopping";
|
|
1225
|
+
count: number;
|
|
1226
|
+
};
|
|
1227
|
+
|
|
1228
|
+
export type SessionBackgroundCommand = {
|
|
1229
|
+
id: string;
|
|
1230
|
+
workspaceId: string;
|
|
1231
|
+
sessionId: string;
|
|
1232
|
+
provider: "managed" | "connected_machine";
|
|
1233
|
+
state: "running" | "stopping" | "exited" | "lost";
|
|
1234
|
+
commandPreview: string;
|
|
1235
|
+
cancelRequestedAt: string | null;
|
|
1236
|
+
exitCode: number | null;
|
|
1237
|
+
settlementReason: string | null;
|
|
1238
|
+
startedAt: string;
|
|
1239
|
+
settledAt: string | null;
|
|
1240
|
+
updatedAt: string;
|
|
1241
|
+
};
|
|
1242
|
+
|
|
1243
|
+
export type SessionBackgroundCommandListResponse = {
|
|
1244
|
+
commands: SessionBackgroundCommand[];
|
|
1245
|
+
};
|
|
1246
|
+
|
|
1247
|
+
export type CancelSessionBackgroundCommandResult = {
|
|
1248
|
+
command: SessionBackgroundCommand;
|
|
1249
|
+
accepted: boolean;
|
|
1250
|
+
};
|
|
1251
|
+
|
|
1018
1252
|
export type Session = {
|
|
1019
1253
|
id: string;
|
|
1020
1254
|
workspaceId: string;
|
|
1021
1255
|
accountId: string;
|
|
1022
1256
|
status: SessionStatus;
|
|
1257
|
+
backgroundCommandActivity?: SessionBackgroundCommandActivity | undefined;
|
|
1023
1258
|
initialMessage: string;
|
|
1024
1259
|
title: string | null;
|
|
1025
1260
|
titleSource: "user" | "agent" | null;
|
|
@@ -1035,10 +1270,14 @@ export type Session = {
|
|
|
1035
1270
|
toolPolicyVersion: number;
|
|
1036
1271
|
effectiveToolPolicy?: SessionEffectiveToolPolicy | undefined;
|
|
1037
1272
|
metadata: Record<string, unknown>;
|
|
1273
|
+
/** Present only when session-tenancy product activation is enabled for the organization. */
|
|
1274
|
+
tenancy?: SessionTenancyPublicProjection | undefined;
|
|
1038
1275
|
/** Frozen creator fact; later turns carry their own independent initiator. */
|
|
1039
1276
|
createdBy: TurnInitiator;
|
|
1040
1277
|
createdByContext: Record<string, unknown>;
|
|
1041
1278
|
model: string;
|
|
1279
|
+
reasoningEffort: ReasoningEffort;
|
|
1280
|
+
latencyMode: LatencyMode;
|
|
1042
1281
|
sandboxBackend: SandboxBackend;
|
|
1043
1282
|
sandboxOs: SandboxOs;
|
|
1044
1283
|
sandboxGroupId: string;
|
|
@@ -1089,6 +1328,17 @@ export type Session = {
|
|
|
1089
1328
|
pinnedAt?: string | null;
|
|
1090
1329
|
/** Optimistic pin-state revision; zero represents an absent pin relation. */
|
|
1091
1330
|
pinVersion?: number;
|
|
1331
|
+
/** Personal explicit acknowledgment state. */
|
|
1332
|
+
unread?: boolean;
|
|
1333
|
+
/** Personal actively-working label. */
|
|
1334
|
+
activelyWorking?: boolean;
|
|
1335
|
+
/** Optimistic unread/actively-working revision. */
|
|
1336
|
+
attentionVersion?: number;
|
|
1337
|
+
/** Personal archive state. */
|
|
1338
|
+
archived?: boolean;
|
|
1339
|
+
archivedAt?: string | null;
|
|
1340
|
+
/** Optimistic archive-state revision. */
|
|
1341
|
+
archiveVersion?: number;
|
|
1092
1342
|
/** Server-authoritative descendant counts populated by session-list reads. */
|
|
1093
1343
|
treeStats?:
|
|
1094
1344
|
| {
|
|
@@ -1099,10 +1349,22 @@ export type Session = {
|
|
|
1099
1349
|
attentionDescendants: number;
|
|
1100
1350
|
pausedDescendants: number;
|
|
1101
1351
|
failedDescendants: number;
|
|
1352
|
+
unreadDescendants?: number | undefined;
|
|
1353
|
+
activelyWorkingDescendants?: number | undefined;
|
|
1354
|
+
/**
|
|
1355
|
+
* Earliest moment one of the counted `attentionDescendants` entered
|
|
1356
|
+
* `requires_action`; null when none is waiting, absent on older servers.
|
|
1357
|
+
*/
|
|
1358
|
+
attentionSince?: string | null | undefined;
|
|
1102
1359
|
/** Counts are lower bounds rather than exact totals when true. */
|
|
1103
1360
|
truncated: boolean;
|
|
1104
1361
|
}
|
|
1105
1362
|
| undefined;
|
|
1363
|
+
/**
|
|
1364
|
+
* When this session's own open turn entered `requires_action`. Populated by
|
|
1365
|
+
* list and lineage reads for `requires_action` sessions; null otherwise.
|
|
1366
|
+
*/
|
|
1367
|
+
requiresActionSince?: string | null | undefined;
|
|
1106
1368
|
createdAt: string;
|
|
1107
1369
|
updatedAt: string;
|
|
1108
1370
|
};
|
|
@@ -1173,6 +1435,18 @@ export type UpdateSessionPinRequest = {
|
|
|
1173
1435
|
expectedVersion?: number;
|
|
1174
1436
|
};
|
|
1175
1437
|
|
|
1438
|
+
export type UpdateSessionAttentionRequest = {
|
|
1439
|
+
unread?: boolean;
|
|
1440
|
+
acknowledgedThroughSequence?: number;
|
|
1441
|
+
activelyWorking?: boolean;
|
|
1442
|
+
expectedVersion?: number;
|
|
1443
|
+
};
|
|
1444
|
+
|
|
1445
|
+
export type UpdateSessionArchiveRequest = {
|
|
1446
|
+
archived: boolean;
|
|
1447
|
+
expectedVersion?: number;
|
|
1448
|
+
};
|
|
1449
|
+
|
|
1176
1450
|
export type LineageNode = {
|
|
1177
1451
|
session: SessionSummary;
|
|
1178
1452
|
children: LineageNode[];
|
|
@@ -1237,6 +1511,25 @@ export type TimelineAnnotation = DraftTimelineAnnotation & {
|
|
|
1237
1511
|
ordinal: number;
|
|
1238
1512
|
};
|
|
1239
1513
|
|
|
1514
|
+
export const PERSONAL_RESOURCE_SHARED_OUTPUT_WARNING_VERSION = 1 as const;
|
|
1515
|
+
export const PERSONAL_RESOURCE_SHARED_OUTPUT_WARNING =
|
|
1516
|
+
"Personal resources used in a workspace-shared session may influence outputs visible to other workspace members. The underlying credentials and secret values are not shared by the attachment itself.";
|
|
1517
|
+
|
|
1518
|
+
export type PersonalResourceAttachmentIntent = {
|
|
1519
|
+
mode: "once" | "session" | "always";
|
|
1520
|
+
expectedAuthorityEpoch?: number | undefined;
|
|
1521
|
+
workspaceSharedAcknowledged?: boolean | undefined;
|
|
1522
|
+
sharedOutputWarningVersion: 1;
|
|
1523
|
+
};
|
|
1524
|
+
|
|
1525
|
+
export type PersonalResourceAttachmentSummary = {
|
|
1526
|
+
mode: "once" | "session" | "always";
|
|
1527
|
+
context: "user_private" | "workspace_shared";
|
|
1528
|
+
resourceCount: number;
|
|
1529
|
+
resourceKinds: Array<"variable_set" | "rig" | "connected_machine">;
|
|
1530
|
+
sharedOutputWarningVersion: 1;
|
|
1531
|
+
};
|
|
1532
|
+
|
|
1240
1533
|
export type SessionTurn = {
|
|
1241
1534
|
id: string;
|
|
1242
1535
|
workspaceId: string;
|
|
@@ -1264,6 +1557,7 @@ export type SessionTurn = {
|
|
|
1264
1557
|
initiator: TurnInitiator;
|
|
1265
1558
|
initiatorContext: Record<string, unknown>;
|
|
1266
1559
|
personalConnections?: McpPersonalConnectionSummary[] | undefined;
|
|
1560
|
+
personalResources?: PersonalResourceAttachmentSummary | null | undefined;
|
|
1267
1561
|
cancelledBy?: string | null;
|
|
1268
1562
|
cancelReason?: string | null;
|
|
1269
1563
|
startedAt: string | null;
|
|
@@ -1357,6 +1651,9 @@ export const SESSION_EVENT_TYPES = [
|
|
|
1357
1651
|
"turn.superseded",
|
|
1358
1652
|
"turn.recovery.requested",
|
|
1359
1653
|
"turn.capacity_waiting",
|
|
1654
|
+
"turn.startup.phase.started",
|
|
1655
|
+
"turn.startup.phase.completed",
|
|
1656
|
+
"turn.startup.phase.failed",
|
|
1360
1657
|
"agent.message.delta",
|
|
1361
1658
|
"agent.message.completed",
|
|
1362
1659
|
"agent.reasoning.delta",
|
|
@@ -1374,6 +1671,8 @@ export const SESSION_EVENT_TYPES = [
|
|
|
1374
1671
|
"sandbox.operation.started",
|
|
1375
1672
|
"sandbox.operation.completed",
|
|
1376
1673
|
"sandbox.operation.failed",
|
|
1674
|
+
"session.command.backgrounded",
|
|
1675
|
+
"session.command.finished",
|
|
1377
1676
|
"sandbox.command.output.delta",
|
|
1378
1677
|
"artifact.created",
|
|
1379
1678
|
"goal.set",
|
|
@@ -1385,6 +1684,7 @@ export const SESSION_EVENT_TYPES = [
|
|
|
1385
1684
|
"goal.paused",
|
|
1386
1685
|
"goal.resumed",
|
|
1387
1686
|
"goal.cleared",
|
|
1687
|
+
"goal.held",
|
|
1388
1688
|
"goal.continuation",
|
|
1389
1689
|
"system.update.pending",
|
|
1390
1690
|
"system.update.delivered",
|
|
@@ -1421,6 +1721,7 @@ export const SESSION_EVENT_TYPES = [
|
|
|
1421
1721
|
"terminal.pty.exited",
|
|
1422
1722
|
"session.title_set",
|
|
1423
1723
|
"session.visibility.changed",
|
|
1724
|
+
"session.personal_resources.attached",
|
|
1424
1725
|
"session.mcp.approval_policy.updated",
|
|
1425
1726
|
"session.tool_policy.updated",
|
|
1426
1727
|
// Multi-account Codex (P1): the session's inference account changed.
|
|
@@ -1861,6 +2162,14 @@ export type FsReadResponse = {
|
|
|
1861
2162
|
isBinary: boolean;
|
|
1862
2163
|
revision: number;
|
|
1863
2164
|
};
|
|
2165
|
+
export const SANDBOX_FILE_ARTIFACT_MAX_BYTES = 25 * 1024 * 1024 - 1;
|
|
2166
|
+
export type PublishSandboxFileArtifactRequest = { path: string };
|
|
2167
|
+
export type SandboxFileArtifactReceipt = {
|
|
2168
|
+
type: "sandbox_file";
|
|
2169
|
+
sandboxPath: string;
|
|
2170
|
+
filename: string;
|
|
2171
|
+
artifact: RetainedArtifactReference;
|
|
2172
|
+
};
|
|
1864
2173
|
export type FsWriteRequest = {
|
|
1865
2174
|
path: string;
|
|
1866
2175
|
encoding?: FsEncoding;
|
|
@@ -2184,6 +2493,55 @@ export type ScheduledTaskScheduleSpec =
|
|
|
2184
2493
|
daysOfWeek?: ScheduledTaskDayOfWeek[] | undefined;
|
|
2185
2494
|
};
|
|
2186
2495
|
|
|
2496
|
+
export type IncidentTelemetrySeriesMetadata = {
|
|
2497
|
+
metric: string;
|
|
2498
|
+
labels: string[];
|
|
2499
|
+
};
|
|
2500
|
+
|
|
2501
|
+
export type IncidentTelemetryDataRoute =
|
|
2502
|
+
| { kind: "mcp"; serverId: string }
|
|
2503
|
+
| { kind: "first_party"; tool: FirstPartyMcpToolName }
|
|
2504
|
+
| { kind: "variable_set"; variableSetName: string; variableNames: string[] }
|
|
2505
|
+
| { kind: "rig_credential_hook"; credentialHookId: string };
|
|
2506
|
+
|
|
2507
|
+
export type IncidentTelemetryPreflight = {
|
|
2508
|
+
requiredResources: ResourceRef[];
|
|
2509
|
+
requiredMcpServerIds: string[];
|
|
2510
|
+
requiredFirstPartyMcpTools: FirstPartyMcpToolName[];
|
|
2511
|
+
requiredFirstPartyMcpPermissions: Permission[];
|
|
2512
|
+
requiredRig: { name: string; credentialHookIds: string[] } | null;
|
|
2513
|
+
requiredVariableSetNames: string[];
|
|
2514
|
+
requiredVariableNames: string[];
|
|
2515
|
+
dataSource: {
|
|
2516
|
+
kind: "prometheus";
|
|
2517
|
+
queryPath: "/api/v1/query" | "/api/v1/query_range";
|
|
2518
|
+
workspaceLabel: string;
|
|
2519
|
+
alertSelectorLabels: string[];
|
|
2520
|
+
route: IncidentTelemetryDataRoute;
|
|
2521
|
+
requiredSeries: IncidentTelemetrySeriesMetadata[];
|
|
2522
|
+
availableSeries: IncidentTelemetrySeriesMetadata[];
|
|
2523
|
+
};
|
|
2524
|
+
};
|
|
2525
|
+
|
|
2526
|
+
export type IncidentTelemetryPreflightInput = Omit<
|
|
2527
|
+
IncidentTelemetryPreflight,
|
|
2528
|
+
| "requiredResources"
|
|
2529
|
+
| "requiredMcpServerIds"
|
|
2530
|
+
| "requiredFirstPartyMcpTools"
|
|
2531
|
+
| "requiredFirstPartyMcpPermissions"
|
|
2532
|
+
| "requiredRig"
|
|
2533
|
+
| "requiredVariableSetNames"
|
|
2534
|
+
| "requiredVariableNames"
|
|
2535
|
+
> & {
|
|
2536
|
+
requiredResources?: ResourceRef[] | undefined;
|
|
2537
|
+
requiredMcpServerIds?: string[] | undefined;
|
|
2538
|
+
requiredFirstPartyMcpTools?: FirstPartyMcpToolName[] | undefined;
|
|
2539
|
+
requiredFirstPartyMcpPermissions?: Permission[] | undefined;
|
|
2540
|
+
requiredRig?: { name: string; credentialHookIds?: string[] | undefined } | null | undefined;
|
|
2541
|
+
requiredVariableSetNames?: string[] | undefined;
|
|
2542
|
+
requiredVariableNames?: string[] | undefined;
|
|
2543
|
+
};
|
|
2544
|
+
|
|
2187
2545
|
export type ScheduledTaskAgentConfig = {
|
|
2188
2546
|
prompt: string;
|
|
2189
2547
|
resources: ResourceRef[];
|
|
@@ -2194,6 +2552,8 @@ export type ScheduledTaskAgentConfig = {
|
|
|
2194
2552
|
reasoningEffort?: ReasoningEffort | undefined;
|
|
2195
2553
|
sandboxBackend?: SandboxBackend | undefined;
|
|
2196
2554
|
goal?: GoalSpec | undefined;
|
|
2555
|
+
executionClass?: "incident_telemetry" | undefined;
|
|
2556
|
+
incidentTelemetryPreflight?: IncidentTelemetryPreflight | undefined;
|
|
2197
2557
|
maxNestedAgentDepth?: number | undefined;
|
|
2198
2558
|
};
|
|
2199
2559
|
|
|
@@ -2250,6 +2610,8 @@ export type ScheduledTask = {
|
|
|
2250
2610
|
createdBy?: TurnInitiator | undefined;
|
|
2251
2611
|
createdByContext?: TurnInitiatorContext | undefined;
|
|
2252
2612
|
personalConnections?: McpPersonalConnectionSummary[] | undefined;
|
|
2613
|
+
authorityRevision: number;
|
|
2614
|
+
executionDigest: string;
|
|
2253
2615
|
targetSessionId: string | null;
|
|
2254
2616
|
reusableSessionId: string | null;
|
|
2255
2617
|
variableSetId: string | null;
|
|
@@ -2267,15 +2629,16 @@ export type CreateSessionRequest = {
|
|
|
2267
2629
|
// projection before OpenGeni admits the initial turn. Replays must retain the
|
|
2268
2630
|
// same UUID and idempotency key.
|
|
2269
2631
|
requestedSessionId?: string | undefined;
|
|
2632
|
+
visibility?: SessionVisibility | undefined;
|
|
2270
2633
|
initialMessage?: string | undefined;
|
|
2271
2634
|
/** Create an idle session shell so realtime voice can be the first interaction. */
|
|
2272
2635
|
startMode?: "realtime" | undefined;
|
|
2273
|
-
/**
|
|
2274
|
-
|
|
2636
|
+
/** Model-visible application context attached to the initial user message; omitted by standard timeline rendering. */
|
|
2637
|
+
modelContext?: string | undefined;
|
|
2275
2638
|
// Per-session agent persona/system instructions (org-visible metadata, not a
|
|
2276
2639
|
// secret). Delivered system-level, composed AFTER the per-workspace persona —
|
|
2277
2640
|
// how a host supplies per-agent-type prompts without leaking them into the
|
|
2278
|
-
// user-visible timeline. Trimmed, non-empty, max
|
|
2641
|
+
// user-visible timeline. Trimmed, non-empty, max 65536 chars.
|
|
2279
2642
|
instructions?: string | undefined;
|
|
2280
2643
|
/** Immutable normalized prompt-policy role; distinct from membership roles. */
|
|
2281
2644
|
policyRole?: string | undefined;
|
|
@@ -2313,6 +2676,8 @@ export type CreateSessionRequest = {
|
|
|
2313
2676
|
firstPartyMcpPermissions?: string[] | undefined;
|
|
2314
2677
|
firstPartyMcpTools?: FirstPartyMcpToolName[] | undefined;
|
|
2315
2678
|
mcpServers?: SessionMcpServerInput[] | undefined;
|
|
2679
|
+
/** Atomically attach the server-derived personal Variable Set/Rig closure to the initial turn. */
|
|
2680
|
+
personalResourceAttachment?: PersonalResourceAttachmentIntent | undefined;
|
|
2316
2681
|
// Shared-sandbox placement (mirror of `@opengeni/contracts` CreateSessionRequest.sandbox,
|
|
2317
2682
|
// addendum 05 §D.1). Three-way union; OMITTED ⇒ the context-dependent server default
|
|
2318
2683
|
// (from inside a session → "shared" with the creator's box, top-level → "new").
|
|
@@ -2362,6 +2727,7 @@ export const KNOWN_PERMISSIONS = [
|
|
|
2362
2727
|
"variable-sets:read",
|
|
2363
2728
|
"variable-sets:write",
|
|
2364
2729
|
"variable-sets:manage",
|
|
2730
|
+
"variable-sets:attach",
|
|
2365
2731
|
"variable-sets:use",
|
|
2366
2732
|
"secrets:list",
|
|
2367
2733
|
"secrets:read",
|
|
@@ -2390,6 +2756,7 @@ export type FirstPartyMcpToolName =
|
|
|
2390
2756
|
| "goal_set"
|
|
2391
2757
|
| "goal_update"
|
|
2392
2758
|
| "goal_progress"
|
|
2759
|
+
| "goal_wait"
|
|
2393
2760
|
| "goal_complete"
|
|
2394
2761
|
| "goal_pause"
|
|
2395
2762
|
| "memory_search"
|
|
@@ -2400,6 +2767,18 @@ export type FirstPartyMcpToolName =
|
|
|
2400
2767
|
| "task_notes_list"
|
|
2401
2768
|
| "task_note_save"
|
|
2402
2769
|
| "task_note_archive"
|
|
2770
|
+
| "task_note_replace"
|
|
2771
|
+
| "knowledge_propose"
|
|
2772
|
+
| "knowledge_correct"
|
|
2773
|
+
| "task_note_promote_knowledge"
|
|
2774
|
+
| "task_note_promote_instruction_policy"
|
|
2775
|
+
| "task_note_promote_preference"
|
|
2776
|
+
| "instruction_policy_propose"
|
|
2777
|
+
| "preference_propose"
|
|
2778
|
+
| "remember"
|
|
2779
|
+
| "remember_confirm"
|
|
2780
|
+
| "company_profile_propose"
|
|
2781
|
+
| "company_profile_confirm"
|
|
2403
2782
|
| "sandboxes_list"
|
|
2404
2783
|
| "sandbox_attach"
|
|
2405
2784
|
| "sandbox_swap"
|
|
@@ -2414,11 +2793,13 @@ export type FirstPartyMcpToolName =
|
|
|
2414
2793
|
| "sessions_list"
|
|
2415
2794
|
| "session_get"
|
|
2416
2795
|
| "session_events"
|
|
2796
|
+
| "session_wait"
|
|
2417
2797
|
| "session_create"
|
|
2418
2798
|
| "session_send_message"
|
|
2419
2799
|
| "session_pause"
|
|
2420
2800
|
| "session_resume"
|
|
2421
2801
|
| "session_steer"
|
|
2802
|
+
| "session_human_input_respond"
|
|
2422
2803
|
| "set_other_session_title"
|
|
2423
2804
|
| "interaction_discover"
|
|
2424
2805
|
| "browser_open"
|
|
@@ -2477,6 +2858,7 @@ export type FirstPartyMcpToolName =
|
|
|
2477
2858
|
| "scheduled_tasks_delete"
|
|
2478
2859
|
| "scheduled_task_runs_list"
|
|
2479
2860
|
| "slack_bot_list_channels"
|
|
2861
|
+
| "slack_bot_search"
|
|
2480
2862
|
| "slack_bot_channel_history"
|
|
2481
2863
|
| "slack_bot_thread_replies"
|
|
2482
2864
|
| "slack_bot_list_users"
|
|
@@ -2498,6 +2880,7 @@ export type FirstPartyMcpToolName =
|
|
|
2498
2880
|
| "atlassian_sources_list"
|
|
2499
2881
|
| "atlassian_search"
|
|
2500
2882
|
| "atlassian_get"
|
|
2883
|
+
| "sandbox_file_publish"
|
|
2501
2884
|
| "artifacts_list"
|
|
2502
2885
|
| "artifacts_get_source"
|
|
2503
2886
|
| "artifacts_create"
|
|
@@ -2652,6 +3035,8 @@ export type ModelCredentialReadinessV1 = {
|
|
|
2652
3035
|
|
|
2653
3036
|
export type WorkspaceModelCatalogModel = ClientModel & {
|
|
2654
3037
|
credentialReadiness: ModelCredentialReadinessV1;
|
|
3038
|
+
/** Exact workspace-policy verdict without exposing provider identity. */
|
|
3039
|
+
policyAllowed?: boolean | undefined;
|
|
2655
3040
|
availability: ModelAvailabilityV1;
|
|
2656
3041
|
};
|
|
2657
3042
|
|
|
@@ -2659,6 +3044,21 @@ export type WorkspaceModelCatalogResponse = {
|
|
|
2659
3044
|
models: WorkspaceModelCatalogModel[];
|
|
2660
3045
|
};
|
|
2661
3046
|
|
|
3047
|
+
/**
|
|
3048
|
+
* The workspace's hard model/provider allowlist. `null` means unrestricted for
|
|
3049
|
+
* that dimension; an empty array is an explicit total block.
|
|
3050
|
+
*/
|
|
3051
|
+
export type WorkspaceModelAccessPolicy = {
|
|
3052
|
+
allowedProviders: string[] | null;
|
|
3053
|
+
allowedModels: string[] | null;
|
|
3054
|
+
};
|
|
3055
|
+
|
|
3056
|
+
/** Full replacement body for `PUT /v1/workspaces/:id/model-policy`. */
|
|
3057
|
+
export type UpdateWorkspaceModelAccessPolicyRequest = {
|
|
3058
|
+
allowedProviders?: string[] | null | undefined;
|
|
3059
|
+
allowedModels?: string[] | null | undefined;
|
|
3060
|
+
};
|
|
3061
|
+
|
|
2662
3062
|
/**
|
|
2663
3063
|
* Connection state of a workspace's Codex (ChatGPT) subscription, returned by
|
|
2664
3064
|
* `GET /v1/workspaces/:id/codex/status`. `models` are the codex models the
|
|
@@ -2806,6 +3206,12 @@ export type CodexAccountOverview = {
|
|
|
2806
3206
|
credits: CodexResetCredit[];
|
|
2807
3207
|
};
|
|
2808
3208
|
canRedeem: boolean;
|
|
3209
|
+
/** Secret-free reason redemption is owner-actionable or view-only. */
|
|
3210
|
+
redemptionAccess: {
|
|
3211
|
+
ownership: "current_human" | "unowned" | "different_human" | "managed_human_unavailable";
|
|
3212
|
+
/** A direct managed-cookie admin may claim only an unowned same-provider row by reconnecting. */
|
|
3213
|
+
canClaimUnownedViaReconnect: boolean;
|
|
3214
|
+
};
|
|
2809
3215
|
/** Owning managed-cookie human may replay durable completion without a healthy provider token. */
|
|
2810
3216
|
canResumeRedemption: boolean;
|
|
2811
3217
|
/** Durable owner-scoped ambiguity/completion discovery; never redemption authority for agents. */
|
|
@@ -2980,11 +3386,16 @@ export type ClientAuthConfig =
|
|
|
2980
3386
|
| { mode: "none" }
|
|
2981
3387
|
| { mode: "deploymentKey"; headerName: "x-opengeni-access-key" }
|
|
2982
3388
|
| { mode: "configuredToken"; headerName: "authorization"; scheme: "bearer" }
|
|
2983
|
-
| {
|
|
3389
|
+
| {
|
|
3390
|
+
mode: "managedSession";
|
|
3391
|
+
session: "cookie";
|
|
3392
|
+
/** Defaults to true when omitted by an older deployment. */
|
|
3393
|
+
emailVerificationRequired?: boolean;
|
|
3394
|
+
};
|
|
2984
3395
|
|
|
2985
3396
|
// Kept value-identical to @opengeni/contracts and pinned by the SDK contract
|
|
2986
3397
|
// parity suite. The SDK has no runtime dependency on the Zod contracts package.
|
|
2987
|
-
export const OPENGENI_API_CONTRACT_REVISION = "2026-08-
|
|
3398
|
+
export const OPENGENI_API_CONTRACT_REVISION = "2026-08-atomic-session-fork-visibility-v1" as const;
|
|
2988
3399
|
export const OPENGENI_API_CONTRACT_HEADER = "x-opengeni-api-contract" as const;
|
|
2989
3400
|
/** Bounded request/response identifier shared by browser, ingress, and API diagnostics. */
|
|
2990
3401
|
export const OPENGENI_CORRELATION_HEADER = "x-opengeni-correlation-id" as const;
|
|
@@ -3194,6 +3605,220 @@ export type ListManagedOrganizationMembershipsResponse = {
|
|
|
3194
3605
|
memberships: ManagedOrganizationMembership[];
|
|
3195
3606
|
};
|
|
3196
3607
|
|
|
3608
|
+
export type UserResourceKind =
|
|
3609
|
+
| "connection"
|
|
3610
|
+
| "document"
|
|
3611
|
+
| "variable_set"
|
|
3612
|
+
| "rig"
|
|
3613
|
+
| "connected_machine";
|
|
3614
|
+
export type UserResourceGrantAction =
|
|
3615
|
+
| "connection.use"
|
|
3616
|
+
| "document.read"
|
|
3617
|
+
| "variable_set.use"
|
|
3618
|
+
| "rig.use"
|
|
3619
|
+
| "connected_machine.use";
|
|
3620
|
+
export type UserResourceAuthorityGrant = {
|
|
3621
|
+
grantId: string;
|
|
3622
|
+
targetWorkspaceId: string;
|
|
3623
|
+
targetSessionId: string | null;
|
|
3624
|
+
action: UserResourceGrantAction;
|
|
3625
|
+
mode: "once" | "session" | "always";
|
|
3626
|
+
context: "user_private" | "workspace_shared";
|
|
3627
|
+
authorityEpoch: number | null;
|
|
3628
|
+
generation: number;
|
|
3629
|
+
status: "active" | "consumed" | "revoked" | "expired";
|
|
3630
|
+
expiresAt: string | null;
|
|
3631
|
+
delegation: UserResourceDelegation;
|
|
3632
|
+
};
|
|
3633
|
+
export type UserResourceAuthoritySummary = {
|
|
3634
|
+
authorityId: string;
|
|
3635
|
+
resourceKind: UserResourceKind;
|
|
3636
|
+
resourceId: string;
|
|
3637
|
+
originWorkspaceId: string | null;
|
|
3638
|
+
generation: number;
|
|
3639
|
+
status: "active" | "retained" | "revoked";
|
|
3640
|
+
grants: UserResourceAuthorityGrant[];
|
|
3641
|
+
};
|
|
3642
|
+
export type ListUserResourceAuthoritiesOptions = {
|
|
3643
|
+
resourceKind: UserResourceKind;
|
|
3644
|
+
cursor?: string | undefined;
|
|
3645
|
+
limit?: number | undefined;
|
|
3646
|
+
};
|
|
3647
|
+
export type ListUserResourceAuthoritiesResponse = {
|
|
3648
|
+
scope: "user";
|
|
3649
|
+
authorities: UserResourceAuthoritySummary[];
|
|
3650
|
+
nextCursor: string | null;
|
|
3651
|
+
};
|
|
3652
|
+
export type IssueUserResourceGrantRequest =
|
|
3653
|
+
| {
|
|
3654
|
+
scope: "user";
|
|
3655
|
+
resourceKind: UserResourceKind;
|
|
3656
|
+
mode: "session";
|
|
3657
|
+
context: "user_private" | "workspace_shared";
|
|
3658
|
+
sessionId: string;
|
|
3659
|
+
expectedAuthorityEpoch: number;
|
|
3660
|
+
workspaceSharedAcknowledged?: boolean | undefined;
|
|
3661
|
+
}
|
|
3662
|
+
| {
|
|
3663
|
+
scope: "user";
|
|
3664
|
+
resourceKind: UserResourceKind;
|
|
3665
|
+
mode: "always";
|
|
3666
|
+
context: "user_private" | "workspace_shared";
|
|
3667
|
+
sessionId?: null | undefined;
|
|
3668
|
+
expectedAuthorityEpoch?: null | undefined;
|
|
3669
|
+
workspaceSharedAcknowledged?: boolean | undefined;
|
|
3670
|
+
};
|
|
3671
|
+
export type UserResourceGrantMutationResponse = {
|
|
3672
|
+
scope: "user";
|
|
3673
|
+
grant: UserResourceAuthorityGrant;
|
|
3674
|
+
};
|
|
3675
|
+
export type RevokeUserResourceGrantResponse = {
|
|
3676
|
+
scope: "user";
|
|
3677
|
+
grant: {
|
|
3678
|
+
grantId: string;
|
|
3679
|
+
generation: number;
|
|
3680
|
+
status: "revoked";
|
|
3681
|
+
revokedAt: string;
|
|
3682
|
+
};
|
|
3683
|
+
};
|
|
3684
|
+
|
|
3685
|
+
export type OrganizationMembershipRole = "owner" | "admin" | "member";
|
|
3686
|
+
export type OrganizationInvitation = {
|
|
3687
|
+
id: string;
|
|
3688
|
+
organizationId: string;
|
|
3689
|
+
targetEmail: string;
|
|
3690
|
+
targetName: string | null;
|
|
3691
|
+
initialWorkspaceIds: string[];
|
|
3692
|
+
role: OrganizationMembershipRole;
|
|
3693
|
+
status: "pending" | "accepted" | "revoked" | "expired";
|
|
3694
|
+
revision: number;
|
|
3695
|
+
expiresAt: string;
|
|
3696
|
+
acceptedMembershipId: string | null;
|
|
3697
|
+
createdAt: string;
|
|
3698
|
+
updatedAt: string;
|
|
3699
|
+
};
|
|
3700
|
+
export type OrganizationMember = {
|
|
3701
|
+
id: string;
|
|
3702
|
+
organizationId: string;
|
|
3703
|
+
subjectId: string;
|
|
3704
|
+
name: string | null;
|
|
3705
|
+
email: string | null;
|
|
3706
|
+
role: OrganizationMembershipRole;
|
|
3707
|
+
status: "provisioning" | "active" | "suspended" | "revoked";
|
|
3708
|
+
authorizationRevision: number;
|
|
3709
|
+
personalWorkspaceId: string | null;
|
|
3710
|
+
revokedAt: string | null;
|
|
3711
|
+
personalRetentionUntil: string | null;
|
|
3712
|
+
createdAt: string;
|
|
3713
|
+
updatedAt: string;
|
|
3714
|
+
};
|
|
3715
|
+
export type OrganizationSummary = {
|
|
3716
|
+
id: string;
|
|
3717
|
+
name: string;
|
|
3718
|
+
createdAt: string;
|
|
3719
|
+
updatedAt: string;
|
|
3720
|
+
};
|
|
3721
|
+
export type OrganizationWorkspaceAccessMember = {
|
|
3722
|
+
membershipId: string;
|
|
3723
|
+
subjectId: string;
|
|
3724
|
+
subjectLabel: string | null;
|
|
3725
|
+
principalKind: "human" | "service";
|
|
3726
|
+
role: string;
|
|
3727
|
+
permissions: string[];
|
|
3728
|
+
createdAt: string;
|
|
3729
|
+
};
|
|
3730
|
+
export type OrganizationWorkspaceAccess = {
|
|
3731
|
+
id: string;
|
|
3732
|
+
name: string;
|
|
3733
|
+
slug: string | null;
|
|
3734
|
+
createdAt: string;
|
|
3735
|
+
updatedAt: string;
|
|
3736
|
+
members: OrganizationWorkspaceAccessMember[];
|
|
3737
|
+
};
|
|
3738
|
+
export type OrganizationAdministrationOverview = {
|
|
3739
|
+
organization: OrganizationSummary;
|
|
3740
|
+
workspaces: OrganizationWorkspaceAccess[];
|
|
3741
|
+
};
|
|
3742
|
+
export type OrganizationPrivateSessionSettings = {
|
|
3743
|
+
organizationId: string;
|
|
3744
|
+
enabled: boolean;
|
|
3745
|
+
available: boolean;
|
|
3746
|
+
version: number;
|
|
3747
|
+
updatedAt: string;
|
|
3748
|
+
changed?: boolean;
|
|
3749
|
+
};
|
|
3750
|
+
export type AddOrganizationWorkspaceMemberRequest = {
|
|
3751
|
+
organizationMembershipId: string;
|
|
3752
|
+
role?: string | undefined;
|
|
3753
|
+
permissions: Permission[];
|
|
3754
|
+
};
|
|
3755
|
+
export type CreateOrganizationWorkspaceRequest = {
|
|
3756
|
+
name: string;
|
|
3757
|
+
slug?: string | null;
|
|
3758
|
+
agentInstructions?: string | null;
|
|
3759
|
+
operationId: string;
|
|
3760
|
+
};
|
|
3761
|
+
export type CreateOrganizationRequest = {
|
|
3762
|
+
name: string;
|
|
3763
|
+
operationId: string;
|
|
3764
|
+
};
|
|
3765
|
+
export type CreateOrganizationResponse = {
|
|
3766
|
+
organization: OrganizationSummary;
|
|
3767
|
+
workspaceId: string;
|
|
3768
|
+
};
|
|
3769
|
+
export type UpdateOrganizationNameRequest = {
|
|
3770
|
+
name: string;
|
|
3771
|
+
expectedUpdatedAt: string;
|
|
3772
|
+
operationId: string;
|
|
3773
|
+
};
|
|
3774
|
+
export type UpdateOrganizationPrivateSessionSettingsRequest = {
|
|
3775
|
+
enabled: boolean;
|
|
3776
|
+
expectedVersion: number;
|
|
3777
|
+
operationId: string;
|
|
3778
|
+
};
|
|
3779
|
+
export type OrganizationRetentionPolicy = {
|
|
3780
|
+
organizationId: string;
|
|
3781
|
+
mode: "retain" | "delete_after";
|
|
3782
|
+
retentionDays: number | null;
|
|
3783
|
+
version: number;
|
|
3784
|
+
updatedAt: string;
|
|
3785
|
+
};
|
|
3786
|
+
export type CreateOrganizationInvitationRequest = {
|
|
3787
|
+
email: string;
|
|
3788
|
+
name?: string;
|
|
3789
|
+
initialWorkspaceIds?: string[];
|
|
3790
|
+
role?: OrganizationMembershipRole;
|
|
3791
|
+
expiresAt: string;
|
|
3792
|
+
operationId: string;
|
|
3793
|
+
};
|
|
3794
|
+
export type AcceptOrganizationInvitationRequest = {
|
|
3795
|
+
expectedRevision: number;
|
|
3796
|
+
operationId: string;
|
|
3797
|
+
};
|
|
3798
|
+
export type RevokeOrganizationInvitationRequest = AcceptOrganizationInvitationRequest;
|
|
3799
|
+
export type UpdateOrganizationMemberRequest = {
|
|
3800
|
+
kind: "change_role" | "suspend" | "reactivate" | "offboard";
|
|
3801
|
+
role?: OrganizationMembershipRole;
|
|
3802
|
+
expectedAuthorizationRevision: number;
|
|
3803
|
+
operationId: string;
|
|
3804
|
+
reason?: string;
|
|
3805
|
+
};
|
|
3806
|
+
export type UpdateOrganizationRetentionPolicyRequest = {
|
|
3807
|
+
mode: "retain" | "delete_after";
|
|
3808
|
+
retentionDays: number | null;
|
|
3809
|
+
expectedVersion: number;
|
|
3810
|
+
operationId: string;
|
|
3811
|
+
};
|
|
3812
|
+
export type ListOrganizationInvitationsPageResponse = {
|
|
3813
|
+
invitations: OrganizationInvitation[];
|
|
3814
|
+
nextCursor: string | null;
|
|
3815
|
+
};
|
|
3816
|
+
export type ListOrganizationMembersResponse = { members: OrganizationMember[] };
|
|
3817
|
+
export type AcceptOrganizationInvitationResponse = {
|
|
3818
|
+
invitation: OrganizationInvitation;
|
|
3819
|
+
membership: OrganizationMember;
|
|
3820
|
+
};
|
|
3821
|
+
|
|
3197
3822
|
export type Workspace = {
|
|
3198
3823
|
id: string;
|
|
3199
3824
|
accountId: string;
|
|
@@ -3219,6 +3844,10 @@ export type WorkspaceSettings = {
|
|
|
3219
3844
|
memoryEnabled?: boolean | undefined;
|
|
3220
3845
|
/** Reversible Memory V1 prompt composition rollout. */
|
|
3221
3846
|
memoryPromptMode?: "legacy_standing" | "retrieval_only" | undefined;
|
|
3847
|
+
/** Model policy inherited by new chats and scheduled tasks. */
|
|
3848
|
+
sessionDefaults?: WorkspaceSessionDefaults | undefined;
|
|
3849
|
+
/** Exact capability selection inherited by new top-level sessions. */
|
|
3850
|
+
sessionToolDefaults?: WorkspaceSessionToolDefaults | undefined;
|
|
3222
3851
|
voiceInput?: WorkspaceVoiceInputSettings | undefined;
|
|
3223
3852
|
transcription?: WorkspaceTranscriptionPolicy | undefined;
|
|
3224
3853
|
maxNestedAgentDepth?: number | null | undefined;
|
|
@@ -3227,15 +3856,38 @@ export type WorkspaceSettings = {
|
|
|
3227
3856
|
/** Whether agents may invoke the built-in structured human-input tool. */
|
|
3228
3857
|
agentHumanInputEnabled?: boolean | undefined;
|
|
3229
3858
|
slackReactionSummon?: WorkspaceSlackReactionSummonSettings | undefined;
|
|
3859
|
+
/** Slack orchestration notices; both default off when absent or invalid. */
|
|
3860
|
+
slackOrchestrationNotices?: WorkspaceSlackOrchestrationNoticeSettings | undefined;
|
|
3230
3861
|
[key: string]: unknown;
|
|
3231
3862
|
};
|
|
3232
3863
|
|
|
3864
|
+
export type WorkspaceSessionDefaults = {
|
|
3865
|
+
model: string;
|
|
3866
|
+
reasoningEffort: ReasoningEffort;
|
|
3867
|
+
};
|
|
3868
|
+
|
|
3869
|
+
export type WorkspaceSessionToolDefaults = {
|
|
3870
|
+
mcpServerIds: string[];
|
|
3871
|
+
firstPartyMcpTools: FirstPartyMcpToolName[];
|
|
3872
|
+
};
|
|
3873
|
+
|
|
3233
3874
|
export type WorkspaceSlackReactionSummonSettings = {
|
|
3234
3875
|
enabled: boolean;
|
|
3235
3876
|
emoji: "genie";
|
|
3236
3877
|
channelPolicy: { mode: "bot_member" } | { mode: "allowlist"; channelIds: string[] };
|
|
3237
3878
|
};
|
|
3238
3879
|
|
|
3880
|
+
/**
|
|
3881
|
+
* Per-workspace switches for the two Slack orchestration notices. Both are off
|
|
3882
|
+
* unless the workspace explicitly turned them on.
|
|
3883
|
+
*/
|
|
3884
|
+
export type WorkspaceSlackOrchestrationNoticeSettings = {
|
|
3885
|
+
/** Post a pointer card when a child worker blocks on input or an approval. */
|
|
3886
|
+
childRequiresAction?: boolean | undefined;
|
|
3887
|
+
/** Post one line when a goal pauses for budget or the continuation cap. */
|
|
3888
|
+
goalPaused?: boolean | undefined;
|
|
3889
|
+
};
|
|
3890
|
+
|
|
3239
3891
|
export type SlackReactionChannel = {
|
|
3240
3892
|
id: string;
|
|
3241
3893
|
name: string | null;
|
|
@@ -3254,12 +3906,15 @@ export type WorkspaceVoiceInputSettings = {
|
|
|
3254
3906
|
export type UpdateWorkspaceSettingsRequest = {
|
|
3255
3907
|
memoryEnabled?: boolean | undefined;
|
|
3256
3908
|
memoryPromptMode?: "legacy_standing" | "retrieval_only" | undefined;
|
|
3909
|
+
sessionDefaults?: WorkspaceSessionDefaults | undefined;
|
|
3910
|
+
sessionToolDefaults?: WorkspaceSessionToolDefaults | undefined;
|
|
3257
3911
|
voiceInput?: WorkspaceVoiceInputSettings | undefined;
|
|
3258
3912
|
transcription?: WorkspaceTranscriptionPolicy | undefined;
|
|
3259
3913
|
maxNestedAgentDepth?: number | null | undefined;
|
|
3260
3914
|
codexCompactionDefault?: "remote_v2" | "portable" | undefined;
|
|
3261
3915
|
agentHumanInputEnabled?: boolean | undefined;
|
|
3262
3916
|
slackReactionSummon?: WorkspaceSlackReactionSummonSettings | undefined;
|
|
3917
|
+
slackOrchestrationNotices?: WorkspaceSlackOrchestrationNoticeSettings | undefined;
|
|
3263
3918
|
[key: string]: unknown;
|
|
3264
3919
|
};
|
|
3265
3920
|
|
|
@@ -3287,6 +3942,7 @@ export type ApiKey = {
|
|
|
3287
3942
|
accountId: string;
|
|
3288
3943
|
workspaceId: string | null;
|
|
3289
3944
|
name: string;
|
|
3945
|
+
description: string | null;
|
|
3290
3946
|
prefix: string;
|
|
3291
3947
|
permissions: Permission[];
|
|
3292
3948
|
expiresAt: string | null;
|
|
@@ -3298,6 +3954,7 @@ export type ApiKey = {
|
|
|
3298
3954
|
|
|
3299
3955
|
export type CreateApiKeyRequest = {
|
|
3300
3956
|
name: string;
|
|
3957
|
+
description?: string | undefined;
|
|
3301
3958
|
permissions: Permission[];
|
|
3302
3959
|
expiresAt?: string | undefined;
|
|
3303
3960
|
};
|
|
@@ -3405,12 +4062,14 @@ export type SessionGoalRevision = {
|
|
|
3405
4062
|
resultObjectiveRevision: number | null;
|
|
3406
4063
|
text: string;
|
|
3407
4064
|
successCriteria: string | null;
|
|
4065
|
+
rootConstraints: string[];
|
|
3408
4066
|
mutationPolicy: SessionGoalMutationPolicy;
|
|
3409
4067
|
rationale: string;
|
|
3410
4068
|
actor: "agent" | "api" | "scheduled_task";
|
|
3411
4069
|
actorTurnId: string | null;
|
|
3412
4070
|
actorAttemptId: string | null;
|
|
3413
4071
|
proposalId: string | null;
|
|
4072
|
+
rollbackOfRevisionId: string | null;
|
|
3414
4073
|
createdAt: string;
|
|
3415
4074
|
};
|
|
3416
4075
|
|
|
@@ -3419,6 +4078,32 @@ export type ApplySessionGoalRevisionRequest = {
|
|
|
3419
4078
|
rationale?: string | undefined;
|
|
3420
4079
|
};
|
|
3421
4080
|
|
|
4081
|
+
export type ListSessionGoalRevisionsOptions = {
|
|
4082
|
+
limit?: number | undefined;
|
|
4083
|
+
before?: string | undefined;
|
|
4084
|
+
};
|
|
4085
|
+
|
|
4086
|
+
export type ListSessionGoalRevisionsResponse = {
|
|
4087
|
+
revisions: SessionGoalRevision[];
|
|
4088
|
+
hasMore: boolean;
|
|
4089
|
+
nextCursor: string | null;
|
|
4090
|
+
};
|
|
4091
|
+
|
|
4092
|
+
export type RejectSessionGoalRevisionRequest = {
|
|
4093
|
+
expectedObjectiveRevision: number;
|
|
4094
|
+
rationale: string;
|
|
4095
|
+
};
|
|
4096
|
+
|
|
4097
|
+
export type RejectSessionGoalRevisionResponse = {
|
|
4098
|
+
revision: SessionGoalRevision;
|
|
4099
|
+
replay: boolean;
|
|
4100
|
+
};
|
|
4101
|
+
|
|
4102
|
+
export type RollbackSessionGoalRevisionRequest = {
|
|
4103
|
+
expectedObjectiveRevision: number;
|
|
4104
|
+
rationale: string;
|
|
4105
|
+
};
|
|
4106
|
+
|
|
3422
4107
|
export type SessionGoalContinuationState =
|
|
3423
4108
|
| "inactive"
|
|
3424
4109
|
| "scheduled"
|
|
@@ -3438,6 +4123,8 @@ export type SessionGoalContinuationReason =
|
|
|
3438
4123
|
| "provider_backpressure"
|
|
3439
4124
|
| "session_cancelled"
|
|
3440
4125
|
| "system_work_pending"
|
|
4126
|
+
| "held_for_input"
|
|
4127
|
+
| "backoff_pending"
|
|
3441
4128
|
| "missing_obligation";
|
|
3442
4129
|
|
|
3443
4130
|
export type SessionGoalContinuation = {
|
|
@@ -3447,6 +4134,8 @@ export type SessionGoalContinuation = {
|
|
|
3447
4134
|
observedRevision: number;
|
|
3448
4135
|
nextAttemptAt: string | null;
|
|
3449
4136
|
lastError: string | null;
|
|
4137
|
+
/** Agent-stated reason for a `held_for_input` hold; null otherwise. */
|
|
4138
|
+
holdReason?: string | null | undefined;
|
|
3450
4139
|
};
|
|
3451
4140
|
|
|
3452
4141
|
export type SessionGoal = {
|
|
@@ -3457,6 +4146,7 @@ export type SessionGoal = {
|
|
|
3457
4146
|
status: SessionGoalStatus;
|
|
3458
4147
|
text: string;
|
|
3459
4148
|
successCriteria: string | null;
|
|
4149
|
+
rootConstraints: string[];
|
|
3460
4150
|
evidence: string | null;
|
|
3461
4151
|
rationale: string | null;
|
|
3462
4152
|
pausedReason: string | null;
|
|
@@ -3482,6 +4172,7 @@ export type UpdateSessionGoalRequest =
|
|
|
3482
4172
|
| {
|
|
3483
4173
|
text: string;
|
|
3484
4174
|
successCriteria?: string | null | undefined;
|
|
4175
|
+
rootConstraints?: string[] | undefined;
|
|
3485
4176
|
mutationPolicy?: SessionGoalMutationPolicy | undefined;
|
|
3486
4177
|
rationale: string;
|
|
3487
4178
|
expectedObjectiveRevision: number;
|
|
@@ -3536,6 +4227,7 @@ export type EffectiveSessionControl = {
|
|
|
3536
4227
|
interruptionPendingCount: number;
|
|
3537
4228
|
quiescencePendingCount: number;
|
|
3538
4229
|
} | null;
|
|
4230
|
+
backgroundCommandSettlement?: { state: "stopping"; commandCount: number } | null | undefined;
|
|
3539
4231
|
};
|
|
3540
4232
|
|
|
3541
4233
|
export type SessionCommandReceipt = {
|
|
@@ -3551,6 +4243,11 @@ export type SessionCommandReceipt = {
|
|
|
3551
4243
|
createdAt: string;
|
|
3552
4244
|
};
|
|
3553
4245
|
|
|
4246
|
+
export type SessionPromptRouting =
|
|
4247
|
+
| "accepted_for_execution"
|
|
4248
|
+
| "queued_for_execution"
|
|
4249
|
+
| "accepted_for_steering";
|
|
4250
|
+
|
|
3554
4251
|
export type ComposerDraft = {
|
|
3555
4252
|
revision: number;
|
|
3556
4253
|
text: string;
|
|
@@ -3558,13 +4255,14 @@ export type ComposerDraft = {
|
|
|
3558
4255
|
resources: ResourceRef[];
|
|
3559
4256
|
model: string;
|
|
3560
4257
|
reasoningEffort: ReasoningEffort;
|
|
3561
|
-
latencyMode
|
|
4258
|
+
latencyMode: LatencyMode;
|
|
3562
4259
|
sourceTurnId: string | null;
|
|
3563
4260
|
sourceTurnVersion: number | null;
|
|
3564
4261
|
updatedAt: string | null;
|
|
3565
4262
|
};
|
|
3566
4263
|
|
|
3567
4264
|
export type NewSessionDraftOptions = {
|
|
4265
|
+
visibility?: SessionVisibility | undefined;
|
|
3568
4266
|
sandboxBackend?: SandboxBackend | undefined;
|
|
3569
4267
|
targetSandboxId?: string | undefined;
|
|
3570
4268
|
workingDir?: string | undefined;
|
|
@@ -3575,6 +4273,17 @@ export type NewSessionDraftOptions = {
|
|
|
3575
4273
|
firstPartyMcpTools?: FirstPartyMcpToolName[] | undefined;
|
|
3576
4274
|
};
|
|
3577
4275
|
|
|
4276
|
+
export type NewSessionSelectionHistory = {
|
|
4277
|
+
/** Most-recently used project first. Null channelId is the Default project. */
|
|
4278
|
+
projects: Array<{
|
|
4279
|
+
channelId: string | null;
|
|
4280
|
+
/** Null means the managed sandbox was used most recently in this project. */
|
|
4281
|
+
targetSandboxId: string | null;
|
|
4282
|
+
/** Most-recently used machine in this project first. */
|
|
4283
|
+
machines: Array<{ sandboxId: string; workingDir: string | null }>;
|
|
4284
|
+
}>;
|
|
4285
|
+
};
|
|
4286
|
+
|
|
3578
4287
|
export type NewSessionDraft = {
|
|
3579
4288
|
revision: number;
|
|
3580
4289
|
text: string;
|
|
@@ -3584,8 +4293,9 @@ export type NewSessionDraft = {
|
|
|
3584
4293
|
toolsProvided: boolean;
|
|
3585
4294
|
model: string;
|
|
3586
4295
|
reasoningEffort: ReasoningEffort;
|
|
3587
|
-
latencyMode
|
|
4296
|
+
latencyMode: LatencyMode;
|
|
3588
4297
|
options: NewSessionDraftOptions;
|
|
4298
|
+
selectionHistory: NewSessionSelectionHistory;
|
|
3589
4299
|
updatedAt: string | null;
|
|
3590
4300
|
};
|
|
3591
4301
|
|
|
@@ -3619,7 +4329,12 @@ export type SessionSystemUpdateKind =
|
|
|
3619
4329
|
| "agent_message"
|
|
3620
4330
|
| "agent_steer_instruction"
|
|
3621
4331
|
| "child_terminal_result"
|
|
3622
|
-
| "media_generation_result"
|
|
4332
|
+
| "media_generation_result"
|
|
4333
|
+
| "child_requires_action"
|
|
4334
|
+
| "child_requires_action_resolved"
|
|
4335
|
+
| "child_paused"
|
|
4336
|
+
| "child_waiting_capacity"
|
|
4337
|
+
| "child_progress";
|
|
3623
4338
|
|
|
3624
4339
|
export type SessionSystemUpdateState =
|
|
3625
4340
|
| "pending"
|
|
@@ -3734,7 +4449,31 @@ export type SaveComposerDraftRequest = Omit<
|
|
|
3734
4449
|
"revision" | "sourceTurnId" | "sourceTurnVersion" | "updatedAt"
|
|
3735
4450
|
> & { expectedRevision: number };
|
|
3736
4451
|
|
|
3737
|
-
export type
|
|
4452
|
+
export type SubmitComposerDraftRequest = Omit<SaveComposerDraftRequest, "expectedRevision"> & {
|
|
4453
|
+
expectedDraftRevision: number;
|
|
4454
|
+
clientEventId: string;
|
|
4455
|
+
delivery: "send" | "steer";
|
|
4456
|
+
controlEtag?: string;
|
|
4457
|
+
modelContext?: string;
|
|
4458
|
+
mcpCredentialUpdates?: SessionMcpCredentialUpdateInput[];
|
|
4459
|
+
connectionAuthorities?: McpConnectionAuthoritySelection[];
|
|
4460
|
+
personalResourceAttachment?: PersonalResourceAttachmentIntent;
|
|
4461
|
+
};
|
|
4462
|
+
|
|
4463
|
+
export type SubmitComposerDraftResponse = {
|
|
4464
|
+
accepted: SessionEvent;
|
|
4465
|
+
turn: SessionTurn;
|
|
4466
|
+
draft: ComposerDraft;
|
|
4467
|
+
receipt: SessionCommandReceipt;
|
|
4468
|
+
routing: SessionPromptRouting;
|
|
4469
|
+
interruptionCount: number;
|
|
4470
|
+
replay: boolean;
|
|
4471
|
+
};
|
|
4472
|
+
|
|
4473
|
+
export type SaveNewSessionDraftRequest = Omit<
|
|
4474
|
+
NewSessionDraft,
|
|
4475
|
+
"revision" | "selectionHistory" | "updatedAt"
|
|
4476
|
+
> & {
|
|
3738
4477
|
expectedRevision: number;
|
|
3739
4478
|
};
|
|
3740
4479
|
|
|
@@ -3751,6 +4490,8 @@ export type ScheduledTaskAgentConfigInput = {
|
|
|
3751
4490
|
reasoningEffort?: ReasoningEffort | undefined;
|
|
3752
4491
|
sandboxBackend?: SandboxBackend | undefined;
|
|
3753
4492
|
goal?: GoalSpec | undefined;
|
|
4493
|
+
executionClass?: "incident_telemetry" | undefined;
|
|
4494
|
+
incidentTelemetryPreflight?: IncidentTelemetryPreflightInput | undefined;
|
|
3754
4495
|
maxNestedAgentDepth?: number | undefined;
|
|
3755
4496
|
};
|
|
3756
4497
|
|
|
@@ -3760,6 +4501,7 @@ export type CreateAgentScheduledTaskRequest = {
|
|
|
3760
4501
|
action?: { kind: "agent_turn" } | undefined;
|
|
3761
4502
|
runMode?: ScheduledTaskRunMode | undefined;
|
|
3762
4503
|
targetSessionId?: string | null | undefined;
|
|
4504
|
+
connectionAuthorities?: McpConnectionAuthoritySelection[] | undefined;
|
|
3763
4505
|
overlapPolicy?: ScheduledTaskOverlapPolicy | undefined;
|
|
3764
4506
|
agentConfig: ScheduledTaskAgentConfigInput;
|
|
3765
4507
|
status?: ScheduledTaskStatus | undefined;
|
|
@@ -3789,6 +4531,7 @@ export type UpdateScheduledTaskRequest = {
|
|
|
3789
4531
|
schedule?: ScheduledTaskScheduleSpec | undefined;
|
|
3790
4532
|
runMode?: ScheduledTaskRunMode | undefined;
|
|
3791
4533
|
targetSessionId?: string | null | undefined;
|
|
4534
|
+
connectionAuthorities?: McpConnectionAuthoritySelection[] | undefined;
|
|
3792
4535
|
overlapPolicy?: ScheduledTaskOverlapPolicy | undefined;
|
|
3793
4536
|
action?: ScheduledTaskAction | undefined;
|
|
3794
4537
|
agentConfig?: ScheduledTaskAgentConfigInput | undefined;
|
|
@@ -3851,6 +4594,8 @@ export type ScheduledTaskRun = {
|
|
|
3851
4594
|
accountId: string;
|
|
3852
4595
|
workspaceId: string;
|
|
3853
4596
|
taskId: string;
|
|
4597
|
+
taskAuthorityRevision: number | null;
|
|
4598
|
+
taskExecutionDigest: string | null;
|
|
3854
4599
|
status: ScheduledTaskRunStatus;
|
|
3855
4600
|
triggerType: ScheduledTaskTriggerType;
|
|
3856
4601
|
scheduledAt: string | null;
|
|
@@ -3888,6 +4633,9 @@ export type VariableSet = {
|
|
|
3888
4633
|
id: string;
|
|
3889
4634
|
accountId: string;
|
|
3890
4635
|
workspaceId: string;
|
|
4636
|
+
scope: "organization" | "workspace" | "user";
|
|
4637
|
+
generation: number;
|
|
4638
|
+
status: "active" | "revoked";
|
|
3891
4639
|
name: string;
|
|
3892
4640
|
description: string | null;
|
|
3893
4641
|
variables: VariableSetVariableMetadata[];
|
|
@@ -3902,6 +4650,8 @@ export type WorkspaceEnvironmentVariableMetadata = VariableSetVariableMetadata;
|
|
|
3902
4650
|
export type WorkspaceEnvironment = VariableSet;
|
|
3903
4651
|
|
|
3904
4652
|
export type CreateVariableSetRequest = {
|
|
4653
|
+
/** Omitted remains the legacy workspace-owned path. */
|
|
4654
|
+
scope?: "organization" | "workspace" | "user" | undefined;
|
|
3905
4655
|
name: string;
|
|
3906
4656
|
description?: string | undefined;
|
|
3907
4657
|
/** Initial variables. Values are write-only: they never come back on reads. */
|
|
@@ -4000,6 +4750,8 @@ export type Channel = {
|
|
|
4000
4750
|
workspaceId: string;
|
|
4001
4751
|
name: string;
|
|
4002
4752
|
description: string | null;
|
|
4753
|
+
pinned: boolean;
|
|
4754
|
+
sortOrder: number;
|
|
4003
4755
|
createdBy: string | null;
|
|
4004
4756
|
createdAt: string;
|
|
4005
4757
|
updatedAt: string;
|
|
@@ -4013,6 +4765,12 @@ export type CreateChannelRequest = {
|
|
|
4013
4765
|
export type UpdateChannelRequest = {
|
|
4014
4766
|
name?: string;
|
|
4015
4767
|
description?: string | null;
|
|
4768
|
+
pinned?: boolean;
|
|
4769
|
+
};
|
|
4770
|
+
|
|
4771
|
+
/** Complete workspace project order. It is replaced atomically after a drag. */
|
|
4772
|
+
export type ReorderChannelsRequest = {
|
|
4773
|
+
channelIds: string[];
|
|
4016
4774
|
};
|
|
4017
4775
|
|
|
4018
4776
|
/** Re-files one session; null moves it back to the unfiled inbox. */
|
|
@@ -4024,6 +4782,9 @@ export type Rig = {
|
|
|
4024
4782
|
id: string;
|
|
4025
4783
|
accountId: string;
|
|
4026
4784
|
workspaceId: string;
|
|
4785
|
+
scope: ResourceAuthorityScope;
|
|
4786
|
+
generation: number;
|
|
4787
|
+
status: "active" | "revoked";
|
|
4027
4788
|
name: string;
|
|
4028
4789
|
description: string | null;
|
|
4029
4790
|
createdBy: string | null;
|
|
@@ -4068,6 +4829,7 @@ export type RigChange = {
|
|
|
4068
4829
|
};
|
|
4069
4830
|
|
|
4070
4831
|
export type CreateRigRequest = {
|
|
4832
|
+
scope?: ResourceAuthorityScope;
|
|
4071
4833
|
name: string;
|
|
4072
4834
|
description?: string | undefined;
|
|
4073
4835
|
image?: string | undefined;
|
|
@@ -4464,6 +5226,7 @@ export type Document = {
|
|
|
4464
5226
|
authorityKind: DocumentAuthorityKind;
|
|
4465
5227
|
authorityWorkspaceId: string | null;
|
|
4466
5228
|
authoritySubjectId: string | null;
|
|
5229
|
+
authorityId?: string | null | undefined;
|
|
4467
5230
|
visibility: DocumentVisibility;
|
|
4468
5231
|
createdBy: string | null;
|
|
4469
5232
|
agentAccess: boolean;
|
|
@@ -4539,6 +5302,55 @@ export type MoveDocumentRequest = {
|
|
|
4539
5302
|
targetBaseId?: string | undefined;
|
|
4540
5303
|
};
|
|
4541
5304
|
|
|
5305
|
+
export type DocumentAuthorityTuple = {
|
|
5306
|
+
kind: DocumentAuthorityKind;
|
|
5307
|
+
workspaceId: string | null;
|
|
5308
|
+
subjectId: string | null;
|
|
5309
|
+
authorityId: string | null;
|
|
5310
|
+
};
|
|
5311
|
+
|
|
5312
|
+
export type ReclassifyDocumentAuthorityRequest = {
|
|
5313
|
+
operationId: string;
|
|
5314
|
+
expectedAuthority: DocumentAuthorityTuple;
|
|
5315
|
+
targetAuthorityKind: DocumentAuthorityKind;
|
|
5316
|
+
};
|
|
5317
|
+
|
|
5318
|
+
export type DocumentAuthorityReclassification = {
|
|
5319
|
+
operationId: string;
|
|
5320
|
+
documentId: string;
|
|
5321
|
+
previousAuthority: DocumentAuthorityTuple;
|
|
5322
|
+
authority: DocumentAuthorityTuple;
|
|
5323
|
+
createdAt: string;
|
|
5324
|
+
};
|
|
5325
|
+
|
|
5326
|
+
export type ListDocumentAuthorityReclassificationsOptions = {
|
|
5327
|
+
limit?: number | undefined;
|
|
5328
|
+
cursor?: string | undefined;
|
|
5329
|
+
};
|
|
5330
|
+
|
|
5331
|
+
export type ListDocumentAuthorityReclassificationsResponse = {
|
|
5332
|
+
receipts: DocumentAuthorityReclassification[];
|
|
5333
|
+
hasMore: boolean;
|
|
5334
|
+
nextCursor: string | null;
|
|
5335
|
+
};
|
|
5336
|
+
|
|
5337
|
+
export type RunDocumentDefaultCollectionBackfillRequest = {
|
|
5338
|
+
runId: string;
|
|
5339
|
+
operationId: string;
|
|
5340
|
+
batchSize?: number | undefined;
|
|
5341
|
+
};
|
|
5342
|
+
|
|
5343
|
+
export type DocumentDefaultCollectionBackfill = {
|
|
5344
|
+
runId: string;
|
|
5345
|
+
operationId: string;
|
|
5346
|
+
status: "running" | "completed";
|
|
5347
|
+
lastWorkspaceId: string | null;
|
|
5348
|
+
processedCount: number;
|
|
5349
|
+
createdCount: number;
|
|
5350
|
+
adoptedCount: number;
|
|
5351
|
+
completedAt: string | null;
|
|
5352
|
+
};
|
|
5353
|
+
|
|
4542
5354
|
export type DocumentSearchRequest = {
|
|
4543
5355
|
query: string;
|
|
4544
5356
|
baseIds?: string[] | undefined;
|
|
@@ -4689,6 +5501,30 @@ export type CapabilityPackScheduledTaskTemplate = {
|
|
|
4689
5501
|
prompt?: string | undefined;
|
|
4690
5502
|
};
|
|
4691
5503
|
|
|
5504
|
+
export type CapabilityPackAutomationTemplate = {
|
|
5505
|
+
id: string;
|
|
5506
|
+
name: string;
|
|
5507
|
+
description: string;
|
|
5508
|
+
adapterId: string;
|
|
5509
|
+
eventTypes: string[];
|
|
5510
|
+
sessionTemplate: {
|
|
5511
|
+
prompt: string;
|
|
5512
|
+
instructions: string | null;
|
|
5513
|
+
resources: ResourceRef[];
|
|
5514
|
+
skills: CapabilityPackSkill[];
|
|
5515
|
+
tools: ToolRef[];
|
|
5516
|
+
firstPartyMcpTools: string[];
|
|
5517
|
+
firstPartyMcpPermissions: Permission[];
|
|
5518
|
+
model: string | null;
|
|
5519
|
+
reasoningEffort: ReasoningEffort | null;
|
|
5520
|
+
sandboxBackend: SandboxBackend | null;
|
|
5521
|
+
policyRole: string | null;
|
|
5522
|
+
metadata: Record<string, unknown>;
|
|
5523
|
+
};
|
|
5524
|
+
configuration: Record<string, unknown>;
|
|
5525
|
+
connectionRequirement: string | null;
|
|
5526
|
+
};
|
|
5527
|
+
|
|
4692
5528
|
export type CapabilityPackSkillFile = {
|
|
4693
5529
|
path: string;
|
|
4694
5530
|
content: string;
|
|
@@ -4771,6 +5607,7 @@ export type CapabilityPack = {
|
|
|
4771
5607
|
connectors: CapabilityPackConnector[];
|
|
4772
5608
|
knowledge: CapabilityPackKnowledge[];
|
|
4773
5609
|
scheduledTaskTemplates: CapabilityPackScheduledTaskTemplate[];
|
|
5610
|
+
automationTemplates?: CapabilityPackAutomationTemplate[] | undefined;
|
|
4774
5611
|
variableSet?: CapabilityPackVariableSetSpec | undefined;
|
|
4775
5612
|
metadata: Record<string, unknown>;
|
|
4776
5613
|
};
|
|
@@ -4875,6 +5712,31 @@ export type RegisterCapabilityPackRequest = {
|
|
|
4875
5712
|
prompt?: string | undefined;
|
|
4876
5713
|
}[]
|
|
4877
5714
|
| undefined;
|
|
5715
|
+
automationTemplates?:
|
|
5716
|
+
| {
|
|
5717
|
+
id: string;
|
|
5718
|
+
name: string;
|
|
5719
|
+
description: string;
|
|
5720
|
+
adapterId: string;
|
|
5721
|
+
eventTypes: string[];
|
|
5722
|
+
sessionTemplate: {
|
|
5723
|
+
prompt: string;
|
|
5724
|
+
instructions?: string | null | undefined;
|
|
5725
|
+
resources?: ResourceRef[] | undefined;
|
|
5726
|
+
skills?: CapabilityPackSkill[] | undefined;
|
|
5727
|
+
tools?: ToolRef[] | undefined;
|
|
5728
|
+
firstPartyMcpTools?: string[] | undefined;
|
|
5729
|
+
firstPartyMcpPermissions?: Permission[] | undefined;
|
|
5730
|
+
model?: string | null | undefined;
|
|
5731
|
+
reasoningEffort?: ReasoningEffort | null | undefined;
|
|
5732
|
+
sandboxBackend?: SandboxBackend | null | undefined;
|
|
5733
|
+
policyRole?: string | null | undefined;
|
|
5734
|
+
metadata?: Record<string, unknown> | undefined;
|
|
5735
|
+
};
|
|
5736
|
+
configuration?: Record<string, unknown> | undefined;
|
|
5737
|
+
connectionRequirement?: string | null | undefined;
|
|
5738
|
+
}[]
|
|
5739
|
+
| undefined;
|
|
4878
5740
|
variableSet?:
|
|
4879
5741
|
| {
|
|
4880
5742
|
description: string;
|
|
@@ -4911,6 +5773,100 @@ export type PackInstallation = {
|
|
|
4911
5773
|
updatedAt: string;
|
|
4912
5774
|
};
|
|
4913
5775
|
|
|
5776
|
+
// --- OpenGeni Review Bot ------------------------------------------------------------
|
|
5777
|
+
|
|
5778
|
+
export type PrReviewProvider = GitCredentialProvider;
|
|
5779
|
+
export type PrReviewCredentialKind = "github_app" | "provider_token";
|
|
5780
|
+
export type PrReviewWebhookAuthKind = "hmac_sha256" | "shared_token" | "basic";
|
|
5781
|
+
|
|
5782
|
+
export type CreatePrReviewAppRegistrationRequest = {
|
|
5783
|
+
name: string;
|
|
5784
|
+
provider: PrReviewProvider;
|
|
5785
|
+
providerBaseUrl?: string | undefined;
|
|
5786
|
+
appId?: string | undefined;
|
|
5787
|
+
credentialKind: PrReviewCredentialKind;
|
|
5788
|
+
privateKey?: string | undefined;
|
|
5789
|
+
accessToken?: string | undefined;
|
|
5790
|
+
accessTokenExpiresAt?: string | null | undefined;
|
|
5791
|
+
webhookSecret: string;
|
|
5792
|
+
webhookUsername?: string | undefined;
|
|
5793
|
+
};
|
|
5794
|
+
|
|
5795
|
+
export type UpdatePrReviewAppRegistrationRequest = {
|
|
5796
|
+
name?: string | undefined;
|
|
5797
|
+
privateKey?: string | undefined;
|
|
5798
|
+
accessToken?: string | undefined;
|
|
5799
|
+
accessTokenExpiresAt?: string | null | undefined;
|
|
5800
|
+
webhookSecret?: string | undefined;
|
|
5801
|
+
webhookUsername?: string | undefined;
|
|
5802
|
+
status?: "active" | "disabled" | undefined;
|
|
5803
|
+
};
|
|
5804
|
+
|
|
5805
|
+
export type PrReviewAppRegistration = {
|
|
5806
|
+
id: string;
|
|
5807
|
+
sourceId: string;
|
|
5808
|
+
accountId: string;
|
|
5809
|
+
workspaceId: string;
|
|
5810
|
+
name: string;
|
|
5811
|
+
provider: PrReviewProvider;
|
|
5812
|
+
providerBaseUrl: string;
|
|
5813
|
+
appId: string | null;
|
|
5814
|
+
credentialKind: PrReviewCredentialKind;
|
|
5815
|
+
hasCredential: boolean;
|
|
5816
|
+
accessTokenExpiresAt: string | null;
|
|
5817
|
+
webhookAuthKind: PrReviewWebhookAuthKind;
|
|
5818
|
+
hasWebhookSecret: boolean;
|
|
5819
|
+
webhookUsername: string | null;
|
|
5820
|
+
webhookPath: string;
|
|
5821
|
+
status: "active" | "disabled";
|
|
5822
|
+
createdBySubjectId: string;
|
|
5823
|
+
createdAt: string;
|
|
5824
|
+
updatedAt: string;
|
|
5825
|
+
};
|
|
5826
|
+
|
|
5827
|
+
export type CreatePrReviewRepositoryBindingRequest = {
|
|
5828
|
+
registrationId: string;
|
|
5829
|
+
repositoryUri: string;
|
|
5830
|
+
repositoryFullName: string;
|
|
5831
|
+
providerRepositoryId: string | number;
|
|
5832
|
+
installationId?: string | number | undefined;
|
|
5833
|
+
projectId?: string | number | undefined;
|
|
5834
|
+
model?: string | null | undefined;
|
|
5835
|
+
additionalInstructions?: string | null | undefined;
|
|
5836
|
+
status?: "active" | "disabled" | undefined;
|
|
5837
|
+
};
|
|
5838
|
+
|
|
5839
|
+
export type UpdatePrReviewRepositoryBindingRequest = {
|
|
5840
|
+
model?: string | null | undefined;
|
|
5841
|
+
additionalInstructions?: string | null | undefined;
|
|
5842
|
+
status?: "active" | "disabled" | undefined;
|
|
5843
|
+
};
|
|
5844
|
+
|
|
5845
|
+
export type PrReviewRepositoryBinding = {
|
|
5846
|
+
id: string;
|
|
5847
|
+
triggerId: string;
|
|
5848
|
+
accountId: string;
|
|
5849
|
+
workspaceId: string;
|
|
5850
|
+
registrationId: string;
|
|
5851
|
+
provider: PrReviewProvider;
|
|
5852
|
+
repositoryUri: string;
|
|
5853
|
+
repositoryFullName: string;
|
|
5854
|
+
providerRepositoryId: string;
|
|
5855
|
+
installationId: string | null;
|
|
5856
|
+
projectId: string | null;
|
|
5857
|
+
model: string | null;
|
|
5858
|
+
additionalInstructions: string | null;
|
|
5859
|
+
status: "active" | "disabled";
|
|
5860
|
+
createdBySubjectId: string;
|
|
5861
|
+
createdAt: string;
|
|
5862
|
+
updatedAt: string;
|
|
5863
|
+
};
|
|
5864
|
+
|
|
5865
|
+
export type ListPrReviewConfigurationResponse = {
|
|
5866
|
+
registrations: PrReviewAppRegistration[];
|
|
5867
|
+
repositories: PrReviewRepositoryBinding[];
|
|
5868
|
+
};
|
|
5869
|
+
|
|
4914
5870
|
export type EnablePackRequest = {
|
|
4915
5871
|
variableSetId?: string | undefined;
|
|
4916
5872
|
/** @deprecated use variableSetId */
|
|
@@ -5314,6 +6270,8 @@ export type IntegrationFacetBindingSummary = {
|
|
|
5314
6270
|
lastErrorCode: string | null;
|
|
5315
6271
|
createdAt: string;
|
|
5316
6272
|
updatedAt: string;
|
|
6273
|
+
directlyOwned: boolean;
|
|
6274
|
+
owners: CapabilityComponentOwner[];
|
|
5317
6275
|
};
|
|
5318
6276
|
|
|
5319
6277
|
export type IntegrationInstanceFacetsResponse = {
|
|
@@ -5356,6 +6314,20 @@ export type IntegrationFacetRemovalResult = {
|
|
|
5356
6314
|
remainingOwners: CapabilityComponentOwner[];
|
|
5357
6315
|
};
|
|
5358
6316
|
|
|
6317
|
+
/**
|
|
6318
|
+
* Presentation-only consent copy served with an integration or connector.
|
|
6319
|
+
* Never grants a scope or replaces server-side authorization; the UI keeps a
|
|
6320
|
+
* generic fallback for any omitted field.
|
|
6321
|
+
*/
|
|
6322
|
+
export type IntegrationPresentation = {
|
|
6323
|
+
providerName?: string | undefined;
|
|
6324
|
+
icon?: "calendar" | "cloud" | "contacts" | "files" | "mail" | undefined;
|
|
6325
|
+
introduction?: string | undefined;
|
|
6326
|
+
capabilities?: { title: string; description: string }[] | undefined;
|
|
6327
|
+
permissionSummary?: string | undefined;
|
|
6328
|
+
scopeLabels?: Record<string, { label: string; description: string }> | undefined;
|
|
6329
|
+
};
|
|
6330
|
+
|
|
5359
6331
|
export type IntegrationDefinitionSummary = {
|
|
5360
6332
|
id: string;
|
|
5361
6333
|
name: string;
|
|
@@ -5369,6 +6341,7 @@ export type IntegrationDefinitionSummary = {
|
|
|
5369
6341
|
kind: "oauth2";
|
|
5370
6342
|
scopes: string[];
|
|
5371
6343
|
};
|
|
6344
|
+
presentation?: IntegrationPresentation | undefined;
|
|
5372
6345
|
facets: IntegrationFacetDefinitionSummary[];
|
|
5373
6346
|
};
|
|
5374
6347
|
|
|
@@ -5925,6 +6898,30 @@ export type InsightsModelCallRow = {
|
|
|
5925
6898
|
pricingSource: InsightsPricingSource | null;
|
|
5926
6899
|
};
|
|
5927
6900
|
|
|
6901
|
+
export type ModelContextContributionSource =
|
|
6902
|
+
| "workspace_instruction_policy"
|
|
6903
|
+
| "legacy_workspace_instructions"
|
|
6904
|
+
| "preference_registry_descriptor"
|
|
6905
|
+
| "company_profile"
|
|
6906
|
+
| "legacy_memory_v1"
|
|
6907
|
+
| "runtime_skill_catalog";
|
|
6908
|
+
|
|
6909
|
+
export type InsightsPromptContributionRow = {
|
|
6910
|
+
source: ModelContextContributionSource;
|
|
6911
|
+
items: number;
|
|
6912
|
+
utf8Bytes: number;
|
|
6913
|
+
estimatedTokens: number;
|
|
6914
|
+
calls: number;
|
|
6915
|
+
};
|
|
6916
|
+
|
|
6917
|
+
export type InsightsPromptContributions = {
|
|
6918
|
+
estimatedTokens: number;
|
|
6919
|
+
utf8Bytes: number;
|
|
6920
|
+
coveredCalls: number;
|
|
6921
|
+
totalCalls: number;
|
|
6922
|
+
sources: InsightsPromptContributionRow[];
|
|
6923
|
+
};
|
|
6924
|
+
|
|
5928
6925
|
export type WorkspaceInsightsSnapshot = {
|
|
5929
6926
|
range: InsightsRange;
|
|
5930
6927
|
rangeLabel: string;
|
|
@@ -5942,6 +6939,7 @@ export type WorkspaceInsightsSnapshot = {
|
|
|
5942
6939
|
drivers: InsightsSpendDriver[];
|
|
5943
6940
|
schedules: InsightsScheduleRow[];
|
|
5944
6941
|
recentCalls: InsightsModelCallRow[];
|
|
6942
|
+
promptContributions: InsightsPromptContributions;
|
|
5945
6943
|
warmSeconds: number;
|
|
5946
6944
|
priorWarmSeconds: number;
|
|
5947
6945
|
warmGroups: InsightsWarmGroupRow[];
|
|
@@ -6000,18 +6998,32 @@ export type CreateCheckoutResponse = {
|
|
|
6000
6998
|
url: string;
|
|
6001
6999
|
};
|
|
6002
7000
|
|
|
7001
|
+
export type CreateBillingPortalRequest = {
|
|
7002
|
+
accountId?: string | undefined;
|
|
7003
|
+
returnUrl?: string | undefined;
|
|
7004
|
+
};
|
|
7005
|
+
|
|
7006
|
+
export type CreateBillingPortalResponse = {
|
|
7007
|
+
portalSessionId: string;
|
|
7008
|
+
url: string;
|
|
7009
|
+
};
|
|
7010
|
+
|
|
6003
7011
|
export type UserMessageEventInput = {
|
|
6004
7012
|
type: "user.message";
|
|
6005
7013
|
clientEventId?: string | undefined;
|
|
6006
7014
|
payload: {
|
|
6007
7015
|
text: string;
|
|
6008
7016
|
annotations?: SubmittedTimelineAnnotation[] | undefined;
|
|
6009
|
-
|
|
7017
|
+
modelContext?: string | undefined;
|
|
6010
7018
|
resources?: ResourceRef[] | undefined;
|
|
6011
7019
|
model?: string | undefined;
|
|
6012
7020
|
reasoningEffort?: ReasoningEffort | undefined;
|
|
6013
7021
|
latencyMode?: LatencyMode | undefined;
|
|
7022
|
+
controlEtag?: string | undefined;
|
|
7023
|
+
expectedDraftRevision?: number | undefined;
|
|
6014
7024
|
mcpCredentialUpdates?: SessionMcpCredentialUpdateInput[] | undefined;
|
|
7025
|
+
connectionAuthorities?: McpConnectionAuthoritySelection[] | undefined;
|
|
7026
|
+
personalResourceAttachment?: PersonalResourceAttachmentIntent | undefined;
|
|
6015
7027
|
};
|
|
6016
7028
|
};
|
|
6017
7029
|
|
|
@@ -6073,13 +7085,92 @@ export type MachineState =
|
|
|
6073
7085
|
| "display_unavailable"
|
|
6074
7086
|
| "enrolling";
|
|
6075
7087
|
|
|
6076
|
-
export type MachineKind = "modal" | "selfhosted";
|
|
7088
|
+
export type MachineKind = "modal" | "selfhosted" | "opensandbox";
|
|
7089
|
+
|
|
7090
|
+
export type MachineConnectionAuthority = {
|
|
7091
|
+
state: "not_applicable" | "unclaimed" | "active" | "expired";
|
|
7092
|
+
generation: number;
|
|
7093
|
+
supersededCount: number;
|
|
7094
|
+
leaseExpiresAt: string | null;
|
|
7095
|
+
duplicateRunnerDeniedCount: number;
|
|
7096
|
+
duplicateRunnerDeniedAt: string | null;
|
|
7097
|
+
};
|
|
7098
|
+
|
|
7099
|
+
export type MachineRuntimeCapabilities = {
|
|
7100
|
+
exec: boolean;
|
|
7101
|
+
filesystem: boolean;
|
|
7102
|
+
git: boolean;
|
|
7103
|
+
pty: boolean;
|
|
7104
|
+
desktop: boolean;
|
|
7105
|
+
opStream: boolean;
|
|
7106
|
+
browserBridge: boolean;
|
|
7107
|
+
operationResourcePolicy: boolean;
|
|
7108
|
+
operationCpuQuota: boolean;
|
|
7109
|
+
};
|
|
7110
|
+
|
|
7111
|
+
export type MachineUpdateStatus =
|
|
7112
|
+
| "requested"
|
|
7113
|
+
| "accepted"
|
|
7114
|
+
| "waiting_for_idle"
|
|
7115
|
+
| "downloading"
|
|
7116
|
+
| "verifying"
|
|
7117
|
+
| "applying"
|
|
7118
|
+
| "restarting"
|
|
7119
|
+
| "succeeded"
|
|
7120
|
+
| "failed";
|
|
7121
|
+
|
|
7122
|
+
export type MachineUpdateState = {
|
|
7123
|
+
operationId: string;
|
|
7124
|
+
status: MachineUpdateStatus;
|
|
7125
|
+
targetVersion: string;
|
|
7126
|
+
expectedBinarySha256: string | null;
|
|
7127
|
+
errorCode: string | null;
|
|
7128
|
+
retryable: boolean;
|
|
7129
|
+
rolledBack: boolean;
|
|
7130
|
+
requestedAt: string;
|
|
7131
|
+
updatedAt: string;
|
|
7132
|
+
completedAt: string | null;
|
|
7133
|
+
};
|
|
7134
|
+
|
|
7135
|
+
export type MachineRuntime = {
|
|
7136
|
+
installedVersion: string | null;
|
|
7137
|
+
binarySha256: string | null;
|
|
7138
|
+
updateChannel: "stable" | "beta" | null;
|
|
7139
|
+
desiredVersion: string | null;
|
|
7140
|
+
versionState: "unknown" | "current" | "outdated" | "ahead" | "updating" | "update_failed";
|
|
7141
|
+
capabilities: MachineRuntimeCapabilities;
|
|
7142
|
+
update: MachineUpdateState | null;
|
|
7143
|
+
};
|
|
7144
|
+
|
|
7145
|
+
export type UpdateMachineAgentResponse = {
|
|
7146
|
+
operationId: string;
|
|
7147
|
+
accepted: boolean;
|
|
7148
|
+
targetVersion: string;
|
|
7149
|
+
};
|
|
7150
|
+
|
|
7151
|
+
export type MachineOperationPolicy = {
|
|
7152
|
+
memoryMaxBytes: number | null;
|
|
7153
|
+
memoryHighBytes: number | null;
|
|
7154
|
+
cpuMaxMillicores: number | null;
|
|
7155
|
+
revision: number;
|
|
7156
|
+
updatedAt: string | null;
|
|
7157
|
+
};
|
|
7158
|
+
|
|
7159
|
+
export type UpdateMachineOperationPolicyRequest = {
|
|
7160
|
+
memoryMaxBytes: number | null;
|
|
7161
|
+
memoryHighBytes: number | null;
|
|
7162
|
+
/** Omitted preserves the current CPU limit for older/partial clients; null clears. */
|
|
7163
|
+
cpuMaxMillicores?: number | null;
|
|
7164
|
+
expectedRevision: number;
|
|
7165
|
+
};
|
|
6077
7166
|
|
|
6078
7167
|
/** A machine as the Machines dashboard renders it (an enrolled selfhosted machine
|
|
6079
7168
|
* or the session's synthetic Modal group box, `isSessionGroup: true`). */
|
|
6080
7169
|
export type MachineView = {
|
|
6081
7170
|
sandboxId: string;
|
|
6082
7171
|
enrollmentId: string | null;
|
|
7172
|
+
scope: ResourceAuthorityScope;
|
|
7173
|
+
generation: number;
|
|
6083
7174
|
name: string;
|
|
6084
7175
|
kind: MachineKind;
|
|
6085
7176
|
state: MachineState;
|
|
@@ -6098,6 +7189,14 @@ export type MachineView = {
|
|
|
6098
7189
|
allowScreenControl: boolean;
|
|
6099
7190
|
sharedSessionCount: number;
|
|
6100
7191
|
lastSeenAt: string | null;
|
|
7192
|
+
/** Secret-free single-runner authority diagnostics. */
|
|
7193
|
+
connectionAuthority: MachineConnectionAuthority;
|
|
7194
|
+
/** Exact build/update truth. Null means the runner predates runtime Hello
|
|
7195
|
+
* reporting or this is a managed-session group without a connected agent. */
|
|
7196
|
+
runtime: MachineRuntime | null;
|
|
7197
|
+
/** Explicit per-enrollment command memory policy. Null only for managed
|
|
7198
|
+
* session boxes; null limits on a real machine mean unrestricted. */
|
|
7199
|
+
operationPolicy: MachineOperationPolicy | null;
|
|
6101
7200
|
metrics: MetricSample | null;
|
|
6102
7201
|
};
|
|
6103
7202
|
|
|
@@ -6179,6 +7278,7 @@ export type SwapActiveSandboxResponse = {
|
|
|
6179
7278
|
|
|
6180
7279
|
/** Mirror of `@opengeni/contracts` EnrollmentOs. */
|
|
6181
7280
|
export type EnrollmentOs = "linux" | "macos" | "windows";
|
|
7281
|
+
export type ResourceAuthorityScope = "organization" | "workspace" | "user";
|
|
6182
7282
|
|
|
6183
7283
|
/** POST /v1/enrollments/device/lookup body. */
|
|
6184
7284
|
export type DeviceEnrollmentLookupRequest = {
|
|
@@ -6206,6 +7306,7 @@ export type DeviceEnrollmentLookupResponse = {
|
|
|
6206
7306
|
export type DeviceEnrollmentApproveRequest = {
|
|
6207
7307
|
userCode: string;
|
|
6208
7308
|
allowScreenControl?: boolean;
|
|
7309
|
+
scope?: ResourceAuthorityScope;
|
|
6209
7310
|
};
|
|
6210
7311
|
|
|
6211
7312
|
/** POST /v1/workspaces/:ws/enrollments/device/approve response. */
|