@cat-factory/integrations 0.38.1 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/compose/ComposeEnvironmentProvider.d.ts +38 -0
  6. package/dist/modules/compose/ComposeEnvironmentProvider.d.ts.map +1 -0
  7. package/dist/modules/compose/ComposeEnvironmentProvider.js +260 -0
  8. package/dist/modules/compose/ComposeEnvironmentProvider.js.map +1 -0
  9. package/dist/modules/compose/compose-environment-backend.d.ts +5 -0
  10. package/dist/modules/compose/compose-environment-backend.d.ts.map +1 -0
  11. package/dist/modules/compose/compose-environment-backend.js +50 -0
  12. package/dist/modules/compose/compose-environment-backend.js.map +1 -0
  13. package/dist/modules/compose/compose-environment.logic.d.ts +155 -0
  14. package/dist/modules/compose/compose-environment.logic.d.ts.map +1 -0
  15. package/dist/modules/compose/compose-environment.logic.js +376 -0
  16. package/dist/modules/compose/compose-environment.logic.js.map +1 -0
  17. package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
  18. package/dist/modules/environments/EnvironmentProvisioningService.js +5 -0
  19. package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
  20. package/dist/modules/environments/custom-manifest-types.d.ts +24 -0
  21. package/dist/modules/environments/custom-manifest-types.d.ts.map +1 -0
  22. package/dist/modules/environments/custom-manifest-types.js +41 -0
  23. package/dist/modules/environments/custom-manifest-types.js.map +1 -0
  24. package/dist/modules/environments/environment-backends.d.ts +20 -1
  25. package/dist/modules/environments/environment-backends.d.ts.map +1 -1
  26. package/dist/modules/environments/environment-backends.js +18 -0
  27. package/dist/modules/environments/environment-backends.js.map +1 -1
  28. package/dist/modules/environments/environments.logic.d.ts.map +1 -1
  29. package/dist/modules/environments/environments.logic.js +2 -0
  30. package/dist/modules/environments/environments.logic.js.map +1 -1
  31. package/dist/modules/environments/infra-handler.logic.d.ts +29 -0
  32. package/dist/modules/environments/infra-handler.logic.d.ts.map +1 -0
  33. package/dist/modules/environments/infra-handler.logic.js +43 -0
  34. package/dist/modules/environments/infra-handler.logic.js.map +1 -0
  35. package/dist/modules/kubernetes/kubernetes-environment-backend.d.ts.map +1 -1
  36. package/dist/modules/kubernetes/kubernetes-environment-backend.js +3 -0
  37. package/dist/modules/kubernetes/kubernetes-environment-backend.js.map +1 -1
  38. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -57,6 +57,8 @@ export { GitHubIssuesProvider, type GitHubIssuesProviderDependencies, } from './
57
57
  export { JiraProvider, JiraApiError } from './modules/tasks/JiraProvider.js';
58
58
  export { EnvironmentConnectionService, type EnvironmentConnectionServiceDependencies, type ConfigRepairDispatch, type ResolvedConnection, } from './modules/environments/EnvironmentConnectionService.js';
59
59
  export { EnvironmentBackendRegistry, defaultEnvironmentBackendRegistry, manifestEnvironmentBackend, kubernetesEnvironmentBackend, type EnvironmentBackendProvider, type EnvironmentBackendContext, type EnvironmentBackendSafetyOptions, } from './modules/environments/environment-backends.js';
60
+ export { resolveInfraHandler, type InfraHandlerLike, type InfraHandlerResolution, } from './modules/environments/infra-handler.logic.js';
61
+ export { CustomManifestTypeRegistry, aggregateCustomManifestTypes, type RegisteredCustomManifestType, } from './modules/environments/custom-manifest-types.js';
60
62
  export { EnvironmentProvisioningService, type EnvironmentProvisioningServiceDependencies, type ProvisionArgs, type ResolvedEnvironment, } from './modules/environments/EnvironmentProvisioningService.js';
61
63
  export { EnvironmentTeardownService, type EnvironmentTeardownServiceDependencies, } from './modules/environments/EnvironmentTeardownService.js';
62
64
  export * as environmentsLogic from './modules/environments/environments.logic.js';
@@ -73,6 +75,10 @@ export { KubernetesApiClient, type KubernetesClientConfig, } from './modules/kub
73
75
  export { KubernetesEnvironmentProvider } from './modules/kubernetes/KubernetesEnvironmentProvider.js';
74
76
  export * as kubernetesLogic from './modules/kubernetes/kubernetes.logic.js';
75
77
  export * as kubernetesEnvironmentLogic from './modules/kubernetes/kubernetes-environment.logic.js';
78
+ export { ComposeEnvironmentProvider, type ComposeEnvironmentProviderOptions, } from './modules/compose/ComposeEnvironmentProvider.js';
79
+ export { composeEnvironmentBackend } from './modules/compose/compose-environment-backend.js';
80
+ export { type ComposeRuntime, type ComposeExecResult, type ComposeEnvironmentConfig, } from './modules/compose/compose-environment.logic.js';
81
+ export * as composeEnvironmentLogic from './modules/compose/compose-environment.logic.js';
76
82
  export { ProvisioningLogRecorder, ProvisioningLogService, PROVISIONING_LOG_MAX_LIMIT, type ProvisioningLogEvent, type ProvisioningLogRecorderDependencies, type ProvisioningLogServiceDependencies, } from './modules/provisioning-logs/ProvisioningLogService.js';
77
83
  export { LoggingRunnerTransport, type LoggingRunnerTransportOptions, } from './modules/provisioning-logs/LoggingRunnerTransport.js';
78
84
  export { redactSecrets } from './modules/provisioning-logs/redact.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AACjG,OAAO,EACL,iBAAiB,EACjB,KAAK,6BAA6B,GACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AACpG,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,8BAA8B,EAC9B,KAAK,0CAA0C,GAChD,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,qBAAqB,EACrB,KAAK,iCAAiC,EACtC,gBAAgB,GACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,GACxC,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,KAAK,WAAW,GACjB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,UAAU,MAAM,oCAAoC,CAAA;AAChE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAEvE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,IAAI,sBAAsB,GACzC,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAGjF,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACL,qBAAqB,EACrB,KAAK,iCAAiC,GACvC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,iBAAiB,EACjB,KAAK,6BAA6B,EAClC,YAAY,GACb,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,eAAe,EACf,KAAK,2BAA2B,GACjC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EACL,oBAAoB,EACpB,KAAK,gCAAgC,EACrC,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,2CAA2C,CAAA;AAClD,OAAO,KAAK,eAAe,MAAM,wCAAwC,CAAA;AACzE,OAAO,KAAK,kBAAkB,MAAM,2CAA2C,CAAA;AAC/E,OAAO,KAAK,iBAAiB,MAAM,0CAA0C,CAAA;AAC7E,OAAO,KAAK,oBAAoB,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAClG,OAAO,EACL,qBAAqB,EACrB,KAAK,iCAAiC,GACvC,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EACL,oBAAoB,EACpB,KAAK,gCAAgC,GACtC,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EACL,4BAA4B,EAC5B,KAAK,wCAAwC,EAC7C,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,wDAAwD,CAAA;AAM/D,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,GACrC,MAAM,gDAAgD,CAAA;AACvD,OAAO,EACL,8BAA8B,EAC9B,KAAK,0CAA0C,EAC/C,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EACL,0BAA0B,EAC1B,KAAK,sCAAsC,GAC5C,MAAM,sDAAsD,CAAA;AAC7D,OAAO,KAAK,iBAAiB,MAAM,8CAA8C,CAAA;AAGjF,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,8CAA8C,CAAA;AAErD,OAAO,EACL,2BAA2B,EAC3B,KAAK,uCAAuC,EAC5C,KAAK,qBAAqB,GAC3B,MAAM,kDAAkD,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAMlE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sCAAsC,CAAA;AAG7C,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAIjG,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,6BAA6B,GACnC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAC7F,OAAO,EACL,mBAAmB,EACnB,KAAK,sBAAsB,GAC5B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uDAAuD,CAAA;AACrG,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,0BAA0B,MAAM,sDAAsD,CAAA;AAGlG,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,GACxC,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAKrE,OAAO,EACL,wBAAwB,EACxB,KAAK,oCAAoC,GAC1C,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,GACxC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EACL,oBAAoB,EACpB,KAAK,gCAAgC,GACtC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,2BAA2B,EAC3B,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,aAAa,EACb,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,2BAA2B,EAC3B,KAAK,uCAAuC,EAC5C,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,EAC1C,KAAK,qBAAqB,GAC3B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EACL,iBAAiB,EACjB,KAAK,6BAA6B,GACnC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,wBAAwB,EACxB,KAAK,oCAAoC,EACzC,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,GACxB,MAAM,wCAAwC,CAAA;AAM/C,OAAO,EACL,6BAA6B,EAC7B,KAAK,yCAAyC,EAC9C,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,GACnC,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EACL,2BAA2B,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,2BAA2B,EAC3B,KAAK,kCAAkC,GACxC,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,mCAAmC,GACzC,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,KAAK,+CAA+C,GACrD,MAAM,qEAAqE,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,GAC7B,MAAM,qDAAqD,CAAA;AAC5D,OAAO,EACL,oBAAoB,EACpB,KAAK,gCAAgC,GACtC,MAAM,iDAAiD,CAAA;AAExD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,EACvC,KAAK,eAAe,GACrB,MAAM,2CAA2C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -70,6 +70,8 @@ export { EnvironmentConnectionService, } from './modules/environments/Environmen
70
70
  // `createBackendRegistries`, injected through `CoreDependencies`); a third-party kind
71
71
  // registers by reference (`registry.register(provider)`), not by import side effect.
72
72
  export { EnvironmentBackendRegistry, defaultEnvironmentBackendRegistry, manifestEnvironmentBackend, kubernetesEnvironmentBackend, } from './modules/environments/environment-backends.js';
73
+ export { resolveInfraHandler, } from './modules/environments/infra-handler.logic.js';
74
+ export { CustomManifestTypeRegistry, aggregateCustomManifestTypes, } from './modules/environments/custom-manifest-types.js';
73
75
  export { EnvironmentProvisioningService, } from './modules/environments/EnvironmentProvisioningService.js';
74
76
  export { EnvironmentTeardownService, } from './modules/environments/EnvironmentTeardownService.js';
75
77
  export * as environmentsLogic from './modules/environments/environments.logic.js';
@@ -98,6 +100,16 @@ export { KubernetesApiClient, } from './modules/kubernetes/KubernetesApiClient.j
98
100
  export { KubernetesEnvironmentProvider } from './modules/kubernetes/KubernetesEnvironmentProvider.js';
99
101
  export * as kubernetesLogic from './modules/kubernetes/kubernetes.logic.js';
100
102
  export * as kubernetesEnvironmentLogic from './modules/kubernetes/kubernetes-environment.logic.js';
103
+ // The Docker Compose environment backend: a host-daemon `EnvironmentProvider` (the Checkbox
104
+ // compose-stack mechanic) registered BY REFERENCE from the LOCAL facade only — it drives the
105
+ // host docker CLI on the Docker-family local runtimes, which is a local-mode construct (the
106
+ // plain Node service has no per-run container runtime, and the Worker has no host daemon).
107
+ // `composeEnvironmentBackend(runtime)` closes over the facade's docker CLI seam; the provider +
108
+ // pure logic are exported for tests + facade wiring.
109
+ export { ComposeEnvironmentProvider, } from './modules/compose/ComposeEnvironmentProvider.js';
110
+ export { composeEnvironmentBackend } from './modules/compose/compose-environment-backend.js';
111
+ export {} from './modules/compose/compose-environment.logic.js';
112
+ export * as composeEnvironmentLogic from './modules/compose/compose-environment.logic.js';
101
113
  // Unified provisioning event log: the best-effort recorder every spin-up/down site
102
114
  // writes through, and the read service behind the "View logs" drawers + run details.
103
115
  export { ProvisioningLogRecorder, ProvisioningLogService, PROVISIONING_LOG_MAX_LIMIT, } from './modules/provisioning-logs/ProvisioningLogService.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ConnectionTestResult, EnvironmentConnectionTestRequest, EnvironmentProvider, EnvironmentStatus, EnvironmentStatusRequest, EnvironmentTeardownRequest, ProviderConfigField, ProvisionEnvironmentRequest, ProvisionedEnvironment } from '@cat-factory/kernel';
2
+ import { type ComposeRuntime } from './compose-environment.logic.js';
3
+ export interface ComposeEnvironmentProviderOptions {
4
+ /** Reserved for future URL-policy-aware behaviour; unused today (the URL is always localhost). */
5
+ urlPolicy?: unknown;
6
+ }
7
+ export declare class ComposeEnvironmentProvider implements EnvironmentProvider {
8
+ private readonly runtime;
9
+ private readonly options;
10
+ constructor(runtime: ComposeRuntime, options?: ComposeEnvironmentProviderOptions);
11
+ provision(req: ProvisionEnvironmentRequest): Promise<ProvisionedEnvironment>;
12
+ status(req: EnvironmentStatusRequest): Promise<ProvisionedEnvironment>;
13
+ teardown(req: EnvironmentTeardownRequest): Promise<{
14
+ status: EnvironmentStatus;
15
+ }>;
16
+ testConnection(_req: EnvironmentConnectionTestRequest): Promise<ConnectionTestResult>;
17
+ describeConfig(): ProviderConfigField[];
18
+ describeManifestTemplate(): {
19
+ providerId: string;
20
+ label: string;
21
+ baseUrl: string;
22
+ auth: {
23
+ type: 'none';
24
+ };
25
+ provision: {
26
+ method: 'POST';
27
+ pathTemplate: string;
28
+ };
29
+ response: {};
30
+ providerConfig: {};
31
+ };
32
+ private failed;
33
+ /** `down -v` is idempotent (a missing project is a no-op); swallow its result. */
34
+ private safeDown;
35
+ /** Read the compose file from the configured source (co-located PR repo or a separate repo). */
36
+ private readComposeFile;
37
+ }
38
+ //# sourceMappingURL=ComposeEnvironmentProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposeEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,cAAc,EAUpB,MAAM,gCAAgC,CAAA;AA0BvC,MAAM,WAAW,iCAAiC;IAChD,kGAAkG;IAClG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,OAAO,EAAE,cAAc,EAEvB,OAAO,GAAE,iCAAsC,EAC9D;IAEE,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA4DjF;IAEK,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0B3E;IAEK,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAMtF;IAEK,cAAc,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+B1F;IAED,cAAc,IAAI,mBAAmB,EAAE,CAmDtC;IAED,wBAAwB;QAEpB,UAAU;QACV,KAAK;QACL,OAAO;QACP,IAAI;YAAI,IAAI,EAAE,MAAM;;QACpB,SAAS;YAAI,MAAM,EAAE,MAAM;YAAW,YAAY;;QAClD,QAAQ;QACR,cAAc;MAEjB;IAID,OAAO,CAAC,MAAM;IAYd,kFAAkF;YACpE,QAAQ;IAUtB,gGAAgG;YAClF,eAAe;CA4B9B"}
@@ -0,0 +1,260 @@
1
+ import { classifyComposePs, parseComposeEnvConfig, parseHostPort, prepareComposeProject, renderEnvMap, renderTemplate, resolveProjectName, tailOutput, templateVars, } from './compose-environment.logic.js';
2
+ // Native Docker Compose ephemeral-environment provider. It brings the PR repo's OWN
3
+ // `docker-compose.yml` up on a local Docker daemon under a per-PR project name, publishes the
4
+ // configured web service's port to an ephemeral host port, and returns `http://localhost:<port>`
5
+ // for the Tester to run against — the Checkbox compose-stack mechanic. Teardown is a single
6
+ // project `down -v`. Daemon access is the injected `ComposeRuntime` (the local facade wires the
7
+ // docker CLI), so this stays runtime-neutral; it is registered only where a daemon exists
8
+ // (local/Node), never the Cloudflare Worker.
9
+ //
10
+ // The repo compose file is read checkout-free (no working tree) and rewritten into ONE
11
+ // isolation-safe project file before `up` (`prepareComposeProject`): host ports forced ephemeral
12
+ // so concurrent per-PR stacks never collide, the probed service guaranteed to publish its port,
13
+ // and references that can't be honored (build contexts / host bind mounts / relative env_files /
14
+ // privileged) refused up front instead of silently mis-mounting.
15
+ //
16
+ // Per-workspace config rides the stored manifest's `providerConfig` (parsed here); there are no
17
+ // secrets. The provider is a stateless singleton — every call re-reads the config + project from
18
+ // the request, so one instance serves every workspace.
19
+ const WAIT_TIMEOUT_S = 300;
20
+ // Bound for the plain compose calls (port / ps / down / version-probe) so a wedged daemon can't
21
+ // hang a provision/status/teardown forever; `up` gets a longer bound that clears its own --wait.
22
+ const SHORT_TIMEOUT_MS = 60_000;
23
+ const UP_TIMEOUT_MS = (WAIT_TIMEOUT_S + 30) * 1000;
24
+ export class ComposeEnvironmentProvider {
25
+ runtime;
26
+ options;
27
+ constructor(runtime,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
+ options = {}) {
30
+ this.runtime = runtime;
31
+ this.options = options;
32
+ }
33
+ async provision(req) {
34
+ const config = parseComposeEnvConfig(req.manifest);
35
+ const inputs = req.inputs;
36
+ const project = resolveProjectName(config, inputs);
37
+ const image = config.imageTemplate ? renderTemplate(config.imageTemplate, inputs) : undefined;
38
+ const vars = templateVars(inputs, project, image);
39
+ const composeText = renderTemplate(await this.readComposeFile(req, config), vars);
40
+ // Rewrite the repo compose into one isolation-safe project file (ephemeral host ports, the
41
+ // probed service guaranteed to publish, unsupported references rejected). A blocking issue
42
+ // surfaces as a deterministic failure BEFORE we touch the daemon.
43
+ const prepared = prepareComposeProject(composeText, config.service, config.port);
44
+ if (prepared.issues.length > 0) {
45
+ return this.failed(project, `This Docker Compose stack can't be provisioned as a preview env:\n- ${prepared.issues.join('\n- ')}`);
46
+ }
47
+ const basePath = await this.runtime.writeProjectFile(project, 'compose.yaml', prepared.content);
48
+ const files = ['-f', basePath];
49
+ const env = config.envTemplate ? renderEnvMap(config.envTemplate, vars) : undefined;
50
+ const up = await this.runtime.compose(['-p', project, ...files, 'up', '-d', '--wait', '--wait-timeout', String(WAIT_TIMEOUT_S)], { env, timeoutMs: UP_TIMEOUT_MS });
51
+ if (up.code !== 0) {
52
+ // Best-effort cleanup so a retry starts from a clean slate, then surface the verbatim
53
+ // compose error as a deterministic (non-throwing) failure → `step.environment.lastError`.
54
+ await this.safeDown(project);
55
+ return this.failed(project, tailOutput(up.stderr || up.stdout) || 'docker compose up failed');
56
+ }
57
+ const portRes = await this.runtime.compose(['-p', project, ...files, 'port', config.service, String(config.port)], { env, timeoutMs: SHORT_TIMEOUT_MS });
58
+ const hostPort = parseHostPort(portRes.stdout);
59
+ if (hostPort === null) {
60
+ await this.safeDown(project);
61
+ return this.failed(project, `Service '${config.service}' does not publish container port ${config.port}; cannot resolve a preview URL`);
62
+ }
63
+ const scheme = config.scheme ?? 'http';
64
+ const url = `${scheme}://localhost:${hostPort}`;
65
+ return {
66
+ externalId: project,
67
+ url,
68
+ status: 'ready',
69
+ // Auto-teardown TTL (the connect form's `ttlMinutes`, default 2h) so a forgotten preview
70
+ // env is swept off the host instead of leaking containers + volumes forever. Null ⇒ the
71
+ // operator chose "never expire" (teardown still runs on demand / at run end).
72
+ expiresAt: config.defaultTtlMs ? Date.now() + config.defaultTtlMs : null,
73
+ access: null,
74
+ // `status()`/`teardown()` re-derive everything from `project`; the URL is captured here so
75
+ // a later status poll returns it without re-running `compose port` (which needs the files).
76
+ fields: { project, url, hostPort: String(hostPort), scheme },
77
+ };
78
+ }
79
+ async status(req) {
80
+ const project = req.provisionFields.project ?? req.externalId;
81
+ if (!project) {
82
+ return {
83
+ externalId: null,
84
+ url: null,
85
+ status: 'failed',
86
+ expiresAt: null,
87
+ access: null,
88
+ fields: {},
89
+ };
90
+ }
91
+ // `-a` so a container that's briefly recreating (or a completed one-shot) is still visible —
92
+ // an empty default `ps` would otherwise flip a healthy env to `failed` mid-recreate.
93
+ const ps = await this.runtime.compose(['-p', project, 'ps', '-a', '--format', 'json'], {
94
+ timeoutMs: SHORT_TIMEOUT_MS,
95
+ });
96
+ const status = ps.code === 0 ? classifyComposePs(ps.stdout) : 'provisioning';
97
+ return {
98
+ externalId: project,
99
+ url: req.provisionFields.url ?? null,
100
+ status,
101
+ expiresAt: null,
102
+ access: null,
103
+ fields: req.provisionFields,
104
+ };
105
+ }
106
+ async teardown(req) {
107
+ const project = req.provisionFields.project ?? req.externalId;
108
+ if (!project)
109
+ return { status: 'torn_down' };
110
+ await this.safeDown(project);
111
+ await this.runtime.cleanupProject?.(project);
112
+ return { status: 'torn_down' };
113
+ }
114
+ async testConnection(_req) {
115
+ try {
116
+ const version = await this.runtime.compose(['version', '--short'], {
117
+ timeoutMs: SHORT_TIMEOUT_MS,
118
+ });
119
+ if (version.code !== 0) {
120
+ return {
121
+ ok: false,
122
+ message: tailOutput(version.stderr || version.stdout) || 'docker compose unavailable',
123
+ };
124
+ }
125
+ // `version --short` is a client-only call and succeeds even with the daemon stopped, so it
126
+ // can't confirm reachability on its own. `compose ls` actually contacts the daemon — only a
127
+ // success there means a real provision could run.
128
+ const ls = await this.runtime.compose(['ls', '--format', 'json'], {
129
+ timeoutMs: SHORT_TIMEOUT_MS,
130
+ });
131
+ if (ls.code !== 0) {
132
+ return {
133
+ ok: false,
134
+ message: tailOutput(ls.stderr || ls.stdout) || 'Docker daemon is not reachable',
135
+ };
136
+ }
137
+ const v = version.stdout.trim();
138
+ return {
139
+ ok: true,
140
+ message: v ? `Docker Compose ${v} reachable.` : 'Docker Compose reachable.',
141
+ };
142
+ }
143
+ catch (err) {
144
+ return { ok: false, message: err instanceof Error ? err.message : String(err) };
145
+ }
146
+ }
147
+ describeConfig() {
148
+ // Flat, descriptor-driven connect form (the SPA overlays these onto the manifest's
149
+ // providerConfig). `service` + `port` are required, so the unconfigured banner stays lit
150
+ // until they're set (the local preset prefills them). No secret — Compose stacks need none.
151
+ return [
152
+ {
153
+ key: 'composePath',
154
+ label: 'Compose file path',
155
+ default: 'docker-compose.yml',
156
+ help: 'Path to the compose file in the PR repo (read at the PR head branch).',
157
+ },
158
+ {
159
+ key: 'composeRepo',
160
+ label: 'Separate repo (optional)',
161
+ placeholder: 'owner/repo',
162
+ help: 'Read the compose file from a different repo instead of the PR repo.',
163
+ },
164
+ { key: 'composeRef', label: 'Separate repo ref (optional)', placeholder: 'main' },
165
+ {
166
+ key: 'service',
167
+ label: 'Web service name',
168
+ required: true,
169
+ placeholder: 'web',
170
+ help: 'The compose service whose port becomes the preview URL.',
171
+ },
172
+ {
173
+ key: 'port',
174
+ label: 'Container port',
175
+ required: true,
176
+ placeholder: '8080',
177
+ help: 'The in-container port to publish to an ephemeral host port + probe. Image-based stacks only (v1) — a service that builds from source is not yet supported.',
178
+ },
179
+ { key: 'scheme', label: 'URL scheme', default: 'http' },
180
+ {
181
+ key: 'projectTemplate',
182
+ label: 'Project name template (optional)',
183
+ placeholder: 'cf-env-{{pullNumber}}',
184
+ help: 'Defaults to cf-env-<repo>-<pullNumber>. Drives COMPOSE_PROJECT_NAME (per-PR isolation).',
185
+ },
186
+ {
187
+ key: 'imageTemplate',
188
+ label: 'Image override (optional)',
189
+ help: 'Made available to the compose file as {{image}} (e.g. a CI-built tag).',
190
+ },
191
+ {
192
+ key: 'ttlMinutes',
193
+ label: 'Auto-teardown after (minutes)',
194
+ default: '120',
195
+ help: 'The stack is swept + torn down this many minutes after it comes up, so a forgotten preview env does not leak containers + volumes on the host. 0 = never expire (teardown still runs on demand / at run end).',
196
+ },
197
+ ];
198
+ }
199
+ describeManifestTemplate() {
200
+ return {
201
+ providerId: 'compose',
202
+ label: 'Docker Compose',
203
+ baseUrl: 'http://localhost',
204
+ auth: { type: 'none' },
205
+ provision: { method: 'POST', pathTemplate: '' },
206
+ response: {},
207
+ providerConfig: {},
208
+ };
209
+ }
210
+ // --- internals ----------------------------------------------------------
211
+ failed(project, error) {
212
+ return {
213
+ externalId: project,
214
+ url: null,
215
+ status: 'failed',
216
+ expiresAt: null,
217
+ access: null,
218
+ fields: { project },
219
+ error,
220
+ };
221
+ }
222
+ /** `down -v` is idempotent (a missing project is a no-op); swallow its result. */
223
+ async safeDown(project) {
224
+ try {
225
+ await this.runtime.compose(['-p', project, 'down', '-v', '--remove-orphans'], {
226
+ timeoutMs: SHORT_TIMEOUT_MS,
227
+ });
228
+ }
229
+ catch {
230
+ // teardown is best-effort; the registry tombstones the record regardless.
231
+ }
232
+ }
233
+ /** Read the compose file from the configured source (co-located PR repo or a separate repo). */
234
+ async readComposeFile(req, config) {
235
+ let ctx;
236
+ let ref;
237
+ if (!config.composeRepo) {
238
+ ctx = req.runRepo ?? null;
239
+ if (!ctx) {
240
+ throw new Error('A co-located docker-compose file requires the run repo (is the VCS connected?)');
241
+ }
242
+ ref = req.inputs.branch || ctx.baseBranch;
243
+ }
244
+ else {
245
+ const [owner, repo] = config.composeRepo.split('/');
246
+ ctx =
247
+ (await req.resolveRepoFiles?.({ owner: owner, repo: repo, ref: config.composeRef })) ??
248
+ null;
249
+ if (!ctx) {
250
+ throw new Error(`Could not resolve the compose repo '${config.composeRepo}'`);
251
+ }
252
+ ref = config.composeRef || ctx.baseBranch;
253
+ }
254
+ const file = await ctx.repo.getFile(config.composePath, ref);
255
+ if (!file)
256
+ throw new Error(`No docker-compose file found at '${config.composePath}'`);
257
+ return file.content;
258
+ }
259
+ }
260
+ //# sourceMappingURL=ComposeEnvironmentProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposeEnvironmentProvider.js","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type ComposeRuntime } from './compose-environment.logic.js';
2
+ import type { EnvironmentBackendProvider } from '../environments/environment-backends.js';
3
+ /** Build the Compose environment backend over a host `ComposeRuntime` (the docker CLI seam). */
4
+ export declare function composeEnvironmentBackend(runtime: ComposeRuntime): EnvironmentBackendProvider;
5
+ //# sourceMappingURL=compose-environment-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-environment-backend.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/compose-environment-backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,gCAAgC,CAAA;AAI3F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAazF,gGAAgG;AAChG,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,0BAA0B,CA+B7F"}
@@ -0,0 +1,50 @@
1
+ import { ValidationError } from '@cat-factory/kernel';
2
+ import { ComposeEnvironmentProvider } from './ComposeEnvironmentProvider.js';
3
+ import { parseComposeEnvConfig } from './compose-environment.logic.js';
4
+ // The Docker Compose environment backend. Unlike the built-in `manifest`/`kubernetes` backends,
5
+ // it is NOT in the default registry: it needs a host Docker daemon, so the LOCAL facade registers
6
+ // it BY REFERENCE, closing over a `ComposeRuntime` that drives the docker CLI. The plain Node
7
+ // service (no per-run container runtime) and the Cloudflare Worker (no daemon) never register it
8
+ // — the documented runtime-bound asymmetry.
9
+ //
10
+ // It rides the contract's generic environment-backend manifest member (kind `compose` is not a
11
+ // reserved built-in), so it needs no new config variant, no table, and no migration: the flat
12
+ // config lives in the stored manifest's `providerConfig`, written by the descriptor-driven
13
+ // connect form (`describeConfig`/`describeManifestTemplate`).
14
+ /** Build the Compose environment backend over a host `ComposeRuntime` (the docker CLI seam). */
15
+ export function composeEnvironmentBackend(runtime) {
16
+ return {
17
+ kind: 'compose',
18
+ displayLabel: 'Docker Compose',
19
+ // The local docker-compose stack is the `local-docker` engine (local facade only).
20
+ engines: () => ['local-docker'],
21
+ // No secrets — a compose stack authenticates via the images themselves.
22
+ referencedSecretKeys: () => [],
23
+ connectionMeta: (config) => ({
24
+ providerId: 'compose',
25
+ label: 'manifest' in config ? config.manifest.label : 'Docker Compose',
26
+ baseUrl: 'manifest' in config ? config.manifest.baseUrl : 'http://localhost',
27
+ }),
28
+ assertConfigSafe: (config) => {
29
+ // The provider only ever returns a localhost URL and never fetches an operator-supplied
30
+ // URL, so there is no SSRF surface. Validate the load-bearing fields (service + port) up
31
+ // front so a bad config fails the connect form (422) instead of deep in a provision.
32
+ if (!('manifest' in config))
33
+ return;
34
+ try {
35
+ parseComposeEnvConfig(config.manifest);
36
+ }
37
+ catch (err) {
38
+ throw new ValidationError(err instanceof Error ? err.message : String(err));
39
+ }
40
+ },
41
+ toManifest: (config) => {
42
+ if (!('manifest' in config))
43
+ throw new Error('Expected a Docker Compose environment config');
44
+ return config.manifest;
45
+ },
46
+ fromManifest: (manifest) => ({ kind: 'compose', manifest }),
47
+ buildProvider: (ctx) => new ComposeEnvironmentProvider(runtime, { urlPolicy: ctx.urlPolicy }),
48
+ };
49
+ }
50
+ //# sourceMappingURL=compose-environment-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-environment-backend.js","sourceRoot":"","sources":["../../../src/modules/compose/compose-environment-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAuB,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAM3F,gGAAgG;AAChG,kGAAkG;AAClG,8FAA8F;AAC9F,iGAAiG;AACjG,4CAA4C;AAC5C,EAAE;AACF,+FAA+F;AAC/F,8FAA8F;AAC9F,2FAA2F;AAC3F,8DAA8D;AAE9D,gGAAgG;AAChG,MAAM,UAAU,yBAAyB,CAAC,OAAuB;IAC/D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,gBAAgB;QAC9B,mFAAmF;QACnF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC;QAC/B,wEAAwE;QACxE,oBAAoB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC9B,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3B,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;YACtE,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB;SAC7E,CAAC;QACF,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,wFAAwF;YACxF,yFAAyF;YACzF,qFAAqF;YACrF,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;gBAAE,OAAM;YACnC,IAAI,CAAC;gBACH,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YAC5F,OAAO,MAAM,CAAC,QAAQ,CAAA;QACxB,CAAC;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC3D,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KAC9F,CAAA;AACH,CAAC"}