@rudderhq/shared 0.1.0-canary.8 → 0.1.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.
Files changed (95) hide show
  1. package/dist/api.d.ts +1 -0
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +1 -0
  4. package/dist/api.js.map +1 -1
  5. package/dist/constants.d.ts +18 -1
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +28 -10
  8. package/dist/constants.js.map +1 -1
  9. package/dist/index.d.ts +6 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +5 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/messenger-preview.d.ts +5 -0
  14. package/dist/messenger-preview.d.ts.map +1 -0
  15. package/dist/messenger-preview.js +44 -0
  16. package/dist/messenger-preview.js.map +1 -0
  17. package/dist/messenger-preview.test.d.ts +2 -0
  18. package/dist/messenger-preview.test.d.ts.map +1 -0
  19. package/dist/messenger-preview.test.js +14 -0
  20. package/dist/messenger-preview.test.js.map +1 -0
  21. package/dist/project-mentions.d.ts.map +1 -1
  22. package/dist/project-mentions.js +18 -3
  23. package/dist/project-mentions.js.map +1 -1
  24. package/dist/project-mentions.test.js +9 -0
  25. package/dist/project-mentions.test.js.map +1 -1
  26. package/dist/types/calendar.d.ts +95 -0
  27. package/dist/types/calendar.d.ts.map +1 -0
  28. package/dist/types/calendar.js +2 -0
  29. package/dist/types/calendar.js.map +1 -0
  30. package/dist/types/goal.d.ts +26 -0
  31. package/dist/types/goal.d.ts.map +1 -1
  32. package/dist/types/index.d.ts +5 -3
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/instance.d.ts +0 -4
  35. package/dist/types/instance.d.ts.map +1 -1
  36. package/dist/types/issue.d.ts +3 -0
  37. package/dist/types/issue.d.ts.map +1 -1
  38. package/dist/types/messenger.d.ts +2 -0
  39. package/dist/types/messenger.d.ts.map +1 -1
  40. package/dist/types/organization-portability.d.ts +23 -0
  41. package/dist/types/organization-portability.d.ts.map +1 -1
  42. package/dist/types/organization.d.ts +2 -1
  43. package/dist/types/organization.d.ts.map +1 -1
  44. package/dist/types/workspace-backup.d.ts +44 -0
  45. package/dist/types/workspace-backup.d.ts.map +1 -0
  46. package/dist/types/workspace-backup.js +3 -0
  47. package/dist/types/workspace-backup.js.map +1 -0
  48. package/dist/validators/adapter-skills.d.ts +6 -6
  49. package/dist/validators/agent.d.ts +7 -7
  50. package/dist/validators/agent.d.ts.map +1 -1
  51. package/dist/validators/agent.js +11 -9
  52. package/dist/validators/agent.js.map +1 -1
  53. package/dist/validators/calendar.d.ts +407 -0
  54. package/dist/validators/calendar.d.ts.map +1 -0
  55. package/dist/validators/calendar.js +68 -0
  56. package/dist/validators/calendar.js.map +1 -0
  57. package/dist/validators/cost.d.ts +4 -4
  58. package/dist/validators/finance.d.ts +12 -12
  59. package/dist/validators/goal.d.ts +3 -3
  60. package/dist/validators/index.d.ts +4 -2
  61. package/dist/validators/index.d.ts.map +1 -1
  62. package/dist/validators/index.js +4 -2
  63. package/dist/validators/index.js.map +1 -1
  64. package/dist/validators/instance.d.ts +0 -16
  65. package/dist/validators/instance.d.ts.map +1 -1
  66. package/dist/validators/instance.js +0 -4
  67. package/dist/validators/instance.js.map +1 -1
  68. package/dist/validators/issue.d.ts +35 -0
  69. package/dist/validators/issue.d.ts.map +1 -1
  70. package/dist/validators/issue.js +12 -0
  71. package/dist/validators/issue.js.map +1 -1
  72. package/dist/validators/model-fallbacks.d.ts +3 -0
  73. package/dist/validators/model-fallbacks.d.ts.map +1 -0
  74. package/dist/validators/model-fallbacks.js +79 -0
  75. package/dist/validators/model-fallbacks.js.map +1 -0
  76. package/dist/validators/organization-portability.d.ts +6 -6
  77. package/dist/validators/organization-skill.d.ts +48 -48
  78. package/dist/validators/organization.d.ts +2 -2
  79. package/dist/validators/organization.d.ts.map +1 -1
  80. package/dist/validators/organization.js +6 -2
  81. package/dist/validators/organization.js.map +1 -1
  82. package/dist/validators/plugin.d.ts +76 -76
  83. package/dist/validators/project.d.ts +6 -6
  84. package/dist/validators/project.d.ts.map +1 -1
  85. package/dist/validators/project.js +5 -2
  86. package/dist/validators/project.js.map +1 -1
  87. package/dist/validators/project.test.d.ts +2 -0
  88. package/dist/validators/project.test.d.ts.map +1 -0
  89. package/dist/validators/project.test.js +18 -0
  90. package/dist/validators/project.test.js.map +1 -0
  91. package/dist/validators/workspace-backup.d.ts +19 -0
  92. package/dist/validators/workspace-backup.d.ts.map +1 -0
  93. package/dist/validators/workspace-backup.js +9 -0
  94. package/dist/validators/workspace-backup.js.map +1 -0
  95. package/package.json +1 -1
@@ -0,0 +1,79 @@
1
+ import { z } from "zod";
2
+ import { AGENT_RUNTIME_TYPES } from "../constants.js";
3
+ import { envConfigSchema } from "./secret.js";
4
+ const agentRuntimeTypes = new Set(AGENT_RUNTIME_TYPES);
5
+ function isRecord(value) {
6
+ return typeof value === "object" && value !== null && !Array.isArray(value);
7
+ }
8
+ export function validateModelFallbacksConfig(value, ctx, pathPrefix) {
9
+ const fallbackModels = value.modelFallbacks;
10
+ if (fallbackModels === undefined)
11
+ return;
12
+ if (!Array.isArray(fallbackModels)) {
13
+ ctx.addIssue({
14
+ code: z.ZodIssueCode.custom,
15
+ message: "modelFallbacks must be an array",
16
+ path: [...pathPrefix, "modelFallbacks"],
17
+ });
18
+ return;
19
+ }
20
+ fallbackModels.forEach((fallback, index) => {
21
+ if (typeof fallback === "string") {
22
+ if (fallback.trim().length === 0) {
23
+ ctx.addIssue({
24
+ code: z.ZodIssueCode.custom,
25
+ message: "modelFallbacks string entries must be non-empty",
26
+ path: [...pathPrefix, "modelFallbacks", index],
27
+ });
28
+ }
29
+ return;
30
+ }
31
+ if (!isRecord(fallback)) {
32
+ ctx.addIssue({
33
+ code: z.ZodIssueCode.custom,
34
+ message: "modelFallbacks entries must be strings or runtime/model objects",
35
+ path: [...pathPrefix, "modelFallbacks", index],
36
+ });
37
+ return;
38
+ }
39
+ if (typeof fallback.agentRuntimeType !== "string" || fallback.agentRuntimeType.trim().length === 0) {
40
+ ctx.addIssue({
41
+ code: z.ZodIssueCode.custom,
42
+ message: "modelFallbacks entries must include agentRuntimeType",
43
+ path: [...pathPrefix, "modelFallbacks", index, "agentRuntimeType"],
44
+ });
45
+ }
46
+ else if (!agentRuntimeTypes.has(fallback.agentRuntimeType)) {
47
+ ctx.addIssue({
48
+ code: z.ZodIssueCode.custom,
49
+ message: "modelFallbacks entries must include a valid agentRuntimeType",
50
+ path: [...pathPrefix, "modelFallbacks", index, "agentRuntimeType"],
51
+ });
52
+ }
53
+ if (typeof fallback.model !== "string" || fallback.model.trim().length === 0) {
54
+ ctx.addIssue({
55
+ code: z.ZodIssueCode.custom,
56
+ message: "modelFallbacks entries must include model",
57
+ path: [...pathPrefix, "modelFallbacks", index, "model"],
58
+ });
59
+ }
60
+ if (fallback.config !== undefined && !isRecord(fallback.config)) {
61
+ ctx.addIssue({
62
+ code: z.ZodIssueCode.custom,
63
+ message: "modelFallbacks entry config must be an object",
64
+ path: [...pathPrefix, "modelFallbacks", index, "config"],
65
+ });
66
+ }
67
+ else if (isRecord(fallback.config) && fallback.config.env !== undefined) {
68
+ const parsed = envConfigSchema.safeParse(fallback.config.env);
69
+ if (!parsed.success) {
70
+ ctx.addIssue({
71
+ code: z.ZodIssueCode.custom,
72
+ message: "modelFallbacks entry config.env must be a map of valid env bindings",
73
+ path: [...pathPrefix, "modelFallbacks", index, "config", "env"],
74
+ });
75
+ }
76
+ }
77
+ });
78
+ }
79
+ //# sourceMappingURL=model-fallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-fallbacks.js","sourceRoot":"","sources":["../../src/validators/model-fallbacks.ts"],"names":[],"mappings":"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"}
@@ -108,11 +108,11 @@ export declare const portabilityAgentManifestEntrySchema: z.ZodObject<{
108
108
  path: string;
109
109
  title: string | null;
110
110
  name: string;
111
+ agentRuntimeType: string;
111
112
  budgetMonthlyCents: number;
112
113
  metadata: Record<string, unknown> | null;
113
114
  role: string;
114
115
  slug: string;
115
- agentRuntimeType: string;
116
116
  skills: string[];
117
117
  icon: string | null;
118
118
  capabilities: string | null;
@@ -124,11 +124,11 @@ export declare const portabilityAgentManifestEntrySchema: z.ZodObject<{
124
124
  path: string;
125
125
  title: string | null;
126
126
  name: string;
127
+ agentRuntimeType: string;
127
128
  budgetMonthlyCents: number;
128
129
  metadata: Record<string, unknown> | null;
129
130
  role: string;
130
131
  slug: string;
131
- agentRuntimeType: string;
132
132
  icon: string | null;
133
133
  capabilities: string | null;
134
134
  reportsToSlug: string | null;
@@ -588,11 +588,11 @@ export declare const portabilityManifestSchema: z.ZodObject<{
588
588
  path: string;
589
589
  title: string | null;
590
590
  name: string;
591
+ agentRuntimeType: string;
591
592
  budgetMonthlyCents: number;
592
593
  metadata: Record<string, unknown> | null;
593
594
  role: string;
594
595
  slug: string;
595
- agentRuntimeType: string;
596
596
  skills: string[];
597
597
  icon: string | null;
598
598
  capabilities: string | null;
@@ -604,11 +604,11 @@ export declare const portabilityManifestSchema: z.ZodObject<{
604
604
  path: string;
605
605
  title: string | null;
606
606
  name: string;
607
+ agentRuntimeType: string;
607
608
  budgetMonthlyCents: number;
608
609
  metadata: Record<string, unknown> | null;
609
610
  role: string;
610
611
  slug: string;
611
- agentRuntimeType: string;
612
612
  icon: string | null;
613
613
  capabilities: string | null;
614
614
  reportsToSlug: string | null;
@@ -980,11 +980,11 @@ export declare const portabilityManifestSchema: z.ZodObject<{
980
980
  path: string;
981
981
  title: string | null;
982
982
  name: string;
983
+ agentRuntimeType: string;
983
984
  budgetMonthlyCents: number;
984
985
  metadata: Record<string, unknown> | null;
985
986
  role: string;
986
987
  slug: string;
987
- agentRuntimeType: string;
988
988
  skills: string[];
989
989
  icon: string | null;
990
990
  capabilities: string | null;
@@ -1075,11 +1075,11 @@ export declare const portabilityManifestSchema: z.ZodObject<{
1075
1075
  path: string;
1076
1076
  title: string | null;
1077
1077
  name: string;
1078
+ agentRuntimeType: string;
1078
1079
  budgetMonthlyCents: number;
1079
1080
  metadata: Record<string, unknown> | null;
1080
1081
  role: string;
1081
1082
  slug: string;
1082
- agentRuntimeType: string;
1083
1083
  icon: string | null;
1084
1084
  capabilities: string | null;
1085
1085
  reportsToSlug: string | null;
@@ -179,15 +179,15 @@ export declare const organizationSkillUsageAgentSchema: z.ZodObject<{
179
179
  }, "strip", z.ZodTypeAny, {
180
180
  id: string;
181
181
  name: string;
182
- urlKey: string;
183
182
  agentRuntimeType: string;
183
+ urlKey: string;
184
184
  desired: boolean;
185
185
  actualState: string | null;
186
186
  }, {
187
187
  id: string;
188
188
  name: string;
189
- urlKey: string;
190
189
  agentRuntimeType: string;
190
+ urlKey: string;
191
191
  desired: boolean;
192
192
  actualState: string | null;
193
193
  }>;
@@ -229,15 +229,15 @@ export declare const organizationSkillDetailSchema: z.ZodObject<{
229
229
  }, "strip", z.ZodTypeAny, {
230
230
  id: string;
231
231
  name: string;
232
- urlKey: string;
233
232
  agentRuntimeType: string;
233
+ urlKey: string;
234
234
  desired: boolean;
235
235
  actualState: string | null;
236
236
  }, {
237
237
  id: string;
238
238
  name: string;
239
- urlKey: string;
240
239
  agentRuntimeType: string;
240
+ urlKey: string;
241
241
  desired: boolean;
242
242
  actualState: string | null;
243
243
  }>, "many">>;
@@ -277,8 +277,8 @@ export declare const organizationSkillDetailSchema: z.ZodObject<{
277
277
  usedByAgents: {
278
278
  id: string;
279
279
  name: string;
280
- urlKey: string;
281
280
  agentRuntimeType: string;
281
+ urlKey: string;
282
282
  desired: boolean;
283
283
  actualState: string | null;
284
284
  }[];
@@ -312,8 +312,8 @@ export declare const organizationSkillDetailSchema: z.ZodObject<{
312
312
  usedByAgents?: {
313
313
  id: string;
314
314
  name: string;
315
- urlKey: string;
316
315
  agentRuntimeType: string;
316
+ urlKey: string;
317
317
  desired: boolean;
318
318
  actualState: string | null;
319
319
  }[] | undefined;
@@ -615,15 +615,7 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
615
615
  }>, "many">;
616
616
  warnings: z.ZodArray<z.ZodString, "many">;
617
617
  }, "strip", z.ZodTypeAny, {
618
- skipped: {
619
- path: string | null;
620
- projectId: string;
621
- reason: string;
622
- projectName: string;
623
- workspaceId: string | null;
624
- workspaceName: string | null;
625
- }[];
626
- updated: {
618
+ imported: {
627
619
  updatedAt: Date;
628
620
  markdown: string;
629
621
  id: string;
@@ -644,10 +636,15 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
644
636
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
645
637
  }[];
646
638
  }[];
647
- scannedProjects: number;
648
- scannedWorkspaces: number;
649
- discovered: number;
650
- imported: {
639
+ skipped: {
640
+ path: string | null;
641
+ projectId: string;
642
+ reason: string;
643
+ projectName: string;
644
+ workspaceId: string | null;
645
+ workspaceName: string | null;
646
+ }[];
647
+ updated: {
651
648
  updatedAt: Date;
652
649
  markdown: string;
653
650
  id: string;
@@ -668,6 +665,9 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
668
665
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
669
666
  }[];
670
667
  }[];
668
+ scannedProjects: number;
669
+ scannedWorkspaces: number;
670
+ discovered: number;
671
671
  conflicts: {
672
672
  path: string;
673
673
  projectId: string;
@@ -683,15 +683,7 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
683
683
  }[];
684
684
  warnings: string[];
685
685
  }, {
686
- skipped: {
687
- path: string | null;
688
- projectId: string;
689
- reason: string;
690
- projectName: string;
691
- workspaceId: string | null;
692
- workspaceName: string | null;
693
- }[];
694
- updated: {
686
+ imported: {
695
687
  updatedAt: Date;
696
688
  markdown: string;
697
689
  id: string;
@@ -712,10 +704,15 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
712
704
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
713
705
  }[] | undefined;
714
706
  }[];
715
- scannedProjects: number;
716
- scannedWorkspaces: number;
717
- discovered: number;
718
- imported: {
707
+ skipped: {
708
+ path: string | null;
709
+ projectId: string;
710
+ reason: string;
711
+ projectName: string;
712
+ workspaceId: string | null;
713
+ workspaceName: string | null;
714
+ }[];
715
+ updated: {
719
716
  updatedAt: Date;
720
717
  markdown: string;
721
718
  id: string;
@@ -736,6 +733,9 @@ export declare const organizationSkillProjectScanResultSchema: z.ZodObject<{
736
733
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
737
734
  }[] | undefined;
738
735
  }[];
736
+ scannedProjects: number;
737
+ scannedWorkspaces: number;
738
+ discovered: number;
739
739
  conflicts: {
740
740
  path: string;
741
741
  projectId: string;
@@ -979,12 +979,7 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
979
979
  }>, "many">;
980
980
  warnings: z.ZodArray<z.ZodString, "many">;
981
981
  }, "strip", z.ZodTypeAny, {
982
- skipped: {
983
- path: string | null;
984
- reason: string;
985
- root: string;
986
- }[];
987
- updated: {
982
+ imported: {
988
983
  updatedAt: Date;
989
984
  markdown: string;
990
985
  id: string;
@@ -1005,8 +1000,12 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
1005
1000
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
1006
1001
  }[];
1007
1002
  }[];
1008
- discovered: number;
1009
- imported: {
1003
+ skipped: {
1004
+ path: string | null;
1005
+ reason: string;
1006
+ root: string;
1007
+ }[];
1008
+ updated: {
1010
1009
  updatedAt: Date;
1011
1010
  markdown: string;
1012
1011
  id: string;
@@ -1027,6 +1026,7 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
1027
1026
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
1028
1027
  }[];
1029
1028
  }[];
1029
+ discovered: number;
1030
1030
  conflicts: {
1031
1031
  path: string;
1032
1032
  key: string;
@@ -1040,12 +1040,7 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
1040
1040
  warnings: string[];
1041
1041
  scannedRoots: number;
1042
1042
  }, {
1043
- skipped: {
1044
- path: string | null;
1045
- reason: string;
1046
- root: string;
1047
- }[];
1048
- updated: {
1043
+ imported: {
1049
1044
  updatedAt: Date;
1050
1045
  markdown: string;
1051
1046
  id: string;
@@ -1066,8 +1061,12 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
1066
1061
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
1067
1062
  }[] | undefined;
1068
1063
  }[];
1069
- discovered: number;
1070
- imported: {
1064
+ skipped: {
1065
+ path: string | null;
1066
+ reason: string;
1067
+ root: string;
1068
+ }[];
1069
+ updated: {
1071
1070
  updatedAt: Date;
1072
1071
  markdown: string;
1073
1072
  id: string;
@@ -1088,6 +1087,7 @@ export declare const organizationSkillLocalScanResultSchema: z.ZodObject<{
1088
1087
  kind: "reference" | "skill" | "markdown" | "script" | "asset" | "other";
1089
1088
  }[] | undefined;
1090
1089
  }[];
1090
+ discovered: number;
1091
1091
  conflicts: {
1092
1092
  path: string;
1093
1093
  key: string;
@@ -5,7 +5,7 @@ export declare const createOrganizationSchema: z.ZodObject<{
5
5
  budgetMonthlyCents: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
6
  defaultChatIssueCreationMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["manual_approval", "auto_create"]>>>;
7
7
  defaultChatAgentRuntimeType: z.ZodNullable<z.ZodOptional<z.ZodEnum<["process", "http", "claude_local", "codex_local", "gemini_local", "opencode_local", "pi_local", "cursor", "openclaw_gateway", "hermes_local"]>>>;
8
- defaultChatAgentRuntimeConfig: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
8
+ defaultChatAgentRuntimeConfig: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>>>;
9
9
  brandColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
10
  requireBoardApprovalForNewAgents: z.ZodOptional<z.ZodBoolean>;
11
11
  }, "strip", z.ZodTypeAny, {
@@ -38,7 +38,7 @@ export declare const updateOrganizationSchema: z.ZodObject<{
38
38
  requireBoardApprovalForNewAgents: z.ZodOptional<z.ZodBoolean>;
39
39
  defaultChatIssueCreationMode: z.ZodOptional<z.ZodEnum<["manual_approval", "auto_create"]>>;
40
40
  defaultChatAgentRuntimeType: z.ZodNullable<z.ZodOptional<z.ZodEnum<["process", "http", "claude_local", "codex_local", "gemini_local", "opencode_local", "pi_local", "cursor", "openclaw_gateway", "hermes_local"]>>>;
41
- defaultChatAgentRuntimeConfig: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
41
+ defaultChatAgentRuntimeConfig: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>>>;
42
42
  brandColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
43
  logoAssetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
44
  }, "strip", z.ZodTypeAny, {
@@ -1 +1 @@
1
- {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/validators/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;EAe1C,CAAC;AAEJ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,qCAAqC;;;;;;EAEhD,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/validators/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;EAe1C,CAAC;AAEJ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,qCAAqC;;;;;;EAEhD,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
@@ -1,14 +1,18 @@
1
1
  import { z } from "zod";
2
2
  import { AGENT_RUNTIME_TYPES, CHAT_ISSUE_CREATION_MODES, ORGANIZATION_STATUSES } from "../constants.js";
3
+ import { validateModelFallbacksConfig } from "./model-fallbacks.js";
3
4
  const logoAssetIdSchema = z.string().uuid().nullable().optional();
4
5
  const brandColorSchema = z.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional();
6
+ const defaultChatRuntimeConfigSchema = z.record(z.unknown()).superRefine((value, ctx) => {
7
+ validateModelFallbacksConfig(value, ctx, []);
8
+ });
5
9
  export const createOrganizationSchema = z.object({
6
10
  name: z.string().min(1),
7
11
  description: z.string().optional().nullable(),
8
12
  budgetMonthlyCents: z.number().int().nonnegative().optional().default(0),
9
13
  defaultChatIssueCreationMode: z.enum(CHAT_ISSUE_CREATION_MODES).optional().default("manual_approval"),
10
14
  defaultChatAgentRuntimeType: z.enum(AGENT_RUNTIME_TYPES).optional().nullable(),
11
- defaultChatAgentRuntimeConfig: z.record(z.unknown()).optional().nullable(),
15
+ defaultChatAgentRuntimeConfig: defaultChatRuntimeConfigSchema.optional().nullable(),
12
16
  brandColor: brandColorSchema,
13
17
  requireBoardApprovalForNewAgents: z.boolean().optional(),
14
18
  });
@@ -20,7 +24,7 @@ export const updateOrganizationSchema = createOrganizationSchema
20
24
  requireBoardApprovalForNewAgents: z.boolean().optional(),
21
25
  defaultChatIssueCreationMode: z.enum(CHAT_ISSUE_CREATION_MODES).optional(),
22
26
  defaultChatAgentRuntimeType: z.enum(AGENT_RUNTIME_TYPES).optional().nullable(),
23
- defaultChatAgentRuntimeConfig: z.record(z.unknown()).optional().nullable(),
27
+ defaultChatAgentRuntimeConfig: defaultChatRuntimeConfigSchema.optional().nullable(),
24
28
  brandColor: brandColorSchema,
25
29
  logoAssetId: logoAssetIdSchema,
26
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/validators/organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/validators/organization.ts"],"names":[],"mappings":"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"}