{"version":3,"file":"plugin.cjs","names":["Layer","WorkspaceBuildRenderService","cliWorkspaceBuildRender","DeployTrainRenderService","cliDeployTrainRender","BuildTrainService","createPlugin","z","bosContract","Effect","openResolution","buildScoped","ProjectEnv","ProjectEnvLive","process","buildScopedContext","makeDatabaseBindings","makeDrizzleKitLive","p","DatabaseBindings","Context","DrizzleKit","DeployTrainService","BundleStorage","RegistryStore","SignerService","ResolutionSessionService","ProcessesService","SiteClient","SessionStore","DeviceLoginService","OpsService","DbOpsService","PluginAdminService","DevFlowService","InitFlowService","PlatformManifestService","registerConfig","registerPlugins","registerDev","registerBuild","registerDeploy","registerSmoke","registerKeys","registerSecrets","registerProcesses","registerInit","registerImport","registerUpgrade","registerDb","registerOps"],"sources":["../src/plugin.ts"],"sourcesContent":["import process from \"node:process\";\nimport * as p from \"@clack/prompts\";\nimport { Context, Effect, Layer } from \"effect\";\nimport { buildScoped, buildScopedContext } from \"every-plugin\";\nimport { cliDeployTrainRender } from \"./cli/render/deploy-train\";\nimport { cliWorkspaceBuildRender } from \"./cli/render/workspace-build\";\nimport { bosContract } from \"./contract\";\nimport { DatabaseBindings, DrizzleKit, makeDatabaseBindings, makeDrizzleKitLive } from \"./db\";\nimport { ProjectEnv, ProjectEnvLive } from \"./env/project-env\";\nimport { registerBuild } from \"./handlers/build\";\nimport { registerConfig } from \"./handlers/config\";\nimport { registerDb } from \"./handlers/db\";\nimport { registerDeploy } from \"./handlers/deploy\";\nimport { registerDev } from \"./handlers/dev\";\nimport { registerImport } from \"./handlers/import\";\nimport { registerInit } from \"./handlers/init\";\nimport { registerKeys } from \"./handlers/keys\";\nimport { registerOps } from \"./handlers/ops\";\nimport { registerPlugins } from \"./handlers/plugins\";\nimport { registerProcesses } from \"./handlers/processes\";\nimport { registerSecrets } from \"./handlers/secrets\";\nimport { registerSmoke } from \"./handlers/smoke\";\nimport { registerUpgrade } from \"./handlers/upgrade\";\nimport { createPlugin, z } from \"./sdk\";\nimport { DeviceLoginService } from \"./services/auth/device-login\";\nimport { SessionStore } from \"./services/auth/session-store\";\nimport { SignerService } from \"./services/auth/signer\";\nimport { SiteClient } from \"./services/auth/site-client\";\nimport { DbOpsService } from \"./services/db/ops\";\nimport { BundleStorage, RegistryStore } from \"./services/deploy/deps\";\nimport { DeployTrainRenderService } from \"./services/deploy/render\";\nimport { DeployTrainService } from \"./services/deploy/train\";\nimport { DevFlowService } from \"./services/dev/flow\";\nimport { OpsService } from \"./services/ops\";\nimport { PlatformManifestService } from \"./services/platform/manifest\";\nimport { PluginAdminService } from \"./services/plugins-admin\";\nimport { ProcessesService } from \"./services/processes/service\";\nimport { openResolution, ResolutionSessionService } from \"./services/resolution/session\";\nimport { InitFlowService } from \"./services/scaffold/init-flow\";\nimport { BuildTrainService, WorkspaceBuildRenderService } from \"./services/workspace/build-train\";\n\nexport { resolveRemoteConfigChain } from \"./handlers/config\";\nexport { type ProgressEvent, pluginEvents } from \"./services/dev/progress\";\nexport type { DevSessionData, StartSummary } from \"./services/dev/session\";\n\nconst buildRenderLayer = Layer.succeed(\n  WorkspaceBuildRenderService,\n  WorkspaceBuildRenderService.of(cliWorkspaceBuildRender),\n);\n\nconst deployRenderLayer = Layer.succeed(\n  DeployTrainRenderService,\n  DeployTrainRenderService.of(cliDeployTrainRender),\n);\n\nconst buildTrainLayer = BuildTrainService.Live.pipe(Layer.provide(buildRenderLayer));\n\nexport default createPlugin({\n  variables: z.object({\n    configPath: z.string().optional(),\n    // The artifact root (cwd-derived) — decoupled from configPath so an\n    // explicit boot config (--config-path fixture) validates and loads\n    // without redirecting where the CLI writes generated artifacts.\n    configDir: z.string().optional(),\n  }),\n  secrets: z.object({}),\n  contract: bosContract,\n  initialize: (config, _plugins) =>\n    Effect.gen(function* () {\n      const session = yield* Effect.promise(() =>\n        openResolution({ path: config.variables.configPath }),\n      );\n\n      const projectEnv = yield* buildScoped(ProjectEnv, ProjectEnvLive);\n      const effectContext = yield* Effect.context();\n\n      const configDir = config.variables.configDir ?? session?.root ?? process.cwd();\n\n      const services = yield* buildScopedContext(\n        Layer.mergeAll(\n          makeDatabaseBindings({\n            projectDir: configDir,\n            loadRuntimeConfig: async () => (await session?.buildRuntime()) ?? null,\n            loadEnv: () => Effect.runPromiseWith(effectContext)(projectEnv.load(configDir)),\n          }),\n          makeDrizzleKitLive({\n            projectDir: configDir,\n            onLog: (message) => p.log.info(message),\n          }),\n        ),\n      );\n\n      const dbBindingsLayer = Layer.succeed(\n        DatabaseBindings,\n        Context.get(services, DatabaseBindings),\n      );\n      const drizzleKitLayer = Layer.succeed(DrizzleKit, Context.get(services, DrizzleKit));\n      const deployTrainLayer = DeployTrainService.Live.pipe(\n        Layer.provide(\n          Layer.mergeAll(\n            BundleStorage.Live,\n            RegistryStore.Live,\n            SignerService.Live,\n            buildTrainLayer,\n          ),\n        ),\n      );\n\n      return Layer.mergeAll(\n        Layer.succeed(ResolutionSessionService, session),\n        dbBindingsLayer,\n        drizzleKitLayer,\n        ProcessesService.Live,\n        SiteClient.Live,\n        SessionStore.Live,\n        DeviceLoginService.Live.pipe(Layer.provide(SiteClient.Live)),\n        buildRenderLayer,\n        buildTrainLayer,\n        deployTrainLayer,\n        deployRenderLayer,\n        OpsService.Live,\n        DbOpsService.Live.pipe(Layer.provide(Layer.mergeAll(dbBindingsLayer, drizzleKitLayer))),\n        PluginAdminService.Live.pipe(Layer.provide(deployTrainLayer)),\n        DevFlowService.Live,\n        InitFlowService.Live,\n        PlatformManifestService.Live,\n      );\n    }),\n  createRouter: (builder) => ({\n    ...registerConfig(builder),\n    ...registerPlugins(builder),\n    ...registerDev(builder),\n    ...registerBuild(builder),\n    ...registerDeploy(builder),\n    ...registerSmoke(builder),\n    ...registerKeys(builder),\n    ...registerSecrets(builder),\n    ...registerProcesses(builder),\n    ...registerInit(builder),\n    ...registerImport(builder),\n    ...registerUpgrade(builder),\n    ...registerDb(builder),\n    ...registerOps(builder),\n  }),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAM,mBAAmBA,aAAM,QAC7BC,iDACAA,gDAA4B,GAAGC,+CAAuB,CACxD;AAEA,MAAM,oBAAoBF,aAAM,QAC9BG,yCACAA,wCAAyB,GAAGC,yCAAoB,CAClD;AAEA,MAAM,kBAAkBC,sCAAkB,KAAK,KAAKL,aAAM,QAAQ,gBAAgB,CAAC;AAEnF,yBAAeM,2BAAa;CAC1B,WAAWC,MAAE,OAAO;EAClB,YAAYA,MAAE,OAAO,CAAC,CAAC,SAAS;EAIhC,WAAWA,MAAE,OAAO,CAAC,CAAC,SAAS;CACjC,CAAC;CACD,SAASA,MAAE,OAAO,CAAC,CAAC;CACpB,UAAUC;CACV,aAAa,QAAQ,aACnBC,cAAO,IAAI,aAAa;EACtB,MAAM,UAAU,OAAOA,cAAO,cAC5BC,mDAAe,EAAE,MAAM,OAAO,UAAU,WAAW,CAAC,CACtD;EAEA,MAAM,aAAa,WAAOC,0BAAYC,gCAAYC,kCAAc;EAChE,MAAM,gBAAgB,OAAOJ,cAAO,QAAQ;EAE5C,MAAM,YAAY,OAAO,UAAU,aAAa,SAAS,QAAQK,qBAAQ,IAAI;EAE7E,MAAM,WAAW,WAAOC,iCACtBf,aAAM,SACJgB,sCAAqB;GACnB,YAAY;GACZ,mBAAmB,YAAa,MAAM,SAAS,aAAa,KAAM;GAClE,eAAeP,cAAO,eAAe,aAAa,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC;EAChF,CAAC,GACDQ,uCAAmB;GACjB,YAAY;GACZ,QAAQ,YAAYC,eAAE,IAAI,KAAK,OAAO;EACxC,CAAC,CACH,CACF;EAEA,MAAM,kBAAkBlB,aAAM,QAC5BmB,mCACAC,eAAQ,IAAI,UAAUD,iCAAgB,CACxC;EACA,MAAM,kBAAkBnB,aAAM,QAAQqB,gCAAYD,eAAQ,IAAI,UAAUC,8BAAU,CAAC;EACnF,MAAM,mBAAmBC,iCAAmB,KAAK,KAC/CtB,aAAM,QACJA,aAAM,SACJuB,2BAAc,MACdC,2BAAc,MACdC,6BAAc,MACd,eACF,CACF,CACF;EAEA,OAAOzB,aAAM,SACXA,aAAM,QAAQ0B,8DAA0B,OAAO,GAC/C,iBACA,iBACAC,iCAAiB,MACjBC,+BAAW,MACXC,mCAAa,MACbC,wCAAmB,KAAK,KAAK9B,aAAM,QAAQ4B,+BAAW,IAAI,CAAC,GAC3D,kBACA,iBACA,kBACA,mBACAG,yBAAW,MACXC,yBAAa,KAAK,KAAKhC,aAAM,QAAQA,aAAM,SAAS,iBAAiB,eAAe,CAAC,CAAC,GACtFiC,yCAAmB,KAAK,KAAKjC,aAAM,QAAQ,gBAAgB,CAAC,GAC5DkC,4BAAe,MACfC,kCAAgB,MAChBC,yCAAwB,IAC1B;CACF,CAAC;CACH,eAAe,aAAa;EAC1B,GAAGC,8BAAe,OAAO;EACzB,GAAGC,gCAAgB,OAAO;EAC1B,GAAGC,wBAAY,OAAO;EACtB,GAAGC,4BAAc,OAAO;EACxB,GAAGC,8BAAe,OAAO;EACzB,GAAGC,4BAAc,OAAO;EACxB,GAAGC,0BAAa,OAAO;EACvB,GAAGC,gCAAgB,OAAO;EAC1B,GAAGC,oCAAkB,OAAO;EAC5B,GAAGC,0BAAa,OAAO;EACvB,GAAGC,8BAAe,OAAO;EACzB,GAAGC,gCAAgB,OAAO;EAC1B,GAAGC,sBAAW,OAAO;EACrB,GAAGC,0BAAY,OAAO;CACxB;AACF,CAAC"}