stillmade-sdk 0.1.14 → 0.1.16
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/SDK.md +1 -1
- package/blocks/photo-reel-composer/versions/1.0.2/package.js +4149 -0
- package/package.json +1 -1
- package/packages/block-platform/first-revenue-project-types.js +5 -5
- package/packages/block-platform/project-type-starters.js +1 -1
- package/packages/block-platform/segment-runner.js +3 -0
- package/packages/block-sdk/first-party-identities.js +1 -0
- package/packages/block-sdk/first-party-packages.js +3 -2
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import mediaImport from '../../blocks/native/sm.import-media/versions/2.0.2/package.js';
|
|
2
|
-
import photoReelComposer from '../../blocks/photo-reel-composer/versions/1.0.
|
|
2
|
+
import photoReelComposer from '../../blocks/photo-reel-composer/versions/1.0.2/package.js';
|
|
3
3
|
import editor from '../../blocks/native/sm.editor/versions/2.2.9/package.js';
|
|
4
4
|
|
|
5
5
|
// Each Type carries its exact executable dependencies. The shared host supplies
|
|
@@ -8,7 +8,7 @@ import editor from '../../blocks/native/sm.editor/versions/2.2.9/package.js';
|
|
|
8
8
|
// than collecting onboarding answers that the Block cannot consume.
|
|
9
9
|
function photoReelType({id,name,description,brief,purpose,importLabel}) {
|
|
10
10
|
return Object.freeze({
|
|
11
|
-
schemaVersion:1,id,version:'1.0.
|
|
11
|
+
schemaVersion:1,id,version:'1.0.3',name,description,license:'MIT',startingChat:'native',
|
|
12
12
|
summary:{text:description,origin:'human',generation:'authored',status:'ready'},
|
|
13
13
|
defaults:{aspectRatio:'9:16',brief},
|
|
14
14
|
onboarding:[],
|
|
@@ -28,9 +28,9 @@ function photoReelType({id,name,description,brief,purpose,importLabel}) {
|
|
|
28
28
|
|
|
29
29
|
export const PROPERTY_LISTING_REEL_PROJECT_TYPE=photoReelType({
|
|
30
30
|
id:'stillmade.property-listing-reel',name:'Property Listing Reel',purpose:'property',
|
|
31
|
-
importLabel:'Import
|
|
32
|
-
description:'Turn
|
|
33
|
-
brief:'Import
|
|
31
|
+
importLabel:'Import 3–8 Property Photos',
|
|
32
|
+
description:'Turn 3–8 approved original property photos, exact listing facts and your call to action into an editable 20–30 second vertical reel.',
|
|
33
|
+
brief:'Import 3–8 approved original property photos in the order you want them shown. In Compose Reel, enter the approved title, one exact factual caption per photo when needed, call to action and contact details, then confirm your rights to the supplied media. Review the editable 24-second portrait reel in Editor before exporting. Preserve the photographed property; do not invent rooms, fixtures, views, listing facts or prices.',
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
export const PRODUCT_PROMO_REEL_PROJECT_TYPE=photoReelType({
|
|
@@ -10,7 +10,7 @@ import {PROPERTY_LISTING_REEL_PROJECT_TYPE,PRODUCT_PROMO_REEL_PROJECT_TYPE} from
|
|
|
10
10
|
export const PROJECT_TYPE_STARTERS=Object.freeze([
|
|
11
11
|
...REVENUE_REVIEW_STARTERS,
|
|
12
12
|
{id:'product-ad-variants',name:'Product Footage Ad Variants',description:'Make three distinct, editable opening variants from your real product demonstration and approved hooks.'},
|
|
13
|
-
{id:'property-listing-reel',name:'Property Listing Reel',description:'Turn
|
|
13
|
+
{id:'property-listing-reel',name:'Property Listing Reel',description:'Turn 3–8 original property photos into an editable vertical listing reel with your approved facts and contact details.'},
|
|
14
14
|
{id:'product-promo-reel',name:'Product Promo Reel',description:'Turn original product photos and approved copy into an editable vertical promo, while preserving the real product.'},
|
|
15
15
|
{id:'faceless-youtube',name:'Faceless YouTube',description:'Write a narrated story, plan the visuals, and assemble a complete video.',blocks:['script','voiceover','shot-plan','blueprint','pipeline','editor'],brief:'Create a faceless YouTube video. Start with a clear hook, develop the story with concrete visual beats, and end with a useful conclusion. Ask for the topic, audience, target duration and sources. Do not invent factual claims.'},
|
|
16
16
|
{id:'short-form',name:'Short-form vertical',description:'Build a concise story with a strong opening and visuals for a vertical screen.',blocks:['script','voiceover','shot-plan','pipeline','editor'],brief:'Create a short-form vertical video. Ask for the subject and intended platform. Keep narration concise, place the hook immediately, and plan readable 9:16 compositions with room for captions. Confirm the target length before writing.'},
|
|
@@ -322,6 +322,9 @@ async function runSegmentInternal(suppliedPlan,{runId=crypto.randomUUID(),source
|
|
|
322
322
|
if(Object.keys(optionalChat).length)answered.chatAnswers={...answered.chatAnswers,...optionalChat};
|
|
323
323
|
Object.assign(answered.answers,optionalAnswers);
|
|
324
324
|
for(const [key,port] of Object.entries(m.inputs))if(port.semantic==='workflow_approval' && answered.inputs[key]!==undefined)validateWorkflowApproval(answered.inputs[key],{accepted:true});
|
|
325
|
+
// Name the Step that stops the run: a bare "Missing input: image" from the
|
|
326
|
+
// second part of a job reads as if the whole Step produced nothing.
|
|
327
|
+
if(!inactive){const missing=Object.entries(m.inputs).find(([name,port])=>port.required!==false&&(Object.hasOwn(answered.inputs,name)?answered.inputs[name]:port.sources&&!port.sources.includes('default')?undefined:port.default)===undefined)?.[0];assert(!missing,'TYPE',`${step.label} needs ${missing}, and nothing earlier in this run gives it one. Add it on ${step.label} or connect a Block that makes it.`);}
|
|
325
328
|
const bound=inactive?inactiveConditionInputs(step.condition,m,answered.inputs):validateValues(m.inputs,answered.inputs);
|
|
326
329
|
assert(bound,'CONDITION','The branch condition changed while resolving inputs.');
|
|
327
330
|
let executionInput=bound,materialInputDigest;
|
|
@@ -180,6 +180,7 @@ export const FIRST_PARTY_SDK_IDENTITIES=Object.freeze(new Set([
|
|
|
180
180
|
"stillmade.occasion-story@1.0.2",
|
|
181
181
|
"stillmade.photo-reel-composer@1.0.0",
|
|
182
182
|
"stillmade.photo-reel-composer@1.0.1",
|
|
183
|
+
"stillmade.photo-reel-composer@1.0.2",
|
|
183
184
|
"stillmade.product-ad-variants@1.0.0",
|
|
184
185
|
"stillmade.release-visuals@1.0.0",
|
|
185
186
|
"stillmade.release-visuals@1.0.1",
|
|
@@ -10,7 +10,8 @@ import occasionStory from '../../blocks/occasion-story/package.js';
|
|
|
10
10
|
import releaseVisuals from '../../blocks/release-visuals/package.js';
|
|
11
11
|
import importMedia from '../../blocks/native/sm.import-media/versions/2.0.0/package.js';
|
|
12
12
|
import photoReelComposerV100 from '../../blocks/photo-reel-composer/versions/1.0.0/package.js';
|
|
13
|
-
import
|
|
13
|
+
import photoReelComposerV101 from '../../blocks/photo-reel-composer/versions/1.0.1/package.js';
|
|
14
|
+
import photoReelComposer from '../../blocks/photo-reel-composer/versions/1.0.2/package.js';
|
|
14
15
|
import productAdVariants from '../../blocks/product-ad-variants/versions/1.0.0/package.js';
|
|
15
16
|
import importMediaV201 from '../../blocks/native/sm.import-media/versions/2.0.1/package.js';
|
|
16
17
|
import importMediaV202 from '../../blocks/native/sm.import-media/versions/2.0.2/package.js';
|
|
@@ -188,5 +189,5 @@ import pickPhotos from '../../blocks/native/sm.pick-photos/versions/1.0.0/packag
|
|
|
188
189
|
// Exact, independently executable first-party releases. Host workspaces do not
|
|
189
190
|
// belong here. Changing implementation requires a new immutable version.
|
|
190
191
|
const freeze=value=>{if(value&&typeof value==='object'&&!Object.isFrozen(value)){Object.values(value).forEach(freeze);Object.freeze(value);}return value;};
|
|
191
|
-
export const FIRST_PARTY_SDK_PACKAGES = Object.freeze([freeze(productAdVariants),freeze(pickPhotos),freeze(photoNotes),freeze(youtubePublication),freeze(stockSearch),freeze(exportVideoV210),freeze(exportVideo),freeze(exportAudio),freeze(motionGraphics),freeze(audioScore),freeze(shortFormFinish),freeze(shortFormFinishV102),freeze(shortFormFinishV101),freeze(shortFormFinishV100),freeze(occasionStory),freeze(occasionStoryV101),freeze(occasionStoryV100),freeze(releaseVisuals),freeze(releaseVisualsV101),freeze(releaseVisualsV100),freeze(photoReelComposer),freeze(photoReelComposerV100),freeze(importMediaV202),freeze(importMediaV201),freeze(editorV2212),freeze(editorV2211),freeze(editorV2210),freeze(editorV229),freeze(editorV228),freeze(panelStripV241),freeze(panelStripV240),freeze(panelStripV237),freeze(panelStripV236),freeze(boardEditorV2210),freeze(boardEditorV229),freeze(animatedSceneV238),freeze(animatedSceneV237),freeze(pipelineV225),freeze(pipelineV224),freeze(blueprintV219),freeze(blueprintV218),freeze(videoAssetsV214),freeze(videoAssetsV213),freeze(chatV203),freeze(chatV202),freeze(chatV201),freeze(shotPlanV221),freeze(shotPlanV220),freeze(shotPlanV213),freeze(shotPlanV212),freeze(voiceoverV216),freeze(voiceoverV215),freeze(voiceoverV214),freeze(voiceoverV213),freeze(scriptV215),freeze(scriptV214),freeze(scriptV213),freeze(roughCutV202),freeze(roughCutV201),freeze(finalEditV202),freeze(finalEditV201),freeze(editAssistantV202),freeze(editAssistantV201),freeze(gradeV202),freeze(gradeV201),freeze(transitionV202),freeze(transitionV201),freeze(qualityAuditV102),freeze(qualityAuditV101),freeze(compareV202),freeze(compareV201),freeze(compare),freeze(grade),freeze(transition),freeze(exportTimeline),freeze(captions),freeze(importMedia),freeze(generateImageV210),freeze(generateImage),freeze(thumbnailV201),freeze(thumbnail),freeze(writeSummary),freeze(automationWhen),freeze(automationNewItems),freeze(automationAiDecide),freeze(automationContinueIf),freeze(connectApp),freeze(automationContactFields),freeze(automationAiWrite),freeze(automationMetaCreative),freeze(voiceover),freeze(voiceoverV210),freeze(voiceoverV211),freeze(voiceoverV212),freeze(script),freeze(scriptV210),freeze(scriptV211),freeze(scriptV212),freeze(generateVideoV201),freeze(generateVideo),freeze(chat),freeze(characterV201),freeze(character),freeze(locationV201),freeze(location),freeze(styleV201),freeze(style),freeze(researchV202),freeze(researchV201),freeze(research),freeze(imageEditorV201),freeze(imageEditor),freeze(describeMediaV201),freeze(describeMedia),freeze(videoAssets),freeze(videoAssetsV210),freeze(videoAssetsV211),freeze(videoAssetsV212),freeze(roughCut),freeze(finalEdit),freeze(editAssistant),freeze(transcribeV201),freeze(transcribe),freeze(blueprint),freeze(blueprintV210),freeze(blueprintV211),freeze(blueprintV212),freeze(blueprintV213),freeze(blueprintV214),freeze(blueprintV215),freeze(blueprintV216),freeze(blueprintV217),freeze(shotPlan),freeze(shotPlanV210),freeze(shotPlanV211),freeze(boardEditor),freeze(boardEditorV210),freeze(boardEditorV220),freeze(boardEditorV221),freeze(boardEditorV222),freeze(boardEditorV223),freeze(boardEditorV224),freeze(boardEditorV225),freeze(boardEditorV226),freeze(boardEditorV227),freeze(boardEditorV228),freeze(panelStripV200),freeze(panelStrip),freeze(panelStripV220),freeze(panelStripV230),freeze(panelStripV231),freeze(panelStripV232),freeze(panelStripV233),freeze(panelStripV234),freeze(panelStripV235),freeze(animatedSceneV200),freeze(animatedScene),freeze(animatedSceneV220),freeze(animatedSceneV230),freeze(animatedSceneV231),freeze(animatedSceneV232),freeze(animatedSceneV233),freeze(animatedSceneV234),freeze(animatedSceneV235),freeze(animatedSceneV236),freeze(editor),freeze(editorV210),freeze(editorV220),freeze(editorV221),freeze(editorV222),freeze(editorV223),freeze(editorV224),freeze(editorV225),freeze(editorV226),freeze(editorV227),freeze(pipelineV200),freeze(pipeline),freeze(pipelineV220),freeze(pipelineV221),freeze(pipelineV223),freeze(pipelineV222),freeze(shotPlanAssistant),freeze(animatedSceneAssistant),freeze(blueprintAssistant),freeze(whiteboardAssistant),freeze(qualityAudit)]);
|
|
192
|
+
export const FIRST_PARTY_SDK_PACKAGES = Object.freeze([freeze(productAdVariants),freeze(pickPhotos),freeze(photoNotes),freeze(youtubePublication),freeze(stockSearch),freeze(exportVideoV210),freeze(exportVideo),freeze(exportAudio),freeze(motionGraphics),freeze(audioScore),freeze(shortFormFinish),freeze(shortFormFinishV102),freeze(shortFormFinishV101),freeze(shortFormFinishV100),freeze(occasionStory),freeze(occasionStoryV101),freeze(occasionStoryV100),freeze(releaseVisuals),freeze(releaseVisualsV101),freeze(releaseVisualsV100),freeze(photoReelComposer),freeze(photoReelComposerV101),freeze(photoReelComposerV100),freeze(importMediaV202),freeze(importMediaV201),freeze(editorV2212),freeze(editorV2211),freeze(editorV2210),freeze(editorV229),freeze(editorV228),freeze(panelStripV241),freeze(panelStripV240),freeze(panelStripV237),freeze(panelStripV236),freeze(boardEditorV2210),freeze(boardEditorV229),freeze(animatedSceneV238),freeze(animatedSceneV237),freeze(pipelineV225),freeze(pipelineV224),freeze(blueprintV219),freeze(blueprintV218),freeze(videoAssetsV214),freeze(videoAssetsV213),freeze(chatV203),freeze(chatV202),freeze(chatV201),freeze(shotPlanV221),freeze(shotPlanV220),freeze(shotPlanV213),freeze(shotPlanV212),freeze(voiceoverV216),freeze(voiceoverV215),freeze(voiceoverV214),freeze(voiceoverV213),freeze(scriptV215),freeze(scriptV214),freeze(scriptV213),freeze(roughCutV202),freeze(roughCutV201),freeze(finalEditV202),freeze(finalEditV201),freeze(editAssistantV202),freeze(editAssistantV201),freeze(gradeV202),freeze(gradeV201),freeze(transitionV202),freeze(transitionV201),freeze(qualityAuditV102),freeze(qualityAuditV101),freeze(compareV202),freeze(compareV201),freeze(compare),freeze(grade),freeze(transition),freeze(exportTimeline),freeze(captions),freeze(importMedia),freeze(generateImageV210),freeze(generateImage),freeze(thumbnailV201),freeze(thumbnail),freeze(writeSummary),freeze(automationWhen),freeze(automationNewItems),freeze(automationAiDecide),freeze(automationContinueIf),freeze(connectApp),freeze(automationContactFields),freeze(automationAiWrite),freeze(automationMetaCreative),freeze(voiceover),freeze(voiceoverV210),freeze(voiceoverV211),freeze(voiceoverV212),freeze(script),freeze(scriptV210),freeze(scriptV211),freeze(scriptV212),freeze(generateVideoV201),freeze(generateVideo),freeze(chat),freeze(characterV201),freeze(character),freeze(locationV201),freeze(location),freeze(styleV201),freeze(style),freeze(researchV202),freeze(researchV201),freeze(research),freeze(imageEditorV201),freeze(imageEditor),freeze(describeMediaV201),freeze(describeMedia),freeze(videoAssets),freeze(videoAssetsV210),freeze(videoAssetsV211),freeze(videoAssetsV212),freeze(roughCut),freeze(finalEdit),freeze(editAssistant),freeze(transcribeV201),freeze(transcribe),freeze(blueprint),freeze(blueprintV210),freeze(blueprintV211),freeze(blueprintV212),freeze(blueprintV213),freeze(blueprintV214),freeze(blueprintV215),freeze(blueprintV216),freeze(blueprintV217),freeze(shotPlan),freeze(shotPlanV210),freeze(shotPlanV211),freeze(boardEditor),freeze(boardEditorV210),freeze(boardEditorV220),freeze(boardEditorV221),freeze(boardEditorV222),freeze(boardEditorV223),freeze(boardEditorV224),freeze(boardEditorV225),freeze(boardEditorV226),freeze(boardEditorV227),freeze(boardEditorV228),freeze(panelStripV200),freeze(panelStrip),freeze(panelStripV220),freeze(panelStripV230),freeze(panelStripV231),freeze(panelStripV232),freeze(panelStripV233),freeze(panelStripV234),freeze(panelStripV235),freeze(animatedSceneV200),freeze(animatedScene),freeze(animatedSceneV220),freeze(animatedSceneV230),freeze(animatedSceneV231),freeze(animatedSceneV232),freeze(animatedSceneV233),freeze(animatedSceneV234),freeze(animatedSceneV235),freeze(animatedSceneV236),freeze(editor),freeze(editorV210),freeze(editorV220),freeze(editorV221),freeze(editorV222),freeze(editorV223),freeze(editorV224),freeze(editorV225),freeze(editorV226),freeze(editorV227),freeze(pipelineV200),freeze(pipeline),freeze(pipelineV220),freeze(pipelineV221),freeze(pipelineV223),freeze(pipelineV222),freeze(shotPlanAssistant),freeze(animatedSceneAssistant),freeze(blueprintAssistant),freeze(whiteboardAssistant),freeze(qualityAudit)]);
|
|
192
193
|
export const firstPartySdkPackage = manifest => FIRST_PARTY_SDK_PACKAGES.find(pkg => pkg.manifest.id === manifest?.id && pkg.manifest.version === manifest?.version);
|