{"version":3,"file":"code-artifacts.mjs","names":[],"sources":["../src/code-artifacts.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { type ContractBridgeStatus, syncApiContractBridge } from \"./api-contract\";\nimport { loadResolvedConfig, writeResolvedConfig } from \"./config\";\nimport type { BosEnv } from \"./merge\";\nimport type { BosConfig, RuntimeConfig } from \"./types\";\n\ninterface GeneratedArtifacts {\n  resolvedConfigPath?: string;\n  contractBridgePath: string;\n}\n\nexport async function generateCodeArtifacts(\n  configDir: string,\n  config: BosConfig,\n  opts?: {\n    env?: BosEnv;\n    extendsChain?: string[];\n    runtimeConfig?: RuntimeConfig;\n  },\n): Promise<(GeneratedArtifacts & { contractStatus: ContractBridgeStatus[] }) | null> {\n  if (opts?.env) {\n    writeResolvedConfig(configDir, config, opts.env, opts.extendsChain);\n  }\n\n  const runtimeConfig =\n    opts?.runtimeConfig ?? (await loadResolvedConfig({ cwd: configDir }))?.runtime;\n  if (!runtimeConfig) return null;\n\n  const bridge = await syncApiContractBridge({\n    configDir,\n    runtimeConfig,\n    apiBaseUrl: runtimeConfig.api.url,\n  });\n\n  return {\n    resolvedConfigPath: opts?.env ? join(configDir, \".bos/bos.resolved-config.json\") : undefined,\n    contractBridgePath: bridge.bridgePath,\n    contractStatus: bridge.status,\n  };\n}\n"],"mappings":";;;;;AAWA,eAAsB,sBACpB,WACA,QACA,MAKmF;AACnF,KAAI,MAAM,IACR,qBAAoB,WAAW,QAAQ,KAAK,KAAK,KAAK,aAAa;CAGrE,MAAM,gBACJ,MAAM,kBAAkB,MAAM,mBAAmB,EAAE,KAAK,WAAW,CAAC,GAAG;AACzE,KAAI,CAAC,cAAe,QAAO;CAE3B,MAAM,SAAS,MAAM,sBAAsB;EACzC;EACA;EACA,YAAY,cAAc,IAAI;EAC/B,CAAC;AAEF,QAAO;EACL,oBAAoB,MAAM,MAAM,KAAK,WAAW,gCAAgC,GAAG;EACnF,oBAAoB,OAAO;EAC3B,gBAAgB,OAAO;EACxB"}