@just-every/ensemble 0.2.264 → 0.2.266
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/README.md +19 -0
- package/dist/cjs/index.cjs +7 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model_providers/gemini.cjs +1 -1
- package/dist/cjs/model_providers/gemini.js.map +1 -1
- package/dist/cjs/model_providers/openai.cjs +67 -91
- package/dist/cjs/model_providers/openai.d.ts.map +1 -1
- package/dist/cjs/model_providers/openai.js.map +1 -1
- package/dist/cjs/model_providers/openai_image_edit_input.cjs +73 -0
- package/dist/cjs/model_providers/openai_image_edit_input.d.ts +27 -0
- package/dist/cjs/model_providers/openai_image_edit_input.d.ts.map +1 -0
- package/dist/cjs/model_providers/openai_image_edit_input.js.map +1 -0
- package/dist/cjs/model_providers/openai_image_request.cjs +153 -0
- package/dist/cjs/model_providers/openai_image_request.d.ts +36 -0
- package/dist/cjs/model_providers/openai_image_request.d.ts.map +1 -0
- package/dist/cjs/model_providers/openai_image_request.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types/types.d.ts +6 -1
- package/dist/cjs/types/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model_providers/gemini.js +1 -1
- package/dist/model_providers/gemini.js.map +1 -1
- package/dist/model_providers/openai.d.ts.map +1 -1
- package/dist/model_providers/openai.js +64 -91
- package/dist/model_providers/openai.js.map +1 -1
- package/dist/model_providers/openai_image_edit_input.d.ts +27 -0
- package/dist/model_providers/openai_image_edit_input.d.ts.map +1 -0
- package/dist/model_providers/openai_image_edit_input.js +69 -0
- package/dist/model_providers/openai_image_edit_input.js.map +1 -0
- package/dist/model_providers/openai_image_request.d.ts +36 -0
- package/dist/model_providers/openai_image_request.d.ts.map +1 -0
- package/dist/model_providers/openai_image_request.js +147 -0
- package/dist/model_providers/openai_image_request.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types.d.ts +6 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_OPENAI_IMAGE_TIMEOUT_MS = exports.OpenAIImageRequestError = void 0;
|
|
4
|
+
exports.normalizeOpenAIImageError = normalizeOpenAIImageError;
|
|
5
|
+
exports.runOpenAIImageRequest = runOpenAIImageRequest;
|
|
6
|
+
class OpenAIImageRequestError extends Error {
|
|
7
|
+
reason;
|
|
8
|
+
retryable;
|
|
9
|
+
recoverable;
|
|
10
|
+
status;
|
|
11
|
+
requestID;
|
|
12
|
+
request_id;
|
|
13
|
+
code;
|
|
14
|
+
type;
|
|
15
|
+
param;
|
|
16
|
+
providerCode;
|
|
17
|
+
providerType;
|
|
18
|
+
providerParam;
|
|
19
|
+
cause;
|
|
20
|
+
constructor(message, details) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.name = 'OpenAIImageRequestError';
|
|
23
|
+
this.reason = details.reason;
|
|
24
|
+
this.retryable = details.retryable;
|
|
25
|
+
this.recoverable = details.retryable;
|
|
26
|
+
this.status = details.status;
|
|
27
|
+
this.requestID = details.providerRequestId;
|
|
28
|
+
this.request_id = details.providerRequestId;
|
|
29
|
+
this.code = details.providerCode;
|
|
30
|
+
this.type = details.providerType;
|
|
31
|
+
this.param = details.providerParam;
|
|
32
|
+
this.providerCode = details.providerCode;
|
|
33
|
+
this.providerType = details.providerType;
|
|
34
|
+
this.providerParam = details.providerParam;
|
|
35
|
+
this.cause = details.cause;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.OpenAIImageRequestError = OpenAIImageRequestError;
|
|
39
|
+
exports.DEFAULT_OPENAI_IMAGE_TIMEOUT_MS = 5 * 60 * 1000;
|
|
40
|
+
const normalizedString = (value) => {
|
|
41
|
+
if (typeof value !== 'string')
|
|
42
|
+
return undefined;
|
|
43
|
+
const normalized = value.trim();
|
|
44
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
45
|
+
};
|
|
46
|
+
const nestedProviderError = (error) => error.error && typeof error.error === 'object' ? error.error : {};
|
|
47
|
+
const providerRequestId = (error) => {
|
|
48
|
+
const direct = normalizedString(error.requestID) ?? normalizedString(error.request_id);
|
|
49
|
+
if (direct)
|
|
50
|
+
return direct;
|
|
51
|
+
return error.headers instanceof Headers ? normalizedString(error.headers.get('x-request-id')) : undefined;
|
|
52
|
+
};
|
|
53
|
+
const isPolicyFailure = (values) => {
|
|
54
|
+
const description = values.filter(Boolean).join(' ').toLowerCase();
|
|
55
|
+
return (description.includes('content_policy') ||
|
|
56
|
+
description.includes('content policy') ||
|
|
57
|
+
description.includes('moderation_blocked') ||
|
|
58
|
+
description.includes('moderation blocked') ||
|
|
59
|
+
description.includes('safety violation'));
|
|
60
|
+
};
|
|
61
|
+
function normalizeOpenAIImageError(error) {
|
|
62
|
+
if (error instanceof OpenAIImageRequestError)
|
|
63
|
+
return error;
|
|
64
|
+
const raw = error && typeof error === 'object' ? error : {};
|
|
65
|
+
const nested = nestedProviderError(raw);
|
|
66
|
+
const name = normalizedString(raw.name) ?? (error instanceof Error ? error.name : undefined);
|
|
67
|
+
const message = normalizedString(raw.message) ??
|
|
68
|
+
normalizedString(nested.message) ??
|
|
69
|
+
(typeof error === 'string' ? error : undefined) ??
|
|
70
|
+
'OpenAI image request failed.';
|
|
71
|
+
const status = typeof raw.status === 'number' && Number.isFinite(raw.status) ? raw.status : undefined;
|
|
72
|
+
const providerCode = normalizedString(raw.code) ?? normalizedString(nested.code);
|
|
73
|
+
const providerType = normalizedString(raw.type) ?? normalizedString(nested.type);
|
|
74
|
+
const providerParam = normalizedString(raw.param) ?? normalizedString(nested.param);
|
|
75
|
+
const requestId = providerRequestId(raw);
|
|
76
|
+
const policyFailure = isPolicyFailure([providerCode, providerType, message]);
|
|
77
|
+
const timeout = name === 'APIConnectionTimeoutError' || name === 'TimeoutError' || providerCode === 'ETIMEDOUT';
|
|
78
|
+
const aborted = name === 'AbortError' || providerCode === 'ABORT_ERR';
|
|
79
|
+
const connection = name === 'APIConnectionError';
|
|
80
|
+
const retryableStatus = status === 408 || status === 409 || status === 429 || (status !== undefined && status >= 500);
|
|
81
|
+
const reason = policyFailure
|
|
82
|
+
? 'content_policy_violation'
|
|
83
|
+
: timeout
|
|
84
|
+
? 'timeout'
|
|
85
|
+
: aborted
|
|
86
|
+
? 'aborted'
|
|
87
|
+
: connection
|
|
88
|
+
? 'connection'
|
|
89
|
+
: 'http';
|
|
90
|
+
return new OpenAIImageRequestError(message, {
|
|
91
|
+
reason,
|
|
92
|
+
retryable: timeout || connection || retryableStatus,
|
|
93
|
+
status,
|
|
94
|
+
providerRequestId: requestId,
|
|
95
|
+
providerCode,
|
|
96
|
+
providerType,
|
|
97
|
+
providerParam,
|
|
98
|
+
cause: error,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
const timeoutError = (operationName, timeoutMs) => new OpenAIImageRequestError(`${operationName} timed out after ${timeoutMs}ms`, {
|
|
102
|
+
reason: 'timeout',
|
|
103
|
+
retryable: true,
|
|
104
|
+
providerCode: 'ETIMEDOUT',
|
|
105
|
+
});
|
|
106
|
+
const abortError = (operationName, cause) => new OpenAIImageRequestError(`${operationName} aborted`, {
|
|
107
|
+
reason: 'aborted',
|
|
108
|
+
retryable: false,
|
|
109
|
+
providerCode: 'ABORT_ERR',
|
|
110
|
+
cause,
|
|
111
|
+
});
|
|
112
|
+
async function runOpenAIImageRequest(options) {
|
|
113
|
+
if (!Number.isFinite(options.timeoutMs) || options.timeoutMs <= 0) {
|
|
114
|
+
throw new RangeError('OpenAI image timeoutMs must be a positive finite number.');
|
|
115
|
+
}
|
|
116
|
+
const controller = new AbortController();
|
|
117
|
+
let abortListener;
|
|
118
|
+
let rejectGuard;
|
|
119
|
+
const guardPromise = new Promise((_, reject) => {
|
|
120
|
+
rejectGuard = reject;
|
|
121
|
+
});
|
|
122
|
+
const abortWith = (error) => {
|
|
123
|
+
if (!controller.signal.aborted)
|
|
124
|
+
controller.abort(error);
|
|
125
|
+
rejectGuard?.(error);
|
|
126
|
+
};
|
|
127
|
+
if (options.abortSignal?.aborted) {
|
|
128
|
+
abortWith(abortError(options.operationName, options.abortSignal.reason));
|
|
129
|
+
}
|
|
130
|
+
else if (options.abortSignal) {
|
|
131
|
+
abortListener = () => abortWith(abortError(options.operationName, options.abortSignal?.reason));
|
|
132
|
+
options.abortSignal.addEventListener('abort', abortListener, { once: true });
|
|
133
|
+
}
|
|
134
|
+
const timeoutId = setTimeout(() => {
|
|
135
|
+
abortWith(timeoutError(options.operationName, options.timeoutMs));
|
|
136
|
+
}, options.timeoutMs);
|
|
137
|
+
const operationPromise = Promise.resolve().then(() => options.execute(controller.signal));
|
|
138
|
+
try {
|
|
139
|
+
return await Promise.race([operationPromise, guardPromise]);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
operationPromise.catch(() => {
|
|
143
|
+
});
|
|
144
|
+
throw normalizeOpenAIImageError(error);
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
clearTimeout(timeoutId);
|
|
148
|
+
if (options.abortSignal && abortListener) {
|
|
149
|
+
options.abortSignal.removeEventListener('abort', abortListener);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=openai_image_request.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type OpenAIImageFailureReason = 'aborted' | 'connection' | 'content_policy_violation' | 'empty_response' | 'http' | 'timeout';
|
|
2
|
+
export interface OpenAIImageErrorDetails {
|
|
3
|
+
reason: OpenAIImageFailureReason;
|
|
4
|
+
retryable: boolean;
|
|
5
|
+
status?: number;
|
|
6
|
+
providerRequestId?: string;
|
|
7
|
+
providerCode?: string;
|
|
8
|
+
providerType?: string;
|
|
9
|
+
providerParam?: string;
|
|
10
|
+
cause?: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare class OpenAIImageRequestError extends Error {
|
|
13
|
+
readonly reason: OpenAIImageFailureReason;
|
|
14
|
+
readonly retryable: boolean;
|
|
15
|
+
readonly recoverable: boolean;
|
|
16
|
+
readonly status?: number;
|
|
17
|
+
readonly requestID?: string;
|
|
18
|
+
readonly request_id?: string;
|
|
19
|
+
readonly code?: string;
|
|
20
|
+
readonly type?: string;
|
|
21
|
+
readonly param?: string;
|
|
22
|
+
readonly providerCode?: string;
|
|
23
|
+
readonly providerType?: string;
|
|
24
|
+
readonly providerParam?: string;
|
|
25
|
+
readonly cause?: unknown;
|
|
26
|
+
constructor(message: string, details: OpenAIImageErrorDetails);
|
|
27
|
+
}
|
|
28
|
+
export declare const DEFAULT_OPENAI_IMAGE_TIMEOUT_MS: number;
|
|
29
|
+
export declare function normalizeOpenAIImageError(error: unknown): OpenAIImageRequestError;
|
|
30
|
+
export declare function runOpenAIImageRequest<T>(options: {
|
|
31
|
+
operationName: string;
|
|
32
|
+
timeoutMs: number;
|
|
33
|
+
abortSignal?: AbortSignal;
|
|
34
|
+
execute: (signal: AbortSignal) => Promise<T>;
|
|
35
|
+
}): Promise<T>;
|
|
36
|
+
//# sourceMappingURL=openai_image_request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai_image_request.d.ts","sourceRoot":"","sources":["../../../model_providers/openai_image_request.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAC9B,SAAS,GACT,YAAY,GACZ,0BAA0B,GAC1B,gBAAgB,GAChB,MAAM,GACN,SAAS,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;CAiBhE;AAED,eAAO,MAAM,+BAA+B,QAAgB,CAAC;AAyC7D,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CA2CjF;AAiBD,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAChD,GAAG,OAAO,CAAC,CAAC,CAAC,CA0Cb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai_image_request.js","sourceRoot":"","sources":["../../../model_providers/openai_image_request.ts"],"names":[],"mappings":"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"}
|