stillmade-sdk 0.1.15 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stillmade-sdk",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "StillMade Block SDK, CLI and examples",
5
5
  "license": "PolyForm-Shield-1.0.0",
6
6
  "type": "module",
@@ -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;