@sowonai/crewx-sdk 0.5.0 → 0.6.0-rc.1

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 (75) hide show
  1. package/dist/adapters/MastraToolAdapter.d.ts +9 -0
  2. package/dist/adapters/MastraToolAdapter.js +66 -0
  3. package/dist/adapters/MastraToolAdapter.js.map +1 -0
  4. package/dist/config/api-provider-parser.d.ts +56 -0
  5. package/dist/config/api-provider-parser.js +214 -0
  6. package/dist/config/api-provider-parser.js.map +1 -0
  7. package/dist/config/index.d.ts +2 -0
  8. package/dist/config/index.js +2 -0
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/core/agent/agent-factory.d.ts +4 -2
  11. package/dist/core/agent/agent-factory.js +11 -0
  12. package/dist/core/agent/agent-factory.js.map +1 -1
  13. package/dist/core/providers/MastraAPIProvider.d.ts +24 -0
  14. package/dist/core/providers/MastraAPIProvider.js +264 -0
  15. package/dist/core/providers/MastraAPIProvider.js.map +1 -0
  16. package/dist/core/providers/ai-provider.interface.d.ts +1 -0
  17. package/dist/core/providers/ai-provider.interface.js.map +1 -1
  18. package/dist/core/providers/provider-factory.js +38 -0
  19. package/dist/core/providers/provider-factory.js.map +1 -1
  20. package/dist/index.d.ts +10 -0
  21. package/dist/index.js +37 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/schemas/api-provider.schema.d.ts +429 -0
  24. package/dist/schemas/api-provider.schema.js +48 -0
  25. package/dist/schemas/api-provider.schema.js.map +1 -0
  26. package/dist/tools/file-system.service.d.ts +10 -0
  27. package/dist/tools/file-system.service.js +33 -0
  28. package/dist/tools/file-system.service.js.map +1 -0
  29. package/dist/tools/find.tool.d.ts +85 -0
  30. package/dist/tools/find.tool.js +140 -0
  31. package/dist/tools/find.tool.js.map +1 -0
  32. package/dist/tools/glob.tool.d.ts +100 -0
  33. package/dist/tools/glob.tool.js +153 -0
  34. package/dist/tools/glob.tool.js.map +1 -0
  35. package/dist/tools/grep.tool.d.ts +54 -0
  36. package/dist/tools/grep.tool.js +137 -0
  37. package/dist/tools/grep.tool.js.map +1 -0
  38. package/dist/tools/index.d.ts +12 -0
  39. package/dist/tools/index.js +40 -0
  40. package/dist/tools/index.js.map +1 -0
  41. package/dist/tools/ls.tool.d.ts +42 -0
  42. package/dist/tools/ls.tool.js +94 -0
  43. package/dist/tools/ls.tool.js.map +1 -0
  44. package/dist/tools/read-file.tool.d.ts +54 -0
  45. package/dist/tools/read-file.tool.js +69 -0
  46. package/dist/tools/read-file.tool.js.map +1 -0
  47. package/dist/tools/replace.tool.d.ts +66 -0
  48. package/dist/tools/replace.tool.js +68 -0
  49. package/dist/tools/replace.tool.js.map +1 -0
  50. package/dist/tools/run-shell-command.tool.d.ts +42 -0
  51. package/dist/tools/run-shell-command.tool.js +64 -0
  52. package/dist/tools/run-shell-command.tool.js.map +1 -0
  53. package/dist/tools/tree.tool.d.ts +42 -0
  54. package/dist/tools/tree.tool.js +109 -0
  55. package/dist/tools/tree.tool.js.map +1 -0
  56. package/dist/tools/types.d.ts +42 -0
  57. package/dist/tools/types.js +13 -0
  58. package/dist/tools/types.js.map +1 -0
  59. package/dist/tools/utils/file-utils.d.ts +5 -0
  60. package/dist/tools/utils/file-utils.js +221 -0
  61. package/dist/tools/utils/file-utils.js.map +1 -0
  62. package/dist/tools/write-file.tool.d.ts +42 -0
  63. package/dist/tools/write-file.tool.js +55 -0
  64. package/dist/tools/write-file.tool.js.map +1 -0
  65. package/dist/types/agent.types.d.ts +2 -2
  66. package/dist/types/api-provider.types.d.ts +80 -0
  67. package/dist/types/api-provider.types.js +53 -0
  68. package/dist/types/api-provider.types.js.map +1 -0
  69. package/dist/types/index.d.ts +1 -0
  70. package/dist/types/index.js +1 -0
  71. package/dist/types/index.js.map +1 -1
  72. package/dist/utils/api-provider-normalizer.d.ts +16 -0
  73. package/dist/utils/api-provider-normalizer.js +135 -0
  74. package/dist/utils/api-provider-normalizer.js.map +1 -0
  75. package/package.json +5 -1
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MastraAPIProvider = void 0;
4
+ const core_1 = require("@mastra/core");
5
+ const openai_1 = require("@ai-sdk/openai");
6
+ const anthropic_1 = require("@ai-sdk/anthropic");
7
+ const google_1 = require("@ai-sdk/google");
8
+ const ai_sdk_provider_1 = require("@openrouter/ai-sdk-provider");
9
+ const MastraToolAdapter_1 = require("../../adapters/MastraToolAdapter");
10
+ const api_provider_normalizer_1 = require("../../utils/api-provider-normalizer");
11
+ class MastraAPIProvider {
12
+ constructor(config, mode = 'query') {
13
+ this.tools = [];
14
+ this.filteredToolSets = {};
15
+ const normalizedConfig = (0, api_provider_normalizer_1.normalizeAPIProviderConfig)(config);
16
+ this.config = normalizedConfig.config;
17
+ this.permissionsByMode = normalizedConfig.permissionsByMode;
18
+ this.defaultMode = mode;
19
+ this.name = this.config.provider;
20
+ }
21
+ createModel(config) {
22
+ const { provider, model, apiKey, url } = config;
23
+ switch (provider) {
24
+ case 'api/openai': {
25
+ if (url && url.includes('openrouter.ai')) {
26
+ console.log('[MastraAPIProvider] Detected OpenRouter, using @openrouter/ai-sdk-provider');
27
+ const openrouter = (0, ai_sdk_provider_1.createOpenRouter)({
28
+ apiKey: apiKey || '',
29
+ });
30
+ return openrouter(model);
31
+ }
32
+ if (apiKey && url) {
33
+ const customOpenAI = (0, openai_1.createOpenAI)({ apiKey, baseURL: url });
34
+ return customOpenAI(model);
35
+ }
36
+ else if (apiKey) {
37
+ const customOpenAI = (0, openai_1.createOpenAI)({ apiKey });
38
+ return customOpenAI(model);
39
+ }
40
+ return (0, openai_1.openai)(model);
41
+ }
42
+ case 'api/litellm':
43
+ case 'api/ollama':
44
+ case 'api/sowonai': {
45
+ let defaultURL = 'http://localhost:4000';
46
+ let defaultKey = 'dummy';
47
+ if (provider === 'api/ollama') {
48
+ defaultURL = 'http://localhost:11434/v1';
49
+ defaultKey = 'ollama';
50
+ }
51
+ else if (provider === 'api/sowonai') {
52
+ defaultURL = 'https://api.sowon.ai/v1';
53
+ }
54
+ const customOpenAI = (0, openai_1.createOpenAI)({
55
+ apiKey: apiKey || defaultKey,
56
+ baseURL: url || defaultURL,
57
+ });
58
+ return customOpenAI.chat(model);
59
+ }
60
+ case 'api/anthropic': {
61
+ if (apiKey && url) {
62
+ const customAnthropic = (0, anthropic_1.createAnthropic)({ apiKey, baseURL: url });
63
+ return customAnthropic(model);
64
+ }
65
+ else if (apiKey) {
66
+ const customAnthropic = (0, anthropic_1.createAnthropic)({ apiKey });
67
+ return customAnthropic(model);
68
+ }
69
+ return (0, anthropic_1.anthropic)(model);
70
+ }
71
+ case 'api/bedrock': {
72
+ const customAnthropic = (0, anthropic_1.createAnthropic)({
73
+ apiKey: apiKey || '',
74
+ baseURL: url || 'https://bedrock-runtime.us-east-1.amazonaws.com',
75
+ });
76
+ return customAnthropic(model);
77
+ }
78
+ case 'api/google': {
79
+ if (apiKey) {
80
+ const customGoogle = (0, google_1.createGoogleGenerativeAI)({ apiKey });
81
+ return customGoogle(model);
82
+ }
83
+ return (0, google_1.google)(model);
84
+ }
85
+ default:
86
+ throw new Error(`Unsupported provider: ${provider}`);
87
+ }
88
+ }
89
+ setTools(tools, context) {
90
+ this.tools = tools;
91
+ this.toolContext = this.applyDefaultModeToContext(context);
92
+ this.filteredToolSets = this.buildModeAwareToolSets(tools);
93
+ }
94
+ applyDefaultModeToContext(context) {
95
+ if (!context) {
96
+ return undefined;
97
+ }
98
+ if (context.mode) {
99
+ return context;
100
+ }
101
+ return { ...context, mode: this.defaultMode };
102
+ }
103
+ buildModeAwareToolSets(tools) {
104
+ const lookup = new Map();
105
+ for (const tool of tools) {
106
+ const identifier = this.getToolIdentifier(tool);
107
+ if (identifier) {
108
+ lookup.set(identifier, tool);
109
+ }
110
+ else {
111
+ console.warn('[MastraAPIProvider] Ignoring tool without name/id during registration');
112
+ }
113
+ }
114
+ const filtered = {};
115
+ for (const [mode, permissions] of Object.entries(this.permissionsByMode)) {
116
+ if (!permissions.tools.length) {
117
+ filtered[mode] = [];
118
+ continue;
119
+ }
120
+ filtered[mode] = permissions.tools
121
+ .map((toolName) => {
122
+ if (!lookup.has(toolName)) {
123
+ console.warn(`[MastraAPIProvider] Tool '${toolName}' referenced in ${mode} mode but not registered`);
124
+ }
125
+ return lookup.get(toolName);
126
+ })
127
+ .filter(Boolean);
128
+ }
129
+ return filtered;
130
+ }
131
+ getToolIdentifier(tool) {
132
+ if (tool && typeof tool.id === 'string') {
133
+ return tool.id;
134
+ }
135
+ if (tool && typeof tool.name === 'string') {
136
+ return tool.name;
137
+ }
138
+ return undefined;
139
+ }
140
+ createMastraToolsForMode(mode) {
141
+ if (!this.toolContext) {
142
+ return {};
143
+ }
144
+ const registeredTools = this.filteredToolSets[mode] ?? [];
145
+ if (registeredTools.length === 0) {
146
+ return {};
147
+ }
148
+ const contextWithMode = { ...this.toolContext, mode };
149
+ return MastraToolAdapter_1.MastraToolAdapter.convertTools(registeredTools, contextWithMode);
150
+ }
151
+ async query(prompt, options = {}) {
152
+ return this.runWithMode('query', prompt, options);
153
+ }
154
+ async execute(prompt, options = {}) {
155
+ return this.runWithMode('execute', prompt, options);
156
+ }
157
+ async runWithMode(mode, prompt, options) {
158
+ const taskId = options.taskId || `${this.name}_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
159
+ try {
160
+ const mastraTools = this.createMastraToolsForMode(mode);
161
+ const toolCount = Object.keys(mastraTools).length;
162
+ if (toolCount > 0) {
163
+ console.log(`[INFO] Registered ${toolCount} tools for ${mode} mode: ${Object.keys(mastraTools).join(', ')}`);
164
+ }
165
+ else {
166
+ console.log(`[INFO] No tools registered for ${mode} mode`);
167
+ }
168
+ const configToUse = options.model
169
+ ? { ...this.config, model: options.model }
170
+ : this.config;
171
+ console.log(`[INFO] Using model: ${configToUse.model}`);
172
+ const modelInstance = this.createModel(configToUse);
173
+ const agent = new core_1.Agent({
174
+ name: this.config.provider,
175
+ model: modelInstance,
176
+ instructions: prompt,
177
+ tools: mastraTools,
178
+ });
179
+ const generateOptions = Object.keys(mastraTools).length > 0
180
+ ? { toolChoice: 'required' }
181
+ : {};
182
+ console.log(`[INFO] Sending request to AI model...`);
183
+ const fullOutput = await agent.generate(prompt, generateOptions);
184
+ console.log(`[INFO] Received response from AI model`);
185
+ return this.convertResponse(fullOutput, taskId);
186
+ }
187
+ catch (error) {
188
+ return {
189
+ content: '',
190
+ provider: this.name,
191
+ command: `${this.name} ${mode}`,
192
+ success: false,
193
+ error: error.message || 'Unknown error',
194
+ taskId,
195
+ };
196
+ }
197
+ }
198
+ convertResponse(fullOutput, taskId) {
199
+ let content = fullOutput.text || '';
200
+ const response = {
201
+ content,
202
+ provider: this.name,
203
+ command: `${this.name} (Mastra)`,
204
+ success: true,
205
+ taskId,
206
+ model: this.config.model,
207
+ };
208
+ if (fullOutput.toolCalls && fullOutput.toolCalls.length > 0) {
209
+ const firstToolCall = fullOutput.toolCalls[0];
210
+ const toolName = firstToolCall.payload?.toolName || firstToolCall.toolName;
211
+ const toolArgs = firstToolCall.payload?.args || firstToolCall.args;
212
+ console.log(`[INFO] Tool called: ${toolName}`);
213
+ console.log(`[INFO] Tool arguments: ${JSON.stringify(toolArgs)}`);
214
+ const firstResult = fullOutput.toolResults?.[0];
215
+ const toolResultValue = firstResult?.payload?.result || firstResult?.result;
216
+ if (toolResultValue) {
217
+ const resultPreview = typeof toolResultValue === 'string'
218
+ ? toolResultValue.substring(0, 200)
219
+ : JSON.stringify(toolResultValue).substring(0, 200);
220
+ console.log(`[INFO] Tool result preview: ${resultPreview}${(typeof toolResultValue === 'string' ? toolResultValue.length : JSON.stringify(toolResultValue).length) > 200 ? '...' : ''}`);
221
+ }
222
+ response.toolCall = {
223
+ toolName,
224
+ toolInput: toolArgs,
225
+ toolResult: toolResultValue,
226
+ };
227
+ if (!content && toolResultValue) {
228
+ content = `Tool '${toolName}' executed successfully:\n\n${toolResultValue}`;
229
+ response.content = content;
230
+ }
231
+ }
232
+ return response;
233
+ }
234
+ async isAvailable() {
235
+ const { provider, apiKey } = this.config;
236
+ if (provider === 'api/ollama') {
237
+ return true;
238
+ }
239
+ if (apiKey) {
240
+ return true;
241
+ }
242
+ switch (provider) {
243
+ case 'api/openai':
244
+ return !!process.env.OPENAI_API_KEY;
245
+ case 'api/anthropic':
246
+ return !!process.env.ANTHROPIC_API_KEY;
247
+ case 'api/google':
248
+ return !!process.env.GOOGLE_API_KEY;
249
+ case 'api/bedrock':
250
+ return !!process.env.AWS_ACCESS_KEY_ID;
251
+ case 'api/litellm':
252
+ return !!process.env.LITELLM_API_KEY;
253
+ case 'api/sowonai':
254
+ return !!process.env.SOWONAI_API_KEY;
255
+ default:
256
+ return false;
257
+ }
258
+ }
259
+ async getToolPath() {
260
+ return null;
261
+ }
262
+ }
263
+ exports.MastraAPIProvider = MastraAPIProvider;
264
+ //# sourceMappingURL=MastraAPIProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MastraAPIProvider.js","sourceRoot":"","sources":["../../../src/core/providers/MastraAPIProvider.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export interface AIResponse {
33
33
  success: boolean;
34
34
  error?: string;
35
35
  taskId?: string;
36
+ model?: string;
36
37
  toolCall?: {
37
38
  toolName: string;
38
39
  toolInput: any;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAoCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
1
+ {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAqCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
@@ -6,14 +6,52 @@ const claude_provider_1 = require("./claude.provider");
6
6
  const gemini_provider_1 = require("./gemini.provider");
7
7
  const copilot_provider_1 = require("./copilot.provider");
8
8
  const codex_provider_1 = require("./codex.provider");
9
+ const MastraAPIProvider_1 = require("./MastraAPIProvider");
9
10
  const BUILTIN_PROVIDER_MAP = {
10
11
  [ai_provider_interface_1.BuiltInProviders.CLAUDE]: () => new claude_provider_1.ClaudeProvider(),
11
12
  [ai_provider_interface_1.BuiltInProviders.GEMINI]: () => new gemini_provider_1.GeminiProvider(),
12
13
  [ai_provider_interface_1.BuiltInProviders.COPILOT]: () => new copilot_provider_1.CopilotProvider(),
13
14
  [ai_provider_interface_1.BuiltInProviders.CODEX]: () => new codex_provider_1.CodexProvider(),
14
15
  };
16
+ function validateAPIProviderConfig(config) {
17
+ const providerType = `${config.namespace}/${config.id}`;
18
+ const validProviders = [
19
+ 'api/openai',
20
+ 'api/anthropic',
21
+ 'api/google',
22
+ 'api/bedrock',
23
+ 'api/litellm',
24
+ 'api/ollama',
25
+ 'api/sowonai',
26
+ ];
27
+ if (!validProviders.includes(providerType)) {
28
+ throw new Error(`Invalid API provider type '${providerType}'. ` +
29
+ `Valid providers: ${validProviders.join(', ')}`);
30
+ }
31
+ if (!config.model) {
32
+ throw new Error(`Model is required for API provider '${providerType}'. ` +
33
+ `Please specify 'model' in provider configuration.`);
34
+ }
35
+ }
36
+ function createAPIProvider(config) {
37
+ validateAPIProviderConfig(config);
38
+ const apiConfig = {
39
+ provider: `${config.namespace}/${config.id}`,
40
+ model: config.model,
41
+ apiKey: config.apiKey,
42
+ url: config.url,
43
+ temperature: config.temperature,
44
+ maxTokens: config.maxTokens,
45
+ tools: config.tools,
46
+ mcp: config.mcp,
47
+ };
48
+ return new MastraAPIProvider_1.MastraAPIProvider(apiConfig);
49
+ }
15
50
  async function createProviderFromConfig(config) {
16
51
  const key = `${config.namespace}/${config.id}`.toLowerCase();
52
+ if (config.namespace === 'api') {
53
+ return createAPIProvider(config);
54
+ }
17
55
  const factory = BUILTIN_PROVIDER_MAP[key];
18
56
  if (factory) {
19
57
  return factory();
@@ -1 +1 @@
1
- {"version":3,"file":"provider-factory.js","sourceRoot":"","sources":["../../../src/core/providers/provider-factory.ts"],"names":[],"mappings":";;AAoBA,4DAkBC;AAtCD,mEAA4E;AAC5E,uDAAmD;AACnD,uDAAmD;AACnD,yDAAqD;AACrD,qDAAiD;AAGjD,MAAM,oBAAoB,GAAqC;IAC7D,CAAC,wCAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,gCAAc,EAAE;IACrD,CAAC,wCAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,gCAAc,EAAE;IACrD,CAAC,wCAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,kCAAe,EAAE;IACvD,CAAC,wCAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,8BAAa,EAAE;CACpD,CAAC;AAQK,KAAK,UAAU,wBAAwB,CAAC,MAAsB;IACnE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,0BAA0B;YAChD,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,2BAA2B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"provider-factory.js","sourceRoot":"","sources":["../../../src/core/providers/provider-factory.ts"],"names":[],"mappings":";;AA4EA,4DAwBC;AApGD,mEAA4E;AAC5E,uDAAmD;AACnD,uDAAmD;AACnD,yDAAqD;AACrD,qDAAiD;AACjD,2DAAwD;AAIxD,MAAM,oBAAoB,GAAqC;IAC7D,CAAC,wCAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,gCAAc,EAAE;IACrD,CAAC,wCAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,gCAAc,EAAE;IACrD,CAAC,wCAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,kCAAe,EAAE;IACvD,CAAC,wCAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,8BAAa,EAAE;CACpD,CAAC;AAKF,SAAS,yBAAyB,CAAC,MAAsB;IACvD,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,EAAqB,CAAC;IAG3E,MAAM,cAAc,GAAsB;QACxC,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,aAAa;QACb,aAAa;QACb,YAAY;QACZ,aAAa;KACd,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,8BAA8B,YAAY,KAAK;YAC/C,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChD,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,uCAAuC,YAAY,KAAK;YACxD,mDAAmD,CACpD,CAAC;IACJ,CAAC;AACH,CAAC;AAKD,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,SAAS,GAAsB;QACnC,QAAQ,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,EAAqB;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAG,MAAc,CAAC,GAAG;QACxB,WAAW,EAAG,MAAc,CAAC,WAAW;QACxC,SAAS,EAAG,MAAc,CAAC,SAAS;QACpC,KAAK,EAAG,MAAc,CAAC,KAAK;QAC5B,GAAG,EAAG,MAAc,CAAC,GAAG;KACzB,CAAC;IAEF,OAAO,IAAI,qCAAiB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AASM,KAAK,UAAU,wBAAwB,CAAC,MAAsB;IACnE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAG7D,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAGD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,0BAA0B;YAChD,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,2BAA2B,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClG,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,18 +1,28 @@
1
1
  export { SERVER_NAME, PREFIX_TOOL_NAME, DEFAULT_MAX_FILE_SIZE, DEFAULT_MAX_FILES, } from './constants';
2
2
  export type { TimeoutConfig } from './config/timeout.config';
3
3
  export { getTimeoutConfig, getDefaultTimeoutConfig } from './config/timeout.config';
4
+ export { parseAPIProviderConfig, parseMCPServers, parseCrewXConfig, validateAPIProviderConfig, substituteEnvVars, APIProviderParseError, type RawAgentConfig, type RawYAMLConfig, type RawMCPServerConfig, } from './config/api-provider-parser';
4
5
  export type { BaseMessage, ConversationMessage, ConversationThread, FetchHistoryOptions, IConversationHistoryProvider, } from './conversation/conversation-history.interface';
5
6
  export type { ConversationConfig } from './conversation/conversation-config';
6
7
  export { DEFAULT_CONVERSATION_CONFIG, getConversationConfig, } from './conversation/conversation-config';
7
8
  export { DocumentManager } from './knowledge/DocumentManager';
9
+ export { readFileTool, writeFileTool, replaceTool, lsTool, grepTool, runShellCommandTool, treeTool, findTool, globTool, } from './tools';
10
+ export type { FileSystemService, ProcessedFileReadResult, ToolErrorType, } from './tools';
8
11
  export { ProviderNamespace, BuiltInProviders, ProviderNotAvailableError, } from './core/providers/ai-provider.interface';
9
12
  export type { ProviderNamespaceType, AIProvider, AIQueryOptions, AIResponse, } from './core/providers/ai-provider.interface';
10
13
  export { BaseAIProvider } from './core/providers/base-ai.provider';
14
+ export { MastraAPIProvider } from './core/providers/MastraAPIProvider';
15
+ export { MastraToolAdapter } from './adapters/MastraToolAdapter';
11
16
  export { ClaudeProvider, GeminiProvider, CopilotProvider, CodexProvider, BaseDynamicProviderFactory, MockProvider, createProviderFromConfig, } from './core/providers';
12
17
  export type { BaseAIProviderOptions, LoggerLike, AIProviderConfig, } from './core/providers/base-ai.types';
13
18
  export type { PluginProviderConfig, RemoteProviderConfig, DynamicProviderConfig, DynamicProviderFactoryOptions, } from './core/providers/dynamic-provider.factory';
14
19
  export type { ProviderConfig, ProviderInput, ProviderResolutionResult, } from './types/provider.types';
20
+ export type { APIProviderConfig, APIProviderType, ProviderExecutionMode, ProviderModeOptions, ProviderOptions, LegacyProviderPermissionConfig, CrewXInstance, FrameworkToolDefinition, MCPServerConfig, ToolExecutionContext as APIToolExecutionContext, } from './types/api-provider.types';
21
+ export { isLegacyProviderPermissionConfig, isProviderModeOptions, isProviderOptions, convertLegacyPermissionsToProviderOptions, } from './types/api-provider.types';
22
+ export { APIProviderConfigSchema, MCPServerConfigSchema, APIProviderConfigJsonSchema, } from './schemas/api-provider.schema';
15
23
  export type { Tool, ToolExecutionContext, ToolExecutionResult, ToolCallHandler, } from './core/providers/tool-call.types';
24
+ export { normalizeAPIProviderConfig, getModePermissions, isAPIProviderConfig, assertAPIProviderConfig, } from './utils/api-provider-normalizer';
25
+ export type { NormalizedAPIProviderConfigResult, ModePermissionBuckets, } from './utils/api-provider-normalizer';
16
26
  export type { AgentAction, AgentConfig, AgentsConfig, AgentInfo, AgentQueryOptions, AgentResponse, RemoteAgentConfigInput, RemoteAgentInfo, } from './types/agent.types';
17
27
  export { ExecutionMode, SecurityLevel } from './types/agent.types';
18
28
  export { getErrorMessage, getErrorStack, isError } from './utils/error-utils';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SkillNotFoundError = exports.SkillLoadError = exports.PropsValidationError = exports.LayoutRenderer = exports.LayoutLoader = exports.PropsValidator = exports.runExecutesParallel = exports.runQueriesParallel = exports.createDefaultParallelRunner = exports.ParallelRunnerTimeoutError = exports.ParallelRunner = exports.MockRemoteTransport = exports.FetchRemoteTransport = exports.RemoteAgentManager = exports.resolveProvider = exports.loadAgentConfigFromFile = exports.loadAgentConfigFromYaml = exports.createCrewxAgent = exports.createStructuredPayload = exports.parseStructuredPayload = exports.isStructuredPayload = exports.DefaultMessageFormatter = exports.BaseMessageFormatter = exports.loadAvailableAgents = exports.MentionParser = exports.isError = exports.getErrorStack = exports.getErrorMessage = exports.SecurityLevel = exports.ExecutionMode = exports.createProviderFromConfig = exports.MockProvider = exports.BaseDynamicProviderFactory = exports.CodexProvider = exports.CopilotProvider = exports.GeminiProvider = exports.ClaudeProvider = exports.BaseAIProvider = exports.ProviderNotAvailableError = exports.BuiltInProviders = exports.ProviderNamespace = exports.DocumentManager = exports.getConversationConfig = exports.DEFAULT_CONVERSATION_CONFIG = exports.getDefaultTimeoutConfig = exports.getTimeoutConfig = exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = exports.PREFIX_TOOL_NAME = exports.SERVER_NAME = void 0;
4
- exports.MockRuntimeValidator = exports.SystemRuntimeValidator = exports.ClaudeSkillAdapter = exports.ProgressiveSkillLoader = exports.clearSkillCache = exports.loadSkillContent = exports.validateSkillMetadata = exports.parseSkillManifestFromFile = exports.parseSkillManifest = exports.parseCrewxConfigFromFile = exports.parseCrewxConfig = exports.SkillVersionMismatchError = exports.SkillDependencyError = void 0;
3
+ exports.SecurityLevel = exports.ExecutionMode = exports.assertAPIProviderConfig = exports.isAPIProviderConfig = exports.getModePermissions = exports.normalizeAPIProviderConfig = exports.APIProviderConfigJsonSchema = exports.MCPServerConfigSchema = exports.APIProviderConfigSchema = exports.convertLegacyPermissionsToProviderOptions = exports.isProviderOptions = exports.isProviderModeOptions = exports.isLegacyProviderPermissionConfig = exports.createProviderFromConfig = exports.MockProvider = exports.BaseDynamicProviderFactory = exports.CodexProvider = exports.CopilotProvider = exports.GeminiProvider = exports.ClaudeProvider = exports.MastraToolAdapter = exports.MastraAPIProvider = exports.BaseAIProvider = exports.ProviderNotAvailableError = exports.BuiltInProviders = exports.ProviderNamespace = exports.globTool = exports.findTool = exports.treeTool = exports.runShellCommandTool = exports.grepTool = exports.lsTool = exports.replaceTool = exports.writeFileTool = exports.readFileTool = exports.DocumentManager = exports.getConversationConfig = exports.DEFAULT_CONVERSATION_CONFIG = exports.APIProviderParseError = exports.substituteEnvVars = exports.validateAPIProviderConfig = exports.parseCrewXConfig = exports.parseMCPServers = exports.parseAPIProviderConfig = exports.getDefaultTimeoutConfig = exports.getTimeoutConfig = exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = exports.PREFIX_TOOL_NAME = exports.SERVER_NAME = void 0;
4
+ exports.MockRuntimeValidator = exports.SystemRuntimeValidator = exports.ClaudeSkillAdapter = exports.ProgressiveSkillLoader = exports.clearSkillCache = exports.loadSkillContent = exports.validateSkillMetadata = exports.parseSkillManifestFromFile = exports.parseSkillManifest = exports.parseCrewxConfigFromFile = exports.parseCrewxConfig = exports.SkillVersionMismatchError = exports.SkillDependencyError = exports.SkillNotFoundError = exports.SkillLoadError = exports.PropsValidationError = exports.LayoutRenderer = exports.LayoutLoader = exports.PropsValidator = exports.runExecutesParallel = exports.runQueriesParallel = exports.createDefaultParallelRunner = exports.ParallelRunnerTimeoutError = exports.ParallelRunner = exports.MockRemoteTransport = exports.FetchRemoteTransport = exports.RemoteAgentManager = exports.resolveProvider = exports.loadAgentConfigFromFile = exports.loadAgentConfigFromYaml = exports.createCrewxAgent = exports.createStructuredPayload = exports.parseStructuredPayload = exports.isStructuredPayload = exports.DefaultMessageFormatter = exports.BaseMessageFormatter = exports.loadAvailableAgents = exports.MentionParser = exports.isError = exports.getErrorStack = exports.getErrorMessage = void 0;
5
5
  var constants_1 = require("./constants");
6
6
  Object.defineProperty(exports, "SERVER_NAME", { enumerable: true, get: function () { return constants_1.SERVER_NAME; } });
7
7
  Object.defineProperty(exports, "PREFIX_TOOL_NAME", { enumerable: true, get: function () { return constants_1.PREFIX_TOOL_NAME; } });
@@ -10,17 +10,38 @@ Object.defineProperty(exports, "DEFAULT_MAX_FILES", { enumerable: true, get: fun
10
10
  var timeout_config_1 = require("./config/timeout.config");
11
11
  Object.defineProperty(exports, "getTimeoutConfig", { enumerable: true, get: function () { return timeout_config_1.getTimeoutConfig; } });
12
12
  Object.defineProperty(exports, "getDefaultTimeoutConfig", { enumerable: true, get: function () { return timeout_config_1.getDefaultTimeoutConfig; } });
13
+ var api_provider_parser_1 = require("./config/api-provider-parser");
14
+ Object.defineProperty(exports, "parseAPIProviderConfig", { enumerable: true, get: function () { return api_provider_parser_1.parseAPIProviderConfig; } });
15
+ Object.defineProperty(exports, "parseMCPServers", { enumerable: true, get: function () { return api_provider_parser_1.parseMCPServers; } });
16
+ Object.defineProperty(exports, "parseCrewXConfig", { enumerable: true, get: function () { return api_provider_parser_1.parseCrewXConfig; } });
17
+ Object.defineProperty(exports, "validateAPIProviderConfig", { enumerable: true, get: function () { return api_provider_parser_1.validateAPIProviderConfig; } });
18
+ Object.defineProperty(exports, "substituteEnvVars", { enumerable: true, get: function () { return api_provider_parser_1.substituteEnvVars; } });
19
+ Object.defineProperty(exports, "APIProviderParseError", { enumerable: true, get: function () { return api_provider_parser_1.APIProviderParseError; } });
13
20
  var conversation_config_1 = require("./conversation/conversation-config");
14
21
  Object.defineProperty(exports, "DEFAULT_CONVERSATION_CONFIG", { enumerable: true, get: function () { return conversation_config_1.DEFAULT_CONVERSATION_CONFIG; } });
15
22
  Object.defineProperty(exports, "getConversationConfig", { enumerable: true, get: function () { return conversation_config_1.getConversationConfig; } });
16
23
  var DocumentManager_1 = require("./knowledge/DocumentManager");
17
24
  Object.defineProperty(exports, "DocumentManager", { enumerable: true, get: function () { return DocumentManager_1.DocumentManager; } });
25
+ var tools_1 = require("./tools");
26
+ Object.defineProperty(exports, "readFileTool", { enumerable: true, get: function () { return tools_1.readFileTool; } });
27
+ Object.defineProperty(exports, "writeFileTool", { enumerable: true, get: function () { return tools_1.writeFileTool; } });
28
+ Object.defineProperty(exports, "replaceTool", { enumerable: true, get: function () { return tools_1.replaceTool; } });
29
+ Object.defineProperty(exports, "lsTool", { enumerable: true, get: function () { return tools_1.lsTool; } });
30
+ Object.defineProperty(exports, "grepTool", { enumerable: true, get: function () { return tools_1.grepTool; } });
31
+ Object.defineProperty(exports, "runShellCommandTool", { enumerable: true, get: function () { return tools_1.runShellCommandTool; } });
32
+ Object.defineProperty(exports, "treeTool", { enumerable: true, get: function () { return tools_1.treeTool; } });
33
+ Object.defineProperty(exports, "findTool", { enumerable: true, get: function () { return tools_1.findTool; } });
34
+ Object.defineProperty(exports, "globTool", { enumerable: true, get: function () { return tools_1.globTool; } });
18
35
  var ai_provider_interface_1 = require("./core/providers/ai-provider.interface");
19
36
  Object.defineProperty(exports, "ProviderNamespace", { enumerable: true, get: function () { return ai_provider_interface_1.ProviderNamespace; } });
20
37
  Object.defineProperty(exports, "BuiltInProviders", { enumerable: true, get: function () { return ai_provider_interface_1.BuiltInProviders; } });
21
38
  Object.defineProperty(exports, "ProviderNotAvailableError", { enumerable: true, get: function () { return ai_provider_interface_1.ProviderNotAvailableError; } });
22
39
  var base_ai_provider_1 = require("./core/providers/base-ai.provider");
23
40
  Object.defineProperty(exports, "BaseAIProvider", { enumerable: true, get: function () { return base_ai_provider_1.BaseAIProvider; } });
41
+ var MastraAPIProvider_1 = require("./core/providers/MastraAPIProvider");
42
+ Object.defineProperty(exports, "MastraAPIProvider", { enumerable: true, get: function () { return MastraAPIProvider_1.MastraAPIProvider; } });
43
+ var MastraToolAdapter_1 = require("./adapters/MastraToolAdapter");
44
+ Object.defineProperty(exports, "MastraToolAdapter", { enumerable: true, get: function () { return MastraToolAdapter_1.MastraToolAdapter; } });
24
45
  var providers_1 = require("./core/providers");
25
46
  Object.defineProperty(exports, "ClaudeProvider", { enumerable: true, get: function () { return providers_1.ClaudeProvider; } });
26
47
  Object.defineProperty(exports, "GeminiProvider", { enumerable: true, get: function () { return providers_1.GeminiProvider; } });
@@ -29,6 +50,20 @@ Object.defineProperty(exports, "CodexProvider", { enumerable: true, get: functio
29
50
  Object.defineProperty(exports, "BaseDynamicProviderFactory", { enumerable: true, get: function () { return providers_1.BaseDynamicProviderFactory; } });
30
51
  Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return providers_1.MockProvider; } });
31
52
  Object.defineProperty(exports, "createProviderFromConfig", { enumerable: true, get: function () { return providers_1.createProviderFromConfig; } });
53
+ var api_provider_types_1 = require("./types/api-provider.types");
54
+ Object.defineProperty(exports, "isLegacyProviderPermissionConfig", { enumerable: true, get: function () { return api_provider_types_1.isLegacyProviderPermissionConfig; } });
55
+ Object.defineProperty(exports, "isProviderModeOptions", { enumerable: true, get: function () { return api_provider_types_1.isProviderModeOptions; } });
56
+ Object.defineProperty(exports, "isProviderOptions", { enumerable: true, get: function () { return api_provider_types_1.isProviderOptions; } });
57
+ Object.defineProperty(exports, "convertLegacyPermissionsToProviderOptions", { enumerable: true, get: function () { return api_provider_types_1.convertLegacyPermissionsToProviderOptions; } });
58
+ var api_provider_schema_1 = require("./schemas/api-provider.schema");
59
+ Object.defineProperty(exports, "APIProviderConfigSchema", { enumerable: true, get: function () { return api_provider_schema_1.APIProviderConfigSchema; } });
60
+ Object.defineProperty(exports, "MCPServerConfigSchema", { enumerable: true, get: function () { return api_provider_schema_1.MCPServerConfigSchema; } });
61
+ Object.defineProperty(exports, "APIProviderConfigJsonSchema", { enumerable: true, get: function () { return api_provider_schema_1.APIProviderConfigJsonSchema; } });
62
+ var api_provider_normalizer_1 = require("./utils/api-provider-normalizer");
63
+ Object.defineProperty(exports, "normalizeAPIProviderConfig", { enumerable: true, get: function () { return api_provider_normalizer_1.normalizeAPIProviderConfig; } });
64
+ Object.defineProperty(exports, "getModePermissions", { enumerable: true, get: function () { return api_provider_normalizer_1.getModePermissions; } });
65
+ Object.defineProperty(exports, "isAPIProviderConfig", { enumerable: true, get: function () { return api_provider_normalizer_1.isAPIProviderConfig; } });
66
+ Object.defineProperty(exports, "assertAPIProviderConfig", { enumerable: true, get: function () { return api_provider_normalizer_1.assertAPIProviderConfig; } });
32
67
  var agent_types_1 = require("./types/agent.types");
33
68
  Object.defineProperty(exports, "ExecutionMode", { enumerable: true, get: function () { return agent_types_1.ExecutionMode; } });
34
69
  Object.defineProperty(exports, "SecurityLevel", { enumerable: true, get: function () { return agent_types_1.SecurityLevel; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAMA,yCAKqB;AAJnB,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA;AAKnB,0DAAoF;AAA3E,kHAAA,gBAAgB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAWlD,0EAG4C;AAF1C,kIAAA,2BAA2B,OAAA;AAC3B,4HAAA,qBAAqB,OAAA;AAIvB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAGxB,gFAIgD;AAH9C,0HAAA,iBAAiB,OAAA;AACjB,yHAAA,gBAAgB,OAAA;AAChB,kIAAA,yBAAyB,OAAA;AAQ3B,sEAAmE;AAA1D,kHAAA,cAAc,OAAA;AACvB,8CAQ0B;AAPxB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,uHAAA,0BAA0B,OAAA;AAC1B,yGAAA,YAAY,OAAA;AACZ,qHAAA,wBAAwB,OAAA;AAoC1B,mDAAmE;AAA1D,4GAAA,aAAa,OAAA;AAAE,4GAAA,aAAa,OAAA;AAGrC,mDAA8E;AAArE,8GAAA,eAAe,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,sGAAA,OAAO,OAAA;AAChD,yDAKgC;AAJ9B,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAIrB,yEAKwC;AAJtC,8HAAA,oBAAoB,OAAA;AACpB,iIAAA,uBAAuB,OAAA;AAYzB,6EAI0C;AAHxC,+HAAA,mBAAmB,OAAA;AACnB,kIAAA,sBAAsB,OAAA;AACtB,mIAAA,uBAAuB,OAAA;AAIzB,sCAUsB;AATpB,yGAAA,gBAAgB,OAAA;AAChB,gHAAA,uBAAuB,OAAA;AACvB,gHAAA,uBAAuB,OAAA;AACvB,wGAAA,eAAe,OAAA;AAiBjB,wCAKuB;AAJrB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AAiBrB,4CAMyB;AALvB,0GAAA,cAAc,OAAA;AACd,sHAAA,0BAA0B,OAAA;AAC1B,uHAAA,2BAA2B,OAAA;AAC3B,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AAerB,8EAG4C;AAF1C,yHAAA,cAAc,OAAA;AAUhB,0EAAgE;AAAvD,qHAAA,YAAY,OAAA;AACrB,8EAI4C;AAH1C,yHAAA,cAAc,OAAA;AACd,+HAAA,oBAAoB,OAAA;AAiCtB,sDAK+B;AAJ7B,8GAAA,cAAc,OAAA;AACd,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,yHAAA,yBAAyB,OAAA;AAI3B,wDAQgC;AAP9B,iHAAA,gBAAgB,OAAA;AAChB,yHAAA,wBAAwB,OAAA;AACxB,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,sHAAA,qBAAqB,OAAA;AACrB,iHAAA,gBAAgB,OAAA;AAChB,gHAAA,eAAe,OAAA;AAIjB,mCAKkB;AAJhB,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,8GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}