@vibesdotdev/integrations-mistral 0.0.0-stage → 1.0.0-rc.4

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 (53) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +31 -2
  3. package/dist/ai/index.d.ts +4 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/index.js +4 -0
  6. package/dist/ai/index.js.map +1 -0
  7. package/dist/ai/metadata/assets/assets/logos/providers/mistral.svg +12 -0
  8. package/dist/ai/metadata/assets/logos/providers/mistral.svg +12 -0
  9. package/dist/ai/provider.plugin.d.ts +6 -0
  10. package/dist/ai/provider.plugin.d.ts.map +1 -0
  11. package/dist/ai/provider.plugin.js +103 -0
  12. package/dist/ai/provider.plugin.js.map +1 -0
  13. package/dist/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.d.ts +4206 -0
  14. package/dist/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.d.ts.map +1 -0
  15. package/dist/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.js +43 -0
  16. package/dist/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.js.map +1 -0
  17. package/dist/ai/providers/cloud/api/mistral/config/schemas/index.d.ts +15 -0
  18. package/dist/ai/providers/cloud/api/mistral/config/schemas/index.d.ts.map +1 -0
  19. package/dist/ai/providers/cloud/api/mistral/config/schemas/index.js +8 -0
  20. package/dist/ai/providers/cloud/api/mistral/config/schemas/index.js.map +1 -0
  21. package/dist/ai/providers/cloud/api/mistral/index.d.ts +3 -0
  22. package/dist/ai/providers/cloud/api/mistral/index.d.ts.map +1 -0
  23. package/dist/ai/providers/cloud/api/mistral/index.js +3 -0
  24. package/dist/ai/providers/cloud/api/mistral/index.js.map +1 -0
  25. package/dist/ai/providers/cloud/api/mistral/provider.mistral.descriptor.d.ts +183 -0
  26. package/dist/ai/providers/cloud/api/mistral/provider.mistral.descriptor.d.ts.map +1 -0
  27. package/dist/ai/providers/cloud/api/mistral/provider.mistral.descriptor.js +45 -0
  28. package/dist/ai/providers/cloud/api/mistral/provider.mistral.descriptor.js.map +1 -0
  29. package/dist/ai/providers/mistral/detection/index.d.ts +2 -0
  30. package/dist/ai/providers/mistral/detection/index.d.ts.map +1 -0
  31. package/dist/ai/providers/mistral/detection/index.js +2 -0
  32. package/dist/ai/providers/mistral/detection/index.js.map +1 -0
  33. package/dist/ai/providers/mistral/detection/system.d.ts +4 -0
  34. package/dist/ai/providers/mistral/detection/system.d.ts.map +1 -0
  35. package/dist/ai/providers/mistral/detection/system.js +16 -0
  36. package/dist/ai/providers/mistral/detection/system.js.map +1 -0
  37. package/dist/ai/providers/mistral/index.d.ts +4 -0
  38. package/dist/ai/providers/mistral/index.d.ts.map +1 -0
  39. package/dist/ai/providers/mistral/index.js +4 -0
  40. package/dist/ai/providers/mistral/index.js.map +1 -0
  41. package/dist/ai/providers/mistral/mistral.provider.impl.d.ts +18 -0
  42. package/dist/ai/providers/mistral/mistral.provider.impl.d.ts.map +1 -0
  43. package/dist/ai/providers/mistral/mistral.provider.impl.js +76 -0
  44. package/dist/ai/providers/mistral/mistral.provider.impl.js.map +1 -0
  45. package/dist/ai/providers/mistral/recommendations.d.ts +23 -0
  46. package/dist/ai/providers/mistral/recommendations.d.ts.map +1 -0
  47. package/dist/ai/providers/mistral/recommendations.js +20 -0
  48. package/dist/ai/providers/mistral/recommendations.js.map +1 -0
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -0
  53. package/package.json +98 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mistral.descriptor.d.ts","sourceRoot":"","sources":["../../../../../../../src/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { createProviderConfigDescriptor } from '@vibesdotdev/ai/providers-runtime/core/config-descriptor';
2
+ import mistralProviderDescriptor from "../provider.mistral.descriptor.js";
3
+ import { mistralConnectionSchema } from "./schemas/index.js";
4
+ export default createProviderConfigDescriptor({
5
+ provider: mistralProviderDescriptor,
6
+ schema: mistralConnectionSchema,
7
+ optionLabel: 'Mistral',
8
+ optionDescription: 'Mistral models via API',
9
+ optionIcon: '💨',
10
+ fields: {
11
+ 'configuration.apiKey': {
12
+ ui: {
13
+ label: 'API Key',
14
+ description: 'Your Mistral API key',
15
+ placeholder: 'your-api-key',
16
+ component: 'secret',
17
+ group: 'connection',
18
+ order: 10
19
+ }
20
+ },
21
+ 'configuration.baseUrl': {
22
+ ui: {
23
+ label: 'Base URL',
24
+ description: 'API endpoint',
25
+ placeholder: 'https://api.mistral.ai/v1',
26
+ component: 'input',
27
+ group: 'connection',
28
+ order: 11
29
+ }
30
+ },
31
+ 'configuration.timeout': {
32
+ ui: {
33
+ label: 'Timeout',
34
+ description: 'Request timeout in milliseconds',
35
+ placeholder: '60000',
36
+ component: 'number',
37
+ group: 'connection',
38
+ order: 12
39
+ }
40
+ }
41
+ }
42
+ });
43
+ //# sourceMappingURL=config.mistral.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mistral.descriptor.js","sourceRoot":"","sources":["../../../../../../../src/ai/providers/cloud/api/mistral/config/config.mistral.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,eAAe,8BAA8B,CAAC;IAC7C,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,SAAS;IACtB,iBAAiB,EAAE,wBAAwB;IAC3C,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE;QACP,sBAAsB,EAAE;YACvB,EAAE,EAAE;gBACH,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,cAAc;gBAC3B,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;QACD,uBAAuB,EAAE;YACxB,EAAE,EAAE;gBACH,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;QACD,uBAAuB,EAAE;YACxB,EAAE,EAAE;gBACH,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE,OAAO;gBACpB,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;KACD;CACD,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as z from 'zod/v4';
2
+ export declare const mistralConnectionSchema: z.ZodObject<{
3
+ apiKey: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ source: z.ZodLiteral<"secret">;
5
+ key: z.ZodString;
6
+ store: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strict>, z.ZodObject<{
8
+ source: z.ZodLiteral<"inline">;
9
+ value: z.ZodString;
10
+ }, z.core.$strip>], "source">;
11
+ baseUrl: z.ZodDefault<z.ZodString>;
12
+ timeout: z.ZodDefault<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ export type MistralConnection = z.infer<typeof mistralConnectionSchema>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ai/providers/cloud/api/mistral/config/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as z from 'zod/v4';
2
+ import { CredentialReferenceSchema } from '@vibesdotdev/ai/providers-runtime';
3
+ export const mistralConnectionSchema = z.object({
4
+ apiKey: CredentialReferenceSchema,
5
+ baseUrl: z.string().url().default('https://api.mistral.ai/v1'),
6
+ timeout: z.number().int().min(1).max(600_000).default(60000)
7
+ });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/ai/providers/cloud/api/mistral/config/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC5D,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default as mistralProviderDescriptor } from './provider.mistral.descriptor.ts';
2
+ export { default as mistralConfigDescriptor } from './config/config.mistral.descriptor.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/api/mistral/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default as mistralProviderDescriptor } from "./provider.mistral.descriptor.js";
2
+ export { default as mistralConfigDescriptor } from "./config/config.mistral.descriptor.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/api/mistral/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,183 @@
1
+ declare const mistralProviderDescriptor: {
2
+ id: string;
3
+ kind: "ai/provider";
4
+ name: string;
5
+ version: string;
6
+ connectionSchema: unknown;
7
+ priority: number;
8
+ enabled: boolean;
9
+ description?: string | undefined;
10
+ defaults?: Record<string, unknown> | undefined;
11
+ baseUrlTemplate?: string | undefined;
12
+ capabilities?: {
13
+ [x: string]: unknown;
14
+ modalities?: ("vision" | "image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation")[] | undefined;
15
+ authType?: "none" | "api_key" | "bearer" | "oauth" | "basic" | undefined;
16
+ authMethods?: {
17
+ [x: string]: unknown;
18
+ id: string;
19
+ type: "none" | "api_key" | "bearer" | "oauth" | "basic";
20
+ label: string;
21
+ credentialFields: string[];
22
+ enabled: boolean;
23
+ description?: string | undefined;
24
+ tokenSource?: "none" | "runtime" | "credential" | "oauth-browser" | "oauth-device-code" | undefined;
25
+ recommended?: boolean | undefined;
26
+ docsUrl?: string | undefined;
27
+ scopes?: string[] | undefined;
28
+ execution?: {
29
+ credentialCustodies: ("consumer" | "server")[];
30
+ billingOwners: ("user" | "organization" | "platform")[];
31
+ } | undefined;
32
+ }[] | undefined;
33
+ streaming?: boolean | undefined;
34
+ tools?: boolean | undefined;
35
+ vision?: boolean | undefined;
36
+ jsonMode?: boolean | undefined;
37
+ functionCalling?: boolean | undefined;
38
+ contextWindow?: number | undefined;
39
+ maxOutputTokens?: number | undefined;
40
+ } | undefined;
41
+ category?: "cloud" | "local" | "hybrid" | undefined;
42
+ hardware?: ("cloud" | "consumer")[] | undefined;
43
+ icon?: string | undefined;
44
+ branding?: {
45
+ [x: string]: unknown;
46
+ logo?: {
47
+ [x: string]: unknown;
48
+ kind: "wordmark" | "mark" | "lockup" | "badge";
49
+ format: "svg";
50
+ path: string;
51
+ sourceUrl: string;
52
+ sourcePageUrl: string;
53
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
54
+ theme: "any" | "light" | "dark";
55
+ usageNotes?: string | undefined;
56
+ licenseNotes?: string | undefined;
57
+ } | undefined;
58
+ darkLogo?: {
59
+ [x: string]: unknown;
60
+ kind: "wordmark" | "mark" | "lockup" | "badge";
61
+ format: "svg";
62
+ path: string;
63
+ sourceUrl: string;
64
+ sourcePageUrl: string;
65
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
66
+ theme: "any" | "light" | "dark";
67
+ usageNotes?: string | undefined;
68
+ licenseNotes?: string | undefined;
69
+ } | undefined;
70
+ wordmark?: {
71
+ [x: string]: unknown;
72
+ kind: "wordmark" | "mark" | "lockup" | "badge";
73
+ format: "svg";
74
+ path: string;
75
+ sourceUrl: string;
76
+ sourcePageUrl: string;
77
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
78
+ theme: "any" | "light" | "dark";
79
+ usageNotes?: string | undefined;
80
+ licenseNotes?: string | undefined;
81
+ } | undefined;
82
+ darkWordmark?: {
83
+ [x: string]: unknown;
84
+ kind: "wordmark" | "mark" | "lockup" | "badge";
85
+ format: "svg";
86
+ path: string;
87
+ sourceUrl: string;
88
+ sourcePageUrl: string;
89
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
90
+ theme: "any" | "light" | "dark";
91
+ usageNotes?: string | undefined;
92
+ licenseNotes?: string | undefined;
93
+ } | undefined;
94
+ sourcePageUrl?: string | undefined;
95
+ usageNotes?: string | undefined;
96
+ } | undefined;
97
+ docsUrl?: string | undefined;
98
+ tags?: string[] | undefined;
99
+ variants?: {
100
+ id: string;
101
+ label: string;
102
+ transport: string;
103
+ specId: string;
104
+ endpoint: string;
105
+ auth: {
106
+ kind: "none";
107
+ } | {
108
+ kind: "bearer";
109
+ token: string | {
110
+ source: "secret";
111
+ key: string;
112
+ store?: string | undefined;
113
+ };
114
+ scheme?: string | undefined;
115
+ } | {
116
+ kind: "api-key-header";
117
+ header: string;
118
+ value: string | {
119
+ source: "secret";
120
+ key: string;
121
+ store?: string | undefined;
122
+ };
123
+ } | {
124
+ kind: "basic";
125
+ username: string;
126
+ password: string | {
127
+ source: "secret";
128
+ key: string;
129
+ store?: string | undefined;
130
+ };
131
+ } | {
132
+ kind: "cf-binding";
133
+ bindingName: string;
134
+ };
135
+ modelIdRule: {
136
+ kind: "strip-prefix";
137
+ } | {
138
+ kind: "passthrough";
139
+ } | {
140
+ kind: "explicit";
141
+ modelMap: Record<string, string>;
142
+ };
143
+ priority: number;
144
+ enabled: boolean;
145
+ description?: string | undefined;
146
+ modalities?: ("image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation" | "speech" | "ocr")[] | undefined;
147
+ inheritEnv?: string[] | undefined;
148
+ requiredConfiguration?: string[] | undefined;
149
+ authMethodId?: string | undefined;
150
+ execution?: {
151
+ generationLocations: ("consumer" | "server")[];
152
+ headless: boolean;
153
+ } | undefined;
154
+ tags?: string[] | undefined;
155
+ models?: {
156
+ tags?: string[] | undefined;
157
+ } | undefined;
158
+ additionalHeaders?: Record<string, string> | undefined;
159
+ capabilities?: {
160
+ supportsToolChoiceRequired?: boolean | undefined;
161
+ } | undefined;
162
+ }[] | undefined;
163
+ localDiscovery?: {
164
+ defaultRootDir: string;
165
+ modelGlob: string;
166
+ descriptorFilename?: string | undefined;
167
+ } | undefined;
168
+ loadedModels?: {
169
+ path: string;
170
+ listPath: string;
171
+ idField: string;
172
+ loadedField: string;
173
+ loginPath?: string | undefined;
174
+ loginKeyField?: string | undefined;
175
+ } | undefined;
176
+ cloudStorageDiscovery?: {
177
+ requiredCapabilities: string[];
178
+ modelGlob?: string | undefined;
179
+ descriptorFilename?: string | undefined;
180
+ } | undefined;
181
+ };
182
+ export default mistralProviderDescriptor;
183
+ //# sourceMappingURL=provider.mistral.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.mistral.descriptor.d.ts","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/api/mistral/provider.mistral.descriptor.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C7B,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { createAIProviderTypeDescriptor } from '@vibesdotdev/ai/providers-runtime/core/type-descriptor';
2
+ import { mistralConnectionSchema } from "./config/schemas/index.js";
3
+ const mistralProviderDescriptor = createAIProviderTypeDescriptor({
4
+ id: 'mistral',
5
+ version: '0.1.0-rc.0',
6
+ name: 'Mistral AI',
7
+ description: 'Mistral AI platform providing fast and efficient European AI models with strong multilingual support, function calling, and competitive pricing.',
8
+ connectionSchema: mistralConnectionSchema,
9
+ defaults: {
10
+ baseUrl: 'https://api.mistral.ai/v1',
11
+ timeout: 60000
12
+ },
13
+ capabilities: {
14
+ modalities: ['text', 'embedding'],
15
+ authType: 'bearer',
16
+ streaming: true,
17
+ tools: true,
18
+ vision: false,
19
+ jsonMode: true,
20
+ functionCalling: true
21
+ },
22
+ category: 'cloud',
23
+ hardware: ['consumer', 'cloud'],
24
+ icon: '🌪️',
25
+ docsUrl: 'https://docs.mistral.ai',
26
+ priority: 100,
27
+ enabled: true,
28
+ tags: ['cloud', 'european', 'api', 'multilingual', 'code-generation'],
29
+ variants: [
30
+ {
31
+ id: 'chat',
32
+ label: 'Mistral OpenAI-compatible',
33
+ description: 'Text generation via Mistral /v1/chat/completions.',
34
+ transport: 'fetch',
35
+ specId: 'openai-chat',
36
+ endpoint: '{baseUrl}',
37
+ auth: { kind: 'bearer', token: { source: 'secret', key: 'MISTRAL_API_KEY' } },
38
+ modelIdRule: { kind: 'strip-prefix' },
39
+ priority: 10,
40
+ enabled: true
41
+ }
42
+ ]
43
+ });
44
+ export default mistralProviderDescriptor;
45
+ //# sourceMappingURL=provider.mistral.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.mistral.descriptor.js","sourceRoot":"","sources":["../../../../../../src/ai/providers/cloud/api/mistral/provider.mistral.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;IAChE,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,YAAY;IAClB,WAAW,EACV,kJAAkJ;IACnJ,gBAAgB,EAAE,uBAAuB;IACzC,QAAQ,EAAE;QACT,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE,KAAK;KACd;IACD,YAAY,EAAE;QACb,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QACjC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACrB;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAC;IAErE,QAAQ,EAAE;QACT;YACC,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,2BAA2B;YAClC,WAAW,EAAE,mDAAmD;YAChE,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE;YAC7E,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;YACrC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI;SACb;KACD;CACD,CAAC,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { detectMistralSystem } from './system.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/mistral/detection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { detectMistralSystem } from "./system.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/providers/mistral/detection/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { RuntimeRef } from '@vibesdotdev/kernel';
2
+ import type { DetectedProvider } from '@vibesdotdev/ai/providers-runtime/client/types';
3
+ export declare function detectMistralSystem(runtime: RuntimeRef): Promise<DetectedProvider | null>;
4
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../../src/ai/providers/mistral/detection/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAa/F"}
@@ -0,0 +1,16 @@
1
+ export async function detectMistralSystem(runtime) {
2
+ const credential = await runtime.resolveCredential({ source: 'secret', key: 'MISTRAL_API_KEY' });
3
+ if (!credential.ok) {
4
+ if (credential.error.reason === 'credential-not-set')
5
+ return null;
6
+ throw credential.error;
7
+ }
8
+ if (!credential.value.trim())
9
+ return null;
10
+ return {
11
+ providerType: 'mistral', name: 'Mistral AI',
12
+ description: 'Credential reference available from MISTRAL_API_KEY', status: 'available',
13
+ configuration: { apiKey: { source: 'secret', key: 'MISTRAL_API_KEY' }, baseUrl: 'https://api.mistral.ai/v1' }
14
+ };
15
+ }
16
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../../../src/ai/providers/mistral/detection/system.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAmB;IAC5D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACpB,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,UAAU,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO;QACN,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY;QAC3C,WAAW,EAAE,qDAAqD,EAAE,MAAM,EAAE,WAAW;QACvF,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;KAC7G,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { MistralProviderType } from './mistral.provider.impl.ts';
2
+ export { detectMistralSystem } from './detection/system.ts';
3
+ export { MistralRecommendation } from './recommendations.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { MistralProviderType } from "./mistral.provider.impl.js";
2
+ export { detectMistralSystem } from "./detection/system.js";
3
+ export { MistralRecommendation } from "./recommendations.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ProviderOperationOptions, AIProviderTypeContext, AIProviderTypeInterface, ConnectionValidationResult, DetectedProviderInstance, ModelRecommendation, ProviderGenerateOptions, ProviderGenerateResult, ProviderHealthCheckResult } from '@vibesdotdev/ai/interfaces/provider-type';
2
+ import type { GenerationRequest } from '@vibesdotdev/ai/interfaces/adapter';
3
+ import type { AIModelDescriptor, Modality } from '@vibesdotdev/ai/models/schemas';
4
+ import type { AIProviderDescriptor } from '@vibesdotdev/ai/providers-runtime/schemas/provider-descriptor';
5
+ import type { AIProviderTypeDescriptor } from '@vibesdotdev/ai/providers-runtime/schemas/type-descriptor';
6
+ export declare class MistralProviderType implements AIProviderTypeInterface {
7
+ readonly descriptor: AIProviderTypeDescriptor;
8
+ private readonly context;
9
+ constructor(descriptor: AIProviderTypeDescriptor, context: AIProviderTypeContext);
10
+ generate<T extends Modality>(provider: AIProviderDescriptor, model: AIModelDescriptor, request: GenerationRequest<T>, options?: ProviderGenerateOptions): Promise<ProviderGenerateResult<T>>;
11
+ detectInstalled(): Promise<DetectedProviderInstance[]>;
12
+ recommendModels(): Promise<ModelRecommendation[]>;
13
+ private resolveCredential;
14
+ checkHealth(config: Parameters<AIProviderTypeInterface['checkHealth']>[0], options?: ProviderOperationOptions): Promise<ProviderHealthCheckResult>;
15
+ validateConnection(config: Parameters<AIProviderTypeInterface['validateConnection']>[0]): Promise<ConnectionValidationResult>;
16
+ dispose(): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=mistral.provider.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral.provider.impl.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/mistral.provider.impl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AAG1G,qBAAa,mBAAoB,YAAW,uBAAuB;IAEjE,QAAQ,CAAC,UAAU,EAAE,wBAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADf,UAAU,EAAE,wBAAwB,EAC5B,OAAO,EAAE,qBAAqB;IAEhD,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAC1B,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAG/B,eAAe,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAItD,eAAe,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAazC,iBAAiB;IAOzB,WAAW,CAChB,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,OAAO,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IA8B/B,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAK7H,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,76 @@
1
+ import { mistralConnectionSchema } from "../cloud/api/mistral/config/schemas/index.js";
2
+ import { detectMistralSystem } from "./detection/system.js";
3
+ import { resolveCredentialReference } from '@vibesdotdev/ai/providers-runtime/config/credential-resolver';
4
+ import { probeProviderHealth } from '@vibesdotdev/ai/providers-runtime/client';
5
+ import { executeGeneration } from '@vibesdotdev/ai/providers-runtime/utils/provider-type-helpers';
6
+ export class MistralProviderType {
7
+ descriptor;
8
+ context;
9
+ constructor(descriptor, context) {
10
+ this.descriptor = descriptor;
11
+ this.context = context;
12
+ }
13
+ generate(provider, model, request, options) {
14
+ return executeGeneration(this.context, provider, model, request, options);
15
+ }
16
+ async detectInstalled() {
17
+ const detected = await detectMistralSystem(this.context.runtime);
18
+ return detected ? [{ name: detected.name, source: 'system', config: { authMethod: 'api-key', ...detected.configuration } }] : [];
19
+ }
20
+ async recommendModels() {
21
+ return [
22
+ {
23
+ modelId: 'mistral:mistral-large-latest',
24
+ modelName: 'Mistral Large',
25
+ score: 90,
26
+ reason: 'Flagship model with strong multilingual and coding capabilities',
27
+ capabilities: ['chat', 'tools'],
28
+ contextWindow: 131_072,
29
+ useCaseFit: 90
30
+ }
31
+ ];
32
+ }
33
+ async resolveCredential(value, options) {
34
+ if (value.source === 'secret' && options?.resolveCredential)
35
+ return options.resolveCredential(value);
36
+ return resolveCredentialReference('apiKey', value, this.context);
37
+ }
38
+ async checkHealth(config, options) {
39
+ const start = Date.now();
40
+ const connection = mistralConnectionSchema.parse(config);
41
+ const apiKey = await this.resolveCredential(connection.apiKey, options);
42
+ if (!apiKey)
43
+ return {
44
+ healthy: false,
45
+ message: 'Mistral credential is unavailable',
46
+ error: {
47
+ code: 'MISSING_API_KEY',
48
+ message: 'Resolve apiKey through the runtime credential boundary'
49
+ },
50
+ checkedAt: new Date()
51
+ };
52
+ const result = await probeProviderHealth({
53
+ runtime: this.context.runtime,
54
+ url: `${connection.baseUrl.replace(/\/$/, '')}/models`,
55
+ headers: { authorization: `Bearer ${apiKey}` },
56
+ timeoutMs: options?.timeout ?? connection.timeout,
57
+ signal: options?.signal
58
+ });
59
+ return {
60
+ healthy: result.ok,
61
+ latencyMs: Date.now() - start,
62
+ message: result.ok ? 'Mistral API connection successful' : result.message,
63
+ error: result.ok ? undefined : { code: result.code, message: result.message },
64
+ checkedAt: new Date(),
65
+ availableModalities: result.ok ? ['text', 'embedding'] : undefined
66
+ };
67
+ }
68
+ async validateConnection(config) {
69
+ const result = mistralConnectionSchema.safeParse(config);
70
+ if (result.success)
71
+ return { valid: true };
72
+ return { valid: false, errors: result.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`) };
73
+ }
74
+ async dispose() { }
75
+ }
76
+ //# sourceMappingURL=mistral.provider.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mistral.provider.impl.js","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/mistral.provider.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { ProviderRecommendation, type ModelAdapter } from '@vibesdotdev/ai/recommendations/base';
2
+ import type { ModelRecommendation, RecommendationContext, SetupMethod, SetupStep, UseCase } from '@vibesdotdev/ai/recommendations/schemas';
3
+ export declare class MistralRecommendation extends ProviderRecommendation {
4
+ readonly providerType = "mistral";
5
+ readonly displayName = "Mistral AI";
6
+ getUseCaseScore(useCase: UseCase): number;
7
+ getStageScore(stage: RecommendationContext['stage']): number;
8
+ getRequiredEnvironmentVariables(): string[];
9
+ getReason(useCase: UseCase): string;
10
+ getStrengths(): string[];
11
+ getWeaknesses(context: RecommendationContext): string[];
12
+ getSupportedSetupMethods(): SetupMethod[];
13
+ getSetupSteps(method: SetupMethod): Promise<SetupStep[]>;
14
+ recommendModels(_adapter: ModelAdapter | null, context: RecommendationContext): Promise<ModelRecommendation[]>;
15
+ getExecutionContext(): {
16
+ recommendModels: "server";
17
+ getSetupSteps: "both";
18
+ };
19
+ supportsOAuth(): boolean;
20
+ supportsLocal(): boolean;
21
+ requiresGPU(): boolean;
22
+ }
23
+ //# sourceMappingURL=recommendations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAE3I,qBAAa,qBAAsB,SAAQ,sBAAsB;IAChE,QAAQ,CAAC,YAAY,aAAa;IAAC,QAAQ,CAAC,WAAW,gBAAgB;IACvE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IACzC,aAAa,CAAC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,MAAM;IAC5D,+BAA+B,IAAI,MAAM,EAAE;IAC3C,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IACnC,YAAY,IAAI,MAAM,EAAE;IACxB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,EAAE;IACvD,wBAAwB,IAAI,WAAW,EAAE;IACnC,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACxD,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IACpH,mBAAmB;;;;IACnB,aAAa,IAAI,OAAO;IAAmB,aAAa,IAAI,OAAO;IAAmB,WAAW,IAAI,OAAO;CAC5G"}
@@ -0,0 +1,20 @@
1
+ import { ProviderRecommendation } from '@vibesdotdev/ai/recommendations/base';
2
+ export class MistralRecommendation extends ProviderRecommendation {
3
+ providerType = 'mistral';
4
+ displayName = 'Mistral AI';
5
+ getUseCaseScore(useCase) { return ({ chat: 85, development: 80, research: 75, images: 0, video: 0, audio: 0, organization: 70 })[useCase]; }
6
+ getStageScore(stage) { return stage === 'production' ? 15 : 0; }
7
+ getRequiredEnvironmentVariables() { return ['MISTRAL_API_KEY']; }
8
+ getReason(useCase) { return useCase === 'development' ? 'Strong coding performance with competitive pricing' : 'Fast, efficient European models with multilingual support'; }
9
+ getStrengths() { return ['Multilingual support', 'Function calling', 'Competitive pricing', 'JSON mode']; }
10
+ getWeaknesses(context) { return context.requiresLocal ? ['No local inference deployment'] : []; }
11
+ getSupportedSetupMethods() { return ['api_key', 'env_var']; }
12
+ async getSetupSteps(method) { if (method === 'api_key')
13
+ return [{ step: 'Store Mistral API key', description: 'Create and store a Mistral key through the Vibes credential boundary.', action: 'https://console.mistral.ai/' }]; return [{ step: 'Bind environment credential', description: 'Bind MISTRAL_API_KEY through the runtime environment.' }]; }
14
+ async recommendModels(_adapter, context) { return [{ modelId: 'mistral-large-latest', modelName: 'Mistral Large', score: context.useCase === 'development' ? 88 : 85, reason: 'Flagship model with strong multilingual and coding capabilities', contextWindow: 131_072, capabilities: ['chat', 'tools'], isAvailable: true, requiresUpgrade: false, useCaseFit: context.useCase === 'development' ? 88 : 85 }]; }
15
+ getExecutionContext() { return { recommendModels: 'server', getSetupSteps: 'both' }; }
16
+ supportsOAuth() { return false; }
17
+ supportsLocal() { return false; }
18
+ requiresGPU() { return false; }
19
+ }
20
+ //# sourceMappingURL=recommendations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../../../src/ai/providers/mistral/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAqB,MAAM,sCAAsC,CAAC;AAGjG,MAAM,OAAO,qBAAsB,SAAQ,sBAAsB;IACvD,YAAY,GAAG,SAAS,CAAC;IAAU,WAAW,GAAG,YAAY,CAAC;IACvE,eAAe,CAAC,OAAgB,IAAY,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7J,aAAa,CAAC,KAAqC,IAAY,OAAO,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,+BAA+B,KAAe,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,OAAgB,IAAY,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC;IAC9L,YAAY,KAAe,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACrH,aAAa,CAAC,OAA8B,IAAc,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClI,wBAAwB,KAAoB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,aAAa,CAAC,MAAmB,IAA0B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,uEAAuE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7X,KAAK,CAAC,eAAe,CAAC,QAA6B,EAAE,OAA8B,IAAoC,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,iEAAiE,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9d,mBAAmB,KAAK,OAAO,EAAE,eAAe,EAAE,QAAiB,EAAE,aAAa,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC;IACxG,aAAa,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAAC,aAAa,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAAC,WAAW,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;CAC9H"}
@@ -0,0 +1,2 @@
1
+ export * from './ai/index.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./ai/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}