@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.
Files changed (54) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE +21 -0
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/CodegenConversation.js +1 -1
  8. package/dist/src/CodegenConversation.js.map +1 -1
  9. package/dist/src/Conversation.d.ts +173 -99
  10. package/dist/src/Conversation.d.ts.map +1 -1
  11. package/dist/src/Conversation.js +903 -502
  12. package/dist/src/Conversation.js.map +1 -1
  13. package/dist/src/OpenAi.d.ts +20 -0
  14. package/dist/src/OpenAi.d.ts.map +1 -1
  15. package/dist/src/OpenAi.js +16 -0
  16. package/dist/src/OpenAi.js.map +1 -1
  17. package/dist/src/OpenAiStreamProcessor.d.ts +9 -3
  18. package/dist/src/OpenAiStreamProcessor.d.ts.map +1 -1
  19. package/dist/src/OpenAiStreamProcessor.js +5 -3
  20. package/dist/src/OpenAiStreamProcessor.js.map +1 -1
  21. package/dist/src/UsageData.d.ts.map +1 -1
  22. package/dist/src/UsageData.js +22 -0
  23. package/dist/src/UsageData.js.map +1 -1
  24. package/dist/src/code_template/Code.d.ts.map +1 -1
  25. package/dist/src/code_template/Code.js +8 -2
  26. package/dist/src/code_template/Code.js.map +1 -1
  27. package/dist/src/resolveModel.d.ts +17 -0
  28. package/dist/src/resolveModel.d.ts.map +1 -0
  29. package/dist/src/resolveModel.js +121 -0
  30. package/dist/src/resolveModel.js.map +1 -0
  31. package/dist/test/conversation/conversation.generateObject.test.d.ts +2 -0
  32. package/dist/test/conversation/conversation.generateObject.test.d.ts.map +1 -0
  33. package/dist/test/conversation/conversation.generateObject.test.js +153 -0
  34. package/dist/test/conversation/conversation.generateObject.test.js.map +1 -0
  35. package/dist/test/conversation/conversation.generateResponse.test.d.ts +2 -0
  36. package/dist/test/conversation/conversation.generateResponse.test.d.ts.map +1 -0
  37. package/dist/test/conversation/conversation.generateResponse.test.js +167 -0
  38. package/dist/test/conversation/conversation.generateResponse.test.js.map +1 -0
  39. package/dist/test/conversation/conversation.generateStream.test.d.ts +2 -0
  40. package/dist/test/conversation/conversation.generateStream.test.d.ts.map +1 -0
  41. package/dist/test/conversation/conversation.generateStream.test.js +255 -0
  42. package/dist/test/conversation/conversation.generateStream.test.js.map +1 -0
  43. package/index.ts +5 -0
  44. package/package.json +7 -2
  45. package/src/CodegenConversation.ts +1 -1
  46. package/src/Conversation.ts +938 -496
  47. package/src/OpenAi.ts +20 -0
  48. package/src/OpenAiStreamProcessor.ts +9 -3
  49. package/src/UsageData.ts +25 -0
  50. package/src/code_template/Code.ts +5 -1
  51. package/src/resolveModel.ts +130 -0
  52. package/test/conversation/conversation.generateObject.test.ts +132 -0
  53. package/test/conversation/conversation.generateResponse.test.ts +132 -0
  54. 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';
@@ -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;AAGtC,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"}
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;AAExD,kDAAgC;AAChC,wDAAsC;AAEtC,uBAAuB;AACvB,gFAA8D;AAC9D,uEAAqD;AACrD,yDAAuC;AACvC,4FAA0E;AAC1E,+FAA6E;AAC7E,iEAA+C;AAC/C,oEAAkD"}
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.message);
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":"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"}
1
+ {"version":3,"file":"CodegenConversation.js","sourceRoot":"","sources":["../../src/CodegenConversation.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,110 @@
1
- /// <reference types="node" />
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 { TiktokenModel } from 'tiktoken';
4
+ import { Function } from './Function';
8
5
  import { UsageData } from './UsageData';
9
- import type { LanguageModel } from 'ai';
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
- /** Object-only generation (no tool calls in this run). */
21
- export type GenerateObjectParams<S> = {
22
- /** Same input contract as generateResponse */
23
- messages: (string | ChatCompletionMessageParam)[];
24
- /** A ready AI SDK model, e.g., openai('gpt-5') / openai('gpt-4o') */
25
- model: LanguageModel;
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
- /** Zod schema or JSON Schema */
28
- schema: S;
29
- /** Sampling & limits */
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
- /** Usage callback */
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
- /** Per-call override for reasoning effort (reasoning models only). */
38
- reasoningEffort?: OpenAIApi.Chat.Completions.ChatCompletionReasoningEffort;
92
+ backgroundMode?: boolean;
93
+ serviceTier?: OpenAiServiceTier;
94
+ maxBackgroundWaitMs?: number;
39
95
  };
40
- export type GenerateObjectOutcome<T> = {
96
+ export type GenerateObjectResult<T> = {
41
97
  object: T;
42
- usageData: UsageData;
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
- private ensureModulesProcessed;
58
- private processModules;
59
- private addFunctions;
60
- private addMessageModerators;
61
- private enforceTokenLimit;
62
- summarizeConversationHistory(summary: string): void;
63
- private clearHistory;
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: ChatCompletionMessageParam[], unshift?: boolean): void;
68
- generateResponse({ messages, model, maxToolCalls, ...rest }: {
69
- messages: (string | ChatCompletionMessageParam)[];
70
- model?: TiktokenModel;
71
- abortSignal?: AbortSignal;
72
- onUsageData?: (usageData: UsageData) => Promise<void>;
73
- onToolInvocation?: (evt: ToolInvocationProgressEvent) => void;
74
- reasoningEffort?: OpenAIApi.Chat.Completions.ChatCompletionReasoningEffort;
75
- maxToolCalls?: number;
76
- }): Promise<import("./OpenAi").GenerateResponseReturn>;
77
- generateStreamingResponse({ messages, model, maxToolCalls, ...rest }: {
78
- messages: (string | ChatCompletionMessageParam)[];
79
- model?: TiktokenModel;
80
- abortSignal?: AbortSignal;
81
- onUsageData?: (usageData: UsageData) => Promise<void>;
82
- onToolInvocation?: (evt: ToolInvocationProgressEvent) => void;
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
- * Generate a validated JSON object (no tools in this run).
88
- * Uses AI SDK `generateObject` which leverages provider-native structured outputs when available.
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
- generateObject<T>({ messages, model, abortSignal, schema, temperature, topP, maxTokens, onUsageData, recordInHistory, reasoningEffort, }: GenerateObjectParams<unknown>): Promise<GenerateObjectOutcome<T>>;
91
- /** Convert (string | ChatCompletionMessageParam)[] -> AI SDK ModelMessage[] */
92
- private toModelMessages;
169
+ private mapReasoningEffortForOpenAi;
93
170
  /**
94
- * Strictifies a plain JSON Schema for OpenAI Structured Outputs (strict mode):
95
- * - Ensures every object has `additionalProperties: false`
96
- * - Ensures every object has a `required` array that includes **all** keys in `properties`
97
- * - Adds missing `type: "object"` / `type: "array"` where implied by keywords
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":"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"}
1
+ {"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}