{"version":3,"file":"smoke.mjs","names":[],"sources":["../../src/handlers/smoke.ts"],"sourcesContent":["import { Effect } from \"effect\";\nimport { runSmoke } from \"../services/deploy/smoke\";\nimport { ResolutionSessionService } from \"../services/resolution/session\";\nimport type { BosBuilder } from \"./shared\";\n\nexport function registerSmoke(builder: BosBuilder) {\n  return {\n    smoke: builder.smoke.effect(function* (_opts, input) {\n      const session = yield* ResolutionSessionService;\n      const account = input.account ?? session?.config?.account;\n      const gateway = input.gateway ?? session?.config?.domain;\n\n      const image = input.image;\n      if (!image) {\n        return {\n          status: \"error\" as const,\n          error: \"smoke requires an image ref — pass --image <ref>\",\n        };\n      }\n\n      console.log(`smoke: booting ${image} on :${input.port}`);\n      const result = yield* Effect.tryPromise(() =>\n        runSmoke({\n          image,\n          port: input.port,\n          keep: input.keep,\n          ...(account ? { account } : {}),\n          ...(gateway ? { gateway } : {}),\n          ...(input.apiDatabaseUrl ? { apiDatabaseUrl: input.apiDatabaseUrl } : {}),\n          ...(input.authDatabaseUrl ? { authDatabaseUrl: input.authDatabaseUrl } : {}),\n        }),\n      );\n\n      if (result.ok) {\n        return {\n          status: \"ok\" as const,\n          image: result.image,\n          summary: result.summary,\n        };\n      }\n      return {\n        status: \"error\" as const,\n        image: result.image,\n        ...(result.diagnosis ? { diagnosis: result.diagnosis } : {}),\n        error: result.error,\n      };\n    }),\n  };\n}\n"],"mappings":";;;;;AAKA,SAAgB,cAAc,SAAqB;CACjD,OAAO,EACL,OAAO,QAAQ,MAAM,OAAO,WAAW,OAAO,OAAO;EACnD,MAAM,UAAU,OAAO;EACvB,MAAM,UAAU,MAAM,WAAW,SAAS,QAAQ;EAClD,MAAM,UAAU,MAAM,WAAW,SAAS,QAAQ;EAElD,MAAM,QAAQ,MAAM;EACpB,IAAI,CAAC,OACH,OAAO;GACL,QAAQ;GACR,OAAO;EACT;EAGF,QAAQ,IAAI,kBAAkB,MAAM,OAAO,MAAM,MAAM;EACvD,MAAM,SAAS,OAAO,OAAO,iBAC3B,SAAS;GACP;GACA,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;GAC7B,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;GAC7B,GAAI,MAAM,iBAAiB,EAAE,gBAAgB,MAAM,eAAe,IAAI,CAAC;GACvE,GAAI,MAAM,kBAAkB,EAAE,iBAAiB,MAAM,gBAAgB,IAAI,CAAC;EAC5E,CAAC,CACH;EAEA,IAAI,OAAO,IACT,OAAO;GACL,QAAQ;GACR,OAAO,OAAO;GACd,SAAS,OAAO;EAClB;EAEF,OAAO;GACL,QAAQ;GACR,OAAO,OAAO;GACd,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;GAC1D,OAAO,OAAO;EAChB;CACF,CAAC,EACH;AACF"}