@vertesia/common 0.80.1 → 0.81.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 (276) hide show
  1. package/lib/cjs/Progress.js +61 -0
  2. package/lib/cjs/Progress.js.map +1 -0
  3. package/lib/cjs/access-control.js +56 -0
  4. package/lib/cjs/access-control.js.map +1 -0
  5. package/lib/cjs/analytics.js +3 -0
  6. package/lib/cjs/analytics.js.map +1 -0
  7. package/lib/cjs/apikey.js +16 -0
  8. package/lib/cjs/apikey.js.map +1 -0
  9. package/lib/cjs/apps.js +3 -0
  10. package/lib/cjs/apps.js.map +1 -0
  11. package/lib/cjs/common.js +3 -0
  12. package/lib/cjs/common.js.map +1 -0
  13. package/lib/cjs/environment.js +44 -0
  14. package/lib/cjs/environment.js.map +1 -0
  15. package/lib/cjs/facets.js +3 -0
  16. package/lib/cjs/facets.js.map +1 -0
  17. package/lib/cjs/group.js +5 -0
  18. package/lib/cjs/group.js.map +1 -0
  19. package/lib/cjs/index.js +49 -0
  20. package/lib/cjs/index.js.map +1 -0
  21. package/lib/cjs/integrations.js +12 -0
  22. package/lib/cjs/integrations.js.map +1 -0
  23. package/lib/cjs/interaction.js +74 -0
  24. package/lib/cjs/interaction.js.map +1 -0
  25. package/lib/cjs/json-schema.js +3 -0
  26. package/lib/cjs/json-schema.js.map +1 -0
  27. package/lib/cjs/json.js +3 -0
  28. package/lib/cjs/json.js.map +1 -0
  29. package/lib/cjs/meters.js +13 -0
  30. package/lib/cjs/meters.js.map +1 -0
  31. package/lib/cjs/model_utility.js +6 -0
  32. package/lib/cjs/model_utility.js.map +1 -0
  33. package/lib/cjs/package.json +3 -0
  34. package/lib/cjs/payload.js +3 -0
  35. package/lib/cjs/payload.js.map +1 -0
  36. package/lib/cjs/project.js +107 -0
  37. package/lib/cjs/project.js.map +1 -0
  38. package/lib/cjs/prompt.js +20 -0
  39. package/lib/cjs/prompt.js.map +1 -0
  40. package/lib/cjs/query.js +3 -0
  41. package/lib/cjs/query.js.map +1 -0
  42. package/lib/cjs/rate-limiter.js +6 -0
  43. package/lib/cjs/rate-limiter.js.map +1 -0
  44. package/lib/cjs/refs.js +14 -0
  45. package/lib/cjs/refs.js.map +1 -0
  46. package/lib/cjs/runs.js +3 -0
  47. package/lib/cjs/runs.js.map +1 -0
  48. package/lib/cjs/skill.js +14 -0
  49. package/lib/cjs/skill.js.map +1 -0
  50. package/lib/cjs/store/activity-catalog.js +3 -0
  51. package/lib/cjs/store/activity-catalog.js.map +1 -0
  52. package/lib/cjs/store/collections.js +9 -0
  53. package/lib/cjs/store/collections.js.map +1 -0
  54. package/lib/cjs/store/common.js +3 -0
  55. package/lib/cjs/store/common.js.map +1 -0
  56. package/lib/cjs/store/doc-analyzer.js +3 -0
  57. package/lib/cjs/store/doc-analyzer.js.map +1 -0
  58. package/lib/cjs/store/dsl-workflow.js +5 -0
  59. package/lib/cjs/store/dsl-workflow.js.map +1 -0
  60. package/lib/cjs/store/index.js +28 -0
  61. package/lib/cjs/store/index.js.map +1 -0
  62. package/lib/cjs/store/object-types.js +98 -0
  63. package/lib/cjs/store/object-types.js.map +1 -0
  64. package/lib/cjs/store/signals.js +3 -0
  65. package/lib/cjs/store/signals.js.map +1 -0
  66. package/lib/cjs/store/store.js +55 -0
  67. package/lib/cjs/store/store.js.map +1 -0
  68. package/lib/cjs/store/temporalio.js +44 -0
  69. package/lib/cjs/store/temporalio.js.map +1 -0
  70. package/lib/cjs/store/worker.js +3 -0
  71. package/lib/cjs/store/worker.js.map +1 -0
  72. package/lib/cjs/store/workflow.js +49 -0
  73. package/lib/cjs/store/workflow.js.map +1 -0
  74. package/lib/cjs/sts-token-types.js +32 -0
  75. package/lib/cjs/sts-token-types.js.map +1 -0
  76. package/lib/cjs/tenant.js +3 -0
  77. package/lib/cjs/tenant.js.map +1 -0
  78. package/lib/cjs/training.js +14 -0
  79. package/lib/cjs/training.js.map +1 -0
  80. package/lib/cjs/transient-tokens.js +9 -0
  81. package/lib/cjs/transient-tokens.js.map +1 -0
  82. package/lib/cjs/user.js +17 -0
  83. package/lib/cjs/user.js.map +1 -0
  84. package/lib/cjs/utils/auth.js +15 -0
  85. package/lib/cjs/utils/auth.js.map +1 -0
  86. package/lib/cjs/utils/schemas.js +114 -0
  87. package/lib/cjs/utils/schemas.js.map +1 -0
  88. package/lib/cjs/utils/type-helpers.js +3 -0
  89. package/lib/cjs/utils/type-helpers.js.map +1 -0
  90. package/lib/cjs/versions.js +8 -0
  91. package/lib/cjs/versions.js.map +1 -0
  92. package/lib/esm/Progress.js +57 -0
  93. package/lib/esm/Progress.js.map +1 -0
  94. package/lib/esm/access-control.js +53 -0
  95. package/lib/esm/access-control.js.map +1 -0
  96. package/lib/esm/analytics.js +2 -0
  97. package/lib/esm/analytics.js.map +1 -0
  98. package/lib/esm/apikey.js +13 -0
  99. package/lib/esm/apikey.js.map +1 -0
  100. package/lib/esm/apps.js +2 -0
  101. package/lib/esm/apps.js.map +1 -0
  102. package/lib/esm/common.js +2 -0
  103. package/lib/esm/common.js.map +1 -0
  104. package/lib/esm/environment.js +41 -0
  105. package/lib/esm/environment.js.map +1 -0
  106. package/lib/esm/facets.js +2 -0
  107. package/lib/esm/facets.js.map +1 -0
  108. package/lib/esm/group.js +2 -0
  109. package/lib/esm/group.js.map +1 -0
  110. package/lib/esm/index.js +33 -0
  111. package/lib/esm/index.js.map +1 -0
  112. package/lib/esm/integrations.js +9 -0
  113. package/lib/esm/integrations.js.map +1 -0
  114. package/lib/esm/interaction.js +71 -0
  115. package/lib/esm/interaction.js.map +1 -0
  116. package/lib/esm/json-schema.js +2 -0
  117. package/lib/esm/json-schema.js.map +1 -0
  118. package/lib/esm/json.js +2 -0
  119. package/lib/esm/json.js.map +1 -0
  120. package/lib/esm/meters.js +10 -0
  121. package/lib/esm/meters.js.map +1 -0
  122. package/lib/esm/model_utility.js +2 -0
  123. package/lib/esm/model_utility.js.map +1 -0
  124. package/lib/esm/payload.js +2 -0
  125. package/lib/esm/payload.js.map +1 -0
  126. package/lib/esm/project.js +102 -0
  127. package/lib/esm/project.js.map +1 -0
  128. package/lib/esm/prompt.js +17 -0
  129. package/lib/esm/prompt.js.map +1 -0
  130. package/lib/esm/query.js +2 -0
  131. package/lib/esm/query.js.map +1 -0
  132. package/lib/esm/rate-limiter.js +5 -0
  133. package/lib/esm/rate-limiter.js.map +1 -0
  134. package/lib/esm/refs.js +11 -0
  135. package/lib/esm/refs.js.map +1 -0
  136. package/lib/esm/runs.js +2 -0
  137. package/lib/esm/runs.js.map +1 -0
  138. package/lib/esm/skill.js +13 -0
  139. package/lib/esm/skill.js.map +1 -0
  140. package/lib/esm/store/activity-catalog.js +2 -0
  141. package/lib/esm/store/activity-catalog.js.map +1 -0
  142. package/lib/esm/store/collections.js +6 -0
  143. package/lib/esm/store/collections.js.map +1 -0
  144. package/lib/esm/store/common.js +2 -0
  145. package/lib/esm/store/common.js.map +1 -0
  146. package/lib/esm/store/doc-analyzer.js +2 -0
  147. package/lib/esm/store/doc-analyzer.js.map +1 -0
  148. package/lib/esm/store/dsl-workflow.js +2 -0
  149. package/lib/esm/store/dsl-workflow.js.map +1 -0
  150. package/lib/esm/store/index.js +12 -0
  151. package/lib/esm/store/index.js.map +1 -0
  152. package/lib/esm/store/object-types.js +95 -0
  153. package/lib/esm/store/object-types.js.map +1 -0
  154. package/lib/esm/store/signals.js +2 -0
  155. package/lib/esm/store/signals.js.map +1 -0
  156. package/lib/esm/store/store.js +52 -0
  157. package/lib/esm/store/store.js.map +1 -0
  158. package/lib/esm/store/temporalio.js +41 -0
  159. package/lib/esm/store/temporalio.js.map +1 -0
  160. package/lib/esm/store/worker.js +2 -0
  161. package/lib/esm/store/worker.js.map +1 -0
  162. package/lib/esm/store/workflow.js +45 -0
  163. package/lib/esm/store/workflow.js.map +1 -0
  164. package/lib/esm/sts-token-types.js +24 -0
  165. package/lib/esm/sts-token-types.js.map +1 -0
  166. package/lib/esm/tenant.js +2 -0
  167. package/lib/esm/tenant.js.map +1 -0
  168. package/lib/esm/training.js +11 -0
  169. package/lib/esm/training.js.map +1 -0
  170. package/lib/esm/transient-tokens.js +6 -0
  171. package/lib/esm/transient-tokens.js.map +1 -0
  172. package/lib/esm/user.js +14 -0
  173. package/lib/esm/user.js.map +1 -0
  174. package/lib/esm/utils/auth.js +11 -0
  175. package/lib/esm/utils/auth.js.map +1 -0
  176. package/lib/esm/utils/schemas.js +107 -0
  177. package/lib/esm/utils/schemas.js.map +1 -0
  178. package/lib/esm/utils/type-helpers.js +2 -0
  179. package/lib/esm/utils/type-helpers.js.map +1 -0
  180. package/lib/esm/versions.js +5 -0
  181. package/lib/esm/versions.js.map +1 -0
  182. package/lib/tsconfig.tsbuildinfo +1 -0
  183. package/lib/types/Progress.d.ts +21 -0
  184. package/lib/types/Progress.d.ts.map +1 -0
  185. package/lib/types/access-control.d.ts +73 -0
  186. package/lib/types/access-control.d.ts.map +1 -0
  187. package/lib/types/analytics.d.ts +36 -0
  188. package/lib/types/analytics.d.ts.map +1 -0
  189. package/lib/types/apikey.d.ts +80 -0
  190. package/lib/types/apikey.d.ts.map +1 -0
  191. package/lib/types/apps.d.ts +102 -0
  192. package/lib/types/apps.d.ts.map +1 -0
  193. package/lib/types/common.d.ts +31 -0
  194. package/lib/types/common.d.ts.map +1 -0
  195. package/lib/types/environment.d.ts +86 -0
  196. package/lib/types/environment.d.ts.map +1 -0
  197. package/lib/types/facets.d.ts +34 -0
  198. package/lib/types/facets.d.ts.map +1 -0
  199. package/lib/types/group.d.ts +21 -0
  200. package/lib/types/group.d.ts.map +1 -0
  201. package/lib/types/index.d.ts +33 -0
  202. package/lib/types/index.d.ts.map +1 -0
  203. package/lib/types/integrations.d.ts +28 -0
  204. package/lib/types/integrations.d.ts.map +1 -0
  205. package/lib/types/interaction.d.ts +726 -0
  206. package/lib/types/interaction.d.ts.map +1 -0
  207. package/lib/types/json-schema.d.ts +1 -0
  208. package/lib/types/json-schema.d.ts.map +1 -0
  209. package/lib/types/json.d.ts +1 -0
  210. package/lib/types/json.d.ts.map +1 -0
  211. package/lib/types/meters.d.ts +23 -0
  212. package/lib/types/meters.d.ts.map +1 -0
  213. package/lib/types/model_utility.d.ts +1 -0
  214. package/lib/types/model_utility.d.ts.map +1 -0
  215. package/lib/types/payload.d.ts +60 -0
  216. package/lib/types/payload.d.ts.map +1 -0
  217. package/lib/types/project.d.ts +173 -0
  218. package/lib/types/project.d.ts.map +1 -0
  219. package/lib/types/prompt.d.ts +77 -0
  220. package/lib/types/prompt.d.ts.map +1 -0
  221. package/lib/types/query.d.ts +118 -0
  222. package/lib/types/query.d.ts.map +1 -0
  223. package/lib/types/rate-limiter.d.ts +28 -0
  224. package/lib/types/rate-limiter.d.ts.map +1 -0
  225. package/lib/types/refs.d.ts +22 -0
  226. package/lib/types/refs.d.ts.map +1 -0
  227. package/lib/types/runs.d.ts +32 -0
  228. package/lib/types/runs.d.ts.map +1 -0
  229. package/lib/types/skill.d.ts +78 -0
  230. package/lib/types/skill.d.ts.map +1 -0
  231. package/lib/types/store/activity-catalog.d.ts +26 -0
  232. package/lib/types/store/activity-catalog.d.ts.map +1 -0
  233. package/lib/types/store/collections.d.ts +78 -0
  234. package/lib/types/store/collections.d.ts.map +1 -0
  235. package/lib/types/store/common.d.ts +22 -0
  236. package/lib/types/store/common.d.ts.map +1 -0
  237. package/lib/types/store/doc-analyzer.d.ts +140 -0
  238. package/lib/types/store/doc-analyzer.d.ts.map +1 -0
  239. package/lib/types/store/dsl-workflow.d.ts +238 -0
  240. package/lib/types/store/dsl-workflow.d.ts.map +1 -0
  241. package/lib/types/store/index.d.ts +11 -0
  242. package/lib/types/store/index.d.ts.map +1 -0
  243. package/lib/types/store/object-types.d.ts +23 -0
  244. package/lib/types/store/object-types.d.ts.map +1 -0
  245. package/lib/types/store/signals.d.ts +5 -0
  246. package/lib/types/store/signals.d.ts.map +1 -0
  247. package/lib/types/store/store.d.ts +358 -0
  248. package/lib/types/store/store.d.ts.map +1 -0
  249. package/lib/types/store/temporalio.d.ts +16 -0
  250. package/lib/types/store/temporalio.d.ts.map +1 -0
  251. package/lib/types/store/worker.d.ts +18 -0
  252. package/lib/types/store/worker.d.ts.map +1 -0
  253. package/lib/types/store/workflow.d.ts +412 -0
  254. package/lib/types/store/workflow.d.ts.map +1 -0
  255. package/lib/types/sts-token-types.d.ts +72 -0
  256. package/lib/types/sts-token-types.d.ts.map +1 -0
  257. package/lib/types/tenant.d.ts +10 -0
  258. package/lib/types/tenant.d.ts.map +1 -0
  259. package/lib/types/training.d.ts +38 -0
  260. package/lib/types/training.d.ts.map +1 -0
  261. package/lib/types/transient-tokens.d.ts +24 -0
  262. package/lib/types/transient-tokens.d.ts.map +1 -0
  263. package/lib/types/user.d.ts +108 -0
  264. package/lib/types/user.d.ts.map +1 -0
  265. package/lib/types/utils/auth.d.ts +3 -0
  266. package/lib/types/utils/auth.d.ts.map +1 -0
  267. package/lib/types/utils/schemas.d.ts +9 -0
  268. package/lib/types/utils/schemas.d.ts.map +1 -0
  269. package/lib/types/utils/type-helpers.d.ts +3 -0
  270. package/lib/types/utils/type-helpers.d.ts.map +1 -0
  271. package/lib/types/versions.d.ts +3 -0
  272. package/lib/types/versions.d.ts.map +1 -0
  273. package/lib/vertesia-common.js +2 -0
  274. package/lib/vertesia-common.js.map +1 -0
  275. package/package.json +2 -2
  276. package/src/apps.ts +5 -3
@@ -0,0 +1,108 @@
1
+ import { ApiKey } from "./apikey.js";
2
+ import { ProjectRoles } from "./project.js";
3
+ export interface UserWithAccounts extends User {
4
+ accounts: AccountRef[];
5
+ }
6
+ export interface User {
7
+ id: string;
8
+ externalId: string;
9
+ email: string;
10
+ name: string;
11
+ username?: string;
12
+ picture?: string;
13
+ language?: string;
14
+ phone?: string;
15
+ sign_in_provider?: string;
16
+ last_selected_account?: string;
17
+ source?: 'firebase' | 'scim';
18
+ }
19
+ export interface UserRef {
20
+ id: string;
21
+ name: string;
22
+ email: string;
23
+ picture?: string;
24
+ }
25
+ export declare const UserRefPopulate = "id name email picture";
26
+ export declare enum Datacenters {
27
+ aws = "aws",
28
+ gcp = "gcp",
29
+ azure = "azure"
30
+ }
31
+ export declare enum BillingMethod {
32
+ stripe = "stripe",
33
+ invoice = "invoice"
34
+ }
35
+ export interface AccountBilling {
36
+ method: BillingMethod;
37
+ stripe_customer_id?: string;
38
+ }
39
+ export interface Account {
40
+ id: string;
41
+ name: string;
42
+ email_domains: string[];
43
+ onboarding: {
44
+ completed: boolean;
45
+ completed_at: Date;
46
+ };
47
+ datacenter: string;
48
+ billing: AccountBilling;
49
+ created_by: string;
50
+ updated_by: string;
51
+ created_at: string;
52
+ updated_at: string;
53
+ }
54
+ export interface UpdateAccountPayload {
55
+ name?: string;
56
+ email_domains?: string[];
57
+ billing?: AccountBilling;
58
+ }
59
+ export interface AccountRef {
60
+ id: string;
61
+ name: string;
62
+ }
63
+ export declare const AccountRefPopulate = "id name";
64
+ export interface InviteUserRequestPayload {
65
+ email: string;
66
+ role: ProjectRoles;
67
+ }
68
+ export interface InviteUserResponsePayload {
69
+ action: 'invited' | 'added';
70
+ }
71
+ type UserOrApiKey<T extends User | ApiKey> = T extends User ? User : ApiKey;
72
+ type SessionType<T extends User | ApiKey> = T extends User ? "user" : "apikey";
73
+ export interface SessionInfo<T extends User | ApiKey> {
74
+ isNew?: boolean;
75
+ type: SessionType<T>;
76
+ subject: UserOrApiKey<T>;
77
+ current_account: Account;
78
+ accounts: AccountRef[];
79
+ }
80
+ export interface UserSessionInfo extends SessionInfo<User> {
81
+ }
82
+ export interface ApiKeySessionInfo extends SessionInfo<ApiKey> {
83
+ }
84
+ export interface OnboardingProgress {
85
+ interactions: boolean;
86
+ prompts: boolean;
87
+ environments: boolean;
88
+ default_environment_defined: boolean;
89
+ }
90
+ /**
91
+ * Data collected at signup
92
+ * used for onboarding and segments
93
+ **/
94
+ export interface SignupData {
95
+ accountType: string;
96
+ companyName?: string;
97
+ companySize?: number;
98
+ companyWebsite?: string;
99
+ maturity?: string;
100
+ }
101
+ /**
102
+ * Signup Payload: used to create a new user
103
+ */
104
+ export interface SignupPayload {
105
+ firebaseToken: string;
106
+ signupData: SignupData;
107
+ }
108
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ProjectRef } from "../project.js";
2
+ export declare function getTenantId(accountId: string, projectId: string): string;
3
+ export declare function getTenantIdFromProject(project: ProjectRef): string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMxE;AACD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAElE"}
@@ -0,0 +1,9 @@
1
+ import type { JSONSchema } from "@llumiverse/common";
2
+ import type { JSONSchema4 } from "json-schema";
3
+ import { InCodePrompt, InteractionRefWithSchema, PopulatedInteraction } from "../interaction.js";
4
+ import { ExecutablePromptSegmentDef } from "../prompt.js";
5
+ export declare function removeExtraProperties<T>(schema: T): T;
6
+ export declare function mergeJSONSchemas(schemas: JSONSchema[]): JSONSchema | null;
7
+ export declare function _mergePromptsSchema(prompts: ExecutablePromptSegmentDef[]): JSONSchema4 | null;
8
+ export declare function mergePromptsSchema(interaction: InteractionRefWithSchema | PopulatedInteraction): JSONSchema4 | null;
9
+ export declare function mergeInCodePromptSchemas(prompts: InCodePrompt[]): JSONSchema | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAwB,MAAM,cAAc,CAAC;AAIhF,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAmBrD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,qBAerD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,EAAE,sBAoCxE;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,wBAAwB,GAAG,oBAAoB,sBAG9F;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,qBAkB/D"}
@@ -0,0 +1,3 @@
1
+ export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
2
+ [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
3
+ }[Keys];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/type-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3D,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAC/B;KACK,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3E,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare enum ApiVersions {
2
+ COMPLETION_RESULT_V1 = 20250925
3
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/versions.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACnB,oBAAoB,WAAW;CAClC"}
@@ -0,0 +1,2 @@
1
+ var e,t,o,i,a,u;!function(e){e.int_read="interaction:read",e.int_write="interaction:write",e.int_delete="interaction:delete",e.int_execute="interaction:execute",e.run_read="run:read",e.run_write="run:write",e.env_admin="environment:admin",e.project_admin="project:admin",e.project_integration_read="project:integration_read",e.project_settings_write="project:settings_write",e.api_key_create="api_key:create",e.api_key_read="api_key:read",e.api_key_update="api_key:update",e.api_key_delete="api_key:delete",e.account_read="account:read",e.account_write="account:write",e.account_admin="account:admin",e.manage_billing="account:billing",e.account_member="account:member",e.content_read="content:read",e.content_write="content:write",e.content_delete="content:delete",e.content_admin="content:admin",e.content_superadmin="content:superadmin",e.workflow_run="workflow:run",e.workflow_admin="workflow:admin",e.workflow_superadmin="workflow:superadmin",e.iam_impersonate="iam:impersonate",e.studio_access="studio:access"}(e||(e={})),function(e){e.project="project",e.environment="environment",e.account="account",e.interaction="interaction",e.app="application"}(t||(t={})),function(e){e.user="user",e.group="group",e.apikey="apikey"}(o||(o={})),function(e){e.secret="sk"}(i||(i={})),function(e){e.User="user",e.Group="group",e.ApiKey="apikey",e.ServiceAccount="service_account",e.Agent="agent"}(a||(a={})),function(e){e.openai="openai",e.openai_compatible="openai_compatible",e.azure_openai="azure_openai",e.azure_foundry="azure_foundry",e.huggingface_ie="huggingface_ie",e.replicate="replicate",e.bedrock="bedrock",e.vertexai="vertexai",e.togetherai="togetherai",e.mistralai="mistralai",e.groq="groq",e.watsonx="watsonx",e.xai="xai"}(u||(u={}));const n={openai:{id:u.openai,name:"OpenAI",requiresApiKey:!0,requiresEndpointUrl:!1,supportSearch:!1},azure_openai:{id:u.azure_openai,name:"Azure OpenAI",requiresApiKey:!1,requiresEndpointUrl:!0,supportSearch:!1},azure_foundry:{id:u.azure_foundry,name:"Azure Foundry",requiresApiKey:!0,requiresEndpointUrl:!0,supportSearch:!1},huggingface_ie:{id:u.huggingface_ie,name:"HuggingFace Inference Endpoint",requiresApiKey:!0,requiresEndpointUrl:!0},replicate:{id:u.replicate,name:"Replicate",requiresApiKey:!0,requiresEndpointUrl:!1,supportSearch:!0},bedrock:{id:u.bedrock,name:"AWS Bedrock",requiresApiKey:!1,requiresEndpointUrl:!1,endpointPlaceholder:"region name (eg. us-east-1)",supportSearch:!1},vertexai:{id:u.vertexai,name:"Google Vertex AI",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},togetherai:{id:u.togetherai,name:"Together AI",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},mistralai:{id:u.mistralai,name:"Mistral AI",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},groq:{id:u.groq,name:"Groq Cloud",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},watsonx:{id:u.watsonx,name:"IBM WatsonX",requiresApiKey:!0,requiresEndpointUrl:!0,supportSearch:!1},xai:{id:u.xai,name:"xAI (Grok)",requiresApiKey:!0,requiresEndpointUrl:!1,supportSearch:!1},openai_compatible:{id:u.openai_compatible,name:"OpenAI Compatible",requiresApiKey:!0,requiresEndpointUrl:!0,endpointPlaceholder:"https://api.example.com/v1",supportSearch:!1}};var r,d,p,s,m,l,c;!function(e){e.max_tokens="max_tokens",e.temperature="temperature",e.top_p="top_p",e.top_k="top_k",e.presence_penalty="presence_penalty",e.frequency_penalty="frequency_penalty",e.stop_sequence="stop_sequence",e.seed="seed",e.number_of_images="number_of_images"}(r||(r={})),function(e){e.numeric="numeric",e.enum="enum",e.boolean="boolean",e.string_list="string_list"}(d||(d={})),function(e){e.safety="safety",e.system="system",e.user="user",e.assistant="assistant",e.negative="negative",e.mask="mask",e.tool="tool"}(p||(p={})),function(e){e.text="text",e.image="image"}(s||(s={})),function(e){e.Available="available",e.Pending="pending",e.Stopped="stopped",e.Unavailable="unavailable",e.Unknown="unknown",e.Legacy="legacy"}(m||(m={})),function(e){e.Classifier="classifier",e.Regressor="regressor",e.Clustering="clustering",e.AnomalyDetection="anomaly-detection",e.TimeSeries="time-series",e.Text="text",e.Image="image",e.Audio="audio",e.Video="video",e.Embedding="embedding",e.Chat="chat",e.Code="code",e.NLP="nlp",e.MultiModal="multi-modal",e.Test="test",e.Other="other",e.Unknown="unknown"}(l||(l={})),function(e){e.running="running",e.succeeded="succeeded",e.failed="failed",e.cancelled="cancelled"}(c||(c={}));const _={"o1-mini":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},o3:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"deepseek-r1-0528":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"deepseek-v3-0324":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral-medium-2505":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral-nemo":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"llama-4-scout-17b-16e-instruct":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1}},g={"gpt-3.5-turbo":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"gpt-35-turbo":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"gpt-35":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"gpt-4":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"gpt-4.1":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"gpt-4.5":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"gpt-4o":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},gpt:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},o1:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"o1-preview":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"o1-pro":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"o3-mini":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"o4-mini":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},o4:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},o:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"llama-3.1":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"llama-3.2":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"llama-3.3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"llama-3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"llama-4":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},llama:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral-large":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"mistral-small":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},mistral:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"phi-4":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},phi:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"deepseek-r1":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"deepseek-v3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},deepseek:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"ai21-jamba":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},ai21:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},jamba:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"cohere-command":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},cohere:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},command:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"grok-3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},grok:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0}},v=["image","vision"],b=["video"],x=["audio"],f=["text"],h=["image"],E=["video"],N=["audio"],T=["text"],I=["embed"],O=["tool","gpt-4","gpt-4o","o1","o3","o4","llama-3","mistral-large","mistral-small","jamba","cohere","command","grok"];function y(e,t){return t.some(t=>e.includes(t))}function A(e,t){return t.startsWith("gpt-")||t.startsWith("o1")||t.startsWith("o3")||t.startsWith("o4")?e:{...e,tool_support:!1,tool_support_streaming:!1}}const D={},C={"meta.llama3-1-70b-instruct-v1:0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"meta.llama3-1-8b-instruct-v1:0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1}},R={"ai21.jamba-instruct-v1:0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"amazon.nova-canvas-v1:0":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{image:!0,text:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"amazon.nova-micro-v1:0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"anthropic.claude-3-5-haiku-20241022-v1:0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"meta.llama3-2-11b-instruct-v1:0":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"meta.llama3-2-90b-instruct-v1:0":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1}},S={"ai21.jamba":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"amazon.nova":{input:{text:!0,image:!0,video:!0,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"amazon.titan":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"anthropic.claude-3-5-haiku":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"anthropic.claude":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"cohere.command-r":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!0},"cohere.command":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"deepseek.r1":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"meta.llama3-1":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"meta.llama3-2":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"meta.llama3-3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"meta.llama3":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"meta.llama4":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral.mistral-large":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"mistral.mistral":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral.mixtral":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"mistral.pixtral":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"openai.gpt-oss":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"qwen.":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1,tool_support_streaming:!1},"twelvelabs.":{input:{text:!0,image:!1,video:!0,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1},"writer.palmyra":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0,tool_support_streaming:!1}};const U=["image"],k=["video"],w=["audio"],M=["text"],L=["image"],q=["video"],j=["audio"],G=["text"],P=["embed"],K=["tool","sonnet","opus","nova","palmyra","command-r","mistral-large","pixtral"];function W(e,t){return t.some(t=>e.includes(t))}function F(e){const t=e.toLowerCase();let o=t;if(/^arn:aws:bedrock:[^:]+:[^:]*:(inference-profile|foundation-model)\/.+/i.test(t)){const e=t.lastIndexOf("foundation-model/"),i=t.lastIndexOf("inference-profile/");-1!==e?o=t.substring(e):-1!==i&&(o=t.substring(i))}const i=o.startsWith("inference-profile/"),a=o.startsWith("foundation-model/"),u=function(e){const t=e.toLowerCase(),o=t.lastIndexOf("/");let i=-1===o?t:t.slice(o+1);return t.includes("inference-profile/")&&(i=i.replace(/^[^.]+\./,"")),i}(o);if(a){const e=D[u];if(e)return e}else if(i){const e=C[u];if(e)return e}const n=R[u];if(n)return n;const r=function(e,t){let o;for(const i of Object.keys(t))e.startsWith(i)&&(!o||i.length>o.length)&&(o=i);return o?t[o]:void 0}(u,S);if(r)return r;const d=function(e){const t=e.toLowerCase();if(t.includes("inference-profile")){const e=t.split("/");if(e.length>1){const t=e[e.length-1],o=t.split(".");return o.length>1&&"deepseek"===o[1]?`deepseek-${o.slice(2).join(".")}`:o.length>2?o.slice(2).join("."):t}}return t}(u);return{input:{text:W(d,M)||void 0,image:W(d,U)||void 0,video:W(d,k)||void 0,audio:W(d,w)||void 0,embed:!1},output:{text:W(d,G)||void 0,image:W(d,L)||void 0,video:W(d,q)||void 0,audio:W(d,j)||void 0,embed:W(d,P)||void 0},tool_support:W(d,K)||void 0}}const z={"chatgpt-4o-latest":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0}},B={gpt:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-3.5":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},"gpt-4":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-4-turbo":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-4o":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-4.1":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-4.5":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gpt-image":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"gpt-oss":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},o:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"o1-mini":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},"o1-preview":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},"omni-moderation":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},sora:{input:{text:!0,image:!0,video:!0,audio:!1,embed:!1},output:{text:!1,image:!1,video:!0,audio:!0,embed:!1},tool_support:!1},"text-embedding":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!1,image:!1,video:!1,audio:!1,embed:!0},tool_support:!1},"text-moderation":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},whisper:{input:{text:!1,image:!1,video:!1,audio:!0,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1}},Y=["image"],V=["video"],H=["audio"],Z=["text"],Q=["image"],X=["video"],J=["audio"],$=["text"],ee=["embed"],te=["tool","gpt","o1","o3","o4"];function oe(e,t){return t.some(t=>e.includes(t))}function ie(e){const t=e.toLowerCase();const o=z[t];if(o)return{...o,tool_support_streaming:o.tool_support_streaming??o.tool_support};let i,a=0;for(const e of Object.keys(B))t.startsWith(e)&&e.length>a&&(i=e,a=e.length);if(i){const e=B[i];return{...e,tool_support_streaming:e.tool_support_streaming??e.tool_support}}const u={text:oe(t,Z)||void 0,image:oe(t,Y)||void 0,video:oe(t,V)||void 0,audio:oe(t,H)||void 0,embed:!1},n={text:oe(t,$)||void 0,image:oe(t,Q)||void 0,video:oe(t,X)||void 0,audio:oe(t,J)||void 0,embed:oe(t,ee)||void 0},r=oe(t,te)||void 0;return{input:u,output:n,tool_support:r,tool_support_streaming:r}}const ae={"gemini-2.0-flash-lite-001":{input:{text:!0,image:!0,video:!0,audio:!0,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1}},ue={gemini:{input:{text:!0,image:!0,video:!0,audio:!0,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"gemini-2.5-flash-image":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"gemini-3.0-pro-image":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"gemini-3.0-flash-image":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},imagen:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"imagen-3.0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"imagen-3.0-capability":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"imagen-4.0":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},"imagen-4.0-capability":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!1,image:!0,video:!1,audio:!1,embed:!1},tool_support:!1},claude:{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},llama:{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"llama-2":{input:{text:!0,image:!1,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!1},"llama-3.2":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0},"llama-4":{input:{text:!0,image:!0,video:!1,audio:!1,embed:!1},output:{text:!0,image:!1,video:!1,audio:!1,embed:!1},tool_support:!0}},ne=["image"],re=["video"],de=["audio"],pe=["text"],se=["image"],me=["video"],le=["audio"],ce=["text"],_e=["embed"],ge=["tool","sonnet","opus","gemini","claude"];function ve(e,t){return t.some(t=>e.includes(t))}function be(e){const t=function(e){const t=e.toLowerCase().split("/");return t[t.length-1]}(e),o=ae[t];if(o)return o;let i,a=0;for(const e of Object.keys(ue))t.startsWith(e)&&e.length>a&&(i=e,a=e.length);if(i)return ue[i];return{input:{text:ve(t,pe)||void 0,image:ve(t,ne)||void 0,video:ve(t,re)||void 0,audio:ve(t,de)||void 0,embed:!1},output:{text:ve(t,ce)||void 0,image:ve(t,se)||void 0,video:ve(t,me)||void 0,audio:ve(t,le)||void 0,embed:ve(t,_e)||void 0},tool_support:ve(t,ge)||void 0}}function xe(e,t){if(e.startsWith("locations/")){const t=e.split("/");t.length>=3&&(e=t.slice(2).join("/"))}const o=function(e,t){switch(t?.toLowerCase()){case u.vertexai:return be(e);case u.openai:case u.openai_compatible:return ie(e);case u.bedrock:return F(e);case u.azure_foundry:return function(e){const{baseModel:t}=function(e){const t=e.split("::");return 2===t.length?{deploymentName:t[0],baseModel:t[1]}:{deploymentName:e,baseModel:e}}(e),o=t.toLowerCase(),i=_[o];if(i)return A(i,o);let a,u=0;for(const e of Object.keys(g))o.startsWith(e)&&e.length>u&&(a=e,u=e.length);if(a)return A(g[a],o);const n={text:y(o,f)||!0,image:y(o,v)||void 0,video:y(o,b)||void 0,audio:y(o,x)||void 0,embed:!1},r={text:y(o,T)||!0,image:y(o,h)||void 0,video:y(o,E)||void 0,audio:y(o,N)||void 0,embed:y(o,I)||void 0},d=y(o,O)||void 0;return A({input:n,output:r,tool_support:d,tool_support_streaming:d||void 0},o)}(e);case u.xai:return{input:{text:!0,image:e.includes("vision")},output:{text:!0},tool_support:!0,tool_support_streaming:!1};default:return e.startsWith("gpt")?ie(e):e.startsWith("grok")?{input:{text:!0,image:e.includes("vision")},output:{text:!0},tool_support:!0,tool_support_streaming:!1}:e.startsWith("publishers/")?be(e):e.startsWith("arn:aws")?F(e):{input:{},output:{}}}}(e,t);return o.input.audio=!1,o.output.audio=!1,o.output.video=!1,o}function fe(e,t,o=!1){const i=xe(e,t);return o?!!i.tool_support_streaming:!!i.tool_support}var he,Ee,Ne,Te;r.max_tokens,d.numeric,r.temperature,d.numeric,r.top_p,d.numeric,r.top_k,d.numeric,r.presence_penalty,d.numeric,r.frequency_penalty,d.numeric,r.stop_sequence,d.string_list,function(e){e.TEXT_IMAGE="TEXT_IMAGE",e.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",e.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",e.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",e.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",e.CUSTOMIZATION_SUBJECT="CUSTOMIZATION_SUBJECT",e.CUSTOMIZATION_STYLE="CUSTOMIZATION_STYLE",e.CUSTOMIZATION_CONTROLLED="CUSTOMIZATION_CONTROLLED",e.CUSTOMIZATION_INSTRUCT="CUSTOMIZATION_INSTRUCT"}(he||(he={})),function(e){e.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",e.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",e.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",e.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"}(Ee||(Ee={})),function(e){e.HIGH="HIGH",e.LOW="LOW",e.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED"}(Ne||(Ne={})),function(e){e.virtual_lb="virtual_lb",e.virtual_mediator="virtual_mediator",e.test="test"}(Te||(Te={}));const Ie={...u,...Te},Oe={virtual_lb:{id:Te.virtual_lb,name:"Virtual - Load Balancer",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},virtual_mediator:{id:Te.virtual_mediator,name:"Virtual - Mediator",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1},test:{id:Te.test,name:"Test LLM",requiresApiKey:!1,requiresEndpointUrl:!1,supportSearch:!1}},ye={...n,...Oe},Ae="id name provider enabled_models default_model endpoint_url allowed_projects account created_at updated_at",De="id name tags description";var Ce;!function(e){e.gladia="gladia",e.github="github",e.aws="aws",e.magic_pdf="magic_pdf",e.serper="serper"}(Ce||(Ce={}));const Re="id name endpoint parent description status version visibility tags agent_runner_options updated_at prompts",Se=`${Re} result_schema`;var Ue,ke,we,Me;!function(e){e.draft="draft",e.published="published",e.archived="archived"}(Ue||(Ue={})),function(e){e.created="created",e.processing="processing",e.completed="completed",e.failed="failed"}(ke||(ke={})),function(e){e.STANDARD="STANDARD",e.RESTRICTED="RESTRICTED",e.DEBUG="DEBUG"}(we||(we={})),function(e){e.STANDARD="Run data is stored for both the model inputs and output.",e.RESTRICTED="No run data is stored for the model inputs — only the model output.",e.DEBUG="Run data is stored for the model inputs and output, schema, and final prompt."}(Me||(Me={}));const Le={[we.STANDARD]:Me.STANDARD,[we.RESTRICTED]:Me.RESTRICTED,[we.DEBUG]:Me.DEBUG};var qe,je;!function(e){e.Collection="collection"}(qe||(qe={})),function(e){e.api="api",e.cli="cli",e.ui="ui",e.webhook="webhook",e.test="test-data",e.system="system"}(je||(je={}));const Ge="-result -parameters -result_schema -prompt";var Pe,Ke;!function(e){e.RUN_AND_INTERACTION_CONFIG="RUN_AND_INTERACTION_CONFIG",e.RUN_CONFIG_ONLY="RUN_CONFIG_ONLY",e.INTERACTION_CONFIG_ONLY="INTERACTION_CONFIG_ONLY"}(Pe||(Pe={})),function(e){e.RUN_AND_INTERACTION_CONFIG="This run configuration is used. Undefined options are filled with interaction configuration.",e.RUN_CONFIG_ONLY="Only this run configuration is used. Undefined options remain undefined.",e.INTERACTION_CONFIG_ONLY="Only interaction configuration is used."}(Ke||(Ke={}));const We={[Pe.RUN_AND_INTERACTION_CONFIG]:Ke.RUN_AND_INTERACTION_CONFIG,[Pe.RUN_CONFIG_ONLY]:Ke.RUN_CONFIG_ONLY,[Pe.INTERACTION_CONFIG_ONLY]:Ke.INTERACTION_CONFIG_ONLY};var Fe,ze,Be,Ye;!function(e){e.analyzed_pages="analyzed_pages",e.extracted_tables="extracted_tables",e.analyzed_images="analyzed_images",e.input_token_used="input_token_used",e.output_token_used="output_token_used",e.task_run="task_run"}(Fe||(Fe={}));class Ve{constructor(e,t,o){this.parent=e,this.parentUnits=t,this.spanUnits=o,this.unitsDone=0}done(e){const t=this.spanUnits-this.unitsDone;t&&((!e||e>t)&&(e=t),this.unitsDone+=e,this.parent.done(e*this.parentUnits/this.spanUnits))}get parentUnitsDone(){return Math.round(this.unitsDone*this.parentUnits/this.spanUnits)}get isDone(){return this.unitsDone>=this.spanUnits}}class He{constructor(e){this.total=e,this.unitsDone=0}get fraction(){return this.unitsDone/this.total}get percent(){return Math.round(100*this.fraction)}get isDone(){return this.unitsDone>=this.total}done(e){const t=this.total-this.unitsDone;t&&((!e||e>t)&&(e=t),this.unitsDone+=e)}span(e,t){return new Ve(this,e,t||e)}}function Ze(e,t){switch(t){case ze.owner:return!0;case ze.admin:return e!==ze.billing&&e!==ze.owner;case ze.developer:return e===ze.developer;case ze.billing:return e===ze.billing;default:return!1}}!function(e){e.owner="owner",e.admin="admin",e.project_admin="project_admin",e.developer="developer",e.application="application",e.consumer="consumer",e.executor="executor",e.reader="reader",e.billing="billing",e.member="member",e.app_member="app_member",e.content_superadmin="content_superadmin"}(ze||(ze={})),function(e){e.public="public",e.account="account",e.project="project"}(Be||(Be={})),function(e){e.content_type="content_type",e.intake="intake",e.analysis="analysis",e.non_applicable="non_applicable"}(Ye||(Ye={}));const Qe={ExtractInformation:Ye.intake,SelectDocumentType:Ye.intake,GenerateMetadataModel:Ye.content_type,ChunkDocument:Ye.intake,IdentifyTextSections:Ye.intake,AnalyzeDocument:Ye.analysis,ReduceTextSections:Ye.analysis,GenericAgent:Ye.non_applicable,AdhocTaskAgent:Ye.non_applicable,Mediator:Ye.non_applicable,AnalyzeConversation:Ye.analysis,GetAgentConversationTopic:Ye.analysis};function Xe(e){e.startsWith("sys:")&&(e=e.substring(4));const t=Qe[e];if(t!==Ye.non_applicable)return t||void 0}var Je,$e;!function(e){e.text="text",e.image="image",e.properties="properties"}(Je||(Je={})),function(e){e.full_text="full_text"}($e||($e={}));const et={...Je,...$e},tt="id name account";var ot,it,at,ut,nt;!function(e){e.draft="draft",e.published="published",e.archived="archived"}(ot||(ot={})),function(e){e.chat="chat",e.template="template"}(it||(it={})),function(e){e.text="text",e.jst="jst"}(at||(at={})),function(e){e.project="Project",e.projects="Projects",e.environment="Environment",e.user="User",e.account="Account",e.interaction="Interaction",e.userGroup="UserGroup"}(ut||(ut={})),function(e){e.active="active",e.archived="archived"}(nt||(nt={}));const rt="id name description tags created_at updated_at",dt={type:"object",description:"Represent a rendition of a file stored in an object. It will be stored as a separate object in the database.",properties:{mime_type:{type:"string",description:"The format of the rendition. This is a MIME type."},source_etag:{type:"string",description:"The ETag of the file used for the rendition.",nullable:!0},height:{type:"integer",description:"The height of the rendition",nullable:!0},width:{type:"integer",description:"The width of the rendition",nullable:!0},multipart:{type:"boolean",description:"If the rendition is a multi-part rendition",nullable:!0,default:!1},total_parts:{type:"integer",description:"The total number of parts in the rendition",nullable:!0}},required:["mime_type"]},pt={type:"object",description:"Represent a semantic chunk of a document",properties:{source_etag:{type:"string",description:"The ETag of the file used for the rendition.",nullable:!0},part_number:{type:"integer",description:"The part number of the chunk"},title:{type:"string",description:"The title of the chunk",nullable:!0},source_line_start:{type:"integer",description:"The line number where the chunk starts",nullable:!0},source_line_end:{type:"integer",description:"The line number where the chunk ends",nullable:!0},type:{type:"string",description:"The type of the chunk",enum:["text","image","table","chart","diagram","code","other"],nullable:!0},page_number:{type:"integer",description:"The page number of the document part",nullable:!0},description:{type:"string",description:"The description of the document part, if it's an image, the exhaustive description of the image",nullable:!0},height:{type:"integer",description:"The height of the rendition",nullable:!0},width:{type:"integer",description:"The width of the rendition",nullable:!0}},required:["part_number"]};var st,mt,lt;!function(e){e.COLLECTION_ID="x-collection-id",e.PROCESSING_PRIORITY="x-processing-priority",e.CREATE_REVISION="x-create-revision",e.REVISION_LABEL="x-revision-label"}(st||(st={})),function(e){e.created="created",e.processing="processing",e.ready="ready",e.completed="completed",e.failed="failed",e.archived="archived"}(mt||(mt={})),function(e){e.Video="video",e.Image="image",e.Audio="audio",e.Document="document",e.Code="code",e.Other="other"}(lt||(lt={}));const ct="Poster",_t="Audio",gt="Web",vt="PDF";var bt,xt,ft,ht;!function(e){e.single="single",e.multiple="multiple",e.none="none"}(bt||(bt={})),function(e){e.jpeg="jpeg",e.png="png",e.webp="webp"}(xt||(xt={})),function(e){e.docx="docx",e.pdf="pdf"}(ft||(ft={})),function(e){e.normal="normal",e.low="low"}(ht||(ht={}));const Et={TERMINATE:"TERMINATE",ABANDON:"ABANDON",REQUEST_CANCEL:"REQUEST_CANCEL",PARENT_CLOSE_POLICY_UNSPECIFIED:void 0,PARENT_CLOSE_POLICY_TERMINATE:"TERMINATE",PARENT_CLOSE_POLICY_ABANDON:"ABANDON",PARENT_CLOSE_POLICY_REQUEST_CANCEL:"REQUEST_CANCEL"};var Nt,Tt,It;function Ot(e){return"objectIds"in e?e.objectIds:[]}!function(e){e.create="create",e.change_type="change_type",e.update="update",e.revision_created="revision_created",e.delete="delete",e.workflow_finished="workflow_finished",e.workflow_execution_request="workflow_execution_request",e.api_request="api_request"}(Nt||(Nt={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.RUNNING=1]="RUNNING",e[e.COMPLETED=2]="COMPLETED",e[e.FAILED=3]="FAILED",e[e.CANCELED=4]="CANCELED",e[e.TERMINATED=5]="TERMINATED",e[e.CONTINUED_AS_NEW=6]="CONTINUED_AS_NEW",e[e.TIMED_OUT=7]="TIMED_OUT"}(Tt||(Tt={})),function(e){e.SYSTEM="system",e.THOUGHT="thought",e.PLAN="plan",e.UPDATE="update",e.COMPLETE="complete",e.WARNING="warning",e.ERROR="error",e.ANSWER="answer",e.QUESTION="question",e.REQUEST_INPUT="request_input",e.IDLE="idle",e.TERMINATED="terminated"}(It||(It={}));const yt="low_priority";var At,Dt;!function(e){e.created="created",e.building="building",e.prepared="prepared",e.processing="processing",e.completed="completed",e.cancelled="cancelled",e.failed="failed"}(At||(At={})),function(e){e.userInvite="user-invite",e.migration="migration"}(Dt||(Dt={}));const Ct="id name email picture";var Rt,St;!function(e){e.aws="aws",e.gcp="gcp",e.azure="azure"}(Rt||(Rt={})),function(e){e.stripe="stripe",e.invoice="invoice"}(St||(St={}));const Ut="id name";function kt(e,t){return e.slice(-6)+"_"+t.slice(-6)}function wt(e){return kt(e.account,e.id)}function Mt(e){if(!e)return e;if(Array.isArray(e))for(const t of e)Mt(t);else if("object"==typeof e){const t=e;for(const[e,o]of Object.entries(t))("editor"!==e||"textarea"!==o&&"document"!==o&&"media"!==o)&&("format"!==e||"textarea"!==o&&"document"!==o&&"media"!==o)?"object"==typeof o&&Mt(o):delete t[e]}return e}function Lt(e){const t={};let o=[];for(const i of e)if(i.properties){if(i.required)for(const e of i.required)o.includes(e)||o.push(e);Object.assign(t,i.properties)}return Object.keys(t).length>0?{properties:t,required:o,type:"object"}:null}function qt(e){const t={};let o=new Set;for(const i of e)if(i.template?.inputSchema?.properties){const e=i.template?.inputSchema;if(e.required)for(const t of e.required)o.add(t);Object.assign(t,e.properties)}else i.type===it.chat&&(Object.assign(t,{chat:{type:"array",items:{type:"object",properties:{role:{type:"string",enum:[p.assistant,p.user]},content:{type:"string"}},required:["role","content"]}}}),o.add("chat"));return Object.keys(t).length>0?{properties:t,required:Array.from(o)}:null}function jt(e){return e.prompts?qt(e.prompts):null}function Gt(e){const t={};let o=new Set;for(const i of e)if(i.schema?.properties){const e=i.schema;if(e.required)for(const t of e.required)o.add(t);Object.assign(t,e.properties)}return Object.keys(t).length>0?{properties:t,required:Array.from(o)}:null}function Pt(e){return"apikey"===e.type}function Kt(e){return"user"===e.type}function Wt(e){return"project"===e.type}function Ft(e){return"environment"===e.type}function zt(e){return"agent"===e.type}function Bt(e){return"service_account"===e.type}var Yt;!function(e){e[e.COMPLETION_RESULT_V1=20250925]="COMPLETION_RESULT_V1"}(Yt||(Yt={}));export{_t as AUDIO_RENDITION_NAME,o as AccessControlPrincipalType,t as AccessControlResourceType,Ut as AccountRefPopulate,It as AgentMessageType,qe as AgentSearchScope,i as ApiKeyTypes,Yt as ApiVersions,St as BillingMethod,nt as CollectionStatus,Pe as ConfigModes,Ke as ConfigModesDescription,We as ConfigModesOptions,Nt as ContentEventName,lt as ContentNature,st as ContentObjectApiHeaders,ht as ContentObjectProcessingPriority,mt as ContentObjectStatus,Te as CustomProviders,Oe as CustomProvidersList,Rt as Datacenters,pt as DocumentPartSchema,Ae as ExecutionEnvironmentRefPopulate,Ge as ExecutionRunRefSelect,ke as ExecutionRunStatus,$e as FullTextType,xt as ImageRenditionFormat,Re as InteractionRefPopulate,Se as InteractionRefWithSchemaPopulate,Ue as InteractionStatus,yt as LOW_PRIORITY_TASK_QUEUE,ft as MarkdownRenditionFormat,Fe as MeterNames,vt as PDF_RENDITION_NAME,ct as POSTER_RENDITION_NAME,Et as ParentClosePolicy,e as Permission,a as PrincipalType,He as Progress,tt as ProjectRefPopulate,ze as ProjectRoles,it as PromptSegmentDefType,ot as PromptStatus,dt as RenditionSchema,ut as ResolvableRefType,Be as ResourceVisibility,Me as RunDataStorageDescription,we as RunDataStorageLevel,Le as RunDataStorageOptions,je as RunSourceTypes,Qe as SYSTEM_INTERACTION_CATEGORIES,et as SearchTypes,Je as SupportedEmbeddingTypes,Ce as SupportedIntegrations,Ie as SupportedProviders,ye as SupportedProvidersList,Ye as SystemInteractionCategory,at as TemplateType,At as TrainingSessionStatus,Dt as TransientTokenType,De as UserGroupRefPopulate,Ct as UserRefPopulate,gt as WEB_VIDEO_RENDITION_NAME,rt as WorkflowDefinitionRefPopulate,Tt as WorkflowExecutionStatus,bt as WorkflowRuleInputType,qt as _mergePromptsSchema,Ot as getDocumentIds,Xe as getSystemInteractionCategory,kt as getTenantId,wt as getTenantIdFromProject,zt as isAgentRequest,Pt as isApiKeyRequest,Ft as isEnvironmentRequest,Wt as isProjectRequest,Ze as isRoleIncludedIn,Bt as isServiceAccountRequest,Kt as isUserRequest,Gt as mergeInCodePromptSchemas,Lt as mergeJSONSchemas,jt as mergePromptsSchema,Mt as removeExtraProperties,fe as supportsToolUse};
2
+ //# sourceMappingURL=vertesia-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertesia-common.js","sources":["../src/access-control.ts","../src/apikey.ts","../../../llumiverse/common/lib/esm/types.js","../../../llumiverse/common/lib/esm/capability/azure_foundry.js","../../../llumiverse/common/lib/esm/capability/bedrock.js","../../../llumiverse/common/lib/esm/capability/openai.js","../../../llumiverse/common/lib/esm/capability/vertexai.js","../../../llumiverse/common/lib/esm/capability.js","../../../llumiverse/common/lib/esm/options/vertexai.js","../src/environment.ts","../../../llumiverse/common/lib/esm/options/fallback.js","../src/group.ts","../src/integrations.ts","../src/interaction.ts","../src/meters.ts","../src/project.ts","../src/Progress.ts","../src/prompt.ts","../src/refs.ts","../src/store/collections.ts","../src/store/dsl-workflow.ts","../src/store/object-types.ts","../src/store/store.ts","../src/store/temporalio.ts","../src/store/workflow.ts","../src/training.ts","../src/transient-tokens.ts","../src/user.ts","../src/utils/auth.ts","../src/utils/schemas.ts","../src/sts-token-types.ts","../src/versions.ts"],"sourcesContent":[null,null,"// ============== Provider details ===============\nexport var Providers;\n(function (Providers) {\n Providers[\"openai\"] = \"openai\";\n Providers[\"openai_compatible\"] = \"openai_compatible\";\n Providers[\"azure_openai\"] = \"azure_openai\";\n Providers[\"azure_foundry\"] = \"azure_foundry\";\n Providers[\"huggingface_ie\"] = \"huggingface_ie\";\n Providers[\"replicate\"] = \"replicate\";\n Providers[\"bedrock\"] = \"bedrock\";\n Providers[\"vertexai\"] = \"vertexai\";\n Providers[\"togetherai\"] = \"togetherai\";\n Providers[\"mistralai\"] = \"mistralai\";\n Providers[\"groq\"] = \"groq\";\n Providers[\"watsonx\"] = \"watsonx\";\n Providers[\"xai\"] = \"xai\";\n})(Providers || (Providers = {}));\nexport const ProviderList = {\n openai: {\n id: Providers.openai,\n name: \"OpenAI\",\n requiresApiKey: true,\n requiresEndpointUrl: false,\n supportSearch: false,\n },\n azure_openai: {\n id: Providers.azure_openai,\n name: \"Azure OpenAI\",\n requiresApiKey: false,\n requiresEndpointUrl: true,\n supportSearch: false,\n },\n azure_foundry: {\n id: Providers.azure_foundry,\n name: \"Azure Foundry\",\n requiresApiKey: true,\n requiresEndpointUrl: true,\n supportSearch: false,\n },\n huggingface_ie: {\n id: Providers.huggingface_ie,\n name: \"HuggingFace Inference Endpoint\",\n requiresApiKey: true,\n requiresEndpointUrl: true,\n },\n replicate: {\n id: Providers.replicate,\n name: \"Replicate\",\n requiresApiKey: true,\n requiresEndpointUrl: false,\n supportSearch: true,\n },\n bedrock: {\n id: Providers.bedrock,\n name: \"AWS Bedrock\",\n requiresApiKey: false,\n requiresEndpointUrl: false,\n endpointPlaceholder: \"region name (eg. us-east-1)\",\n supportSearch: false,\n },\n vertexai: {\n id: Providers.vertexai,\n name: \"Google Vertex AI\",\n requiresApiKey: false,\n requiresEndpointUrl: false,\n supportSearch: false,\n },\n togetherai: {\n id: Providers.togetherai,\n name: \"Together AI\",\n requiresApiKey: false,\n requiresEndpointUrl: false,\n supportSearch: false,\n },\n mistralai: {\n id: Providers.mistralai,\n name: \"Mistral AI\",\n requiresApiKey: false,\n requiresEndpointUrl: false,\n supportSearch: false,\n },\n groq: {\n id: Providers.groq,\n name: \"Groq Cloud\",\n requiresApiKey: false,\n requiresEndpointUrl: false,\n supportSearch: false,\n },\n watsonx: {\n id: Providers.watsonx,\n name: \"IBM WatsonX\",\n requiresApiKey: true,\n requiresEndpointUrl: true,\n supportSearch: false\n },\n xai: {\n id: Providers.xai,\n name: \"xAI (Grok)\",\n requiresApiKey: true,\n requiresEndpointUrl: false,\n supportSearch: false\n },\n openai_compatible: {\n id: Providers.openai_compatible,\n name: \"OpenAI Compatible\",\n requiresApiKey: true,\n requiresEndpointUrl: true,\n endpointPlaceholder: \"https://api.example.com/v1\",\n supportSearch: false\n },\n};\n//Common names to share between different models\nexport var SharedOptions;\n(function (SharedOptions) {\n //Text\n SharedOptions[\"max_tokens\"] = \"max_tokens\";\n SharedOptions[\"temperature\"] = \"temperature\";\n SharedOptions[\"top_p\"] = \"top_p\";\n SharedOptions[\"top_k\"] = \"top_k\";\n SharedOptions[\"presence_penalty\"] = \"presence_penalty\";\n SharedOptions[\"frequency_penalty\"] = \"frequency_penalty\";\n SharedOptions[\"stop_sequence\"] = \"stop_sequence\";\n //Image\n SharedOptions[\"seed\"] = \"seed\";\n SharedOptions[\"number_of_images\"] = \"number_of_images\";\n})(SharedOptions || (SharedOptions = {}));\nexport var OptionType;\n(function (OptionType) {\n OptionType[\"numeric\"] = \"numeric\";\n OptionType[\"enum\"] = \"enum\";\n OptionType[\"boolean\"] = \"boolean\";\n OptionType[\"string_list\"] = \"string_list\";\n})(OptionType || (OptionType = {}));\n// ============== Prompts ===============\nexport var PromptRole;\n(function (PromptRole) {\n PromptRole[\"safety\"] = \"safety\";\n PromptRole[\"system\"] = \"system\";\n PromptRole[\"user\"] = \"user\";\n PromptRole[\"assistant\"] = \"assistant\";\n PromptRole[\"negative\"] = \"negative\";\n PromptRole[\"mask\"] = \"mask\";\n /**\n * Used to send the response of a tool\n */\n PromptRole[\"tool\"] = \"tool\";\n})(PromptRole || (PromptRole = {}));\n/**\n * @deprecated This is deprecated. Use CompletionResult.type information instead.\n */\nexport var Modalities;\n(function (Modalities) {\n Modalities[\"text\"] = \"text\";\n Modalities[\"image\"] = \"image\";\n})(Modalities || (Modalities = {}));\nexport var AIModelStatus;\n(function (AIModelStatus) {\n AIModelStatus[\"Available\"] = \"available\";\n AIModelStatus[\"Pending\"] = \"pending\";\n AIModelStatus[\"Stopped\"] = \"stopped\";\n AIModelStatus[\"Unavailable\"] = \"unavailable\";\n AIModelStatus[\"Unknown\"] = \"unknown\";\n AIModelStatus[\"Legacy\"] = \"legacy\";\n})(AIModelStatus || (AIModelStatus = {}));\nexport var ModelType;\n(function (ModelType) {\n ModelType[\"Classifier\"] = \"classifier\";\n ModelType[\"Regressor\"] = \"regressor\";\n ModelType[\"Clustering\"] = \"clustering\";\n ModelType[\"AnomalyDetection\"] = \"anomaly-detection\";\n ModelType[\"TimeSeries\"] = \"time-series\";\n ModelType[\"Text\"] = \"text\";\n ModelType[\"Image\"] = \"image\";\n ModelType[\"Audio\"] = \"audio\";\n ModelType[\"Video\"] = \"video\";\n ModelType[\"Embedding\"] = \"embedding\";\n ModelType[\"Chat\"] = \"chat\";\n ModelType[\"Code\"] = \"code\";\n ModelType[\"NLP\"] = \"nlp\";\n ModelType[\"MultiModal\"] = \"multi-modal\";\n ModelType[\"Test\"] = \"test\";\n ModelType[\"Other\"] = \"other\";\n ModelType[\"Unknown\"] = \"unknown\";\n})(ModelType || (ModelType = {}));\nexport var TrainingJobStatus;\n(function (TrainingJobStatus) {\n TrainingJobStatus[\"running\"] = \"running\";\n TrainingJobStatus[\"succeeded\"] = \"succeeded\";\n TrainingJobStatus[\"failed\"] = \"failed\";\n TrainingJobStatus[\"cancelled\"] = \"cancelled\";\n})(TrainingJobStatus || (TrainingJobStatus = {}));\n//# sourceMappingURL=types.js.map","// Global feature flags - temporarily disable tool support for non-OpenAI models\nconst ENABLE_TOOL_SUPPORT_NON_OPENAI = false;\n// Record of Azure Foundry model capabilities keyed by model ID (lowercased) \n// Only include models with specific exceptions that differ from their family patterns\nconst RECORD_MODEL_CAPABILITIES = {\n // OpenAI O-series exceptions - o1-mini doesn't have tool support like other o1 models\n \"o1-mini\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n // OpenAI o3 is text-only unlike other o-series models\n \"o3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n // Models with special properties not covered by family patterns\n \"deepseek-r1-0528\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"deepseek-v3-0324\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"mistral-medium-2505\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"mistral-nemo\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"llama-4-scout-17b-16e-instruct\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n};\n// Populate RECORD_FAMILY_CAPABILITIES as a const record (lowest common denominator for each family)\nconst RECORD_FAMILY_CAPABILITIES = {\n // OpenAI GPT families\n \"gpt-3.5-turbo\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"gpt-35-turbo\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"gpt-35\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"gpt-4\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"gpt-4.1\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"gpt-4.5\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"gpt-4o\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"gpt\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n // OpenAI O-series families\n \"o1\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o1-preview\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o1-pro\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o3-mini\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o4-mini\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o4\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"o\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n // Llama families\n \"llama-3.1\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"llama-3.2\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"llama-3.3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"llama-3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"llama-4\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"llama\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n // Mistral families\n \"mistral-large\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"mistral-small\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"mistral\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n // Microsoft Phi families\n \"phi-4\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"phi\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n // DeepSeek families\n \"deepseek-r1\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"deepseek-v3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"deepseek\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n // AI21 families\n \"ai21-jamba\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"ai21\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"jamba\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n // Cohere families\n \"cohere-command\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"cohere\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"command\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n // xAI families\n \"grok-3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"grok\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true }\n};\n// Fallback pattern lists for inferring modalities and tool support\nconst IMAGE_INPUT_MODELS = [\"image\", \"vision\"];\nconst VIDEO_INPUT_MODELS = [\"video\"];\nconst AUDIO_INPUT_MODELS = [\"audio\"];\nconst TEXT_INPUT_MODELS = [\"text\"];\nconst IMAGE_OUTPUT_MODELS = [\"image\"];\nconst VIDEO_OUTPUT_MODELS = [\"video\"];\nconst AUDIO_OUTPUT_MODELS = [\"audio\"];\nconst TEXT_OUTPUT_MODELS = [\"text\"];\nconst EMBEDDING_OUTPUT_MODELS = [\"embed\"];\nconst TOOL_SUPPORT_MODELS = [\"tool\", \"gpt-4\", \"gpt-4o\", \"o1\", \"o3\", \"o4\", \"llama-3\", \"mistral-large\", \"mistral-small\", \"jamba\", \"cohere\", \"command\", \"grok\"];\nfunction modelMatches(modelName, patterns) {\n return patterns.some(pattern => modelName.includes(pattern));\n}\n/**\n * Get the full ModelCapabilities for an Azure Foundry model.\n * Checks RECORD_MODEL_CAPABILITIES first, then falls back to family pattern matching.\n */\nexport function getModelCapabilitiesAzureFoundry(model) {\n // Extract base model from composite ID (deployment::baseModel)\n const { baseModel } = parseAzureFoundryModelId(model);\n const normalized = baseModel.toLowerCase();\n // 1. Exact match in record\n const record = RECORD_MODEL_CAPABILITIES[normalized];\n if (record) {\n return applyGlobalToolSupportDisable(record, normalized);\n }\n // 2. Fallback: find the longest matching family prefix in RECORD_FAMILY_CAPABILITIES\n let bestFamilyKey = undefined;\n let bestFamilyLength = 0;\n for (const key of Object.keys(RECORD_FAMILY_CAPABILITIES)) {\n if (normalized.startsWith(key) && key.length > bestFamilyLength) {\n bestFamilyKey = key;\n bestFamilyLength = key.length;\n }\n }\n if (bestFamilyKey) {\n return applyGlobalToolSupportDisable(RECORD_FAMILY_CAPABILITIES[bestFamilyKey], normalized);\n }\n // 3. Fallback: infer from normalized name using patterns\n const input = {\n text: modelMatches(normalized, TEXT_INPUT_MODELS) || true, // Default to text input\n image: modelMatches(normalized, IMAGE_INPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_INPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_INPUT_MODELS) || undefined,\n embed: false\n };\n const output = {\n text: modelMatches(normalized, TEXT_OUTPUT_MODELS) || true, // Default to text output\n image: modelMatches(normalized, IMAGE_OUTPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_OUTPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_OUTPUT_MODELS) || undefined,\n embed: modelMatches(normalized, EMBEDDING_OUTPUT_MODELS) || undefined\n };\n const tool_support = modelMatches(normalized, TOOL_SUPPORT_MODELS) || undefined;\n const tool_support_streaming = tool_support || undefined;\n const inferredCapabilities = { input, output, tool_support, tool_support_streaming };\n return applyGlobalToolSupportDisable(inferredCapabilities, normalized);\n}\n/**\n * Apply global tool support disable for non-OpenAI models.\n * Preserves model-specific information for future use while temporarily disabling tool support.\n */\nfunction applyGlobalToolSupportDisable(capabilities, modelName) {\n // Check if this is an OpenAI model\n const isOpenAIModel = modelName.startsWith('gpt-') || modelName.startsWith('o1') || modelName.startsWith('o3') || modelName.startsWith('o4');\n if (!ENABLE_TOOL_SUPPORT_NON_OPENAI && !isOpenAIModel) {\n // Disable tool support for non-OpenAI models while preserving other capabilities\n return {\n ...capabilities,\n tool_support: false,\n tool_support_streaming: false\n };\n }\n return capabilities;\n}\n// Helper function to parse composite model IDs\nfunction parseAzureFoundryModelId(compositeId) {\n const parts = compositeId.split('::');\n if (parts.length === 2) {\n return {\n deploymentName: parts[0],\n baseModel: parts[1]\n };\n }\n // Backwards compatibility: if no delimiter found, treat as deployment name\n return {\n deploymentName: compositeId,\n baseModel: compositeId\n };\n}\n//# sourceMappingURL=azure_foundry.js.map","// Explicit exception lists keyed by the model identifier (last segment after the prefix)\nconst RECORD_FOUNDATION_EXCEPTIONS = {};\nconst RECORD_PROFILE_EXCEPTIONS = {\n \"meta.llama3-1-70b-instruct-v1:0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"meta.llama3-1-8b-instruct-v1:0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n};\n// Record of Bedrock model capabilities keyed by model identifier.\n// Only include models that differ from their family defaults\nconst RECORD_MODEL_CAPABILITIES = {\n // Models with specific exceptions that differ from family\n \"ai21.jamba-instruct-v1:0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"amazon.nova-canvas-v1:0\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { image: true, text: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"amazon.nova-micro-v1:0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"anthropic.claude-3-5-haiku-20241022-v1:0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"meta.llama3-2-11b-instruct-v1:0\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"meta.llama3-2-90b-instruct-v1:0\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n};\n// Family capabilities (longest prefix match)\nconst RECORD_FAMILY_CAPABILITIES = {\n \"ai21.jamba\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"amazon.nova\": { input: { text: true, image: true, video: true, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"amazon.titan\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"anthropic.claude-3-5-haiku\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"anthropic.claude\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"cohere.command-r\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: true },\n \"cohere.command\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"deepseek.r1\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"meta.llama3-1\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"meta.llama3-2\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"meta.llama3-3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"meta.llama3\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"meta.llama4\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"mistral.mistral-large\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"mistral.mistral\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"mistral.mixtral\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"mistral.pixtral\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"openai.gpt-oss\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"qwen.\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false, tool_support_streaming: false },\n \"twelvelabs.\": { input: { text: true, image: false, video: true, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n \"writer.palmyra\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true, tool_support_streaming: false },\n};\nfunction extractModelLookupKey(modelName) {\n const lower = modelName.toLowerCase();\n const lastSlashIdx = lower.lastIndexOf(\"/\");\n let key = lastSlashIdx === -1 ? lower : lower.slice(lastSlashIdx + 1);\n if (lower.includes(\"inference-profile/\")) {\n key = key.replace(/^[^.]+\\./, \"\");\n }\n return key;\n}\nfunction findFamilyCapability(lookupKey, families) {\n let bestKey;\n for (const key of Object.keys(families)) {\n if (lookupKey.startsWith(key) && (!bestKey || key.length > bestKey.length)) {\n bestKey = key;\n }\n }\n return bestKey ? families[bestKey] : undefined;\n}\n/**\n * Extract the model identifier from an ARN or inference profile\n * @param modelName The full model ARN or name\n * @returns The normalized model identifier\n */\nfunction normalizeModelName(modelName) {\n const modelLower = modelName.toLowerCase();\n if (modelLower.includes(\"inference-profile\")) {\n const parts = modelLower.split(\"/\");\n if (parts.length > 1) {\n const providerModel = parts[parts.length - 1];\n const modelParts = providerModel.split(\".\");\n if (modelParts.length > 1 && modelParts[1] === \"deepseek\") {\n return `deepseek-${modelParts.slice(2).join(\".\")}`;\n }\n return modelParts.length > 2 ? modelParts.slice(2).join(\".\") : providerModel;\n }\n }\n return modelLower;\n}\n// Fallback pattern lists for inferring modalities and tool support\nconst IMAGE_INPUT_MODELS = [\"image\"]; // fallback: if model id contains 'image', supports image input\nconst VIDEO_INPUT_MODELS = [\"video\"];\nconst AUDIO_INPUT_MODELS = [\"audio\"];\nconst TEXT_INPUT_MODELS = [\"text\"];\nconst IMAGE_OUTPUT_MODELS = [\"image\"];\nconst VIDEO_OUTPUT_MODELS = [\"video\"];\nconst AUDIO_OUTPUT_MODELS = [\"audio\"];\nconst TEXT_OUTPUT_MODELS = [\"text\"];\nconst EMBEDDING_OUTPUT_MODELS = [\"embed\"];\nconst TOOL_SUPPORT_MODELS = [\"tool\", \"sonnet\", \"opus\", \"nova\", \"palmyra\", \"command-r\", \"mistral-large\", \"pixtral\"];\nfunction modelMatches(modelName, patterns) {\n return patterns.some(pattern => modelName.includes(pattern));\n}\n/**\n * Get the full ModelCapabilities for a Bedrock model.\n * Checks RECORD_MODEL_CAPABILITIES first, then falls back to pattern-based inference.\n */\nexport function getModelCapabilitiesBedrock(model) {\n // Normalize ARN or inference-profile to model ID\n const modelLower = model.toLowerCase();\n let normalized = modelLower;\n const arnPattern = /^arn:aws:bedrock:[^:]+:[^:]*:(inference-profile|foundation-model)\\/.+/i;\n if (arnPattern.test(modelLower)) {\n // Extract after last occurrence of 'foundation-model/' or 'inference-profile/'\n const foundationIdx = modelLower.lastIndexOf('foundation-model/');\n const inferenceIdx = modelLower.lastIndexOf('inference-profile/');\n if (foundationIdx !== -1) {\n normalized = modelLower.substring(foundationIdx);\n }\n else if (inferenceIdx !== -1) {\n normalized = modelLower.substring(inferenceIdx);\n }\n }\n const isInferenceProfile = normalized.startsWith(\"inference-profile/\");\n const isFoundationModel = normalized.startsWith(\"foundation-model/\");\n const lookupKey = extractModelLookupKey(normalized);\n // 1. Check exceptions\n if (isFoundationModel) {\n const exception = RECORD_FOUNDATION_EXCEPTIONS[lookupKey];\n if (exception)\n return exception;\n }\n else if (isInferenceProfile) {\n const exception = RECORD_PROFILE_EXCEPTIONS[lookupKey];\n if (exception)\n return exception;\n }\n // 2. Check recorded capabilities by model\n const modelCapability = RECORD_MODEL_CAPABILITIES[lookupKey];\n if (modelCapability)\n return modelCapability;\n // 3. Check recorded capabilities by family\n const familyCapability = findFamilyCapability(lookupKey, RECORD_FAMILY_CAPABILITIES);\n if (familyCapability)\n return familyCapability;\n // 4. Fallback: infer from normalized name\n const inferredName = normalizeModelName(lookupKey);\n const input = {\n text: modelMatches(inferredName, TEXT_INPUT_MODELS) || undefined,\n image: modelMatches(inferredName, IMAGE_INPUT_MODELS) || undefined,\n video: modelMatches(inferredName, VIDEO_INPUT_MODELS) || undefined,\n audio: modelMatches(inferredName, AUDIO_INPUT_MODELS) || undefined,\n embed: false\n };\n const output = {\n text: modelMatches(inferredName, TEXT_OUTPUT_MODELS) || undefined,\n image: modelMatches(inferredName, IMAGE_OUTPUT_MODELS) || undefined,\n video: modelMatches(inferredName, VIDEO_OUTPUT_MODELS) || undefined,\n audio: modelMatches(inferredName, AUDIO_OUTPUT_MODELS) || undefined,\n embed: modelMatches(inferredName, EMBEDDING_OUTPUT_MODELS) || undefined\n };\n const tool_support = modelMatches(inferredName, TOOL_SUPPORT_MODELS) || undefined;\n return { input, output, tool_support };\n}\n//# sourceMappingURL=bedrock.js.map","// Record of OpenAI model capabilities keyed by model ID (lowercased)\nconst RECORD_MODEL_CAPABILITIES = {\n \"chatgpt-4o-latest\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true }\n};\n// Populate RECORD_FAMILY_CAPABILITIES as a const record (lowest common denominator for each family)\n// For OpenAI, tool_support_streaming matches tool_support since the API supports tools while streaming\nconst RECORD_FAMILY_CAPABILITIES = {\n \"gpt\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-3.5\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"gpt-4\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-4-turbo\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-4o\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-4.1\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-4.5\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gpt-image\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"gpt-oss\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"o\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"o1-mini\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"o1-preview\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"omni-moderation\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"sora\": { input: { text: true, image: true, video: true, audio: false, embed: false }, output: { text: false, image: false, video: true, audio: true, embed: false }, tool_support: false },\n \"text-embedding\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: false, image: false, video: false, audio: false, embed: true }, tool_support: false },\n \"text-moderation\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"whisper\": { input: { text: false, image: false, video: false, audio: true, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false }\n};\n// Fallback pattern lists for inferring modalities and tool support\nconst IMAGE_INPUT_MODELS = [\"image\"];\nconst VIDEO_INPUT_MODELS = [\"video\"];\nconst AUDIO_INPUT_MODELS = [\"audio\"];\nconst TEXT_INPUT_MODELS = [\"text\"];\nconst IMAGE_OUTPUT_MODELS = [\"image\"];\nconst VIDEO_OUTPUT_MODELS = [\"video\"];\nconst AUDIO_OUTPUT_MODELS = [\"audio\"];\nconst TEXT_OUTPUT_MODELS = [\"text\"];\nconst EMBEDDING_OUTPUT_MODELS = [\"embed\"];\nconst TOOL_SUPPORT_MODELS = [\"tool\", \"gpt\", \"o1\", \"o3\", \"o4\"];\nfunction modelMatches(modelName, patterns) {\n return patterns.some(pattern => modelName.includes(pattern));\n}\nfunction normalizeOpenAIModelName(modelName) {\n return modelName.toLowerCase();\n}\n/**\n * Get the full ModelCapabilities for an OpenAI model.\n * Checks RECORD_MODEL_CAPABILITIES first, then falls back to pattern-based inference.\n * For OpenAI models, tool_support_streaming defaults to tool_support since the API supports tools while streaming.\n */\nexport function getModelCapabilitiesOpenAI(model) {\n const normalized = normalizeOpenAIModelName(model);\n const record = RECORD_MODEL_CAPABILITIES[normalized];\n if (record) {\n // Default tool_support_streaming to tool_support for OpenAI models\n return {\n ...record,\n tool_support_streaming: record.tool_support_streaming ?? record.tool_support\n };\n }\n let bestFamilyKey = undefined;\n let bestFamilyLength = 0;\n for (const key of Object.keys(RECORD_FAMILY_CAPABILITIES)) {\n if (normalized.startsWith(key) && key.length > bestFamilyLength) {\n bestFamilyKey = key;\n bestFamilyLength = key.length;\n }\n }\n if (bestFamilyKey) {\n const family = RECORD_FAMILY_CAPABILITIES[bestFamilyKey];\n // Default tool_support_streaming to tool_support for OpenAI models\n return {\n ...family,\n tool_support_streaming: family.tool_support_streaming ?? family.tool_support\n };\n }\n const input = {\n text: modelMatches(normalized, TEXT_INPUT_MODELS) || undefined,\n image: modelMatches(normalized, IMAGE_INPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_INPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_INPUT_MODELS) || undefined,\n embed: false\n };\n const output = {\n text: modelMatches(normalized, TEXT_OUTPUT_MODELS) || undefined,\n image: modelMatches(normalized, IMAGE_OUTPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_OUTPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_OUTPUT_MODELS) || undefined,\n embed: modelMatches(normalized, EMBEDDING_OUTPUT_MODELS) || undefined\n };\n const tool_support = modelMatches(normalized, TOOL_SUPPORT_MODELS) || undefined;\n // Default tool_support_streaming to tool_support for OpenAI models\n return { input, output, tool_support, tool_support_streaming: tool_support };\n}\n//# sourceMappingURL=openai.js.map","// Record of Vertex AI model capabilities keyed by model ID (last path segment, lowercased)\nconst RECORD_MODEL_CAPABILITIES = {\n \"gemini-2.0-flash-lite-001\": { input: { text: true, image: true, video: true, audio: true, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n};\n// Populate RECORD_FAMILY_CAPABILITIES as a const record (lowest common denominator for each family)\nconst RECORD_FAMILY_CAPABILITIES = {\n \"gemini\": { input: { text: true, image: true, video: true, audio: true, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"gemini-2.5-flash-image\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"gemini-3.0-pro-image\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"gemini-3.0-flash-image\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: true, video: false, audio: false, embed: false }, tool_support: false },\n 'imagen': { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"imagen-3.0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"imagen-3.0-capability\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"imagen-4.0\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"imagen-4.0-capability\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },\n \"claude\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"llama\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"llama-2\": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },\n \"llama-3.2\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n \"llama-4\": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },\n};\n// Fallback pattern lists for inferring modalities and tool support\nconst IMAGE_INPUT_MODELS = [\"image\"];\nconst VIDEO_INPUT_MODELS = [\"video\"];\nconst AUDIO_INPUT_MODELS = [\"audio\"];\nconst TEXT_INPUT_MODELS = [\"text\"];\nconst IMAGE_OUTPUT_MODELS = [\"image\"];\nconst VIDEO_OUTPUT_MODELS = [\"video\"];\nconst AUDIO_OUTPUT_MODELS = [\"audio\"];\nconst TEXT_OUTPUT_MODELS = [\"text\"];\nconst EMBEDDING_OUTPUT_MODELS = [\"embed\"];\nconst TOOL_SUPPORT_MODELS = [\"tool\", \"sonnet\", \"opus\", \"gemini\", \"claude\"];\nfunction modelMatches(modelName, patterns) {\n return patterns.some(pattern => modelName.includes(pattern));\n}\nfunction normalizeVertexAIModelName(modelName) {\n const segments = modelName.toLowerCase().split(\"/\");\n return segments[segments.length - 1];\n}\n/**\n * Get the full ModelCapabilities for a Vertex AI model.\n * Checks RECORD_MODEL_CAPABILITIES first, then falls back to pattern-based inference.\n */\nexport function getModelCapabilitiesVertexAI(model) {\n const normalized = normalizeVertexAIModelName(model);\n const record = RECORD_MODEL_CAPABILITIES[normalized];\n if (record)\n return record;\n let bestFamilyKey = undefined;\n let bestFamilyLength = 0;\n for (const key of Object.keys(RECORD_FAMILY_CAPABILITIES)) {\n if (normalized.startsWith(key) && key.length > bestFamilyLength) {\n bestFamilyKey = key;\n bestFamilyLength = key.length;\n }\n }\n if (bestFamilyKey) {\n return RECORD_FAMILY_CAPABILITIES[bestFamilyKey];\n }\n const input = {\n text: modelMatches(normalized, TEXT_INPUT_MODELS) || undefined,\n image: modelMatches(normalized, IMAGE_INPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_INPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_INPUT_MODELS) || undefined,\n embed: false\n };\n const output = {\n text: modelMatches(normalized, TEXT_OUTPUT_MODELS) || undefined,\n image: modelMatches(normalized, IMAGE_OUTPUT_MODELS) || undefined,\n video: modelMatches(normalized, VIDEO_OUTPUT_MODELS) || undefined,\n audio: modelMatches(normalized, AUDIO_OUTPUT_MODELS) || undefined,\n embed: modelMatches(normalized, EMBEDDING_OUTPUT_MODELS) || undefined\n };\n const tool_support = modelMatches(normalized, TOOL_SUPPORT_MODELS) || undefined;\n return { input, output, tool_support };\n}\n//# sourceMappingURL=vertexai.js.map","import { getModelCapabilitiesAzureFoundry } from \"./capability/azure_foundry.js\";\nimport { getModelCapabilitiesBedrock } from \"./capability/bedrock.js\";\nimport { getModelCapabilitiesOpenAI } from \"./capability/openai.js\";\nimport { getModelCapabilitiesVertexAI } from \"./capability/vertexai.js\";\nimport { Providers } from \"./types.js\";\nexport function getModelCapabilities(model, provider) {\n //Check for locations/<location>/ prefix and remove it\n if (model.startsWith(\"locations/\")) {\n const parts = model.split(\"/\");\n if (parts.length >= 3) {\n model = parts.slice(2).join(\"/\");\n }\n }\n const capabilities = _getModelCapabilities(model, provider);\n // Globally disable audio and video for all models, as we don't support them yet\n // TODO: Remove this when we add support.\n capabilities.input.audio = false;\n capabilities.output.audio = false;\n capabilities.output.video = false;\n // Preserve tool_support_streaming from provider-specific capabilities if set,\n // otherwise default to false for providers that haven't been verified\n return capabilities;\n}\nfunction _getModelCapabilities(model, provider) {\n switch (provider?.toLowerCase()) {\n case Providers.vertexai:\n return getModelCapabilitiesVertexAI(model);\n case Providers.openai:\n case Providers.openai_compatible:\n return getModelCapabilitiesOpenAI(model);\n case Providers.bedrock:\n return getModelCapabilitiesBedrock(model);\n case Providers.azure_foundry:\n // Azure Foundry uses OpenAI capabilities\n return getModelCapabilitiesAzureFoundry(model);\n case Providers.xai:\n // xAI (Grok) models support tool use and are text-based\n return {\n input: { text: true, image: model.includes(\"vision\") },\n output: { text: true },\n tool_support: true,\n tool_support_streaming: false, // Conservative - may work but not tested\n };\n default:\n // Guess the provider based on the model name\n if (model.startsWith(\"gpt\")) {\n return getModelCapabilitiesOpenAI(model);\n }\n else if (model.startsWith(\"grok\")) {\n // xAI Grok models\n return {\n input: { text: true, image: model.includes(\"vision\") },\n output: { text: true },\n tool_support: true,\n tool_support_streaming: false,\n };\n }\n else if (model.startsWith(\"publishers/\")) {\n return getModelCapabilitiesVertexAI(model);\n }\n else if (model.startsWith(\"arn:aws\")) {\n return getModelCapabilitiesBedrock(model);\n }\n // Fallback to a generic model with no capabilities\n return { input: {}, output: {} };\n }\n}\nexport function supportsToolUse(model, provider, streaming = false) {\n const capabilities = getModelCapabilities(model, provider);\n return streaming ? !!capabilities.tool_support_streaming : !!capabilities.tool_support;\n}\nexport function modelModalitiesToArray(modalities) {\n return Object.entries(modalities)\n .filter(([_, isSupported]) => isSupported)\n .map(([modality]) => modality);\n}\n//# sourceMappingURL=capability.js.map","import { OptionType, SharedOptions } from \"../types.js\";\nimport { textOptionsFallback } from \"./fallback.js\";\nexport var ImagenTaskType;\n(function (ImagenTaskType) {\n ImagenTaskType[\"TEXT_IMAGE\"] = \"TEXT_IMAGE\";\n ImagenTaskType[\"EDIT_MODE_INPAINT_REMOVAL\"] = \"EDIT_MODE_INPAINT_REMOVAL\";\n ImagenTaskType[\"EDIT_MODE_INPAINT_INSERTION\"] = \"EDIT_MODE_INPAINT_INSERTION\";\n ImagenTaskType[\"EDIT_MODE_BGSWAP\"] = \"EDIT_MODE_BGSWAP\";\n ImagenTaskType[\"EDIT_MODE_OUTPAINT\"] = \"EDIT_MODE_OUTPAINT\";\n ImagenTaskType[\"CUSTOMIZATION_SUBJECT\"] = \"CUSTOMIZATION_SUBJECT\";\n ImagenTaskType[\"CUSTOMIZATION_STYLE\"] = \"CUSTOMIZATION_STYLE\";\n ImagenTaskType[\"CUSTOMIZATION_CONTROLLED\"] = \"CUSTOMIZATION_CONTROLLED\";\n ImagenTaskType[\"CUSTOMIZATION_INSTRUCT\"] = \"CUSTOMIZATION_INSTRUCT\";\n})(ImagenTaskType || (ImagenTaskType = {}));\nexport var ImagenMaskMode;\n(function (ImagenMaskMode) {\n ImagenMaskMode[\"MASK_MODE_USER_PROVIDED\"] = \"MASK_MODE_USER_PROVIDED\";\n ImagenMaskMode[\"MASK_MODE_BACKGROUND\"] = \"MASK_MODE_BACKGROUND\";\n ImagenMaskMode[\"MASK_MODE_FOREGROUND\"] = \"MASK_MODE_FOREGROUND\";\n ImagenMaskMode[\"MASK_MODE_SEMANTIC\"] = \"MASK_MODE_SEMANTIC\";\n})(ImagenMaskMode || (ImagenMaskMode = {}));\nexport var ThinkingLevel;\n(function (ThinkingLevel) {\n ThinkingLevel[\"HIGH\"] = \"HIGH\";\n ThinkingLevel[\"LOW\"] = \"LOW\";\n ThinkingLevel[\"THINKING_LEVEL_UNSPECIFIED\"] = \"THINKING_LEVEL_UNSPECIFIED\";\n})(ThinkingLevel || (ThinkingLevel = {}));\nexport function getVertexAiOptions(model, option) {\n if (model.includes(\"imagen-\")) {\n return getImagenOptions(model, option);\n }\n else if (model.includes(\"gemini\")) {\n return getGeminiOptions(model, option);\n }\n else if (model.includes(\"claude\")) {\n return getClaudeOptions(model, option);\n }\n else if (model.includes(\"llama\")) {\n return getLlamaOptions(model);\n }\n return textOptionsFallback;\n}\nfunction getImagenOptions(model, option) {\n const commonOptions = [\n {\n name: SharedOptions.number_of_images, type: OptionType.numeric, min: 1, max: 4, default: 1,\n integer: true, description: \"Number of Images to generate\",\n },\n {\n name: SharedOptions.seed, type: OptionType.numeric, min: 0, max: 4294967295, default: 12,\n integer: true, description: \"The seed of the generated image\"\n },\n {\n name: \"person_generation\", type: OptionType.enum, enum: { \"Disallow the inclusion of people or faces in images\": \"dont_allow\", \"Allow generation of adults only\": \"allow_adult\", \"Allow generation of people of all ages\": \"allow_all\" },\n default: \"allow_adult\", description: \"The safety setting for allowing the generation of people in the image\"\n },\n {\n name: \"safety_setting\", type: OptionType.enum, enum: { \"Block very few problematic prompts and responses\": \"block_none\", \"Block only few problematic prompts and responses\": \"block_only_high\", \"Block some problematic prompts and responses\": \"block_medium_and_above\", \"Strictest filtering\": \"block_low_and_above\" },\n default: \"block_medium_and_above\", description: \"The overall safety setting\"\n },\n ];\n const outputOptions = [\n {\n name: \"image_file_type\", type: OptionType.enum, enum: { \"JPEG\": \"image/jpeg\", \"PNG\": \"image/png\" },\n default: \"image/png\", description: \"The file type of the generated image\",\n refresh: true,\n },\n ];\n const jpegQuality = {\n name: \"jpeg_compression_quality\", type: OptionType.numeric, min: 0, max: 100, default: 75,\n integer: true, description: \"The compression quality of the JPEG image\",\n };\n if (option?.image_file_type === \"image/jpeg\") {\n outputOptions.push(jpegQuality);\n }\n if (model.includes(\"generate\")) {\n // Generate models\n const modeOptions = [\n {\n name: \"aspect_ratio\", type: OptionType.enum, enum: { \"1:1\": \"1:1\", \"4:3\": \"4:3\", \"3:4\": \"3:4\", \"16:9\": \"16:9\", \"9:16\": \"9:16\" },\n default: \"1:1\", description: \"The aspect ratio of the generated image\"\n },\n {\n name: \"add_watermark\", type: OptionType.boolean, default: false, description: \"Add an invisible watermark to the generated image, useful for detection of AI images\"\n },\n ];\n const enhanceOptions = !model.includes(\"generate-001\") ? [\n {\n name: \"enhance_prompt\", type: OptionType.boolean, default: true, description: \"VertexAI automatically rewrites the prompt to better reflect the prompt's intent.\"\n },\n ] : [];\n return {\n _option_id: \"vertexai-imagen\",\n options: [\n ...commonOptions,\n ...modeOptions,\n ...outputOptions,\n ...enhanceOptions,\n ]\n };\n }\n if (model.includes(\"capability\")) {\n // Edit models\n let guidanceScaleDefault = 75;\n if (option?.edit_mode === ImagenTaskType.EDIT_MODE_INPAINT_INSERTION) {\n guidanceScaleDefault = 60;\n }\n const modeOptions = [\n {\n name: \"edit_mode\", type: OptionType.enum,\n enum: {\n \"EDIT_MODE_INPAINT_REMOVAL\": \"EDIT_MODE_INPAINT_REMOVAL\",\n \"EDIT_MODE_INPAINT_INSERTION\": \"EDIT_MODE_INPAINT_INSERTION\",\n \"EDIT_MODE_BGSWAP\": \"EDIT_MODE_BGSWAP\",\n \"EDIT_MODE_OUTPAINT\": \"EDIT_MODE_OUTPAINT\",\n \"CUSTOMIZATION_SUBJECT\": \"CUSTOMIZATION_SUBJECT\",\n \"CUSTOMIZATION_STYLE\": \"CUSTOMIZATION_STYLE\",\n \"CUSTOMIZATION_CONTROLLED\": \"CUSTOMIZATION_CONTROLLED\",\n \"CUSTOMIZATION_INSTRUCT\": \"CUSTOMIZATION_INSTRUCT\",\n },\n description: \"The editing mode. CUSTOMIZATION options use few-shot learning to generate images based on a few examples.\"\n },\n {\n name: \"guidance_scale\", type: OptionType.numeric, min: 0, max: 500, default: guidanceScaleDefault,\n integer: true, description: \"How closely the generation follows the prompt\"\n }\n ];\n const maskOptions = (option?.edit_mode?.includes(\"EDIT\")) ? [\n {\n name: \"mask_mode\", type: OptionType.enum,\n enum: {\n \"MASK_MODE_USER_PROVIDED\": \"MASK_MODE_USER_PROVIDED\",\n \"MASK_MODE_BACKGROUND\": \"MASK_MODE_BACKGROUND\",\n \"MASK_MODE_FOREGROUND\": \"MASK_MODE_FOREGROUND\",\n \"MASK_MODE_SEMANTIC\": \"MASK_MODE_SEMANTIC\",\n },\n default: \"MASK_MODE_USER_PROVIDED\",\n description: \"How should the mask for the generation be provided\"\n },\n {\n name: \"mask_dilation\", type: OptionType.numeric, min: 0, max: 1,\n integer: true, description: \"The mask dilation, grows the mask by a percentage of image width to compensate for imprecise masks.\"\n },\n ] : [];\n const maskClassOptions = (option?.mask_mode === ImagenMaskMode.MASK_MODE_SEMANTIC) ? [\n {\n name: \"mask_class\", type: OptionType.string_list, default: [],\n description: \"Input Class IDs. Create a mask based on image class, based on https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api-customization#segment-ids\"\n }\n ] : [];\n const editOptions = option?.edit_mode?.includes(\"EDIT\") ? [\n {\n name: \"edit_steps\", type: OptionType.numeric, default: 75,\n integer: true, description: \"The number of steps for the base image generation, more steps means more time and better quality\"\n },\n ] : [];\n const customizationOptions = option?.edit_mode === ImagenTaskType.CUSTOMIZATION_CONTROLLED\n || option?.edit_mode === ImagenTaskType.CUSTOMIZATION_SUBJECT ? [\n {\n name: \"controlType\", type: OptionType.enum, enum: { \"Face Mesh\": \"CONTROL_TYPE_FACE_MESH\", \"Canny\": \"CONTROL_TYPE_CANNY\", \"Scribble\": \"CONTROL_TYPE_SCRIBBLE\" },\n default: \"CONTROL_TYPE_CANNY\", description: \"Method used to generate the control image\"\n },\n {\n name: \"controlImageComputation\", type: OptionType.boolean, default: true, description: \"Should the control image be computed from the input image, or is it provided\"\n }\n ] : [];\n return {\n _option_id: \"vertexai-imagen\",\n options: [\n ...modeOptions,\n ...commonOptions,\n ...maskOptions,\n ...maskClassOptions,\n ...editOptions,\n ...customizationOptions,\n ...outputOptions,\n ]\n };\n }\n return textOptionsFallback;\n}\nfunction getGeminiOptions(model, _option) {\n // Special handling for gemini-2.5-flash-image\n if (model.includes(\"gemini-2.5-flash-image\")) {\n const options = [\n {\n name: SharedOptions.temperature,\n type: OptionType.numeric,\n min: 0.0,\n max: 2.0,\n default: 0.7,\n step: 0.01,\n description: \"Sampling temperature\"\n },\n {\n name: SharedOptions.top_p,\n type: OptionType.numeric,\n min: 0.0,\n max: 1.0,\n step: 0.01,\n description: \"Nucleus sampling probability\"\n },\n {\n name: \"candidate_count\",\n type: OptionType.numeric,\n min: 1,\n max: 8,\n default: 1,\n integer: true,\n description: \"Number of candidates to generate\"\n },\n {\n name: SharedOptions.max_tokens,\n type: OptionType.numeric,\n min: 1,\n max: 32768,\n integer: true,\n step: 200,\n description: \"Maximum output tokens\"\n }\n ];\n return {\n _option_id: \"vertexai-gemini\",\n options\n };\n }\n // Special handling for gemini-2.5-flash-image and gemini-3-pro-image\n if (model.includes(\"gemini-2.5-flash-image\") || model.includes(\"gemini-3-pro-image\")) {\n const max_tokens_limit = 32768;\n const excludeOptions = [\"max_tokens\", \"presence_penalty\", \"frequency_penalty\", \"seed\", \"top_k\"];\n let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));\n // Set max temperature to 2.0 for gemini-2.5-flash-image\n commonOptions = commonOptions.map((option) => {\n if (option.name === SharedOptions.temperature &&\n option.type === OptionType.numeric) {\n return {\n ...option,\n max: 2.0,\n };\n }\n return option;\n });\n const max_tokens = [{\n name: SharedOptions.max_tokens,\n type: OptionType.numeric,\n min: 1,\n max: max_tokens_limit,\n integer: true,\n step: 200,\n description: \"Maximum output tokens\"\n }];\n const imageAspectRatio = [{\n name: \"image_aspect_ratio\",\n type: OptionType.enum,\n enum: {\n \"1:1\": \"1:1\",\n \"2:3\": \"2:3\",\n \"3:2\": \"3:2\",\n \"3:4\": \"3:4\",\n \"4:3\": \"4:3\",\n \"9:16\": \"9:16\",\n \"16:9\": \"16:9\",\n \"21:9\": \"21:9\"\n },\n description: \"Aspect ratio of the generated images\"\n }];\n return {\n _option_id: \"vertexai-gemini\",\n options: [\n ...max_tokens,\n ...commonOptions,\n ...imageAspectRatio,\n ]\n };\n }\n const max_tokens_limit = getGeminiMaxTokensLimit(model);\n const excludeOptions = [\"max_tokens\"];\n const commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));\n const max_tokens = [{\n name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,\n integer: true, step: 200, description: \"The maximum number of tokens to generate\"\n }];\n const seedOption = {\n name: SharedOptions.seed, type: OptionType.numeric, integer: true, description: \"The seed for the generation, useful for reproducibility\"\n };\n if (model.includes(\"-3-\")) {\n const geminiThinkingOptions = [\n {\n name: \"include_thoughts\",\n type: OptionType.boolean,\n default: false,\n description: \"Include the model's reasoning process in the response\"\n }\n ];\n return {\n _option_id: \"vertexai-gemini\",\n options: [\n ...max_tokens,\n ...commonOptions,\n seedOption,\n ...geminiThinkingOptions,\n ]\n };\n }\n if (model.includes(\"-2.5-\")) {\n // Gemini 2.5 thinking models\n // Set budget token ranges based on model variant\n let budgetMin = -1;\n let budgetMax = 24576;\n let budgetDescription = \"\";\n if (model.includes(\"flash-lite\")) {\n budgetMin = -1;\n budgetMax = 24576;\n budgetDescription = \"The target number of tokens to use for reasoning. \" +\n \"Flash Lite default: Model does not think. \" +\n \"Range: 512-24576 tokens. \" +\n \"Set to 0 to disable thinking, -1 for dynamic thinking.\";\n }\n else if (model.includes(\"flash\")) {\n budgetMin = -1;\n budgetMax = 24576;\n budgetDescription = \"The target number of tokens to use for reasoning. \" +\n \"Flash default: Dynamic thinking (model decides when and how much to think). \" +\n \"Range: 0-24576 tokens. \" +\n \"Set to 0 to disable thinking, -1 for dynamic thinking.\";\n }\n else if (model.includes(\"pro\")) {\n budgetMin = -1;\n budgetMax = 32768;\n budgetDescription = \"The target number of tokens to use for reasoning. \" +\n \"Pro default: Dynamic thinking (model decides when and how much to think). \" +\n \"Range: 128-32768 tokens. \" +\n \"Cannot disable thinking - minimum 128 tokens. Set to -1 for dynamic thinking.\";\n }\n const geminiThinkingOptions = [\n {\n name: \"include_thoughts\",\n type: OptionType.boolean,\n default: false,\n description: \"Include the model's reasoning process in the response\"\n },\n {\n name: \"thinking_budget_tokens\",\n type: OptionType.numeric,\n min: budgetMin,\n max: budgetMax,\n default: undefined,\n integer: true,\n step: 100,\n description: budgetDescription,\n }\n ];\n return {\n _option_id: \"vertexai-gemini\",\n options: [\n ...max_tokens,\n ...commonOptions,\n seedOption,\n ...geminiThinkingOptions,\n ]\n };\n }\n return {\n _option_id: \"vertexai-gemini\",\n options: [\n ...max_tokens,\n ...commonOptions,\n seedOption,\n ]\n };\n}\nfunction getClaudeOptions(model, option) {\n const max_tokens_limit = getClaudeMaxTokensLimit(model);\n const excludeOptions = [\"max_tokens\", \"presence_penalty\", \"frequency_penalty\"];\n const commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));\n const max_tokens = [{\n name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,\n integer: true, step: 200, description: \"The maximum number of tokens to generate\"\n }];\n if (model.includes(\"-3-7\") || model.includes(\"-4\")) {\n const claudeModeOptions = [\n {\n name: \"thinking_mode\",\n type: OptionType.boolean,\n default: false,\n description: \"If true, use the extended reasoning mode\"\n },\n ];\n const claudeThinkingOptions = option?.thinking_mode ? [\n {\n name: \"thinking_budget_tokens\",\n type: OptionType.numeric,\n min: 1024,\n default: 1024,\n integer: true,\n step: 100,\n description: \"The target number of tokens to use for reasoning, not a hard limit.\"\n },\n {\n name: \"include_thoughts\",\n type: OptionType.boolean,\n default: false,\n description: \"Include the model's reasoning process in the response\"\n }\n ] : [];\n return {\n _option_id: \"vertexai-claude\",\n options: [\n ...max_tokens,\n ...commonOptions,\n ...claudeModeOptions,\n ...claudeThinkingOptions,\n ]\n };\n }\n return {\n _option_id: \"vertexai-claude\",\n options: [\n ...max_tokens,\n ...commonOptions,\n ]\n };\n}\nfunction getLlamaOptions(model) {\n const max_tokens_limit = getLlamaMaxTokensLimit(model);\n const excludeOptions = [\"max_tokens\", \"presence_penalty\", \"frequency_penalty\", \"stop_sequence\"];\n let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));\n const max_tokens = [{\n name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,\n integer: true, step: 200, description: \"The maximum number of tokens to generate\"\n }];\n // Set max temperature to 1.0 for Llama models\n commonOptions = commonOptions.map((option) => {\n if (option.name === SharedOptions.temperature &&\n option.type === OptionType.numeric) {\n return {\n ...option,\n max: 1.0,\n };\n }\n return option;\n });\n return {\n _option_id: \"text-fallback\",\n options: [\n ...max_tokens,\n ...commonOptions,\n ]\n };\n}\nfunction getGeminiMaxTokensLimit(model) {\n if (model.includes(\"gemini-2.5-flash-image\") || model.includes(\"gemini-3-pro-image\")) {\n return 32768;\n }\n if (model.includes(\"thinking\") || model.includes(\"-2.5-\") || model.includes(\"-3-\")) {\n return 65536;\n }\n if (model.includes(\"ultra\") || model.includes(\"vision\")) {\n return 2048;\n }\n return 8192;\n}\nfunction getClaudeMaxTokensLimit(model) {\n if (model.includes(\"-4-\")) {\n if (model.includes(\"opus-\")) {\n return 32768;\n }\n return 65536;\n }\n else if (model.includes(\"-3-7-\")) {\n return 128000;\n }\n else if (model.includes(\"-3-5-\")) {\n return 8192;\n }\n else {\n return 4096;\n }\n}\nfunction getLlamaMaxTokensLimit(_model) {\n return 8192;\n}\nexport function getMaxTokensLimitVertexAi(model) {\n if (model.includes(\"imagen-\")) {\n return 0; // Imagen models do not have a max tokens limit in the same way as text models\n }\n else if (model.includes(\"claude\")) {\n return getClaudeMaxTokensLimit(model);\n }\n else if (model.includes(\"gemini\")) {\n return getGeminiMaxTokensLimit(model);\n }\n else if (model.includes(\"llama\")) {\n return getLlamaMaxTokensLimit(model);\n }\n return 8192; // Default fallback limit\n}\n//# sourceMappingURL=vertexai.js.map",null,"import { OptionType, SharedOptions } from \"../types.js\";\nexport const textOptionsFallback = {\n _option_id: \"text-fallback\",\n options: [\n {\n name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1,\n integer: true, step: 200, description: \"The maximum number of tokens to generate\"\n },\n {\n name: SharedOptions.temperature, type: OptionType.numeric, min: 0.0, default: 0.7,\n integer: false, step: 0.1, description: \"A higher temperature biases toward less likely tokens, making the model more creative\"\n },\n {\n name: SharedOptions.top_p, type: OptionType.numeric, min: 0, max: 1,\n integer: false, step: 0.1, description: \"Limits token sampling to the cumulative probability of the top p tokens\"\n },\n {\n name: SharedOptions.top_k, type: OptionType.numeric, min: 1,\n integer: true, step: 1, description: \"Limits token sampling to the top k tokens\"\n },\n {\n name: SharedOptions.presence_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,\n integer: false, step: 0.1, description: \"Penalise tokens if they appear at least once in the text\"\n },\n {\n name: SharedOptions.frequency_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,\n integer: false, step: 0.1, description: \"Penalise tokens based on their frequency in the text\"\n },\n { name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [], description: \"The generation will halt if one of the stop sequences is output\" },\n ]\n};\n//# sourceMappingURL=fallback.js.map",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Permission","AccessControlResourceType","AccessControlPrincipalType","ApiKeyTypes","PrincipalType","Providers","ProviderList","openai","id","name","requiresApiKey","requiresEndpointUrl","supportSearch","azure_openai","azure_foundry","huggingface_ie","replicate","bedrock","endpointPlaceholder","vertexai","togetherai","mistralai","groq","watsonx","xai","openai_compatible","SharedOptions","OptionType","PromptRole","Modalities","AIModelStatus","ModelType","TrainingJobStatus","RECORD_MODEL_CAPABILITIES","input","text","image","video","audio","embed","output","tool_support","tool_support_streaming","o3","RECORD_FAMILY_CAPABILITIES","gpt","o1","o4","o","llama","mistral","phi","deepseek","ai21","jamba","cohere","command","grok","IMAGE_INPUT_MODELS","VIDEO_INPUT_MODELS","AUDIO_INPUT_MODELS","TEXT_INPUT_MODELS","IMAGE_OUTPUT_MODELS","VIDEO_OUTPUT_MODELS","AUDIO_OUTPUT_MODELS","TEXT_OUTPUT_MODELS","EMBEDDING_OUTPUT_MODELS","TOOL_SUPPORT_MODELS","modelMatches","modelName","patterns","some","pattern","includes","applyGlobalToolSupportDisable","capabilities","startsWith","RECORD_FOUNDATION_EXCEPTIONS","RECORD_PROFILE_EXCEPTIONS","getModelCapabilitiesBedrock","model","modelLower","toLowerCase","normalized","test","foundationIdx","lastIndexOf","inferenceIdx","substring","isInferenceProfile","isFoundationModel","lookupKey","lower","lastSlashIdx","key","slice","replace","extractModelLookupKey","exception","modelCapability","familyCapability","families","bestKey","Object","keys","length","undefined","findFamilyCapability","inferredName","parts","split","providerModel","modelParts","join","normalizeModelName","sora","whisper","getModelCapabilitiesOpenAI","record","bestFamilyKey","bestFamilyLength","family","gemini","imagen","claude","getModelCapabilitiesVertexAI","segments","normalizeVertexAIModelName","getModelCapabilities","provider","baseModel","compositeId","deploymentName","parseAzureFoundryModelId","getModelCapabilitiesAzureFoundry","_getModelCapabilities","supportsToolUse","streaming","ImagenTaskType","ImagenMaskMode","ThinkingLevel","CustomProviders","max_tokens","numeric","temperature","top_p","top_k","presence_penalty","frequency_penalty","stop_sequence","string_list","SupportedProviders","CustomProvidersList","virtual_lb","virtual_mediator","SupportedProvidersList","ExecutionEnvironmentRefPopulate","UserGroupRefPopulate","SupportedIntegrations","InteractionRefPopulate","InteractionRefWithSchemaPopulate","InteractionStatus","ExecutionRunStatus","RunDataStorageLevel","RunDataStorageDescription","RunDataStorageOptions","STANDARD","RESTRICTED","DEBUG","AgentSearchScope","RunSourceTypes","ExecutionRunRefSelect","ConfigModes","ConfigModesDescription","ConfigModesOptions","RUN_AND_INTERACTION_CONFIG","RUN_CONFIG_ONLY","INTERACTION_CONFIG_ONLY","MeterNames","ProjectRoles","ResourceVisibility","SystemInteractionCategory","ProgressSpan","constructor","parent","parentUnits","spanUnits","this","unitsDone","done","units","remaining","parentUnitsDone","Math","round","isDone","Progress","total","fraction","percent","span","isRoleIncludedIn","role","includingRole","owner","admin","billing","developer","SYSTEM_INTERACTION_CATEGORIES","ExtractInformation","intake","SelectDocumentType","GenerateMetadataModel","content_type","ChunkDocument","IdentifyTextSections","AnalyzeDocument","analysis","ReduceTextSections","GenericAgent","non_applicable","AdhocTaskAgent","Mediator","AnalyzeConversation","GetAgentConversationTopic","getSystemInteractionCategory","endpoint","category","SupportedEmbeddingTypes","FullTextType","SearchTypes","ProjectRefPopulate","PromptStatus","PromptSegmentDefType","TemplateType","ResolvableRefType","CollectionStatus","WorkflowDefinitionRefPopulate","RenditionSchema","type","description","properties","mime_type","source_etag","nullable","height","width","multipart","default","total_parts","required","DocumentPartSchema","part_number","title","source_line_start","source_line_end","enum","page_number","ContentObjectApiHeaders","ContentObjectStatus","ContentNature","POSTER_RENDITION_NAME","AUDIO_RENDITION_NAME","WEB_VIDEO_RENDITION_NAME","PDF_RENDITION_NAME","WorkflowRuleInputType","ImageRenditionFormat","MarkdownRenditionFormat","ContentObjectProcessingPriority","ParentClosePolicy","TERMINATE","ABANDON","REQUEST_CANCEL","PARENT_CLOSE_POLICY_UNSPECIFIED","PARENT_CLOSE_POLICY_TERMINATE","PARENT_CLOSE_POLICY_ABANDON","PARENT_CLOSE_POLICY_REQUEST_CANCEL","ContentEventName","WorkflowExecutionStatus","AgentMessageType","getDocumentIds","payload","objectIds","LOW_PRIORITY_TASK_QUEUE","TrainingSessionStatus","TransientTokenType","UserRefPopulate","Datacenters","BillingMethod","AccountRefPopulate","getTenantId","accountId","projectId","getTenantIdFromProject","project","account","removeExtraProperties","schema","Array","isArray","item","obj","value","entries","mergeJSONSchemas","schemas","props","prop","push","assign","_mergePromptsSchema","prompts","Set","prompt","template","inputSchema","add","chat","items","assistant","user","content","from","mergePromptsSchema","interaction","mergeInCodePromptSchemas","isApiKeyRequest","req","isUserRequest","isProjectRequest","isEnvironmentRequest","isAgentRequest","isServiceAccountRequest","ApiVersions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/common",
3
- "version": "0.80.1",
3
+ "version": "0.81.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "types": "./lib/types/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "ajv": "^8.16.0",
30
30
  "json-schema": "^0.4.0",
31
- "@llumiverse/common": "0.23.0"
31
+ "@llumiverse/common": "0.24.0"
32
32
  },
33
33
  "repository": {
34
34
  "type": "git",
package/src/apps.ts CHANGED
@@ -23,10 +23,12 @@ export interface AppManifestData {
23
23
  name: string;
24
24
 
25
25
  /**
26
- * Whether the app is private to the owner account.
27
- * If true the account property must be defined.
26
+ * Visibility level of the app:
27
+ * - "public": visible to all accounts
28
+ * - "private": visible only to the owning account
29
+ * - "vertesia": visible only to Vertesia team members (any project)
28
30
  */
29
- private: boolean;
31
+ visibility: "public" | "private" | "vertesia";
30
32
 
31
33
  title: string;
32
34
  description: string;