@sogni-ai/sogni-intelligence-client 3.0.8 → 3.0.9
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/dist/public-skill-runtime/index.d.ts.map +1 -1
- package/dist/public-skill-runtime/index.js +23 -16
- package/dist/public-skill-runtime/index.js.map +1 -1
- package/dist/tools/shared/seedancePolicyErrors.d.ts +14 -1
- package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -1
- package/dist/tools/shared/seedancePolicyErrors.js +35 -2
- package/dist/tools/shared/seedancePolicyErrors.js.map +1 -1
- package/dist-esm/public-skill-runtime/index.js +23 -16
- package/dist-esm/public-skill-runtime/index.js.map +1 -1
- package/dist-esm/tools/shared/seedancePolicyErrors.js +34 -1
- package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { type VendorModelPremiumRequiredPayload } from '../../media/index.js';
|
|
2
2
|
export declare const SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE = "InputImageSensitiveContentDetected.PrivacyInformation";
|
|
3
|
-
export declare const SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = "Seedance
|
|
3
|
+
export declare const SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = "Seedance can't bring this image to life because it detected what looks like a real person, and it doesn't allow photographic depictions of real people. Let's convert your source image into a more stylized reference image to get around this \u2014 for example an anime version, a LEGO version, or a bobblehead version, or I can just hide the faces. Once the image is stylized I'll re-run the Seedance video using the new image. Which look would you like, or describe your own?";
|
|
4
|
+
export interface SeedanceStylizeRecoveryOption {
|
|
5
|
+
id: 'anime' | 'lego' | 'bobblehead' | 'claymation' | 'hide_faces';
|
|
6
|
+
label: string;
|
|
7
|
+
editInstruction: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const SEEDANCE_STYLIZE_RECOVERY_OPTIONS: readonly SeedanceStylizeRecoveryOption[];
|
|
10
|
+
export interface SeedanceStylizeRecovery {
|
|
11
|
+
kind: 'stylize_source_then_resubmit';
|
|
12
|
+
options: readonly SeedanceStylizeRecoveryOption[];
|
|
13
|
+
resubmitToolName: 'generate_video';
|
|
14
|
+
}
|
|
15
|
+
export declare const SEEDANCE_STYLIZE_RECOVERY: SeedanceStylizeRecovery;
|
|
4
16
|
export declare const SEEDANCE_PROVIDER_CONTENT_POLICY_MESSAGE = "Seedance blocked this video because it did not pass the provider's content policy. No video was returned.";
|
|
5
17
|
export declare const SEEDANCE_VENDOR_GENERATION_FAILED_MESSAGE = "Seedance couldn't complete this video after it started, so no media was generated. The provider did not return a specific reason. Please retry once; if it fails again, report the issue from this message.";
|
|
6
18
|
export declare const SEEDANCE_VENDOR_TIMEOUT_MESSAGE = "Seedance timed out while rendering this video, so no media was generated. Please retry once; if it times out again, report the issue from this message.";
|
|
@@ -12,6 +24,7 @@ export interface SeedanceTerminalPolicyPayload {
|
|
|
12
24
|
nextAction: 'wait_for_user';
|
|
13
25
|
vendorCode?: 5061;
|
|
14
26
|
vendorErrorCode: typeof SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE | string;
|
|
27
|
+
recovery?: SeedanceStylizeRecovery;
|
|
15
28
|
}
|
|
16
29
|
export interface SeedanceTerminalGenerationFailurePayload {
|
|
17
30
|
error: 'seedance_generation_failed' | 'seedance_reference_audio_too_long';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seedancePolicyErrors.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,wCAAwC,0DACI,CAAC;AAE1D,eAAO,MAAM,oCAAoC,
|
|
1
|
+
{"version":3,"file":"seedancePolicyErrors.d.ts","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,wCAAwC,0DACI,CAAC;AAE1D,eAAO,MAAM,oCAAoC,geACya,CAAC;AAU3d,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IAElE,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,iCAAiC,EAAE,SAAS,6BAA6B,EA+BrF,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAElD,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,eAAO,MAAM,yBAAyB,EAAE,uBAIvC,CAAC;AAEF,eAAO,MAAM,wCAAwC,8GACwD,CAAC;AAE9G,eAAO,MAAM,yCAAyC,gNACyJ,CAAC;AAChN,eAAO,MAAM,+BAA+B,4JAC+G,CAAC;AAE5J,eAAO,MAAM,yCAAyC,8LACuI,CAAC;AAE9L,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,qCAAqC,GAAG,yBAAyB,CAAC;IACzE,OAAO,EAAE,OAAO,oCAAoC,GAAG,OAAO,wCAAwC,CAAC;IACvG,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,wCAAwC,GAAG,MAAM,CAAC;IAK1E,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,4BAA4B,GAAG,mCAAmC,CAAC;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,0BAA0B,CAAC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBAEpC,OAAO,EAAE,6BAA6B;CAKnD;AA0JD,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,GACb,6BAA6B,GAAG,IAAI,CAiCtC;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,GACb,2BAA2B,GAAG,IAAI,CAGpC;AAED,wBAAgB,iDAAiD,CAC/D,KAAK,EAAE,OAAO,GACb,wCAAwC,GAAG,iCAAiC,GAAG,IAAI,CAwFrF"}
|
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SeedanceTerminalPolicyError = exports.SEEDANCE_REFERENCE_AUDIO_TOO_LONG_MESSAGE = exports.SEEDANCE_VENDOR_TIMEOUT_MESSAGE = exports.SEEDANCE_VENDOR_GENERATION_FAILED_MESSAGE = exports.SEEDANCE_PROVIDER_CONTENT_POLICY_MESSAGE = exports.SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = exports.SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE = void 0;
|
|
3
|
+
exports.SeedanceTerminalPolicyError = exports.SEEDANCE_REFERENCE_AUDIO_TOO_LONG_MESSAGE = exports.SEEDANCE_VENDOR_TIMEOUT_MESSAGE = exports.SEEDANCE_VENDOR_GENERATION_FAILED_MESSAGE = exports.SEEDANCE_PROVIDER_CONTENT_POLICY_MESSAGE = exports.SEEDANCE_STYLIZE_RECOVERY = exports.SEEDANCE_STYLIZE_RECOVERY_OPTIONS = exports.SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = exports.SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE = void 0;
|
|
4
4
|
exports.seedanceTerminalPolicyPayloadFromError = seedanceTerminalPolicyPayloadFromError;
|
|
5
5
|
exports.seedanceTerminalPolicyErrorFromError = seedanceTerminalPolicyErrorFromError;
|
|
6
6
|
exports.seedanceTerminalGenerationFailurePayloadFromError = seedanceTerminalGenerationFailurePayloadFromError;
|
|
7
7
|
const index_js_1 = require("../../media/index.js");
|
|
8
8
|
exports.SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE = 'InputImageSensitiveContentDetected.PrivacyInformation';
|
|
9
|
-
exports.SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = "Seedance
|
|
9
|
+
exports.SEEDANCE_REAL_PERSON_PRIVACY_MESSAGE = "Seedance can't bring this image to life because it detected what looks like a real person, and it doesn't allow photographic depictions of real people. Let's convert your source image into a more stylized reference image to get around this — for example an anime version, a LEGO version, or a bobblehead version, or I can just hide the faces. Once the image is stylized I'll re-run the Seedance video using the new image. Which look would you like, or describe your own?";
|
|
10
|
+
exports.SEEDANCE_STYLIZE_RECOVERY_OPTIONS = [
|
|
11
|
+
{
|
|
12
|
+
id: 'anime',
|
|
13
|
+
label: 'Anime version',
|
|
14
|
+
editInstruction: 'Redraw every person in the image as a stylized 2D anime character, keeping their pose, outfit, and the overall scene composition.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: 'lego',
|
|
18
|
+
label: 'LEGO version',
|
|
19
|
+
editInstruction: 'Rebuild every person in the image as a LEGO minifigure, keeping their pose, outfit colors, and the overall scene composition.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 'bobblehead',
|
|
23
|
+
label: 'Bobblehead version',
|
|
24
|
+
editInstruction: 'Turn every person in the image into a cute oversized-head bobblehead figurine, keeping their likeness cues, outfit, and the overall scene composition.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'claymation',
|
|
28
|
+
label: 'Claymation version',
|
|
29
|
+
editInstruction: 'Re-render every person in the image as a stop-motion claymation figure with visible clay texture, keeping their pose, outfit, and the overall scene composition.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'hide_faces',
|
|
33
|
+
label: 'Just hide the faces',
|
|
34
|
+
editInstruction: 'Obscure every human face in the image (for example with a tasteful mask, helmet, or soft blur) while keeping the people, their pose, outfit, and the overall scene composition intact.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
exports.SEEDANCE_STYLIZE_RECOVERY = {
|
|
38
|
+
kind: 'stylize_source_then_resubmit',
|
|
39
|
+
options: exports.SEEDANCE_STYLIZE_RECOVERY_OPTIONS,
|
|
40
|
+
resubmitToolName: 'generate_video',
|
|
41
|
+
};
|
|
10
42
|
exports.SEEDANCE_PROVIDER_CONTENT_POLICY_MESSAGE = "Seedance blocked this video because it did not pass the provider's content policy. No video was returned.";
|
|
11
43
|
exports.SEEDANCE_VENDOR_GENERATION_FAILED_MESSAGE = "Seedance couldn't complete this video after it started, so no media was generated. The provider did not return a specific reason. Please retry once; if it fails again, report the issue from this message.";
|
|
12
44
|
exports.SEEDANCE_VENDOR_TIMEOUT_MESSAGE = "Seedance timed out while rendering this video, so no media was generated. Please retry once; if it times out again, report the issue from this message.";
|
|
@@ -160,6 +192,7 @@ function seedanceTerminalPolicyPayloadFromError(error) {
|
|
|
160
192
|
nextAction: 'wait_for_user',
|
|
161
193
|
...(hasExpectedVendorCode ? { vendorCode: 5061 } : {}),
|
|
162
194
|
vendorErrorCode: exports.SEEDANCE_INPUT_IMAGE_PRIVACY_POLICY_CODE,
|
|
195
|
+
recovery: exports.SEEDANCE_STYLIZE_RECOVERY,
|
|
163
196
|
};
|
|
164
197
|
}
|
|
165
198
|
function seedanceTerminalPolicyErrorFromError(error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seedancePolicyErrors.js","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"seedancePolicyErrors.js","sourceRoot":"","sources":["../../../src/tools/shared/seedancePolicyErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -2817,17 +2817,20 @@ function inferExplicitStoryboardTargetVideoAspectRatio(text) {
|
|
|
2817
2817
|
}
|
|
2818
2818
|
return null;
|
|
2819
2819
|
}
|
|
2820
|
-
function
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2820
|
+
function inferStoryboardTargetVideoAspect(text, boardAspectRatio, explicitTargetVideoAspectRatio = inferExplicitStoryboardTargetVideoAspectRatio(text)) {
|
|
2821
|
+
if (explicitTargetVideoAspectRatio) {
|
|
2822
|
+
return { aspectRatio: explicitTargetVideoAspectRatio, source: 'explicit_ratio' };
|
|
2823
|
+
}
|
|
2824
2824
|
if (/\b(?:portrait|vertical|9\s*:\s*16)\b/i.test(text) || textMentionsPortraitSocialFormat(text)) {
|
|
2825
|
-
return '9:16';
|
|
2825
|
+
return { aspectRatio: '9:16', source: 'orientation_cue' };
|
|
2826
2826
|
}
|
|
2827
2827
|
if (/\b(?:landscape|horizontal|widescreen|16\s*:\s*9|youtube)\b/i.test(text)) {
|
|
2828
|
-
return '16:9';
|
|
2828
|
+
return { aspectRatio: '16:9', source: 'orientation_cue' };
|
|
2829
2829
|
}
|
|
2830
|
-
return boardAspectRatio;
|
|
2830
|
+
return { aspectRatio: boardAspectRatio, source: 'board_fallback' };
|
|
2831
|
+
}
|
|
2832
|
+
function inferStoryboardTargetVideoAspectRatio(text, boardAspectRatio) {
|
|
2833
|
+
return inferStoryboardTargetVideoAspect(text, boardAspectRatio).aspectRatio;
|
|
2831
2834
|
}
|
|
2832
2835
|
function inferStoryboardCellAspectRatio(text, targetVideoAspectRatio) {
|
|
2833
2836
|
const explicitCell = inferStoryboardAspectNearUnit(text, String.raw `cell|cells|frame|frames|panel|panels|still|stills|thumbnail|thumbnails|shot|shots`, /\b(?:board|canvas|image|poster|sheet|layout|story\s*board|storyboard|output|format)\b/i);
|
|
@@ -3057,7 +3060,7 @@ function normalizeStoryboardBoardDimensions(value) {
|
|
|
3057
3060
|
function storyboardPlanningSourceFromContract(contract) {
|
|
3058
3061
|
return contract?.layout?.source ?? contract?.source ?? 'fallback_text';
|
|
3059
3062
|
}
|
|
3060
|
-
function applyStoryboardPlanningLayoutContract(fallback, contract, frameCount, userDefinedCanvas) {
|
|
3063
|
+
function applyStoryboardPlanningLayoutContract(fallback, contract, frameCount, userDefinedCanvas, userDefinedTargetVideoAspect) {
|
|
3061
3064
|
const layoutContract = contract?.layout;
|
|
3062
3065
|
if (!layoutContract)
|
|
3063
3066
|
return fallback;
|
|
@@ -3071,11 +3074,14 @@ function applyStoryboardPlanningLayoutContract(fallback, contract, frameCount, u
|
|
|
3071
3074
|
const boardAspectRatio = contractOwnsCanvas
|
|
3072
3075
|
? normalizeAspectRatio(layoutContract.storyboardCanvasAspectRatio) ?? fallback.boardAspectRatio
|
|
3073
3076
|
: fallback.boardAspectRatio;
|
|
3074
|
-
const
|
|
3075
|
-
|
|
3076
|
-
const
|
|
3077
|
-
?? cellAspectRatio
|
|
3078
|
-
|
|
3077
|
+
const contractOwnsVideoGeometry = !userDefinedTargetVideoAspect
|
|
3078
|
+
|| layoutSource === 'user_schema';
|
|
3079
|
+
const cellAspectRatio = contractOwnsVideoGeometry
|
|
3080
|
+
? normalizeAspectRatio(layoutContract.storyboardCellAspectRatio) ?? fallback.cellAspectRatio
|
|
3081
|
+
: fallback.cellAspectRatio;
|
|
3082
|
+
const targetVideoAspectRatio = contractOwnsVideoGeometry
|
|
3083
|
+
? normalizeAspectRatio(layoutContract.targetVideoAspectRatio) ?? cellAspectRatio ?? fallback.targetVideoAspectRatio
|
|
3084
|
+
: fallback.targetVideoAspectRatio;
|
|
3079
3085
|
const layout = describeStoryboardLayout(boardAspectRatio, cellAspectRatio, frameCount);
|
|
3080
3086
|
const contractBoardDimensions = contractOwnsCanvas
|
|
3081
3087
|
? normalizeStoryboardBoardDimensions(layoutContract.boardDimensions)
|
|
@@ -3125,8 +3131,9 @@ export function inferStoryboardLayoutSpec(userIntentText, frameCount, planningCo
|
|
|
3125
3131
|
const provisionalBoardAspectRatio = userDefinedCanvas
|
|
3126
3132
|
? inferStoryboardBoardAspectRatio(userIntentText)
|
|
3127
3133
|
: '16:9';
|
|
3128
|
-
const
|
|
3129
|
-
|
|
3134
|
+
const inferredTargetVideoAspect = inferStoryboardTargetVideoAspect(userIntentText, provisionalBoardAspectRatio, explicitTargetVideoAspectRatio);
|
|
3135
|
+
const inferredTargetVideoAspectRatio = inferredTargetVideoAspect.aspectRatio;
|
|
3136
|
+
const userDefinedTargetVideoAspect = inferredTargetVideoAspect.source !== 'board_fallback';
|
|
3130
3137
|
const cellAspectRatio = inferStoryboardCellAspectRatio(userIntentText, inferredTargetVideoAspectRatio);
|
|
3131
3138
|
const targetVideoAspectRatio = explicitTargetVideoAspectRatio ?? cellAspectRatio;
|
|
3132
3139
|
const balancedGrid = userDefinedCanvas
|
|
@@ -3145,7 +3152,7 @@ export function inferStoryboardLayoutSpec(userIntentText, frameCount, planningCo
|
|
|
3145
3152
|
? {}
|
|
3146
3153
|
: { boardDimensions: balancedGrid?.boardDimensions ?? GPT_IMAGE_STORYBOARD_DEFAULTS.storyboardLandscape.aspectRatio }),
|
|
3147
3154
|
};
|
|
3148
|
-
return applyStoryboardPlanningLayoutContract(fallback, planningContract, frameCount, userDefinedCanvas);
|
|
3155
|
+
return applyStoryboardPlanningLayoutContract(fallback, planningContract, frameCount, userDefinedCanvas, userDefinedTargetVideoAspect);
|
|
3149
3156
|
}
|
|
3150
3157
|
function clampStoryboardDefaultFrameCount(value) {
|
|
3151
3158
|
return Math.max(STORYBOARD_DEFAULT_MIN_FRAMES, Math.min(STORYBOARD_DEFAULT_MAX_FRAMES, Math.round(value)));
|