@codemation/cli 0.0.15 → 0.0.16

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.
package/dist/index.d.ts CHANGED
@@ -640,6 +640,17 @@ interface EngineExecutionLimitsPolicyConfig {
640
640
  readonly hardMaxSubworkflowDepth: number;
641
641
  }
642
642
  //#endregion
643
+ //#region ../host/src/application/logging/Logger.d.ts
644
+ interface Logger {
645
+ info(message: string, exception?: Error): void;
646
+ warn(message: string, exception?: Error): void;
647
+ error(message: string, exception?: Error): void;
648
+ debug(message: string, exception?: Error): void;
649
+ }
650
+ interface LoggerFactory {
651
+ create(scope: string): Logger;
652
+ }
653
+ //#endregion
643
654
  //#region ../host/src/presentation/config/CodemationClassToken.d.ts
644
655
  type CodemationClassToken<TValue> = TypeToken<TValue> & (new (...args: never[]) => TValue);
645
656
  //#endregion
@@ -658,17 +669,6 @@ interface CodemationFactoryRegistration<TValue> extends CodemationContainerRegis
658
669
  }
659
670
  type CodemationContainerRegistration<TValue = unknown> = CodemationValueRegistration<TValue> | CodemationClassRegistration<TValue> | CodemationFactoryRegistration<TValue>;
660
671
  //#endregion
661
- //#region ../host/src/application/logging/Logger.d.ts
662
- interface Logger {
663
- info(message: string, exception?: Error): void;
664
- warn(message: string, exception?: Error): void;
665
- error(message: string, exception?: Error): void;
666
- debug(message: string, exception?: Error): void;
667
- }
668
- interface LoggerFactory {
669
- create(scope: string): Logger;
670
- }
671
- //#endregion
672
672
  //#region ../host/src/presentation/config/CodemationAppContext.d.ts
673
673
  interface CodemationRegistrationContextBase {
674
674
  readonly appConfig?: AppConfig;
@@ -684,22 +684,6 @@ interface CodemationAppContext extends CodemationRegistrationContextBase {
684
684
  discoverWorkflows(...directories: ReadonlyArray<string>): void;
685
685
  }
686
686
  //#endregion
687
- //#region ../host/src/presentation/config/CodemationPlugin.d.ts
688
- interface CodemationPluginContext extends CodemationRegistrationContextBase {
689
- readonly container: Container;
690
- readonly appConfig: AppConfig;
691
- readonly loggerFactory: LoggerFactory;
692
- }
693
- interface CodemationPlugin {
694
- /**
695
- * Optional npm package name for this plugin (e.g. `"@codemation/core-nodes-gmail"`).
696
- * When set, the host merges configured and discovered plugin lists by this id so the same package is not
697
- * registered twice when separate module graphs load duplicate class instances (different `constructor` values).
698
- */
699
- readonly pluginPackageId?: string;
700
- register(context: CodemationPluginContext): void | Promise<void>;
701
- }
702
- //#endregion
703
687
  //#region ../host/src/presentation/config/CodemationAuthConfig.d.ts
704
688
  /**
705
689
  * Consumer-declared authentication profile for the hosted UI + HTTP API.
@@ -841,6 +825,19 @@ interface CodemationConfig {
841
825
  readonly log?: CodemationLogConfig;
842
826
  }
843
827
  //#endregion
828
+ //#region ../host/src/presentation/config/CodemationPlugin.d.ts
829
+ interface CodemationPluginContext extends CodemationRegistrationContextBase {
830
+ readonly container: Container;
831
+ readonly appConfig: AppConfig;
832
+ readonly loggerFactory: LoggerFactory;
833
+ }
834
+ interface CodemationPluginConfig {
835
+ readonly credentialTypes?: ReadonlyArray<AnyCredentialType>;
836
+ readonly register?: (context: CodemationPluginContext) => void | Promise<void>;
837
+ readonly sandbox?: CodemationConfig;
838
+ }
839
+ type CodemationPlugin = CodemationPluginConfig;
840
+ //#endregion
844
841
  //#region ../host/src/presentation/config/AppConfig.d.ts
845
842
  type AppPersistenceConfig = Readonly<{
846
843
  kind: "none";
@@ -851,6 +848,10 @@ type AppPersistenceConfig = Readonly<{
851
848
  kind: "pglite";
852
849
  dataDir: string;
853
850
  }>;
851
+ type AppPluginLoadSummary = Readonly<{
852
+ packageName: string;
853
+ source: "configured" | "discovered";
854
+ }>;
854
855
  interface AppConfig {
855
856
  readonly consumerRoot: string;
856
857
  readonly repoRoot: string;
@@ -860,6 +861,7 @@ interface AppConfig {
860
861
  readonly containerRegistrations: ReadonlyArray<CodemationContainerRegistration<unknown>>;
861
862
  readonly credentialTypes: ReadonlyArray<AnyCredentialType>;
862
863
  readonly plugins: ReadonlyArray<CodemationPlugin>;
864
+ readonly pluginLoadSummary?: ReadonlyArray<AppPluginLoadSummary>;
863
865
  readonly hasConfiguredCredentialSessionServiceRegistration: boolean;
864
866
  readonly log?: CodemationLogConfig;
865
867
  readonly engineExecutionLimits?: CodemationEngineExecutionLimitsConfig;
@@ -882,6 +884,101 @@ interface AppConfig {
882
884
  readonly webSocketPort: number;
883
885
  readonly webSocketBindHost: string;
884
886
  }
887
+ //#endregion
888
+ //#region ../host/src/infrastructure/config/CodemationPluginRegistrar.d.ts
889
+ declare class CodemationPluginRegistrar {
890
+ apply(args: Readonly<{
891
+ plugins: ReadonlyArray<CodemationPlugin>;
892
+ container: Container;
893
+ appConfig: AppConfig;
894
+ registerCredentialType: (type: AnyCredentialType) => void;
895
+ loggerFactory: LoggerFactory;
896
+ }>): Promise<void>;
897
+ }
898
+ //#endregion
899
+ //#region ../host/src/application/contracts/WorkflowWebsocketMessage.d.ts
900
+ type WorkflowWebsocketMessage = Readonly<{
901
+ kind: "event";
902
+ event: RunEvent;
903
+ }> | Readonly<{
904
+ kind: "workflowChanged";
905
+ workflowId: string;
906
+ }> | Readonly<{
907
+ kind: "devBuildStarted";
908
+ workflowId: string;
909
+ buildVersion?: string;
910
+ }> | Readonly<{
911
+ kind: "devBuildCompleted";
912
+ workflowId: string;
913
+ buildVersion: string;
914
+ }> | Readonly<{
915
+ kind: "devBuildFailed";
916
+ workflowId: string;
917
+ message: string;
918
+ }>;
919
+ //#endregion
920
+ //#region ../host/src/application/websocket/WorkflowWebsocketPublisher.d.ts
921
+ interface WorkflowWebsocketPublisher {
922
+ publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
923
+ }
924
+ //#endregion
925
+ //#region ../host/src/presentation/websocket/WorkflowWebsocketServer.d.ts
926
+ declare class WorkflowWebsocketServer implements WorkflowWebsocketPublisher {
927
+ private readonly port;
928
+ private readonly bindHost;
929
+ private readonly logger;
930
+ private websocketServer;
931
+ private readonly sockets;
932
+ private readonly roomIdsBySocket;
933
+ private started;
934
+ constructor(port: number, bindHost: string, logger: Logger);
935
+ start(): Promise<void>;
936
+ stop(): Promise<void>;
937
+ publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
938
+ private connect;
939
+ private handleMessage;
940
+ private awaitListening;
941
+ private closeAfterFailedStart;
942
+ private parseClientMessage;
943
+ }
944
+ //#endregion
945
+ //#region ../host/src/bootstrap/CodemationContainerRegistrationRegistrar.d.ts
946
+ declare class CodemationContainerRegistrationRegistrar {
947
+ apply(container: Container, registrations: ReadonlyArray<CodemationContainerRegistration<unknown>>): void;
948
+ private applyRegistration;
949
+ private isValueRegistration;
950
+ private isClassRegistration;
951
+ }
952
+ //#endregion
953
+ //#region ../host/src/bootstrap/AppContainerFactory.d.ts
954
+ type AppContainerInputs = Readonly<{
955
+ appConfig: AppConfig;
956
+ sharedWorkflowWebsocketServer: WorkflowWebsocketServer | null;
957
+ }>;
958
+ declare class AppContainerFactory {
959
+ private readonly containerRegistrationRegistrar;
960
+ private readonly pluginRegistrar;
961
+ private static readonly queryHandlers;
962
+ private static readonly commandHandlers;
963
+ private static readonly honoRouteRegistrars;
964
+ constructor(containerRegistrationRegistrar?: CodemationContainerRegistrationRegistrar, pluginRegistrar?: CodemationPluginRegistrar);
965
+ create(inputs: AppContainerInputs): Promise<Container>;
966
+ private collectCredentialTypes;
967
+ private applyPlugins;
968
+ private registerCredentialTypes;
969
+ private registerConfiguredRegistrations;
970
+ private registerCoreInfrastructure;
971
+ private registerRepositoriesAndBuses;
972
+ private registerApplicationServicesAndRoutes;
973
+ private registerOperationalInfrastructure;
974
+ private registerRuntimeInfrastructure;
975
+ private resolvePrismaOwnership;
976
+ private registerRuntimeNodeActivationScheduler;
977
+ private createBinaryStorage;
978
+ private createRuntimeSummary;
979
+ private requireRedisUrl;
980
+ private synchronizeLiveWorkflowRepository;
981
+ }
885
982
  declare namespace client_d_exports {
886
983
  export { Action, Aggregate, AllModelsToStringIndex, AnyNull, AnyNullClass, ApplyOmit, Args, Args_3, BaseDMMF, Bytes, Call, Cast, ClientArg, ClientArgs, ClientBuiltInProp, ClientOptionDef, ClientOtherOps, Compute, ComputeDeep, Count, DMMF, DbNull, DbNullClass, Debug, Decimal, DecimalJsLike, DefaultArgs, DefaultSelection, DevTypeMapDef, DevTypeMapFnDef, DynamicClientExtensionArgs, DynamicClientExtensionThis, DynamicClientExtensionThisBuiltin, DynamicModelExtensionArgs, DynamicModelExtensionFluentApi, DynamicModelExtensionFnResult, DynamicModelExtensionFnResultBase, DynamicModelExtensionFnResultNull, DynamicModelExtensionOperationFn, DynamicModelExtensionThis, DynamicQueryExtensionArgs, DynamicQueryExtensionCb, DynamicQueryExtensionCbArgs, DynamicQueryExtensionCbArgsArgs, DynamicResultExtensionArgs, DynamicResultExtensionData, DynamicResultExtensionNeeds, EmptyToUnknown, Equals, Exact, ExtendsHook, ExtensionArgs, Extensions, ExtractGlobalOmit, FieldRef$1 as FieldRef, Fn, GetAggregateResult, GetBatchResult, GetCountResult, GetFindResult, GetGroupByResult, GetOmit, GetPayloadResult, GetPayloadResultExtensionKeys, GetPayloadResultExtensionObject, GetPrismaClientConfig, GetResult, GetSelect, ITXClientDenyList, InputJsonArray, InputJsonObject, InputJsonValue, InternalArgs, JsArgs, JsInputValue, JsOutputValue, JsPromise, JsonArray, JsonBatchQuery, JsonConvertible, JsonNull, JsonNullClass, JsonObject, JsonQuery, JsonValue, MergeExtArgs, ModelArg, ModelArgs, ModelKey, ModelQueryOptionsCb, ModelQueryOptionsCbArgs, NameArgs, Narrow, Narrowable, NeverToUnknown, NullTypes$1 as NullTypes, ObjectEnumValue, Omission, Omit_2 as Omit, OmitValue, Operation, OperationPayload, Optional, OptionalFlat$1 as OptionalFlat, OptionalKeys, Or$1 as Or, Param, PatchFlat, Path, Payload, PayloadToResult, Pick_2 as Pick, PrismaClientInitializationError, PrismaClientKnownRequestError, PrismaClientOptions, PrismaClientRustPanicError, PrismaClientUnknownRequestError, PrismaClientValidationError, PrismaPromise, PrivateResultType, Public, QueryOptions, QueryOptionsCb, QueryOptionsCbArgs, RawParameters, RawQueryArgs, RawValue, ReadonlyDeep, Record_2 as Record, RenameAndNestPayloadKeys, RequiredExtensionArgs, RequiredKeys$1 as RequiredKeys, Result, ResultArg, ResultArgs, ResultArgsFieldCompute, ResultFieldDefinition, Result_2, Return, RuntimeDataModel, Select, SelectField, SelectablePayloadFields, Selection_2 as Selection, Sql, SqlCommenterContext, SqlCommenterPlugin, SqlCommenterQueryInfo, SqlCommenterSingleQueryInfo, SqlCommenterTags, SqlDriverAdapterFactory, ToTuple, TypeMapCbDef, TypeMapDef, TypedSql, Types, UnknownTypedSql, UnwrapPayload, UnwrapPromise, UnwrapTuple, RequiredExtensionArgs as UserArgs, Value, createParam, defineDmmfProperty, deserializeJsonObject, deserializeRawResult, dmmfToRuntimeDataModel, empty, getPrismaClient, getRuntime, isAnyNull, isDbNull, isJsonNull, isObjectEnumValue, isTypedSql, itxClientDenyList, join, makeStrictEnum, makeTypedQueryFactory, raw, serializeJsonQuery, skip, sqltag, warnOnce };
887
984
  }
@@ -22844,99 +22941,6 @@ declare namespace Prisma {
22844
22941
  export const dmmf: BaseDMMF;
22845
22942
  }
22846
22943
  //#endregion
22847
- //#region ../host/src/infrastructure/config/CodemationPluginRegistrar.d.ts
22848
- declare class CodemationPluginRegistrar {
22849
- apply(args: Readonly<{
22850
- plugins: ReadonlyArray<CodemationPlugin>;
22851
- container: Container;
22852
- appConfig: AppConfig;
22853
- registerCredentialType: (type: AnyCredentialType) => void;
22854
- loggerFactory: LoggerFactory;
22855
- }>): Promise<void>;
22856
- }
22857
- //#endregion
22858
- //#region ../host/src/application/contracts/WorkflowWebsocketMessage.d.ts
22859
- type WorkflowWebsocketMessage = Readonly<{
22860
- kind: "event";
22861
- event: RunEvent;
22862
- }> | Readonly<{
22863
- kind: "workflowChanged";
22864
- workflowId: string;
22865
- }> | Readonly<{
22866
- kind: "devBuildStarted";
22867
- workflowId: string;
22868
- buildVersion?: string;
22869
- }> | Readonly<{
22870
- kind: "devBuildCompleted";
22871
- workflowId: string;
22872
- buildVersion: string;
22873
- }> | Readonly<{
22874
- kind: "devBuildFailed";
22875
- workflowId: string;
22876
- message: string;
22877
- }>;
22878
- //#endregion
22879
- //#region ../host/src/application/websocket/WorkflowWebsocketPublisher.d.ts
22880
- interface WorkflowWebsocketPublisher {
22881
- publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
22882
- }
22883
- //#endregion
22884
- //#region ../host/src/presentation/websocket/WorkflowWebsocketServer.d.ts
22885
- declare class WorkflowWebsocketServer implements WorkflowWebsocketPublisher {
22886
- private readonly port;
22887
- private readonly bindHost;
22888
- private readonly logger;
22889
- private websocketServer;
22890
- private readonly sockets;
22891
- private readonly roomIdsBySocket;
22892
- private started;
22893
- constructor(port: number, bindHost: string, logger: Logger);
22894
- start(): Promise<void>;
22895
- stop(): Promise<void>;
22896
- publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
22897
- private connect;
22898
- private handleMessage;
22899
- private awaitListening;
22900
- private closeAfterFailedStart;
22901
- private parseClientMessage;
22902
- }
22903
- //#endregion
22904
- //#region ../host/src/bootstrap/CodemationContainerRegistrationRegistrar.d.ts
22905
- declare class CodemationContainerRegistrationRegistrar {
22906
- apply(container: Container, registrations: ReadonlyArray<CodemationContainerRegistration<unknown>>): void;
22907
- private applyRegistration;
22908
- private isValueRegistration;
22909
- private isClassRegistration;
22910
- }
22911
- //#endregion
22912
- //#region ../host/src/bootstrap/AppContainerFactory.d.ts
22913
- type AppContainerInputs = Readonly<{
22914
- appConfig: AppConfig;
22915
- sharedWorkflowWebsocketServer: WorkflowWebsocketServer | null;
22916
- }>;
22917
- declare class AppContainerFactory {
22918
- private readonly containerRegistrationRegistrar;
22919
- private readonly pluginRegistrar;
22920
- private static readonly honoRouteRegistrars;
22921
- constructor(containerRegistrationRegistrar?: CodemationContainerRegistrationRegistrar, pluginRegistrar?: CodemationPluginRegistrar);
22922
- create(inputs: AppContainerInputs): Promise<Container>;
22923
- private collectCredentialTypes;
22924
- private applyPlugins;
22925
- private registerCredentialTypes;
22926
- private registerConfiguredRegistrations;
22927
- private registerCoreInfrastructure;
22928
- private registerRepositoriesAndBuses;
22929
- private registerApplicationServicesAndRoutes;
22930
- private registerOperationalInfrastructure;
22931
- private registerRuntimeInfrastructure;
22932
- private resolvePrismaOwnership;
22933
- private registerRuntimeNodeActivationScheduler;
22934
- private createBinaryStorage;
22935
- private createRuntimeSummary;
22936
- private requireRedisUrl;
22937
- private synchronizeLiveWorkflowRepository;
22938
- }
22939
- //#endregion
22940
22944
  //#region ../host/src/presentation/config/CodemationConfigNormalizer.d.ts
22941
22945
  type NormalizedCodemationConfig = CodemationConfig & Readonly<{
22942
22946
  containerRegistrations: ReadonlyArray<CodemationContainerRegistration<unknown>>;
@@ -22944,6 +22948,7 @@ type NormalizedCodemationConfig = CodemationConfig & Readonly<{
22944
22948
  //#endregion
22945
22949
  //#region ../host/src/bootstrap/runtime/AppConfigFactory.d.ts
22946
22950
  declare class AppConfigFactory {
22951
+ private readonly pluginPackageMetadata;
22947
22952
  create(args: Readonly<{
22948
22953
  repoRoot: string;
22949
22954
  consumerRoot: string;
@@ -22951,6 +22956,7 @@ declare class AppConfigFactory {
22951
22956
  config: NormalizedCodemationConfig;
22952
22957
  workflowSources: ReadonlyArray<string>;
22953
22958
  }>): AppConfig;
22959
+ private createConfiguredPluginLoadSummary;
22954
22960
  private resolvePersistence;
22955
22961
  private resolveDatabaseKind;
22956
22962
  private resolvePgliteDataDir;
@@ -22961,39 +22967,6 @@ declare class AppConfigFactory {
22961
22967
  private resolveWebSocketPort;
22962
22968
  }
22963
22969
  //#endregion
22964
- //#region ../host/src/presentation/frontend/CodemationFrontendAuthSnapshot.d.ts
22965
- type CodemationFrontendAuthProviderSnapshot = Readonly<{
22966
- id: string;
22967
- name: string;
22968
- }>;
22969
- type CodemationFrontendAuthSnapshot = Readonly<{
22970
- config: CodemationAuthConfig | undefined;
22971
- credentialsEnabled: boolean;
22972
- oauthProviders: ReadonlyArray<CodemationFrontendAuthProviderSnapshot>;
22973
- secret: string | null;
22974
- uiAuthEnabled: boolean;
22975
- }>;
22976
- //#endregion
22977
- //#region ../host/src/presentation/frontend/FrontendAppConfig.d.ts
22978
- /**
22979
- * Frontend-safe projection of host app configuration for packaged Next UI and SSR.
22980
- */
22981
- type FrontendAppConfig = Readonly<{
22982
- auth: CodemationFrontendAuthSnapshot;
22983
- productName: string;
22984
- logoUrl: string | null;
22985
- }>;
22986
- //#endregion
22987
- //#region ../host/src/presentation/config/CodemationPackageManifest.d.ts
22988
- interface CodemationPluginPackageManifest {
22989
- readonly kind: "plugin";
22990
- readonly entry: string;
22991
- readonly exportName?: string;
22992
- }
22993
- interface CodemationPackageManifest {
22994
- readonly plugin?: CodemationPluginPackageManifest;
22995
- }
22996
- //#endregion
22997
22970
  //#region ../host/src/presentation/server/CodemationConsumerConfigLoader.d.ts
22998
22971
  type CodemationConsumerConfigResolution = Readonly<{
22999
22972
  config: NormalizedCodemationConfig;
@@ -23024,9 +22997,11 @@ declare class CodemationConsumerConfigLoader {
23024
22997
  private getOrCreateImporter;
23025
22998
  private resetImporter;
23026
22999
  private toNamespace;
23000
+ private resolveTsxImporterModuleSpecifier;
23027
23001
  private findNearestTsconfig;
23028
23002
  private createImportSpecifier;
23029
23003
  private shouldUseNativeRuntimeImport;
23004
+ private shouldResetImporterBeforeImport;
23030
23005
  private isStoppedTransformServiceError;
23031
23006
  private exists;
23032
23007
  }
@@ -23052,13 +23027,14 @@ declare class AppConfigLoader {
23052
23027
  type CodemationDiscoveredPluginPackage = Readonly<{
23053
23028
  packageName: string;
23054
23029
  packageRoot: string;
23055
- manifest: NonNullable<CodemationPackageManifest["plugin"]>;
23030
+ pluginEntry: string;
23056
23031
  developmentEntry?: string;
23057
23032
  }>;
23058
23033
  type CodemationResolvedPluginPackage = Readonly<CodemationDiscoveredPluginPackage & {
23059
23034
  plugin: CodemationPlugin;
23060
23035
  }>;
23061
23036
  declare class CodemationPluginDiscovery {
23037
+ private readonly pluginPackageMetadata;
23062
23038
  discover(consumerRoot: string): Promise<ReadonlyArray<CodemationDiscoveredPluginPackage>>;
23063
23039
  resolvePlugins(consumerRoot: string): Promise<ReadonlyArray<CodemationResolvedPluginPackage>>;
23064
23040
  resolveDiscoveredPackages(discoveredPackages: ReadonlyArray<CodemationDiscoveredPluginPackage>): Promise<ReadonlyArray<CodemationResolvedPluginPackage>>;
@@ -23066,33 +23042,11 @@ declare class CodemationPluginDiscovery {
23066
23042
  private readPackageJson;
23067
23043
  private loadPlugin;
23068
23044
  private resolvePluginValue;
23069
- private isPlugin;
23070
- private isPluginConstructor;
23045
+ private isPluginConfig;
23071
23046
  private resolvePluginEntry;
23072
23047
  private resolveDevelopmentPluginEntry;
23073
- }
23074
- //#endregion
23075
- //#region ../host/src/presentation/frontend/CodemationFrontendAuthSnapshotFactory.d.ts
23076
- declare class CodemationFrontendAuthSnapshotFactory {
23077
- createFromAppConfig(appConfig: AppConfig): CodemationFrontendAuthSnapshot;
23078
- createFromResolvedInputs(args: Readonly<{
23079
- authConfig: CodemationAuthConfig | undefined;
23080
- env: NodeJS.ProcessEnv;
23081
- uiAuthEnabled: boolean;
23082
- }>): CodemationFrontendAuthSnapshot;
23083
- private resolveUiAuthEnabled;
23084
- private resolveAuthSecret;
23085
- private createOauthProviders;
23086
- private createOAuthProvider;
23087
- private createOidcProvider;
23088
- }
23089
- //#endregion
23090
- //#region ../host/src/presentation/frontend/FrontendAppConfigJsonCodec.d.ts
23091
- declare class FrontendAppConfigJsonCodec {
23092
- serialize(config: FrontendAppConfig): string;
23093
- deserialize(serialized: string | undefined): FrontendAppConfig | null;
23094
- private resolveAuthConfig;
23095
- private resolveOauthProviders;
23048
+ private exists;
23049
+ private resolvePluginModuleSpecifier;
23096
23050
  }
23097
23051
  //#endregion
23098
23052
  //#region src/bootstrap/CodemationCliApplicationSession.d.ts
@@ -23152,6 +23106,10 @@ type DevBootstrapSummaryJson = Readonly<{
23152
23106
  id: string;
23153
23107
  name: string;
23154
23108
  }>>;
23109
+ plugins: ReadonlyArray<Readonly<{
23110
+ packageName: string;
23111
+ source: "configured" | "discovered";
23112
+ }>>;
23155
23113
  }>;
23156
23114
  //#endregion
23157
23115
  //#region src/consumer/ConsumerOutputBuilder.d.ts
@@ -23213,6 +23171,7 @@ declare class ConsumerOutputBuilder {
23213
23171
  private shouldCopyAssetPath;
23214
23172
  private copyAssetFile;
23215
23173
  private emitSourceFile;
23174
+ private emitConfigSourceFile;
23216
23175
  private createCompilerOptions;
23217
23176
  private writeEntryFile;
23218
23177
  private rewriteRelativeImportSpecifiers;
@@ -23249,24 +23208,12 @@ declare class ConsumerOutputBuilder {
23249
23208
  private fileExists;
23250
23209
  }
23251
23210
  //#endregion
23252
- //#region src/build/ConsumerBuildArtifactsPublisher.d.ts
23253
- type ConsumerBuildManifest = Readonly<{
23254
- buildVersion: string;
23255
- consumerRoot: string;
23256
- entryPath: string;
23257
- manifestPath: string;
23258
- pluginEntryPath: string;
23259
- workflowSourcePaths: ReadonlyArray<string>;
23260
- }>;
23261
- declare class ConsumerBuildArtifactsPublisher {
23262
- publish(snapshot: ConsumerOutputBuildSnapshot, discoveredPlugins: ReadonlyArray<CodemationDiscoveredPluginPackage>): Promise<ConsumerBuildManifest>;
23263
- private writeDiscoveredPluginsOutput;
23264
- private writeBuildManifest;
23265
- }
23266
- //#endregion
23267
- //#region src/consumer/Loader.d.ts
23268
- declare class ConsumerOutputBuilderLoader {
23269
- create(consumerRoot: string, buildOptions: ConsumerBuildOptions): ConsumerOutputBuilder;
23211
+ //#region src/consumer/ConsumerOutputBuilderFactory.d.ts
23212
+ declare class ConsumerOutputBuilderFactory {
23213
+ create(consumerRoot: string, args?: Readonly<{
23214
+ buildOptions?: ConsumerBuildOptions;
23215
+ logger?: Logger;
23216
+ }>): ConsumerOutputBuilder;
23270
23217
  }
23271
23218
  //#endregion
23272
23219
  //#region src/path/CliPathResolver.d.ts
@@ -23289,11 +23236,9 @@ declare class TypeScriptRuntimeConfigurator {
23289
23236
  declare class BuildCommand {
23290
23237
  private readonly cliLogger;
23291
23238
  private readonly pathResolver;
23292
- private readonly pluginDiscovery;
23293
- private readonly artifactsPublisher;
23239
+ private readonly consumerOutputBuilderFactory;
23294
23240
  private readonly tsRuntime;
23295
- private readonly outputBuilderLoader;
23296
- constructor(cliLogger: Logger, pathResolver: CliPathResolver, pluginDiscovery: CodemationPluginDiscovery, artifactsPublisher: ConsumerBuildArtifactsPublisher, tsRuntime: TypeScriptRuntimeConfigurator, outputBuilderLoader: ConsumerOutputBuilderLoader);
23241
+ constructor(cliLogger: Logger, pathResolver: CliPathResolver, consumerOutputBuilderFactory: ConsumerOutputBuilderFactory, tsRuntime: TypeScriptRuntimeConfigurator);
23297
23242
  execute(consumerRoot: string, buildOptions: ConsumerBuildOptions): Promise<void>;
23298
23243
  }
23299
23244
  //#endregion
@@ -23388,6 +23333,7 @@ declare class LoopbackPortAllocator {
23388
23333
  //#endregion
23389
23334
  //#region src/dev/DevApiRuntimeTypes.d.ts
23390
23335
  type DevApiRuntimeFactoryArgs = Readonly<{
23336
+ configPathOverride?: string;
23391
23337
  consumerRoot: string;
23392
23338
  env: NodeJS.ProcessEnv;
23393
23339
  runtimeWorkingDirectory: string;
@@ -23507,21 +23453,7 @@ declare class DevCliBannerRenderer {
23507
23453
  private renderFigletTitle;
23508
23454
  private buildDetailBody;
23509
23455
  private buildActiveWorkflowsSection;
23510
- }
23511
- //#endregion
23512
- //#region src/dev/DevConsumerPublishBootstrap.d.ts
23513
- /**
23514
- * Ensures `.codemation/output/current.json` and transpiled consumer config exist before the Next host boots.
23515
- * Without this, `codemation dev` can serve a stale built `codemation.config.js` (e.g. missing whitelabel).
23516
- */
23517
- declare class DevConsumerPublishBootstrap {
23518
- private readonly cliLogger;
23519
- private readonly pluginDiscovery;
23520
- private readonly artifactsPublisher;
23521
- private readonly outputBuilderLoader;
23522
- private readonly buildOptionsParser;
23523
- constructor(cliLogger: Logger, pluginDiscovery: CodemationPluginDiscovery, artifactsPublisher: ConsumerBuildArtifactsPublisher, outputBuilderLoader: ConsumerOutputBuilderLoader, buildOptionsParser: ConsumerBuildOptionsParser);
23524
- ensurePublished(paths: CliPaths): Promise<void>;
23456
+ private buildPluginsSection;
23525
23457
  }
23526
23458
  //#endregion
23527
23459
  //#region src/dev/ConsumerEnvDotenvFilePredicate.d.ts
@@ -23536,7 +23468,7 @@ declare class ConsumerEnvDotenvFilePredicate {
23536
23468
  //#region src/dev/DevRebuildQueue.d.ts
23537
23469
  type DevRebuildRequest = Readonly<{
23538
23470
  changedPaths: ReadonlyArray<string>;
23539
- shouldRepublishConsumerOutput: boolean;
23471
+ configPathOverride?: string;
23540
23472
  shouldRestartUi: boolean;
23541
23473
  }>;
23542
23474
  interface DevRebuildHandler {
@@ -23578,22 +23510,6 @@ declare class SourceMapNodeOptions {
23578
23510
  appendToNodeOptions(existingNodeOptions: string | undefined): string;
23579
23511
  }
23580
23512
  //#endregion
23581
- //#region src/dev/DevAuthSettingsLoader.d.ts
23582
- type DevResolvedAuthSettings = Readonly<{
23583
- authConfigJson: string;
23584
- authSecret: string;
23585
- skipUiAuth: boolean;
23586
- }>;
23587
- declare class DevAuthSettingsLoader {
23588
- private readonly configLoader;
23589
- private readonly consumerEnvLoader;
23590
- static readonly defaultDevelopmentAuthSecret = "codemation-dev-auth-secret-not-for-production";
23591
- constructor(configLoader: CodemationConsumerConfigLoader, consumerEnvLoader: ConsumerEnvLoader);
23592
- resolveDevelopmentServerToken(rawToken: string | undefined): string;
23593
- loadForConsumer(consumerRoot: string): Promise<DevResolvedAuthSettings>;
23594
- resolveDevelopmentAuthSecret(env: NodeJS.ProcessEnv): string;
23595
- }
23596
- //#endregion
23597
23513
  //#region src/dev/DevHttpProbe.d.ts
23598
23514
  declare class DevHttpProbe {
23599
23515
  waitUntilUrlRespondsOk(url: string): Promise<void>;
@@ -23609,12 +23525,10 @@ declare class DevHttpProbe {
23609
23525
  declare class DevNextHostEnvironmentBuilder {
23610
23526
  private readonly consumerEnvLoader;
23611
23527
  private readonly sourceMapNodeOptions;
23612
- private readonly frontendAuthSnapshotFactory;
23613
- private readonly frontendAppConfigJsonCodec;
23614
- constructor(consumerEnvLoader: ConsumerEnvLoader, sourceMapNodeOptions: SourceMapNodeOptions, frontendAuthSnapshotFactory?: CodemationFrontendAuthSnapshotFactory, frontendAppConfigJsonCodec?: FrontendAppConfigJsonCodec);
23528
+ constructor(consumerEnvLoader: ConsumerEnvLoader, sourceMapNodeOptions: SourceMapNodeOptions);
23615
23529
  buildConsumerUiProxy(args: Readonly<{
23616
- authConfigJson: string;
23617
23530
  authSecret: string;
23531
+ configPathOverride?: string;
23618
23532
  consumerRoot: string;
23619
23533
  developmentServerToken: string;
23620
23534
  nextPort: number;
@@ -23622,21 +23536,17 @@ declare class DevNextHostEnvironmentBuilder {
23622
23536
  runtimeDevUrl: string;
23623
23537
  skipUiAuth: boolean;
23624
23538
  websocketPort: number;
23625
- consumerOutputManifestPath?: string;
23626
23539
  }>): NodeJS.ProcessEnv;
23627
23540
  build(args: Readonly<{
23628
- authConfigJson: string;
23629
23541
  authSecret?: string;
23542
+ configPathOverride?: string;
23630
23543
  consumerRoot: string;
23631
23544
  developmentServerToken: string;
23632
23545
  nextPort: number;
23633
23546
  skipUiAuth: boolean;
23634
23547
  websocketPort: number;
23635
23548
  runtimeDevUrl?: string;
23636
- /** Same manifest as `codemation build` / serve-web so @codemation/next-host can load consumer config (whitelabel, etc.). */
23637
- consumerOutputManifestPath?: string;
23638
23549
  }>): NodeJS.ProcessEnv;
23639
- private parseAuthConfig;
23640
23550
  }
23641
23551
  //#endregion
23642
23552
  //#region src/runtime/ListenPortResolver.d.ts
@@ -23670,11 +23580,8 @@ declare class DevSessionPortsResolver {
23670
23580
  //#endregion
23671
23581
  //#region src/dev/DevSourceChangeClassifier.d.ts
23672
23582
  declare class DevSourceChangeClassifier {
23673
- private static readonly configFileNames;
23674
- shouldRepublishConsumerOutput(args: Readonly<{
23675
- changedPaths: ReadonlyArray<string>;
23676
- consumerRoot: string;
23677
- }>): boolean;
23583
+ private static readonly uiConfigFileNames;
23584
+ private static readonly pluginConfigFileNames;
23678
23585
  requiresUiRestart(args: Readonly<{
23679
23586
  changedPaths: ReadonlyArray<string>;
23680
23587
  consumerRoot: string;
@@ -23683,6 +23590,23 @@ declare class DevSourceChangeClassifier {
23683
23590
  private pathRequiresUiRestart;
23684
23591
  }
23685
23592
  //#endregion
23593
+ //#region src/dev/NextHostEdgeSeedLoader.d.ts
23594
+ type NextHostEdgeSeed = Readonly<{
23595
+ authSecret: string;
23596
+ uiAuthEnabled: boolean;
23597
+ }>;
23598
+ declare class NextHostEdgeSeedLoader {
23599
+ private readonly configLoader;
23600
+ private readonly consumerEnvLoader;
23601
+ static readonly defaultDevelopmentAuthSecret = "codemation-dev-auth-secret-not-for-production";
23602
+ constructor(configLoader: CodemationConsumerConfigLoader, consumerEnvLoader: ConsumerEnvLoader);
23603
+ resolveDevelopmentServerToken(rawToken: string | undefined): string;
23604
+ loadForConsumer(consumerRoot: string, options?: Readonly<{
23605
+ configPathOverride?: string;
23606
+ }>): Promise<NextHostEdgeSeed>;
23607
+ resolveDevelopmentAuthSecret(env: NodeJS.ProcessEnv): string;
23608
+ }
23609
+ //#endregion
23686
23610
  //#region src/dev/WatchRootsResolver.d.ts
23687
23611
  declare class WatchRootsResolver {
23688
23612
  resolve(args: Readonly<{
@@ -23702,11 +23626,11 @@ declare class DevSessionServices {
23702
23626
  readonly sessionPorts: DevSessionPortsResolver;
23703
23627
  readonly loopbackPortAllocator: LoopbackPortAllocator;
23704
23628
  readonly devHttpProbe: DevHttpProbe;
23705
- readonly devAuthLoader: DevAuthSettingsLoader;
23629
+ readonly nextHostEdgeSeedLoader: NextHostEdgeSeedLoader;
23706
23630
  readonly nextHostEnvBuilder: DevNextHostEnvironmentBuilder;
23707
23631
  readonly watchRootsResolver: WatchRootsResolver;
23708
23632
  readonly sourceChangeClassifier: DevSourceChangeClassifier;
23709
- constructor(consumerEnvLoader: ConsumerEnvLoader, sourceMapNodeOptions: SourceMapNodeOptions, sessionPorts: DevSessionPortsResolver, loopbackPortAllocator: LoopbackPortAllocator, devHttpProbe: DevHttpProbe, devAuthLoader: DevAuthSettingsLoader, nextHostEnvBuilder: DevNextHostEnvironmentBuilder, watchRootsResolver: WatchRootsResolver, sourceChangeClassifier: DevSourceChangeClassifier);
23633
+ constructor(consumerEnvLoader: ConsumerEnvLoader, sourceMapNodeOptions: SourceMapNodeOptions, sessionPorts: DevSessionPortsResolver, loopbackPortAllocator: LoopbackPortAllocator, devHttpProbe: DevHttpProbe, nextHostEdgeSeedLoader: NextHostEdgeSeedLoader, nextHostEnvBuilder: DevNextHostEnvironmentBuilder, watchRootsResolver: WatchRootsResolver, sourceChangeClassifier: DevSourceChangeClassifier);
23710
23634
  }
23711
23635
  //#endregion
23712
23636
  //#region src/dev/DevLock.d.ts
@@ -23797,7 +23721,6 @@ declare class DevCommand {
23797
23721
  private readonly databaseMigrationsApplyService;
23798
23722
  private readonly devBootstrapSummaryFetcher;
23799
23723
  private readonly devCliBannerRenderer;
23800
- private readonly devConsumerPublishBootstrap;
23801
23724
  private readonly consumerEnvDotenvFilePredicate;
23802
23725
  private readonly devTrackedProcessTreeKiller;
23803
23726
  private readonly nextHostConsumerServerCommandFactory;
@@ -23805,16 +23728,19 @@ declare class DevCommand {
23805
23728
  private readonly cliDevProxyServerFactory;
23806
23729
  private readonly devRebuildQueueFactory;
23807
23730
  private readonly require;
23808
- constructor(pathResolver: CliPathResolver, tsRuntime: TypeScriptRuntimeConfigurator, devLockFactory: DevLockFactory, devSourceWatcherFactory: DevSourceWatcherFactory, cliLogger: Logger, session: DevSessionServices, databaseMigrationsApplyService: DatabaseMigrationsApplyService, devBootstrapSummaryFetcher: DevBootstrapSummaryFetcher, devCliBannerRenderer: DevCliBannerRenderer, devConsumerPublishBootstrap: DevConsumerPublishBootstrap, consumerEnvDotenvFilePredicate: ConsumerEnvDotenvFilePredicate, devTrackedProcessTreeKiller: DevTrackedProcessTreeKiller, nextHostConsumerServerCommandFactory: NextHostConsumerServerCommandFactory, devApiRuntimeFactory: DevApiRuntimeFactory, cliDevProxyServerFactory: CliDevProxyServerFactory, devRebuildQueueFactory: DevRebuildQueueFactory);
23731
+ constructor(pathResolver: CliPathResolver, tsRuntime: TypeScriptRuntimeConfigurator, devLockFactory: DevLockFactory, devSourceWatcherFactory: DevSourceWatcherFactory, cliLogger: Logger, session: DevSessionServices, databaseMigrationsApplyService: DatabaseMigrationsApplyService, devBootstrapSummaryFetcher: DevBootstrapSummaryFetcher, devCliBannerRenderer: DevCliBannerRenderer, consumerEnvDotenvFilePredicate: ConsumerEnvDotenvFilePredicate, devTrackedProcessTreeKiller: DevTrackedProcessTreeKiller, nextHostConsumerServerCommandFactory: NextHostConsumerServerCommandFactory, devApiRuntimeFactory: DevApiRuntimeFactory, cliDevProxyServerFactory: CliDevProxyServerFactory, devRebuildQueueFactory: DevRebuildQueueFactory);
23809
23732
  execute(args: Readonly<{
23810
23733
  consumerRoot: string;
23811
23734
  watchFramework?: boolean;
23735
+ commandName?: "dev" | "dev:plugin";
23736
+ configPathOverride?: string;
23812
23737
  }>): Promise<void>;
23813
23738
  private resolveDevMode;
23814
23739
  private prepareDevRuntime;
23815
23740
  private createInitialProcessState;
23816
23741
  private wireStopPromise;
23817
23742
  private gatewayBaseHttpUrl;
23743
+ private preparePackagedUiBaseUrlWhenNeeded;
23818
23744
  private startPackagedUiWhenNeeded;
23819
23745
  private spawnPackagedUi;
23820
23746
  private startProxyServer;
@@ -23835,22 +23761,40 @@ declare class DevCommand {
23835
23761
  private logPackagedUiDevHintWhenNeeded;
23836
23762
  }
23837
23763
  //#endregion
23764
+ //#region src/dev/PluginDevConfigFactory.d.ts
23765
+ type PluginDevConfigBootstrap = Readonly<{
23766
+ configPath: string;
23767
+ }>;
23768
+ declare class PluginDevConfigFactory {
23769
+ prepare(pluginRoot: string): Promise<PluginDevConfigBootstrap>;
23770
+ private resolvePluginEntryPath;
23771
+ private createConfigSource;
23772
+ private toRelativeImportPath;
23773
+ private exists;
23774
+ }
23775
+ //#endregion
23776
+ //#region src/commands/DevPluginCommand.d.ts
23777
+ declare class DevPluginCommand {
23778
+ private readonly pluginDevConfigFactory;
23779
+ private readonly devCommand;
23780
+ constructor(pluginDevConfigFactory: PluginDevConfigFactory, devCommand: DevCommand);
23781
+ execute(args: Readonly<{
23782
+ pluginRoot: string;
23783
+ watchFramework?: boolean;
23784
+ }>): Promise<void>;
23785
+ }
23786
+ //#endregion
23838
23787
  //#region src/commands/ServeWebCommand.d.ts
23839
23788
  declare class ServeWebCommand {
23840
23789
  private readonly pathResolver;
23841
23790
  private readonly configLoader;
23842
- private readonly pluginDiscovery;
23843
- private readonly artifactsPublisher;
23844
23791
  private readonly tsRuntime;
23845
23792
  private readonly sourceMapNodeOptions;
23846
- private readonly outputBuilderLoader;
23847
23793
  private readonly envLoader;
23848
23794
  private readonly listenPortResolver;
23849
23795
  private readonly nextHostConsumerServerCommandFactory;
23850
- private readonly frontendAuthSnapshotFactory;
23851
- private readonly frontendAppConfigJsonCodec;
23852
23796
  private readonly require;
23853
- constructor(pathResolver: CliPathResolver, configLoader: CodemationConsumerConfigLoader, pluginDiscovery: CodemationPluginDiscovery, artifactsPublisher: ConsumerBuildArtifactsPublisher, tsRuntime: TypeScriptRuntimeConfigurator, sourceMapNodeOptions: SourceMapNodeOptions, outputBuilderLoader: ConsumerOutputBuilderLoader, envLoader: ConsumerEnvLoader, listenPortResolver: ListenPortResolver, nextHostConsumerServerCommandFactory: NextHostConsumerServerCommandFactory, frontendAuthSnapshotFactory: CodemationFrontendAuthSnapshotFactory, frontendAppConfigJsonCodec: FrontendAppConfigJsonCodec);
23797
+ constructor(pathResolver: CliPathResolver, configLoader: CodemationConsumerConfigLoader, tsRuntime: TypeScriptRuntimeConfigurator, sourceMapNodeOptions: SourceMapNodeOptions, envLoader: ConsumerEnvLoader, listenPortResolver: ListenPortResolver, nextHostConsumerServerCommandFactory: NextHostConsumerServerCommandFactory);
23854
23798
  execute(consumerRoot: string, buildOptions: ConsumerBuildOptions): Promise<void>;
23855
23799
  }
23856
23800
  //#endregion
@@ -23935,12 +23879,13 @@ declare class CliProgram {
23935
23879
  private readonly buildOptionsParser;
23936
23880
  private readonly buildCommand;
23937
23881
  private readonly devCommand;
23882
+ private readonly devPluginCommand;
23938
23883
  private readonly serveWebCommand;
23939
23884
  private readonly serveWorkerCommand;
23940
23885
  private readonly dbMigrateCommand;
23941
23886
  private readonly userCreateCommand;
23942
23887
  private readonly userListCommand;
23943
- constructor(buildOptionsParser: ConsumerBuildOptionsParser, buildCommand: BuildCommand, devCommand: DevCommand, serveWebCommand: ServeWebCommand, serveWorkerCommand: ServeWorkerCommand, dbMigrateCommand: DbMigrateCommand, userCreateCommand: UserCreateCommand, userListCommand: UserListCommand);
23888
+ constructor(buildOptionsParser: ConsumerBuildOptionsParser, buildCommand: BuildCommand, devCommand: DevCommand, devPluginCommand: DevPluginCommand, serveWebCommand: ServeWebCommand, serveWorkerCommand: ServeWorkerCommand, dbMigrateCommand: DbMigrateCommand, userCreateCommand: UserCreateCommand, userListCommand: UserListCommand);
23944
23889
  run(argv: ReadonlyArray<string>): Promise<void>;
23945
23890
  private readCliPackageVersion;
23946
23891
  }