@proteinjs/conversation 2.7.2 → 3.0.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 +24 -0
- package/LICENSE +21 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/src/CodegenConversation.js +1 -1
- package/dist/src/CodegenConversation.js.map +1 -1
- package/dist/src/Conversation.d.ts +173 -99
- package/dist/src/Conversation.d.ts.map +1 -1
- package/dist/src/Conversation.js +903 -502
- package/dist/src/Conversation.js.map +1 -1
- package/dist/src/OpenAi.d.ts +20 -0
- package/dist/src/OpenAi.d.ts.map +1 -1
- package/dist/src/OpenAi.js +16 -0
- package/dist/src/OpenAi.js.map +1 -1
- package/dist/src/OpenAiStreamProcessor.d.ts +9 -3
- package/dist/src/OpenAiStreamProcessor.d.ts.map +1 -1
- package/dist/src/OpenAiStreamProcessor.js +5 -3
- package/dist/src/OpenAiStreamProcessor.js.map +1 -1
- package/dist/src/UsageData.d.ts.map +1 -1
- package/dist/src/UsageData.js +22 -0
- package/dist/src/UsageData.js.map +1 -1
- package/dist/src/code_template/Code.d.ts.map +1 -1
- package/dist/src/code_template/Code.js +8 -2
- package/dist/src/code_template/Code.js.map +1 -1
- package/dist/src/resolveModel.d.ts +17 -0
- package/dist/src/resolveModel.d.ts.map +1 -0
- package/dist/src/resolveModel.js +121 -0
- package/dist/src/resolveModel.js.map +1 -0
- package/dist/test/conversation/conversation.generateObject.test.d.ts +2 -0
- package/dist/test/conversation/conversation.generateObject.test.d.ts.map +1 -0
- package/dist/test/conversation/conversation.generateObject.test.js +153 -0
- package/dist/test/conversation/conversation.generateObject.test.js.map +1 -0
- package/dist/test/conversation/conversation.generateResponse.test.d.ts +2 -0
- package/dist/test/conversation/conversation.generateResponse.test.d.ts.map +1 -0
- package/dist/test/conversation/conversation.generateResponse.test.js +167 -0
- package/dist/test/conversation/conversation.generateResponse.test.js.map +1 -0
- package/dist/test/conversation/conversation.generateStream.test.d.ts +2 -0
- package/dist/test/conversation/conversation.generateStream.test.d.ts.map +1 -0
- package/dist/test/conversation/conversation.generateStream.test.js +255 -0
- package/dist/test/conversation/conversation.generateStream.test.js.map +1 -0
- package/index.ts +5 -0
- package/package.json +7 -2
- package/src/CodegenConversation.ts +1 -1
- package/src/Conversation.ts +938 -496
- package/src/OpenAi.ts +20 -0
- package/src/OpenAiStreamProcessor.ts +9 -3
- package/src/UsageData.ts +25 -0
- package/src/code_template/Code.ts +5 -1
- package/src/resolveModel.ts +130 -0
- package/test/conversation/conversation.generateObject.test.ts +132 -0
- package/test/conversation/conversation.generateResponse.test.ts +132 -0
- package/test/conversation/conversation.generateStream.test.ts +173 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.0.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.7.3...@proteinjs/conversation@3.0.0) (2026-03-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### chore
|
|
10
|
+
|
|
11
|
+
* **conversation:** trigger major version bump ([f1598e6](https://github.com/proteinjs/conversation/commit/f1598e63e6d24d79b86c9bfcf9d39a94d67474e3))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
* **conversation:** Conversation v2 rewrites the class API to use Vercel AI SDK v6
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [2.7.3](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.7.2...@proteinjs/conversation@2.7.3) (2026-03-25)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @proteinjs/conversation
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
# [2.7.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.6.0...@proteinjs/conversation@2.7.0) (2026-01-26)
|
|
7
31
|
|
|
8
32
|
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './src/Sentence';
|
|
2
2
|
export * from './src/Paragraph';
|
|
3
|
+
/** @deprecated — Use `Conversation` instead of `OpenAi`. */
|
|
3
4
|
export * from './src/OpenAi';
|
|
4
5
|
export * from './src/code_template/CodeTemplate';
|
|
5
6
|
export * from './src/Conversation';
|
|
@@ -10,9 +11,11 @@ export * from './src/Function';
|
|
|
10
11
|
export * from './src/history/MessageModerator';
|
|
11
12
|
export * from './src/history/MessageHistory';
|
|
12
13
|
export * from './src/ChatCompletionMessageParamFactory';
|
|
14
|
+
/** @deprecated — Use `StreamResult.textStream` from `Conversation.generateStream` instead. */
|
|
13
15
|
export { AssistantResponseStreamChunk } from './src/OpenAiStreamProcessor';
|
|
14
16
|
export * from './src/UsageData';
|
|
15
17
|
export * from './src/OpenAiResponses';
|
|
18
|
+
export * from './src/resolveModel';
|
|
16
19
|
export * from './src/fs/conversation_fs/ConversationFsModule';
|
|
17
20
|
export * from './src/fs/conversation_fs/FsFunctions';
|
|
18
21
|
export * from './src/fs/git/GitModule';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,4DAA4D;AAC5D,cAAc,cAAc,CAAC;AAC7B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,8FAA8F;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2DAA2D,CAAC;AAC1E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./src/Sentence"), exports);
|
|
18
18
|
__exportStar(require("./src/Paragraph"), exports);
|
|
19
|
+
/** @deprecated — Use `Conversation` instead of `OpenAi`. */
|
|
19
20
|
__exportStar(require("./src/OpenAi"), exports);
|
|
20
21
|
__exportStar(require("./src/code_template/CodeTemplate"), exports);
|
|
21
22
|
__exportStar(require("./src/Conversation"), exports);
|
|
@@ -28,6 +29,7 @@ __exportStar(require("./src/history/MessageHistory"), exports);
|
|
|
28
29
|
__exportStar(require("./src/ChatCompletionMessageParamFactory"), exports);
|
|
29
30
|
__exportStar(require("./src/UsageData"), exports);
|
|
30
31
|
__exportStar(require("./src/OpenAiResponses"), exports);
|
|
32
|
+
__exportStar(require("./src/resolveModel"), exports);
|
|
31
33
|
// Conversation modules
|
|
32
34
|
__exportStar(require("./src/fs/conversation_fs/ConversationFsModule"), exports);
|
|
33
35
|
__exportStar(require("./src/fs/conversation_fs/FsFunctions"), exports);
|
|
@@ -36,4 +38,5 @@ __exportStar(require("./src/fs/keyword_to_files_index/KeywordToFilesIndexModule"
|
|
|
36
38
|
__exportStar(require("./src/fs/keyword_to_files_index/KeywordToFilesIndexFunctions"), exports);
|
|
37
39
|
__exportStar(require("./src/fs/package/PackageModule"), exports);
|
|
38
40
|
__exportStar(require("./src/fs/package/PackageFunctions"), exports);
|
|
41
|
+
// bump
|
|
39
42
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,mEAAiD;AACjD,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,iDAA+B;AAC/B,iEAA+C;AAC/C,+DAA6C;AAC7C,0EAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,4DAA4D;AAC5D,+CAA6B;AAC7B,mEAAiD;AACjD,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,iDAA+B;AAC/B,iEAA+C;AAC/C,+DAA6C;AAC7C,0EAAwD;AAGxD,kDAAgC;AAChC,wDAAsC;AACtC,qDAAmC;AAEnC,uBAAuB;AACvB,gFAA8D;AAC9D,uEAAqD;AACrD,yDAAuC;AACvC,4FAA0E;AAC1E,+FAA6E;AAC7E,iEAA+C;AAC/C,oEAAkD;AAElD,OAAO"}
|
|
@@ -91,7 +91,7 @@ var CodegenConversation = /** @class */ (function () {
|
|
|
91
91
|
_a.label = 3;
|
|
92
92
|
case 3:
|
|
93
93
|
if (!true) return [3 /*break*/, 5];
|
|
94
|
-
userInput = this.respondToUser(responseObject.
|
|
94
|
+
userInput = this.respondToUser(responseObject.text);
|
|
95
95
|
return [4 /*yield*/, conversation.generateResponse({ messages: [userInput], model: CodegenConversation.MODEL })];
|
|
96
96
|
case 4:
|
|
97
97
|
responseObject = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodegenConversation.js","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0C;AAC1C,+CAA8C;AAC9C,mGAAyG;AACzG,oFAA0F;AAC1F,kFAAwF;AACxF,4DAAkE;AAElE,wCAAsD;AACtD,gDAAsD;AAMtD;IAME,6BAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEK,mCAAK,GAAX;;;;;4BACuB,qBAAM,IAAI,CAAC,kBAAkB,EAAE,EAAA;;wBAA9C,YAAY,GAAG,SAA+B;wBACpD,YAAY,CAAC,6BAA6B,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC7E,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;wBAC7D,qBAAM,YAAY,CAAC,gBAAgB,CAAC;gCACvD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gCAC5B,KAAK,EAAE,mBAAmB,CAAC,KAAK;6BACjC,CAAC,EAAA;;wBAHE,cAAc,GAAG,SAGnB;;;6BAEK,IAAI;wBACH,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"CodegenConversation.js","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +1,110 @@
|
|
|
1
|
-
|
|
2
|
-
import { ChatCompletionMessageParam } from 'openai/resources/chat';
|
|
3
|
-
import { ToolInvocationProgressEvent } from './OpenAi';
|
|
4
|
-
import { OpenAI as OpenAIApi } from 'openai';
|
|
1
|
+
import type { LanguageModel } from 'ai';
|
|
5
2
|
import { LogLevel } from '@proteinjs/logger';
|
|
6
3
|
import { ConversationModule } from './ConversationModule';
|
|
7
|
-
import {
|
|
4
|
+
import { Function } from './Function';
|
|
8
5
|
import { UsageData } from './UsageData';
|
|
9
|
-
import type {
|
|
6
|
+
import type { ToolInvocationProgressEvent, ToolInvocationResult } from './OpenAi';
|
|
7
|
+
import type { OpenAiServiceTier } from './OpenAiResponses';
|
|
8
|
+
export type { ToolInvocationProgressEvent, ToolInvocationResult } from './OpenAi';
|
|
10
9
|
export type ConversationParams = {
|
|
11
10
|
name: string;
|
|
12
11
|
modules?: ConversationModule[];
|
|
13
12
|
logLevel?: LogLevel;
|
|
13
|
+
defaultModel?: LanguageModel | string;
|
|
14
14
|
limits?: {
|
|
15
15
|
enforceLimits?: boolean;
|
|
16
16
|
maxMessagesInHistory?: number;
|
|
17
17
|
tokenLimit?: number;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
-
/**
|
|
21
|
-
export type
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
/** Message format accepted by Conversation methods. */
|
|
21
|
+
export type ConversationMessage = string | {
|
|
22
|
+
role: 'system' | 'user' | 'assistant' | 'developer' | 'tool' | 'function' | (string & {});
|
|
23
|
+
content?: string | null | unknown;
|
|
24
|
+
};
|
|
25
|
+
/** @deprecated Use `GenerateObjectResult` instead. */
|
|
26
|
+
export type GenerateObjectOutcome<T> = GenerateObjectResult<T>;
|
|
27
|
+
export type ReasoningEffort = 'none' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';
|
|
28
|
+
export type GenerateStreamParams = {
|
|
29
|
+
messages: ConversationMessage[];
|
|
30
|
+
model?: LanguageModel | string;
|
|
31
|
+
reasoningEffort?: ReasoningEffort;
|
|
32
|
+
webSearch?: boolean;
|
|
33
|
+
tools?: Function[];
|
|
34
|
+
onToolInvocation?: (evt: ToolInvocationProgressEvent) => void;
|
|
35
|
+
onUsageData?: (usageData: UsageData) => Promise<void>;
|
|
26
36
|
abortSignal?: AbortSignal;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
maxToolCalls?: number;
|
|
38
|
+
backgroundMode?: boolean;
|
|
39
|
+
serviceTier?: OpenAiServiceTier;
|
|
40
|
+
maxBackgroundWaitMs?: number;
|
|
41
|
+
};
|
|
42
|
+
/** A single part emitted by the interleaved full stream. */
|
|
43
|
+
export type StreamPart = {
|
|
44
|
+
type: 'text-delta';
|
|
45
|
+
textDelta: string;
|
|
46
|
+
} | {
|
|
47
|
+
type: 'reasoning-delta';
|
|
48
|
+
textDelta: string;
|
|
49
|
+
} | {
|
|
50
|
+
type: 'source';
|
|
51
|
+
source: StreamSource;
|
|
52
|
+
};
|
|
53
|
+
/** The result of generateStream. All properties are available immediately for streaming consumption. */
|
|
54
|
+
export type StreamResult = {
|
|
55
|
+
/** Async iterable of text content chunks. */
|
|
56
|
+
textStream: AsyncIterable<string>;
|
|
57
|
+
/** Async iterable of reasoning/thinking chunks (empty if model doesn't support reasoning). */
|
|
58
|
+
reasoningStream: AsyncIterable<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Interleaved stream of all parts (text, reasoning, sources) for real-time
|
|
61
|
+
* consumption. Prefer this over consuming `textStream` and `reasoningStream`
|
|
62
|
+
* separately, since those may share the same underlying data source and
|
|
63
|
+
* cannot be consumed concurrently.
|
|
64
|
+
*/
|
|
65
|
+
fullStream: AsyncIterable<StreamPart>;
|
|
66
|
+
/** Resolves to the full text when generation completes. */
|
|
67
|
+
text: Promise<string>;
|
|
68
|
+
/** Resolves to the full reasoning text when generation completes. */
|
|
69
|
+
reasoning: Promise<string>;
|
|
70
|
+
/** Resolves to source citations (web search results, etc.). */
|
|
71
|
+
sources: Promise<StreamSource[]>;
|
|
72
|
+
/** Resolves to usage data when generation completes. */
|
|
73
|
+
usage: Promise<UsageData>;
|
|
74
|
+
/** Resolves to tool invocation results. */
|
|
75
|
+
toolInvocations: Promise<ToolInvocationResult[]>;
|
|
76
|
+
};
|
|
77
|
+
export type StreamSource = {
|
|
78
|
+
url?: string;
|
|
79
|
+
title?: string;
|
|
80
|
+
};
|
|
81
|
+
export type GenerateObjectParams<T> = {
|
|
82
|
+
messages: ConversationMessage[];
|
|
83
|
+
model?: LanguageModel | string;
|
|
84
|
+
schema: any;
|
|
85
|
+
reasoningEffort?: ReasoningEffort;
|
|
30
86
|
temperature?: number;
|
|
31
87
|
topP?: number;
|
|
32
88
|
maxTokens?: number;
|
|
33
|
-
|
|
89
|
+
abortSignal?: AbortSignal;
|
|
34
90
|
onUsageData?: (usageData: UsageData) => Promise<void>;
|
|
35
|
-
/** Append final JSON to history as assistant text; default true */
|
|
36
91
|
recordInHistory?: boolean;
|
|
37
|
-
|
|
38
|
-
|
|
92
|
+
backgroundMode?: boolean;
|
|
93
|
+
serviceTier?: OpenAiServiceTier;
|
|
94
|
+
maxBackgroundWaitMs?: number;
|
|
39
95
|
};
|
|
40
|
-
export type
|
|
96
|
+
export type GenerateObjectResult<T> = {
|
|
41
97
|
object: T;
|
|
42
|
-
|
|
98
|
+
usage: UsageData;
|
|
99
|
+
reasoning?: string;
|
|
100
|
+
toolInvocations: ToolInvocationResult[];
|
|
101
|
+
};
|
|
102
|
+
export type GenerateResponseResult = {
|
|
103
|
+
text: string;
|
|
104
|
+
reasoning?: string;
|
|
105
|
+
sources: StreamSource[];
|
|
106
|
+
usage: UsageData;
|
|
107
|
+
toolInvocations: ToolInvocationResult[];
|
|
43
108
|
};
|
|
44
109
|
export declare class Conversation {
|
|
45
110
|
private tokenLimit;
|
|
@@ -47,96 +112,105 @@ export declare class Conversation {
|
|
|
47
112
|
private systemMessages;
|
|
48
113
|
private functions;
|
|
49
114
|
private messageModerators;
|
|
50
|
-
private generatedCode;
|
|
51
|
-
private generatedList;
|
|
52
115
|
private logger;
|
|
53
116
|
private params;
|
|
54
117
|
private modulesProcessed;
|
|
55
118
|
private processingModulesPromise;
|
|
56
119
|
constructor(params: ConversationParams);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Stream a text response from the model.
|
|
122
|
+
*
|
|
123
|
+
* Returns a `StreamResult` with async iterables for text and reasoning chunks,
|
|
124
|
+
* plus promises that resolve when generation completes.
|
|
125
|
+
*
|
|
126
|
+
* For OpenAI models with high reasoning effort or pro models, this may
|
|
127
|
+
* fall back to background/polling mode via `OpenAiResponses` and return
|
|
128
|
+
* the full result as a single-chunk stream.
|
|
129
|
+
*/
|
|
130
|
+
generateStream(params: GenerateStreamParams): Promise<StreamResult>;
|
|
131
|
+
/**
|
|
132
|
+
* Generate a strongly-typed structured object from the model.
|
|
133
|
+
*
|
|
134
|
+
* This is promise-based (not streaming-first) to guarantee the
|
|
135
|
+
* type contract. Reasoning is available on the result after completion.
|
|
136
|
+
*
|
|
137
|
+
* For OpenAI models with high reasoning or pro models, this uses
|
|
138
|
+
* `OpenAiResponses` with background/polling mode.
|
|
139
|
+
*/
|
|
140
|
+
generateObject<T>(params: GenerateObjectParams<T>): Promise<GenerateObjectResult<T>>;
|
|
141
|
+
/**
|
|
142
|
+
* Non-streaming convenience: generates a text response and waits for completion.
|
|
143
|
+
*/
|
|
144
|
+
generateResponse(params: GenerateStreamParams): Promise<GenerateResponseResult>;
|
|
64
145
|
addSystemMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
65
146
|
addAssistantMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
66
147
|
addUserMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
67
|
-
addMessagesToHistory(messages:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
reasoningEffort?: OpenAIApi.Chat.Completions.ChatCompletionReasoningEffort;
|
|
84
|
-
maxToolCalls?: number;
|
|
85
|
-
}): Promise<import("stream").Readable>;
|
|
148
|
+
addMessagesToHistory(messages: ConversationMessage[], unshift?: boolean): void;
|
|
149
|
+
private ensureModulesProcessed;
|
|
150
|
+
private processModules;
|
|
151
|
+
private buildAiSdkMessages;
|
|
152
|
+
private extractTextFromContent;
|
|
153
|
+
private buildAiSdkTools;
|
|
154
|
+
/**
|
|
155
|
+
* Normalize tool parameter schemas to ensure they are valid JSON Schema
|
|
156
|
+
* with `type: "object"`. Handles missing, null, or invalid schemas
|
|
157
|
+
* (e.g. `type: "None"` which some functions produce).
|
|
158
|
+
*/
|
|
159
|
+
private normalizeToolParameters;
|
|
160
|
+
private buildProviderOptions;
|
|
161
|
+
private shouldUseBackgroundMode;
|
|
162
|
+
private isProModel;
|
|
163
|
+
private isHighReasoningEffort;
|
|
86
164
|
/**
|
|
87
|
-
*
|
|
88
|
-
*
|
|
165
|
+
* Map our ReasoningEffort to OpenAI's accepted values.
|
|
166
|
+
* OpenAI accepts: none | low | medium | high | xhigh
|
|
167
|
+
* 'max' → 'xhigh' (OpenAI's highest).
|
|
89
168
|
*/
|
|
90
|
-
|
|
91
|
-
/** Convert (string | ChatCompletionMessageParam)[] -> AI SDK ModelMessage[] */
|
|
92
|
-
private toModelMessages;
|
|
169
|
+
private mapReasoningEffortForOpenAi;
|
|
93
170
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
|
|
97
|
-
|
|
171
|
+
* Fall back to OpenAiResponses for background/polling mode.
|
|
172
|
+
* Returns a StreamResult where the text arrives as a single chunk after polling completes.
|
|
173
|
+
*/
|
|
174
|
+
private generateStreamViaPolling;
|
|
175
|
+
/**
|
|
176
|
+
* Fall back to OpenAiResponses for generateObject with background/polling.
|
|
177
|
+
*/
|
|
178
|
+
private generateObjectViaPolling;
|
|
179
|
+
private createOpenAiResponses;
|
|
180
|
+
private convertToOpenAiMessages;
|
|
181
|
+
private resolveModelInstance;
|
|
182
|
+
private getModelString;
|
|
183
|
+
/**
|
|
184
|
+
* Build a usage promise from a streaming result.
|
|
185
|
+
* Uses `totalUsage` (accumulated across all steps in a tool-call loop)
|
|
186
|
+
* and populates tool call stats from the steps.
|
|
187
|
+
*/
|
|
188
|
+
private buildUsagePromise;
|
|
189
|
+
private buildToolInvocationsPromise;
|
|
190
|
+
/**
|
|
191
|
+
* Map AI SDK's `LanguageModelUsage` to our `UsageData`.
|
|
192
|
+
*
|
|
193
|
+
* The AI SDK v6 provides cached/reasoning token breakdowns directly in
|
|
194
|
+
* `LanguageModelUsage.inputTokenDetails` and `outputTokenDetails`, so we
|
|
195
|
+
* use those first and only fall back to provider metadata for older providers.
|
|
196
|
+
*/
|
|
197
|
+
private mapSdkUsage;
|
|
198
|
+
/**
|
|
199
|
+
* Process usage from a generateObject result (single-step, no tool calls).
|
|
200
|
+
*/
|
|
201
|
+
private processAiSdkUsage;
|
|
202
|
+
/**
|
|
203
|
+
* Maps the AI SDK's `fullStream` (which emits all event types) into our
|
|
204
|
+
* `StreamPart` union. This is the primary way to consume streaming output
|
|
205
|
+
* in real-time, since it yields text, reasoning, and source events in the
|
|
206
|
+
* order the model produces them.
|
|
207
|
+
*/
|
|
208
|
+
private mapFullStream;
|
|
209
|
+
private extractReasoningFromResult;
|
|
210
|
+
private isZodSchema;
|
|
211
|
+
/**
|
|
212
|
+
* Strictifies a JSON Schema for OpenAI Structured Outputs (strict mode).
|
|
98
213
|
*/
|
|
99
214
|
private strictifyJsonSchema;
|
|
100
|
-
private processUsageData;
|
|
101
|
-
private extractOpenAiUsageDetails;
|
|
102
|
-
generateCode({ description, model }: {
|
|
103
|
-
description: string[];
|
|
104
|
-
model?: TiktokenModel;
|
|
105
|
-
}): Promise<string>;
|
|
106
|
-
updateCodeFromFile({ codeToUpdateFilePath, dependencyCodeFilePaths, description, model, }: {
|
|
107
|
-
codeToUpdateFilePath: string;
|
|
108
|
-
dependencyCodeFilePaths: string[];
|
|
109
|
-
description: string;
|
|
110
|
-
model?: TiktokenModel;
|
|
111
|
-
}): Promise<string>;
|
|
112
|
-
updateCode({ code, description, model }: {
|
|
113
|
-
code: string;
|
|
114
|
-
description: string;
|
|
115
|
-
model?: TiktokenModel;
|
|
116
|
-
}): Promise<string>;
|
|
117
|
-
generateList({ description, model }: {
|
|
118
|
-
description: string[];
|
|
119
|
-
model?: TiktokenModel;
|
|
120
|
-
}): Promise<string[]>;
|
|
121
215
|
}
|
|
122
|
-
export declare const summarizeConversationHistoryFunctionName = "summarizeConversationHistory";
|
|
123
|
-
export declare const summarizeConversationHistoryFunction: (conversation: Conversation) => {
|
|
124
|
-
definition: {
|
|
125
|
-
name: string;
|
|
126
|
-
description: string;
|
|
127
|
-
parameters: {
|
|
128
|
-
type: string;
|
|
129
|
-
properties: {
|
|
130
|
-
summary: {
|
|
131
|
-
type: string;
|
|
132
|
-
description: string;
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
required: string[];
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
call: (params: {
|
|
139
|
-
summary: string;
|
|
140
|
-
}) => Promise<void>;
|
|
141
|
-
};
|
|
142
216
|
//# sourceMappingURL=Conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|