diff --git a/packages/plugin-runtime/src/common.ts b/packages/plugin-runtime/src/common.ts index 80196d91..c871ac8b 100644 --- a/packages/plugin-runtime/src/common.ts +++ b/packages/plugin-runtime/src/common.ts @@ -15,6 +15,8 @@ export function applyFormInputDefaults( for (const input of inputs) { if ('defaultValue' in input && values[input.name] === undefined) { newValues[input.name] = input.defaultValue; + } else if (input.type === 'checkbox' && values[input.name] === undefined) { + newValues[input.name] = false; } // Recurse down to all child inputs if ('inputs' in input) { diff --git a/plugins/template-function-prompt/src/index.ts b/plugins/template-function-prompt/src/index.ts index 1fcac361..fac43348 100644 --- a/plugins/template-function-prompt/src/index.ts +++ b/plugins/template-function-prompt/src/index.ts @@ -17,7 +17,7 @@ export const plugin: PluginDefinition = { description: 'Prompt the user for input when sending a request', previewType: 'click', args: [ - { type: 'text', name: 'label', label: 'Label' }, + { type: 'text', name: 'label', label: 'Label', optional: true }, { type: 'select', name: 'store', @@ -138,6 +138,9 @@ export const plugin: PluginDefinition = { }; function buildKey(args: CallTemplateFunctionArgs) { + if (!args.values.key && !args.values.label) { + throw new Error('Key or Label is required when storing values'); + } return [args.values.namespace, args.values.key || args.values.label] .filter((v) => !!v) .map((v) => slugify(String(v), { lower: true, trim: true }))