@openai/agents-openai 0.13.0 → 0.13.2

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 (35) hide show
  1. package/dist/experimental/hostedMultiAgent/config.d.ts +7 -0
  2. package/dist/experimental/hostedMultiAgent/config.js +3 -0
  3. package/dist/experimental/hostedMultiAgent/config.js.map +1 -0
  4. package/dist/experimental/hostedMultiAgent/config.mjs +2 -0
  5. package/dist/experimental/hostedMultiAgent/config.mjs.map +1 -0
  6. package/dist/experimental/hostedMultiAgent/index.d.ts +3 -0
  7. package/dist/experimental/hostedMultiAgent/index.js +8 -0
  8. package/dist/experimental/hostedMultiAgent/index.js.map +1 -0
  9. package/dist/experimental/hostedMultiAgent/index.mjs +3 -0
  10. package/dist/experimental/hostedMultiAgent/index.mjs.map +1 -0
  11. package/dist/experimental/hostedMultiAgent/metadata.d.ts +8 -0
  12. package/dist/experimental/hostedMultiAgent/metadata.js +36 -0
  13. package/dist/experimental/hostedMultiAgent/metadata.js.map +1 -0
  14. package/dist/experimental/hostedMultiAgent/metadata.mjs +33 -0
  15. package/dist/experimental/hostedMultiAgent/metadata.mjs.map +1 -0
  16. package/dist/experimental/hostedMultiAgent/model.d.ts +28 -0
  17. package/dist/experimental/hostedMultiAgent/model.js +677 -0
  18. package/dist/experimental/hostedMultiAgent/model.js.map +1 -0
  19. package/dist/experimental/hostedMultiAgent/model.mjs +670 -0
  20. package/dist/experimental/hostedMultiAgent/model.mjs.map +1 -0
  21. package/dist/metadata.js +3 -3
  22. package/dist/metadata.mjs +3 -3
  23. package/dist/openaiChatCompletionsConverter.js +12 -0
  24. package/dist/openaiChatCompletionsConverter.js.map +1 -1
  25. package/dist/openaiChatCompletionsConverter.mjs +12 -0
  26. package/dist/openaiChatCompletionsConverter.mjs.map +1 -1
  27. package/dist/openaiChatCompletionsModel.js +35 -2
  28. package/dist/openaiChatCompletionsModel.js.map +1 -1
  29. package/dist/openaiChatCompletionsModel.mjs +35 -2
  30. package/dist/openaiChatCompletionsModel.mjs.map +1 -1
  31. package/dist/openaiResponsesModel.js +106 -45
  32. package/dist/openaiResponsesModel.js.map +1 -1
  33. package/dist/openaiResponsesModel.mjs +106 -45
  34. package/dist/openaiResponsesModel.mjs.map +1 -1
  35. package/package.json +15 -3
@@ -0,0 +1,7 @@
1
+ export type HostedMultiAgentConfig = Readonly<{
2
+ /**
3
+ * Maximum number of hosted subagents that may be active at once.
4
+ * Omit this value to use the service default.
5
+ */
6
+ maxConcurrentSubagents?: number;
7
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mjs","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type { HostedMultiAgentConfig } from './config';
2
+ export { getHostedAgentMetadata, type HostedAgentMetadata } from './metadata';
3
+ export { OpenAIHostedMultiAgentModel } from './model';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenAIHostedMultiAgentModel = exports.getHostedAgentMetadata = void 0;
4
+ var metadata_1 = require("./metadata.js");
5
+ Object.defineProperty(exports, "getHostedAgentMetadata", { enumerable: true, get: function () { return metadata_1.getHostedAgentMetadata; } });
6
+ var model_1 = require("./model.js");
7
+ Object.defineProperty(exports, "OpenAIHostedMultiAgentModel", { enumerable: true, get: function () { return model_1.OpenAIHostedMultiAgentModel; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/index.ts"],"names":[],"mappings":";;;AACA,0CAA8E;AAArE,kHAAA,sBAAsB,OAAA;AAC/B,oCAAsD;AAA7C,oHAAA,2BAA2B,OAAA"}
@@ -0,0 +1,3 @@
1
+ export { getHostedAgentMetadata } from "./metadata.mjs";
2
+ export { OpenAIHostedMultiAgentModel } from "./model.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/index.ts"],"names":[],"mappings":"OACO,EAAE,sBAAsB,EAA4B;OACpD,EAAE,2BAA2B,EAAE"}
@@ -0,0 +1,8 @@
1
+ export type HostedAgentMetadata = Readonly<{
2
+ agentName: string;
3
+ phase?: string;
4
+ }>;
5
+ /**
6
+ * Reads hosted-agent attribution without affecting local tool routing.
7
+ */
8
+ export declare function getHostedAgentMetadata(value: unknown): HostedAgentMetadata | undefined;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHostedAgentMetadata = getHostedAgentMetadata;
4
+ function isRecord(value) {
5
+ return typeof value === 'object' && value !== null;
6
+ }
7
+ function unwrapHostedValue(value) {
8
+ if (!isRecord(value)) {
9
+ return undefined;
10
+ }
11
+ if (isRecord(value.toolCall)) {
12
+ return unwrapHostedValue(value.toolCall);
13
+ }
14
+ if (isRecord(value.providerData) && isRecord(value.providerData.agent)) {
15
+ return value.providerData;
16
+ }
17
+ return value;
18
+ }
19
+ /**
20
+ * Reads hosted-agent attribution without affecting local tool routing.
21
+ */
22
+ function getHostedAgentMetadata(value) {
23
+ const item = unwrapHostedValue(value);
24
+ if (!item || !isRecord(item.agent)) {
25
+ return undefined;
26
+ }
27
+ const agentName = item.agent.agent_name;
28
+ if (typeof agentName !== 'string' || agentName.length === 0) {
29
+ return undefined;
30
+ }
31
+ return {
32
+ agentName,
33
+ ...(typeof item.phase === 'string' ? { phase: item.phase } : {}),
34
+ };
35
+ }
36
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/metadata.ts"],"names":[],"mappings":";;AA8BA,wDAiBC;AA1CD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,KAAc;IAEd,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACxC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS;QACT,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ function isRecord(value) {
2
+ return typeof value === 'object' && value !== null;
3
+ }
4
+ function unwrapHostedValue(value) {
5
+ if (!isRecord(value)) {
6
+ return undefined;
7
+ }
8
+ if (isRecord(value.toolCall)) {
9
+ return unwrapHostedValue(value.toolCall);
10
+ }
11
+ if (isRecord(value.providerData) && isRecord(value.providerData.agent)) {
12
+ return value.providerData;
13
+ }
14
+ return value;
15
+ }
16
+ /**
17
+ * Reads hosted-agent attribution without affecting local tool routing.
18
+ */
19
+ export function getHostedAgentMetadata(value) {
20
+ const item = unwrapHostedValue(value);
21
+ if (!item || !isRecord(item.agent)) {
22
+ return undefined;
23
+ }
24
+ const agentName = item.agent.agent_name;
25
+ if (typeof agentName !== 'string' || agentName.length === 0) {
26
+ return undefined;
27
+ }
28
+ return {
29
+ agentName,
30
+ ...(typeof item.phase === 'string' ? { phase: item.phase } : {}),
31
+ };
32
+ }
33
+ //# sourceMappingURL=metadata.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.mjs","sourceRoot":"","sources":["../../../src/experimental/hostedMultiAgent/metadata.ts"],"names":[],"mappings":"AAKA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACxC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS;QACT,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Usage, protocol, type ModelRetryAdvice, type ModelRetryAdviceRequest, type ModelRequest } from '@openai/agents-core';
2
+ import OpenAI from 'openai';
3
+ import type { OpenAIClient } from '../../openaiClient';
4
+ import { OpenAIResponsesModel } from '../../openaiResponsesModel';
5
+ import type { HostedMultiAgentConfig } from './config';
6
+ /**
7
+ * Experimental OpenAI Responses model that opts into service-hosted Multi-agent orchestration.
8
+ *
9
+ * The hosted beta requires a persistent Responses WebSocket because local tool outputs must be
10
+ * injected into the active response. Call {@link close} when the model is no longer needed.
11
+ */
12
+ export declare class OpenAIHostedMultiAgentModel extends OpenAIResponsesModel {
13
+ #private;
14
+ readonly config: HostedMultiAgentConfig;
15
+ constructor(client: OpenAIClient, model: string, config?: HostedMultiAgentConfig);
16
+ getRetryAdvice(args: ModelRetryAdviceRequest): ModelRetryAdvice | undefined;
17
+ /** Close the persistent Responses WebSocket owned by this model. */
18
+ close(): Promise<void>;
19
+ protected _getResponsesCreateRequestOverrides(request: ModelRequest, requestData: Record<string, any>): Record<string, any>;
20
+ protected _convertResponseOutputItems(items: Array<Record<string, any>>): protocol.OutputModelItem[];
21
+ protected _getResponseForSDKOutput(response: OpenAI.Responses.Response): OpenAI.Responses.Response;
22
+ protected _getResponseUsage(response: OpenAI.Responses.Response): Usage;
23
+ protected _getStreamedResponseUsage(response: OpenAI.Responses.Response): protocol.UsageData;
24
+ protected _shouldEmitOutputTextDelta(event: Record<string, any>, outputItem: Record<string, any> | undefined): boolean;
25
+ protected _shouldEmitRawModelEvent(event: Record<string, any>): boolean;
26
+ protected _fetchResponse(request: ModelRequest, stream: true): Promise<AsyncIterable<OpenAI.Responses.ResponseStreamEvent>>;
27
+ protected _fetchResponse(request: ModelRequest, stream: false): Promise<OpenAI.Responses.Response>;
28
+ }