/** * {{titleCase name}} Temporal Worker * * Uses @mesh-tech/app-kit factories for authenticated connections, * encryption codec, and OpenTelemetry instrumentation. */ import { createTemporalWorker, resolveWorkflows } from "@mesh-tech/app-kit/temporal"; import { createLogger } from "@mesh-tech/logger"; import * as activities from "./activities.js"; // The worker process logs through @mesh-tech/logger (the Mesh app contract, // gate 0.4). Activities use `log` from @temporalio/activity and workflows `log` // from @temporalio/workflow — both route to the Runtime logger app-kit installs. const log = createLogger({ service: "{{name}}-worker" }); async function run() { const { worker, cleanup } = await createTemporalWorker({ activities, ...await resolveWorkflows(import.meta.url), }); try { await worker.run(); } finally { cleanup(); } } run().catch((err) => { log.error({ err }, "Fatal error"); process.exit(1); });