@hot-updater/cli-tools 1.0.0-rc.17 → 1.0.0-rc.21

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.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { Readable } from "stream";
2
2
  import { Key as Key$1 } from "node:readline";
3
+ import { AnyHotUpdaterPlugin, Bundle, BundleSigningAdapter, ConfigInput, ConfiguredDatabase, EngineDatabase, HotUpdaterCoreApi, LocalSigningConfig, Migrator, Platform, PluginClientPlugin, RequiredDeep, SchemaGenerator, SigningConfig, StorageAdapter, StorageAdapterWith, StoragePutResult, ToolingDatabase } from "@hot-updater/plugin-core";
3
4
  import { Readable as Readable$1, Writable } from "node:stream";
4
- import { Bundle, BundleSigningPlugin, ConfigInput, LocalSigningConfig, Platform, RequiredDeep, SigningConfig, StoragePluginWith, StoragePutResult } from "@hot-updater/plugin-core";
5
- import { ManifestArchive } from "@hot-updater/core";
5
+ import { ManifestArchive } from "@hot-updater/protocol";
6
6
  //#region src/BuildLogger.d.ts
7
7
  type LinePattern = string | RegExp;
8
8
  interface BuildLoggerConfig {
@@ -52,6 +52,13 @@ interface AppSetup {
52
52
  readonly credential?: AppClientCredential;
53
53
  readonly clientPlugins?: readonly AppClientPlugin[];
54
54
  }
55
+ /**
56
+ * The app's import lines for `HotUpdater` and `clientPlugins`: one line per
57
+ * module, the SDK's first, so a built-in plugin joins `HotUpdater`'s import.
58
+ * The agent scaffold renders the same lines in hot-updater's
59
+ * `commands/infra/clientAuth.ts`, which imports no package.
60
+ */
61
+ declare const renderAppImports: (clientPlugins: readonly AppClientPlugin[]) => string[];
55
62
  /**
56
63
  * The App.tsx code init prints: `HotUpdater.init` with the server's URL,
57
64
  * the header that carries the client credential when the server takes one,
@@ -67,6 +74,60 @@ declare const printAppSetup: ({ baseURL, ...setup }: AppSetup & {
67
74
  readonly clientPlugins: readonly AppClientPlugin[];
68
75
  }) => void;
69
76
  //#endregion
77
+ //#region src/assembleServer.d.ts
78
+ /**
79
+ * The server hot-updater.config.ts describes, as the CLI runs it: core and
80
+ * the plugins over the config's database and storage.
81
+ */
82
+ interface AssembledServer {
83
+ /** The config's database: the server's own, or `standaloneRepository(...)`. */
84
+ readonly database: ConfiguredDatabase;
85
+ /**
86
+ * Core's reads and typed writes. Over the server's database they take the
87
+ * server's path: the plugins' schema fence, pruning during writes, the
88
+ * storage's file URLs, and the database's CDN purge. Over
89
+ * `standaloneRepository`, they go through the server's admin API.
90
+ */
91
+ readonly core: HotUpdaterCoreApi;
92
+ /** Where the CLI uploads bundles; undefined when the config names none. */
93
+ readonly storage: StorageAdapter | undefined;
94
+ /** The plugins as configured, as a frozen copy. */
95
+ readonly plugins: readonly AnyHotUpdaterPlugin[];
96
+ /** Each plugin's API by id; undefined over standaloneRepository, whose plugins run on the server. */
97
+ readonly api: Readonly<Record<string, unknown>> | undefined;
98
+ /** The client plugins an app adds for the plugins: what init prints and doctor checks. */
99
+ readonly clientPlugins: readonly PluginClientPlugin[];
100
+ /** The plugin that guards client routes; absent when they are public. */
101
+ readonly clientAuth?: {
102
+ readonly plugin: string;
103
+ /** The request headers its decision reads, lowercase. */
104
+ readonly varyHeaders: readonly string[];
105
+ };
106
+ }
107
+ /** What `assembleServer` runs: hot-updater.config.ts's `database`, `storage`, and `plugins`. */
108
+ interface AssembleServerOptions {
109
+ readonly database: ConfiguredDatabase;
110
+ readonly storage?: StorageAdapter;
111
+ readonly plugins?: readonly AnyHotUpdaterPlugin[];
112
+ }
113
+ /**
114
+ * Core and the plugins over hot-updater.config.ts's database, assembled by
115
+ * `createHotUpdater` as the server assembles them, so the CLI's writes take
116
+ * the server's path. Plugins the server would refuse are refused here.
117
+ * Assembling reads and writes nothing, and storage that only uploads is
118
+ * enough: only a server mounts the handlers that serve downloads.
119
+ *
120
+ * Over `standaloneRepository(...)`, core is the server's admin API and the
121
+ * plugins run on the server; here they are only checked, on a database
122
+ * nothing reads, for what the CLI reads from them.
123
+ */
124
+ declare function assembleServer(options: AssembleServerOptions & {
125
+ readonly database: EngineDatabase;
126
+ }): AssembledServer & {
127
+ readonly api: Readonly<Record<string, unknown>>;
128
+ };
129
+ declare function assembleServer(options: AssembleServerOptions): AssembledServer;
130
+ //#endregion
70
131
  //#region src/banner.d.ts
71
132
  declare const link: (url: string) => string;
72
133
  declare const banner: (version?: string) => string;
@@ -101,43 +162,42 @@ type ProviderConfig = {
101
162
  imports: ImportInfo[];
102
163
  configString: string;
103
164
  };
165
+ declare const renderImportStatements: (imports: ImportInfo[]) => string;
104
166
  type ConfigBuilderScaffold = {
105
167
  imports: ImportInfo[];
106
168
  buildConfigString: string;
107
169
  storageConfigString: string;
108
170
  databaseConfigString: string;
171
+ pluginsConfigString: string;
109
172
  intermediateCode: string;
110
173
  text: string;
111
174
  };
112
- declare const renderImportStatements: (imports: ImportInfo[]) => string;
113
- interface IConfigBuilder {
114
- /** Sets the build type ('bare' or 'rock' or 'expo') and adds necessary build imports. */
115
- setBuildType(buildType: BuildType): this;
116
- /** Sets the storage configuration and adds its required imports. */
117
- setStorage(storageConfig: ProviderConfig): this;
118
- /** Sets the database configuration and adds its required imports. */
119
- setDatabase(databaseConfig: ProviderConfig): this;
120
- /** Sets the intermediate code block to be placed between imports and defineConfig. */
121
- setIntermediateCode(code: string): this;
122
- /** Assembles and returns the final configuration string. */
123
- getResult(): string;
124
- }
125
- declare class ConfigBuilder implements IConfigBuilder {
175
+ /**
176
+ * Renders the hot-updater.config.ts init writes: the build, the server's
177
+ * storage, database, and plugins, and the deploy settings.
178
+ */
179
+ declare class ConfigBuilder {
126
180
  private buildType;
127
181
  private storageInfo;
128
182
  private databaseInfo;
183
+ private pluginsInfo;
129
184
  private intermediateCode;
130
- private collectedImports;
131
- constructor();
185
+ private readonly imports;
186
+ /** Adds an import, such as a credentials helper's. */
132
187
  addImport(info: ImportInfo): this;
133
- private addImports;
134
- private getImportInfos;
135
188
  private generateBuildConfigString;
189
+ /** Sets the build type ('bare', 'rock', or 'expo') and its import. */
136
190
  setBuildType(buildType: BuildType): this;
191
+ /** Sets the storage the CLI uploads to, which the server lists, and its imports. */
137
192
  setStorage(storageConfig: ProviderConfig): this;
193
+ /** Sets the server's database and its imports. */
138
194
  setDatabase(databaseConfig: ProviderConfig): this;
195
+ /** Sets the plugins the server runs, such as a provider package's `plugins`. */
196
+ setPlugins(pluginsConfig: ProviderConfig): this;
197
+ /** Sets the code between the environment loading and the config, such as a credentials helper. */
139
198
  setIntermediateCode(code: string): this;
140
199
  getScaffold(): ConfigBuilderScaffold;
200
+ /** hot-updater.config.ts's text. */
141
201
  getResult(): string;
142
202
  }
143
203
  //#endregion
@@ -257,6 +317,7 @@ type CreateHotUpdaterConfigScaffoldOptions = {
257
317
  build: BuildType;
258
318
  storage: ProviderConfig;
259
319
  database: ProviderConfig;
320
+ plugins: ProviderConfig;
260
321
  extraImports?: ImportInfo[];
261
322
  helperStatements?: ManagedHelperStatement[];
262
323
  updateStrategy?: "appVersion" | "fingerprint";
@@ -280,6 +341,10 @@ type HotUpdaterConfigScaffold = {
280
341
  initializer: string;
281
342
  callee: string;
282
343
  };
344
+ /** The plugins the server runs, such as a provider package's `plugins`. */
345
+ plugins: {
346
+ initializer: string;
347
+ };
283
348
  helperStatements: ManagedHelperStatement[];
284
349
  updateStrategy: string;
285
350
  };
@@ -288,9 +353,28 @@ type WriteHotUpdaterConfigResult = {
288
353
  path: string;
289
354
  reason?: string;
290
355
  };
291
- declare const createHotUpdaterConfigScaffold: ({ build, storage, database, extraImports, helperStatements, updateStrategy }: CreateHotUpdaterConfigScaffoldOptions) => HotUpdaterConfigScaffold;
356
+ declare const createHotUpdaterConfigScaffold: ({ build, storage, database, plugins, extraImports, helperStatements, updateStrategy }: CreateHotUpdaterConfigScaffoldOptions) => HotUpdaterConfigScaffold;
292
357
  declare const createHotUpdaterConfigScaffoldFromBuilder: (builder: ConfigBuilder, { helperStatements, updateStrategy }?: CreateHotUpdaterConfigScaffoldFromBuilderOptions) => HotUpdaterConfigScaffold;
358
+ /**
359
+ * Writes hot-updater.config.ts: the scaffold's when there is none, or the
360
+ * existing config with the scaffold's build, storage, database, plugins, and
361
+ * helpers merged in, keeping the project's own settings.
362
+ */
293
363
  declare const writeHotUpdaterConfig: (scaffold: HotUpdaterConfigScaffold, filePath?: string) => Promise<WriteHotUpdaterConfigResult>;
364
+ /**
365
+ * Writes hot-updater.config.ts and says what it did. `settings` names the
366
+ * provider in messages, such as "Supabase". A config it cannot merge is
367
+ * kept, with what to add to it. The plugins file an older init wrote is
368
+ * removed; one the project wrote is named, since nothing reads it.
369
+ */
370
+ declare const writeHotUpdaterFiles: (scaffold: HotUpdaterConfigScaffold, { cwd, settings }: {
371
+ cwd?: string;
372
+ settings: string;
373
+ }) => Promise<{
374
+ readonly config: WriteHotUpdaterConfigResult;
375
+ /** What became of hotUpdater.plugins.ts, when there was one. */
376
+ readonly pluginsFile?: "removed" | "kept";
377
+ }>;
294
378
  //#endregion
295
379
  //#region src/hotUpdaterEnv.d.ts
296
380
  type HotUpdaterInitEnv = {
@@ -303,34 +387,6 @@ declare const readHotUpdaterInitEnv: (cwd: string, envFile?: string) => Promise<
303
387
  declare const readHotUpdaterEnv: (cwd: string) => Promise<Readonly<Record<string, string>>>;
304
388
  declare const getHotUpdaterEnvValue: (env: Readonly<Record<string, string>>, key: string) => string | undefined;
305
389
  //#endregion
306
- //#region src/hotUpdaterPlugins.d.ts
307
- /** Where `hot-updater init` writes a managed server's plugin list. */
308
- declare const HOT_UPDATER_PLUGINS_PATH = "hotUpdater.plugins.ts";
309
- /**
310
- * The plugins file for a managed provider: a re-export of the fixed list its
311
- * package ships, which its prebuilt server runs too.
312
- */
313
- declare const renderHotUpdaterPlugins: (pkg: string) => string;
314
- type WriteHotUpdaterPluginsResult = {
315
- readonly status: "created" | "unchanged";
316
- readonly path: string;
317
- } | {
318
- readonly status: "skipped";
319
- readonly path: string;
320
- readonly reason: string;
321
- };
322
- /** Writes the plugins file; an existing file that differs is kept. */
323
- declare const writeHotUpdaterPlugins: (pkg: string, filePath?: string) => Promise<WriteHotUpdaterPluginsResult>;
324
- /** Writes the plugins file for `pkg` and reports what happened. */
325
- declare const generateHotUpdaterPlugins: (pkg: string, filePath?: string) => Promise<WriteHotUpdaterPluginsResult>;
326
- /**
327
- * The plugins a project's `hotUpdater.plugins.ts` exports, which its server
328
- * runs; undefined when the project has no such file. The console and the CLI
329
- * assemble them in process as the server does, for the features and commands
330
- * the plugins add.
331
- */
332
- declare const loadHotUpdaterPlugins: (cwd?: string) => Promise<readonly unknown[] | undefined>;
333
- //#endregion
334
390
  //#region src/HotUpdateDirUtil.d.ts
335
391
  declare const HotUpdateDirUtil: {
336
392
  readonly dirName: ".hot-updater";
@@ -466,7 +522,7 @@ declare const createLogWriter: ({ prefix, logFilePath }: {
466
522
  }) => Promise<HotUpdaterLogWriter>;
467
523
  //#endregion
468
524
  //#region src/localBundleSigning.d.ts
469
- declare const normalizeSigningConfig: (signing: SigningConfig | undefined) => BundleSigningPlugin | Extract<LocalSigningConfig, {
525
+ declare const normalizeSigningConfig: (signing: SigningConfig | undefined) => BundleSigningAdapter | Extract<LocalSigningConfig, {
470
526
  enabled: true;
471
527
  }> | undefined;
472
528
  //#endregion
@@ -475,10 +531,125 @@ type HotUpdaterConfigOptions = {
475
531
  platform: Platform;
476
532
  channel: string;
477
533
  } | null;
478
- type ConfigResponse = RequiredDeep<Omit<ConfigInput, "database" | "signing" | "storage">> & Pick<ConfigInput, "database" | "storage"> & {
534
+ type ConfigResponse = RequiredDeep<Omit<ConfigInput, "database" | "storage" | "plugins" | "signing">> & {
535
+ /** The server's database, or `standaloneRepository(...)`; absent when the config names none. */
536
+ database?: ConfiguredDatabase;
537
+ /** Where the CLI uploads bundles; absent when the config names none. */
538
+ storage?: StorageAdapter;
539
+ /** The plugins the server runs; none when the config lists none. */
540
+ plugins: readonly AnyHotUpdaterPlugin[];
479
541
  signing?: ReturnType<typeof normalizeSigningConfig>;
480
542
  };
481
543
  declare const loadConfig: (options: HotUpdaterConfigOptions) => Promise<ConfigResponse>;
544
+ /**
545
+ * hot-updater.config for each of `platforms`, with the file loaded once. A
546
+ * config object gives every platform the same database, storage, and
547
+ * plugins; a config function runs once per platform, so the adapters it
548
+ * creates are that platform's own.
549
+ */
550
+ declare const loadPlatformConfigs: <TPlatform extends Platform>(platforms: readonly TPlatform[], { channel }: {
551
+ readonly channel: string;
552
+ }) => Promise<{
553
+ readonly platform: TPlatform;
554
+ readonly config: ConfigResponse;
555
+ }[]>;
556
+ //#endregion
557
+ //#region src/serverDefinition.d.ts
558
+ /** A plugin's endpoint on a server's `handlers.client`. */
559
+ interface ServerClientEndpoint {
560
+ /** The id of the plugin that adds it. */
561
+ readonly plugin: string;
562
+ readonly method: string;
563
+ /** Relative to the handler's mount; `:name` segments are parameters. */
564
+ readonly path: string;
565
+ }
566
+ /**
567
+ * A server definition as tooling reads it: the `hotUpdater` that
568
+ * `createHotUpdater` from `@hot-updater/server` returns, through its
569
+ * public properties.
570
+ */
571
+ interface ServerDefinition {
572
+ /** The database as configured, with the tooling `hot-updater db` runs. */
573
+ readonly database: ToolingDatabase;
574
+ /** The storage as configured, in order. */
575
+ readonly storage: readonly StorageAdapter[];
576
+ readonly plugins: readonly AnyHotUpdaterPlugin[];
577
+ /** The client plugins an app adds for the plugins: what init prints. */
578
+ readonly clientPlugins: readonly PluginClientPlugin[];
579
+ /** The plugins' client endpoints, which a host that routes by path sends to the server. */
580
+ readonly clientEndpoints: readonly ServerClientEndpoint[];
581
+ /** The plugin that guards client routes; absent when they are public. */
582
+ readonly clientAuth?: {
583
+ readonly plugin: string;
584
+ /** The request headers its decision reads, lowercase. */
585
+ readonly varyHeaders: readonly string[];
586
+ };
587
+ /** Core's API, on the server's own path. */
588
+ readonly core: HotUpdaterCoreApi;
589
+ /** Each plugin's API by plugin id. */
590
+ readonly api: Readonly<Record<string, unknown>>;
591
+ }
592
+ /** A server definition tooling cannot use, with what to do about it. */
593
+ declare class ServerDefinitionError extends Error {
594
+ readonly name = "ServerDefinitionError";
595
+ }
596
+ /** Whether `value` has the public properties tooling reads from a server definition. */
597
+ declare const isServerDefinition: (value: unknown) => value is ServerDefinition;
598
+ /**
599
+ * `value` as a server definition, or a `ServerDefinitionError` that says
600
+ * what `source`, the module it came from, must export instead.
601
+ */
602
+ declare const serverDefinitionOf: (value: unknown, source?: string) => ServerDefinition;
603
+ /** The credential an app sends to client routes. */
604
+ interface ClientCredentialSpec {
605
+ /** Its name in output, such as "API key". */
606
+ readonly label: string;
607
+ /** The request header that carries it, lowercase. */
608
+ readonly header: string;
609
+ /** The environment variable init stores it in. */
610
+ readonly env: string;
611
+ }
612
+ /** The client-route policy a definition's plugins set, as tooling needs it. */
613
+ interface ClientAuthSpec {
614
+ /** The plugin that provides clientAuth. */
615
+ readonly plugin: string;
616
+ /** The request headers its decision reads, lowercase: what caches key on. */
617
+ readonly varyHeaders: readonly string[];
618
+ readonly credential: ClientCredentialSpec;
619
+ }
620
+ interface ProvisionedClientCredential extends ClientCredentialSpec {
621
+ readonly value: string;
622
+ }
623
+ type CredentialSource = Pick<ServerDefinition, "plugins" | "clientAuth">;
624
+ /**
625
+ * The client-route policy a definition's plugins set: the plugin that
626
+ * provides clientAuth, the headers its decision reads, and the credential an
627
+ * app sends. Undefined when client routes are public.
628
+ */
629
+ declare const clientAuthOf: (definition: CredentialSource) => ClientAuthSpec | undefined;
630
+ /**
631
+ * A new client credential, made without a database, so tooling can save it
632
+ * before it registers it. Undefined when client routes are public.
633
+ */
634
+ declare const generateClientCredential: (definition: CredentialSource) => string | undefined;
635
+ /**
636
+ * Provisions the credential an app sends to client routes, through the
637
+ * plugin that provides clientAuth, on the definition's database: a
638
+ * credential saved in `env` is registered again rather than replaced.
639
+ * Undefined when client routes are public.
640
+ */
641
+ declare const provisionClientCredential: (definition: CredentialSource & Pick<ServerDefinition, "api">, input: {
642
+ readonly env: Readonly<Record<string, string | undefined>>;
643
+ /** Names the credential where the plugin stores one. */
644
+ readonly name: string;
645
+ }) => Promise<ProvisionedClientCredential | undefined>;
646
+ type ToolingSource = Pick<ServerDefinition, "database" | "plugins">;
647
+ /** Whether `hot-updater db generate` writes schema files for a definition's database. */
648
+ declare const generatesSchema: ({ database }: Pick<ServerDefinition, "database">) => boolean;
649
+ /** The migrator for a definition's database: core's tables and its plugins' tables. */
650
+ declare const createMigrator: ({ database, plugins }: ToolingSource) => Migrator;
651
+ /** The schema file `hot-updater db generate` writes for a definition's database. */
652
+ declare const generateSchema: ({ database, plugins }: ToolingSource, version: Parameters<SchemaGenerator>[0], name?: Parameters<SchemaGenerator>[1]) => ReturnType<SchemaGenerator>;
482
653
  //#endregion
483
654
  //#region src/log.d.ts
484
655
  declare const log: {
@@ -500,23 +671,35 @@ declare const makeEnv: (newEnvVars: Record<string, EnvVarValue>, filePath?: stri
500
671
  readonly removeKeys?: readonly string[];
501
672
  }) => Promise<string>;
502
673
  //#endregion
674
+ //#region src/moduleSpecifiers.d.ts
675
+ /**
676
+ * The modules `source` imports or re-exports, statically or with an
677
+ * `import()` of a string literal or a template without substitutions: what a
678
+ * runtime that loads it unbundled, such as Deno through an import map,
679
+ * resolves. An `import()` of a computed specifier, such as
680
+ * `import("dayjs/locale/" + name + ".js")`, names no module to resolve.
681
+ * Minified code reads the same as formatted code. `fileName` gives the
682
+ * language, such as `.ts`.
683
+ */
684
+ declare const moduleSpecifiersOf: (fileName: string, source: string) => string[];
685
+ //#endregion
503
686
  //#region src/promoteBundle.d.ts
504
- type PromoteStoragePlugin = StoragePluginWith<"get" | "put" | "exists" | "delete">;
687
+ type PromoteStorageAdapter = StorageAdapterWith<"get" | "put" | "exists" | "delete">;
505
688
  declare const LEGACY_BUNDLE_ERROR = "This OTA bundle was created by a version that does not support manifest.json. Copy bundle is not available.";
506
- declare function createCopiedBundleArtifacts({ bundle, config, nextBundleId, storagePlugin }: {
689
+ declare function createCopiedBundleArtifacts({ bundle, config, nextBundleId, storageAdapter }: {
507
690
  bundle: Bundle;
508
691
  config: ConfigResponse;
509
692
  nextBundleId: string;
510
- storagePlugin: PromoteStoragePlugin;
693
+ storageAdapter: PromoteStorageAdapter;
511
694
  }): Promise<{
512
695
  bundle: {
513
696
  id: string;
514
- metadata: import("@hot-updater/core").BundleMetadata | undefined;
697
+ metadata: import("@hot-updater/protocol").BundleMetadata | undefined;
515
698
  assetBaseStorageUri: string;
516
699
  patches: never[];
517
700
  manifestFileHash: string;
518
701
  manifestStorageUri: string;
519
- platform: import("@hot-updater/core").Platform;
702
+ platform: import("@hot-updater/protocol").Platform;
520
703
  gitCommitHash: string | null;
521
704
  };
522
705
  uploadedStorageUris: string[];
@@ -545,7 +728,7 @@ interface InternalClackSettings {
545
728
  };
546
729
  };
547
730
  }
548
- declare const settings: InternalClackSettings;
731
+ declare const settings$1: InternalClackSettings;
549
732
  interface ClackSettings {
550
733
  /**
551
734
  * Set custom global aliases for the default actions.
@@ -809,7 +992,7 @@ declare class AutocompletePrompt<T extends OptionLike$1> extends Prompt<T['value
809
992
  type DateFormat = 'YMD' | 'MDY' | 'DMY';
810
993
  declare function isCancel(value: unknown): value is symbol;
811
994
  declare namespace index_d_exports {
812
- export { AutocompleteMultiSelectOptions, AutocompleteOptions, BoxAlignment, BoxOptions, ClackSettings, CommonOptions, ConfirmOptions, DateFormat, DateOptions, GroupMultiSelectOptions, LimitOptionsParams, LogMessageOptions, MULTISELECT_INSTRUCTIONS, MultiLineOptions, MultiSelectOptions, NoteOptions, Option, PasswordOptions, PathOptions, ProgressOptions, ProgressResult, PromptGroup, PromptGroupAwaitedReturn, PromptGroupOptions, SELECT_INSTRUCTIONS, S_BAR, S_BAR_END, S_BAR_END_RIGHT, S_BAR_H, S_BAR_START, S_BAR_START_RIGHT, S_CHECKBOX_ACTIVE, S_CHECKBOX_INACTIVE, S_CHECKBOX_SELECTED, S_CONNECT_LEFT, S_CORNER_BOTTOM_LEFT, S_CORNER_BOTTOM_RIGHT, S_CORNER_TOP_LEFT, S_CORNER_TOP_RIGHT, S_ERROR, S_INFO, S_PASSWORD_MASK, S_RADIO_ACTIVE, S_RADIO_INACTIVE, S_STEP_ACTIVE, S_STEP_CANCEL, S_STEP_ERROR, S_STEP_SUBMIT, S_SUCCESS, S_WARN, SelectKeyOptions, SelectOptions, SpinnerOptions, SpinnerResult, Task, TaskLogCompletionOptions, TaskLogMessageOptions, TaskLogOptions, TextOptions, autocomplete, autocompleteMultiselect, box, cancel, confirm, date, formatInstructionFooter, group, groupMultiselect, intro, isCI, isCancel, isTTY, limitOptions, log$1 as log, multiline, multiselect, note, outro, password, path, progress, select, selectKey, settings, spinner, stream, symbol, symbolBar, taskLog, tasks, text, unicode, unicodeOr, updateSettings };
995
+ export { AutocompleteMultiSelectOptions, AutocompleteOptions, BoxAlignment, BoxOptions, ClackSettings, CommonOptions, ConfirmOptions, DateFormat, DateOptions, GroupMultiSelectOptions, LimitOptionsParams, LogMessageOptions, MULTISELECT_INSTRUCTIONS, MultiLineOptions, MultiSelectOptions, NoteOptions, Option, PasswordOptions, PathOptions, ProgressOptions, ProgressResult, PromptGroup, PromptGroupAwaitedReturn, PromptGroupOptions, SELECT_INSTRUCTIONS, S_BAR, S_BAR_END, S_BAR_END_RIGHT, S_BAR_H, S_BAR_START, S_BAR_START_RIGHT, S_CHECKBOX_ACTIVE, S_CHECKBOX_INACTIVE, S_CHECKBOX_SELECTED, S_CONNECT_LEFT, S_CORNER_BOTTOM_LEFT, S_CORNER_BOTTOM_RIGHT, S_CORNER_TOP_LEFT, S_CORNER_TOP_RIGHT, S_ERROR, S_INFO, S_PASSWORD_MASK, S_RADIO_ACTIVE, S_RADIO_INACTIVE, S_STEP_ACTIVE, S_STEP_CANCEL, S_STEP_ERROR, S_STEP_SUBMIT, S_SUCCESS, S_WARN, SelectKeyOptions, SelectOptions, SpinnerOptions, SpinnerResult, Task, TaskLogCompletionOptions, TaskLogMessageOptions, TaskLogOptions, TextOptions, autocomplete, autocompleteMultiselect, box, cancel, confirm, date, formatInstructionFooter, group, groupMultiselect, intro, isCI, isCancel, isTTY, limitOptions, log$1 as log, multiline, multiselect, note, outro, password, path, progress, select, selectKey, settings$1 as settings, spinner, stream, symbol, symbolBar, taskLog, tasks, text, unicode, unicodeOr, updateSettings };
813
996
  }
814
997
  declare const unicode: boolean;
815
998
  declare const isCI: () => boolean;
@@ -1743,10 +1926,10 @@ declare const resolveHotUpdaterServerVersion: (currentPackageName: string, optio
1743
1926
  //#endregion
1744
1927
  //#region src/storageFiles.d.ts
1745
1928
  declare const getStorageFileByteSize: (filePath: string) => Promise<number>;
1746
- declare const putStorageFile: (storage: StoragePluginWith<"put">, key: string, filePath: string) => Promise<StoragePutResult & {
1929
+ declare const putStorageFile: (storage: StorageAdapterWith<"put">, key: string, filePath: string) => Promise<StoragePutResult & {
1747
1930
  byteSize: number;
1748
1931
  }>;
1749
- declare const writeStorageFile: (storage: StoragePluginWith<"get">, storageUri: string, filePath: string) => Promise<void>;
1932
+ declare const writeStorageFile: (storage: StorageAdapterWith<"get">, storageUri: string, filePath: string) => Promise<void>;
1750
1933
  declare const writeStorageResponseFile: (response: Response, filePath: string) => Promise<void>;
1751
1934
  //#endregion
1752
1935
  //#region src/transformEnv.d.ts
@@ -1766,4 +1949,4 @@ type TransformTemplateArgs<T extends string> = { [Key in ExtractPlaceholders<T>]
1766
1949
  */
1767
1950
  declare function transformTemplate<T extends string>(templateString: T, values: TransformTemplateArgs<T>): string;
1768
1951
  //#endregion
1769
- export { AppClientCredential, AppClientPlugin, BuildLogger, BuildLoggerConfig, BuildType, BundleSigningSession, ConfigBuilder, ConfigBuilderScaffold, ConfigResponse, CreateHotUpdaterConfigScaffoldFromBuilderOptions, CreateHotUpdaterConfigScaffoldOptions, HOT_UPDATER_PLUGINS_PATH, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, HotUpdaterConfigOptions, HotUpdaterConfigScaffold, HotUpdaterInitEnv, HotUpdaterLogWriter, IConfigBuilder, ImportInfo, InitEnvFileError, InitError, InitProviderDefinition, InitProviderInputDefinition, InitProviderInputPersistence, LEGACY_BUNDLE_ERROR, LegacyInfrastructureError, ManagedHelperStatement, ManagedHelperStrategy, MissingInitInputsError, PromptProgress, PromptSpinner, ProviderConfig, ReactNativeMetadata, ReadPackageUpResult, RunInitOptions, WriteHotUpdaterConfigResult, WriteHotUpdaterPluginsResult, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, banner, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCopiedBundleArtifacts, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createLogWriter, createTarBrTargetFiles, createZip, decryptJson, defineInitProvider, encryptJson, ensureInstallPackages, generateHotUpdaterPlugins, getAndroidSdkPath, getBundleSigningPublicKey, getCwd, getHotUpdaterEnvValue, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getReactNativeMetadatas, getStorageFileByteSize, link, loadConfig, loadHotUpdaterPlugins, log, makeEnv, p, prepareBundleSigning, printAppSetup, printBanner, putStorageFile, readBundleSigningPublicKeyFile, readHotUpdaterEnv, readHotUpdaterInitEnv, readPackageUp, renderAppSetup, renderHotUpdaterPlugins, renderImportStatements, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolvePackageVersion, shouldAutoSelectOnlyInitResource, stripAnsi, transformEnv, transformTemplate, writeHotUpdaterConfig, writeHotUpdaterPlugins, writeStorageFile, writeStorageResponseFile };
1952
+ export { AppClientCredential, AppClientPlugin, AssembleServerOptions, AssembledServer, BuildLogger, BuildLoggerConfig, BuildType, BundleSigningSession, ClientAuthSpec, ClientCredentialSpec, ConfigBuilder, ConfigBuilderScaffold, ConfigResponse, CreateHotUpdaterConfigScaffoldFromBuilderOptions, CreateHotUpdaterConfigScaffoldOptions, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, HotUpdaterConfigOptions, HotUpdaterConfigScaffold, HotUpdaterInitEnv, HotUpdaterLogWriter, ImportInfo, InitEnvFileError, InitError, InitProviderDefinition, InitProviderInputDefinition, InitProviderInputPersistence, LEGACY_BUNDLE_ERROR, LegacyInfrastructureError, ManagedHelperStatement, ManagedHelperStrategy, MissingInitInputsError, PromptProgress, PromptSpinner, ProviderConfig, ProvisionedClientCredential, ReactNativeMetadata, ReadPackageUpResult, RunInitOptions, ServerClientEndpoint, ServerDefinition, ServerDefinitionError, WriteHotUpdaterConfigResult, assembleServer, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, banner, clientAuthOf, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCopiedBundleArtifacts, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createLogWriter, createMigrator, createTarBrTargetFiles, createZip, decryptJson, defineInitProvider, encryptJson, ensureInstallPackages, generateClientCredential, generateSchema, generatesSchema, getAndroidSdkPath, getBundleSigningPublicKey, getCwd, getHotUpdaterEnvValue, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getReactNativeMetadatas, getStorageFileByteSize, isServerDefinition, link, loadConfig, loadPlatformConfigs, log, makeEnv, moduleSpecifiersOf, p, prepareBundleSigning, printAppSetup, printBanner, provisionClientCredential, putStorageFile, readBundleSigningPublicKeyFile, readHotUpdaterEnv, readHotUpdaterInitEnv, readPackageUp, renderAppImports, renderAppSetup, renderImportStatements, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolvePackageVersion, serverDefinitionOf, shouldAutoSelectOnlyInitResource, stripAnsi, transformEnv, transformTemplate, writeHotUpdaterConfig, writeHotUpdaterFiles, writeStorageFile, writeStorageResponseFile };