@sogni-ai/sogni-client 4.2.0-alpha.21 → 4.2.0-alpha.23
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 +14 -0
- package/CLAUDE.md +7 -0
- package/README.md +45 -25
- package/dist/Chat/ChatTools.js +30 -16
- package/dist/Chat/ChatTools.js.map +1 -1
- package/dist/Chat/hostedToolValidation.generated.d.ts +46 -0
- package/dist/Chat/hostedToolValidation.generated.js +306 -0
- package/dist/Chat/hostedToolValidation.generated.js.map +1 -0
- package/dist/Chat/index.d.ts +41 -1
- package/dist/Chat/index.js +285 -26
- package/dist/Chat/index.js.map +1 -1
- package/dist/Chat/modelRouting.d.ts +8 -26
- package/dist/Chat/modelRouting.js +11 -106
- package/dist/Chat/modelRouting.js.map +1 -1
- package/dist/Chat/sogniHostedTools.generated.json +1596 -304
- package/dist/Chat/tools.d.ts +52 -3
- package/dist/Chat/tools.js +80 -27
- package/dist/Chat/tools.js.map +1 -1
- package/dist/Chat/types.d.ts +119 -3
- package/dist/CreativeWorkflows/index.d.ts +1 -7
- package/dist/CreativeWorkflows/index.js +60 -21
- package/dist/CreativeWorkflows/index.js.map +1 -1
- package/dist/CreativeWorkflows/types.d.ts +28 -33
- package/dist/Projects/index.d.ts +49 -8
- package/dist/Projects/index.js +49 -8
- package/dist/Projects/index.js.map +1 -1
- package/dist/index.d.ts +19 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/Cache.js +6 -1
- package/dist/lib/Cache.js.map +1 -1
- package/dist/lib/mediaValidation.d.ts +3 -0
- package/dist/lib/mediaValidation.js +154 -0
- package/dist/lib/mediaValidation.js.map +1 -1
- package/dist-esm/Account/CurrentAccount.js +59 -0
- package/dist-esm/Account/CurrentAccount.js.map +1 -0
- package/dist-esm/Account/index.js +543 -0
- package/dist-esm/Account/index.js.map +1 -0
- package/dist-esm/Account/types.js +2 -0
- package/dist-esm/Account/types.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +327 -0
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +222 -0
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js +15 -0
- package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js +35 -0
- package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/events.js +2 -0
- package/dist-esm/ApiClient/WebSocketClient/events.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/index.js +221 -0
- package/dist-esm/ApiClient/WebSocketClient/index.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/messages.js +2 -0
- package/dist-esm/ApiClient/WebSocketClient/messages.js.map +1 -0
- package/dist-esm/ApiClient/WebSocketClient/types.js +2 -0
- package/dist-esm/ApiClient/WebSocketClient/types.js.map +1 -0
- package/dist-esm/ApiClient/events.js +2 -0
- package/dist-esm/ApiClient/events.js.map +1 -0
- package/dist-esm/ApiClient/index.js +120 -0
- package/dist-esm/ApiClient/index.js.map +1 -0
- package/dist-esm/ApiGroup.js +10 -0
- package/dist-esm/ApiGroup.js.map +1 -0
- package/dist-esm/Chat/ChatStream.js +181 -0
- package/dist-esm/Chat/ChatStream.js.map +1 -0
- package/dist-esm/Chat/ChatTools.js +562 -0
- package/dist-esm/Chat/ChatTools.js.map +1 -0
- package/dist-esm/Chat/hostedToolValidation.generated.js +301 -0
- package/dist-esm/Chat/hostedToolValidation.generated.js.map +1 -0
- package/dist-esm/Chat/index.js +693 -0
- package/dist-esm/Chat/index.js.map +1 -0
- package/dist-esm/Chat/modelRouting.js +326 -0
- package/dist-esm/Chat/modelRouting.js.map +1 -0
- package/dist-esm/Chat/sogniHostedTools.generated.json +1821 -0
- package/dist-esm/Chat/tools.js +149 -0
- package/dist-esm/Chat/tools.js.map +1 -0
- package/dist-esm/Chat/types.js +2 -0
- package/dist-esm/Chat/types.js.map +1 -0
- package/dist-esm/CreativeWorkflows/index.js +293 -0
- package/dist-esm/CreativeWorkflows/index.js.map +1 -0
- package/dist-esm/CreativeWorkflows/types.js +2 -0
- package/dist-esm/CreativeWorkflows/types.js.map +1 -0
- package/dist-esm/Projects/Job.js +391 -0
- package/dist-esm/Projects/Job.js.map +1 -0
- package/dist-esm/Projects/Project.js +295 -0
- package/dist-esm/Projects/Project.js.map +1 -0
- package/dist-esm/Projects/createJobRequestMessage.js +528 -0
- package/dist-esm/Projects/createJobRequestMessage.js.map +1 -0
- package/dist-esm/Projects/index.js +1350 -0
- package/dist-esm/Projects/index.js.map +1 -0
- package/dist-esm/Projects/types/ComfySamplerParams.js +2 -0
- package/dist-esm/Projects/types/ComfySamplerParams.js.map +1 -0
- package/dist-esm/Projects/types/ControlNetParams.js +2 -0
- package/dist-esm/Projects/types/ControlNetParams.js.map +1 -0
- package/dist-esm/Projects/types/EstimationResponse.js +2 -0
- package/dist-esm/Projects/types/EstimationResponse.js.map +1 -0
- package/dist-esm/Projects/types/ModelOptions.js +89 -0
- package/dist-esm/Projects/types/ModelOptions.js.map +1 -0
- package/dist-esm/Projects/types/ModelTiersRaw.js +13 -0
- package/dist-esm/Projects/types/ModelTiersRaw.js.map +1 -0
- package/dist-esm/Projects/types/RawProject.js +2 -0
- package/dist-esm/Projects/types/RawProject.js.map +1 -0
- package/dist-esm/Projects/types/events.js +2 -0
- package/dist-esm/Projects/types/events.js.map +1 -0
- package/dist-esm/Projects/types/index.js +10 -0
- package/dist-esm/Projects/types/index.js.map +1 -0
- package/dist-esm/Projects/utils/index.js +229 -0
- package/dist-esm/Projects/utils/index.js.map +1 -0
- package/dist-esm/Projects/utils/samplers.js +36 -0
- package/dist-esm/Projects/utils/samplers.js.map +1 -0
- package/dist-esm/Projects/utils/scheduler.js +27 -0
- package/dist-esm/Projects/utils/scheduler.js.map +1 -0
- package/dist-esm/Stats/index.js +20 -0
- package/dist-esm/Stats/index.js.map +1 -0
- package/dist-esm/Stats/types.js +2 -0
- package/dist-esm/Stats/types.js.map +1 -0
- package/dist-esm/events.js +2 -0
- package/dist-esm/events.js.map +1 -0
- package/dist-esm/index.js +144 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js +58 -0
- package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
- package/dist-esm/lib/AuthManager/AuthManagerBase.js +9 -0
- package/dist-esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
- package/dist-esm/lib/AuthManager/CookieAuthManager.js +48 -0
- package/dist-esm/lib/AuthManager/CookieAuthManager.js.map +1 -0
- package/dist-esm/lib/AuthManager/TokenAuthManager.js +186 -0
- package/dist-esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
- package/dist-esm/lib/AuthManager/index.js +5 -0
- package/dist-esm/lib/AuthManager/index.js.map +1 -0
- package/dist-esm/lib/Cache.js +32 -0
- package/dist-esm/lib/Cache.js.map +1 -0
- package/dist-esm/lib/DataEntity.js +30 -0
- package/dist-esm/lib/DataEntity.js.map +1 -0
- package/dist-esm/lib/DefaultLogger.js +32 -0
- package/dist-esm/lib/DefaultLogger.js.map +1 -0
- package/dist-esm/lib/EIP712Helper.js +37 -0
- package/dist-esm/lib/EIP712Helper.js.map +1 -0
- package/dist-esm/lib/RestClient.js +90 -0
- package/dist-esm/lib/RestClient.js.map +1 -0
- package/dist-esm/lib/TypedEventEmitter.js +68 -0
- package/dist-esm/lib/TypedEventEmitter.js.map +1 -0
- package/dist-esm/lib/base64.js +18 -0
- package/dist-esm/lib/base64.js.map +1 -0
- package/dist-esm/lib/getUUID.js +7 -0
- package/dist-esm/lib/getUUID.js.map +1 -0
- package/dist-esm/lib/isNodejs.js +3 -0
- package/dist-esm/lib/isNodejs.js.map +1 -0
- package/dist-esm/lib/mediaValidation.js +430 -0
- package/dist-esm/lib/mediaValidation.js.map +1 -0
- package/dist-esm/lib/utils/index.js +30 -0
- package/dist-esm/lib/utils/index.js.map +1 -0
- package/dist-esm/lib/validation.js +138 -0
- package/dist-esm/lib/validation.js.map +1 -0
- package/dist-esm/package.json +3 -0
- package/dist-esm/types/ErrorData.js +2 -0
- package/dist-esm/types/ErrorData.js.map +1 -0
- package/dist-esm/types/json.js +2 -0
- package/dist-esm/types/json.js.map +1 -0
- package/dist-esm/types/token.js +2 -0
- package/dist-esm/types/token.js.map +1 -0
- package/dist-esm/version.js +3 -0
- package/dist-esm/version.js.map +1 -0
- package/llms-full.txt +11 -20
- package/llms.txt +9 -18
- package/package.json +21 -5
- package/src/Chat/ChatTools.ts +36 -16
- package/src/Chat/hostedToolValidation.generated.ts +453 -0
- package/src/Chat/index.ts +322 -37
- package/src/Chat/modelRouting.ts +26 -150
- package/src/Chat/sogniHostedTools.generated.json +1596 -304
- package/src/Chat/tools.ts +106 -41
- package/src/Chat/types.ts +131 -3
- package/src/CreativeWorkflows/index.ts +55 -41
- package/src/CreativeWorkflows/types.ts +70 -42
- package/src/Projects/index.ts +49 -8
- package/src/index.ts +33 -12
- package/src/lib/Cache.ts +8 -1
- package/src/lib/mediaValidation.ts +155 -0
package/dist/Chat/tools.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ToolDefinition, ToolCall } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Canonical hosted creative-tool names mirrored from
|
|
4
|
+
* `@sogni/creative-agent/src/backbone/openai-tools/{generation,composition}-tools.json`.
|
|
5
|
+
* The legacy `sogni_*` prefixed names were retired; tool names are now flat.
|
|
6
|
+
*/
|
|
7
|
+
export type SogniHostedToolName = 'generate_image' | 'generate_video' | 'generate_music' | 'edit_image' | 'apply_style' | 'restore_photo' | 'refine_result' | 'animate_photo' | 'change_angle' | 'video_to_video' | 'stitch_video' | 'orbit_video' | 'dance_montage' | 'sound_to_video' | 'extend_video' | 'replace_video_segment' | 'overlay_video' | 'add_subtitles' | 'enhance_prompt' | 'compose_lyrics' | 'compose_instrumental' | 'compose_script';
|
|
2
8
|
/**
|
|
3
9
|
* Built-in Sogni platform tool definitions for use with LLM tool calling.
|
|
4
10
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
11
|
+
* Generated from the shared `@sogni/creative-agent` hosted tool backbone via
|
|
12
|
+
* `npm run sync:hosted-tools-manifest`. The public SDK keeps a local copy so
|
|
13
|
+
* consumers do not need the private creative-agent package at runtime.
|
|
8
14
|
*/
|
|
9
15
|
export declare const generateImageTool: ToolDefinition;
|
|
10
16
|
export declare const editImageTool: ToolDefinition;
|
|
@@ -12,6 +18,22 @@ export declare const generateVideoTool: ToolDefinition;
|
|
|
12
18
|
export declare const soundToVideoTool: ToolDefinition;
|
|
13
19
|
export declare const videoToVideoTool: ToolDefinition;
|
|
14
20
|
export declare const generateMusicTool: ToolDefinition;
|
|
21
|
+
export declare const applyStyleTool: ToolDefinition;
|
|
22
|
+
export declare const restorePhotoTool: ToolDefinition;
|
|
23
|
+
export declare const refineResultTool: ToolDefinition;
|
|
24
|
+
export declare const changeAngleTool: ToolDefinition;
|
|
25
|
+
export declare const animatePhotoTool: ToolDefinition;
|
|
26
|
+
export declare const stitchVideoTool: ToolDefinition;
|
|
27
|
+
export declare const orbitVideoTool: ToolDefinition;
|
|
28
|
+
export declare const danceMontageTool: ToolDefinition;
|
|
29
|
+
export declare const extendVideoTool: ToolDefinition;
|
|
30
|
+
export declare const replaceVideoSegmentTool: ToolDefinition;
|
|
31
|
+
export declare const overlayVideoTool: ToolDefinition;
|
|
32
|
+
export declare const addSubtitlesTool: ToolDefinition;
|
|
33
|
+
export declare const enhancePromptTool: ToolDefinition;
|
|
34
|
+
export declare const composeLyricsTool: ToolDefinition;
|
|
35
|
+
export declare const composeInstrumentalTool: ToolDefinition;
|
|
36
|
+
export declare const composeScriptTool: ToolDefinition;
|
|
15
37
|
export declare const SogniTools: {
|
|
16
38
|
generateImage: ToolDefinition;
|
|
17
39
|
editImage: ToolDefinition;
|
|
@@ -19,11 +41,38 @@ export declare const SogniTools: {
|
|
|
19
41
|
soundToVideo: ToolDefinition;
|
|
20
42
|
videoToVideo: ToolDefinition;
|
|
21
43
|
generateMusic: ToolDefinition;
|
|
44
|
+
applyStyle: ToolDefinition;
|
|
45
|
+
restorePhoto: ToolDefinition;
|
|
46
|
+
refineResult: ToolDefinition;
|
|
47
|
+
changeAngle: ToolDefinition;
|
|
48
|
+
animatePhoto: ToolDefinition;
|
|
49
|
+
stitchVideo: ToolDefinition;
|
|
50
|
+
orbitVideo: ToolDefinition;
|
|
51
|
+
danceMontage: ToolDefinition;
|
|
52
|
+
extendVideo: ToolDefinition;
|
|
53
|
+
replaceVideoSegment: ToolDefinition;
|
|
54
|
+
overlayVideo: ToolDefinition;
|
|
55
|
+
addSubtitles: ToolDefinition;
|
|
56
|
+
enhancePrompt: ToolDefinition;
|
|
57
|
+
composeLyrics: ToolDefinition;
|
|
58
|
+
composeInstrumental: ToolDefinition;
|
|
59
|
+
composeScript: ToolDefinition;
|
|
60
|
+
/**
|
|
61
|
+
* Full canonical hosted creative-tools surface — generation tools, image
|
|
62
|
+
* adapters, video composition / post-production, and synchronous composition
|
|
63
|
+
* tools. Mirrored from `@sogni/creative-agent`. Route tool calls through
|
|
64
|
+
* `chat.hosted.create()` or `chat.runs.create()` for server-side execution.
|
|
65
|
+
*/
|
|
22
66
|
readonly all: ToolDefinition[];
|
|
23
67
|
};
|
|
24
68
|
export declare function buildSogniTools(availableModels?: Array<{
|
|
25
69
|
id: string;
|
|
26
70
|
media?: string;
|
|
27
71
|
}>): ToolDefinition[];
|
|
72
|
+
/**
|
|
73
|
+
* True if the tool call targets a canonical Sogni hosted creative tool.
|
|
74
|
+
* Replaces the legacy `sogni_` prefix check; tool names are now flat and
|
|
75
|
+
* verified against the manifest mirrored from `@sogni/creative-agent`.
|
|
76
|
+
*/
|
|
28
77
|
export declare function isSogniToolCall(toolCall: ToolCall): boolean;
|
|
29
78
|
export declare function parseToolCallArguments(toolCall: ToolCall): Record<string, unknown>;
|
package/dist/Chat/tools.js
CHANGED
|
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SogniTools = exports.generateMusicTool = exports.videoToVideoTool = exports.soundToVideoTool = exports.generateVideoTool = exports.editImageTool = exports.generateImageTool = void 0;
|
|
6
|
+
exports.SogniTools = exports.composeScriptTool = exports.composeInstrumentalTool = exports.composeLyricsTool = exports.enhancePromptTool = exports.addSubtitlesTool = exports.overlayVideoTool = exports.replaceVideoSegmentTool = exports.extendVideoTool = exports.danceMontageTool = exports.orbitVideoTool = exports.stitchVideoTool = exports.animatePhotoTool = exports.changeAngleTool = exports.refineResultTool = exports.restorePhotoTool = exports.applyStyleTool = exports.generateMusicTool = exports.videoToVideoTool = exports.soundToVideoTool = exports.generateVideoTool = exports.editImageTool = exports.generateImageTool = void 0;
|
|
7
7
|
exports.buildSogniTools = buildSogniTools;
|
|
8
8
|
exports.isSogniToolCall = isSogniToolCall;
|
|
9
9
|
exports.parseToolCallArguments = parseToolCallArguments;
|
|
10
10
|
const sogniHostedTools_generated_json_1 = __importDefault(require("./sogniHostedTools.generated.json"));
|
|
11
11
|
const modelRouting_1 = require("./modelRouting");
|
|
12
12
|
const hostedTools = sogniHostedTools_generated_json_1.default.tools;
|
|
13
|
+
const HOSTED_TOOL_NAMES = new Set(hostedTools.map((tool) => tool.function.name));
|
|
13
14
|
function getHostedTool(name) {
|
|
14
15
|
const tool = hostedTools.find((candidate) => candidate.function.name === name);
|
|
15
16
|
if (!tool) {
|
|
@@ -34,16 +35,36 @@ function setModelEnum(tool, modelIds, description) {
|
|
|
34
35
|
/**
|
|
35
36
|
* Built-in Sogni platform tool definitions for use with LLM tool calling.
|
|
36
37
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
38
|
+
* Generated from the shared `@sogni/creative-agent` hosted tool backbone via
|
|
39
|
+
* `npm run sync:hosted-tools-manifest`. The public SDK keeps a local copy so
|
|
40
|
+
* consumers do not need the private creative-agent package at runtime.
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
-
exports.
|
|
43
|
-
exports.
|
|
44
|
-
exports.
|
|
45
|
-
exports.
|
|
46
|
-
exports.
|
|
42
|
+
// Generation tools (image / video / audio).
|
|
43
|
+
exports.generateImageTool = getHostedTool('generate_image');
|
|
44
|
+
exports.editImageTool = getHostedTool('edit_image');
|
|
45
|
+
exports.generateVideoTool = getHostedTool('generate_video');
|
|
46
|
+
exports.soundToVideoTool = getHostedTool('sound_to_video');
|
|
47
|
+
exports.videoToVideoTool = getHostedTool('video_to_video');
|
|
48
|
+
exports.generateMusicTool = getHostedTool('generate_music');
|
|
49
|
+
// Image adapters (style / restore / refine / re-angle / animate).
|
|
50
|
+
exports.applyStyleTool = getHostedTool('apply_style');
|
|
51
|
+
exports.restorePhotoTool = getHostedTool('restore_photo');
|
|
52
|
+
exports.refineResultTool = getHostedTool('refine_result');
|
|
53
|
+
exports.changeAngleTool = getHostedTool('change_angle');
|
|
54
|
+
exports.animatePhotoTool = getHostedTool('animate_photo');
|
|
55
|
+
// Video composition / post-production tools.
|
|
56
|
+
exports.stitchVideoTool = getHostedTool('stitch_video');
|
|
57
|
+
exports.orbitVideoTool = getHostedTool('orbit_video');
|
|
58
|
+
exports.danceMontageTool = getHostedTool('dance_montage');
|
|
59
|
+
exports.extendVideoTool = getHostedTool('extend_video');
|
|
60
|
+
exports.replaceVideoSegmentTool = getHostedTool('replace_video_segment');
|
|
61
|
+
exports.overlayVideoTool = getHostedTool('overlay_video');
|
|
62
|
+
exports.addSubtitlesTool = getHostedTool('add_subtitles');
|
|
63
|
+
// Synchronous composition tools (text-only outputs).
|
|
64
|
+
exports.enhancePromptTool = getHostedTool('enhance_prompt');
|
|
65
|
+
exports.composeLyricsTool = getHostedTool('compose_lyrics');
|
|
66
|
+
exports.composeInstrumentalTool = getHostedTool('compose_instrumental');
|
|
67
|
+
exports.composeScriptTool = getHostedTool('compose_script');
|
|
47
68
|
exports.SogniTools = {
|
|
48
69
|
generateImage: exports.generateImageTool,
|
|
49
70
|
editImage: exports.editImageTool,
|
|
@@ -51,15 +72,30 @@ exports.SogniTools = {
|
|
|
51
72
|
soundToVideo: exports.soundToVideoTool,
|
|
52
73
|
videoToVideo: exports.videoToVideoTool,
|
|
53
74
|
generateMusic: exports.generateMusicTool,
|
|
75
|
+
applyStyle: exports.applyStyleTool,
|
|
76
|
+
restorePhoto: exports.restorePhotoTool,
|
|
77
|
+
refineResult: exports.refineResultTool,
|
|
78
|
+
changeAngle: exports.changeAngleTool,
|
|
79
|
+
animatePhoto: exports.animatePhotoTool,
|
|
80
|
+
stitchVideo: exports.stitchVideoTool,
|
|
81
|
+
orbitVideo: exports.orbitVideoTool,
|
|
82
|
+
danceMontage: exports.danceMontageTool,
|
|
83
|
+
extendVideo: exports.extendVideoTool,
|
|
84
|
+
replaceVideoSegment: exports.replaceVideoSegmentTool,
|
|
85
|
+
overlayVideo: exports.overlayVideoTool,
|
|
86
|
+
addSubtitles: exports.addSubtitlesTool,
|
|
87
|
+
enhancePrompt: exports.enhancePromptTool,
|
|
88
|
+
composeLyrics: exports.composeLyricsTool,
|
|
89
|
+
composeInstrumental: exports.composeInstrumentalTool,
|
|
90
|
+
composeScript: exports.composeScriptTool,
|
|
91
|
+
/**
|
|
92
|
+
* Full canonical hosted creative-tools surface — generation tools, image
|
|
93
|
+
* adapters, video composition / post-production, and synchronous composition
|
|
94
|
+
* tools. Mirrored from `@sogni/creative-agent`. Route tool calls through
|
|
95
|
+
* `chat.hosted.create()` or `chat.runs.create()` for server-side execution.
|
|
96
|
+
*/
|
|
54
97
|
get all() {
|
|
55
|
-
return [
|
|
56
|
-
exports.generateImageTool,
|
|
57
|
-
exports.editImageTool,
|
|
58
|
-
exports.generateVideoTool,
|
|
59
|
-
exports.soundToVideoTool,
|
|
60
|
-
exports.videoToVideoTool,
|
|
61
|
-
exports.generateMusicTool
|
|
62
|
-
];
|
|
98
|
+
return [...hostedTools];
|
|
63
99
|
}
|
|
64
100
|
};
|
|
65
101
|
function buildSogniTools(availableModels) {
|
|
@@ -82,17 +118,34 @@ function buildSogniTools(availableModels) {
|
|
|
82
118
|
const audioModels = availableModels
|
|
83
119
|
.filter((model) => model.media === 'audio')
|
|
84
120
|
.map((model) => model.id);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
121
|
+
const modelEnumOverrides = {
|
|
122
|
+
generate_image: [imageModels, 'Image generation model to use.'],
|
|
123
|
+
edit_image: [
|
|
124
|
+
editImageModels,
|
|
125
|
+
'Image editing model to use. These models support reference-guided editing.'
|
|
126
|
+
],
|
|
127
|
+
generate_video: [
|
|
128
|
+
videoModels,
|
|
129
|
+
'Video generation model to use. Prefer t2v models for text-only generation and i2v models when reference images are supplied.'
|
|
130
|
+
],
|
|
131
|
+
sound_to_video: [soundToVideoModels, 'Audio-driven video model to use.'],
|
|
132
|
+
video_to_video: [videoToVideoModels, 'Video-to-video model to use.'],
|
|
133
|
+
generate_music: [audioModels, 'Music generation model to use.']
|
|
134
|
+
};
|
|
135
|
+
return hostedTools.map((tool) => {
|
|
136
|
+
const override = modelEnumOverrides[tool.function.name];
|
|
137
|
+
if (!override)
|
|
138
|
+
return tool;
|
|
139
|
+
return setModelEnum(cloneTool(tool), override[0], override[1]);
|
|
140
|
+
});
|
|
93
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* True if the tool call targets a canonical Sogni hosted creative tool.
|
|
144
|
+
* Replaces the legacy `sogni_` prefix check; tool names are now flat and
|
|
145
|
+
* verified against the manifest mirrored from `@sogni/creative-agent`.
|
|
146
|
+
*/
|
|
94
147
|
function isSogniToolCall(toolCall) {
|
|
95
|
-
return toolCall.function.name
|
|
148
|
+
return HOSTED_TOOL_NAMES.has(toolCall.function.name);
|
|
96
149
|
}
|
|
97
150
|
function parseToolCallArguments(toolCall) {
|
|
98
151
|
try {
|
package/dist/Chat/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/Chat/tools.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/Chat/tools.ts"],"names":[],"mappings":";;;;;;AA4IA,0CA4CC;AAOD,0CAEC;AAED,wDAMC;AAzMD,wGAAmE;AAEnE,iDAA8F;AAmC9F,MAAM,WAAW,GAAI,yCAA8C,CAAC,KAAK,CAAC;AAC1E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzF,SAAS,aAAa,CAAC,IAAyB;IAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CACnB,IAAoB,EACpB,QAAkB,EAClB,WAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACA,IAAI,CAAC,QAAQ,CAAC,UAAkB,CAAC,UAAU,CAAC,KAAK,GAAG;QACnD,IAAI,EAAE,QAAQ;QACd,WAAW;QACX,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AAEH,4CAA4C;AAC/B,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACpE,QAAA,aAAa,GAAmB,aAAa,CAAC,YAAY,CAAC,CAAC;AAC5D,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACpE,QAAA,gBAAgB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACnE,QAAA,gBAAgB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACnE,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEjF,kEAAkE;AACrD,QAAA,cAAc,GAAmB,aAAa,CAAC,aAAa,CAAC,CAAC;AAC9D,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAClE,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAClE,QAAA,eAAe,GAAmB,aAAa,CAAC,cAAc,CAAC,CAAC;AAChE,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAE/E,6CAA6C;AAChC,QAAA,eAAe,GAAmB,aAAa,CAAC,cAAc,CAAC,CAAC;AAChE,QAAA,cAAc,GAAmB,aAAa,CAAC,aAAa,CAAC,CAAC;AAC9D,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAClE,QAAA,eAAe,GAAmB,aAAa,CAAC,cAAc,CAAC,CAAC;AAChE,QAAA,uBAAuB,GAAmB,aAAa,CAAC,uBAAuB,CAAC,CAAC;AACjF,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAClE,QAAA,gBAAgB,GAAmB,aAAa,CAAC,eAAe,CAAC,CAAC;AAE/E,qDAAqD;AACxC,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACpE,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACpE,QAAA,uBAAuB,GAAmB,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAChF,QAAA,iBAAiB,GAAmB,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEpE,QAAA,UAAU,GAAG;IACxB,aAAa,EAAE,yBAAiB;IAChC,SAAS,EAAE,qBAAa;IACxB,aAAa,EAAE,yBAAiB;IAChC,YAAY,EAAE,wBAAgB;IAC9B,YAAY,EAAE,wBAAgB;IAC9B,aAAa,EAAE,yBAAiB;IAChC,UAAU,EAAE,sBAAc;IAC1B,YAAY,EAAE,wBAAgB;IAC9B,YAAY,EAAE,wBAAgB;IAC9B,WAAW,EAAE,uBAAe;IAC5B,YAAY,EAAE,wBAAgB;IAC9B,WAAW,EAAE,uBAAe;IAC5B,UAAU,EAAE,sBAAc;IAC1B,YAAY,EAAE,wBAAgB;IAC9B,WAAW,EAAE,uBAAe;IAC5B,mBAAmB,EAAE,+BAAuB;IAC5C,YAAY,EAAE,wBAAgB;IAC9B,YAAY,EAAE,wBAAgB;IAC9B,aAAa,EAAE,yBAAiB;IAChC,aAAa,EAAE,yBAAiB;IAChC,mBAAmB,EAAE,+BAAuB;IAC5C,aAAa,EAAE,yBAAiB;IAChC;;;;;OAKG;IACH,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,SAAgB,eAAe,CAC7B,eAAuD;IAEvD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,kBAAU,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,eAAe;SAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,eAAe,GAAG,eAAe;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,IAAA,+BAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACxE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAA,0CAA2B,EAAC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACjF,MAAM,kBAAkB,GAAG,IAAA,0CAA2B,EAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAChG,MAAM,kBAAkB,GAAG,IAAA,0CAA2B,EAAC,eAAe,EAAE;QACtE,cAAc;QACd,iBAAiB;QACjB,KAAK;KACa,CAAC,CAAC;IACtB,MAAM,WAAW,GAAG,eAAe;SAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE5B,MAAM,kBAAkB,GAA6D;QACnF,cAAc,EAAE,CAAC,WAAW,EAAE,gCAAgC,CAAC;QAC/D,UAAU,EAAE;YACV,eAAe;YACf,4EAA4E;SAC7E;QACD,cAAc,EAAE;YACd,WAAW;YACX,8HAA8H;SAC/H;QACD,cAAc,EAAE,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;QACxE,cAAc,EAAE,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;QACpE,cAAc,EAAE,CAAC,WAAW,EAAE,gCAAgC,CAAC;KAChE,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAA2B,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAkB;IAChD,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,sBAAsB,CAAC,QAAkB;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/dist/Chat/types.d.ts
CHANGED
|
@@ -109,8 +109,8 @@ export interface ChatCompletionParams {
|
|
|
109
109
|
sogni_tools?: SogniToolsMode;
|
|
110
110
|
/**
|
|
111
111
|
* When `sogni_tools` is enabled, ask the Sogni API to execute requested Sogni
|
|
112
|
-
* tools server-side before returning the chat response.
|
|
113
|
-
*
|
|
112
|
+
* tools server-side before returning the chat response. Independent of the
|
|
113
|
+
* SDK's client-side `autoExecuteTools` loop.
|
|
114
114
|
*/
|
|
115
115
|
sogni_tool_execution?: boolean;
|
|
116
116
|
/**
|
|
@@ -241,14 +241,130 @@ export interface HostedChatCompletionResult {
|
|
|
241
241
|
}
|
|
242
242
|
export type HostedChatCompletionParams = Omit<ChatCompletionParams, 'stream' | 'autoExecuteTools' | 'onToolCall' | 'onToolProgress' | 'maxToolRounds'> & {
|
|
243
243
|
stream?: false;
|
|
244
|
-
|
|
244
|
+
/** Optional source label for this hosted REST request. Defaults to the client appSource when configured. */
|
|
245
245
|
app_source?: string;
|
|
246
|
+
/** camelCase alias for {@link HostedChatCompletionParams.app_source}. */
|
|
247
|
+
appSource?: string;
|
|
248
|
+
/** Token type to use for hosted REST billing. */
|
|
249
|
+
token_type?: 'sogni' | 'spark';
|
|
250
|
+
/** camelCase alias for {@link HostedChatCompletionParams.token_type}. */
|
|
251
|
+
tokenType?: 'sogni' | 'spark';
|
|
252
|
+
/** Hosted REST task profile hint. */
|
|
253
|
+
task_profile?: 'general' | 'coding' | 'reasoning';
|
|
254
|
+
/** camelCase alias for {@link HostedChatCompletionParams.task_profile}. */
|
|
255
|
+
taskProfile?: 'general' | 'coding' | 'reasoning';
|
|
246
256
|
chat_template_kwargs?: Record<string, unknown>;
|
|
247
257
|
media_references?: unknown[];
|
|
248
258
|
mediaReferences?: unknown[];
|
|
249
259
|
api_media_references?: unknown[];
|
|
250
260
|
apiMediaReferences?: unknown[];
|
|
251
261
|
};
|
|
262
|
+
/**
|
|
263
|
+
* Durable hosted chat run status.
|
|
264
|
+
*
|
|
265
|
+
* Mirrors the canonical state machine from
|
|
266
|
+
* `@sogni/creative-agent/backbone` `ChatRunStatus`. The duplicate
|
|
267
|
+
* declaration here keeps the SDK self-contained — the shared package is
|
|
268
|
+
* not a runtime SDK dependency.
|
|
269
|
+
*/
|
|
270
|
+
export type ChatRunStatus = 'queued' | 'running' | 'waiting_for_user' | 'completed' | 'partial_failure' | 'failed' | 'cancelled';
|
|
271
|
+
export interface ChatRunEvent {
|
|
272
|
+
sequence: number;
|
|
273
|
+
type: string;
|
|
274
|
+
at: string;
|
|
275
|
+
payload?: Record<string, unknown>;
|
|
276
|
+
}
|
|
277
|
+
export interface ChatRunRecord {
|
|
278
|
+
runId: string;
|
|
279
|
+
status: ChatRunStatus;
|
|
280
|
+
schemaVersion: string;
|
|
281
|
+
scope: {
|
|
282
|
+
ownerWalletAddress: string;
|
|
283
|
+
tokenType?: string;
|
|
284
|
+
appSource?: string;
|
|
285
|
+
};
|
|
286
|
+
request: {
|
|
287
|
+
sessionId?: string;
|
|
288
|
+
clientMessageId?: string;
|
|
289
|
+
model?: string;
|
|
290
|
+
messages: unknown[];
|
|
291
|
+
[key: string]: unknown;
|
|
292
|
+
};
|
|
293
|
+
messages: unknown[];
|
|
294
|
+
toolCalls: unknown[];
|
|
295
|
+
toolResults: unknown[];
|
|
296
|
+
mediaContext: {
|
|
297
|
+
images: string[];
|
|
298
|
+
videos: string[];
|
|
299
|
+
audio: string[];
|
|
300
|
+
uploadedImages?: string[];
|
|
301
|
+
uploadedVideos?: string[];
|
|
302
|
+
uploadedAudio?: string[];
|
|
303
|
+
};
|
|
304
|
+
artifacts: unknown[];
|
|
305
|
+
events: ChatRunEvent[];
|
|
306
|
+
finalResponse?: {
|
|
307
|
+
content?: string;
|
|
308
|
+
finishReason?: string;
|
|
309
|
+
};
|
|
310
|
+
waiting?: {
|
|
311
|
+
reason: string;
|
|
312
|
+
message?: string;
|
|
313
|
+
details?: Record<string, unknown>;
|
|
314
|
+
};
|
|
315
|
+
billingPreview?: unknown;
|
|
316
|
+
billingPreviews?: unknown[];
|
|
317
|
+
failureReason?: string;
|
|
318
|
+
cancellationReason?: string;
|
|
319
|
+
timestamps: {
|
|
320
|
+
createdAt: string;
|
|
321
|
+
updatedAt: string;
|
|
322
|
+
completedAt?: string;
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
export interface StartChatRunParams {
|
|
326
|
+
/** OpenAI-style messages array. Required. */
|
|
327
|
+
messages: unknown[];
|
|
328
|
+
/** OpenAI-style tools array. */
|
|
329
|
+
tools?: unknown[];
|
|
330
|
+
/** OpenAI-style tool choice (`auto`, `none`, or specific tool). */
|
|
331
|
+
toolChoice?: unknown;
|
|
332
|
+
/** Model id requested for the run. */
|
|
333
|
+
model?: string;
|
|
334
|
+
/** Sampling defaults captured with the run for reproducibility. */
|
|
335
|
+
sampling?: Record<string, unknown>;
|
|
336
|
+
/** Inbound media references attached to the run. Durable runs require uploaded HTTP(S) URLs, not inline data URIs. */
|
|
337
|
+
mediaReferences?: unknown[];
|
|
338
|
+
/** Full chat media context snapshot for generated + uploaded source indexing. Durable runs require uploaded HTTP(S) URLs, not inline data URIs. */
|
|
339
|
+
mediaContext?: {
|
|
340
|
+
images: string[];
|
|
341
|
+
videos: string[];
|
|
342
|
+
audio: string[];
|
|
343
|
+
uploadedImages?: string[];
|
|
344
|
+
uploadedVideos?: string[];
|
|
345
|
+
uploadedAudio?: string[];
|
|
346
|
+
};
|
|
347
|
+
/** Cost ceiling for this run (capacity units). */
|
|
348
|
+
maxEstimatedCapacityUnits?: number;
|
|
349
|
+
/** Set true to confirm higher-cost work. */
|
|
350
|
+
confirmCost?: boolean;
|
|
351
|
+
/** Stable session id for browser-side rehydration queries. */
|
|
352
|
+
sessionId?: string;
|
|
353
|
+
/** Stable client message id for pairing with the assistant response. */
|
|
354
|
+
clientMessageId?: string;
|
|
355
|
+
/** Token type for billing. */
|
|
356
|
+
tokenType?: 'sogni' | 'spark';
|
|
357
|
+
/** App source label for attribution. */
|
|
358
|
+
appSource?: string;
|
|
359
|
+
/** Idempotency key (also accepted via `Idempotency-Key` header). */
|
|
360
|
+
idempotencyKey?: string;
|
|
361
|
+
}
|
|
362
|
+
export interface StreamChatRunEventsOptions {
|
|
363
|
+
/** Last event sequence id observed by the caller. */
|
|
364
|
+
lastEventId?: number;
|
|
365
|
+
/** Optional AbortSignal to terminate the stream. */
|
|
366
|
+
signal?: AbortSignal;
|
|
367
|
+
}
|
|
252
368
|
export interface ChatJobStateEvent {
|
|
253
369
|
jobID: string;
|
|
254
370
|
type: string;
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import ApiGroup, { ApiConfig } from '../ApiGroup';
|
|
2
|
-
import { CreativeWorkflowRecord, CreativeWorkflowEvent, CreativeWorkflowSseEvent, ListCreativeWorkflowOptions, StartCreativeWorkflowOptions, StartCreativeWorkflowParams,
|
|
2
|
+
import { CreativeWorkflowRecord, CreativeWorkflowEvent, CreativeWorkflowSseEvent, ListCreativeWorkflowOptions, StartCreativeWorkflowOptions, StartCreativeWorkflowParams, StreamCreativeWorkflowEventsOptions } from './types';
|
|
3
3
|
export declare function parseCreativeWorkflowSseChunk(chunk: string): CreativeWorkflowSseEvent[];
|
|
4
4
|
declare class CreativeWorkflowsApi extends ApiGroup {
|
|
5
5
|
constructor(config: ApiConfig);
|
|
6
6
|
start(params: StartCreativeWorkflowParams, options?: StartCreativeWorkflowOptions): Promise<CreativeWorkflowRecord>;
|
|
7
|
-
startImageToVideo(input: StartImageToVideoWorkflowInput, options?: StartCreativeWorkflowOptions & {
|
|
8
|
-
tokenType?: StartCreativeWorkflowParams['tokenType'];
|
|
9
|
-
}): Promise<CreativeWorkflowRecord>;
|
|
10
|
-
startHostedToolSequence(input: StartHostedToolSequenceWorkflowInput, options?: StartCreativeWorkflowOptions & {
|
|
11
|
-
tokenType?: StartCreativeWorkflowParams['tokenType'];
|
|
12
|
-
}): Promise<CreativeWorkflowRecord>;
|
|
13
7
|
list(options?: ListCreativeWorkflowOptions): Promise<CreativeWorkflowRecord[]>;
|
|
14
8
|
get(workflowId: string): Promise<CreativeWorkflowRecord>;
|
|
15
9
|
events(workflowId: string): Promise<CreativeWorkflowEvent[]>;
|
|
@@ -43,6 +43,8 @@ exports.parseCreativeWorkflowSseChunk = parseCreativeWorkflowSseChunk;
|
|
|
43
43
|
const ApiGroup_1 = __importDefault(require("../ApiGroup"));
|
|
44
44
|
const ApiClient_1 = require("../ApiClient");
|
|
45
45
|
const TERMINAL_STATUSES = new Set(['completed', 'failed', 'cancelled']);
|
|
46
|
+
const EXTERNAL_DURABLE_MEDIA_URL = /^https?:\/\//i;
|
|
47
|
+
const INLINE_DURABLE_MEDIA_URL = /^data:/i;
|
|
46
48
|
function toQuery(params) {
|
|
47
49
|
const query = new URLSearchParams();
|
|
48
50
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -56,6 +58,40 @@ function toQuery(params) {
|
|
|
56
58
|
function isTerminalWorkflowStatus(value) {
|
|
57
59
|
return typeof value === 'string' && TERMINAL_STATUSES.has(value);
|
|
58
60
|
}
|
|
61
|
+
function mediaReferenceViolation(path, value) {
|
|
62
|
+
if (typeof value !== 'string')
|
|
63
|
+
return null;
|
|
64
|
+
const trimmed = value.trim();
|
|
65
|
+
if (!trimmed)
|
|
66
|
+
return null;
|
|
67
|
+
if (INLINE_DURABLE_MEDIA_URL.test(trimmed))
|
|
68
|
+
return path;
|
|
69
|
+
if (!EXTERNAL_DURABLE_MEDIA_URL.test(trimmed))
|
|
70
|
+
return path;
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
function assertWorkflowUsesExternalMedia(mediaReferences) {
|
|
74
|
+
if (!Array.isArray(mediaReferences))
|
|
75
|
+
return;
|
|
76
|
+
const violations = [];
|
|
77
|
+
mediaReferences.forEach((reference, index) => {
|
|
78
|
+
if (!reference || typeof reference !== 'object' || Array.isArray(reference))
|
|
79
|
+
return;
|
|
80
|
+
const record = reference;
|
|
81
|
+
const urlViolation = mediaReferenceViolation(`mediaReferences[${index}].url`, record.url);
|
|
82
|
+
if (urlViolation)
|
|
83
|
+
violations.push(urlViolation);
|
|
84
|
+
if (typeof record.dataUri === 'string' && record.dataUri.trim()) {
|
|
85
|
+
violations.push(`mediaReferences[${index}].dataUri`);
|
|
86
|
+
}
|
|
87
|
+
if (typeof record.data_uri === 'string' && record.data_uri.trim()) {
|
|
88
|
+
violations.push(`mediaReferences[${index}].data_uri`);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
if (violations.length === 0)
|
|
92
|
+
return;
|
|
93
|
+
throw new Error(`Durable creative workflows do not support inline base64/data URI media. Upload media first and pass HTTP(S) URLs instead. Offending field(s): ${violations.join(', ')}`);
|
|
94
|
+
}
|
|
59
95
|
function parseJsonResponse(text) {
|
|
60
96
|
if (!text)
|
|
61
97
|
return {};
|
|
@@ -122,40 +158,43 @@ class CreativeWorkflowsApi extends ApiGroup_1.default {
|
|
|
122
158
|
}
|
|
123
159
|
start(params_1) {
|
|
124
160
|
return __awaiter(this, arguments, void 0, function* (params, options = {}) {
|
|
125
|
-
var _a;
|
|
161
|
+
var _a, _b, _c, _d, _e, _f;
|
|
162
|
+
const tokenType = (_a = params.tokenType) !== null && _a !== void 0 ? _a : params.token_type;
|
|
163
|
+
const appSource = (_b = params.appSource) !== null && _b !== void 0 ? _b : params.app_source;
|
|
164
|
+
const idempotencyKey = (_c = params.idempotencyKey) !== null && _c !== void 0 ? _c : params.idempotency_key;
|
|
165
|
+
const mediaReferences = (_d = params.mediaReferences) !== null && _d !== void 0 ? _d : params.media_references;
|
|
166
|
+
assertWorkflowUsesExternalMedia(mediaReferences);
|
|
167
|
+
const maxEstimatedCapacityUnits = (_e = params.maxEstimatedCapacityUnits) !== null && _e !== void 0 ? _e : params.max_estimated_capacity_units;
|
|
168
|
+
const confirmCost = (_f = params.confirmCost) !== null && _f !== void 0 ? _f : params.confirm_cost;
|
|
126
169
|
const body = {
|
|
127
|
-
kind: params.kind,
|
|
128
170
|
input: params.input
|
|
129
171
|
};
|
|
130
|
-
|
|
131
|
-
if (tokenType) {
|
|
172
|
+
if (tokenType)
|
|
132
173
|
body.token_type = tokenType;
|
|
174
|
+
if (appSource)
|
|
175
|
+
body.app_source = appSource;
|
|
176
|
+
if (maxEstimatedCapacityUnits !== undefined) {
|
|
177
|
+
body.max_estimated_capacity_units = maxEstimatedCapacityUnits;
|
|
178
|
+
}
|
|
179
|
+
if (confirmCost !== undefined)
|
|
180
|
+
body.confirm_cost = confirmCost;
|
|
181
|
+
if (mediaReferences !== undefined)
|
|
182
|
+
body.media_references = mediaReferences;
|
|
183
|
+
const headers = {
|
|
184
|
+
'Content-Type': 'application/json'
|
|
185
|
+
};
|
|
186
|
+
if (idempotencyKey) {
|
|
187
|
+
headers['Idempotency-Key'] = idempotencyKey;
|
|
133
188
|
}
|
|
134
189
|
const response = yield this.request('/v1/creative-agent/workflows', {
|
|
135
190
|
method: 'POST',
|
|
136
|
-
headers
|
|
137
|
-
'Content-Type': 'application/json'
|
|
138
|
-
},
|
|
191
|
+
headers,
|
|
139
192
|
body: JSON.stringify(body),
|
|
140
193
|
signal: options.signal
|
|
141
194
|
});
|
|
142
195
|
return parseEnvelope(response, 'workflow');
|
|
143
196
|
});
|
|
144
197
|
}
|
|
145
|
-
startImageToVideo(input, options = {}) {
|
|
146
|
-
return this.start({
|
|
147
|
-
kind: 'image_to_video',
|
|
148
|
-
input,
|
|
149
|
-
tokenType: options.tokenType
|
|
150
|
-
}, options);
|
|
151
|
-
}
|
|
152
|
-
startHostedToolSequence(input, options = {}) {
|
|
153
|
-
return this.start({
|
|
154
|
-
kind: 'hosted_tool_sequence',
|
|
155
|
-
input,
|
|
156
|
-
tokenType: options.tokenType
|
|
157
|
-
}, options);
|
|
158
|
-
}
|
|
159
198
|
list() {
|
|
160
199
|
return __awaiter(this, arguments, void 0, function* (options = {}) {
|
|
161
200
|
const response = yield this.request(`/v1/creative-agent/workflows${toQuery({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CreativeWorkflows/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CreativeWorkflows/index.ts"],"names":[],"mappings":"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"}
|