feat(sdk,dashboard,docs): U9 — save-time code validation route, SDK type exports, skill doc, step-inversion docs + changeset
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,50 @@ export type {
|
||||
PluginInstallation,
|
||||
} from "@fusion/core";
|
||||
|
||||
// ── Step-inversion IR types (type-only) ──────────────────────────────────────
|
||||
// TYPE-ONLY re-exports of the workflow-modelable step constructs (KTD-3/12/13/15)
|
||||
// so plugin authors can author/validate workflow IR and step parsers against the
|
||||
// canonical shapes. These are erased at build time, so the standalone plugin-sdk
|
||||
// artifact carries no @fusion runtime specifiers (see cli plugin-sdk-export test).
|
||||
export type {
|
||||
// Graph IR primitives.
|
||||
WorkflowIr,
|
||||
WorkflowIrV1,
|
||||
WorkflowIrV2,
|
||||
WorkflowIrNode,
|
||||
WorkflowIrEdge,
|
||||
WorkflowIrNodeKind,
|
||||
// Foreach / artifacts / custom fields (step inversion).
|
||||
WorkflowForeachConfig,
|
||||
WorkflowIrArtifact,
|
||||
WorkflowFieldDefinition,
|
||||
WorkflowFieldType,
|
||||
WorkflowFieldOption,
|
||||
WorkflowFieldRender,
|
||||
// Step-parser contract.
|
||||
StepParser,
|
||||
StepParseResult,
|
||||
ParsedStep,
|
||||
} from "@fusion/core";
|
||||
|
||||
import type { StepParseResult } from "@fusion/core";
|
||||
|
||||
/**
|
||||
* A plugin's step-parser contribution (KTD-12). A plugin's runtime loader returns
|
||||
* these from its `getPluginStepParsers` getter; the engine wraps each fail-closed
|
||||
* and registers it under `plugin:<pluginId>:<parserId>`. `parse` is SYNCHRONOUS
|
||||
* (project-local trust tier) and may throw on malformed input — a throw maps to a
|
||||
* routable `outcome:parse-error`.
|
||||
*
|
||||
* Structurally identical to the engine-side `PluginStepParserContribution` the
|
||||
* plugin runner consumes; defined here so plugin authors do not depend on the
|
||||
* engine package (the SDK depends on @fusion/core only).
|
||||
*/
|
||||
export interface PluginStepParserContribution {
|
||||
parserId: string;
|
||||
parse: (content: string) => StepParseResult;
|
||||
}
|
||||
|
||||
import type { FusionPlugin } from "@fusion/core";
|
||||
|
||||
// NOTE (U8): trait-contribution VALIDATION lives in @fusion/core
|
||||
|
||||
Reference in New Issue
Block a user