import { defineExtension, capabilityFor } from "@executioncontrolprotocol/core"
import { z } from "zod"
export default defineExtension({
id: "@executioncontrolprotocol/jsonata",
name: "jsonata",
})
.withMetadata({
summary: "Evaluate JSONata expressions over JSON payloads.",
description: "Pure JS transform. Runs in Node and browser.",
useCases: ["Reshape a payload before a later step"],
projections: {
mermaid: { kind: "transform" },
},
topicAlias: "jsonata",
})
.capability(
capabilityFor("@executioncontrolprotocol/jsonata.transform")
.input(z.object({ expression: z.string(), payload: z.unknown() }))
.output(z.object({ result: z.unknown() }))
)