// Generated by quixos-codegen-ts. Do not edit. Binding ABI version 1. import { bindQxHandler, type BindingValue, type QxObjectRef, type QxWatchHandle, type QxHandler, type QxDerived, type QxContextLifecycle, type QxLiveValue, type QxHandlerSpec, type QxMessages } from "@quixos/camino-package-runtime"; import { opaqueReactPropsBinding as message0 } from "@quixos/camino-package-runtime"; export const packageRevisionId = "package:todo-react-runtime@1"; export type Contexts = { "createComponent": { "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": QxObjectRef<"atom:atom:task">; "ports": { } } & QxContextLifecycle<{ "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": QxObjectRef<"atom:atom:task">; "ports": { } } & {signal?: AbortSignal}>; "propsGet": { "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { "data": { "objectId": QxObjectRef<"interface:interface:task-data@1">; "live": { "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise }; "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise } } } & QxContextLifecycle<{ "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { "data": { "objectId": QxObjectRef<"interface:interface:task-data@1">; "live": { "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise }; "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise } } } & {signal?: AbortSignal}>; "propsWatch": { "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { "data": { "objectId": QxObjectRef<"interface:interface:task-data@1">; "live": { "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise }; "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise } } } & QxContextLifecycle<{ "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { "data": { "objectId": QxObjectRef<"interface:interface:task-data@1">; "live": { "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise }; "title.get": () => Promise; "title.set": (input: string) => Promise; "status.get": () => Promise; "status.set": (input: string) => Promise; "priority.get": () => Promise; "priority.set": (input: string) => Promise; "notes.get": () => Promise; "notes.set": (input: string) => Promise; "dueDate.get": () => Promise; "dueDate.set": (input: string) => Promise; "energy.get": () => Promise; "energy.set": (input: string) => Promise } } } & {signal?: AbortSignal}>; "propsWatchStop": { "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": QxWatchHandle; "ports": { } } & QxContextLifecycle<{ "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": QxWatchHandle; "ports": { } } & {signal?: AbortSignal}>; "sourceGet": { "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { } } & QxContextLifecycle<{ "objectId": QxObjectRef<"atom:atom:task-react-component">; "input": null; "ports": { } } & {signal?: AbortSignal}> }; export type Implementation = { "createComponent": QxHandler>; "propsGet": QxHandler> | QxDerived>; "propsWatch": QxDerived>; "propsWatchStop": QxHandler; "sourceGet": QxHandler | QxDerived }; const messages = { "org.quixos.web-studio.ReactProps": message0 } satisfies QxMessages; const specs = { "createComponent": { "inputType": { "kind": "object-ref", "expectation": { "kind": "atom", "atomId": "atom:task" } }, "outputType": { "kind": "object-ref", "expectation": { "kind": "atom", "atomId": "atom:task-react-component" } }, "ports": {} }, "propsGet": { "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "message", "descriptorId": "org.quixos.web-studio.ReactProps" }, "ports": { "data": { "kind": "interface", "id": "port:todo-react-runtime:data", "operations": { "title.get": { "id": "operation:task-data:title:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "title.set": { "id": "operation:task-data:title:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "status.get": { "id": "operation:task-data:status:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "status.set": { "id": "operation:task-data:status:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "priority.get": { "id": "operation:task-data:priority:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "priority.set": { "id": "operation:task-data:priority:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "notes.get": { "id": "operation:task-data:notes:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "notes.set": { "id": "operation:task-data:notes:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "dueDate.get": { "id": "operation:task-data:due-date:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "dueDate.set": { "id": "operation:task-data:due-date:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "energy.get": { "id": "operation:task-data:energy:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "energy.set": { "id": "operation:task-data:energy:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } } } } } }, "propsWatch": { "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "builtin", "name": "watch-handle" }, "eventType": { "kind": "message", "descriptorId": "org.quixos.web-studio.ReactProps" }, "ports": { "data": { "kind": "interface", "id": "port:todo-react-runtime:data", "operations": { "title.get": { "id": "operation:task-data:title:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "title.set": { "id": "operation:task-data:title:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "status.get": { "id": "operation:task-data:status:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "status.set": { "id": "operation:task-data:status:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "priority.get": { "id": "operation:task-data:priority:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "priority.set": { "id": "operation:task-data:priority:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "notes.get": { "id": "operation:task-data:notes:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "notes.set": { "id": "operation:task-data:notes:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "dueDate.get": { "id": "operation:task-data:due-date:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "dueDate.set": { "id": "operation:task-data:due-date:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } }, "energy.get": { "id": "operation:task-data:energy:get", "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" } }, "energy.set": { "id": "operation:task-data:energy:set", "inputType": { "kind": "scalar", "name": "string" }, "outputType": { "kind": "builtin", "name": "unit" } } } } } }, "propsWatchStop": { "inputType": { "kind": "builtin", "name": "watch-handle" }, "outputType": { "kind": "builtin", "name": "unit" }, "ports": {} }, "sourceGet": { "inputType": { "kind": "builtin", "name": "unit" }, "outputType": { "kind": "scalar", "name": "string" }, "ports": {} } } satisfies Record; export const createRuntime = (implementation: Implementation) => ({ packageRevisionId, exports: { "export:todo-react-runtime:create-component": bindQxHandler(specs["createComponent"], implementation["createComponent"], messages), "export:todo-react-runtime:props-get": bindQxHandler(specs["propsGet"], implementation["propsGet"], messages), "export:todo-react-runtime:props-watch": bindQxHandler(specs["propsWatch"], implementation["propsWatch"], messages), "export:todo-react-runtime:props-watch-stop": bindQxHandler(specs["propsWatchStop"], implementation["propsWatchStop"], messages), "export:todo-react-runtime:source-get": bindQxHandler(specs["sourceGet"], implementation["sourceGet"], messages), }, });