@theia/ai-vercel-ai 1.67.0-next.3 → 1.67.0-next.56
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.
- package/README.md +1 -0
- package/package.json +6 -6
- package/lib/browser/vercel-ai-frontend-application-contribution.d.ts +0 -25
- package/lib/browser/vercel-ai-frontend-application-contribution.d.ts.map +0 -1
- package/lib/browser/vercel-ai-frontend-application-contribution.js +0 -191
- package/lib/browser/vercel-ai-frontend-application-contribution.js.map +0 -1
- package/lib/browser/vercel-ai-frontend-module.d.ts +0 -4
- package/lib/browser/vercel-ai-frontend-module.d.ts.map +0 -1
- package/lib/browser/vercel-ai-frontend-module.js +0 -33
- package/lib/browser/vercel-ai-frontend-module.js.map +0 -1
- package/lib/common/index.d.ts +0 -2
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -20
- package/lib/common/index.js.map +0 -1
- package/lib/common/vercel-ai-language-models-manager.d.ts +0 -49
- package/lib/common/vercel-ai-language-models-manager.d.ts.map +0 -1
- package/lib/common/vercel-ai-language-models-manager.js +0 -21
- package/lib/common/vercel-ai-language-models-manager.js.map +0 -1
- package/lib/common/vercel-ai-preferences.d.ts +0 -8
- package/lib/common/vercel-ai-preferences.d.ts.map +0 -1
- package/lib/common/vercel-ai-preferences.js +0 -131
- package/lib/common/vercel-ai-preferences.js.map +0 -1
- package/lib/node/vercel-ai-backend-module.d.ts +0 -4
- package/lib/node/vercel-ai-backend-module.d.ts.map +0 -1
- package/lib/node/vercel-ai-backend-module.js +0 -35
- package/lib/node/vercel-ai-backend-module.js.map +0 -1
- package/lib/node/vercel-ai-language-model-factory.d.ts +0 -14
- package/lib/node/vercel-ai-language-model-factory.d.ts.map +0 -1
- package/lib/node/vercel-ai-language-model-factory.js +0 -73
- package/lib/node/vercel-ai-language-model-factory.js.map +0 -1
- package/lib/node/vercel-ai-language-model.d.ts +0 -53
- package/lib/node/vercel-ai-language-model.d.ts.map +0 -1
- package/lib/node/vercel-ai-language-model.js +0 -309
- package/lib/node/vercel-ai-language-model.js.map +0 -1
- package/lib/node/vercel-ai-language-models-manager-impl.d.ts +0 -19
- package/lib/node/vercel-ai-language-models-manager-impl.d.ts.map +0 -1
- package/lib/node/vercel-ai-language-models-manager-impl.js +0 -107
- package/lib/node/vercel-ai-language-models-manager-impl.js.map +0 -1
- package/lib/package.spec.d.ts +0 -1
- package/lib/package.spec.d.ts.map +0 -1
- package/lib/package.spec.js +0 -26
- package/lib/package.spec.js.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
19
|
-
const vercel_ai_language_models_manager_1 = require("../common/vercel-ai-language-models-manager");
|
|
20
|
-
const core_1 = require("@theia/core");
|
|
21
|
-
const vercel_ai_language_models_manager_impl_1 = require("./vercel-ai-language-models-manager-impl");
|
|
22
|
-
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
23
|
-
const vercel_ai_language_model_factory_1 = require("./vercel-ai-language-model-factory");
|
|
24
|
-
const vercel_ai_preferences_1 = require("../common/vercel-ai-preferences");
|
|
25
|
-
const vercelAiConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService, bindFrontendService }) => {
|
|
26
|
-
bind(vercel_ai_language_models_manager_impl_1.VercelAiLanguageModelsManagerImpl).toSelf().inSingletonScope();
|
|
27
|
-
bind(vercel_ai_language_models_manager_1.VercelAiLanguageModelsManager).toService(vercel_ai_language_models_manager_impl_1.VercelAiLanguageModelsManagerImpl);
|
|
28
|
-
bind(vercel_ai_language_model_factory_1.VercelAiLanguageModelFactory).toSelf().inSingletonScope();
|
|
29
|
-
bind(core_1.ConnectionHandler).toDynamicValue(ctx => new core_1.RpcConnectionHandler(vercel_ai_language_models_manager_1.VERCEL_AI_LANGUAGE_MODELS_MANAGER_PATH, () => ctx.container.get(vercel_ai_language_models_manager_1.VercelAiLanguageModelsManager))).inSingletonScope();
|
|
30
|
-
});
|
|
31
|
-
exports.default = new inversify_1.ContainerModule(bind => {
|
|
32
|
-
bind(core_1.PreferenceContribution).toConstantValue({ schema: vercel_ai_preferences_1.VercelAiPreferencesSchema });
|
|
33
|
-
bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(vercelAiConnectionModule);
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=vercel-ai-backend-module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-backend-module.js","sourceRoot":"","sources":["../../src/node/vercel-ai-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,mGAAoI;AACpI,sCAA8F;AAC9F,qGAA6F;AAC7F,4GAAuG;AACvG,yFAAkF;AAClF,2EAA4E;AAE5E,MAAM,wBAAwB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,EAAE,EAAE;IACpH,IAAI,CAAC,0EAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,iEAA6B,CAAC,CAAC,SAAS,CAAC,0EAAiC,CAAC,CAAC;IACjF,IAAI,CAAC,+DAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CAAC,0EAAsC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,iEAA6B,CAAC,CAAC,CAC3H,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,6BAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,iDAAyB,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LanguageModelV1 } from '@ai-sdk/provider';
|
|
2
|
-
import { VercelAiModelDescription } from '../common';
|
|
3
|
-
export type VercelAiProvider = 'openai' | 'anthropic';
|
|
4
|
-
export interface VercelAiProviderConfig {
|
|
5
|
-
provider: VercelAiProvider;
|
|
6
|
-
apiKey?: string;
|
|
7
|
-
baseURL?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class VercelAiLanguageModelFactory {
|
|
10
|
-
createLanguageModel(modelDescription: VercelAiModelDescription, providerConfig: VercelAiProviderConfig): LanguageModelV1;
|
|
11
|
-
private resolveApiKey;
|
|
12
|
-
private getApiKeyBasedOnProvider;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=vercel-ai-language-model-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-language-model-factory.d.ts","sourceRoot":"","sources":["../../src/node/vercel-ai-language-model-factory.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,4BAA4B;IAErC,mBAAmB,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,cAAc,EAAE,sBAAsB,GAAG,eAAe;IAyBxH,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,wBAAwB;CAanC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.VercelAiLanguageModelFactory = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const anthropic_1 = require("@ai-sdk/anthropic");
|
|
21
|
-
const openai_1 = require("@ai-sdk/openai");
|
|
22
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
-
let VercelAiLanguageModelFactory = class VercelAiLanguageModelFactory {
|
|
24
|
-
createLanguageModel(modelDescription, providerConfig) {
|
|
25
|
-
const apiKey = this.resolveApiKey(modelDescription, providerConfig);
|
|
26
|
-
if (!apiKey) {
|
|
27
|
-
throw new Error(`Please provide an API key for ${providerConfig.provider} in preferences or via environment variable`);
|
|
28
|
-
}
|
|
29
|
-
const baseURL = modelDescription.url || providerConfig.baseURL;
|
|
30
|
-
switch (providerConfig.provider) {
|
|
31
|
-
case 'openai':
|
|
32
|
-
return (0, openai_1.createOpenAI)({
|
|
33
|
-
apiKey,
|
|
34
|
-
baseURL,
|
|
35
|
-
compatibility: 'strict'
|
|
36
|
-
}).languageModel(modelDescription.model);
|
|
37
|
-
case 'anthropic':
|
|
38
|
-
return (0, anthropic_1.createAnthropic)({
|
|
39
|
-
apiKey,
|
|
40
|
-
baseURL
|
|
41
|
-
}).languageModel(modelDescription.model);
|
|
42
|
-
default:
|
|
43
|
-
throw new Error(`Unsupported provider: ${providerConfig.provider}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
resolveApiKey(modelDescription, providerConfig) {
|
|
47
|
-
if (modelDescription.apiKey === true) {
|
|
48
|
-
return this.getApiKeyBasedOnProvider(providerConfig);
|
|
49
|
-
}
|
|
50
|
-
if (modelDescription.apiKey) {
|
|
51
|
-
return modelDescription.apiKey;
|
|
52
|
-
}
|
|
53
|
-
return this.getApiKeyBasedOnProvider(providerConfig);
|
|
54
|
-
}
|
|
55
|
-
getApiKeyBasedOnProvider(providerConfig) {
|
|
56
|
-
if (providerConfig.apiKey) {
|
|
57
|
-
return providerConfig.apiKey;
|
|
58
|
-
}
|
|
59
|
-
switch (providerConfig.provider) {
|
|
60
|
-
case 'openai':
|
|
61
|
-
return process.env.OPENAI_API_KEY;
|
|
62
|
-
case 'anthropic':
|
|
63
|
-
return process.env.ANTHROPIC_API_KEY;
|
|
64
|
-
default:
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
exports.VercelAiLanguageModelFactory = VercelAiLanguageModelFactory;
|
|
70
|
-
exports.VercelAiLanguageModelFactory = VercelAiLanguageModelFactory = tslib_1.__decorate([
|
|
71
|
-
(0, inversify_1.injectable)()
|
|
72
|
-
], VercelAiLanguageModelFactory);
|
|
73
|
-
//# sourceMappingURL=vercel-ai-language-model-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-language-model-factory.js","sourceRoot":"","sources":["../../src/node/vercel-ai-language-model-factory.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,iDAAoD;AACpD,2CAA8C;AAE9C,4DAA0D;AAYnD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAErC,mBAAmB,CAAC,gBAA0C,EAAE,cAAsC;QAClG,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,cAAc,CAAC,QAAQ,6CAA6C,CAAC,CAAC;QAC3H,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC;QAE/D,QAAQ,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACT,OAAO,IAAA,qBAAY,EAAC;oBAChB,MAAM;oBACN,OAAO;oBACP,aAAa,EAAE,QAAQ;iBAC1B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,WAAW;gBACZ,OAAO,IAAA,2BAAe,EAAC;oBACnB,MAAM;oBACN,OAAO;iBACV,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7C;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,gBAA0C,EAAE,cAAsC;QACpG,IAAI,gBAAgB,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,gBAAgB,CAAC,MAAM,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEO,wBAAwB,CAAC,cAAsC;QACnE,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,QAAQ,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACT,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACtC,KAAK,WAAW;gBACZ,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACzC;gBACI,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;CACJ,CAAA;AAlDY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAkDxC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { LanguageModelV1 } from '@ai-sdk/provider';
|
|
2
|
-
import { LanguageModel, LanguageModelMessage, LanguageModelParsedResponse, LanguageModelRequest, LanguageModelResponse, LanguageModelStatus, LanguageModelStreamResponse, LanguageModelStreamResponsePart, LanguageModelTextResponse, TokenUsageService, UserRequest } from '@theia/ai-core';
|
|
3
|
-
import { CancellationToken, Disposable, ILogger } from '@theia/core';
|
|
4
|
-
import { CoreMessage, TextStreamPart, ToolSet } from 'ai';
|
|
5
|
-
import { VercelAiLanguageModelFactory, VercelAiProviderConfig } from './vercel-ai-language-model-factory';
|
|
6
|
-
interface VercelCancellationToken extends Disposable {
|
|
7
|
-
signal: AbortSignal;
|
|
8
|
-
cancellationToken: CancellationToken;
|
|
9
|
-
isCancellationRequested: boolean;
|
|
10
|
-
}
|
|
11
|
-
interface VercelAiStream extends AsyncIterable<TextStreamPart<ToolSet>> {
|
|
12
|
-
cancel: () => void;
|
|
13
|
-
}
|
|
14
|
-
interface StreamContext {
|
|
15
|
-
logger: ILogger;
|
|
16
|
-
cancellationToken?: VercelCancellationToken;
|
|
17
|
-
}
|
|
18
|
-
export declare class VercelAiStreamTransformer {
|
|
19
|
-
protected readonly fullStream: VercelAiStream;
|
|
20
|
-
protected readonly context: StreamContext;
|
|
21
|
-
private toolCallsMap;
|
|
22
|
-
constructor(fullStream: VercelAiStream, context: StreamContext);
|
|
23
|
-
transform(): AsyncGenerator<LanguageModelStreamResponsePart>;
|
|
24
|
-
private isToolResultPart;
|
|
25
|
-
private updateToolCall;
|
|
26
|
-
private appendToToolCallArgs;
|
|
27
|
-
private processToolResult;
|
|
28
|
-
}
|
|
29
|
-
export declare class VercelAiModel implements LanguageModel {
|
|
30
|
-
readonly id: string;
|
|
31
|
-
model: string;
|
|
32
|
-
status: LanguageModelStatus;
|
|
33
|
-
enableStreaming: boolean;
|
|
34
|
-
supportsStructuredOutput: boolean;
|
|
35
|
-
url: string | undefined;
|
|
36
|
-
protected readonly logger: ILogger;
|
|
37
|
-
protected readonly languageModelFactory: VercelAiLanguageModelFactory;
|
|
38
|
-
protected providerConfig: () => VercelAiProviderConfig;
|
|
39
|
-
maxRetries: number;
|
|
40
|
-
protected readonly tokenUsageService?: TokenUsageService | undefined;
|
|
41
|
-
constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, supportsStructuredOutput: boolean, url: string | undefined, logger: ILogger, languageModelFactory: VercelAiLanguageModelFactory, providerConfig: () => VercelAiProviderConfig, maxRetries?: number, tokenUsageService?: TokenUsageService | undefined);
|
|
42
|
-
protected getSettings(request: LanguageModelRequest): Record<string, unknown>;
|
|
43
|
-
request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
|
|
44
|
-
protected createCancellationToken(cancellationToken?: CancellationToken): VercelCancellationToken;
|
|
45
|
-
protected handleNonStreamingRequest(model: LanguageModelV1, request: UserRequest, cancellationToken?: VercelCancellationToken): Promise<LanguageModelTextResponse>;
|
|
46
|
-
protected createTools(request: UserRequest): ToolSet | undefined;
|
|
47
|
-
protected handleStructuredOutputRequest(model: LanguageModelV1, request: UserRequest, cancellationToken?: VercelCancellationToken): Promise<LanguageModelParsedResponse | LanguageModelStreamResponse>;
|
|
48
|
-
private recordTokenUsage;
|
|
49
|
-
protected handleStreamingRequest(model: LanguageModelV1, request: UserRequest, cancellationToken?: VercelCancellationToken): Promise<LanguageModelStreamResponse>;
|
|
50
|
-
protected processMessages(messages: LanguageModelMessage[]): Array<CoreMessage>;
|
|
51
|
-
}
|
|
52
|
-
export {};
|
|
53
|
-
//# sourceMappingURL=vercel-ai-language-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/vercel-ai-language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.VercelAiModel = exports.VercelAiStreamTransformer = void 0;
|
|
19
|
-
const ai_core_1 = require("@theia/ai-core");
|
|
20
|
-
const core_1 = require("@theia/core");
|
|
21
|
-
const ai_1 = require("ai");
|
|
22
|
-
class VercelAiStreamTransformer {
|
|
23
|
-
constructor(fullStream, context) {
|
|
24
|
-
this.fullStream = fullStream;
|
|
25
|
-
this.context = context;
|
|
26
|
-
this.toolCallsMap = new Map();
|
|
27
|
-
}
|
|
28
|
-
async *transform() {
|
|
29
|
-
var _a;
|
|
30
|
-
this.toolCallsMap.clear();
|
|
31
|
-
try {
|
|
32
|
-
for await (const part of this.fullStream) {
|
|
33
|
-
this.context.logger.trace('Received stream part:', part);
|
|
34
|
-
if ((_a = this.context.cancellationToken) === null || _a === void 0 ? void 0 : _a.isCancellationRequested) {
|
|
35
|
-
this.context.logger.debug('Cancellation requested, stopping stream');
|
|
36
|
-
this.fullStream.cancel();
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
let toolCallUpdated = false;
|
|
40
|
-
switch (part.type) {
|
|
41
|
-
case 'text-delta':
|
|
42
|
-
if (part.textDelta) {
|
|
43
|
-
yield { content: part.textDelta };
|
|
44
|
-
}
|
|
45
|
-
break;
|
|
46
|
-
case 'tool-call':
|
|
47
|
-
if (part.toolCallId && part.toolName) {
|
|
48
|
-
const args = typeof part.args === 'object' ? JSON.stringify(part.args) : (part.args || '');
|
|
49
|
-
toolCallUpdated = this.updateToolCall(part.toolCallId, part.toolName, args);
|
|
50
|
-
}
|
|
51
|
-
break;
|
|
52
|
-
case 'tool-call-streaming-start':
|
|
53
|
-
if (part.toolCallId && part.toolName) {
|
|
54
|
-
toolCallUpdated = this.updateToolCall(part.toolCallId, part.toolName);
|
|
55
|
-
}
|
|
56
|
-
break;
|
|
57
|
-
case 'tool-call-delta':
|
|
58
|
-
if (part.toolCallId && part.argsTextDelta) {
|
|
59
|
-
toolCallUpdated = this.appendToToolCallArgs(part.toolCallId, part.argsTextDelta);
|
|
60
|
-
}
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
if (this.isToolResultPart(part)) {
|
|
64
|
-
toolCallUpdated = this.processToolResult(part);
|
|
65
|
-
}
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
if (toolCallUpdated && this.toolCallsMap.size > 0) {
|
|
69
|
-
yield { tool_calls: Array.from(this.toolCallsMap.values()) };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
this.context.logger.error('Error in AI SDK stream:', error);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
isToolResultPart(part) {
|
|
78
|
-
return part.type === 'tool-result';
|
|
79
|
-
}
|
|
80
|
-
updateToolCall(id, name, args) {
|
|
81
|
-
const toolCall = {
|
|
82
|
-
id,
|
|
83
|
-
function: { name, arguments: args ? args : '' },
|
|
84
|
-
finished: false
|
|
85
|
-
};
|
|
86
|
-
this.toolCallsMap.set(id, toolCall);
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
appendToToolCallArgs(id, argsTextDelta) {
|
|
90
|
-
const existingCall = this.toolCallsMap.get(id);
|
|
91
|
-
if (existingCall === null || existingCall === void 0 ? void 0 : existingCall.function) {
|
|
92
|
-
existingCall.function.arguments = (existingCall.function.arguments || '') + argsTextDelta;
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
processToolResult(part) {
|
|
98
|
-
if (!part.toolCallId) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
const completedCall = this.toolCallsMap.get(part.toolCallId);
|
|
102
|
-
if (!completedCall) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
completedCall.result = part.result;
|
|
106
|
-
completedCall.finished = true;
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.VercelAiStreamTransformer = VercelAiStreamTransformer;
|
|
111
|
-
class VercelAiModel {
|
|
112
|
-
constructor(id, model, status, enableStreaming, supportsStructuredOutput, url, logger, languageModelFactory, providerConfig, maxRetries = 3, tokenUsageService) {
|
|
113
|
-
this.id = id;
|
|
114
|
-
this.model = model;
|
|
115
|
-
this.status = status;
|
|
116
|
-
this.enableStreaming = enableStreaming;
|
|
117
|
-
this.supportsStructuredOutput = supportsStructuredOutput;
|
|
118
|
-
this.url = url;
|
|
119
|
-
this.logger = logger;
|
|
120
|
-
this.languageModelFactory = languageModelFactory;
|
|
121
|
-
this.providerConfig = providerConfig;
|
|
122
|
-
this.maxRetries = maxRetries;
|
|
123
|
-
this.tokenUsageService = tokenUsageService;
|
|
124
|
-
}
|
|
125
|
-
getSettings(request) {
|
|
126
|
-
var _a;
|
|
127
|
-
return (_a = request.settings) !== null && _a !== void 0 ? _a : {};
|
|
128
|
-
}
|
|
129
|
-
async request(request, cancellationToken) {
|
|
130
|
-
var _a;
|
|
131
|
-
const settings = this.getSettings(request);
|
|
132
|
-
const model = this.languageModelFactory.createLanguageModel({
|
|
133
|
-
id: this.id,
|
|
134
|
-
model: this.model,
|
|
135
|
-
url: this.url,
|
|
136
|
-
apiKey: true, // We'll use the provider's API key
|
|
137
|
-
enableStreaming: this.enableStreaming,
|
|
138
|
-
supportsStructuredOutput: this.supportsStructuredOutput,
|
|
139
|
-
maxRetries: this.maxRetries
|
|
140
|
-
}, this.providerConfig());
|
|
141
|
-
const cancel = this.createCancellationToken(cancellationToken);
|
|
142
|
-
try {
|
|
143
|
-
if (((_a = request.response_format) === null || _a === void 0 ? void 0 : _a.type) === 'json_schema' && this.supportsStructuredOutput) {
|
|
144
|
-
return this.handleStructuredOutputRequest(model, request, cancel);
|
|
145
|
-
}
|
|
146
|
-
if (!this.enableStreaming || (typeof settings.stream === 'boolean' && !settings.stream)) {
|
|
147
|
-
return this.handleNonStreamingRequest(model, request, cancel);
|
|
148
|
-
}
|
|
149
|
-
return this.handleStreamingRequest(model, request, cancel);
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
this.logger.error('Error in Vercel AI model request:', error);
|
|
153
|
-
throw error;
|
|
154
|
-
}
|
|
155
|
-
finally {
|
|
156
|
-
cancel.dispose();
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
createCancellationToken(cancellationToken) {
|
|
160
|
-
const abortController = new AbortController();
|
|
161
|
-
const abortSignal = abortController.signal;
|
|
162
|
-
if (cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) {
|
|
163
|
-
abortController.abort();
|
|
164
|
-
}
|
|
165
|
-
const cancellationListener = cancellationToken ?
|
|
166
|
-
cancellationToken.onCancellationRequested(() => {
|
|
167
|
-
abortController.abort();
|
|
168
|
-
}) : undefined;
|
|
169
|
-
return {
|
|
170
|
-
signal: abortSignal,
|
|
171
|
-
cancellationToken: cancellationToken !== null && cancellationToken !== void 0 ? cancellationToken : core_1.CancellationToken.None,
|
|
172
|
-
get isCancellationRequested() {
|
|
173
|
-
var _a;
|
|
174
|
-
return (_a = cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.isCancellationRequested) !== null && _a !== void 0 ? _a : abortSignal.aborted;
|
|
175
|
-
},
|
|
176
|
-
dispose: () => cancellationListener === null || cancellationListener === void 0 ? void 0 : cancellationListener.dispose()
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
async handleNonStreamingRequest(model, request, cancellationToken) {
|
|
180
|
-
const settings = this.getSettings(request);
|
|
181
|
-
const messages = this.processMessages(request.messages);
|
|
182
|
-
const tools = this.createTools(request);
|
|
183
|
-
const abortSignal = cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.signal;
|
|
184
|
-
const response = await (0, ai_1.generateText)({
|
|
185
|
-
model,
|
|
186
|
-
messages,
|
|
187
|
-
tools,
|
|
188
|
-
toolChoice: 'auto',
|
|
189
|
-
abortSignal,
|
|
190
|
-
...settings
|
|
191
|
-
});
|
|
192
|
-
await this.recordTokenUsage(response, request);
|
|
193
|
-
return { text: response.text };
|
|
194
|
-
}
|
|
195
|
-
createTools(request) {
|
|
196
|
-
if (!request.tools) {
|
|
197
|
-
return undefined;
|
|
198
|
-
}
|
|
199
|
-
const toolSet = {};
|
|
200
|
-
for (const toolRequest of request.tools) {
|
|
201
|
-
toolSet[toolRequest.name] = (0, ai_1.tool)({
|
|
202
|
-
description: toolRequest.description,
|
|
203
|
-
parameters: (0, ai_1.jsonSchema)(toolRequest.parameters),
|
|
204
|
-
execute: async (args, options) => {
|
|
205
|
-
try {
|
|
206
|
-
const result = await toolRequest.handler(JSON.stringify(args), options);
|
|
207
|
-
return JSON.stringify(result);
|
|
208
|
-
}
|
|
209
|
-
catch (error) {
|
|
210
|
-
this.logger.error(`Error executing tool (${toolRequest.name}):`, error);
|
|
211
|
-
return { status: 'error', error: 'Tool execution failed', details: error };
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
return toolSet;
|
|
217
|
-
}
|
|
218
|
-
async handleStructuredOutputRequest(model, request, cancellationToken) {
|
|
219
|
-
var _a;
|
|
220
|
-
if (((_a = request.response_format) === null || _a === void 0 ? void 0 : _a.type) !== 'json_schema' || !request.response_format.json_schema.schema) {
|
|
221
|
-
throw Error('Invalid response format for structured output request');
|
|
222
|
-
}
|
|
223
|
-
const schema = (0, ai_1.jsonSchema)(request.response_format.json_schema.schema);
|
|
224
|
-
if (!schema) {
|
|
225
|
-
throw new Error('Schema extraction failed.');
|
|
226
|
-
}
|
|
227
|
-
const settings = this.getSettings(request);
|
|
228
|
-
const messages = this.processMessages(request.messages);
|
|
229
|
-
const abortSignal = cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.signal;
|
|
230
|
-
const response = await (0, ai_1.generateObject)({
|
|
231
|
-
model,
|
|
232
|
-
output: 'object',
|
|
233
|
-
messages,
|
|
234
|
-
schema,
|
|
235
|
-
abortSignal,
|
|
236
|
-
...settings
|
|
237
|
-
});
|
|
238
|
-
await this.recordTokenUsage(response, request);
|
|
239
|
-
return {
|
|
240
|
-
content: JSON.stringify(response.object),
|
|
241
|
-
parsed: response.object
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
async recordTokenUsage(result, request) {
|
|
245
|
-
if (this.tokenUsageService && !isNaN(result.usage.completionTokens) && !isNaN(result.usage.promptTokens)) {
|
|
246
|
-
await this.tokenUsageService.recordTokenUsage(this.id, {
|
|
247
|
-
inputTokens: result.usage.promptTokens,
|
|
248
|
-
outputTokens: result.usage.completionTokens,
|
|
249
|
-
requestId: request.requestId
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
async handleStreamingRequest(model, request, cancellationToken) {
|
|
254
|
-
const settings = this.getSettings(request);
|
|
255
|
-
const messages = this.processMessages(request.messages);
|
|
256
|
-
const tools = this.createTools(request);
|
|
257
|
-
const abortSignal = cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.signal;
|
|
258
|
-
const { fullStream } = (0, ai_1.streamText)({
|
|
259
|
-
model,
|
|
260
|
-
messages,
|
|
261
|
-
tools,
|
|
262
|
-
toolChoice: 'auto',
|
|
263
|
-
maxSteps: 100,
|
|
264
|
-
maxRetries: this.maxRetries,
|
|
265
|
-
toolCallStreaming: true,
|
|
266
|
-
abortSignal,
|
|
267
|
-
onStepFinish: (stepResult) => {
|
|
268
|
-
var _a;
|
|
269
|
-
if (!isNaN(stepResult.usage.completionTokens) && !isNaN(stepResult.usage.promptTokens)) {
|
|
270
|
-
(_a = this.tokenUsageService) === null || _a === void 0 ? void 0 : _a.recordTokenUsage(this.id, {
|
|
271
|
-
inputTokens: stepResult.usage.promptTokens,
|
|
272
|
-
outputTokens: stepResult.usage.completionTokens,
|
|
273
|
-
requestId: request.requestId
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
},
|
|
277
|
-
...settings
|
|
278
|
-
});
|
|
279
|
-
const transformer = new VercelAiStreamTransformer(fullStream, { cancellationToken, logger: this.logger });
|
|
280
|
-
return {
|
|
281
|
-
stream: transformer.transform()
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
processMessages(messages) {
|
|
285
|
-
return messages.map(message => {
|
|
286
|
-
const content = ai_core_1.LanguageModelMessage.isTextMessage(message) ? message.text : '';
|
|
287
|
-
let role;
|
|
288
|
-
switch (message.actor) {
|
|
289
|
-
case 'user':
|
|
290
|
-
role = 'user';
|
|
291
|
-
break;
|
|
292
|
-
case 'ai':
|
|
293
|
-
role = 'assistant';
|
|
294
|
-
break;
|
|
295
|
-
case 'system':
|
|
296
|
-
role = 'system';
|
|
297
|
-
break;
|
|
298
|
-
default:
|
|
299
|
-
role = 'user';
|
|
300
|
-
}
|
|
301
|
-
return {
|
|
302
|
-
role,
|
|
303
|
-
content,
|
|
304
|
-
};
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
exports.VercelAiModel = VercelAiModel;
|
|
309
|
-
//# sourceMappingURL=vercel-ai-language-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-language-model.js","sourceRoot":"","sources":["../../src/node/vercel-ai-language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { LanguageModelRegistry, LanguageModelStatus, TokenUsageService } from '@theia/ai-core';
|
|
2
|
-
import { VercelAiLanguageModelsManager, VercelAiModelDescription } from '../common';
|
|
3
|
-
import { ILogger } from '@theia/core';
|
|
4
|
-
import { VercelAiLanguageModelFactory, VercelAiProvider, VercelAiProviderConfig } from './vercel-ai-language-model-factory';
|
|
5
|
-
export declare class VercelAiLanguageModelsManagerImpl implements VercelAiLanguageModelsManager {
|
|
6
|
-
apiKey: string | undefined;
|
|
7
|
-
protected providerConfigs: Map<VercelAiProvider, VercelAiProviderConfig>;
|
|
8
|
-
protected readonly languageModelRegistry: LanguageModelRegistry;
|
|
9
|
-
protected readonly tokenUsageService: TokenUsageService;
|
|
10
|
-
protected readonly logger: ILogger;
|
|
11
|
-
protected readonly languageModelFactory: VercelAiLanguageModelFactory;
|
|
12
|
-
protected calculateStatus(effectiveApiKey: string | undefined): LanguageModelStatus;
|
|
13
|
-
createOrUpdateLanguageModels(...modelDescriptions: VercelAiModelDescription[]): Promise<void>;
|
|
14
|
-
removeLanguageModels(...modelIds: string[]): void;
|
|
15
|
-
setProviderConfig(provider: VercelAiProvider, config: Partial<VercelAiProviderConfig>): void;
|
|
16
|
-
private determineProvider;
|
|
17
|
-
private getProviderConfig;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=vercel-ai-language-models-manager-impl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/vercel-ai-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG/F,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5H,qBACa,iCAAkC,YAAW,6BAA6B;IAEnF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAa;IAGrF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IAItE,SAAS,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB;IAM7E,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CnG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAK5F,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,iBAAiB;CAQ5B"}
|