@opengeni/contracts 0.31.1 → 0.35.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.
@@ -864,8 +864,217 @@ function isPlainRecord(value) {
864
864
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
865
865
  }
866
866
 
867
- // src/artifacts.ts
867
+ // src/workspace-instruction-policies.ts
868
868
  import { z as z2 } from "zod";
869
+ var WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS = 262144;
870
+ var WORKSPACE_INSTRUCTION_POLICY_PROMPT_MAX_UTF8_BYTES = 131072;
871
+ var WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS = 4096;
872
+ var WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS = 64;
873
+ var WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS = 512;
874
+ var WorkspaceInstructionPolicyKind = z2.enum(["charter", "policy"]);
875
+ var WorkspaceInstructionPolicyScope = z2.enum(["global", "role"]);
876
+ var WorkspaceInstructionPolicyProvenanceSource = z2.enum([
877
+ "human",
878
+ "onboarding",
879
+ "knowledge_proposal",
880
+ "legacy_import"
881
+ ]);
882
+ var WorkspaceInstructionPolicyDraftProvenanceSource = z2.enum([
883
+ "human",
884
+ "onboarding",
885
+ "knowledge_proposal"
886
+ ]);
887
+ var WorkspaceInstructionPolicyActivationType = z2.enum(["activate", "rollback"]);
888
+ var WorkspaceInstructionPolicyRoleKey = z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS).regex(/^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/);
889
+ function normalizeWorkspaceInstructionPolicyRoleKey(value) {
890
+ return value.normalize("NFKC").trim().toLowerCase().replace(/\s+/gu, "-").replace(/-+/g, "-");
891
+ }
892
+ var WorkspaceInstructionPolicyRoleKeyInput = z2.string().transform(normalizeWorkspaceInstructionPolicyRoleKey).pipe(WorkspaceInstructionPolicyRoleKey);
893
+ var WorkspaceInstructionPolicyRoleSource = z2.enum([
894
+ "session_binding",
895
+ "metadata_fallback",
896
+ "none",
897
+ "invalid_metadata_fallback"
898
+ ]);
899
+ var targetShape = {
900
+ kind: WorkspaceInstructionPolicyKind,
901
+ scope: WorkspaceInstructionPolicyScope,
902
+ roleKey: WorkspaceInstructionPolicyRoleKey.nullable()
903
+ };
904
+ function validateTarget(value, context) {
905
+ if (value.kind === "charter" && (value.scope !== "global" || value.roleKey !== null)) {
906
+ context.addIssue({
907
+ code: "custom",
908
+ path: ["scope"],
909
+ message: "a charter must use global scope with no role key"
910
+ });
911
+ }
912
+ if (value.scope === "global" && value.roleKey !== null) {
913
+ context.addIssue({
914
+ code: "custom",
915
+ path: ["roleKey"],
916
+ message: "a global instruction policy must not have a role key"
917
+ });
918
+ }
919
+ if (value.scope === "role" && (value.kind !== "policy" || value.roleKey === null)) {
920
+ context.addIssue({
921
+ code: "custom",
922
+ path: ["roleKey"],
923
+ message: "role scope requires a policy and a normalized role key"
924
+ });
925
+ }
926
+ }
927
+ var WorkspaceInstructionPolicyTarget = z2.object(targetShape).superRefine(validateTarget);
928
+ var WorkspaceInstructionPolicyProvenance = z2.object({
929
+ source: WorkspaceInstructionPolicyProvenanceSource,
930
+ sourceId: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS).nullable()
931
+ });
932
+ var revisionIdentityShape = {
933
+ id: z2.string().uuid(),
934
+ revision: z2.number().int().positive(),
935
+ contentHash: z2.string().regex(/^[0-9a-f]{64}$/)
936
+ };
937
+ var WorkspaceInstructionPolicyRevisionIdentity = z2.object(revisionIdentityShape);
938
+ var WorkspaceInstructionPolicyRevision = z2.object({
939
+ ...revisionIdentityShape,
940
+ operationId: z2.string().uuid(),
941
+ accountId: z2.string().uuid(),
942
+ workspaceId: z2.string().uuid(),
943
+ ...targetShape,
944
+ content: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS),
945
+ provenance: WorkspaceInstructionPolicyProvenance,
946
+ supersedesRevisionId: z2.string().uuid().nullable(),
947
+ createdBySubjectId: z2.string().min(1),
948
+ createdAt: z2.string().datetime()
949
+ });
950
+ var WorkspaceInstructionPolicyHead = z2.object({
951
+ workspaceId: z2.string().uuid(),
952
+ ...targetShape,
953
+ revisionId: z2.string().uuid(),
954
+ revision: z2.number().int().positive(),
955
+ contentHash: z2.string().regex(/^[0-9a-f]{64}$/),
956
+ activationVersion: z2.number().int().positive(),
957
+ activatedAt: z2.string().datetime()
958
+ });
959
+ var WorkspaceInstructionPolicySnapshotProvenance = z2.object({
960
+ source: WorkspaceInstructionPolicyProvenanceSource,
961
+ sourceIdHash: z2.string().regex(/^[0-9a-f]{64}$/).nullable()
962
+ });
963
+ var WorkspaceInstructionPolicySnapshotEntry = z2.object({
964
+ kind: WorkspaceInstructionPolicyKind,
965
+ scope: WorkspaceInstructionPolicyScope,
966
+ roleKey: WorkspaceInstructionPolicyRoleKey.nullable(),
967
+ revisionId: z2.string().uuid(),
968
+ revision: z2.number().int().positive(),
969
+ contentHash: z2.string().regex(/^[0-9a-f]{64}$/),
970
+ activationVersion: z2.number().int().positive(),
971
+ activatedAt: z2.string().datetime(),
972
+ provenance: WorkspaceInstructionPolicySnapshotProvenance
973
+ });
974
+ var WorkspaceInstructionPolicySnapshot = z2.object({
975
+ id: z2.string().uuid(),
976
+ workspaceId: z2.string().uuid(),
977
+ sessionId: z2.string().uuid(),
978
+ turnId: z2.string().uuid(),
979
+ attemptId: z2.string().uuid(),
980
+ executionGeneration: z2.number().int().positive(),
981
+ policyRole: WorkspaceInstructionPolicyRoleKey.nullable(),
982
+ roleSource: WorkspaceInstructionPolicyRoleSource,
983
+ entryHash: z2.string().regex(/^[0-9a-f]{64}$/),
984
+ entries: z2.array(WorkspaceInstructionPolicySnapshotEntry).max(3),
985
+ createdAt: z2.string().datetime()
986
+ });
987
+ var ResolvedWorkspaceInstructionPolicySnapshotEntry = WorkspaceInstructionPolicySnapshotEntry.extend({
988
+ content: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS)
989
+ });
990
+ var ResolvedWorkspaceInstructionPolicySnapshot = WorkspaceInstructionPolicySnapshot.extend(
991
+ {
992
+ entries: z2.array(ResolvedWorkspaceInstructionPolicySnapshotEntry).max(3)
993
+ }
994
+ );
995
+ var WorkspaceInstructionPolicyActivationEvent = z2.object({
996
+ id: z2.string().uuid(),
997
+ operationId: z2.string().uuid(),
998
+ accountId: z2.string().uuid(),
999
+ workspaceId: z2.string().uuid(),
1000
+ ...targetShape,
1001
+ type: WorkspaceInstructionPolicyActivationType,
1002
+ activationVersion: z2.number().int().positive(),
1003
+ oldRevision: WorkspaceInstructionPolicyRevisionIdentity.nullable(),
1004
+ newRevision: WorkspaceInstructionPolicyRevisionIdentity,
1005
+ actorSubjectId: z2.string().min(1),
1006
+ reason: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS),
1007
+ createdAt: z2.string().datetime()
1008
+ });
1009
+ var CreateWorkspaceInstructionPolicyDraftRequest = z2.object({
1010
+ operationId: z2.string().uuid().optional(),
1011
+ kind: WorkspaceInstructionPolicyKind,
1012
+ scope: WorkspaceInstructionPolicyScope,
1013
+ roleKey: WorkspaceInstructionPolicyRoleKeyInput.nullable().default(null),
1014
+ content: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS).refine((value) => value.trim().length > 0, "instruction policy content must not be blank"),
1015
+ provenanceSource: WorkspaceInstructionPolicyDraftProvenanceSource.default("human"),
1016
+ provenanceSourceId: z2.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS).nullable().default(null),
1017
+ supersedesRevisionId: z2.string().uuid().nullable().default(null)
1018
+ }).superRefine(validateTarget);
1019
+ var ImportLegacyWorkspaceInstructionPolicyDraftRequest = z2.object({
1020
+ operationId: z2.string().uuid().optional(),
1021
+ supersedesRevisionId: z2.string().uuid().nullable().default(null)
1022
+ }).strict();
1023
+ var WorkspaceInstructionPolicyListQuery = z2.object({
1024
+ kind: WorkspaceInstructionPolicyKind.optional(),
1025
+ scope: WorkspaceInstructionPolicyScope.optional(),
1026
+ roleKey: WorkspaceInstructionPolicyRoleKeyInput.nullable().optional(),
1027
+ afterRevision: z2.coerce.number().int().positive().optional(),
1028
+ limit: z2.coerce.number().int().min(1).max(100).default(50)
1029
+ });
1030
+ var WorkspaceInstructionPolicyListResponse = z2.object({
1031
+ revisions: z2.array(WorkspaceInstructionPolicyRevision),
1032
+ activeHeads: z2.array(WorkspaceInstructionPolicyHead),
1033
+ activationEvents: z2.array(WorkspaceInstructionPolicyActivationEvent),
1034
+ nextAfterRevision: z2.number().int().positive().nullable()
1035
+ });
1036
+ var WorkspaceInstructionPolicyDiffRequest = z2.object({
1037
+ fromRevisionId: z2.string().uuid(),
1038
+ toRevisionId: z2.string().uuid()
1039
+ }).refine((value) => value.fromRevisionId !== value.toRevisionId, {
1040
+ message: "diff revisions must be different",
1041
+ path: ["toRevisionId"]
1042
+ });
1043
+ var WorkspaceInstructionPolicyDiffResponse = z2.object({
1044
+ from: WorkspaceInstructionPolicyRevision,
1045
+ to: WorkspaceInstructionPolicyRevision,
1046
+ format: z2.literal("unified"),
1047
+ diff: z2.string()
1048
+ });
1049
+ var ActivateWorkspaceInstructionPolicyRequest = z2.object({
1050
+ operationId: z2.string().uuid().optional(),
1051
+ expectedCurrentRevisionId: z2.string().uuid().nullable(),
1052
+ expectedActivationVersion: z2.number().int().nonnegative().optional(),
1053
+ reason: z2.string().trim().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS)
1054
+ });
1055
+ var RollbackWorkspaceInstructionPolicyRequest = z2.object({
1056
+ operationId: z2.string().uuid().optional(),
1057
+ targetRevisionId: z2.string().uuid(),
1058
+ expectedCurrentRevisionId: z2.string().uuid(),
1059
+ expectedActivationVersion: z2.number().int().positive().optional(),
1060
+ reason: z2.string().trim().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS)
1061
+ });
1062
+ var WorkspaceInstructionPolicyActivationResponse = z2.object({
1063
+ head: WorkspaceInstructionPolicyHead,
1064
+ event: WorkspaceInstructionPolicyActivationEvent
1065
+ });
1066
+ var WorkspaceInstructionPolicyConflictResponse = z2.object({
1067
+ code: z2.literal("WORKSPACE_INSTRUCTION_POLICY_CONFLICT"),
1068
+ message: z2.string(),
1069
+ currentHead: WorkspaceInstructionPolicyHead.nullable()
1070
+ });
1071
+ var WorkspaceInstructionPolicyOperationReuseResponse = z2.object({
1072
+ code: z2.literal("WORKSPACE_INSTRUCTION_POLICY_OPERATION_REUSED"),
1073
+ message: z2.string()
1074
+ });
1075
+
1076
+ // src/artifacts.ts
1077
+ import { z as z3 } from "zod";
869
1078
  var WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES = 512 * 1024;
870
1079
  var WORKSPACE_ARTIFACT_TITLE_MAX_CHARS = 120;
871
1080
  var WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS = 2e3;
@@ -873,72 +1082,72 @@ var WORKSPACE_ARTIFACT_LIST_MAX = 100;
873
1082
  var WORKSPACE_ARTIFACT_LIST_DEFAULT = 50;
874
1083
  var WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS = 512;
875
1084
  var encoder3 = new TextEncoder();
876
- var sha256 = z2.string().regex(/^[0-9a-f]{64}$/);
877
- var WorkspaceArtifactSlug = z2.string().trim().min(1).max(96).regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/);
878
- var WorkspaceArtifactStatus = z2.enum(["active", "archived"]);
879
- var WorkspaceArtifactVersion = z2.object({
880
- id: z2.string().uuid(),
881
- accountId: z2.string().uuid(),
882
- workspaceId: z2.string().uuid(),
883
- artifactId: z2.string().uuid(),
884
- revision: z2.number().int().positive(),
885
- contentType: z2.literal("text/html"),
1085
+ var sha256 = z3.string().regex(/^[0-9a-f]{64}$/);
1086
+ var WorkspaceArtifactSlug = z3.string().trim().min(1).max(96).regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/);
1087
+ var WorkspaceArtifactStatus = z3.enum(["active", "archived"]);
1088
+ var WorkspaceArtifactVersion = z3.object({
1089
+ id: z3.string().uuid(),
1090
+ accountId: z3.string().uuid(),
1091
+ workspaceId: z3.string().uuid(),
1092
+ artifactId: z3.string().uuid(),
1093
+ revision: z3.number().int().positive(),
1094
+ contentType: z3.literal("text/html"),
886
1095
  contentSha256: sha256,
887
- sizeBytes: z2.number().int().positive().max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES),
888
- sourceSessionId: z2.string().uuid().nullable(),
889
- sourceTurnId: z2.string().uuid().nullable(),
890
- sourceAttemptId: z2.string().uuid().nullable(),
891
- sourceExecutionGeneration: z2.number().int().positive().nullable(),
892
- createdBySubjectId: z2.string().min(1).max(1024),
893
- createdAt: z2.string().datetime({ offset: true })
894
- });
895
- var WorkspaceArtifact = z2.object({
896
- id: z2.string().uuid(),
897
- accountId: z2.string().uuid(),
898
- workspaceId: z2.string().uuid(),
1096
+ sizeBytes: z3.number().int().positive().max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES),
1097
+ sourceSessionId: z3.string().uuid().nullable(),
1098
+ sourceTurnId: z3.string().uuid().nullable(),
1099
+ sourceAttemptId: z3.string().uuid().nullable(),
1100
+ sourceExecutionGeneration: z3.number().int().positive().nullable(),
1101
+ createdBySubjectId: z3.string().min(1).max(1024),
1102
+ createdAt: z3.string().datetime({ offset: true })
1103
+ });
1104
+ var WorkspaceArtifact = z3.object({
1105
+ id: z3.string().uuid(),
1106
+ accountId: z3.string().uuid(),
1107
+ workspaceId: z3.string().uuid(),
899
1108
  slug: WorkspaceArtifactSlug,
900
- title: z2.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
901
- description: z2.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable(),
1109
+ title: z3.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
1110
+ description: z3.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable(),
902
1111
  status: WorkspaceArtifactStatus,
903
1112
  currentVersion: WorkspaceArtifactVersion.nullable(),
904
- createdBySubjectId: z2.string().min(1).max(1024),
905
- createdAt: z2.string().datetime({ offset: true }),
906
- updatedAt: z2.string().datetime({ offset: true })
1113
+ createdBySubjectId: z3.string().min(1).max(1024),
1114
+ createdAt: z3.string().datetime({ offset: true }),
1115
+ updatedAt: z3.string().datetime({ offset: true })
907
1116
  });
908
- var WorkspaceArtifactEventType = z2.enum(["published", "rolled_back"]);
909
- var WorkspaceArtifactEvent = z2.object({
910
- id: z2.string().uuid(),
911
- accountId: z2.string().uuid(),
912
- workspaceId: z2.string().uuid(),
913
- artifactId: z2.string().uuid(),
1117
+ var WorkspaceArtifactEventType = z3.enum(["published", "rolled_back"]);
1118
+ var WorkspaceArtifactEvent = z3.object({
1119
+ id: z3.string().uuid(),
1120
+ accountId: z3.string().uuid(),
1121
+ workspaceId: z3.string().uuid(),
1122
+ artifactId: z3.string().uuid(),
914
1123
  type: WorkspaceArtifactEventType,
915
- fromVersionId: z2.string().uuid().nullable(),
916
- toVersionId: z2.string().uuid(),
917
- sourceSessionId: z2.string().uuid().nullable(),
918
- sourceTurnId: z2.string().uuid().nullable(),
919
- sourceAttemptId: z2.string().uuid().nullable(),
920
- sourceExecutionGeneration: z2.number().int().positive().nullable(),
921
- actorSubjectId: z2.string().min(1).max(1024),
922
- reason: z2.string().min(1).max(4096),
923
- createdAt: z2.string().datetime({ offset: true })
924
- });
925
- var WorkspaceArtifactListQuery = z2.object({
926
- limit: z2.coerce.number().int().positive().max(WORKSPACE_ARTIFACT_LIST_MAX).default(WORKSPACE_ARTIFACT_LIST_DEFAULT),
927
- cursor: z2.string().min(1).max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).optional()
928
- });
929
- var WorkspaceArtifactListResponse = z2.object({
930
- artifacts: z2.array(WorkspaceArtifact).max(WORKSPACE_ARTIFACT_LIST_MAX),
931
- nextCursor: z2.string().max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).nullable(),
932
- truncated: z2.boolean()
933
- });
934
- var WorkspaceArtifactDetailResponse = z2.object({
1124
+ fromVersionId: z3.string().uuid().nullable(),
1125
+ toVersionId: z3.string().uuid(),
1126
+ sourceSessionId: z3.string().uuid().nullable(),
1127
+ sourceTurnId: z3.string().uuid().nullable(),
1128
+ sourceAttemptId: z3.string().uuid().nullable(),
1129
+ sourceExecutionGeneration: z3.number().int().positive().nullable(),
1130
+ actorSubjectId: z3.string().min(1).max(1024),
1131
+ reason: z3.string().min(1).max(4096),
1132
+ createdAt: z3.string().datetime({ offset: true })
1133
+ });
1134
+ var WorkspaceArtifactListQuery = z3.object({
1135
+ limit: z3.coerce.number().int().positive().max(WORKSPACE_ARTIFACT_LIST_MAX).default(WORKSPACE_ARTIFACT_LIST_DEFAULT),
1136
+ cursor: z3.string().min(1).max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).optional()
1137
+ });
1138
+ var WorkspaceArtifactListResponse = z3.object({
1139
+ artifacts: z3.array(WorkspaceArtifact).max(WORKSPACE_ARTIFACT_LIST_MAX),
1140
+ nextCursor: z3.string().max(WORKSPACE_ARTIFACT_CURSOR_MAX_CHARS).nullable(),
1141
+ truncated: z3.boolean()
1142
+ });
1143
+ var WorkspaceArtifactDetailResponse = z3.object({
935
1144
  artifact: WorkspaceArtifact,
936
- versions: z2.array(WorkspaceArtifactVersion).max(WORKSPACE_ARTIFACT_LIST_MAX),
937
- events: z2.array(WorkspaceArtifactEvent).max(WORKSPACE_ARTIFACT_LIST_MAX),
938
- versionsTruncated: z2.boolean(),
939
- eventsTruncated: z2.boolean()
1145
+ versions: z3.array(WorkspaceArtifactVersion).max(WORKSPACE_ARTIFACT_LIST_MAX),
1146
+ events: z3.array(WorkspaceArtifactEvent).max(WORKSPACE_ARTIFACT_LIST_MAX),
1147
+ versionsTruncated: z3.boolean(),
1148
+ eventsTruncated: z3.boolean()
940
1149
  });
941
- var WorkspaceArtifactHtml = z2.string().min(1).max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES).superRefine((value, ctx) => {
1150
+ var WorkspaceArtifactHtml = z3.string().min(1).max(WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES).superRefine((value, ctx) => {
942
1151
  if (encoder3.encode(value).byteLength > WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES) {
943
1152
  ctx.addIssue({
944
1153
  code: "custom",
@@ -946,36 +1155,36 @@ var WorkspaceArtifactHtml = z2.string().min(1).max(WORKSPACE_ARTIFACT_HTML_MAX_U
946
1155
  });
947
1156
  }
948
1157
  });
949
- var CreateWorkspaceArtifactRequest = z2.object({
1158
+ var CreateWorkspaceArtifactRequest = z3.object({
950
1159
  slug: WorkspaceArtifactSlug.optional(),
951
- title: z2.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
952
- description: z2.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
1160
+ title: z3.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS),
1161
+ description: z3.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
953
1162
  html: WorkspaceArtifactHtml,
954
- idempotencyKey: z2.string().trim().min(1).max(200)
1163
+ idempotencyKey: z3.string().trim().min(1).max(200)
955
1164
  });
956
- var PublishWorkspaceArtifactVersionRequest = z2.object({
957
- title: z2.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS).optional(),
958
- description: z2.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
1165
+ var PublishWorkspaceArtifactVersionRequest = z3.object({
1166
+ title: z3.string().trim().min(1).max(WORKSPACE_ARTIFACT_TITLE_MAX_CHARS).optional(),
1167
+ description: z3.string().max(WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS).nullable().optional(),
959
1168
  html: WorkspaceArtifactHtml,
960
- expectedCurrentVersionId: z2.string().uuid(),
961
- idempotencyKey: z2.string().trim().min(1).max(200)
1169
+ expectedCurrentVersionId: z3.string().uuid(),
1170
+ idempotencyKey: z3.string().trim().min(1).max(200)
962
1171
  });
963
- var RollbackWorkspaceArtifactRequest = z2.object({
964
- versionId: z2.string().uuid(),
965
- expectedCurrentVersionId: z2.string().uuid(),
966
- reason: z2.string().trim().min(1).max(4096),
967
- idempotencyKey: z2.string().trim().min(1).max(200)
1172
+ var RollbackWorkspaceArtifactRequest = z3.object({
1173
+ versionId: z3.string().uuid(),
1174
+ expectedCurrentVersionId: z3.string().uuid(),
1175
+ reason: z3.string().trim().min(1).max(4096),
1176
+ idempotencyKey: z3.string().trim().min(1).max(200)
968
1177
  });
969
- var WorkspaceArtifactMutationResponse = z2.object({
1178
+ var WorkspaceArtifactMutationResponse = z3.object({
970
1179
  artifact: WorkspaceArtifact,
971
1180
  version: WorkspaceArtifactVersion,
972
1181
  event: WorkspaceArtifactEvent,
973
- replayed: z2.boolean()
1182
+ replayed: z3.boolean()
974
1183
  });
975
- var WorkspaceArtifactContentResponse = z2.object({
976
- artifactId: z2.string().uuid(),
977
- versionId: z2.string().uuid(),
978
- contentType: z2.literal("text/html"),
1184
+ var WorkspaceArtifactContentResponse = z3.object({
1185
+ artifactId: z3.string().uuid(),
1186
+ versionId: z3.string().uuid(),
1187
+ contentType: z3.literal("text/html"),
979
1188
  contentSha256: sha256,
980
1189
  html: WorkspaceArtifactHtml
981
1190
  });
@@ -2215,160 +2424,6 @@ function stripMatchingQuotes(value) {
2215
2424
  return value;
2216
2425
  }
2217
2426
 
2218
- // src/workspace-instruction-policies.ts
2219
- import { z as z3 } from "zod";
2220
- var WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS = 262144;
2221
- var WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS = 4096;
2222
- var WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS = 64;
2223
- var WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS = 512;
2224
- var WorkspaceInstructionPolicyKind = z3.enum(["charter", "policy"]);
2225
- var WorkspaceInstructionPolicyScope = z3.enum(["global", "role"]);
2226
- var WorkspaceInstructionPolicyProvenanceSource = z3.enum([
2227
- "human",
2228
- "onboarding",
2229
- "knowledge_proposal",
2230
- "legacy_import"
2231
- ]);
2232
- var WorkspaceInstructionPolicyDraftProvenanceSource = z3.enum([
2233
- "human",
2234
- "onboarding",
2235
- "knowledge_proposal"
2236
- ]);
2237
- var WorkspaceInstructionPolicyActivationType = z3.enum(["activate", "rollback"]);
2238
- var WorkspaceInstructionPolicyRoleKey = z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS).regex(/^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/);
2239
- function normalizeWorkspaceInstructionPolicyRoleKey(value) {
2240
- return value.normalize("NFKC").trim().toLowerCase().replace(/\s+/gu, "-").replace(/-+/g, "-");
2241
- }
2242
- var RequestRoleKey = z3.string().transform(normalizeWorkspaceInstructionPolicyRoleKey).pipe(WorkspaceInstructionPolicyRoleKey);
2243
- var targetShape = {
2244
- kind: WorkspaceInstructionPolicyKind,
2245
- scope: WorkspaceInstructionPolicyScope,
2246
- roleKey: WorkspaceInstructionPolicyRoleKey.nullable()
2247
- };
2248
- function validateTarget(value, context) {
2249
- if (value.kind === "charter" && (value.scope !== "global" || value.roleKey !== null)) {
2250
- context.addIssue({
2251
- code: "custom",
2252
- path: ["scope"],
2253
- message: "a charter must use global scope with no role key"
2254
- });
2255
- }
2256
- if (value.scope === "global" && value.roleKey !== null) {
2257
- context.addIssue({
2258
- code: "custom",
2259
- path: ["roleKey"],
2260
- message: "a global instruction policy must not have a role key"
2261
- });
2262
- }
2263
- if (value.scope === "role" && (value.kind !== "policy" || value.roleKey === null)) {
2264
- context.addIssue({
2265
- code: "custom",
2266
- path: ["roleKey"],
2267
- message: "role scope requires a policy and a normalized role key"
2268
- });
2269
- }
2270
- }
2271
- var WorkspaceInstructionPolicyTarget = z3.object(targetShape).superRefine(validateTarget);
2272
- var WorkspaceInstructionPolicyProvenance = z3.object({
2273
- source: WorkspaceInstructionPolicyProvenanceSource,
2274
- sourceId: z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS).nullable()
2275
- });
2276
- var revisionIdentityShape = {
2277
- id: z3.string().uuid(),
2278
- revision: z3.number().int().positive(),
2279
- contentHash: z3.string().regex(/^[0-9a-f]{64}$/)
2280
- };
2281
- var WorkspaceInstructionPolicyRevisionIdentity = z3.object(revisionIdentityShape);
2282
- var WorkspaceInstructionPolicyRevision = z3.object({
2283
- ...revisionIdentityShape,
2284
- accountId: z3.string().uuid(),
2285
- workspaceId: z3.string().uuid(),
2286
- ...targetShape,
2287
- content: z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS),
2288
- provenance: WorkspaceInstructionPolicyProvenance,
2289
- supersedesRevisionId: z3.string().uuid().nullable(),
2290
- createdBySubjectId: z3.string().min(1),
2291
- createdAt: z3.string().datetime()
2292
- });
2293
- var WorkspaceInstructionPolicyHead = z3.object({
2294
- workspaceId: z3.string().uuid(),
2295
- ...targetShape,
2296
- revisionId: z3.string().uuid(),
2297
- revision: z3.number().int().positive(),
2298
- contentHash: z3.string().regex(/^[0-9a-f]{64}$/),
2299
- activationVersion: z3.number().int().positive(),
2300
- activatedAt: z3.string().datetime()
2301
- });
2302
- var WorkspaceInstructionPolicyActivationEvent = z3.object({
2303
- id: z3.string().uuid(),
2304
- accountId: z3.string().uuid(),
2305
- workspaceId: z3.string().uuid(),
2306
- ...targetShape,
2307
- type: WorkspaceInstructionPolicyActivationType,
2308
- activationVersion: z3.number().int().positive(),
2309
- oldRevision: WorkspaceInstructionPolicyRevisionIdentity.nullable(),
2310
- newRevision: WorkspaceInstructionPolicyRevisionIdentity,
2311
- actorSubjectId: z3.string().min(1),
2312
- reason: z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS),
2313
- createdAt: z3.string().datetime()
2314
- });
2315
- var CreateWorkspaceInstructionPolicyDraftRequest = z3.object({
2316
- kind: WorkspaceInstructionPolicyKind,
2317
- scope: WorkspaceInstructionPolicyScope,
2318
- roleKey: RequestRoleKey.nullable().default(null),
2319
- content: z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS).refine((value) => value.trim().length > 0, "instruction policy content must not be blank"),
2320
- provenanceSource: WorkspaceInstructionPolicyDraftProvenanceSource.default("human"),
2321
- provenanceSourceId: z3.string().min(1).max(WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS).nullable().default(null),
2322
- supersedesRevisionId: z3.string().uuid().nullable().default(null)
2323
- }).superRefine(validateTarget);
2324
- var ImportLegacyWorkspaceInstructionPolicyDraftRequest = z3.object({
2325
- supersedesRevisionId: z3.string().uuid().nullable().default(null)
2326
- }).strict();
2327
- var WorkspaceInstructionPolicyListQuery = z3.object({
2328
- kind: WorkspaceInstructionPolicyKind.optional(),
2329
- scope: WorkspaceInstructionPolicyScope.optional(),
2330
- roleKey: RequestRoleKey.nullable().optional(),
2331
- afterRevision: z3.coerce.number().int().positive().optional(),
2332
- limit: z3.coerce.number().int().min(1).max(100).default(50)
2333
- });
2334
- var WorkspaceInstructionPolicyListResponse = z3.object({
2335
- revisions: z3.array(WorkspaceInstructionPolicyRevision),
2336
- activeHeads: z3.array(WorkspaceInstructionPolicyHead),
2337
- activationEvents: z3.array(WorkspaceInstructionPolicyActivationEvent),
2338
- nextAfterRevision: z3.number().int().positive().nullable()
2339
- });
2340
- var WorkspaceInstructionPolicyDiffRequest = z3.object({
2341
- fromRevisionId: z3.string().uuid(),
2342
- toRevisionId: z3.string().uuid()
2343
- }).refine((value) => value.fromRevisionId !== value.toRevisionId, {
2344
- message: "diff revisions must be different",
2345
- path: ["toRevisionId"]
2346
- });
2347
- var WorkspaceInstructionPolicyDiffResponse = z3.object({
2348
- from: WorkspaceInstructionPolicyRevision,
2349
- to: WorkspaceInstructionPolicyRevision,
2350
- format: z3.literal("unified"),
2351
- diff: z3.string()
2352
- });
2353
- var ActivateWorkspaceInstructionPolicyRequest = z3.object({
2354
- expectedCurrentRevisionId: z3.string().uuid().nullable(),
2355
- reason: z3.string().trim().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS)
2356
- });
2357
- var RollbackWorkspaceInstructionPolicyRequest = z3.object({
2358
- targetRevisionId: z3.string().uuid(),
2359
- expectedCurrentRevisionId: z3.string().uuid(),
2360
- reason: z3.string().trim().min(1).max(WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS)
2361
- });
2362
- var WorkspaceInstructionPolicyActivationResponse = z3.object({
2363
- head: WorkspaceInstructionPolicyHead,
2364
- event: WorkspaceInstructionPolicyActivationEvent
2365
- });
2366
- var WorkspaceInstructionPolicyConflictResponse = z3.object({
2367
- code: z3.literal("WORKSPACE_INSTRUCTION_POLICY_CONFLICT"),
2368
- message: z3.string(),
2369
- currentHead: WorkspaceInstructionPolicyHead.nullable()
2370
- });
2371
-
2372
2427
  // src/workspace-state.ts
2373
2428
  import { z as z4 } from "zod";
2374
2429
  var WORKSPACE_STATE_MAX_ACTIVE_POLICY_HEADS = 32;
@@ -2379,6 +2434,7 @@ var WORKSPACE_STATE_BASE_NAME_MAX_CHARS = 160;
2379
2434
  var WORKSPACE_STATE_TOPIC_MAX_CHARS = 96;
2380
2435
  var WORKSPACE_STATE_MEMORY_SAMPLE_LIMIT = 100;
2381
2436
  var Count = z4.number().int().nonnegative();
2437
+ var WorkspaceStateQuery = z4.object({ attemptId: z4.string().uuid().optional() }).strict();
2382
2438
  var WorkspaceStateDocumentStatusCounts = z4.object({
2383
2439
  queued: Count,
2384
2440
  indexing: Count,
@@ -2505,6 +2561,75 @@ var WorkspaceStateKnowledge = z4.discriminatedUnion("availability", [
2505
2561
  WorkspaceStateKnowledgeAvailable,
2506
2562
  WorkspaceStateKnowledgeUnavailable
2507
2563
  ]);
2564
+ var WorkspaceStateGovernanceDriftStatus = z4.enum([
2565
+ "identical",
2566
+ "changed",
2567
+ "superseded",
2568
+ "missing",
2569
+ "unavailable",
2570
+ "truncated"
2571
+ ]);
2572
+ var WorkspaceStatePolicySnapshotAvailable = z4.object({
2573
+ status: z4.literal("available"),
2574
+ id: z4.string().uuid(),
2575
+ createdAt: z4.string().datetime(),
2576
+ entryHash: z4.string().regex(/^[0-9a-f]{64}$/),
2577
+ policyRole: WorkspaceInstructionPolicyRoleKey.nullable(),
2578
+ roleSource: WorkspaceInstructionPolicyRoleSource,
2579
+ entries: z4.array(WorkspaceInstructionPolicySnapshotEntry).max(3)
2580
+ }).strict();
2581
+ var WorkspaceStatePolicySnapshotMissing = z4.object({ status: z4.literal("missing") }).strict();
2582
+ var WorkspaceStatePreferenceSnapshotAvailable = z4.object({
2583
+ status: z4.literal("available"),
2584
+ id: z4.string().uuid(),
2585
+ createdAt: z4.string().datetime(),
2586
+ descriptorHash: z4.string().regex(/^[0-9a-f]{64}$/),
2587
+ descriptorCount: Count.max(64),
2588
+ truncated: z4.boolean()
2589
+ }).strict();
2590
+ var WorkspaceStatePreferenceSnapshotMissing = z4.object({ status: z4.literal("missing") }).strict();
2591
+ var WorkspaceStateGovernanceDrift = z4.object({
2592
+ overall: WorkspaceStateGovernanceDriftStatus,
2593
+ policy: z4.object({
2594
+ status: WorkspaceStateGovernanceDriftStatus,
2595
+ snapshotHash: z4.string().regex(/^[0-9a-f]{64}$/).nullable(),
2596
+ currentHash: z4.string().regex(/^[0-9a-f]{64}$/).nullable(),
2597
+ snapshotTargetCount: Count,
2598
+ currentTargetCount: Count
2599
+ }).strict(),
2600
+ preferences: z4.object({
2601
+ status: WorkspaceStateGovernanceDriftStatus,
2602
+ snapshotHash: z4.string().regex(/^[0-9a-f]{64}$/).nullable(),
2603
+ currentHash: z4.string().regex(/^[0-9a-f]{64}$/).nullable(),
2604
+ snapshotDescriptorCount: Count,
2605
+ currentDescriptorCount: Count,
2606
+ snapshotTruncated: z4.boolean(),
2607
+ currentTruncated: z4.boolean()
2608
+ }).strict()
2609
+ }).strict();
2610
+ var WorkspaceStateAttemptGovernance = z4.discriminatedUnion("status", [
2611
+ z4.object({ status: z4.literal("not_requested") }).strict(),
2612
+ z4.object({
2613
+ status: z4.literal("unavailable"),
2614
+ reason: z4.literal("attempt_not_found_or_not_authorized"),
2615
+ driftStatus: z4.literal("unavailable")
2616
+ }).strict(),
2617
+ z4.object({
2618
+ status: z4.literal("available"),
2619
+ attemptId: z4.string().uuid(),
2620
+ executionGeneration: z4.number().int().positive(),
2621
+ acceptedAt: z4.string().datetime(),
2622
+ policySnapshot: z4.discriminatedUnion("status", [
2623
+ WorkspaceStatePolicySnapshotAvailable,
2624
+ WorkspaceStatePolicySnapshotMissing
2625
+ ]),
2626
+ preferenceSnapshot: z4.discriminatedUnion("status", [
2627
+ WorkspaceStatePreferenceSnapshotAvailable,
2628
+ WorkspaceStatePreferenceSnapshotMissing
2629
+ ]),
2630
+ drift: WorkspaceStateGovernanceDrift
2631
+ }).strict()
2632
+ ]);
2508
2633
  var WorkspaceStateResponse = z4.object({
2509
2634
  workspaceId: z4.string().uuid(),
2510
2635
  generatedAt: z4.string().datetime(),
@@ -2513,10 +2638,7 @@ var WorkspaceStateResponse = z4.object({
2513
2638
  source: z4.literal("read_time_projection"),
2514
2639
  capturedAt: z4.string().datetime()
2515
2640
  }).strict(),
2516
- policySnapshot: z4.object({
2517
- status: z4.literal("not_captured"),
2518
- reason: z4.literal("workspace_instruction_policy_snapshot_not_implemented")
2519
- }).strict()
2641
+ attemptGovernance: WorkspaceStateAttemptGovernance
2520
2642
  }).strict(),
2521
2643
  policy: WorkspaceStatePolicy,
2522
2644
  knowledge: WorkspaceStateKnowledge
@@ -3156,7 +3278,7 @@ var CAPABILITY_DESCRIPTORS = {
3156
3278
  supportsRunAs: false
3157
3279
  }
3158
3280
  };
3159
- var ReasoningEffort = z7.enum(["none", "minimal", "low", "medium", "high", "xhigh"]);
3281
+ var ReasoningEffort = z7.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]);
3160
3282
  var LatencyMode = z7.enum(["standard", "priority", "fast"]);
3161
3283
  var ErrorCode = z7.enum([
3162
3284
  "unauthenticated",
@@ -3684,6 +3806,33 @@ var VOICE_INPUT_ACCEPTED_MIME_TYPES = [
3684
3806
  "audio/m4a"
3685
3807
  ];
3686
3808
  var CodexCompactionMode = z7.enum(["remote_v2", "portable"]);
3809
+ var SlackReactionEmojiName = z7.string().trim().min(1).max(64).regex(/^[a-z0-9_+-]+$/, "use the exact Slack emoji name without surrounding colons");
3810
+ var WorkspaceSlackReactionChannelPolicy = z7.discriminatedUnion("mode", [
3811
+ z7.object({ mode: z7.literal("bot_member") }).strict(),
3812
+ z7.object({
3813
+ mode: z7.literal("allowlist"),
3814
+ channelIds: z7.array(z7.string().trim().min(1).max(64)).max(100)
3815
+ }).strict()
3816
+ ]);
3817
+ var WorkspaceSlackReactionSummonSettings = z7.object({
3818
+ enabled: z7.boolean(),
3819
+ emoji: SlackReactionEmojiName,
3820
+ channelPolicy: WorkspaceSlackReactionChannelPolicy
3821
+ }).strict();
3822
+ var SlackReactionChannel = z7.object({
3823
+ id: z7.string().min(1).max(64),
3824
+ name: z7.string().min(1).max(256).nullable(),
3825
+ isPrivate: z7.boolean()
3826
+ });
3827
+ var SlackReactionChannelListResponse = z7.object({
3828
+ channels: z7.array(SlackReactionChannel).max(200),
3829
+ nextCursor: z7.string().max(1024).nullable()
3830
+ });
3831
+ var DEFAULT_WORKSPACE_SLACK_REACTION_SUMMON_SETTINGS = {
3832
+ enabled: false,
3833
+ emoji: "genie",
3834
+ channelPolicy: { mode: "bot_member" }
3835
+ };
3687
3836
  var WorkspaceSettingsSchema = z7.object({
3688
3837
  memoryEnabled: z7.boolean().optional(),
3689
3838
  /** Preferred workspace voice-input toggle. */
@@ -3698,7 +3847,10 @@ var WorkspaceSettingsSchema = z7.object({
3698
3847
  maxNestedAgentDepth: NestedAgentDepthValue.nullable().optional(),
3699
3848
  // Default compaction strategy for NEW Codex sessions created in this
3700
3849
  // workspace. Absent ⇒ remote_v2. Non-Codex sessions always freeze portable.
3701
- codexCompactionDefault: CodexCompactionMode.optional()
3850
+ codexCompactionDefault: CodexCompactionMode.optional(),
3851
+ // Optional Slack reaction invocation. Absent/invalid fails closed to the
3852
+ // disabled default via resolveWorkspaceSlackReactionSummonSettings.
3853
+ slackReactionSummon: WorkspaceSlackReactionSummonSettings.optional()
3702
3854
  }).passthrough();
3703
3855
  function resolveWorkspaceMemoryEnabled(settings) {
3704
3856
  const parsed = WorkspaceSettingsSchema.safeParse(settings ?? {});
@@ -3716,13 +3868,35 @@ function resolveWorkspaceVoiceInputEnabled(settings) {
3716
3868
  if (parsed.data.transcription) return parsed.data.transcription.enabled;
3717
3869
  return null;
3718
3870
  }
3871
+ function resolveWorkspaceSlackReactionSummonSettings(settings) {
3872
+ const parsed = WorkspaceSettingsSchema.safeParse(settings ?? {});
3873
+ const configured = parsed.success ? parsed.data.slackReactionSummon : void 0;
3874
+ if (!configured) {
3875
+ return {
3876
+ enabled: DEFAULT_WORKSPACE_SLACK_REACTION_SUMMON_SETTINGS.enabled,
3877
+ emoji: DEFAULT_WORKSPACE_SLACK_REACTION_SUMMON_SETTINGS.emoji,
3878
+ channelPolicy: { ...DEFAULT_WORKSPACE_SLACK_REACTION_SUMMON_SETTINGS.channelPolicy }
3879
+ };
3880
+ }
3881
+ return configured.channelPolicy.mode === "allowlist" ? {
3882
+ ...configured,
3883
+ channelPolicy: {
3884
+ mode: "allowlist",
3885
+ channelIds: [...new Set(configured.channelPolicy.channelIds)]
3886
+ }
3887
+ } : { ...configured, channelPolicy: { mode: "bot_member" } };
3888
+ }
3889
+ function workspaceSlackReactionChannelAllowed(settings, channelId) {
3890
+ return settings.channelPolicy.mode === "bot_member" || settings.channelPolicy.channelIds.includes(channelId);
3891
+ }
3719
3892
  var UpdateWorkspaceSettingsRequest = z7.object({
3720
3893
  memoryEnabled: z7.boolean().optional(),
3721
3894
  voiceInput: WorkspaceVoiceInputSettings.optional(),
3722
3895
  /** @deprecated Prefer `voiceInput`. Kept for one compatibility release. */
3723
3896
  transcription: WorkspaceTranscriptionPolicy.optional(),
3724
3897
  maxNestedAgentDepth: NestedAgentDepthValue.nullable().optional(),
3725
- codexCompactionDefault: CodexCompactionMode.optional()
3898
+ codexCompactionDefault: CodexCompactionMode.optional(),
3899
+ slackReactionSummon: WorkspaceSlackReactionSummonSettings.optional()
3726
3900
  }).passthrough();
3727
3901
  var SetWorkspaceDefaultRigRequest = z7.object({
3728
3902
  rigId: z7.string().uuid().nullable()
@@ -4529,6 +4703,7 @@ var FileResourceRef = z7.object({
4529
4703
  fileId: z7.string().uuid(),
4530
4704
  mountPath: z7.string().min(1).optional()
4531
4705
  });
4706
+ var MODEL_ATTACHMENT_REFS_FIELD = "opengeni_attachment_refs";
4532
4707
  var ResourceRef = z7.discriminatedUnion("kind", [RepositoryResourceRef, FileResourceRef]);
4533
4708
  var ResourceMountPathError = class extends Error {
4534
4709
  constructor(message) {
@@ -4575,9 +4750,10 @@ function defaultRepositoryMountPath(uri) {
4575
4750
  `repos/${encodeURIComponent(url.host.toLowerCase())}/${segments.join("/")}`
4576
4751
  );
4577
4752
  }
4753
+ var DEFAULT_FILE_RESOURCE_MOUNT_ROOT = ".opengeni/files";
4578
4754
  function resourceMountPath(resource) {
4579
4755
  if (resource.mountPath) return normalizeResourceMountPath(resource.mountPath);
4580
- return resource.kind === "file" ? normalizeResourceMountPath(`files/${resource.fileId}`) : defaultRepositoryMountPath(resource.uri);
4756
+ return resource.kind === "file" ? normalizeResourceMountPath(`${DEFAULT_FILE_RESOURCE_MOUNT_ROOT}/${resource.fileId}`) : defaultRepositoryMountPath(resource.uri);
4581
4757
  }
4582
4758
  function assertUniqueResourceMountPaths(resources) {
4583
4759
  const mounted = /* @__PURE__ */ new Set();
@@ -4645,6 +4821,7 @@ var KnowledgeSourceKind = z7.enum([
4645
4821
  "other"
4646
4822
  ]);
4647
4823
  var DocumentSearchMode = z7.enum(["hybrid", "vector", "keyword"]);
4824
+ var DocumentAuthorityKind = z7.enum(["organization", "workspace", "personal"]);
4648
4825
  var DocumentVisibility = z7.enum(["workspace", "private"]);
4649
4826
  var DocumentCurationStatus = z7.enum([
4650
4827
  "none",
@@ -4688,6 +4865,9 @@ var Document = z7.object({
4688
4865
  sourceUpdatedAt: z7.string().nullable(),
4689
4866
  sourceVersion: z7.string().nullable(),
4690
4867
  aclTags: z7.array(z7.string()),
4868
+ authorityKind: DocumentAuthorityKind,
4869
+ authorityWorkspaceId: z7.string().uuid().nullable(),
4870
+ authoritySubjectId: z7.string().nullable(),
4691
4871
  visibility: DocumentVisibility,
4692
4872
  createdBy: z7.string().nullable(),
4693
4873
  agentAccess: z7.boolean(),
@@ -4700,6 +4880,9 @@ var Document = z7.object({
4700
4880
  });
4701
4881
  var DocumentSearchResult = z7.object({
4702
4882
  chunkId: z7.string().uuid(),
4883
+ // The workspace that ingested the document. Organization-authority results
4884
+ // may originate in another workspace in the same account; this identifier
4885
+ // is provenance and does not grant access to that workspace or its resources.
4703
4886
  workspaceId: z7.string().uuid(),
4704
4887
  documentId: z7.string().uuid(),
4705
4888
  baseId: z7.string().uuid(),
@@ -4720,7 +4903,13 @@ var DocumentSearchResult = z7.object({
4720
4903
  sourceCreatedAt: z7.string().nullable(),
4721
4904
  sourceUpdatedAt: z7.string().nullable(),
4722
4905
  sourceVersion: z7.string().nullable(),
4723
- aclTags: z7.array(z7.string())
4906
+ aclTags: z7.array(z7.string()),
4907
+ authorityKind: DocumentAuthorityKind,
4908
+ authorityWorkspaceId: z7.string().uuid().nullable(),
4909
+ authoritySubjectId: z7.string().nullable()
4910
+ });
4911
+ var DocumentSearchResponse = z7.object({
4912
+ results: z7.array(DocumentSearchResult)
4724
4913
  });
4725
4914
  var CreateDocumentBaseRequest = z7.object({
4726
4915
  name: z7.string().min(1),
@@ -4738,6 +4927,7 @@ var AddDocumentRequest = z7.object({
4738
4927
  sourceUpdatedAt: z7.string().datetime({ offset: true }).optional(),
4739
4928
  sourceVersion: z7.string().min(1).optional(),
4740
4929
  aclTags: z7.array(z7.string().min(1)).optional(),
4930
+ authorityKind: DocumentAuthorityKind.optional(),
4741
4931
  visibility: DocumentVisibility.optional(),
4742
4932
  agentAccess: z7.boolean().optional()
4743
4933
  });
@@ -4746,6 +4936,7 @@ var CreateKnowledgeDropRequest = z7.object({
4746
4936
  fileId: z7.string().uuid().optional(),
4747
4937
  filename: z7.string().min(1).optional(),
4748
4938
  title: z7.string().min(1).optional(),
4939
+ authorityKind: DocumentAuthorityKind.optional(),
4749
4940
  visibility: DocumentVisibility.optional(),
4750
4941
  agentAccess: z7.boolean().optional()
4751
4942
  }).refine((value) => value.text === void 0 !== (value.fileId === void 0), {
@@ -5042,7 +5233,7 @@ function mergeResourceRefs(existing, additions, options = {}) {
5042
5233
  }
5043
5234
  function reasoningEffortForMetadata(metadata, fallback) {
5044
5235
  const value = metadata.reasoningEffort;
5045
- return value === "none" || value === "minimal" || value === "low" || value === "medium" || value === "high" || value === "xhigh" ? value : fallback;
5236
+ return value === "none" || value === "minimal" || value === "low" || value === "medium" || value === "high" || value === "xhigh" || value === "max" ? value : fallback;
5046
5237
  }
5047
5238
  function latencyModeForMetadata(metadata, fallback = "standard") {
5048
5239
  const value = metadata.latencyMode;
@@ -5217,6 +5408,191 @@ var SessionAuthorizationSurface = z7.enum([
5217
5408
  "first_party_mcp",
5218
5409
  "toolspace"
5219
5410
  ]);
5411
+ var CodexRealtimeWebrtcVersion = z7.literal("v3");
5412
+ var CodexRealtimeVoice = z7.enum([
5413
+ "juniper",
5414
+ "maple",
5415
+ "spruce",
5416
+ "ember",
5417
+ "vale",
5418
+ "breeze",
5419
+ "arbor",
5420
+ "sol",
5421
+ "cove"
5422
+ ]);
5423
+ var SessionRealtimeOwnerProof = z7.object({
5424
+ browserInstanceId: z7.string().min(1).max(256),
5425
+ ownerKey: z7.string().min(32).max(1024)
5426
+ });
5427
+ var CodexRealtimeWebrtcRequest = SessionRealtimeOwnerProof.extend({
5428
+ realtimeId: z7.string().uuid(),
5429
+ operationId: z7.string().uuid(),
5430
+ expectedVersion: z7.number().int().positive(),
5431
+ expectedConnectionEpoch: z7.number().int().positive(),
5432
+ rotate: z7.boolean(),
5433
+ browserActivation: z7.literal("required").optional(),
5434
+ sdp: z7.string().min(1).max(1024 * 1024),
5435
+ version: CodexRealtimeWebrtcVersion,
5436
+ instructions: z7.string().max(32768).optional(),
5437
+ voice: CodexRealtimeVoice.optional()
5438
+ }).strict();
5439
+ var CodexRealtimeWebrtcResponse = z7.object({
5440
+ sdp: z7.string().min(1).max(1024 * 1024),
5441
+ version: CodexRealtimeWebrtcVersion,
5442
+ model: z7.literal("gpt-live-1-boulder-alpha"),
5443
+ connectionId: z7.string().uuid(),
5444
+ connectionEpoch: z7.number().int().positive(),
5445
+ startupFenceSequence: z7.number().int().nonnegative(),
5446
+ modeVersion: z7.number().int().positive(),
5447
+ replay: z7.boolean()
5448
+ }).strict();
5449
+ var GatewayRealtimeConnectRequest = SessionRealtimeOwnerProof.extend({
5450
+ realtimeId: z7.string().uuid(),
5451
+ operationId: z7.string().uuid(),
5452
+ expectedVersion: z7.number().int().positive(),
5453
+ expectedConnectionEpoch: z7.number().int().positive(),
5454
+ rotate: z7.boolean()
5455
+ }).strict();
5456
+ var GatewayRealtimeInitialItem = z7.object({
5457
+ role: z7.enum(["user", "developer", "assistant"]),
5458
+ text: z7.string().min(1).max(131072)
5459
+ });
5460
+ var GatewayRealtimeConnectResponse = z7.object({
5461
+ token: z7.string().min(1).max(16384),
5462
+ url: z7.string().url(),
5463
+ upstreamModelId: z7.string().min(1).max(256),
5464
+ expiresAt: z7.number().int().positive().nullable(),
5465
+ connectionId: z7.string().uuid(),
5466
+ connectionEpoch: z7.number().int().positive(),
5467
+ startupFenceSequence: z7.number().int().nonnegative(),
5468
+ modeVersion: z7.number().int().positive(),
5469
+ initialItems: z7.array(GatewayRealtimeInitialItem).max(128),
5470
+ instructions: z7.string().min(1).max(32768),
5471
+ replay: z7.literal(false)
5472
+ }).strict();
5473
+ var ActivateCodexRealtimeConnectionRequest = SessionRealtimeOwnerProof.extend({
5474
+ operationId: z7.string().uuid(),
5475
+ connectionEpoch: z7.number().int().positive(),
5476
+ expectedVersion: z7.number().int().positive(),
5477
+ expectedConnectionEpoch: z7.number().int().positive()
5478
+ }).strict();
5479
+ var SessionRealtimeLedgerDirection = z7.enum(["provider_in", "provider_out"]);
5480
+ var SessionRealtimeLedgerKind = z7.enum([
5481
+ "user_transcript",
5482
+ "assistant_transcript",
5483
+ "delegation_call",
5484
+ "delegation_progress",
5485
+ "delegation_result",
5486
+ "interruption",
5487
+ "session_update",
5488
+ "error"
5489
+ ]);
5490
+ var SessionRealtimeLedgerEntry = z7.object({
5491
+ id: z7.string().uuid(),
5492
+ realtimeId: z7.string().uuid(),
5493
+ operationId: z7.string().uuid(),
5494
+ connectionEpoch: z7.number().int().positive(),
5495
+ sequence: z7.number().int().positive(),
5496
+ direction: SessionRealtimeLedgerDirection,
5497
+ kind: SessionRealtimeLedgerKind,
5498
+ role: z7.enum(["user", "assistant"]).nullable(),
5499
+ providerEventId: z7.string().nullable(),
5500
+ delegationItemId: z7.string().nullable(),
5501
+ sourceUpdateId: z7.string().uuid().nullable(),
5502
+ historyItemId: z7.string().uuid().nullable(),
5503
+ turnId: z7.string().uuid().nullable(),
5504
+ text: z7.string().nullable(),
5505
+ payload: z7.record(z7.string(), z7.unknown()),
5506
+ clientAckedAt: z7.string().datetime().nullable(),
5507
+ providerAckedAt: z7.string().datetime().nullable(),
5508
+ createdAt: z7.string().datetime(),
5509
+ updatedAt: z7.string().datetime()
5510
+ }).strict();
5511
+ var SessionRealtimeInboundEntry = z7.object({
5512
+ operationId: z7.string().uuid(),
5513
+ kind: z7.enum([
5514
+ "user_transcript",
5515
+ "assistant_transcript",
5516
+ "delegation_call",
5517
+ "interruption",
5518
+ "error"
5519
+ ]),
5520
+ role: z7.enum(["user", "assistant"]).nullable().optional(),
5521
+ providerEventId: z7.string().max(1024).nullable().optional(),
5522
+ delegationItemId: z7.string().max(1024).nullable().optional(),
5523
+ text: z7.string().max(131072).nullable().optional(),
5524
+ payload: z7.record(z7.string(), z7.unknown()).optional()
5525
+ }).strict();
5526
+ var SyncSessionRealtimeLedgerRequest = SessionRealtimeOwnerProof.extend({
5527
+ expectedVersion: z7.number().int().positive(),
5528
+ connectionId: z7.string().uuid(),
5529
+ connectionEpoch: z7.number().int().positive(),
5530
+ entries: z7.array(SessionRealtimeInboundEntry).max(64).optional(),
5531
+ clientAckThroughSequence: z7.number().int().nonnegative().nullable().optional(),
5532
+ providerAckSequences: z7.array(z7.number().int().positive()).max(100).optional(),
5533
+ providerStarted: z7.object({
5534
+ providerSessionId: z7.string().min(1).max(1024),
5535
+ providerEventId: z7.string().min(1).max(1024).nullable().optional()
5536
+ }).strict().optional()
5537
+ }).strict();
5538
+ var SyncSessionRealtimeLedgerResponse = z7.object({
5539
+ accepted: z7.array(
5540
+ z7.object({ entry: SessionRealtimeLedgerEntry, replay: z7.boolean() }).strict()
5541
+ ),
5542
+ outbound: z7.array(SessionRealtimeLedgerEntry)
5543
+ }).strict();
5544
+ var SessionRealtimeModel = z7.enum([
5545
+ "gpt-live-1-boulder-alpha",
5546
+ "opengeni-gateway/openai/gpt-realtime-2.1",
5547
+ "opengeni-gateway/openai/gpt-realtime-mini",
5548
+ "opengeni-gateway/xai/grok-voice-think-fast-2.0",
5549
+ "workspace-gateway/openai/gpt-realtime-2.1",
5550
+ "workspace-gateway/openai/gpt-realtime-mini",
5551
+ "workspace-gateway/xai/grok-voice-think-fast-2.0"
5552
+ ]);
5553
+ var WorkspaceRealtimeModelCatalogItem = z7.object({
5554
+ id: SessionRealtimeModel,
5555
+ label: z7.string().min(1),
5556
+ provider: z7.enum(["OpenGeni", "Connected Codex", "Your Gateway"]),
5557
+ description: z7.string().min(1),
5558
+ available: z7.boolean(),
5559
+ unavailableReason: z7.string().nullable(),
5560
+ recommended: z7.boolean()
5561
+ });
5562
+ var WorkspaceRealtimeModelCatalogResponse = z7.object({
5563
+ models: z7.array(WorkspaceRealtimeModelCatalogItem)
5564
+ });
5565
+ var SessionRealtimeState = z7.enum(["active", "ended"]);
5566
+ var SessionRealtimeEndReason = z7.enum(["user_stop", "browser_unload", "lease_expired"]);
5567
+ var SessionRealtimeMode = z7.object({
5568
+ id: z7.string().uuid(),
5569
+ sessionId: z7.string().uuid(),
5570
+ operationId: z7.string().uuid(),
5571
+ browserInstanceId: z7.string().min(1).max(256),
5572
+ model: SessionRealtimeModel,
5573
+ state: SessionRealtimeState,
5574
+ version: z7.number().int().positive(),
5575
+ connectionEpoch: z7.number().int().positive(),
5576
+ leaseExpiresAt: z7.string().datetime(),
5577
+ lastHeartbeatAt: z7.string().datetime(),
5578
+ startedAt: z7.string().datetime(),
5579
+ endedAt: z7.string().datetime().nullable(),
5580
+ endReason: SessionRealtimeEndReason.nullable()
5581
+ });
5582
+ var BeginSessionRealtimeRequest = SessionRealtimeOwnerProof.extend({
5583
+ operationId: z7.string().uuid(),
5584
+ model: SessionRealtimeModel
5585
+ });
5586
+ var RenewSessionRealtimeRequest = SessionRealtimeOwnerProof.extend({
5587
+ expectedVersion: z7.number().int().positive()
5588
+ });
5589
+ var EndSessionRealtimeRequest = RenewSessionRealtimeRequest.extend({
5590
+ reason: z7.enum(["user_stop", "browser_unload"])
5591
+ });
5592
+ var SessionRealtimeMutationResponse = z7.object({
5593
+ mode: SessionRealtimeMode,
5594
+ replay: z7.boolean()
5595
+ });
5220
5596
  var SessionAuthorizationOperation = z7.enum([
5221
5597
  "session.read",
5222
5598
  "session.events.read",
@@ -5243,6 +5619,8 @@ var SessionAuthorizationOperation = z7.enum([
5243
5619
  "session.toolspace.call",
5244
5620
  "session.pin.write",
5245
5621
  "session.codex_account.write",
5622
+ "session.realtime.start",
5623
+ "session.realtime.control",
5246
5624
  "session.context.write",
5247
5625
  "session.approval.write",
5248
5626
  "session.human_input.read",
@@ -5474,7 +5852,7 @@ var WorkspaceControlReason = z7.string().min(1).refine((value) => !value.include
5474
5852
  `reason must not exceed ${WORKSPACE_CONTROL_REASON_MAX_BYTES} UTF-8 bytes`
5475
5853
  );
5476
5854
  var SessionControlRequest = z7.object({
5477
- action: z7.enum(["pause", "resume"]),
5855
+ action: z7.enum(["pause", "resume", "cancel"]),
5478
5856
  reason: WorkspaceControlReason.optional(),
5479
5857
  clientEventId: SessionOperationKey,
5480
5858
  expectedControlEtag: z7.string().min(1).optional()
@@ -5660,7 +6038,7 @@ var SessionSystemUpdatePayload = z7.discriminatedUnion("type", [
5660
6038
  z7.object({
5661
6039
  type: z7.literal("child_terminal_result"),
5662
6040
  childSessionId: z7.string().uuid(),
5663
- status: z7.enum(["idle", "failed"])
6041
+ status: z7.enum(["idle", "failed", "cancelled"])
5664
6042
  }).passthrough()
5665
6043
  ]);
5666
6044
  var SessionSystemUpdateState = z7.enum([
@@ -6604,6 +6982,10 @@ var Session = z7.object({
6604
6982
  // metadata (exposed like title/goal), never a secret and never a timeline event.
6605
6983
  // null when the session carried none.
6606
6984
  instructions: z7.string().nullable(),
6985
+ // Immutable prompt-policy role binding. This is separate from human
6986
+ // workspace membership roles and from memory selectors. Null keeps the
6987
+ // compatibility fallback to a normalized metadata.role value.
6988
+ policyRole: WorkspaceInstructionPolicyRoleKeyInput.nullable().default(null),
6607
6989
  resources: z7.array(ResourceRef),
6608
6990
  skills: SessionSkills.default([]),
6609
6991
  tools: z7.array(ToolRef),
@@ -6744,6 +7126,8 @@ var SessionEventType = z7.enum([
6744
7126
  // crossing NATS, SSE, REST, or browser boundaries.
6745
7127
  "session.event.envelope_omitted",
6746
7128
  "session.status.changed",
7129
+ "session.realtime.started",
7130
+ "session.realtime.ended",
6747
7131
  "session.requiresAction",
6748
7132
  "session.humanInput.requested",
6749
7133
  "session.context.compaction.requested",
@@ -7830,7 +8214,12 @@ function compactFailure(payload, eventType) {
7830
8214
  const code = compactResultStringField(payload.code);
7831
8215
  const recovery = compactResultStringField(payload.recovery);
7832
8216
  const retryable = typeof payload.retryable === "boolean" ? payload.retryable : null;
7833
- const value = { error: error.value, code: code.value, retryable, recovery: recovery.value };
8217
+ const value = {
8218
+ error: error.value,
8219
+ code: code.value,
8220
+ retryable,
8221
+ recovery: recovery.value
8222
+ };
7834
8223
  const originalBytes = [error, code, recovery].map((field) => field.originalBytes ?? 0).reduce((sum, bytes) => sum + bytes, 0);
7835
8224
  return {
7836
8225
  value,
@@ -8268,7 +8657,9 @@ var SessionControlResponse = z7.object({
8268
8657
  receipt: SessionCommandReceipt,
8269
8658
  effectiveControl: EffectiveSessionControl,
8270
8659
  interruptionCount: z7.number().int().nonnegative(),
8271
- wakeCount: z7.number().int().nonnegative()
8660
+ wakeCount: z7.number().int().nonnegative(),
8661
+ cancelledSessionCount: z7.number().int().nonnegative(),
8662
+ cancelledTurnCount: z7.number().int().nonnegative()
8272
8663
  });
8273
8664
  var CreateSessionRequest = withVariableSetIdAlias({
8274
8665
  /**
@@ -8278,7 +8669,11 @@ var CreateSessionRequest = withVariableSetIdAlias({
8278
8669
  * identity or authorization from the UUID.
8279
8670
  */
8280
8671
  requestedSessionId: z7.string().uuid().optional(),
8281
- initialMessage: z7.string().min(1),
8672
+ initialMessage: z7.string().min(1).optional(),
8673
+ // Creates the durable session shell without fabricating a user message or
8674
+ // starting an underlying agent turn. Realtime can then become the first
8675
+ // interaction and use the ordinary Send/Steer path when it delegates.
8676
+ startMode: z7.literal("realtime").optional(),
8282
8677
  // System-level host context for the initial turn only. Unlike `instructions`,
8283
8678
  // this does not persist into later turns and is never emitted as a user event.
8284
8679
  turnInstructions: z7.string().trim().min(1).max(32768).optional(),
@@ -8291,6 +8686,11 @@ var CreateSessionRequest = withVariableSetIdAlias({
8291
8686
  // matches the codebase's largest free-form string convention (workspace
8292
8687
  // variable set variable values). Absent ⇒ byte-identical to today.
8293
8688
  instructions: z7.string().trim().min(1).max(32768).optional(),
8689
+ // Immutable prompt-policy role binding for matching one activated role
8690
+ // policy. This never derives from or grants a human workspace membership
8691
+ // role. Existing callers may continue to use normalized metadata.role as a
8692
+ // compatibility fallback by omitting this field.
8693
+ policyRole: WorkspaceInstructionPolicyRoleKeyInput.optional(),
8294
8694
  // For an agent-created child, omission inherits the trusted immediate
8295
8695
  // parent's repository/file context. An explicit array, including [], is
8296
8696
  // authoritative. Top-level omission remains []. Presence is resolved from
@@ -8324,10 +8724,10 @@ var CreateSessionRequest = withVariableSetIdAlias({
8324
8724
  variableSetId: z7.string().uuid().optional(),
8325
8725
  environmentId: z7.string().uuid().optional(),
8326
8726
  // The rig to bind this session to (M3). Its ACTIVE version is resolved and
8327
- // FROZEN onto the session at create. Omitted ⇒ the workspace's default rig
8328
- // (workspaces.default_rig_id) when set, else a rig-less session (today's
8329
- // behavior). An id that does not name a rig in the workspace is a 422.
8330
- rigId: z7.string().uuid().optional(),
8727
+ // FROZEN onto the session at create. Omitted ⇒ inherit the workspace default;
8728
+ // null explicitly create a rig-less session; UUID ⇒ bind that exact rig.
8729
+ // An id that does not name a rig in the workspace is a 422.
8730
+ rigId: z7.string().uuid().nullable().optional(),
8331
8731
  goal: GoalSpec.optional(),
8332
8732
  clientEventId: SessionOperationKey.optional(),
8333
8733
  // Workspace-scoped CREATE idempotency key: collapses concurrent/retried
@@ -8382,6 +8782,21 @@ var CreateSessionRequest = withVariableSetIdAlias({
8382
8782
  // request 422s at create (instead of the first turn dying on the SDK's
8383
8783
  // manifest-env guard).
8384
8784
  sandbox: z7.union([z7.literal("shared"), z7.literal("new"), z7.object({ groupId: z7.string().uuid() })]).optional()
8785
+ }).superRefine((value, context) => {
8786
+ if (value.startMode !== "realtime" && value.initialMessage === void 0) {
8787
+ context.addIssue({
8788
+ code: z7.ZodIssueCode.custom,
8789
+ path: ["initialMessage"],
8790
+ message: "initialMessage is required unless startMode is realtime"
8791
+ });
8792
+ }
8793
+ if (value.startMode === "realtime" && value.initialMessage !== void 0) {
8794
+ context.addIssue({
8795
+ code: z7.ZodIssueCode.custom,
8796
+ path: ["initialMessage"],
8797
+ message: "initialMessage must be omitted when startMode is realtime"
8798
+ });
8799
+ }
8385
8800
  });
8386
8801
  var HumanInputQuestionKind = z7.enum(["text", "single_select", "multi_select"]);
8387
8802
  var HumanInputOption = z7.object({
@@ -8398,9 +8813,9 @@ var HumanInputQuestion = z7.object({
8398
8813
  options: z7.array(HumanInputOption).max(20).default([]),
8399
8814
  required: z7.boolean().default(true),
8400
8815
  allowOther: z7.boolean().default(false),
8816
+ // Selection bounds only — agents invent useless text char mins/maxes.
8817
+ // Answer strings stay platform-capped on HumanInputAnswer (~8192).
8401
8818
  validation: z7.object({
8402
- minLength: z7.number().int().nonnegative().max(8192).nullable().optional(),
8403
- maxLength: z7.number().int().positive().max(8192).nullable().optional(),
8404
8819
  minSelections: z7.number().int().nonnegative().max(20).nullable().optional(),
8405
8820
  maxSelections: z7.number().int().positive().max(20).nullable().optional()
8406
8821
  }).nullable().optional()
@@ -8436,13 +8851,6 @@ var HumanInputQuestion = z7.object({
8436
8851
  });
8437
8852
  }
8438
8853
  const validation = question.validation;
8439
- if (validation?.minLength != null && validation?.maxLength != null && validation.minLength > validation.maxLength) {
8440
- ctx.addIssue({
8441
- code: "custom",
8442
- path: ["validation"],
8443
- message: "minLength exceeds maxLength"
8444
- });
8445
- }
8446
8854
  if (validation?.minSelections != null && validation?.maxSelections != null && validation.minSelections > validation.maxSelections) {
8447
8855
  ctx.addIssue({
8448
8856
  code: "custom",
@@ -9014,9 +9422,7 @@ var MachineMetricsSeriesResponse = z7.object({
9014
9422
  function defineModelContractSchema(factory) {
9015
9423
  return factory();
9016
9424
  }
9017
- var ModelCapabilitySupportV1 = /* @__PURE__ */ defineModelContractSchema(
9018
- () => z7.enum(["supported", "unsupported", "unknown"])
9019
- );
9425
+ var ModelCapabilitySupportV1 = /* @__PURE__ */ defineModelContractSchema(() => z7.enum(["supported", "unsupported", "unknown"]));
9020
9426
  var ModelCapabilityStateV1 = /* @__PURE__ */ defineModelContractSchema(
9021
9427
  () => z7.object({
9022
9428
  upstream: ModelCapabilitySupportV1,
@@ -9038,6 +9444,7 @@ var ModelCapabilitiesV1 = /* @__PURE__ */ defineModelContractSchema(
9038
9444
  codeExecution: ModelCapabilityStateV1
9039
9445
  }),
9040
9446
  inputModalities: z7.array(z7.enum(["text", "image", "audio"])),
9447
+ inputFileMediaTypes: z7.array(z7.string()).optional(),
9041
9448
  outputModalities: z7.array(z7.enum(["text", "image", "audio"])),
9042
9449
  transports: z7.object({
9043
9450
  sse: ModelCapabilityStateV1,
@@ -9059,9 +9466,18 @@ var ModelCapabilitiesV1 = /* @__PURE__ */ defineModelContractSchema(
9059
9466
  );
9060
9467
  var ModelCredentialSourceV1 = /* @__PURE__ */ defineModelContractSchema(
9061
9468
  () => z7.union([
9062
- z7.object({ kind: z7.literal("deployment"), mechanism: z7.enum(["api_key", "azure_ad_bearer"]) }).strict(),
9063
- z7.object({ kind: z7.literal("connected_subscription"), provider: z7.literal("codex") }).strict(),
9064
- z7.object({ kind: z7.literal("workspace_connection"), mechanism: z7.literal("api_key") }).strict()
9469
+ z7.object({
9470
+ kind: z7.literal("deployment"),
9471
+ mechanism: z7.enum(["api_key", "azure_ad_bearer"])
9472
+ }).strict(),
9473
+ z7.object({
9474
+ kind: z7.literal("connected_subscription"),
9475
+ provider: z7.literal("codex")
9476
+ }).strict(),
9477
+ z7.object({
9478
+ kind: z7.literal("workspace_connection"),
9479
+ mechanism: z7.literal("api_key")
9480
+ }).strict()
9065
9481
  ])
9066
9482
  );
9067
9483
  var ModelBillingAttributionV1 = /* @__PURE__ */ defineModelContractSchema(
@@ -9410,6 +9826,42 @@ export {
9410
9826
  sessionEventMediaPreviewFromDataUrl,
9411
9827
  sessionEventPayloadTruncation,
9412
9828
  boundSessionEventPayload,
9829
+ WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS,
9830
+ WORKSPACE_INSTRUCTION_POLICY_PROMPT_MAX_UTF8_BYTES,
9831
+ WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS,
9832
+ WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS,
9833
+ WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS,
9834
+ WorkspaceInstructionPolicyKind,
9835
+ WorkspaceInstructionPolicyScope,
9836
+ WorkspaceInstructionPolicyProvenanceSource,
9837
+ WorkspaceInstructionPolicyDraftProvenanceSource,
9838
+ WorkspaceInstructionPolicyActivationType,
9839
+ WorkspaceInstructionPolicyRoleKey,
9840
+ normalizeWorkspaceInstructionPolicyRoleKey,
9841
+ WorkspaceInstructionPolicyRoleKeyInput,
9842
+ WorkspaceInstructionPolicyRoleSource,
9843
+ WorkspaceInstructionPolicyTarget,
9844
+ WorkspaceInstructionPolicyProvenance,
9845
+ WorkspaceInstructionPolicyRevisionIdentity,
9846
+ WorkspaceInstructionPolicyRevision,
9847
+ WorkspaceInstructionPolicyHead,
9848
+ WorkspaceInstructionPolicySnapshotProvenance,
9849
+ WorkspaceInstructionPolicySnapshotEntry,
9850
+ WorkspaceInstructionPolicySnapshot,
9851
+ ResolvedWorkspaceInstructionPolicySnapshotEntry,
9852
+ ResolvedWorkspaceInstructionPolicySnapshot,
9853
+ WorkspaceInstructionPolicyActivationEvent,
9854
+ CreateWorkspaceInstructionPolicyDraftRequest,
9855
+ ImportLegacyWorkspaceInstructionPolicyDraftRequest,
9856
+ WorkspaceInstructionPolicyListQuery,
9857
+ WorkspaceInstructionPolicyListResponse,
9858
+ WorkspaceInstructionPolicyDiffRequest,
9859
+ WorkspaceInstructionPolicyDiffResponse,
9860
+ ActivateWorkspaceInstructionPolicyRequest,
9861
+ RollbackWorkspaceInstructionPolicyRequest,
9862
+ WorkspaceInstructionPolicyActivationResponse,
9863
+ WorkspaceInstructionPolicyConflictResponse,
9864
+ WorkspaceInstructionPolicyOperationReuseResponse,
9413
9865
  WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES,
9414
9866
  WORKSPACE_ARTIFACT_TITLE_MAX_CHARS,
9415
9867
  WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS,
@@ -9458,33 +9910,6 @@ export {
9458
9910
  createSecretRedactor,
9459
9911
  redactSerializedJson,
9460
9912
  identityRedactor,
9461
- WORKSPACE_INSTRUCTION_POLICY_CONTENT_MAX_CHARS,
9462
- WORKSPACE_INSTRUCTION_POLICY_REASON_MAX_CHARS,
9463
- WORKSPACE_INSTRUCTION_POLICY_ROLE_KEY_MAX_CHARS,
9464
- WORKSPACE_INSTRUCTION_POLICY_SOURCE_ID_MAX_CHARS,
9465
- WorkspaceInstructionPolicyKind,
9466
- WorkspaceInstructionPolicyScope,
9467
- WorkspaceInstructionPolicyProvenanceSource,
9468
- WorkspaceInstructionPolicyDraftProvenanceSource,
9469
- WorkspaceInstructionPolicyActivationType,
9470
- WorkspaceInstructionPolicyRoleKey,
9471
- normalizeWorkspaceInstructionPolicyRoleKey,
9472
- WorkspaceInstructionPolicyTarget,
9473
- WorkspaceInstructionPolicyProvenance,
9474
- WorkspaceInstructionPolicyRevisionIdentity,
9475
- WorkspaceInstructionPolicyRevision,
9476
- WorkspaceInstructionPolicyHead,
9477
- WorkspaceInstructionPolicyActivationEvent,
9478
- CreateWorkspaceInstructionPolicyDraftRequest,
9479
- ImportLegacyWorkspaceInstructionPolicyDraftRequest,
9480
- WorkspaceInstructionPolicyListQuery,
9481
- WorkspaceInstructionPolicyListResponse,
9482
- WorkspaceInstructionPolicyDiffRequest,
9483
- WorkspaceInstructionPolicyDiffResponse,
9484
- ActivateWorkspaceInstructionPolicyRequest,
9485
- RollbackWorkspaceInstructionPolicyRequest,
9486
- WorkspaceInstructionPolicyActivationResponse,
9487
- WorkspaceInstructionPolicyConflictResponse,
9488
9913
  WORKSPACE_STATE_MAX_ACTIVE_POLICY_HEADS,
9489
9914
  WORKSPACE_STATE_MAX_BASES,
9490
9915
  WORKSPACE_STATE_MAX_TOPICS,
@@ -9492,6 +9917,7 @@ export {
9492
9917
  WORKSPACE_STATE_BASE_NAME_MAX_CHARS,
9493
9918
  WORKSPACE_STATE_TOPIC_MAX_CHARS,
9494
9919
  WORKSPACE_STATE_MEMORY_SAMPLE_LIMIT,
9920
+ WorkspaceStateQuery,
9495
9921
  WorkspaceStateDocumentStatusCounts,
9496
9922
  WorkspaceStateSourceKindCounts,
9497
9923
  WorkspaceStateMemoryStatusCounts,
@@ -9506,6 +9932,8 @@ export {
9506
9932
  WorkspaceStateKnowledgeAvailable,
9507
9933
  WorkspaceStateKnowledgeUnavailable,
9508
9934
  WorkspaceStateKnowledge,
9935
+ WorkspaceStateGovernanceDriftStatus,
9936
+ WorkspaceStateAttemptGovernance,
9509
9937
  WorkspaceStateResponse,
9510
9938
  PREFERENCE_REGISTRY_CONTENT_MAX_CHARS,
9511
9939
  PREFERENCE_REGISTRY_DESCRIPTOR_DESCRIPTION_MAX_CHARS,
@@ -9602,10 +10030,18 @@ export {
9602
10030
  VOICE_INPUT_MAX_SIZE_BYTES,
9603
10031
  VOICE_INPUT_ACCEPTED_MIME_TYPES,
9604
10032
  CodexCompactionMode,
10033
+ SlackReactionEmojiName,
10034
+ WorkspaceSlackReactionChannelPolicy,
10035
+ WorkspaceSlackReactionSummonSettings,
10036
+ SlackReactionChannel,
10037
+ SlackReactionChannelListResponse,
10038
+ DEFAULT_WORKSPACE_SLACK_REACTION_SUMMON_SETTINGS,
9605
10039
  WorkspaceSettingsSchema,
9606
10040
  resolveWorkspaceMemoryEnabled,
9607
10041
  resolveWorkspaceCodexCompactionDefault,
9608
10042
  resolveWorkspaceVoiceInputEnabled,
10043
+ resolveWorkspaceSlackReactionSummonSettings,
10044
+ workspaceSlackReactionChannelAllowed,
9609
10045
  UpdateWorkspaceSettingsRequest,
9610
10046
  SetWorkspaceDefaultRigRequest,
9611
10047
  UpdateWorkspaceModelPolicyRequest,
@@ -9679,12 +10115,14 @@ export {
9679
10115
  gitCredentialProviderForRepository,
9680
10116
  gitCredentialBindingIdForRepository,
9681
10117
  FileResourceRef,
10118
+ MODEL_ATTACHMENT_REFS_FIELD,
9682
10119
  ResourceRef,
9683
10120
  ResourceMountPathError,
9684
10121
  normalizeResourceMountPath,
9685
10122
  normalizeRepositorySubpath,
9686
10123
  resourceMountPathCollisionKey,
9687
10124
  defaultRepositoryMountPath,
10125
+ DEFAULT_FILE_RESOURCE_MOUNT_ROOT,
9688
10126
  resourceMountPath,
9689
10127
  assertUniqueResourceMountPaths,
9690
10128
  FileStatus,
@@ -9697,12 +10135,14 @@ export {
9697
10135
  DocumentStatus,
9698
10136
  KnowledgeSourceKind,
9699
10137
  DocumentSearchMode,
10138
+ DocumentAuthorityKind,
9700
10139
  DocumentVisibility,
9701
10140
  DocumentCurationStatus,
9702
10141
  DocumentCuration,
9703
10142
  DocumentBase,
9704
10143
  Document,
9705
10144
  DocumentSearchResult,
10145
+ DocumentSearchResponse,
9706
10146
  CreateDocumentBaseRequest,
9707
10147
  AddDocumentRequest,
9708
10148
  CreateKnowledgeDropRequest,
@@ -9766,6 +10206,30 @@ export {
9766
10206
  CompactSessionContextResult,
9767
10207
  TurnInitiator,
9768
10208
  SessionAuthorizationSurface,
10209
+ CodexRealtimeWebrtcVersion,
10210
+ CodexRealtimeVoice,
10211
+ CodexRealtimeWebrtcRequest,
10212
+ CodexRealtimeWebrtcResponse,
10213
+ GatewayRealtimeConnectRequest,
10214
+ GatewayRealtimeInitialItem,
10215
+ GatewayRealtimeConnectResponse,
10216
+ ActivateCodexRealtimeConnectionRequest,
10217
+ SessionRealtimeLedgerDirection,
10218
+ SessionRealtimeLedgerKind,
10219
+ SessionRealtimeLedgerEntry,
10220
+ SessionRealtimeInboundEntry,
10221
+ SyncSessionRealtimeLedgerRequest,
10222
+ SyncSessionRealtimeLedgerResponse,
10223
+ SessionRealtimeModel,
10224
+ WorkspaceRealtimeModelCatalogItem,
10225
+ WorkspaceRealtimeModelCatalogResponse,
10226
+ SessionRealtimeState,
10227
+ SessionRealtimeEndReason,
10228
+ SessionRealtimeMode,
10229
+ BeginSessionRealtimeRequest,
10230
+ RenewSessionRealtimeRequest,
10231
+ EndSessionRealtimeRequest,
10232
+ SessionRealtimeMutationResponse,
9769
10233
  SessionAuthorizationOperation,
9770
10234
  SessionAuthorizationActor,
9771
10235
  SessionAuthorizationTarget,
@@ -10094,4 +10558,4 @@ export {
10094
10558
  ClientConfig,
10095
10559
  evaluateWorkspaceModelPolicy
10096
10560
  };
10097
- //# sourceMappingURL=chunk-TQC34EGL.js.map
10561
+ //# sourceMappingURL=chunk-JRHJTJVH.js.map