/** The kind of scalar an action's compact form accepts, if any. */ export type PrimitiveKind = "string" | "number" | "boolean" | null; /** * A field inside an action's object form — used for field-name completion and * (Phase 3) enum-value completion. */ export interface ActionField { name: string; description?: string; /** * The scalar kind this field accepts, or null for object/array fields. Drives * whether a completion snippet quotes the value placeholder. */ primitiveKind: PrimitiveKind; /** Enumerated values, when the field's schema (or a branch) pins them. */ enumValues?: Array; } /** Everything the language features need to know about one action. */ export interface ActionInfo { /** The action key, which IS the step key (`goTo`, `find`, …). */ key: string; title?: string; description?: string; /** True when the compact scalar form (e.g. `"goTo": "https://…"`) is valid. */ acceptsPrimitive: boolean; /** * The scalar kind the compact form accepts (`"goTo"` → string, `"wait"` → * number, `"stopRecord"` → boolean), or null for object-only actions. Drives * whether a completion snippet quotes the placeholder. */ primitiveKind: PrimitiveKind; /** Fields available inside the object form. */ fields: ActionField[]; } export interface Registry { actions: ActionInfo[]; byKey: Map; } /** Collect the candidate sub-schemas of a schema: itself plus anyOf/oneOf/allOf. */ export declare function branchesOf(schema: any): any[]; /** Dig for a human description across a schema and its immediate branches. */ export declare function findDescription(schema: any): string | undefined; /** * The scalar kind a schema (or a branch) accepts in its compact form, or null. * The first primitive type encountered across branches wins. */ export declare function primitiveKindOf(schema: any): PrimitiveKind; /** Does the schema (or a branch) accept a primitive scalar value? */ export declare function acceptsPrimitive(schema: any): boolean; /** Merge the `properties` maps found across a schema's object branches. */ export declare function collectFields(schema: any): ActionField[]; /** Pull an enum list from a schema or its branches, if any. */ export declare function extractEnum(schema: any): Array | undefined; /** * Build the action registry from the live `step_v3` schema. Derived at runtime * (not a build step) so a new action added to the schemas automatically appears * in completion/hover — the anti-drift test pins that guarantee. */ export declare function buildRegistry(step?: any): Registry; export declare function getRegistry(): Registry; //# sourceMappingURL=registry.d.ts.map