@omnicross/core 0.1.10 → 0.2.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/LICENSE +21 -21
- package/NOTICE +57 -57
- package/README.md +22 -15
- package/dist/{CompletionService-kNA17cfI.d.cts → CompletionService-BiJqftc-.d.cts} +1 -1
- package/dist/{CompletionService-C3BX0Ovy.d.ts → CompletionService-NXN_Av5W.d.ts} +1 -1
- package/dist/{ProviderProxy-QdwNV6l1.d.cts → ProviderProxy-CgIcCVwk.d.cts} +1 -1
- package/dist/{ProviderProxy--ROec6VI.d.ts → ProviderProxy-DYoY5XoT.d.ts} +1 -1
- package/dist/auth/GeminiCodeAssistProjectResolver.cjs +6 -6
- package/dist/auth/GeminiCodeAssistProjectResolver.js +4 -4
- package/dist/{chunk-QUSEZNYS.cjs → chunk-32SRZFFP.cjs} +4 -1
- package/dist/chunk-4JOU54M5.js +200 -0
- package/dist/{chunk-2UTGX6FM.js → chunk-4VVCXVB7.js} +1 -1
- package/dist/chunk-6DDYNS2B.cjs +384 -0
- package/dist/{chunk-HKB656B4.js → chunk-6OC3ORW6.js} +55 -287
- package/dist/{chunk-GXEZ2R3E.js → chunk-6OKXH2TW.js} +18 -7
- package/dist/{chunk-TIT74RIL.cjs → chunk-7B56AJBB.cjs} +6214 -2423
- package/dist/{chunk-YWL7YZWS.cjs → chunk-7LRTPNFL.cjs} +5 -0
- package/dist/{chunk-CCVRRJOX.js → chunk-7PIUVCKK.js} +9 -2
- package/dist/{chunk-IIRPUVPH.cjs → chunk-7ZHBN75N.cjs} +3 -1
- package/dist/{chunk-RJ5ZGNI3.js → chunk-CFSGYFOZ.js} +1 -1
- package/dist/chunk-CTKM773J.cjs +3919 -0
- package/dist/chunk-DEIUR2TH.js +3919 -0
- package/dist/{chunk-WNKWAEUR.js → chunk-EYGBM2VC.js} +3 -1
- package/dist/{chunk-NGYOO5TO.js → chunk-FJNKXOWE.js} +9 -9
- package/dist/{chunk-UWDW6PN3.cjs → chunk-FX325I5Q.cjs} +20 -9
- package/dist/chunk-G4CZIUIB.cjs +200 -0
- package/dist/chunk-HCOQQAZE.cjs +123 -0
- package/dist/{chunk-55FMGZ3L.js → chunk-HN74IGEO.js} +1 -1
- package/dist/{chunk-ZY6KU6P3.js → chunk-HOMUGKHR.js} +8 -5
- package/dist/{chunk-AOFWNWLT.cjs → chunk-IUL4VWNU.cjs} +22 -1
- package/dist/{chunk-5LNYGCIW.cjs → chunk-KIQ2HA2A.cjs} +5 -5
- package/dist/{chunk-MUHWHQVM.cjs → chunk-KQBLZMP6.cjs} +4 -3
- package/dist/chunk-LFEH7CEO.js +384 -0
- package/dist/chunk-N76KU6F5.js +123 -0
- package/dist/{chunk-CMVXX7ON.cjs → chunk-NOITAVHA.cjs} +114 -58
- package/dist/{chunk-Q27JY5RG.cjs → chunk-OIKREZVQ.cjs} +7 -4
- package/dist/{chunk-RJUONLUQ.cjs → chunk-OST5RJOJ.cjs} +1 -1
- package/dist/{chunk-6D4W22P4.js → chunk-QIIAMBTM.js} +4 -1
- package/dist/{chunk-56QD3YW6.cjs → chunk-QWNUOR7F.cjs} +11 -4
- package/dist/{chunk-S3DYFEBE.js → chunk-R4VCO2CB.js} +10 -1
- package/dist/{chunk-ZQQUD66M.cjs → chunk-SQMAEDNE.cjs} +63 -295
- package/dist/{chunk-4VZX5F4T.cjs → chunk-T6NWPIYZ.cjs} +5 -2
- package/dist/{chunk-P7EM6BND.cjs → chunk-TVYA5JSQ.cjs} +10 -10
- package/dist/{chunk-EBLFCNPY.js → chunk-U47LQXPB.js} +5 -2
- package/dist/{chunk-N7OOJI5V.js → chunk-V2UKUTJ3.js} +5 -0
- package/dist/{chunk-45FHEOKW.js → chunk-V53ZEFXC.js} +92 -36
- package/dist/{chunk-OC6DOOFX.cjs → chunk-VXRTQZF2.cjs} +5 -5
- package/dist/{chunk-FEBAQI5A.js → chunk-WSJE42SG.js} +4964 -1173
- package/dist/{chunk-RICPANBY.cjs → chunk-WX2E2G7H.cjs} +13 -4
- package/dist/{chunk-DE2SRBFZ.js → chunk-X335TJNS.js} +4 -3
- package/dist/{chunk-N2EIM2XJ.js → chunk-ZLNHPUFA.js} +22 -1
- package/dist/completion/CompletionService.cjs +29 -26
- package/dist/completion/CompletionService.d.cts +3 -2
- package/dist/completion/CompletionService.d.ts +3 -2
- package/dist/completion/CompletionService.js +28 -25
- package/dist/completion.cjs +37 -34
- package/dist/completion.d.cts +3 -2
- package/dist/completion.d.ts +3 -2
- package/dist/completion.js +36 -33
- package/dist/image-generation.cjs +52 -0
- package/dist/image-generation.d.cts +93 -0
- package/dist/image-generation.d.ts +93 -0
- package/dist/image-generation.js +52 -0
- package/dist/index.cjs +126 -31
- package/dist/index.d.cts +11 -7
- package/dist/index.d.ts +11 -7
- package/dist/index.js +142 -47
- package/dist/openai-operation.cjs +18 -0
- package/dist/openai-operation.d.cts +19 -0
- package/dist/openai-operation.d.ts +19 -0
- package/dist/openai-operation.js +18 -0
- package/dist/outbound-api/auditCapture.cjs +3 -3
- package/dist/outbound-api/auditCapture.d.cts +13 -2
- package/dist/outbound-api/auditCapture.d.ts +13 -2
- package/dist/outbound-api/auditCapture.js +2 -2
- package/dist/outbound-api/auditRedact.cjs +2 -2
- package/dist/outbound-api/auditRedact.js +1 -1
- package/dist/outbound-api/routeResolver.cjs +2 -2
- package/dist/outbound-api/routeResolver.d.cts +7 -4
- package/dist/outbound-api/routeResolver.d.ts +7 -4
- package/dist/outbound-api/routeResolver.js +1 -1
- package/dist/outbound-api/subscriptionRegistryPort.d.cts +2 -1
- package/dist/outbound-api/subscriptionRegistryPort.d.ts +2 -1
- package/dist/outbound-api/types.d.cts +6 -3
- package/dist/outbound-api/types.d.ts +6 -3
- package/dist/outbound-api.cjs +48 -31
- package/dist/outbound-api.d.cts +95 -9
- package/dist/outbound-api.d.ts +95 -9
- package/dist/outbound-api.js +47 -30
- package/dist/pipeline/AccountAllowanceScheduling.d.cts +18 -15
- package/dist/pipeline/AccountAllowanceScheduling.d.ts +18 -15
- package/dist/pipeline/LlmConfigProviderAuth.cjs +3 -3
- package/dist/pipeline/LlmConfigProviderAuth.js +2 -2
- package/dist/pipeline/SubscriptionAccountHealth.cjs +2 -2
- package/dist/pipeline/SubscriptionAccountHealth.d.cts +7 -0
- package/dist/pipeline/SubscriptionAccountHealth.d.ts +7 -0
- package/dist/pipeline/SubscriptionAccountHealth.js +1 -1
- package/dist/pipeline/executeProviderCall.cjs +2 -2
- package/dist/pipeline/executeProviderCall.d.cts +11 -6
- package/dist/pipeline/executeProviderCall.d.ts +11 -6
- package/dist/pipeline/executeProviderCall.js +1 -1
- package/dist/pipeline/upstreamFetch.cjs +2 -2
- package/dist/pipeline/upstreamFetch.d.cts +5 -0
- package/dist/pipeline/upstreamFetch.d.ts +5 -0
- package/dist/pipeline/upstreamFetch.js +1 -1
- package/dist/ports.d.cts +6 -3
- package/dist/ports.d.ts +6 -3
- package/dist/provider-proxy/ProviderProxy.cjs +29 -26
- package/dist/provider-proxy/ProviderProxy.d.cts +3 -2
- package/dist/provider-proxy/ProviderProxy.d.ts +3 -2
- package/dist/provider-proxy/ProviderProxy.js +28 -25
- package/dist/provider-proxy/identity/codexCliHeaders.cjs +4 -2
- package/dist/provider-proxy/identity/codexCliHeaders.d.cts +26 -6
- package/dist/provider-proxy/identity/codexCliHeaders.d.ts +26 -6
- package/dist/provider-proxy/identity/codexCliHeaders.js +5 -3
- package/dist/provider-proxy/ingress/providerProxyShared.cjs +31 -26
- package/dist/provider-proxy/ingress/providerProxyShared.d.cts +21 -8
- package/dist/provider-proxy/ingress/providerProxyShared.d.ts +21 -8
- package/dist/provider-proxy/ingress/providerProxyShared.js +30 -25
- package/dist/provider-proxy/types.d.cts +14 -483
- package/dist/provider-proxy/types.d.ts +14 -483
- package/dist/provider-proxy.cjs +43 -26
- package/dist/provider-proxy.d.cts +30 -8
- package/dist/provider-proxy.d.ts +30 -8
- package/dist/provider-proxy.js +42 -25
- package/dist/{routeResolver-C0mkkZaM.d.ts → routeResolver-CTCcSHWu.d.ts} +4 -2
- package/dist/{routeResolver-CVFE8KKe.d.cts → routeResolver-rpKQLyDO.d.cts} +4 -2
- package/dist/transformer/TransformerChainExecutor.cjs +2 -2
- package/dist/transformer/TransformerChainExecutor.d.cts +2 -2
- package/dist/transformer/TransformerChainExecutor.d.ts +2 -2
- package/dist/transformer/TransformerChainExecutor.js +1 -1
- package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.cjs +16 -0
- package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.cts +53 -0
- package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.d.ts +53 -0
- package/dist/transformer/transformers/AnthropicOpenAIToAnthropicStream.js +16 -0
- package/dist/transformer/transformers/AnthropicTransformer.cjs +4 -3
- package/dist/transformer/transformers/AnthropicTransformer.js +3 -2
- package/dist/transformer/transformers/GeminiCodeAssistTransformer.cjs +4 -4
- package/dist/transformer/transformers/GeminiCodeAssistTransformer.js +3 -3
- package/dist/transformer/transformers/GeminiTransformer.cjs +4 -4
- package/dist/transformer/transformers/GeminiTransformer.js +3 -3
- package/dist/transformer/transformers/OpenAIResponseTransformer.cjs +3 -3
- package/dist/transformer/transformers/OpenAIResponseTransformer.js +2 -2
- package/dist/transformer/transformers/OpenAITransformer.cjs +3 -3
- package/dist/transformer/transformers/OpenAITransformer.js +2 -2
- package/dist/transformer/transformers.cjs +10 -9
- package/dist/transformer/transformers.js +13 -12
- package/dist/transformer/types.d.cts +39 -4
- package/dist/transformer/types.d.ts +39 -4
- package/dist/transformer.cjs +14 -13
- package/dist/transformer.js +14 -13
- package/dist/{types-BB8pxk_3.d.ts → types-5T223WYQ.d.ts} +183 -23
- package/dist/types-Bd72H4SB.d.ts +196 -0
- package/dist/types-CVRge76p.d.ts +1115 -0
- package/dist/types-CbglB73l.d.cts +196 -0
- package/dist/types-DsHBBk3h.d.cts +1115 -0
- package/dist/{types-C2MwkLah.d.cts → types-jjU24eYG.d.cts} +183 -23
- package/dist/usage.cjs +2 -2
- package/dist/usage.d.cts +6 -1
- package/dist/usage.d.ts +6 -1
- package/dist/usage.js +1 -1
- package/package.json +69 -64
- package/dist/chunk-FCR77GYM.cjs +0 -33
- package/dist/chunk-K5NM7VAH.js +0 -33
- /package/dist/{chunk-XXFYLL7R.js → chunk-ECZ3ZE2C.js} +0 -0
- /package/dist/{chunk-3SCOLIPT.cjs → chunk-MXI2PWIC.cjs} +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import * as _omnicross_contracts_image_generation_types from '@omnicross/contracts/image-generation-types';
|
|
2
|
+
import { ImageArtifactMetadata, ImageRequestOptions } from '@omnicross/contracts/image-generation-types';
|
|
3
|
+
import { I as ImageAsset, p as ImageReferenceLease, K as OpenAIOperationHandler, h as ImageOrchestrator, L as OpenAIOperationHandlerContext, s as ImageReferenceStore, u as ImageRetentionPolicy } from './types-CVRge76p.js';
|
|
4
|
+
import { FileHandle } from 'node:fs/promises';
|
|
5
|
+
|
|
6
|
+
type ResourceKind = 'input' | 'spool';
|
|
7
|
+
declare const IMAGE_REQUEST_DIRECTORY_MARKER_NAME = ".omnicross-images-owner.json";
|
|
8
|
+
declare const IMAGE_REQUEST_DIRECTORY_MARKER_CONTENT = "{\"schema\":\"omnicross-images-temporary\",\"version\":1}\n";
|
|
9
|
+
/** Internal request-scoped file. It deliberately has no path property or getter. */
|
|
10
|
+
declare class StagedTemporaryFile {
|
|
11
|
+
#private;
|
|
12
|
+
readonly byteLength: number;
|
|
13
|
+
constructor(scope: ImageRequestResourceScope, path: string, byteLength: number, kind: ResourceKind);
|
|
14
|
+
open(signal?: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
15
|
+
/** Internal validator seam; no path is returned or retained by the caller. */
|
|
16
|
+
inspect<T>(callback: (privatePath: string) => Promise<T>): Promise<T>;
|
|
17
|
+
dispose(): Promise<void>;
|
|
18
|
+
toImageAsset(metadata: Omit<ImageArtifactMetadata, 'artifactId' | 'byteLength' | 'independentlyDecodable'>): TemporaryImageAsset;
|
|
19
|
+
}
|
|
20
|
+
declare class TemporaryImageAsset implements ImageAsset {
|
|
21
|
+
#private;
|
|
22
|
+
readonly artifactId: _omnicross_contracts_image_generation_types.ImageArtifactId;
|
|
23
|
+
readonly mimeType: `image/${string}`;
|
|
24
|
+
readonly byteLength: number;
|
|
25
|
+
readonly width: number;
|
|
26
|
+
readonly height: number;
|
|
27
|
+
readonly hasAlpha: boolean | undefined;
|
|
28
|
+
readonly sha256: string | undefined;
|
|
29
|
+
readonly independentlyDecodable: true;
|
|
30
|
+
constructor(file: StagedTemporaryFile, metadata: Omit<ImageArtifactMetadata, 'artifactId' | 'byteLength' | 'independentlyDecodable'>);
|
|
31
|
+
open(options?: {
|
|
32
|
+
readonly signal?: AbortSignal;
|
|
33
|
+
}): Promise<ReadableStream<Uint8Array>>;
|
|
34
|
+
}
|
|
35
|
+
declare class RequestFileWriter {
|
|
36
|
+
#private;
|
|
37
|
+
constructor(options: {
|
|
38
|
+
scope: ImageRequestResourceScope;
|
|
39
|
+
handle: FileHandle;
|
|
40
|
+
path: string;
|
|
41
|
+
kind: ResourceKind;
|
|
42
|
+
maxBytes: number;
|
|
43
|
+
declaredBytes?: number;
|
|
44
|
+
});
|
|
45
|
+
get byteLength(): number;
|
|
46
|
+
write(chunk: Uint8Array, signal?: AbortSignal): Promise<void>;
|
|
47
|
+
finish(): Promise<StagedTemporaryFile>;
|
|
48
|
+
abort(): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
interface CreateImageRequestResourceScopeOptions {
|
|
51
|
+
readonly limits: ImageApiLimits;
|
|
52
|
+
readonly signal: AbortSignal;
|
|
53
|
+
readonly tempRoot?: string;
|
|
54
|
+
/** Trusted tenant identity; required whenever a shared budget is injected. */
|
|
55
|
+
readonly tenantId?: string;
|
|
56
|
+
readonly sharedBudget?: ImageTemporaryResourceBudget;
|
|
57
|
+
/** Write the fixed, content-free daemon ownership marker into the request directory. */
|
|
58
|
+
readonly ownedDirectoryMarker?: boolean;
|
|
59
|
+
/** Host-private lease hook used to keep recurring cleanup away from live scopes. */
|
|
60
|
+
readonly onDirectoryActive?: (privateDirectory: string) => () => void;
|
|
61
|
+
}
|
|
62
|
+
/** One active-scope reservation from the daemon's cross-request budget. */
|
|
63
|
+
interface ImageTemporaryResourceBudgetLease {
|
|
64
|
+
/** Atomically charge bytes before a write; a thrown call MUST charge nothing. */
|
|
65
|
+
reserve(bytes: number): void;
|
|
66
|
+
/** Infallibly release up to the bytes previously reserved by this lease. */
|
|
67
|
+
release(bytes: number): void;
|
|
68
|
+
/** Idempotently and infallibly release the active-scope reservation. */
|
|
69
|
+
releaseScope(): void;
|
|
70
|
+
}
|
|
71
|
+
/** Credential/content-blind shared temporary budget port. */
|
|
72
|
+
interface ImageTemporaryResourceBudget {
|
|
73
|
+
/** Atomically acquire one active scope for a trusted, non-empty tenant. */
|
|
74
|
+
acquireScope(tenantId: string): ImageTemporaryResourceBudgetLease;
|
|
75
|
+
}
|
|
76
|
+
interface ImageRequestResourceOwnership {
|
|
77
|
+
readonly tenantId: string;
|
|
78
|
+
readonly sharedBudget: ImageTemporaryResourceBudget;
|
|
79
|
+
readonly ownedDirectoryMarker?: boolean;
|
|
80
|
+
}
|
|
81
|
+
declare class ImageRequestResourceScope {
|
|
82
|
+
#private;
|
|
83
|
+
private constructor();
|
|
84
|
+
static create(options: CreateImageRequestResourceScopeOptions): Promise<ImageRequestResourceScope>;
|
|
85
|
+
assertActive(): void;
|
|
86
|
+
reserve(kind: ResourceKind, bytes: number): void;
|
|
87
|
+
unreserve(kind: ResourceKind, bytes: number): void;
|
|
88
|
+
writerFinished(writer: RequestFileWriter): void;
|
|
89
|
+
releaseSpool(privatePath: string, bytes: number): Promise<void>;
|
|
90
|
+
createWriter(options: {
|
|
91
|
+
readonly kind: ResourceKind;
|
|
92
|
+
readonly maxBytes: number;
|
|
93
|
+
readonly declaredBytes?: number;
|
|
94
|
+
}): Promise<RequestFileWriter>;
|
|
95
|
+
materialize(source: AsyncIterable<Uint8Array>, options?: {
|
|
96
|
+
readonly kind?: ResourceKind;
|
|
97
|
+
readonly maxBytes?: number;
|
|
98
|
+
readonly declaredBytes?: number;
|
|
99
|
+
readonly signal?: AbortSignal;
|
|
100
|
+
}): Promise<StagedTemporaryFile>;
|
|
101
|
+
addLease(lease: ImageReferenceLease): void;
|
|
102
|
+
cleanup(): Promise<void>;
|
|
103
|
+
}
|
|
104
|
+
declare function createImageRequestResourceScope(limits: ImageApiLimits, signal: AbortSignal, tempRoot?: string, ownership?: ImageRequestResourceOwnership): Promise<ImageRequestResourceScope>;
|
|
105
|
+
|
|
106
|
+
interface ImageApiLimits {
|
|
107
|
+
readonly maxJsonBytes: number;
|
|
108
|
+
readonly maxMultipartBytes: number;
|
|
109
|
+
readonly maxFileBytes: number;
|
|
110
|
+
readonly maxTotalInputBytes: number;
|
|
111
|
+
readonly maxFiles: number;
|
|
112
|
+
readonly maxFields: number;
|
|
113
|
+
readonly maxParts: number;
|
|
114
|
+
readonly maxHeaderPairs: number;
|
|
115
|
+
readonly maxFieldNameBytes: number;
|
|
116
|
+
readonly maxFieldValueBytes: number;
|
|
117
|
+
readonly maxPixels: number;
|
|
118
|
+
readonly maxRawBytes: number;
|
|
119
|
+
readonly maxOutputBytes: number;
|
|
120
|
+
readonly maxTotalOutputBytes: number;
|
|
121
|
+
readonly maxSpoolBytes: number;
|
|
122
|
+
readonly maxRedirects: number;
|
|
123
|
+
readonly maxRemoteUrlBytes: number;
|
|
124
|
+
readonly maxRemoteHeaderBytes: number;
|
|
125
|
+
readonly remoteConnectTimeoutMs: number;
|
|
126
|
+
readonly remoteTotalTimeoutMs: number;
|
|
127
|
+
}
|
|
128
|
+
declare const DEFAULT_IMAGE_API_LIMITS: ImageApiLimits;
|
|
129
|
+
declare function assertFiniteImageApiLimits(limits: ImageApiLimits): void;
|
|
130
|
+
interface ImageRemoteMaterializer {
|
|
131
|
+
materialize(source: AsyncIterable<Uint8Array>, declaredBytes: number | undefined, signal: AbortSignal): Promise<ImageAsset>;
|
|
132
|
+
}
|
|
133
|
+
interface RemoteImageAssetResolver {
|
|
134
|
+
resolve(input: {
|
|
135
|
+
readonly url: string;
|
|
136
|
+
readonly signal: AbortSignal;
|
|
137
|
+
readonly limits: ImageApiLimits;
|
|
138
|
+
readonly materializer: ImageRemoteMaterializer;
|
|
139
|
+
}): Promise<ImageAsset>;
|
|
140
|
+
}
|
|
141
|
+
interface ImageApiRuntime {
|
|
142
|
+
readonly tenantId: string;
|
|
143
|
+
readonly providerId: string;
|
|
144
|
+
readonly defaultModel: string;
|
|
145
|
+
readonly modelAliases: ReadonlyMap<string, string>;
|
|
146
|
+
readonly limits: ImageApiLimits;
|
|
147
|
+
readonly preferredAccountId?: string;
|
|
148
|
+
readonly preferredAccountGroup?: string;
|
|
149
|
+
readonly boundAccountFallbackPolicy?: 'strict' | 'pool';
|
|
150
|
+
readonly referenceStore?: ImageReferenceStore;
|
|
151
|
+
readonly remoteResolver?: RemoteImageAssetResolver;
|
|
152
|
+
readonly fingerprintUser?: (value: string) => string;
|
|
153
|
+
readonly retention?: ImageRetentionPolicy;
|
|
154
|
+
}
|
|
155
|
+
type ImageApiRuntimeResolver = (context: OpenAIOperationHandlerContext) => Promise<ImageApiRuntime> | ImageApiRuntime;
|
|
156
|
+
interface ImageApiAuditRecord {
|
|
157
|
+
readonly requestId: string;
|
|
158
|
+
readonly operationId: 'images.generate' | 'images.edit';
|
|
159
|
+
readonly providerId?: string;
|
|
160
|
+
readonly model?: string;
|
|
161
|
+
readonly options?: Pick<ImageRequestOptions, 'n' | 'quality' | 'background' | 'outputFormat' | 'stream' | 'partialImages'>;
|
|
162
|
+
readonly inputCount?: number;
|
|
163
|
+
readonly inputBytes?: number;
|
|
164
|
+
readonly referenceOutcomes?: {
|
|
165
|
+
readonly hits: number;
|
|
166
|
+
readonly notFound: number;
|
|
167
|
+
readonly expired: number;
|
|
168
|
+
readonly failed: number;
|
|
169
|
+
};
|
|
170
|
+
readonly cleanupOutcome?: 'completed' | 'failed';
|
|
171
|
+
readonly terminal: 'completed' | 'failed' | 'cancelled';
|
|
172
|
+
readonly errorCode?: string;
|
|
173
|
+
}
|
|
174
|
+
interface ImageApiContributionsDeps {
|
|
175
|
+
readonly orchestrator: ImageOrchestrator;
|
|
176
|
+
readonly resolveRuntime: ImageApiRuntimeResolver;
|
|
177
|
+
readonly createRequestId?: () => string;
|
|
178
|
+
readonly now?: () => number;
|
|
179
|
+
readonly createResourceScope?: (limits: ImageApiLimits, signal: AbortSignal, tenantId: string) => Promise<ImageRequestResourceScope>;
|
|
180
|
+
readonly audit?: (record: ImageApiAuditRecord) => void | Promise<void>;
|
|
181
|
+
}
|
|
182
|
+
interface ImageOpenAIOperationContribution {
|
|
183
|
+
readonly operationId: 'images.generate' | 'images.edit';
|
|
184
|
+
readonly handler: OpenAIOperationHandler;
|
|
185
|
+
}
|
|
186
|
+
interface ImageApiContributions {
|
|
187
|
+
readonly generate: ImageOpenAIOperationContribution & {
|
|
188
|
+
readonly operationId: 'images.generate';
|
|
189
|
+
};
|
|
190
|
+
readonly edit: ImageOpenAIOperationContribution & {
|
|
191
|
+
readonly operationId: 'images.edit';
|
|
192
|
+
};
|
|
193
|
+
readonly all: readonly ImageOpenAIOperationContribution[];
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export { type CreateImageRequestResourceScopeOptions as C, DEFAULT_IMAGE_API_LIMITS as D, IMAGE_REQUEST_DIRECTORY_MARKER_CONTENT as I, type RemoteImageAssetResolver as R, IMAGE_REQUEST_DIRECTORY_MARKER_NAME as a, type ImageApiAuditRecord as b, type ImageApiContributions as c, type ImageApiContributionsDeps as d, type ImageApiLimits as e, type ImageApiRuntime as f, type ImageApiRuntimeResolver as g, type ImageOpenAIOperationContribution as h, type ImageRemoteMaterializer as i, type ImageRequestResourceOwnership as j, ImageRequestResourceScope as k, type ImageTemporaryResourceBudget as l, type ImageTemporaryResourceBudgetLease as m, assertFiniteImageApiLimits as n, createImageRequestResourceScope as o };
|