@skyold/model-protocol 0.1.0-beta.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 +201 -0
- package/README.md +22 -0
- package/README.zh-CN.md +17 -0
- package/dist/chat-egress.d.ts +12 -0
- package/dist/chat-egress.d.ts.map +1 -0
- package/dist/chat-egress.js +144 -0
- package/dist/chat-egress.js.map +1 -0
- package/dist/chat-ingress.d.ts +39 -0
- package/dist/chat-ingress.d.ts.map +1 -0
- package/dist/chat-ingress.js +323 -0
- package/dist/chat-ingress.js.map +1 -0
- package/dist/chat-stream-egress.d.ts +8 -0
- package/dist/chat-stream-egress.d.ts.map +1 -0
- package/dist/chat-stream-egress.js +129 -0
- package/dist/chat-stream-egress.js.map +1 -0
- package/dist/contracts.d.ts +61 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +2 -0
- package/dist/contracts.js.map +1 -0
- package/dist/egress-codec-registry.d.ts +36 -0
- package/dist/egress-codec-registry.d.ts.map +1 -0
- package/dist/egress-codec-registry.js +125 -0
- package/dist/egress-codec-registry.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/ingress-codec-registry.d.ts +26 -0
- package/dist/ingress-codec-registry.d.ts.map +1 -0
- package/dist/ingress-codec-registry.js +106 -0
- package/dist/ingress-codec-registry.js.map +1 -0
- package/dist/media-images.d.ts +154 -0
- package/dist/media-images.d.ts.map +1 -0
- package/dist/media-images.js +721 -0
- package/dist/media-images.js.map +1 -0
- package/dist/media-video.d.ts +68 -0
- package/dist/media-video.d.ts.map +1 -0
- package/dist/media-video.js +196 -0
- package/dist/media-video.js.map +1 -0
- package/dist/native-images.d.ts +68 -0
- package/dist/native-images.d.ts.map +1 -0
- package/dist/native-images.js +424 -0
- package/dist/native-images.js.map +1 -0
- package/dist/openai-embeddings-egress.d.ts +4 -0
- package/dist/openai-embeddings-egress.d.ts.map +1 -0
- package/dist/openai-embeddings-egress.js +21 -0
- package/dist/openai-embeddings-egress.js.map +1 -0
- package/dist/openai-embeddings.d.ts +66 -0
- package/dist/openai-embeddings.d.ts.map +1 -0
- package/dist/openai-embeddings.js +442 -0
- package/dist/openai-embeddings.js.map +1 -0
- package/dist/openai-responses-egress.d.ts +17 -0
- package/dist/openai-responses-egress.d.ts.map +1 -0
- package/dist/openai-responses-egress.js +99 -0
- package/dist/openai-responses-egress.js.map +1 -0
- package/dist/openai-responses-stream-egress.d.ts +4 -0
- package/dist/openai-responses-stream-egress.d.ts.map +1 -0
- package/dist/openai-responses-stream-egress.js +252 -0
- package/dist/openai-responses-stream-egress.js.map +1 -0
- package/dist/openai-responses.d.ts +15 -0
- package/dist/openai-responses.d.ts.map +1 -0
- package/dist/openai-responses.js +363 -0
- package/dist/openai-responses.js.map +1 -0
- package/dist/provider-source.d.ts +20 -0
- package/dist/provider-source.d.ts.map +1 -0
- package/dist/provider-source.js +41 -0
- package/dist/provider-source.js.map +1 -0
- package/dist/provider-transport.d.ts +5 -0
- package/dist/provider-transport.d.ts.map +1 -0
- package/dist/provider-transport.js +114 -0
- package/dist/provider-transport.js.map +1 -0
- package/dist/runtime-v2-validation.d.ts +16 -0
- package/dist/runtime-v2-validation.d.ts.map +1 -0
- package/dist/runtime-v2-validation.js +915 -0
- package/dist/runtime-v2-validation.js.map +1 -0
- package/dist/runtime-v2.d.ts +462 -0
- package/dist/runtime-v2.d.ts.map +1 -0
- package/dist/runtime-v2.js +56 -0
- package/dist/runtime-v2.js.map +1 -0
- package/dist/tokenforge-task-projection.d.ts +8 -0
- package/dist/tokenforge-task-projection.d.ts.map +1 -0
- package/dist/tokenforge-task-projection.js +247 -0
- package/dist/tokenforge-task-projection.js.map +1 -0
- package/dist/tokenforge-tasks.d.ts +241 -0
- package/dist/tokenforge-tasks.d.ts.map +1 -0
- package/dist/tokenforge-tasks.js +1132 -0
- package/dist/tokenforge-tasks.js.map +1 -0
- package/dist/usage-reservation.d.ts +11 -0
- package/dist/usage-reservation.d.ts.map +1 -0
- package/dist/usage-reservation.js +40 -0
- package/dist/usage-reservation.js.map +1 -0
- package/dist/validation.d.ts +22 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +415 -0
- package/dist/validation.js.map +1 -0
- package/dist/video-ingress.d.ts +31 -0
- package/dist/video-ingress.d.ts.map +1 -0
- package/dist/video-ingress.js +246 -0
- package/dist/video-ingress.js.map +1 -0
- package/dist/volc-video-task-codec.d.ts +59 -0
- package/dist/volc-video-task-codec.d.ts.map +1 -0
- package/dist/volc-video-task-codec.js +123 -0
- package/dist/volc-video-task-codec.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { TokenforgeTaskRequestError } from './tokenforge-tasks.js';
|
|
2
|
+
/**
|
|
3
|
+
* Versioned cross-protocol ingress projection. Hosts call this shared Codec
|
|
4
|
+
* after target resolution; no Host owns OpenAI or Anthropic wire mapping.
|
|
5
|
+
*/
|
|
6
|
+
export function projectTokenforgeTaskInputV1(decoded, protocolFamily) {
|
|
7
|
+
if (decoded.taskKind === 'embedding')
|
|
8
|
+
return decoded.normalizedInput;
|
|
9
|
+
const input = decoded.normalizedInput;
|
|
10
|
+
if (decoded.taskKind !== 'chat')
|
|
11
|
+
return input;
|
|
12
|
+
const messages = Array.isArray(input['input']) ? input['input'] : [];
|
|
13
|
+
const maxOutputTokens = input['maxOutputTokens'];
|
|
14
|
+
const temperature = input['temperature'];
|
|
15
|
+
const tools = Array.isArray(input['tools']) ? input['tools'] : undefined;
|
|
16
|
+
const toolChoice = input['toolChoice'];
|
|
17
|
+
const openAiOptions = optionRecord(decoded.providerOptions['openai']);
|
|
18
|
+
const anthropicOptions = optionRecord(decoded.providerOptions['anthropic']);
|
|
19
|
+
if (protocolFamily === 'openai-responses/v1') {
|
|
20
|
+
return {
|
|
21
|
+
input: projectOpenAiResponsesItems(messages),
|
|
22
|
+
...(typeof maxOutputTokens === 'number' ? { max_output_tokens: maxOutputTokens } : {}),
|
|
23
|
+
...(typeof temperature === 'number' ? { temperature } : {}),
|
|
24
|
+
...(tools === undefined ? {} : { tools }),
|
|
25
|
+
...(toolChoice === undefined ? {} : { tool_choice: responseToolChoice(toolChoice) }),
|
|
26
|
+
...(typeof openAiOptions['reasoningEffort'] !== 'string'
|
|
27
|
+
? {}
|
|
28
|
+
: { reasoning: { effort: openAiOptions['reasoningEffort'] } }),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (protocolFamily === 'anthropic-messages/v1') {
|
|
32
|
+
const projected = projectAnthropicMessages(messages);
|
|
33
|
+
if (tools?.some((tool) => tool['strict'] === true)) {
|
|
34
|
+
unsupportedProjection();
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
messages: projected.messages,
|
|
38
|
+
...(projected.system === undefined ? {} : { system: projected.system }),
|
|
39
|
+
max_tokens: typeof maxOutputTokens === 'number' ? maxOutputTokens : 1024,
|
|
40
|
+
...(typeof temperature === 'number' ? { temperature } : {}),
|
|
41
|
+
...(tools === undefined ? {} : { tools: tools.map(projectAnthropicTool) }),
|
|
42
|
+
...(toolChoice === undefined ? {} : { tool_choice: anthropicToolChoice(toolChoice) }),
|
|
43
|
+
...(typeof anthropicOptions['topK'] !== 'number' ? {} : { top_k: anthropicOptions['topK'] }),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (protocolFamily === 'openai-chat/v1') {
|
|
47
|
+
if (messages.some(messageHasImage) || typeof openAiOptions['reasoningEffort'] === 'string') {
|
|
48
|
+
unsupportedProjection();
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
messages: messages.map(projectOpenAiChatMessage),
|
|
52
|
+
...(typeof maxOutputTokens === 'number' ? { max_completion_tokens: maxOutputTokens } : {}),
|
|
53
|
+
...(typeof temperature === 'number' ? { temperature } : {}),
|
|
54
|
+
...(tools === undefined ? {} : { tools: tools.map(projectOpenAiTool) }),
|
|
55
|
+
...(toolChoice === undefined ? {} : { tool_choice: openAiToolChoice(toolChoice) }),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return input;
|
|
59
|
+
}
|
|
60
|
+
function projectOpenAiResponsesItems(values) {
|
|
61
|
+
const items = [];
|
|
62
|
+
for (const value of values) {
|
|
63
|
+
const message = value;
|
|
64
|
+
const content = Array.isArray(message.content) ? message.content : [];
|
|
65
|
+
if (message.role === 'tool') {
|
|
66
|
+
const result = content[0];
|
|
67
|
+
items.push({
|
|
68
|
+
type: 'function_call_output',
|
|
69
|
+
call_id: result?.callId,
|
|
70
|
+
output: result?.output,
|
|
71
|
+
});
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const projectedContent = content
|
|
75
|
+
.filter((part) => part.type !== 'function_call')
|
|
76
|
+
.map(projectOpenAiResponsesContent);
|
|
77
|
+
if (projectedContent.length > 0) {
|
|
78
|
+
items.push({ role: message.role, content: projectedContent });
|
|
79
|
+
}
|
|
80
|
+
for (const part of content) {
|
|
81
|
+
const call = part;
|
|
82
|
+
if (call['type'] === 'function_call') {
|
|
83
|
+
items.push({
|
|
84
|
+
type: 'function_call',
|
|
85
|
+
call_id: call['callId'],
|
|
86
|
+
name: call['name'],
|
|
87
|
+
arguments: call['arguments'],
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return items;
|
|
93
|
+
}
|
|
94
|
+
function projectOpenAiResponsesContent(value) {
|
|
95
|
+
const part = value;
|
|
96
|
+
if (part['type'] === 'input_text')
|
|
97
|
+
return { type: 'input_text', text: part['text'] };
|
|
98
|
+
if (part['type'] === 'input_image') {
|
|
99
|
+
const source = part['source'];
|
|
100
|
+
return {
|
|
101
|
+
type: 'input_image',
|
|
102
|
+
image_url: source?.value,
|
|
103
|
+
...(part['detail'] === undefined ? {} : { detail: part['detail'] }),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
unsupportedProjection();
|
|
107
|
+
}
|
|
108
|
+
function optionRecord(value) {
|
|
109
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
110
|
+
? value
|
|
111
|
+
: {};
|
|
112
|
+
}
|
|
113
|
+
function projectOpenAiChatMessage(value) {
|
|
114
|
+
const message = value;
|
|
115
|
+
const content = Array.isArray(message.content) ? message.content : [];
|
|
116
|
+
if (message.role === 'tool') {
|
|
117
|
+
const result = content[0];
|
|
118
|
+
return { role: 'tool', tool_call_id: result?.callId, content: result?.output };
|
|
119
|
+
}
|
|
120
|
+
const toolCalls = content
|
|
121
|
+
.filter((part) => Boolean(part && typeof part === 'object' && part.type === 'function_call'))
|
|
122
|
+
.map((part) => ({
|
|
123
|
+
id: part.callId,
|
|
124
|
+
type: 'function',
|
|
125
|
+
function: { name: part.name, arguments: part.arguments },
|
|
126
|
+
}));
|
|
127
|
+
const text = content
|
|
128
|
+
.filter((part) => Boolean(part && typeof part === 'object' && part.type === 'input_text'))
|
|
129
|
+
.map((part) => part.text)
|
|
130
|
+
.join('\n');
|
|
131
|
+
return {
|
|
132
|
+
role: message.role === 'developer' ? 'system' : message.role,
|
|
133
|
+
content: text,
|
|
134
|
+
...(toolCalls.length === 0 ? {} : { tool_calls: toolCalls }),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function messageHasImage(value) {
|
|
138
|
+
const content = value.content;
|
|
139
|
+
return (Array.isArray(content) &&
|
|
140
|
+
content.some((part) => part.type === 'input_image'));
|
|
141
|
+
}
|
|
142
|
+
function projectOpenAiTool(value) {
|
|
143
|
+
const tool = value;
|
|
144
|
+
return {
|
|
145
|
+
type: 'function',
|
|
146
|
+
function: {
|
|
147
|
+
name: tool['name'],
|
|
148
|
+
...(tool['description'] === undefined ? {} : { description: tool['description'] }),
|
|
149
|
+
parameters: tool['parameters'],
|
|
150
|
+
...(tool['strict'] === undefined ? {} : { strict: tool['strict'] }),
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function openAiToolChoice(value) {
|
|
155
|
+
if (!value || typeof value !== 'object')
|
|
156
|
+
return value === 'auto' ? 'auto' : value;
|
|
157
|
+
return { type: 'function', function: { name: value.call } };
|
|
158
|
+
}
|
|
159
|
+
function responseToolChoice(value) {
|
|
160
|
+
if (!value || typeof value !== 'object')
|
|
161
|
+
return value;
|
|
162
|
+
return { type: 'function', name: value.call };
|
|
163
|
+
}
|
|
164
|
+
function projectAnthropicTool(value) {
|
|
165
|
+
const tool = value;
|
|
166
|
+
return {
|
|
167
|
+
name: tool['name'],
|
|
168
|
+
...(tool['description'] === undefined ? {} : { description: tool['description'] }),
|
|
169
|
+
input_schema: tool['parameters'],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function anthropicToolChoice(value) {
|
|
173
|
+
if (value === 'none')
|
|
174
|
+
unsupportedProjection();
|
|
175
|
+
if (value === 'auto')
|
|
176
|
+
return { type: value };
|
|
177
|
+
return { type: 'tool', name: value.call };
|
|
178
|
+
}
|
|
179
|
+
function projectAnthropicImage(value) {
|
|
180
|
+
if (value['detail'] !== undefined)
|
|
181
|
+
unsupportedProjection();
|
|
182
|
+
const source = value['source'];
|
|
183
|
+
if (source?.['kind'] === 'https_url') {
|
|
184
|
+
return { type: 'image', source: { type: 'url', url: source['value'] } };
|
|
185
|
+
}
|
|
186
|
+
if (source?.['kind'] === 'data_url' && typeof source['value'] === 'string') {
|
|
187
|
+
const match = /^data:(image\/(?:gif|jpeg|png|webp));base64,([A-Za-z0-9+/]+={0,2})$/u.exec(source['value']);
|
|
188
|
+
if (match) {
|
|
189
|
+
return {
|
|
190
|
+
type: 'image',
|
|
191
|
+
source: { type: 'base64', media_type: match[1], data: match[2] },
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
unsupportedProjection();
|
|
196
|
+
}
|
|
197
|
+
function projectAnthropicMessages(values) {
|
|
198
|
+
const system = [];
|
|
199
|
+
const messages = [];
|
|
200
|
+
for (const value of values) {
|
|
201
|
+
const message = value;
|
|
202
|
+
const content = Array.isArray(message.content) ? message.content : [];
|
|
203
|
+
if (message.role === 'system' || message.role === 'developer') {
|
|
204
|
+
for (const part of content) {
|
|
205
|
+
const textPart = part;
|
|
206
|
+
if (textPart.type === 'input_text' && typeof textPart.text === 'string') {
|
|
207
|
+
system.push(textPart.text);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
if (message.role === 'tool') {
|
|
213
|
+
const result = content[0];
|
|
214
|
+
messages.push({
|
|
215
|
+
role: 'user',
|
|
216
|
+
content: [{ type: 'tool_result', tool_use_id: result?.callId, content: result?.output }],
|
|
217
|
+
});
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
messages.push({
|
|
221
|
+
role: message.role,
|
|
222
|
+
content: content.map((part) => {
|
|
223
|
+
const item = part;
|
|
224
|
+
if (item['type'] === 'input_text')
|
|
225
|
+
return { type: 'text', text: item['text'] };
|
|
226
|
+
if (item['type'] === 'input_image')
|
|
227
|
+
return projectAnthropicImage(item);
|
|
228
|
+
if (item['type'] === 'function_call') {
|
|
229
|
+
let parsed;
|
|
230
|
+
try {
|
|
231
|
+
parsed = JSON.parse(String(item['arguments']));
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
unsupportedProjection();
|
|
235
|
+
}
|
|
236
|
+
return { type: 'tool_use', id: item['callId'], name: item['name'], input: parsed };
|
|
237
|
+
}
|
|
238
|
+
unsupportedProjection();
|
|
239
|
+
}),
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return { messages, ...(system.length === 0 ? {} : { system: system.join('\n') }) };
|
|
243
|
+
}
|
|
244
|
+
function unsupportedProjection() {
|
|
245
|
+
throw new TokenforgeTaskRequestError('unsupported_capability', 422);
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=tokenforge-task-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenforge-task-projection.js","sourceRoot":"","sources":["../src/tokenforge-task-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import type { ProviderCapability } from './contracts.js';
|
|
2
|
+
import type { DecodedTaskV1, NormalizedResultV2, NormalizedResultV1, NormalizedStreamEventV1, NormalizedUsageV2, NormalizedUsageV1 } from './runtime-v2.js';
|
|
3
|
+
export declare const TOKENFORGE_TASKS_API_VERSION: "2026-07-13";
|
|
4
|
+
export declare const TOKENFORGE_TASKS_V2_API_VERSION: "2026-07-19";
|
|
5
|
+
export declare const TOKENFORGE_TASKS_PROTOCOL: "tokenforge-tasks/v1";
|
|
6
|
+
/**
|
|
7
|
+
* P1C compatibility contract: the persisted and synchronized `supportsResponses` flag is an
|
|
8
|
+
* exclusive Task chat-family selector, not an additive statement that publishes both families.
|
|
9
|
+
* This keeps Gateway and Server target snapshots deterministic without introducing a new seam.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveDeclaredOpenAiChatProtocolFamily(input: {
|
|
12
|
+
readonly supportsResponses: boolean;
|
|
13
|
+
}): 'openai-chat/v1' | 'openai-responses/v1';
|
|
14
|
+
export type ReasoningEffortV1 = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
|
|
15
|
+
export interface InputTextV1 {
|
|
16
|
+
readonly type: 'input_text';
|
|
17
|
+
readonly text: string;
|
|
18
|
+
}
|
|
19
|
+
export interface InputImageV1 {
|
|
20
|
+
readonly type: 'input_image';
|
|
21
|
+
readonly source: {
|
|
22
|
+
readonly kind: 'https_url' | 'data_url';
|
|
23
|
+
readonly value: string;
|
|
24
|
+
};
|
|
25
|
+
readonly detail?: 'auto' | 'low' | 'high';
|
|
26
|
+
}
|
|
27
|
+
export interface FunctionCallV1 {
|
|
28
|
+
readonly type: 'function_call';
|
|
29
|
+
readonly callId: string;
|
|
30
|
+
readonly name: string;
|
|
31
|
+
readonly arguments: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ToolResultV1 {
|
|
34
|
+
readonly type: 'tool_result';
|
|
35
|
+
readonly callId: string;
|
|
36
|
+
readonly output: string;
|
|
37
|
+
}
|
|
38
|
+
export type ChatMessageV1 = {
|
|
39
|
+
readonly role: 'system' | 'developer';
|
|
40
|
+
readonly content: readonly InputTextV1[];
|
|
41
|
+
} | {
|
|
42
|
+
readonly role: 'user';
|
|
43
|
+
readonly content: readonly (InputTextV1 | InputImageV1)[];
|
|
44
|
+
} | {
|
|
45
|
+
readonly role: 'assistant';
|
|
46
|
+
readonly content: readonly (InputTextV1 | FunctionCallV1)[];
|
|
47
|
+
} | {
|
|
48
|
+
readonly role: 'tool';
|
|
49
|
+
readonly content: readonly [ToolResultV1];
|
|
50
|
+
};
|
|
51
|
+
export type JsonValue = string | number | boolean | null | JsonObject | readonly JsonValue[];
|
|
52
|
+
export interface JsonObject {
|
|
53
|
+
readonly [key: string]: JsonValue;
|
|
54
|
+
}
|
|
55
|
+
export interface FunctionToolV1 {
|
|
56
|
+
readonly type: 'function';
|
|
57
|
+
readonly name: string;
|
|
58
|
+
readonly description?: string;
|
|
59
|
+
readonly parameters: JsonObject;
|
|
60
|
+
readonly strict?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export type ToolChoiceV1 = 'auto' | 'none' | {
|
|
63
|
+
readonly call: string;
|
|
64
|
+
};
|
|
65
|
+
export interface ProviderOptionsV1 {
|
|
66
|
+
readonly openai?: {
|
|
67
|
+
readonly reasoningEffort?: ReasoningEffortV1;
|
|
68
|
+
};
|
|
69
|
+
readonly anthropic?: {
|
|
70
|
+
readonly topK?: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export interface ProviderOptionsV2 extends ProviderOptionsV1 {
|
|
74
|
+
readonly openaiImages?: {
|
|
75
|
+
readonly background?: 'transparent' | 'opaque' | 'auto';
|
|
76
|
+
readonly moderation?: 'low' | 'auto';
|
|
77
|
+
readonly outputCompression?: number;
|
|
78
|
+
};
|
|
79
|
+
readonly volcImages?: {
|
|
80
|
+
readonly watermark?: boolean;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export type MediaInputV2 = {
|
|
84
|
+
readonly kind: 'url';
|
|
85
|
+
readonly url: string;
|
|
86
|
+
readonly mimeType?: string;
|
|
87
|
+
} | {
|
|
88
|
+
readonly kind: 'object';
|
|
89
|
+
readonly objectKey: string;
|
|
90
|
+
};
|
|
91
|
+
export type ImageGenerationTaskV2 = {
|
|
92
|
+
readonly kind: 'image_generation';
|
|
93
|
+
readonly mode: 'sync' | 'stream';
|
|
94
|
+
readonly operation: 'generate';
|
|
95
|
+
readonly prompt: string;
|
|
96
|
+
readonly count?: number;
|
|
97
|
+
readonly size?: {
|
|
98
|
+
readonly width: number;
|
|
99
|
+
readonly height: number;
|
|
100
|
+
};
|
|
101
|
+
readonly quality?: 'auto' | 'low' | 'medium' | 'high';
|
|
102
|
+
readonly outputFormat?: 'png' | 'jpeg' | 'webp';
|
|
103
|
+
readonly responseFormat?: 'url' | 'b64_json';
|
|
104
|
+
} | {
|
|
105
|
+
readonly kind: 'image_generation';
|
|
106
|
+
readonly mode: 'sync' | 'stream';
|
|
107
|
+
readonly operation: 'edit';
|
|
108
|
+
readonly prompt: string;
|
|
109
|
+
readonly images: readonly MediaInputV2[];
|
|
110
|
+
readonly mask?: MediaInputV2;
|
|
111
|
+
readonly count?: number;
|
|
112
|
+
readonly size?: {
|
|
113
|
+
readonly width: number;
|
|
114
|
+
readonly height: number;
|
|
115
|
+
};
|
|
116
|
+
readonly quality?: 'auto' | 'low' | 'medium' | 'high';
|
|
117
|
+
readonly outputFormat?: 'png' | 'jpeg' | 'webp';
|
|
118
|
+
readonly responseFormat?: 'url' | 'b64_json';
|
|
119
|
+
};
|
|
120
|
+
export interface VideoGenerationTaskV2 {
|
|
121
|
+
readonly kind: 'video_generation';
|
|
122
|
+
readonly mode: 'async';
|
|
123
|
+
readonly input: readonly ({
|
|
124
|
+
readonly type: 'input_text';
|
|
125
|
+
readonly text: string;
|
|
126
|
+
} | {
|
|
127
|
+
readonly type: 'input_image';
|
|
128
|
+
readonly media: MediaInputV2;
|
|
129
|
+
})[];
|
|
130
|
+
readonly durationSeconds?: number;
|
|
131
|
+
readonly aspectRatio?: string;
|
|
132
|
+
readonly size?: {
|
|
133
|
+
readonly width: number;
|
|
134
|
+
readonly height: number;
|
|
135
|
+
};
|
|
136
|
+
readonly returnLastFrame?: boolean;
|
|
137
|
+
readonly callbackUrl?: string;
|
|
138
|
+
}
|
|
139
|
+
export interface TaskRequestV1 {
|
|
140
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_API_VERSION;
|
|
141
|
+
readonly clientRequestId?: string;
|
|
142
|
+
readonly model: string;
|
|
143
|
+
readonly task: {
|
|
144
|
+
readonly kind: 'chat';
|
|
145
|
+
readonly mode: 'sync' | 'stream';
|
|
146
|
+
readonly input: readonly ChatMessageV1[];
|
|
147
|
+
readonly maxOutputTokens?: number;
|
|
148
|
+
readonly temperature?: number;
|
|
149
|
+
readonly tools?: readonly FunctionToolV1[];
|
|
150
|
+
readonly toolChoice?: ToolChoiceV1;
|
|
151
|
+
} | {
|
|
152
|
+
readonly kind: 'embedding';
|
|
153
|
+
readonly mode: 'sync';
|
|
154
|
+
readonly input: readonly string[];
|
|
155
|
+
readonly dimensions?: number;
|
|
156
|
+
readonly encodingFormat?: 'float' | 'base64';
|
|
157
|
+
};
|
|
158
|
+
readonly providerOptions?: ProviderOptionsV1;
|
|
159
|
+
}
|
|
160
|
+
export interface TaskResponseV1 {
|
|
161
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_API_VERSION;
|
|
162
|
+
readonly requestId: string;
|
|
163
|
+
readonly taskId: string;
|
|
164
|
+
readonly model: string;
|
|
165
|
+
readonly output: NormalizedResultV1['output'];
|
|
166
|
+
readonly usage?: NormalizedUsageV1;
|
|
167
|
+
}
|
|
168
|
+
export interface TaskRequestV2 {
|
|
169
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_V2_API_VERSION;
|
|
170
|
+
readonly clientRequestId?: string;
|
|
171
|
+
readonly model: string;
|
|
172
|
+
readonly task: TaskRequestV1['task'] | ImageGenerationTaskV2 | VideoGenerationTaskV2;
|
|
173
|
+
readonly providerOptions?: ProviderOptionsV2;
|
|
174
|
+
}
|
|
175
|
+
export interface TaskResponseV2 {
|
|
176
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_V2_API_VERSION;
|
|
177
|
+
readonly requestId: string;
|
|
178
|
+
readonly taskId: string;
|
|
179
|
+
readonly model: string;
|
|
180
|
+
readonly output: NormalizedResultV2['output'];
|
|
181
|
+
readonly usage?: NormalizedUsageV2;
|
|
182
|
+
}
|
|
183
|
+
export interface AcceptedTaskResponseV2 {
|
|
184
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_V2_API_VERSION;
|
|
185
|
+
readonly requestId: string;
|
|
186
|
+
readonly taskId: string;
|
|
187
|
+
readonly model: string;
|
|
188
|
+
readonly status: 'accepted';
|
|
189
|
+
}
|
|
190
|
+
export type TaskStreamEventPayloadV1 = Exclude<NormalizedStreamEventV1, {
|
|
191
|
+
readonly type: 'response.cancelled';
|
|
192
|
+
}>;
|
|
193
|
+
export interface TaskStreamEventV1 {
|
|
194
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_API_VERSION;
|
|
195
|
+
readonly requestId: string;
|
|
196
|
+
readonly taskId: string;
|
|
197
|
+
readonly sequenceNumber: number;
|
|
198
|
+
readonly event: TaskStreamEventPayloadV1;
|
|
199
|
+
}
|
|
200
|
+
export interface TaskStreamSseFrameV1 {
|
|
201
|
+
readonly event: 'task.event';
|
|
202
|
+
readonly data: TaskStreamEventV1;
|
|
203
|
+
}
|
|
204
|
+
export type TaskStreamEgressErrorCode = 'invalid_task_stream_event' | 'task_stream_already_terminated' | 'task_stream_terminal_required';
|
|
205
|
+
export declare class TaskStreamEgressError extends Error {
|
|
206
|
+
readonly code: TaskStreamEgressErrorCode;
|
|
207
|
+
readonly name = "TaskStreamEgressError";
|
|
208
|
+
constructor(code: TaskStreamEgressErrorCode);
|
|
209
|
+
}
|
|
210
|
+
export interface TaskStreamEventBuilderV1 {
|
|
211
|
+
append(event: TaskStreamEventPayloadV1): TaskStreamSseFrameV1;
|
|
212
|
+
finish(): void;
|
|
213
|
+
}
|
|
214
|
+
export interface TaskErrorV1 {
|
|
215
|
+
readonly apiVersion: typeof TOKENFORGE_TASKS_API_VERSION;
|
|
216
|
+
readonly requestId: string;
|
|
217
|
+
readonly error: {
|
|
218
|
+
readonly code: string;
|
|
219
|
+
readonly message: string;
|
|
220
|
+
readonly category: 'invalid_request' | 'unsupported_capability' | 'authentication' | 'quota' | 'provider' | 'internal';
|
|
221
|
+
readonly retryable: boolean;
|
|
222
|
+
readonly field?: string;
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export type TokenforgeTaskRequestErrorCode = 'body_required' | 'unsupported_api_version' | 'unknown_field' | 'model_required' | 'invalid_client_request_id' | 'unsupported_task' | 'unsupported_task_mode' | 'input_required' | 'invalid_request' | 'invalid_input' | 'input_limit_exceeded' | 'unsupported_provider_option' | 'unsupported_capability';
|
|
226
|
+
export type TokenforgeTaskRequestErrorStatus = 400 | 422;
|
|
227
|
+
export declare class TokenforgeTaskRequestError extends Error {
|
|
228
|
+
readonly code: TokenforgeTaskRequestErrorCode;
|
|
229
|
+
readonly status: TokenforgeTaskRequestErrorStatus;
|
|
230
|
+
readonly name = "TokenforgeTaskRequestError";
|
|
231
|
+
constructor(code: TokenforgeTaskRequestErrorCode, status: TokenforgeTaskRequestErrorStatus);
|
|
232
|
+
}
|
|
233
|
+
export declare function createTaskStreamEventBuilderV1(input: {
|
|
234
|
+
readonly requestId: string;
|
|
235
|
+
readonly taskId: string;
|
|
236
|
+
}): TaskStreamEventBuilderV1;
|
|
237
|
+
export declare function decodeTokenforgeTaskRequest(body: unknown): DecodedTaskV1;
|
|
238
|
+
export declare function validateTokenforgeTaskM1Activation(decoded: DecodedTaskV1): void;
|
|
239
|
+
export declare function validateTokenforgeTaskCapability(decoded: DecodedTaskV1, capability: ProviderCapability): void;
|
|
240
|
+
export declare function decodeMediaInputV2(value: unknown): MediaInputV2;
|
|
241
|
+
//# sourceMappingURL=tokenforge-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenforge-tasks.d.ts","sourceRoot":"","sources":["../src/tokenforge-tasks.ts"],"names":[],"mappings":"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"}
|