~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs

0
0
main
17 lines · 845 B Raw History
// node compose.ts > composition.json
import { composition, policy } from "../../../javascript/src/compose/build.js";
import { compose } from "./atlibs.modules.js";

const c = composition({
	name: "Compose toys",
	description: "ui asks lookup to double n (only even n, per the even policy), passing a progress callback; lookup may ask the page to confirm.",
	limits: { depth: 4, calls: 20 },
});
const ui = c.instance("ui", compose);
const lookup = c.instance("lookup", compose, { input: { n: 0 } });
const even = c.instance("even", compose);
const confirm = c.handler("confirm", "The page asks the user.");
c.route(ui, "com.example.compose.lookup", lookup, "ui needs n doubled", { policies: [policy(even, "even")] });
c.route(ui, "com.example.compose.confirm", confirm, "ui asks the user before acting");

process.stdout.write(await c.json());