/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { IExecuteContext, IExecutePreviewContext, TaskConfig } from "@workglow/task-graph"; import { CreateWorkflow, Task } from "@workglow/task-graph"; import type { FromSchema } from "@workglow/util/schema"; declare const inputSchema: { readonly type: "object"; readonly properties: { readonly template: { readonly type: "string"; readonly title: "Template"; readonly description: "Template string with {{key}} placeholders; supports {{key|default}} for defaults"; }; readonly values: { readonly type: "object"; readonly title: "Values"; readonly description: "Key-value pairs to substitute into the template"; readonly additionalProperties: true; }; }; readonly required: readonly ["template", "values"]; readonly additionalProperties: false; }; declare const outputSchema: { readonly type: "object"; readonly properties: { readonly result: { readonly type: "string"; readonly title: "Result"; readonly description: "Rendered template string"; }; }; readonly required: readonly ["result"]; readonly additionalProperties: false; }; export type TemplateTaskInput = FromSchema; export type TemplateTaskOutput = FromSchema; /** * TemplateTask renders a template string by replacing `{{key}}` placeholders * with corresponding values. Supports `{{key|default}}` syntax for fallback * values when a key is missing. Nested dot-notation paths (e.g. `{{a.b}}`) * are resolved against the values object. */ export declare class TemplateTask extends Task { static readonly type = "TemplateTask"; static readonly category = "Utility"; static title: string; static description: string; static inputSchema(): { readonly type: "object"; readonly properties: { readonly template: { readonly type: "string"; readonly title: "Template"; readonly description: "Template string with {{key}} placeholders; supports {{key|default}} for defaults"; }; readonly values: { readonly type: "object"; readonly title: "Values"; readonly description: "Key-value pairs to substitute into the template"; readonly additionalProperties: true; }; }; readonly required: readonly ["template", "values"]; readonly additionalProperties: false; }; static outputSchema(): { readonly type: "object"; readonly properties: { readonly result: { readonly type: "string"; readonly title: "Result"; readonly description: "Rendered template string"; }; }; readonly required: readonly ["result"]; readonly additionalProperties: false; }; execute(input: Input, _context: IExecuteContext): Promise; executePreview(input: Input, _context: IExecutePreviewContext): Promise; } declare module "@workglow/task-graph" { interface Workflow { template: CreateWorkflow; } } export {};