@fluid-app/fluid-cli-portal 0.1.0 → 0.1.2

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,5 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { FluidPlugin } from "@fluid-app/fluid-cli";
2
+ import { CliError, FluidPlugin, Result } from "@fluid-app/fluid-cli";
3
3
 
4
4
  //#region src/types.d.ts
5
5
  /**
@@ -133,112 +133,6 @@ declare function runPackageManager(args: string[], cwd: string): Promise<void>;
133
133
  */
134
134
  declare function installDependencies(cwd: string): Promise<void>;
135
135
  //#endregion
136
- //#region src/utils/result.d.ts
137
- /**
138
- * Result type utilities for type-safe error handling
139
- *
140
- * The Result<T, E> pattern provides a discriminated union for fallible operations,
141
- * enabling exhaustive handling without try/catch blocks.
142
- */
143
- /**
144
- * Successful result containing a value of type T
145
- */
146
- interface Success<T> {
147
- readonly success: true;
148
- readonly value: T;
149
- }
150
- /**
151
- * Failed result containing an error of type E
152
- */
153
- interface Failure<E> {
154
- readonly success: false;
155
- readonly error: E;
156
- }
157
- /**
158
- * Result type - discriminated union of Success and Failure
159
- * The `success` field serves as the discriminant for type narrowing
160
- */
161
- type Result<T, E = Error> = Success<T> | Failure<E>;
162
- /**
163
- * Create a successful result
164
- */
165
- declare function success<T>(value: T): Success<T>;
166
- /**
167
- * Create a failed result
168
- */
169
- declare function failure<E>(error: E): Failure<E>;
170
- /**
171
- * Type guard for successful results
172
- */
173
- declare function isSuccess<T, E>(result: Result<T, E>): result is Success<T>;
174
- /**
175
- * Type guard for failed results
176
- */
177
- declare function isFailure<T, E>(result: Result<T, E>): result is Failure<E>;
178
- /**
179
- * Wrap a function that may throw into a Result-returning function
180
- */
181
- declare function tryCatch<T>(fn: () => T): Result<T, Error>;
182
- /**
183
- * Wrap an async function that may throw into a Result-returning function
184
- */
185
- declare function tryCatchAsync<T>(fn: () => Promise<T>): Promise<Result<T, Error>>;
186
- /**
187
- * Extract value from Result or throw error
188
- * Use sparingly - prefer pattern matching with isSuccess/isFailure
189
- */
190
- declare function unwrap<T, E>(result: Result<T, E>): T;
191
- /**
192
- * Extract value from Result or return a default value
193
- */
194
- declare function unwrapOr<T, E>(result: Result<T, E>, defaultValue: T): T;
195
- /**
196
- * Map over a successful Result value
197
- */
198
- declare function mapResult<T, U, E>(result: Result<T, E>, fn: (value: T) => U): Result<U, E>;
199
- /**
200
- * Map over a failed Result error
201
- */
202
- declare function mapError<T, E, F>(result: Result<T, E>, fn: (error: E) => F): Result<T, F>;
203
- /**
204
- * Type guard to check if a value is an Error instance
205
- *
206
- * @example
207
- * ```ts
208
- * catch (error) {
209
- * if (isError(error)) {
210
- * console.log(error.message); // TypeScript knows this is an Error
211
- * }
212
- * }
213
- * ```
214
- */
215
- declare function isError(value: unknown): value is Error;
216
- /**
217
- * Type guard for Node.js system errors (with `code` property)
218
- *
219
- * @example
220
- * ```ts
221
- * catch (error) {
222
- * if (isNodeError(error) && error.code === "ENOENT") {
223
- * console.log("File not found");
224
- * }
225
- * }
226
- * ```
227
- */
228
- declare function isNodeError(value: unknown): value is NodeJS.ErrnoException;
229
- /**
230
- * Extract error message safely from unknown catch parameter.
231
- * Prefer type guards (isError, isNodeError) when you need the full error object.
232
- *
233
- * @example
234
- * ```ts
235
- * catch (error) {
236
- * console.log("Error: " + getErrorMessage(error));
237
- * }
238
- * ```
239
- */
240
- declare function getErrorMessage(error: unknown): string;
241
- //#endregion
242
136
  //#region src/utils/file-system.d.ts
243
137
  /**
244
138
  * Error types for file system operations
@@ -257,7 +151,7 @@ type FileSystemErrorCode = (typeof FILE_SYSTEM_ERRORS)[keyof typeof FILE_SYSTEM_
257
151
  /**
258
152
  * Structured file system error with code for pattern matching
259
153
  */
260
- interface FileSystemError {
154
+ interface FileSystemError extends CliError {
261
155
  readonly code: FileSystemErrorCode;
262
156
  readonly message: string;
263
157
  readonly path?: string;
@@ -386,7 +280,7 @@ interface CloudRunConfig {
386
280
  /**
387
281
  * Structured error for Cloud Run operations
388
282
  */
389
- interface CloudRunError {
283
+ interface CloudRunError extends CliError {
390
284
  readonly code: string;
391
285
  readonly message: string;
392
286
  readonly details?: string;
@@ -462,7 +356,7 @@ type FluidApiErrorCode = (typeof FLUID_API_ERROR)[keyof typeof FLUID_API_ERROR][
462
356
  /**
463
357
  * Structured Fluid API error with code for pattern matching
464
358
  */
465
- interface FluidApiError {
359
+ interface FluidApiError extends CliError {
466
360
  readonly code: string;
467
361
  readonly message: string;
468
362
  readonly details?: string;
@@ -547,7 +441,7 @@ declare const TURSO_ERROR: {
547
441
  /**
548
442
  * Structured Turso error with code for pattern matching
549
443
  */
550
- interface TursoError {
444
+ interface TursoError extends CliError {
551
445
  readonly code: string;
552
446
  readonly message: string;
553
447
  readonly details?: string;
@@ -676,5 +570,5 @@ declare function provisionDatabase(config: TursoConfig, projectName: string, loc
676
570
  //#region src/index.d.ts
677
571
  declare const plugin: FluidPlugin;
678
572
  //#endregion
679
- export { type BuildOptions, CLOUD_RUN_ERRORS, type CloudRunConfig, type CloudRunDeployCallbacks, type CloudRunError, type CloudRunResult, type CreateOptions, type DeployOptions, type DestroyOptions, type DevOptions, FILE_SYSTEM_ERRORS, FLUID_API_ERROR, type Failure, type FileSystemError, type FileSystemErrorCode, type FluidApiError, type FluidApiErrorCode, type FluidCompany, type ProjectConfig, type ResolvedTursoConfig, type Result, type SelectedPageTemplate, type Success, TEMPLATES, TURSO_ERROR, type TemplateName, type TemplatePaths, type TemplateVariables, type TursoConfig, type TursoConfigSource, type TursoDatabase, type TursoError, type TursoOrg, type TursoProvisionCallbacks, copyTemplate, copyTemplateSafe, createCommand, createDatabase, createDatabaseToken, createDirectory, createDirectorySafe, plugin as default, deleteCloudRunService, deleteDatabase, deployToCloudRun, destroyCommand, directoryExists, ensureGroup, failure, fetchLocations, fileExists, getErrorMessage, getGcpProject, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, installDependencies, isError, isFailure, isNodeError, isSuccess, isTemplateName, mapError, mapResult, parseOrgList, pathExists, promptProjectConfig, provisionDatabase, readFileSafe, resolveFluidApiKey, resolveTursoConfig, runPackageManager, success, tryCatch, tryCatchAsync, unwrap, unwrapOr, validateFluidApiKey, validateGcloudAuth, validateGcloudInstalled, validateLocation, validateTursoConfig, writeFileSafe };
573
+ export { type BuildOptions, CLOUD_RUN_ERRORS, type CloudRunConfig, type CloudRunDeployCallbacks, type CloudRunError, type CloudRunResult, type CreateOptions, type DeployOptions, type DestroyOptions, type DevOptions, FILE_SYSTEM_ERRORS, FLUID_API_ERROR, type FileSystemError, type FileSystemErrorCode, type FluidApiError, type FluidApiErrorCode, type FluidCompany, type ProjectConfig, type ResolvedTursoConfig, type SelectedPageTemplate, TEMPLATES, TURSO_ERROR, type TemplateName, type TemplatePaths, type TemplateVariables, type TursoConfig, type TursoConfigSource, type TursoDatabase, type TursoError, type TursoOrg, type TursoProvisionCallbacks, copyTemplate, copyTemplateSafe, createCommand, createDatabase, createDatabaseToken, createDirectory, createDirectorySafe, plugin as default, deleteCloudRunService, deleteDatabase, deployToCloudRun, destroyCommand, directoryExists, ensureGroup, fetchLocations, fileExists, getGcpProject, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, installDependencies, isTemplateName, parseOrgList, pathExists, promptProjectConfig, provisionDatabase, readFileSafe, resolveFluidApiKey, resolveTursoConfig, runPackageManager, validateFluidApiKey, validateGcloudAuth, validateGcloudInstalled, validateLocation, validateTursoConfig, writeFileSafe };
680
574
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/utils/package-manager.ts","../src/utils/result.ts","../src/utils/file-system.ts","../src/utils/prompts.ts","../src/commands/create.ts","../src/commands/destroy.ts","../src/utils/cloud-run.ts","../src/utils/fluid-api.ts","../src/utils/turso.ts","../src/index.ts"],"mappings":";;;;;;;cAOa,SAAA;EAAA,SACX,OAAA;EAAA,SACA,SAAA;AAAA;;;AAMF;KAAY,YAAA,WAAuB,SAAA,eAAwB,SAAA;;;;iBAK3C,cAAA,CAAe,KAAA,WAAgB,KAAA,IAAS,YAAA;;;;UAWvC,oBAAA;EAAA,SACN,EAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA;AAAA;AAHX;;;AAAA,UASiB,aAAA;;WAEN,IAAA;;WAEA,QAAA,EAAU,YAAA;EAVV;EAAA,SAYA,WAAA;EANM;EAAA,SAQN,aAAA,WAAwB,oBAAA;AAAA;;;;;UAOlB,aAAA;;WAEN,QAAA;EATwB;EAAA,SAWxB,WAAA;AAAA;;;;UAUM,UAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;AAAA;;AAMX;;UAAiB,YAAA;EAAA,SACN,MAAA;AAAA;AAMX;;;AAAA,UAAiB,aAAA;;WAEN,MAAA;;WAEA,UAAA;;WAEA,OAAA;;WAEA,QAAA;;WAEA,WAAA;;WAEA,OAAA;EAcX;EAAA,SAZW,cAAA;;WAEA,QAAA;;WAEA,kBAAA;;WAEA,WAAA;AAAA;;;;UAMM,cAAA;EAsBA;EAAA,SApBN,MAAA;EAwBwB;EAAA,SAtBxB,UAAA;;WAEA,OAAA;;WAEA,QAAA;;WAEA,kBAAA;;WAEA,GAAA;AAAA;ACrHX;;;AAAA,UD+HiB,iBAAA;EAAA,SACN,WAAA;EAAA,SACA,UAAA;EC1HK;EAAA,SD4HL,aAAA,WAAwB,oBAAA;EC5HnB;EAAA,SD8HL,gBAAA;AAAA;;;;;;iBCrIK,iBAAA,CAAA;ADEhB;;;AAAA,iBCKgB,aAAA,CAAc,MAAA;;ADG9B;;iBCIsB,iBAAA,CACpB,IAAA,YACA,GAAA,WACC,OAAA;;;ADFH;iBCYsB,mBAAA,CAAoB,GAAA,WAAc,OAAA;;;;;;;ADzBxD;;;;;UEOiB,OAAA;EAAA,SACN,OAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;;AFIlB;;UEEiB,OAAA;EAAA,SACN,OAAA;EAAA,SACA,KAAA,EAAO,CAAA;AAAA;;;;AFOlB;KEAY,MAAA,QAAc,KAAA,IAAS,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;;;;iBASxC,OAAA,GAAA,CAAW,KAAA,EAAO,CAAA,GAAI,OAAA,CAAQ,CAAA;AFA9C;;;AAAA,iBEOgB,OAAA,GAAA,CAAW,KAAA,EAAO,CAAA,GAAI,OAAA,CAAQ,CAAA;;;;iBAW9B,SAAA,MAAA,CAAgB,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,IAAK,MAAA,IAAU,OAAA,CAAQ,CAAA;;AFHzE;;iBEUgB,SAAA,MAAA,CAAgB,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,IAAK,MAAA,IAAU,OAAA,CAAQ,CAAA;;;;iBAWzD,QAAA,GAAA,CAAY,EAAA,QAAU,CAAA,GAAI,MAAA,CAAO,CAAA,EAAG,KAAA;AFCpD;;;AAAA,iBEUsB,aAAA,GAAA,CACpB,EAAA,QAAU,OAAA,CAAQ,CAAA,IACjB,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,KAAA;;AFLrB;;;iBEiBgB,MAAA,MAAA,CAAa,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,IAAK,CAAA;;;;iBAUpC,QAAA,MAAA,CAAe,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,GAAI,YAAA,EAAc,CAAA,GAAI,CAAA;;;AFDvE;iBEWgB,SAAA,SAAA,CACd,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,GAClB,EAAA,GAAK,KAAA,EAAO,CAAA,KAAM,CAAA,GACjB,MAAA,CAAO,CAAA,EAAG,CAAA;;;;iBAUG,QAAA,SAAA,CACd,MAAA,EAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,GAClB,EAAA,GAAK,KAAA,EAAO,CAAA,KAAM,CAAA,GACjB,MAAA,CAAO,CAAA,EAAG,CAAA;;;;;;;;;;;;;iBAuBG,OAAA,CAAQ,KAAA,YAAiB,KAAA,IAAS,KAAA;;;;;ADpJlD;;;;;AAOA;;;iBC6JgB,WAAA,CAAY,KAAA,YAAiB,KAAA,IAAS,MAAA,CAAO,cAAA;;;;;;ADhJ7D;;;;;;iBC+JgB,eAAA,CAAgB,KAAA;;;;;AFxLhC;cGyBa,kBAAA;EAAA,SACX,iBAAA;EAAA,SACA,YAAA;EAAA,SACA,SAAA;EAAA,SACA,UAAA;EAAA,SACA,aAAA;AAAA;;;AHjBF;KGuBY,mBAAA,WACF,kBAAA,eAAiC,kBAAA;;;;UAK1B,eAAA;EAAA,SACN,IAAA,EAAM,mBAAA;EAAA,SACN,OAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA,GAAQ,KAAA;AAAA;;;;UAkBF,aAAA;;WAEN,IAAA;EHvCA;EAAA,SGyCA,OAAA;AAAA;;;;;;;iBASK,gBAAA,CAAiB,YAAA,WAAuB,aAAA;;;;AH7BxD;iBGmGsB,YAAA,CACpB,YAAA,UACA,UAAA,UACA,SAAA,EAAW,iBAAA,GACV,OAAA;;;;iBA8BmB,eAAA,CAAgB,IAAA,WAAe,OAAA;;;;iBAY/B,UAAA,CAAW,IAAA,WAAe,OAAA;AH3HhD;;;AAAA,iBGuIsB,UAAA,CAAW,IAAA,WAAe,OAAA;;AHhIhD;;iBG4IsB,eAAA,CAAgB,IAAA,WAAe,OAAA;;;;;iBAQ/B,aAAA,CAAA,GAAiB,OAAA;;;;iBAwBjB,YAAA,CACpB,IAAA,WACC,OAAA,CAAQ,MAAA,SAAe,eAAA;;;;iBAoBJ,aAAA,CACpB,IAAA,UACA,OAAA,WACC,OAAA,CAAQ,MAAA,OAAa,eAAA;AH3KxB;;;AAAA,iBG+LsB,mBAAA,CACpB,IAAA,WACC,OAAA,CAAQ,MAAA,OAAa,eAAA;;;;iBAoBF,gBAAA,CACpB,YAAA,UACA,UAAA,UACA,SAAA,EAAW,QAAA,CAAS,iBAAA,IACnB,OAAA,CAAQ,MAAA,OAAa,eAAA;;;;;iBA6CF,iBAAA,CAAA,GAAqB,OAAA,CACzC,MAAA,SAAe,eAAA;;;;;;AH9WjB;iBI4BsB,mBAAA,CACpB,WAAA,UACA,OAAA,EAAS,aAAA,GACR,OAAA,CAAQ,aAAA;;;cCjBE,aAAA,EAAe,OAAA;;;cCHf,cAAA,EAAgB,OAAA;;;;;;cCDhB,gBAAA;EAAA,SACX,oBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAGF,wBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAGF,cAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAGF,aAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,uBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;AAAA;;;APCJ;UOgBiB,cAAA;;WAEN,UAAA;;WAEA,MAAA;;WAEA,WAAA;;WAEA,OAAA,EAAS,MAAA;;WAET,SAAA;EPXX;EAAA,SOaW,WAAA;AAAA;;;APCX;UOKiB,aAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;AAAA;;;;UAMM,cAAA;EPCjB;EAAA,SOCW,GAAA;;WAEA,WAAA;;WAEA,MAAA;;WAEA,UAAA;AAAA;;;;UAMM,uBAAA;EAAA,SACN,YAAA;EAAA,SACA,WAAA;EAAA,SACA,gBAAA,IAAoB,GAAA;AAAA;;;;iBAoCT,uBAAA,CAAA,GAA2B,OAAA,CAC/C,MAAA,OAAa,aAAA;;;;iBAaO,kBAAA,CAAA,GAAsB,OAAA,CAC1C,MAAA,OAAa,aAAA;;;;iBAkCO,aAAA,CAAA,GAAiB,OAAA,CAAQ,MAAA,SAAe,aAAA;;;;;;;iBAyIxC,gBAAA,CACpB,MAAA,EAAQ,QAAA,CAAS,cAAA,GACjB,SAAA,GAAY,QAAA,CAAS,uBAAA,IACpB,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,aAAA;;;;iBA8GZ,qBAAA,CAAsB,MAAA;EAAA,SACjC,WAAA;EAAA,SACA,UAAA;EAAA,SACA,MAAA;AAAA,IACP,OAAA,CAAQ,MAAA,OAAa,aAAA;;;cClaZ,eAAA;EAAA,SACX,eAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,eAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,eAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;AAAA;;ARDJ;;KQYY,iBAAA,WACF,eAAA,eAA8B,eAAA;;;;UAKvB,aAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;AAAA;;;;UAoBM,YAAA;EAAA,SACN,IAAA;EAAA,SACA,MAAA;AAAA;;;;ARnBX;;;;;AAcA;;;;;iBQyBsB,kBAAA,CACpB,cAAA,YACC,OAAA,CAAQ,MAAA,CAAO,YAAA,EAAc,aAAA;;;;;ARZhC;;;iBQkDsB,mBAAA,CACpB,MAAA,WACC,OAAA,CAAQ,MAAA,CAAO,YAAA,EAAc,aAAA;;;cC9GnB,WAAA;EAAA,SACX,aAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,WAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,qBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,wBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,qBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,wBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,gBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,sBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,mBAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,2BAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;EAAA,SAEF,aAAA;IAAA,SACE,IAAA;IAAA,SACA,OAAA;EAAA;AAAA;;;;UAiBa,UAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;AAAA;;;;UAoBM,WAAA;EAAA,SACN,QAAA;EAAA,SACA,GAAA;AAAA;;;;KAMC,iBAAA;;;;UAKK,mBAAA,SAA4B,WAAA;EAAA,SAClC,MAAA,EAAQ,iBAAA;AAAA;ATSnB;;;AAAA,USHiB,QAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,SAAA;AAAA;;;;UAUM,aAAA;EAAA,SACN,GAAA;EAAA,SACA,SAAA;EAAA,SACA,YAAA;EAAA,SACA,QAAA;;WAEA,KAAA;AAAA;ARxIX;;;AAAA,UQkJiB,uBAAA;EAAA,SACN,eAAA;EAAA,SACA,YAAA;EAAA,SACA,kBAAA,IAAsB,IAAA;EAAA,SACtB,eAAA,IAAmB,IAAA;EAAA,SACnB,eAAA;EAAA,SACA,YAAA;AAAA;;;;iBAUK,mBAAA,CAAA,GAAuB,MAAA,CAAO,WAAA,EAAa,UAAA;;;;;;;;APhK3D;;;iBOuOgB,YAAA,CAAa,MAAA,WAAiB,QAAA;;;;;;;AP/N9C;;;;iBO6SsB,kBAAA,CACpB,gBAAA,YACC,OAAA,CAAQ,MAAA,CAAO,mBAAA,EAAqB,UAAA;;;;;iBA2GjB,cAAA,CACpB,MAAA,EAAQ,WAAA,GACP,OAAA,CAAQ,MAAA,CAAO,MAAA,kBAAwB,UAAA;APnZ1C;;;;AAAA,iBOwbsB,gBAAA,CACpB,MAAA,EAAQ,WAAA,EACR,QAAA,WACC,OAAA,CAAQ,MAAA,OAAa,UAAA;;;;;;iBAgCF,WAAA,CACpB,MAAA,EAAQ,WAAA,EACR,QAAA,YACC,OAAA,CAAQ,MAAA,OAAa,UAAA;;;;;;iBAmEF,cAAA,CACpB,MAAA,EAAQ,WAAA,EACR,IAAA,WACC,OAAA,CACD,MAAA;EAAS,IAAA;EAAc,QAAA;EAAkB,KAAA;AAAA,GAAkB,UAAA;;;;;iBAyHvC,cAAA,CACpB,MAAA,EAAQ,WAAA,EACR,IAAA,WACC,OAAA,CAAQ,MAAA,OAAa,UAAA;;;;;iBAyCF,mBAAA,CACpB,MAAA,EAAQ,WAAA,EACR,MAAA,WACC,OAAA,CAAQ,MAAA,SAAe,UAAA;;;;AP7rB1B;;;;;;;iBOqvBsB,iBAAA,CACpB,MAAA,EAAQ,WAAA,EACR,WAAA,UACA,QAAA,WACA,SAAA,GAAY,uBAAA,GACX,OAAA,CAAQ,MAAA,CAAO,aAAA,EAAe,UAAA;;;cC3xB3B,MAAA,EAAQ,WAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/utils/package-manager.ts","../src/utils/file-system.ts","../src/utils/prompts.ts","../src/commands/create.ts","../src/commands/destroy.ts","../src/utils/cloud-run.ts","../src/utils/fluid-api.ts","../src/utils/turso.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -7,6 +7,7 @@ import prompts from "prompts";
7
7
  import { existsSync } from "node:fs";
8
8
  import { fileURLToPath } from "node:url";
9
9
  import Handlebars from "handlebars";
10
+ import { failure, getErrorMessage, success } from "@fluid-app/fluid-cli";
10
11
  import { execa } from "execa";
11
12
  import fs from "fs-extra";
12
13
  import path from "path";
@@ -99,133 +100,6 @@ async function promptProjectConfig(projectName, options) {
99
100
  };
100
101
  }
101
102
  //#endregion
102
- //#region src/utils/result.ts
103
- /**
104
- * Create a successful result
105
- */
106
- function success(value) {
107
- return {
108
- success: true,
109
- value
110
- };
111
- }
112
- /**
113
- * Create a failed result
114
- */
115
- function failure(error) {
116
- return {
117
- success: false,
118
- error
119
- };
120
- }
121
- /**
122
- * Type guard for successful results
123
- */
124
- function isSuccess(result) {
125
- return result.success === true;
126
- }
127
- /**
128
- * Type guard for failed results
129
- */
130
- function isFailure(result) {
131
- return result.success === false;
132
- }
133
- /**
134
- * Wrap a function that may throw into a Result-returning function
135
- */
136
- function tryCatch(fn) {
137
- try {
138
- return success(fn());
139
- } catch (error) {
140
- return failure(error instanceof Error ? error : new Error(String(error)));
141
- }
142
- }
143
- /**
144
- * Wrap an async function that may throw into a Result-returning function
145
- */
146
- async function tryCatchAsync(fn) {
147
- try {
148
- return success(await fn());
149
- } catch (error) {
150
- return failure(error instanceof Error ? error : new Error(String(error)));
151
- }
152
- }
153
- /**
154
- * Extract value from Result or throw error
155
- * Use sparingly - prefer pattern matching with isSuccess/isFailure
156
- */
157
- function unwrap(result) {
158
- if (isSuccess(result)) return result.value;
159
- throw result.error;
160
- }
161
- /**
162
- * Extract value from Result or return a default value
163
- */
164
- function unwrapOr(result, defaultValue) {
165
- if (isSuccess(result)) return result.value;
166
- return defaultValue;
167
- }
168
- /**
169
- * Map over a successful Result value
170
- */
171
- function mapResult(result, fn) {
172
- if (isSuccess(result)) return success(fn(result.value));
173
- return result;
174
- }
175
- /**
176
- * Map over a failed Result error
177
- */
178
- function mapError(result, fn) {
179
- if (isFailure(result)) return failure(fn(result.error));
180
- return result;
181
- }
182
- /**
183
- * Type guard to check if a value is an Error instance
184
- *
185
- * @example
186
- * ```ts
187
- * catch (error) {
188
- * if (isError(error)) {
189
- * console.log(error.message); // TypeScript knows this is an Error
190
- * }
191
- * }
192
- * ```
193
- */
194
- function isError(value) {
195
- return value instanceof Error;
196
- }
197
- /**
198
- * Type guard for Node.js system errors (with `code` property)
199
- *
200
- * @example
201
- * ```ts
202
- * catch (error) {
203
- * if (isNodeError(error) && error.code === "ENOENT") {
204
- * console.log("File not found");
205
- * }
206
- * }
207
- * ```
208
- */
209
- function isNodeError(value) {
210
- return value instanceof Error && "code" in value;
211
- }
212
- /**
213
- * Extract error message safely from unknown catch parameter.
214
- * Prefer type guards (isError, isNodeError) when you need the full error object.
215
- *
216
- * @example
217
- * ```ts
218
- * catch (error) {
219
- * console.log("Error: " + getErrorMessage(error));
220
- * }
221
- * ```
222
- */
223
- function getErrorMessage(error) {
224
- if (error instanceof Error) return error.message;
225
- if (typeof error === "string") return error;
226
- return String(error);
227
- }
228
- //#endregion
229
103
  //#region src/utils/file-system.ts
230
104
  const __dirname = dirname(fileURLToPath(import.meta.url));
231
105
  /**
@@ -645,17 +519,6 @@ function registerBuildCommand(ctx) {
645
519
  }
646
520
  //#endregion
647
521
  //#region src/utils/turso.ts
648
- /**
649
- * Turso database provisioning utilities
650
- *
651
- * This module provides functions for provisioning Turso databases
652
- * using the Turso Platform REST API for Fluid portal app deployments.
653
- *
654
- * Credential resolution order:
655
- * 1. Environment variables (TURSO_API_TOKEN + TURSO_ORG) — CI/CD
656
- * 2. --turso-org flag > single org > "fluid" org > current org > interactive prompt
657
- * 3. Fail with instructions for both options
658
- */
659
522
  const TURSO_API_BASE = "https://api.turso.tech/v1";
660
523
  const TURSO_ERROR = {
661
524
  MISSING_TOKEN: {
@@ -1110,12 +973,6 @@ async function provisionDatabase(config, projectName, location, callbacks) {
1110
973
  //#endregion
1111
974
  //#region src/utils/cloud-run.ts
1112
975
  /**
1113
- * Cloud Run deployment utilities
1114
- *
1115
- * This module provides functions for deploying Fluid portal apps to Google Cloud Run
1116
- * using the gcloud CLI via execa for programmatic deployments.
1117
- */
1118
- /**
1119
976
  * Cloud Run error codes and default messages
1120
977
  */
1121
978
  const CLOUD_RUN_ERRORS = {
@@ -1363,13 +1220,6 @@ async function deleteCloudRunService(config) {
1363
1220
  }
1364
1221
  //#endregion
1365
1222
  //#region src/utils/fluid-api.ts
1366
- /**
1367
- * Fluid API validation utilities
1368
- *
1369
- * This module provides functions for validating Fluid API keys
1370
- * before deploying or destroying infrastructure. Ensures the deployer
1371
- * has a valid company token before touching Cloud Run or Turso resources.
1372
- */
1373
1223
  const FLUID_API_BASE$1 = "https://api.fluid.app";
1374
1224
  const FLUID_API_ERROR = {
1375
1225
  MISSING_API_KEY: {
@@ -2225,6 +2075,6 @@ const plugin = {
2225
2075
  }
2226
2076
  };
2227
2077
  //#endregion
2228
- export { CLOUD_RUN_ERRORS, FILE_SYSTEM_ERRORS, FLUID_API_ERROR, TEMPLATES, TURSO_ERROR, copyTemplate, copyTemplateSafe, createCommand, createDatabase, createDatabaseToken, createDirectory, createDirectorySafe, plugin as default, deleteCloudRunService, deleteDatabase, deployToCloudRun, destroyCommand, directoryExists, ensureGroup, failure, fetchLocations, fileExists, getErrorMessage, getGcpProject, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, installDependencies, isError, isFailure, isNodeError, isSuccess, isTemplateName, mapError, mapResult, parseOrgList, pathExists, promptProjectConfig, provisionDatabase, readFileSafe, resolveFluidApiKey, resolveTursoConfig, runPackageManager, success, tryCatch, tryCatchAsync, unwrap, unwrapOr, validateFluidApiKey, validateGcloudAuth, validateGcloudInstalled, validateLocation, validateTursoConfig, writeFileSafe };
2078
+ export { CLOUD_RUN_ERRORS, FILE_SYSTEM_ERRORS, FLUID_API_ERROR, TEMPLATES, TURSO_ERROR, copyTemplate, copyTemplateSafe, createCommand, createDatabase, createDatabaseToken, createDirectory, createDirectorySafe, plugin as default, deleteCloudRunService, deleteDatabase, deployToCloudRun, destroyCommand, directoryExists, ensureGroup, fetchLocations, fileExists, getGcpProject, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, installDependencies, isTemplateName, parseOrgList, pathExists, promptProjectConfig, provisionDatabase, readFileSafe, resolveFluidApiKey, resolveTursoConfig, runPackageManager, validateFluidApiKey, validateGcloudAuth, validateGcloudInstalled, validateLocation, validateTursoConfig, writeFileSafe };
2229
2079
 
2230
2080
  //# sourceMappingURL=index.mjs.map