{"version":3,"file":"bun-worker.mjs","names":[],"sources":["../../src/tako/entrypoints/bun-worker.ts"],"sourcesContent":["#!/usr/bin/env bun\n/**\n * Tako Bun Worker Entrypoint — run via `bunx tako-worker`.\n *\n * Spawned by tako-server as a separate process from HTTP instances.\n * Loads workflows from the configured JavaScript app root and runs the task loop.\n * All queue state lives in tako-server via the per-app enqueue socket —\n * the SDK itself touches no SQLite.\n */\n\nimport { installConsoleBridge } from \"../console-bridge\";\nimport { installErrorHooks } from \"../error-hooks\";\nimport { createLogger } from \"../../logger\";\nimport { installStdioBridge } from \"../stdio-bridge\";\nimport { initBootstrapFromFd, readViaInheritedFd } from \"../secrets-fd\";\nimport { bootstrapWorker } from \"../../workflows/bootstrap\";\nimport { workflowsEngine } from \"../../workflows/engine\";\n\ninstallStdioBridge(\"worker\");\ninstallErrorHooks(\"worker\");\ninstallConsoleBridge(\"worker\");\n\nconst log = createLogger(\"worker\");\n\nasync function main(): Promise<void> {\n  initBootstrapFromFd(readViaInheritedFd);\n  const result = await bootstrapWorker();\n\n  if (!result.started) {\n    log.error(\"Worker not started\", { reason: result.reason ?? \"unknown\" });\n    process.exit(result.reason === \"no workflows discovered\" ? 0 : 1);\n  }\n\n  let shuttingDown = false;\n  const shutdown = async (reason: string): Promise<void> => {\n    if (shuttingDown) return;\n    shuttingDown = true;\n    log.info(\"Shutting down\", { reason });\n    await workflowsEngine.drain();\n    process.exit(0);\n  };\n\n  process.on(\"SIGTERM\", () => void shutdown(\"SIGTERM\"));\n  process.on(\"SIGINT\", () => void shutdown(\"SIGINT\"));\n\n  const idleCheck = setInterval(() => {\n    if (workflowsEngine.workerIdled && !shuttingDown) {\n      clearInterval(idleCheck);\n      void shutdown(\"idle\");\n    }\n  }, 1_000);\n}\n\nif (import.meta.main) {\n  void main();\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkBA,mBAAmB,SAAS;AAC5B,kBAAkB,SAAS;AAC3B,qBAAqB,SAAS;AAE9B,MAAM,MAAM,aAAa,SAAS;AAElC,eAAe,OAAsB;CACnC,oBAAoB,mBAAmB;CACvC,MAAM,SAAS,MAAM,iBAAiB;CAEtC,IAAI,CAAC,OAAO,SAAS;EACnB,IAAI,MAAM,sBAAsB,EAAE,QAAQ,OAAO,UAAU,WAAW,CAAC;EACvE,QAAQ,KAAK,OAAO,WAAW,4BAA4B,IAAI,EAAE;;CAGnE,IAAI,eAAe;CACnB,MAAM,WAAW,OAAO,WAAkC;EACxD,IAAI,cAAc;EAClB,eAAe;EACf,IAAI,KAAK,iBAAiB,EAAE,QAAQ,CAAC;EACrC,MAAM,gBAAgB,OAAO;EAC7B,QAAQ,KAAK,EAAE;;CAGjB,QAAQ,GAAG,iBAAiB,KAAK,SAAS,UAAU,CAAC;CACrD,QAAQ,GAAG,gBAAgB,KAAK,SAAS,SAAS,CAAC;CAEnD,MAAM,YAAY,kBAAkB;EAClC,IAAI,gBAAgB,eAAe,CAAC,cAAc;GAChD,cAAc,UAAU;GACxB,AAAK,SAAS,OAAO;;IAEtB,IAAM;;AAGX,IAAI,OAAO,KAAK,MACd,AAAK,MAAM"}