@proteinjs/conversation 2.5.0 → 2.6.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 CHANGED
@@ -3,6 +3,17 @@
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
+ # [2.6.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.5.0...@proteinjs/conversation@2.6.0) (2026-01-16)
7
+
8
+
9
+ ### Features
10
+
11
+ * Added `OpenAiResponses` as a wrapper around the responses api. ([8fa7470](https://github.com/proteinjs/conversation/commit/8fa7470265cc5157e980600a910e96225ba8c43f))
12
+
13
+
14
+
15
+
16
+
6
17
  # [2.5.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@2.4.2...@proteinjs/conversation@2.5.0) (2026-01-16)
7
18
 
8
19
 
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export * from './src/history/MessageHistory';
12
12
  export * from './src/ChatCompletionMessageParamFactory';
13
13
  export { AssistantResponseStreamChunk } from './src/OpenAiStreamProcessor';
14
14
  export { UsageData, TokenUsage } from './src/UsageData';
15
+ export * from './src/OpenAiResponses';
15
16
  export * from './src/fs/conversation_fs/ConversationFsModule';
16
17
  export * from './src/fs/conversation_fs/FsFunctions';
17
18
  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,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGxD,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,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,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,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"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./src/Function"), exports);
26
26
  __exportStar(require("./src/history/MessageModerator"), exports);
27
27
  __exportStar(require("./src/history/MessageHistory"), exports);
28
28
  __exportStar(require("./src/ChatCompletionMessageParamFactory"), exports);
29
+ __exportStar(require("./src/OpenAiResponses"), exports);
29
30
  // Conversation modules
30
31
  __exportStar(require("./src/fs/conversation_fs/ConversationFsModule"), exports);
31
32
  __exportStar(require("./src/fs/conversation_fs/FsFunctions"), exports);
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;AAIxD,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,+CAA6B;AAC7B,mEAAiD;AACjD,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,iDAA+B;AAC/B,iEAA+C;AAC/C,+DAA6C;AAC7C,0EAAwD;AAGxD,wDAAsC;AAEtC,uBAAuB;AACvB,gFAA8D;AAC9D,uEAAqD;AACrD,yDAAuC;AACvC,4FAA0E;AAC1E,+FAA6E;AAC7E,iEAA+C;AAC/C,oEAAkD"}
@@ -0,0 +1,121 @@
1
+ import { OpenAI as OpenAIApi } from 'openai';
2
+ import type { ChatCompletionMessageParam } from 'openai/resources/chat';
3
+ import { LogLevel } from '@proteinjs/logger';
4
+ import type { ConversationModule } from './ConversationModule';
5
+ import { UsageData } from './UsageData';
6
+ import type { GenerateResponseReturn, ToolInvocationProgressEvent } from './OpenAi';
7
+ export declare const DEFAULT_RESPONSES_MODEL = "gpt-5.2";
8
+ export declare const DEFAULT_MAX_TOOL_CALLS = 50;
9
+ export type OpenAiResponsesParams = {
10
+ modules?: ConversationModule[];
11
+ /** If provided, only these functions will be exposed to the model. */
12
+ allowedFunctionNames?: string[];
13
+ logLevel?: LogLevel;
14
+ /** Default model when none is provided per call. */
15
+ defaultModel?: string;
16
+ /** Default cap for tool calls (per call). */
17
+ maxToolCalls?: number;
18
+ };
19
+ export type GenerateTextParams = {
20
+ messages: (string | ChatCompletionMessageParam)[];
21
+ model?: string;
22
+ abortSignal?: AbortSignal;
23
+ /** Sampling & limits */
24
+ temperature?: number;
25
+ topP?: number;
26
+ maxTokens?: number;
27
+ /** Optional realtime hook for tool-call lifecycle (started/finished). */
28
+ onToolInvocation?: (evt: ToolInvocationProgressEvent) => void;
29
+ /** Usage callback */
30
+ onUsageData?: (usageData: UsageData) => Promise<void>;
31
+ /** Per-call override for reasoning effort (reasoning models only). */
32
+ reasoningEffort?: OpenAIApi.Chat.Completions.ChatCompletionReasoningEffort;
33
+ /** Hard cap for custom function tool calls executed by this wrapper. */
34
+ maxToolCalls?: number;
35
+ /** If true, run using Responses API background mode (polling). */
36
+ backgroundMode?: boolean;
37
+ };
38
+ export type ResponsesGenerateObjectParams<S> = {
39
+ messages: (string | ChatCompletionMessageParam)[];
40
+ model?: string;
41
+ abortSignal?: AbortSignal;
42
+ /** Zod schema or JSON Schema */
43
+ schema: S;
44
+ /** Sampling & limits */
45
+ temperature?: number;
46
+ topP?: number;
47
+ maxTokens?: number;
48
+ /** Optional realtime hook for tool-call lifecycle (started/finished). */
49
+ onToolInvocation?: (evt: ToolInvocationProgressEvent) => void;
50
+ /** Usage callback */
51
+ onUsageData?: (usageData: UsageData) => Promise<void>;
52
+ /** Per-call override for reasoning effort (reasoning models only). */
53
+ reasoningEffort?: OpenAIApi.Chat.Completions.ChatCompletionReasoningEffort;
54
+ /** Hard cap for custom function tool calls executed by this wrapper. */
55
+ maxToolCalls?: number;
56
+ /** If true, run using Responses API background mode (polling). */
57
+ backgroundMode?: boolean;
58
+ };
59
+ /**
60
+ * OpenAI Responses API wrapper (tool-loop + usage tracking + ConversationModules).
61
+ * - Uses Responses API directly
62
+ * - Supports custom function tools (tool calling loop)
63
+ * - Supports structured outputs (JSON schema / Zod)
64
+ * - Tracks usage + tool calls using existing types
65
+ * - Supports background mode (polling)
66
+ * - Supports ConversationModules (system messages + tool registration)
67
+ */
68
+ export declare class OpenAiResponses {
69
+ private readonly client;
70
+ private readonly logger;
71
+ private readonly modules;
72
+ private readonly allowedFunctionNames?;
73
+ private readonly defaultModel;
74
+ private readonly defaultMaxToolCalls;
75
+ private modulesProcessed;
76
+ private processingModulesPromise;
77
+ private systemMessages;
78
+ private functions;
79
+ constructor(opts?: OpenAiResponsesParams);
80
+ /** Plain text generation (supports tool calling). */
81
+ generateText(args: GenerateTextParams): Promise<GenerateResponseReturn>;
82
+ /** Back-compat alias for callers that use `generateResponse`. */
83
+ generateResponse(args: GenerateTextParams): Promise<GenerateResponseReturn>;
84
+ /** Structured object generation (supports tool calling). */
85
+ generateObject<T>(args: ResponsesGenerateObjectParams<unknown>): Promise<{
86
+ object: T;
87
+ usageData: UsageData;
88
+ }>;
89
+ private run;
90
+ private createResponseAndMaybeWait;
91
+ private waitForCompletion;
92
+ private buildResponseTools;
93
+ private extractFunctionCalls;
94
+ private executeFunctionCalls;
95
+ private executeFunctionCall;
96
+ private formatToolReturn;
97
+ private addUsageFromResponse;
98
+ private extractAssistantText;
99
+ private buildTextFormat;
100
+ private parseAndValidateStructuredOutput;
101
+ private isZodSchema;
102
+ private parseJson;
103
+ /**
104
+ * Strictifies a plain JSON Schema for OpenAI Structured Outputs (strict mode):
105
+ * - Ensures every object has `additionalProperties: false`
106
+ * - Ensures every object has a `required` array that includes **all** keys in `properties`
107
+ * - Adds missing `type: "object"` / `type: "array"` where implied by keywords
108
+ */
109
+ private strictifyJsonSchema;
110
+ private buildInstructionsAndInput;
111
+ private extractTextContent;
112
+ private ensureModulesProcessed;
113
+ private processModules;
114
+ private filterFunctions;
115
+ private buildFunctionInstructionsMessage;
116
+ private resolveModel;
117
+ private resolveBackgroundMode;
118
+ private isProModel;
119
+ private isHighReasoningEffort;
120
+ }
121
+ //# sourceMappingURL=OpenAiResponses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAiResponses.d.ts","sourceRoot":"","sources":["../../src/OpenAiResponses.ts"],"names":[],"mappings":"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"}