@osdk/aip-core 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +211 -0
- package/ai-sdk.d.ts +17 -0
- package/build/browser/ai-sdk/convert-prompt.js +136 -0
- package/build/browser/ai-sdk/convert-prompt.js.map +1 -0
- package/build/browser/ai-sdk/foundry-chat-language-model.js +386 -0
- package/build/browser/ai-sdk/foundry-chat-language-model.js.map +1 -0
- package/build/browser/ai-sdk/map-finish-reason.js +42 -0
- package/build/browser/ai-sdk/map-finish-reason.js.map +1 -0
- package/build/browser/ai-sdk/provider.js +62 -0
- package/build/browser/ai-sdk/provider.js.map +1 -0
- package/build/browser/ai-sdk/types.js +2 -0
- package/build/browser/ai-sdk/types.js.map +1 -0
- package/build/browser/generateText.js +76 -0
- package/build/browser/generateText.js.map +1 -0
- package/build/browser/index.js +23 -0
- package/build/browser/index.js.map +1 -0
- package/build/browser/internal/__test__/mockPlatformClient.js +36 -0
- package/build/browser/internal/__test__/mockPlatformClient.js.map +1 -0
- package/build/browser/internal/ids.js +23 -0
- package/build/browser/internal/ids.js.map +1 -0
- package/build/browser/internal/openAi.js +293 -0
- package/build/browser/internal/openAi.js.map +1 -0
- package/build/browser/internal/options.js +58 -0
- package/build/browser/internal/options.js.map +1 -0
- package/build/browser/internal/runStep.js +107 -0
- package/build/browser/internal/runStep.js.map +1 -0
- package/build/browser/internal/streamStep.js +223 -0
- package/build/browser/internal/streamStep.js.map +1 -0
- package/build/browser/internal/uiMessageBridge.js +55 -0
- package/build/browser/internal/uiMessageBridge.js.map +1 -0
- package/build/browser/lmsChatTransport.js +185 -0
- package/build/browser/lmsChatTransport.js.map +1 -0
- package/build/browser/model.js +74 -0
- package/build/browser/model.js.map +1 -0
- package/build/browser/public/ai-sdk.js +18 -0
- package/build/browser/public/ai-sdk.js.map +1 -0
- package/build/browser/streamText.js +210 -0
- package/build/browser/streamText.js.map +1 -0
- package/build/browser/types.js +2 -0
- package/build/browser/types.js.map +1 -0
- package/build/browser/uiMessage.js +34 -0
- package/build/browser/uiMessage.js.map +1 -0
- package/build/cjs/index.cjs +1012 -0
- package/build/cjs/index.cjs.map +1 -0
- package/build/cjs/index.d.cts +467 -0
- package/build/cjs/model-B5uS56VB.d.cts +45 -0
- package/build/cjs/public/ai-sdk.cjs +534 -0
- package/build/cjs/public/ai-sdk.cjs.map +1 -0
- package/build/cjs/public/ai-sdk.d.cts +49 -0
- package/build/esm/ai-sdk/convert-prompt.js +136 -0
- package/build/esm/ai-sdk/convert-prompt.js.map +1 -0
- package/build/esm/ai-sdk/foundry-chat-language-model.js +386 -0
- package/build/esm/ai-sdk/foundry-chat-language-model.js.map +1 -0
- package/build/esm/ai-sdk/map-finish-reason.js +42 -0
- package/build/esm/ai-sdk/map-finish-reason.js.map +1 -0
- package/build/esm/ai-sdk/provider.js +62 -0
- package/build/esm/ai-sdk/provider.js.map +1 -0
- package/build/esm/ai-sdk/types.js +2 -0
- package/build/esm/ai-sdk/types.js.map +1 -0
- package/build/esm/generateText.js +76 -0
- package/build/esm/generateText.js.map +1 -0
- package/build/esm/index.js +23 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/internal/__test__/mockPlatformClient.js +36 -0
- package/build/esm/internal/__test__/mockPlatformClient.js.map +1 -0
- package/build/esm/internal/ids.js +23 -0
- package/build/esm/internal/ids.js.map +1 -0
- package/build/esm/internal/openAi.js +293 -0
- package/build/esm/internal/openAi.js.map +1 -0
- package/build/esm/internal/options.js +58 -0
- package/build/esm/internal/options.js.map +1 -0
- package/build/esm/internal/runStep.js +107 -0
- package/build/esm/internal/runStep.js.map +1 -0
- package/build/esm/internal/streamStep.js +223 -0
- package/build/esm/internal/streamStep.js.map +1 -0
- package/build/esm/internal/uiMessageBridge.js +55 -0
- package/build/esm/internal/uiMessageBridge.js.map +1 -0
- package/build/esm/lmsChatTransport.js +185 -0
- package/build/esm/lmsChatTransport.js.map +1 -0
- package/build/esm/model.js +74 -0
- package/build/esm/model.js.map +1 -0
- package/build/esm/public/ai-sdk.js +18 -0
- package/build/esm/public/ai-sdk.js.map +1 -0
- package/build/esm/streamText.js +210 -0
- package/build/esm/streamText.js.map +1 -0
- package/build/esm/types.js +2 -0
- package/build/esm/types.js.map +1 -0
- package/build/esm/uiMessage.js +34 -0
- package/build/esm/uiMessage.js.map +1 -0
- package/build/types/ai-sdk/convert-prompt.d.ts +19 -0
- package/build/types/ai-sdk/convert-prompt.d.ts.map +1 -0
- package/build/types/ai-sdk/foundry-chat-language-model.d.ts +20 -0
- package/build/types/ai-sdk/foundry-chat-language-model.d.ts.map +1 -0
- package/build/types/ai-sdk/map-finish-reason.d.ts +2 -0
- package/build/types/ai-sdk/map-finish-reason.d.ts.map +1 -0
- package/build/types/ai-sdk/provider.d.ts +46 -0
- package/build/types/ai-sdk/provider.d.ts.map +1 -0
- package/build/types/ai-sdk/types.d.ts +1 -0
- package/build/types/ai-sdk/types.d.ts.map +1 -0
- package/build/types/generateText.d.ts +56 -0
- package/build/types/generateText.d.ts.map +1 -0
- package/build/types/index.d.ts +12 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/internal/__test__/mockPlatformClient.d.ts +13 -0
- package/build/types/internal/__test__/mockPlatformClient.d.ts.map +1 -0
- package/build/types/internal/ids.d.ts +1 -0
- package/build/types/internal/ids.d.ts.map +1 -0
- package/build/types/internal/openAi.d.ts +107 -0
- package/build/types/internal/openAi.d.ts.map +1 -0
- package/build/types/internal/options.d.ts +4 -0
- package/build/types/internal/options.d.ts.map +1 -0
- package/build/types/internal/runStep.d.ts +29 -0
- package/build/types/internal/runStep.d.ts.map +1 -0
- package/build/types/internal/streamStep.d.ts +52 -0
- package/build/types/internal/streamStep.d.ts.map +1 -0
- package/build/types/internal/uiMessageBridge.d.ts +15 -0
- package/build/types/internal/uiMessageBridge.d.ts.map +1 -0
- package/build/types/lmsChatTransport.d.ts +35 -0
- package/build/types/lmsChatTransport.d.ts.map +1 -0
- package/build/types/model.d.ts +42 -0
- package/build/types/model.d.ts.map +1 -0
- package/build/types/public/ai-sdk.d.ts +2 -0
- package/build/types/public/ai-sdk.d.ts.map +1 -0
- package/build/types/streamText.d.ts +82 -0
- package/build/types/streamText.d.ts.map +1 -0
- package/build/types/types.d.ts +189 -0
- package/build/types/types.d.ts.map +1 -0
- package/build/types/uiMessage.d.ts +85 -0
- package/build/types/uiMessage.d.ts.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAEE,uBAEA,uBACK,kBAAmB;AAE1B,iBAAiB,cAAc;CAC7B,MAAM,WAAW,SAAS,cAAc;CACxC,kBAAkB,MAAM;EAAE,MAAM;EAAQ;CAAc;CACtD,aAAa,MAAM;CACnB;AACD;AAED,iBAAiB,wBAAwB;CACvC;CACA,MAAM;CACN,UAAU;EAAE;EAAc;CAAmB;AAC9C;AAED,OAAO,iBAAS,cACdA,QAAQ,uBACRC,UAAU,MAAM,mBACf,MAAM","names":["prompt: LanguageModelV3Prompt","warnings: Array<SharedV3Warning>"],"sources":["../../../src/ai-sdk/convert-prompt.ts"],"version":3,"file":"convert-prompt.d.ts"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult } from "@ai-sdk/provider";
|
|
2
|
+
import type { PlatformClient } from "@osdk/client";
|
|
3
|
+
import type { ModelIdentifier } from "./types.js";
|
|
4
|
+
export interface FoundryChatLanguageModelConfig {
|
|
5
|
+
client: PlatformClient;
|
|
6
|
+
identifier: ModelIdentifier;
|
|
7
|
+
}
|
|
8
|
+
export declare class FoundryChatLanguageModel implements LanguageModelV3 {
|
|
9
|
+
readonly specificationVersion = "v3";
|
|
10
|
+
readonly provider: string;
|
|
11
|
+
readonly modelId: string;
|
|
12
|
+
readonly supportedUrls: Record<string, RegExp[]>;
|
|
13
|
+
private readonly config;
|
|
14
|
+
constructor(modelId: string, config: FoundryChatLanguageModelConfig);
|
|
15
|
+
doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
|
|
16
|
+
doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
|
|
17
|
+
private buildRequest;
|
|
18
|
+
private parseGenerateResponse;
|
|
19
|
+
private parseStreamResponse;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cACE,iBACA,4BAGA,+BAEA,mCAIK,kBAAmB;AAC1B,cAAc,sBAAsB,cAAe;AAKnD,cAAc,uBAAuB,YAAa;AAElD,iBAAiB,+BAA+B;CAC9C,QAAQ;CACR,YAAY;AACb;AAED,OAAO,cAAM,oCAAoC,gBAAgB;CAC/D,SAAS,uBAAuB;CAChC,SAAS;CACT,SAAS;CACT,SAAS,eAAe,eAAe;CAEvC,iBAAiB;CAEjB,YAAYA,iBAAiBC,QAAQ;CAMrC,AAAM,WACJC,SAAS,6BACR,QAAQ;CA2BX,AAAM,SACJA,SAAS,6BACR,QAAQ;CAgCX,QAAQ;CAuER,QAAQ;CAkDR,QAAQ;AA0IT","names":["modelId: string","config: FoundryChatLanguageModelConfig","options: LanguageModelV3CallOptions"],"sources":["../../../src/ai-sdk/foundry-chat-language-model.ts"],"version":3,"file":"foundry-chat-language-model.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,mCAAmC,kBAAmB;AAEpE,OAAO,iBAAS,gBACdA,0BACC","names":["raw: string | undefined"],"sources":["../../../src/ai-sdk/map-finish-reason.ts"],"version":3,"file":"map-finish-reason.d.ts"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { LanguageModelV3 } from "@ai-sdk/provider";
|
|
2
|
+
import type { PlatformClient } from "@osdk/client";
|
|
3
|
+
import type { ModelIdentifier } from "./types.js";
|
|
4
|
+
export interface FoundryAIProviderOptions {
|
|
5
|
+
/** Foundry PlatformClient providing the auth token + base URL. */
|
|
6
|
+
client: PlatformClient;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A Foundry AI provider for the AI SDK.
|
|
10
|
+
*
|
|
11
|
+
* Can be called directly as a function to get a language model, or use
|
|
12
|
+
* the `.languageModel()` method.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { generateText } from "ai";
|
|
17
|
+
* import { createFoundryAI } from "@osdk/aip-core/ai-sdk";
|
|
18
|
+
*
|
|
19
|
+
* const foundryAI = createFoundryAI({ client });
|
|
20
|
+
* const { text } = await generateText({
|
|
21
|
+
* model: foundryAI("gpt-4o"),
|
|
22
|
+
* prompt: "Hello, world",
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export interface FoundryAIProvider {
|
|
27
|
+
/**
|
|
28
|
+
* Create a language model for the given model name or identifier.
|
|
29
|
+
*
|
|
30
|
+
* @param model - LMS model API name (e.g. "gpt-4o") or a structured ModelIdentifier.
|
|
31
|
+
*/
|
|
32
|
+
(model: string | ModelIdentifier): LanguageModelV3;
|
|
33
|
+
/**
|
|
34
|
+
* Create a language model for the given model name or identifier.
|
|
35
|
+
*
|
|
36
|
+
* @param model - LMS model API name (e.g. "gpt-4o") or a structured ModelIdentifier.
|
|
37
|
+
*/
|
|
38
|
+
languageModel(model: string | ModelIdentifier): LanguageModelV3;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a Foundry AI provider for the AI SDK.
|
|
42
|
+
*
|
|
43
|
+
* @param options - Configuration including the Foundry PlatformClient.
|
|
44
|
+
* @returns A provider that can be called directly or via `.languageModel()`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function createFoundryAI(options: FoundryAIProviderOptions): FoundryAIProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,uBAAuB,kBAAmB;AACxD,cAAc,sBAAsB,cAAe;AAEnD,cAAc,uBAAuB,YAAa;AAElD,iBAAiB,yBAAyB;;CAExC,QAAQ;AACT;;;;;;;;;;;;;;;;;;;AAoBD,iBAAiB,kBAAkB;;;;;;EAMhCA,gBAAgB,kBAAkB;;;;;;CAOnC,cAAcA,gBAAgB,kBAAkB;AACjD;;;;;;;AAQD,OAAO,iBAAS,gBACdC,SAAS,2BACR","names":["model: string | ModelIdentifier","options: FoundryAIProviderOptions"],"sources":["../../../src/ai-sdk/provider.ts"],"version":3,"file":"provider.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ModelIdentifier } from "../model.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,uBAAuB","names":[],"sources":["../../../src/ai-sdk/types.ts"],"version":3,"file":"types.d.ts"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { LanguageModel } from "./model.js";
|
|
2
|
+
import type { LanguageModelUsage, ModelMessage, StepResult, SystemModelMessage, ToolChoice, ToolSet } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Options for {@link generateText}.
|
|
5
|
+
*/
|
|
6
|
+
export interface GenerateTextOptions<TOOLS extends ToolSet = ToolSet> {
|
|
7
|
+
/** The language model to use. Build one via `foundryModel(...)`. */
|
|
8
|
+
model: LanguageModel;
|
|
9
|
+
/** Plain text prompt. Mutually exclusive with `messages`. */
|
|
10
|
+
prompt?: string | Array<ModelMessage>;
|
|
11
|
+
/** Conversation history. Mutually exclusive with `prompt`. */
|
|
12
|
+
messages?: Array<ModelMessage>;
|
|
13
|
+
/** System instructions, prepended to the conversation. */
|
|
14
|
+
system?: string | SystemModelMessage | Array<SystemModelMessage>;
|
|
15
|
+
tools?: TOOLS;
|
|
16
|
+
toolChoice?: ToolChoice<TOOLS>;
|
|
17
|
+
maxOutputTokens?: number;
|
|
18
|
+
temperature?: number;
|
|
19
|
+
topP?: number;
|
|
20
|
+
presencePenalty?: number;
|
|
21
|
+
frequencyPenalty?: number;
|
|
22
|
+
stopSequences?: Array<string>;
|
|
23
|
+
seed?: number;
|
|
24
|
+
abortSignal?: AbortSignal;
|
|
25
|
+
headers?: Record<string, string | undefined>;
|
|
26
|
+
onStepFinish?: (step: StepResult<TOOLS>) => void | Promise<void>;
|
|
27
|
+
onFinish?: (event: StepResult<TOOLS> & {
|
|
28
|
+
steps: Array<StepResult<TOOLS>>
|
|
29
|
+
totalUsage: LanguageModelUsage
|
|
30
|
+
}) => void | PromiseLike<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Result of {@link generateText}.
|
|
34
|
+
*/
|
|
35
|
+
export type GenerateTextResult<TOOLS extends ToolSet = ToolSet> = StepResult<TOOLS> & {
|
|
36
|
+
totalUsage: LanguageModelUsage
|
|
37
|
+
steps: Array<StepResult<TOOLS>>
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Generate a text completion via the Foundry Language Model Service.
|
|
41
|
+
*
|
|
42
|
+
* v0: single-step. Multi-step tool execution loops, image/file content,
|
|
43
|
+
* structured output, and Zod tool schemas are not yet supported.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* import { foundryModel, generateText } from "@osdk/aip-core";
|
|
48
|
+
*
|
|
49
|
+
* const { text } = await generateText({
|
|
50
|
+
* model: foundryModel({ client, model: "gpt-4o" }),
|
|
51
|
+
* system: "You are a concise assistant.",
|
|
52
|
+
* prompt: "Summarise this PR.",
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateText<TOOLS extends ToolSet = ToolSet>(options: GenerateTextOptions<TOOLS>): Promise<GenerateTextResult<TOOLS>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAkBA,cAAc,qBAAqB,YAAa;AAChD,cACE,oBACA,cACA,YACA,oBACA,YACA,eACK,YAAa;;;;AAKpB,iBAAiB,oBAAoB,cAAc,UAAU,SAAS;;CAEpE,OAAO;;CAGP,kBAAkB,MAAM;;CAGxB,WAAW,MAAM;;CAGjB,kBAAkB,qBAAqB,MAAM;CAI7C,QAAQ;CACR,aAAa,WAAW;CAIxB;CACA;CACA;CACA;CACA;CACA,gBAAgB;CAChB;CAIA,cAAc;CACd,UAAU;CAIV,gBAAgBA,MAAM,WAAW,kBAAkB;CACnD,YACEC,OACI,WAAW,SACX;EAAE,OAAO,MAAM,WAAW;EAAS,YAAY;CAAoB,aAC7D;AACb;;;;AAKD,YAAY,mBAAmB,cAAc,UAAU,WACnD,WAAW,SACX;CACA,YAAY;CACZ,OAAO,MAAM,WAAW;AACzB;;;;;;;;;;;;;;;;;;AAmBH,OAAO,iBAAe,aAAa,cAAc,UAAU,SACzDC,SAAS,oBAAoB,SAC5B,QAAQ,mBAAmB","names":["step: StepResult<TOOLS>","event:\n & StepResult<TOOLS>\n & { steps: Array<StepResult<TOOLS>>; totalUsage: LanguageModelUsage }","options: GenerateTextOptions<TOOLS>"],"sources":["../../src/generateText.ts"],"version":3,"file":"generateText.d.ts"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { generateText } from "./generateText.js";
|
|
2
|
+
export type { GenerateTextOptions, GenerateTextResult } from "./generateText.js";
|
|
3
|
+
export { streamText } from "./streamText.js";
|
|
4
|
+
export type { StreamTextOptions, StreamTextResult, TextStreamChunk } from "./streamText.js";
|
|
5
|
+
export { LmsChatTransport } from "./lmsChatTransport.js";
|
|
6
|
+
export type { LmsChatTransportOptions } from "./lmsChatTransport.js";
|
|
7
|
+
export { foundryModel } from "./model.js";
|
|
8
|
+
export type { FoundryModelOptions, LanguageModel, ModelIdentifier } from "./model.js";
|
|
9
|
+
export { generateMessageId } from "./internal/ids.js";
|
|
10
|
+
export { getUIMessageText } from "./uiMessage.js";
|
|
11
|
+
export type { ChatTransport, ChatTransportReconnectArgs, ChatTransportSendMessagesArgs, ChatTransportTrigger, UIMessage, UIMessageChunk, UIMessagePart, UIMessageRole } from "./uiMessage.js";
|
|
12
|
+
export type { AssistantModelMessage, ContentPart, FilePart, FinishReason, ImagePart, LanguageModelUsage, ModelMessage, ProviderMetadata, ProviderOptions, ReasoningOutput, ReasoningPart, RequestMetadata, ResponseMetadata, Role, StepResult, SystemModelMessage, TextPart, Tool, ToolCall, ToolCallPart, ToolChoice, ToolModelMessage, ToolResult, ToolResultOutput, ToolResultPart, ToolSet, UserModelMessage, Warning } from "./types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,SAAS,oBAAoB;AAC7B,cACE,qBACA,0BACK;AAEP,SAAS,kBAAkB;AAC3B,cACE,mBACA,kBACA,uBACK;AAEP,SAAS,wBAAwB;AACjC,cAAc,+BAA+B;AAE7C,SAAS,oBAAoB;AAC7B,cACE,qBACA,eACA,uBACK;AAEP,SAAS,yBAAyB;AAElC,SAAS,wBAAwB;AACjC,cACE,eACA,4BACA,+BACA,sBACA,WACA,gBACA,eACA,qBACK;AAEP,cACE,uBACA,aACA,UACA,cACA,WACA,oBACA,cACA,kBACA,iBACA,iBACA,eACA,iBACA,kBACA,MACA,YACA,oBACA,UACA,MACA,UACA,cACA,YACA,kBACA,YACA,kBACA,gBACA,SACA,kBACA,eACK","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PlatformClient } from "@osdk/client";
|
|
2
|
+
/**
|
|
3
|
+
* Build a typed `PlatformClient` for tests. `PlatformClient` is structurally
|
|
4
|
+
* `{ baseUrl, fetch, tokenProvider }`; we satisfy that shape directly so
|
|
5
|
+
* tests don't reach for `as unknown as PlatformClient`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function mockPlatformClient(args: {
|
|
8
|
+
baseUrl: string
|
|
9
|
+
fetch: typeof globalThis.fetch
|
|
10
|
+
token?: string
|
|
11
|
+
}): PlatformClient;
|
|
12
|
+
/** Throws with a labelled error if `value` is null/undefined. */
|
|
13
|
+
export declare function assertDefined<T>(value: T, label: string): asserts value is NonNullable<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,sBAAsB,cAAe;;;;;;AAOnD,OAAO,iBAAS,mBAAmBA,MAAM;CACvC;CACA,cAAc,WAAW;CACzB;AACD,IAAG;;AASJ,OAAO,iBAAS,cAAc,GAC5BC,OAAO,GACPC,wBACS,SAAS,YAAY","names":["args: {\n baseUrl: string;\n fetch: typeof globalThis.fetch;\n token?: string;\n}","value: T","label: string"],"sources":["../../../../src/internal/__test__/mockPlatformClient.ts"],"version":3,"file":"mockPlatformClient.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateMessageId(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,OAAO,iBAAS","names":[],"sources":["../../../src/internal/ids.ts"],"version":3,"file":"ids.d.ts"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { type LanguageModel, type ModelIdentifier } from "../model.js";
|
|
2
|
+
import type { AssistantModelMessage, FinishReason, LanguageModelUsage, ModelMessage, ToolCall, ToolChoice, ToolSet, Warning } from "../types.js";
|
|
3
|
+
export interface OpenAiMessage {
|
|
4
|
+
role: "system" | "user" | "assistant" | "tool";
|
|
5
|
+
content: string | Array<OpenAiContentPart> | null;
|
|
6
|
+
tool_calls?: Array<OpenAiAssistantToolCall>;
|
|
7
|
+
tool_call_id?: string;
|
|
8
|
+
}
|
|
9
|
+
type OpenAiContentPart = {
|
|
10
|
+
type: "text"
|
|
11
|
+
text: string
|
|
12
|
+
};
|
|
13
|
+
export interface OpenAiTool {
|
|
14
|
+
type: "function";
|
|
15
|
+
function: {
|
|
16
|
+
name: string
|
|
17
|
+
description?: string
|
|
18
|
+
parameters: unknown
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export type OpenAiToolChoice = "auto" | "none" | "required" | {
|
|
22
|
+
type: "function"
|
|
23
|
+
function: {
|
|
24
|
+
name: string
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export interface OpenAiAssistantToolCall {
|
|
28
|
+
id: string;
|
|
29
|
+
type: "function";
|
|
30
|
+
function: {
|
|
31
|
+
name: string
|
|
32
|
+
arguments: string
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export declare function getModelApiName(identifier: ModelIdentifier): string;
|
|
36
|
+
export interface OpenAiUsageRaw {
|
|
37
|
+
prompt_tokens: number;
|
|
38
|
+
completion_tokens: number;
|
|
39
|
+
total_tokens: number;
|
|
40
|
+
completion_tokens_details?: {
|
|
41
|
+
reasoning_tokens?: number
|
|
42
|
+
};
|
|
43
|
+
prompt_tokens_details?: {
|
|
44
|
+
cached_tokens?: number
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export declare function mapUsage(raw: OpenAiUsageRaw): LanguageModelUsage;
|
|
48
|
+
export declare const EMPTY_USAGE: LanguageModelUsage;
|
|
49
|
+
export declare function mapFinishReason(reason: string): FinishReason;
|
|
50
|
+
export declare function convertMessage(m: ModelMessage, warnings: Array<Warning>): Array<OpenAiMessage>;
|
|
51
|
+
export declare function convertTools<TOOLS extends ToolSet>(tools: TOOLS, warnings: Array<Warning>): Array<OpenAiTool>;
|
|
52
|
+
export declare function convertToolChoice<TOOLS extends ToolSet>(choice: ToolChoice<TOOLS> | undefined): OpenAiToolChoice | undefined;
|
|
53
|
+
export declare function parseToolArguments(args: string, warnings: Array<Warning>): unknown;
|
|
54
|
+
export interface BuildRequestBodyArgs<TOOLS extends ToolSet> {
|
|
55
|
+
apiName: string;
|
|
56
|
+
messages: ReadonlyArray<ModelMessage>;
|
|
57
|
+
tools: TOOLS | undefined;
|
|
58
|
+
toolChoice: ToolChoice<TOOLS> | undefined;
|
|
59
|
+
maxOutputTokens: number | undefined;
|
|
60
|
+
temperature: number | undefined;
|
|
61
|
+
topP: number | undefined;
|
|
62
|
+
stopSequences: ReadonlyArray<string> | undefined;
|
|
63
|
+
seed: number | undefined;
|
|
64
|
+
presencePenalty: number | undefined;
|
|
65
|
+
frequencyPenalty: number | undefined;
|
|
66
|
+
warnings: Array<Warning>;
|
|
67
|
+
}
|
|
68
|
+
interface OpenAiChatRequestCommon {
|
|
69
|
+
model: string;
|
|
70
|
+
messages: Array<OpenAiMessage>;
|
|
71
|
+
max_tokens?: number;
|
|
72
|
+
temperature?: number;
|
|
73
|
+
top_p?: number;
|
|
74
|
+
stop?: ReadonlyArray<string>;
|
|
75
|
+
seed?: number;
|
|
76
|
+
presence_penalty?: number;
|
|
77
|
+
frequency_penalty?: number;
|
|
78
|
+
tools?: Array<OpenAiTool>;
|
|
79
|
+
tool_choice?: OpenAiToolChoice;
|
|
80
|
+
}
|
|
81
|
+
export type OpenAiChatRequestNonStreaming = OpenAiChatRequestCommon & {
|
|
82
|
+
stream: false
|
|
83
|
+
};
|
|
84
|
+
export type OpenAiChatRequestStreaming = OpenAiChatRequestCommon & {
|
|
85
|
+
stream: true
|
|
86
|
+
stream_options?: {
|
|
87
|
+
include_usage?: boolean
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
export declare function buildOpenAiRequestBody<TOOLS extends ToolSet>(args: BuildRequestBodyArgs<TOOLS>, streaming: false): OpenAiChatRequestNonStreaming;
|
|
91
|
+
export declare function buildOpenAiRequestBody<TOOLS extends ToolSet>(args: BuildRequestBodyArgs<TOOLS>, streaming: true): OpenAiChatRequestStreaming;
|
|
92
|
+
export declare function buildAssistantContent(text: string, toolCalls: ReadonlyArray<ToolCall>): AssistantModelMessage["content"];
|
|
93
|
+
export declare function filterHeaders(input: Record<string, string | undefined>): Record<string, string>;
|
|
94
|
+
export declare function safeReadText(res: Response): Promise<string | undefined>;
|
|
95
|
+
export interface PostChatCompletionsArgs {
|
|
96
|
+
model: LanguageModel;
|
|
97
|
+
body: OpenAiChatRequestNonStreaming | OpenAiChatRequestStreaming;
|
|
98
|
+
accept: "application/json" | "text/event-stream";
|
|
99
|
+
headers: Record<string, string | undefined> | undefined;
|
|
100
|
+
abortSignal: AbortSignal | undefined;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* POST against the LMS OpenAI proxy's chat/completions endpoint and return
|
|
104
|
+
* the raw response. Throws on a non-2xx response.
|
|
105
|
+
*/
|
|
106
|
+
export declare function postChatCompletions(args: PostChatCompletionsArgs): Promise<Response>;
|
|
107
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAiBA,cAEO,oBACA,uBACA,aAAc;AACrB,cACE,uBACA,cACA,oBACA,cACA,UACA,YAEA,SACA,eACK,aAAc;AAErB,iBAAiB,cAAc;CAC7B,MAAM,WAAW,SAAS,cAAc;CACxC,kBAAkB,MAAM;CACxB,aAAa,MAAM;CACnB;AACD;KAEI,oBAAoB;CAAE,MAAM;CAAQ;AAAc;AAEvD,iBAAiB,WAAW;CAC1B,MAAM;CACN,UAAU;EACR;EACA;EACA;CACD;AACF;AAED,YAAY,mBACR,SACA,SACA,aACA;CAAE,MAAM;CAAY,UAAU;EAAE;CAAc;AAAE;AAEpD,iBAAiB,wBAAwB;CACvC;CACA,MAAM;CACN,UAAU;EAAE;EAAc;CAAmB;AAC9C;AAED,OAAO,iBAAS,gBAAgBA,YAAY;AAM5C,iBAAiB,eAAe;CAC9B;CACA;CACA;CACA,4BAA4B;EAAE;CAA2B;CACzD,wBAAwB;EAAE;CAAwB;AACnD;AAED,OAAO,iBAAS,SAASC,KAAK,iBAAiB;AAU/C,OAAO,cAAMC,aAAa;AAM1B,OAAO,iBAAS,gBAAgBC,iBAAiB;AAgBjD,OAAO,iBAAS,eACdC,GAAG,cACHC,UAAU,MAAM,WACf,MAAM;AAkGT,OAAO,iBAAS,aAAa,cAAc,SACzCC,OAAO,OACPD,UAAU,MAAM,WACf,MAAM;AAqBT,OAAO,iBAAS,kBAAkB,cAAc,SAC9CE,QAAQ,WAAW,qBAClB;AAyBH,OAAO,iBAAS,mBACdC,cACAH,UAAU,MAAM;AAiBlB,iBAAiB,qBAAqB,cAAc,SAAS;CAC3D;CACA,UAAU,cAAc;CACxB,OAAO;CACP,YAAY,WAAW;CACvB;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;CACA,UAAU,MAAM;AACjB;UAES,wBAAwB;CAChC;CACA,UAAU,MAAM;CAChB;CACA;CACA;CACA,OAAO;CACP;CACA;CACA;CACA,QAAQ,MAAM;CACd,cAAc;AACf;AAED,YAAY,gCAAgC,0BAA0B;CACpE,QAAQ;AACT;AAED,YAAY,6BAA6B,0BAA0B;CACjE,QAAQ;CACR,iBAAiB;EAAE;CAAyB;AAC7C;AAED,OAAO,iBAAS,uBAAuB,cAAc,SACnDI,MAAM,qBAAqB,QAC3BC,WAAW,QACV;AACH,OAAO,iBAAS,uBAAuB,cAAc,SACnDD,MAAM,qBAAqB,QAC3BE,WAAW,OACV;AA0BH,OAAO,iBAAS,sBACdC,cACAC,WAAW,cAAc,YACxB,sBAAsB;AA0BzB,OAAO,iBAAS,cACdC,OAAO,qCACN;AAUH,OAAO,iBAAe,aACpBC,KAAK,WACJ;AAQH,iBAAiB,wBAAwB;CACvC,OAAO;CACP,MAAM,gCAAgC;CACtC,QAAQ,qBAAqB;CAC7B,SAAS;CACT,aAAa;AACd;;;;;AAMD,OAAO,iBAAe,oBACpBC,MAAM,0BACL,QAAQ","names":["identifier: ModelIdentifier","raw: OpenAiUsageRaw","EMPTY_USAGE: LanguageModelUsage","reason: string","m: ModelMessage","warnings: Array<Warning>","tools: TOOLS","choice: ToolChoice<TOOLS> | undefined","args: string","args: BuildRequestBodyArgs<TOOLS>","streaming: false","streaming: true","text: string","toolCalls: ReadonlyArray<ToolCall>","input: Record<string, string | undefined>","res: Response","args: PostChatCompletionsArgs"],"sources":["../../../src/internal/openAi.ts"],"version":3,"file":"openAi.d.ts"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ModelMessage, SystemModelMessage } from "../types.js";
|
|
2
|
+
export type SystemOption = string | SystemModelMessage | Array<SystemModelMessage> | undefined;
|
|
3
|
+
export type PromptOption = string | Array<ModelMessage> | undefined;
|
|
4
|
+
export declare function resolveMessages(callerLabel: string, system: SystemOption, prompt: PromptOption, messages: Array<ModelMessage> | undefined): Array<ModelMessage>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,cAAc,0BAA0B,aAAc;AAEpE,YAAY,wBAER,qBACA,MAAM;AAGV,YAAY,wBAAwB,MAAM;AAE1C,OAAO,iBAAS,gBACdA,qBACAC,QAAQ,cACRC,QAAQ,cACRC,UAAU,MAAM,4BACf,MAAM","names":["callerLabel: string","system: SystemOption","prompt: PromptOption","messages: Array<ModelMessage> | undefined"],"sources":["../../../src/internal/options.ts"],"version":3,"file":"options.d.ts"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { LanguageModel } from "../model.js";
|
|
2
|
+
import type { ModelMessage, StepResult, ToolChoice, ToolSet, Warning } from "../types.js";
|
|
3
|
+
export interface RunStepInput<TOOLS extends ToolSet> {
|
|
4
|
+
model: LanguageModel;
|
|
5
|
+
/** System messages flattened into the head of this list. */
|
|
6
|
+
messages: ReadonlyArray<ModelMessage>;
|
|
7
|
+
tools: TOOLS | undefined;
|
|
8
|
+
toolChoice: ToolChoice<TOOLS> | undefined;
|
|
9
|
+
maxOutputTokens: number | undefined;
|
|
10
|
+
temperature: number | undefined;
|
|
11
|
+
topP: number | undefined;
|
|
12
|
+
stopSequences: ReadonlyArray<string> | undefined;
|
|
13
|
+
seed: number | undefined;
|
|
14
|
+
presencePenalty: number | undefined;
|
|
15
|
+
frequencyPenalty: number | undefined;
|
|
16
|
+
abortSignal: AbortSignal | undefined;
|
|
17
|
+
headers: Record<string, string | undefined> | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Mutated in place — additional warnings discovered while building the
|
|
20
|
+
* request are appended here.
|
|
21
|
+
*/
|
|
22
|
+
warnings: Array<Warning>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Performs a single non-streaming chat completion against the LMS OpenAI proxy
|
|
26
|
+
* and returns a {@link StepResult}. Caller is responsible for prepending any
|
|
27
|
+
* system messages before invoking.
|
|
28
|
+
*/
|
|
29
|
+
export declare function runStep<TOOLS extends ToolSet>(input: RunStepInput<TOOLS>): Promise<StepResult<TOOLS>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,qBAAqB,aAAc;AAEjD,cAIE,cAEA,YAEA,YACA,SACA,eACK,aAAc;AAcrB,iBAAiB,aAAa,cAAc,SAAS;CACnD,OAAO;;CAEP,UAAU,cAAc;CACxB,OAAO;CACP,YAAY,WAAW;CACvB;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;CACA,aAAa;CACb,SAAS;;;;;CAKT,UAAU,MAAM;AACjB;;;;;;AAOD,OAAO,iBAAe,QAAQ,cAAc,SAC1CA,OAAO,aAAa,SACnB,QAAQ,WAAW","names":["input: RunStepInput<TOOLS>"],"sources":["../../../src/internal/runStep.ts"],"version":3,"file":"runStep.d.ts"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type LanguageModel } from "../model.js";
|
|
2
|
+
import type { FinishReason, LanguageModelUsage, ModelMessage, RequestMetadata, ResponseMetadata, ToolCall, ToolChoice, ToolSet, Warning } from "../types.js";
|
|
3
|
+
export type StreamChunkEvent = {
|
|
4
|
+
type: "text-delta"
|
|
5
|
+
id: string
|
|
6
|
+
delta: string
|
|
7
|
+
} | {
|
|
8
|
+
type: "reasoning-delta"
|
|
9
|
+
id: string
|
|
10
|
+
delta: string
|
|
11
|
+
} | {
|
|
12
|
+
type: "tool-call"
|
|
13
|
+
toolCallId: string
|
|
14
|
+
toolName: string
|
|
15
|
+
input: unknown
|
|
16
|
+
} | {
|
|
17
|
+
type: "finish"
|
|
18
|
+
finishReason: FinishReason
|
|
19
|
+
rawFinishReason: string | undefined
|
|
20
|
+
usage: LanguageModelUsage
|
|
21
|
+
} | {
|
|
22
|
+
type: "error"
|
|
23
|
+
error: Error
|
|
24
|
+
};
|
|
25
|
+
export interface StreamStepInput<TOOLS extends ToolSet> {
|
|
26
|
+
model: LanguageModel;
|
|
27
|
+
messages: ReadonlyArray<ModelMessage>;
|
|
28
|
+
tools: TOOLS | undefined;
|
|
29
|
+
toolChoice: ToolChoice<TOOLS> | undefined;
|
|
30
|
+
maxOutputTokens: number | undefined;
|
|
31
|
+
temperature: number | undefined;
|
|
32
|
+
topP: number | undefined;
|
|
33
|
+
stopSequences: ReadonlyArray<string> | undefined;
|
|
34
|
+
seed: number | undefined;
|
|
35
|
+
presencePenalty: number | undefined;
|
|
36
|
+
frequencyPenalty: number | undefined;
|
|
37
|
+
abortSignal: AbortSignal | undefined;
|
|
38
|
+
headers: Record<string, string | undefined> | undefined;
|
|
39
|
+
warnings: Array<Warning>;
|
|
40
|
+
onChunk: (chunk: StreamChunkEvent) => void | Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
export interface StreamStepResult {
|
|
43
|
+
text: string;
|
|
44
|
+
reasoningText: string | undefined;
|
|
45
|
+
toolCalls: Array<ToolCall>;
|
|
46
|
+
finishReason: FinishReason;
|
|
47
|
+
rawFinishReason: string | undefined;
|
|
48
|
+
usage: LanguageModelUsage;
|
|
49
|
+
request: RequestMetadata;
|
|
50
|
+
response: ResponseMetadata;
|
|
51
|
+
}
|
|
52
|
+
export declare function streamStep<TOOLS extends ToolSet>(input: StreamStepInput<TOOLS>): Promise<StreamStepResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAmC,qBAAqB,aAAc;AACtE,cACE,cACA,oBACA,cACA,iBACA,kBACA,UACA,YACA,SACA,eACK,aAAc;AAYrB,YAAY,mBACR;CAAE,MAAM;CAAc;CAAY;AAAe,IACjD;CAAE,MAAM;CAAmB;CAAY;AAAe,IACtD;CACA,MAAM;CACN;CACA;CACA;AACD,IACC;CACA,MAAM;CACN,cAAc;CACd;CACA,OAAO;AACR,IACC;CAAE,MAAM;CAAS,OAAO;AAAO;AAEnC,iBAAiB,gBAAgB,cAAc,SAAS;CACtD,OAAO;CACP,UAAU,cAAc;CACxB,OAAO;CACP,YAAY,WAAW;CACvB;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;CACA,aAAa;CACb,SAAS;CACT,UAAU,MAAM;CAChB,UAAUA,OAAO,4BAA4B;AAC9C;AAED,iBAAiB,iBAAiB;CAChC;CACA;CACA,WAAW,MAAM;CACjB,cAAc;CACd;CACA,OAAO;CACP,SAAS;CACT,UAAU;AACX;AAsCD,OAAO,iBAAe,WAAW,cAAc,SAC7CC,OAAO,gBAAgB,SACtB,QAAQ","names":["chunk: StreamChunkEvent","input: StreamStepInput<TOOLS>"],"sources":["../../../src/internal/streamStep.ts"],"version":3,"file":"streamStep.d.ts"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ModelMessage } from "../types.js";
|
|
2
|
+
import { type UIMessage } from "../uiMessage.js";
|
|
3
|
+
/**
|
|
4
|
+
* Convert `UIMessage[]` (the conversation shape rendered in the UI) into
|
|
5
|
+
* `ModelMessage[]` (the shape `streamText` accepts).
|
|
6
|
+
*
|
|
7
|
+
* v0: text-only. File parts, reasoning parts, source parts, and tool-related
|
|
8
|
+
* parts are dropped. Tool-result UIMessages (none in v0 either) would map to
|
|
9
|
+
* `ToolModelMessage` once tool round-trips are wired up.
|
|
10
|
+
*
|
|
11
|
+
* When `system` is provided, any system-role messages already in `ui` are
|
|
12
|
+
* dropped so the prompt isn't double-prepended — the transport-level
|
|
13
|
+
* `system` wins.
|
|
14
|
+
*/
|
|
15
|
+
export declare function uiMessagesToModelMessages(ui: ReadonlyArray<UIMessage>, system?: string): Array<ModelMessage>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,oBAAoB,aAAc;AAChD,cAAgC,iBAAiB,iBAAkB;;;;;;;;;;;;;AAcnE,OAAO,iBAAS,0BACdA,IAAI,cAAc,YAClBC,kBACC,MAAM","names":["ui: ReadonlyArray<UIMessage>","system?: string"],"sources":["../../../src/internal/uiMessageBridge.ts"],"version":3,"file":"uiMessageBridge.d.ts"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { LanguageModel } from "./model.js";
|
|
2
|
+
import type { ChatTransport, ChatTransportReconnectArgs, ChatTransportSendMessagesArgs, UIMessage, UIMessageChunk } from "./uiMessage.js";
|
|
3
|
+
type SendMessagesArgs = ChatTransportSendMessagesArgs<UIMessage>;
|
|
4
|
+
/**
|
|
5
|
+
* Options for {@link LmsChatTransport}. Configures the streamed chat
|
|
6
|
+
* completion against the Foundry Language Model Service.
|
|
7
|
+
*/
|
|
8
|
+
export interface LmsChatTransportOptions {
|
|
9
|
+
/** Foundry-LMS-backed language model. Build via `foundryModel(...)`. */
|
|
10
|
+
model: LanguageModel;
|
|
11
|
+
/** System prompt prepended to every request. */
|
|
12
|
+
system?: string;
|
|
13
|
+
/** Sampling controls. */
|
|
14
|
+
temperature?: number;
|
|
15
|
+
maxOutputTokens?: number;
|
|
16
|
+
topP?: number;
|
|
17
|
+
presencePenalty?: number;
|
|
18
|
+
frequencyPenalty?: number;
|
|
19
|
+
stopSequences?: Array<string>;
|
|
20
|
+
seed?: number;
|
|
21
|
+
/** Extra HTTP headers forwarded to LMS. */
|
|
22
|
+
headers?: Record<string, string | undefined>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Stream chat completions through the Foundry Language Model Service via
|
|
26
|
+
* `streamText`. Implements `ChatTransport`, so any consumer that accepts a
|
|
27
|
+
* transport can plug it in (e.g. to inject custom sampling).
|
|
28
|
+
*/
|
|
29
|
+
export declare class LmsChatTransport implements ChatTransport<UIMessage> {
|
|
30
|
+
private readonly opts;
|
|
31
|
+
constructor(opts: LmsChatTransportOptions);
|
|
32
|
+
sendMessages: (args: SendMessagesArgs) => Promise<ReadableStream<UIMessageChunk>>;
|
|
33
|
+
reconnectToStream: (_args: ChatTransportReconnectArgs) => Promise<ReadableStream<UIMessageChunk> | null>;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAiBA,cAAc,qBAAqB,YAAa;AAEhD,cACE,eACA,4BACA,+BACA,WACA,sBACK,gBAAiB;KAEnB,mBAAmB,8BAA8B;;;;;AAMtD,iBAAiB,wBAAwB;;CAEvC,OAAO;;CAGP;;CAGA;CACA;CACA;CACA;CACA;CACA,gBAAgB;CAChB;;CAGA,UAAU;AACX;;;;;;AAOD,OAAO,cAAM,4BAA4B,cAAc,WAAW;CAChE,iBAAiB;CAEjB,YAAYA,MAAM;CAIlB,eACEC,MAAM,qBACL,QAAQ,eAAe;CAwH1B,oBACEC,OAAO,+BACN,QAAQ,eAAe;AAG3B","names":["opts: LmsChatTransportOptions","args: SendMessagesArgs","_args: ChatTransportReconnectArgs"],"sources":["../../src/lmsChatTransport.ts"],"version":3,"file":"lmsChatTransport.d.ts"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { PlatformClient } from "@osdk/client";
|
|
2
|
+
/**
|
|
3
|
+
* Identifies a model in the Foundry Language Model Service.
|
|
4
|
+
*
|
|
5
|
+
* - `lmsModel`: a built-in LMS model addressed by `apiName` (e.g. "gpt-4o")
|
|
6
|
+
* - `registeredModel`: a customer-registered model addressed by RID
|
|
7
|
+
*/
|
|
8
|
+
export type ModelIdentifier = {
|
|
9
|
+
type: "lmsModel"
|
|
10
|
+
apiName: string
|
|
11
|
+
} | {
|
|
12
|
+
type: "registeredModel"
|
|
13
|
+
registeredModelRid: string
|
|
14
|
+
};
|
|
15
|
+
/** Opaque language model handle accepted by `generateText` / `streamText`. */
|
|
16
|
+
export interface LanguageModel {
|
|
17
|
+
/** Stable identifier for logging / telemetry, e.g. "foundry/gpt-4o". */
|
|
18
|
+
readonly modelId: string;
|
|
19
|
+
/** Provider tag — `"foundry-lms"` for the built-in LMS adapter. */
|
|
20
|
+
readonly provider: string;
|
|
21
|
+
}
|
|
22
|
+
export interface FoundryModelOptions {
|
|
23
|
+
/** Foundry PlatformClient providing the auth token + base URL. */
|
|
24
|
+
client: PlatformClient;
|
|
25
|
+
/** LMS model API name or registered model RID. */
|
|
26
|
+
model: string | ModelIdentifier;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Construct a Foundry-LMS-backed {@link LanguageModel}.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* import { foundryModel, generateText } from "@osdk/aip-core";
|
|
34
|
+
*
|
|
35
|
+
* const model = foundryModel({ client, model: "gpt-4o" });
|
|
36
|
+
* const { text } = await generateText({
|
|
37
|
+
* model,
|
|
38
|
+
* prompt: "Hello, world",
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function foundryModel(options: FoundryModelOptions): LanguageModel;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,sBAAsB,cAAe;;;;;;;AAQnD,YAAY,kBACR;CAAE,MAAM;CAAY;AAAiB,IACrC;CAAE,MAAM;CAAmB;AAA4B;;AAG3D,iBAAiB,cAAc;;UAEpB;;UAEA;AACV;AAED,iBAAiB,oBAAoB;;CAEnC,QAAQ;;CAER,gBAAgB;AACjB;;;;;;;;;;;;;;;AAwBD,OAAO,iBAAS,aAAaA,SAAS,sBAAsB","names":["options: FoundryModelOptions"],"sources":["../../src/model.ts"],"version":3,"file":"model.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,SAAS,uBAAuB;AAChC,cACE,mBACA,gCACK","names":[],"sources":["../../../src/public/ai-sdk.ts"],"version":3,"file":"ai-sdk.d.ts"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type StreamChunkEvent } from "./internal/streamStep.js";
|
|
2
|
+
import type { LanguageModel } from "./model.js";
|
|
3
|
+
import type { FinishReason, LanguageModelUsage, ModelMessage, RequestMetadata, ResponseMetadata, SystemModelMessage, ToolCall, ToolChoice, ToolSet, Warning } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Options for {@link streamText}.
|
|
6
|
+
*/
|
|
7
|
+
export interface StreamTextOptions<TOOLS extends ToolSet = ToolSet> {
|
|
8
|
+
/** The language model to use. Build one via `foundryModel(...)`. */
|
|
9
|
+
model: LanguageModel;
|
|
10
|
+
/** Plain text prompt. Mutually exclusive with `messages`. */
|
|
11
|
+
prompt?: string | Array<ModelMessage>;
|
|
12
|
+
/** Conversation history. Mutually exclusive with `prompt`. */
|
|
13
|
+
messages?: Array<ModelMessage>;
|
|
14
|
+
/** System instructions, prepended to the conversation. */
|
|
15
|
+
system?: string | SystemModelMessage | Array<SystemModelMessage>;
|
|
16
|
+
tools?: TOOLS;
|
|
17
|
+
toolChoice?: ToolChoice<TOOLS>;
|
|
18
|
+
maxOutputTokens?: number;
|
|
19
|
+
temperature?: number;
|
|
20
|
+
topP?: number;
|
|
21
|
+
presencePenalty?: number;
|
|
22
|
+
frequencyPenalty?: number;
|
|
23
|
+
stopSequences?: Array<string>;
|
|
24
|
+
seed?: number;
|
|
25
|
+
abortSignal?: AbortSignal;
|
|
26
|
+
headers?: Record<string, string | undefined>;
|
|
27
|
+
/** Fires for every chunk emitted on `fullStream`. */
|
|
28
|
+
onChunk?: (chunk: TextStreamChunk) => void | PromiseLike<void>;
|
|
29
|
+
/** Fires when the stream errors out. The same error is also emitted via the stream. */
|
|
30
|
+
onError?: (error: Error) => void | PromiseLike<void>;
|
|
31
|
+
/** Fires once after the stream completes successfully. */
|
|
32
|
+
onFinish?: (event: {
|
|
33
|
+
finishReason: FinishReason
|
|
34
|
+
text: string
|
|
35
|
+
reasoningText: string | undefined
|
|
36
|
+
toolCalls: Array<ToolCall>
|
|
37
|
+
usage: LanguageModelUsage
|
|
38
|
+
totalUsage: LanguageModelUsage
|
|
39
|
+
warnings: Array<Warning> | undefined
|
|
40
|
+
response: ResponseMetadata | undefined
|
|
41
|
+
request: RequestMetadata | undefined
|
|
42
|
+
}) => void | PromiseLike<void>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Single chunk emitted on a {@link StreamTextResult.fullStream}.
|
|
46
|
+
*
|
|
47
|
+
* `toolName` is a runtime string — the model returns whatever it returns,
|
|
48
|
+
* so the chunk's tool name is not statically narrowed against the user's
|
|
49
|
+
* `TOOLS` set.
|
|
50
|
+
*/
|
|
51
|
+
export type TextStreamChunk = StreamChunkEvent;
|
|
52
|
+
/**
|
|
53
|
+
* Result of {@link streamText}.
|
|
54
|
+
*
|
|
55
|
+
* `fullStream` is a `ReadableStream` (not an async iterable) so it can be
|
|
56
|
+
* `pipeThrough`-ed with browser-native transforms.
|
|
57
|
+
*/
|
|
58
|
+
export interface StreamTextResult {
|
|
59
|
+
/** Stream of all chunk events. */
|
|
60
|
+
fullStream: ReadableStream<TextStreamChunk>;
|
|
61
|
+
/** Stream of just text-delta strings (convenience). */
|
|
62
|
+
textStream: ReadableStream<string>;
|
|
63
|
+
/** Resolves to the final accumulated assistant text. */
|
|
64
|
+
text: Promise<string>;
|
|
65
|
+
/** Resolves to the final accumulated reasoning text, if any. */
|
|
66
|
+
reasoningText: Promise<string | undefined>;
|
|
67
|
+
/** Resolves to the final usage. */
|
|
68
|
+
usage: Promise<LanguageModelUsage>;
|
|
69
|
+
/** Resolves to the same usage (single-step v0). */
|
|
70
|
+
totalUsage: Promise<LanguageModelUsage>;
|
|
71
|
+
/** Resolves to the finish reason. */
|
|
72
|
+
finishReason: Promise<FinishReason>;
|
|
73
|
+
/** Resolves to the accumulated tool calls. */
|
|
74
|
+
toolCalls: Promise<Array<ToolCall>>;
|
|
75
|
+
/** Resolves to v0 warnings, if any. */
|
|
76
|
+
warnings: Promise<Array<Warning> | undefined>;
|
|
77
|
+
/** Resolves to response metadata once the stream finishes. */
|
|
78
|
+
response: Promise<ResponseMetadata | undefined>;
|
|
79
|
+
/** Resolves to the request metadata. */
|
|
80
|
+
request: Promise<RequestMetadata | undefined>;
|
|
81
|
+
}
|
|
82
|
+
export declare function streamText<TOOLS extends ToolSet = ToolSet>(options: StreamTextOptions<TOOLS>): StreamTextResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAiBA,cAAc,wBAAoC,0BAA2B;AAC7E,cAAc,qBAAqB,YAAa;AAChD,cACE,cACA,oBACA,cACA,iBACA,kBACA,oBACA,UACA,YACA,SACA,eACK,YAAa;;;;AAKpB,iBAAiB,kBAAkB,cAAc,UAAU,SAAS;;CAElE,OAAO;;CAGP,kBAAkB,MAAM;;CAGxB,WAAW,MAAM;;CAGjB,kBAAkB,qBAAqB,MAAM;CAI7C,QAAQ;CACR,aAAa,WAAW;CAIxB;CACA;CACA;CACA;CACA;CACA,gBAAgB;CAChB;CAIA,cAAc;CACd,UAAU;;CAKV,WAAWA,OAAO,2BAA2B;;CAG7C,WAAWC,OAAO,iBAAiB;;CAGnC,YACEC,OAAO;EACL,cAAc;EACd;EACA;EACA,WAAW,MAAM;EACjB,OAAO;EACP,YAAY;EACZ,UAAU,MAAM;EAChB,UAAU;EACV,SAAS;CACV,aACS;AACb;;;;;;;;AASD,YAAY,kBAAkB;;;;;;;AAQ9B,iBAAiB,iBAAiB;;CAEhC,YAAY,eAAe;;CAE3B,YAAY;;CAEZ,MAAM;;CAEN,eAAe;;CAEf,OAAO,QAAQ;;CAEf,YAAY,QAAQ;;CAEpB,cAAc,QAAQ;;CAEtB,WAAW,QAAQ,MAAM;;CAEzB,UAAU,QAAQ,MAAM;;CAExB,UAAU,QAAQ;;CAElB,SAAS,QAAQ;AAClB;AAqCD,OAAO,iBAAS,WAAW,cAAc,UAAU,SACjDC,SAAS,kBAAkB,SAC1B","names":["chunk: TextStreamChunk","error: Error","event: {\n finishReason: FinishReason;\n text: string;\n reasoningText: string | undefined;\n toolCalls: Array<ToolCall>;\n usage: LanguageModelUsage;\n totalUsage: LanguageModelUsage;\n warnings: Array<Warning> | undefined;\n response: ResponseMetadata | undefined;\n request: RequestMetadata | undefined;\n }","options: StreamTextOptions<TOOLS>"],"sources":["../../src/streamText.ts"],"version":3,"file":"streamText.d.ts"}
|