@fluid-app/fluid-cli-portal 0.1.27 → 0.1.28

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 { CliError, FluidPlugin, Result } from "@fluid-app/fluid-cli";
2
+ import { CliError, FetchClient, FluidPlugin, Result } from "@fluid-app/fluid-cli";
3
3
 
4
4
  //#region src/types.d.ts
5
5
  /**
@@ -65,6 +65,22 @@ interface WidgetCreateOptions {
65
65
  readonly category?: string;
66
66
  }
67
67
  /**
68
+ * Options for the portal deploy command
69
+ */
70
+ interface PortalDeployOptions {
71
+ readonly environment?: string;
72
+ readonly outDir?: string;
73
+ readonly dryRun?: boolean;
74
+ }
75
+ /**
76
+ * Options for the top-level widget publish command
77
+ */
78
+ interface WidgetPublishOptions {
79
+ readonly droplet: string;
80
+ readonly outDir?: string;
81
+ readonly dryRun?: boolean;
82
+ }
83
+ /**
68
84
  * Template variables for Handlebars processing
69
85
  */
70
86
  interface TemplateVariables {
@@ -212,6 +228,12 @@ declare const pushCommand: Command;
212
228
  //#region src/commands/widget-create.d.ts
213
229
  declare const widgetCommand: Command;
214
230
  //#endregion
231
+ //#region src/commands/widget-publish.d.ts
232
+ declare const topLevelWidgetCommand: Command;
233
+ //#endregion
234
+ //#region src/commands/deploy.d.ts
235
+ declare const deployCommand: Command;
236
+ //#endregion
215
237
  //#region src/commands/version.d.ts
216
238
  declare const versionCommand: Command;
217
239
  //#endregion
@@ -337,41 +359,148 @@ declare function diffAgainstSnapshot(portalDir: string, snapshot: Snapshot): Pro
337
359
  */
338
360
  declare function buildSnapshot(portalDir: string, definitionName: string, definitionId: number): Promise<Snapshot>;
339
361
  //#endregion
340
- //#region ../../api-clients/fluidos/src/generated/fluid_os.d.ts
362
+ //#region ../../api-clients/fluidos/src/generated/fluid-os-v0.d.ts
341
363
  interface components {
342
364
  schemas: {
343
- ResponseMeta: {
344
- /** @example 123e4567-e89b-12d3-a456-426614174000 */request_id?: string; /** @example 2021-01-01T00:00:00Z */
345
- timestamp?: string;
346
- }; /** @description Pagination metadata for list responses */
347
- PaginationMeta: {
348
- /**
349
- * @description Total number of items across all pages
350
- * @example 42
351
- */
352
- total_count?: number;
353
- /**
354
- * @description Total number of pages
355
- * @example 5
356
- */
357
- total_pages?: number;
358
- /**
359
- * @description Current page number
360
- * @example 1
361
- */
362
- current_page?: number;
363
- /**
364
- * @description Unique identifier for the request
365
- * @example 123e4567-e89b-12d3-a456-426614174000
366
- */
367
- request_id?: string;
368
- /**
369
- * @description Timestamp of the response
370
- * @example 2021-01-01T00:00:00Z
371
- */
365
+ Meta: {
366
+ request_id?: string; /** Format: date-time */
372
367
  timestamp?: string;
368
+ };
369
+ PaginatedMeta: {
370
+ current_page: number;
371
+ request_id: string; /** Format: date-time */
372
+ timestamp: string;
373
+ total_count: number;
374
+ total_pages: number;
375
+ };
376
+ ErrorResponse: {
377
+ error_message: string;
378
+ errors: components["schemas"]["ErrorBag"];
379
+ meta: components["schemas"]["Meta"];
380
+ };
381
+ UnauthorizedResponse: {
382
+ message: string;
383
+ }; /** @description Any valid JSON value for provider, integration, theme, metadata, or other dynamic payloads whose keys are not fixed by the API contract. */
384
+ JsonValue: string | number | boolean | null | components["schemas"]["JsonValue"][] | {
385
+ [key: string]: components["schemas"]["JsonValue"];
386
+ }; /** @description A validation or API error value. */
387
+ ErrorValue: string | string[] | components["schemas"]["JsonValue"]; /** @description Validation errors keyed by field, a list of errors, a single error message, or null when no structured error details are available. */
388
+ ErrorBag: string | components["schemas"]["ErrorValue"][] | {
389
+ [key: string]: components["schemas"]["ErrorValue"];
390
+ } | null; /** @description An API error message represented as text or structured JSON. */
391
+ ErrorMessage: string | components["schemas"]["ErrorBag"] | null; /** @description Common legacy error response envelope. Older endpoints may return one or more of these fields depending on the controller path. */
392
+ StandardErrorResponse: {
393
+ message?: string;
394
+ error?: components["schemas"]["ErrorMessage"];
395
+ error_message?: components["schemas"]["ErrorMessage"];
396
+ errors?: components["schemas"]["ErrorBag"];
397
+ meta?: components["schemas"]["Meta"];
373
398
  } & {
374
- [key: string]: unknown;
399
+ [key: string]: components["schemas"]["JsonValue"];
400
+ }; /** @description Common legacy unauthorized response envelope. */
401
+ StandardUnauthorizedResponse: components["schemas"]["StandardErrorResponse"];
402
+ FluidOSDefinitionListResponse: {
403
+ definitions: components["schemas"]["FluidOSDefinitionBasic"][];
404
+ meta: components["schemas"]["PaginatedMeta"];
405
+ };
406
+ FluidOSDefinitionRequest: {
407
+ definition?: {
408
+ name: string;
409
+ active?: boolean;
410
+ } | null;
411
+ };
412
+ FluidOSDefinitionUpdateRequest: {
413
+ definition?: {
414
+ name?: string;
415
+ active?: boolean;
416
+ } | null;
417
+ };
418
+ FluidOSNavigationItemCreateRequest: {
419
+ navigation_item?: {
420
+ icon?: string;
421
+ label: string;
422
+ position: number;
423
+ parent_id?: number | null;
424
+ screen_id?: number | null;
425
+ slug?: string | null;
426
+ source?: "user" | "system" | "code" | null;
427
+ } | null;
428
+ };
429
+ FluidOSNavigationCreateRequest: {
430
+ navigation?: {
431
+ name: string;
432
+ platform: string;
433
+ } | null;
434
+ };
435
+ FluidOSProfileCreateRequest: {
436
+ profile?: {
437
+ name: string;
438
+ default?: boolean;
439
+ navigation_id?: number;
440
+ mobile_navigation_id?: number;
441
+ navigation_attributes?: {
442
+ name: string;
443
+ navigation_items_attributes?: Partial<NonNullable<components["schemas"]["FluidOSNavigationItemCreateRequest"]["navigation_item"]>>[];
444
+ };
445
+ mobile_navigation_attributes?: {
446
+ name: string;
447
+ navigation_items_attributes?: Partial<NonNullable<components["schemas"]["FluidOSNavigationItemCreateRequest"]["navigation_item"]>>[];
448
+ };
449
+ theme_ids?: number[];
450
+ permissions?: components["schemas"]["FluidOSDynamicPayload"];
451
+ } | null;
452
+ };
453
+ FluidOSScreenCreateRequest: {
454
+ screen?: {
455
+ name: string;
456
+ slug: string;
457
+ component_tree?: components["schemas"]["FluidOSDynamicPayload"] | null;
458
+ } | null;
459
+ };
460
+ FluidOSThemeCreateRequest: {
461
+ theme?: {
462
+ config: components["schemas"]["FluidOSDynamicPayload"];
463
+ name: string;
464
+ active?: boolean;
465
+ } | null;
466
+ };
467
+ FluidOSNavigationItemUpdateRequest: {
468
+ navigation_item?: Partial<NonNullable<components["schemas"]["FluidOSNavigationItemCreateRequest"]["navigation_item"]>> | null;
469
+ };
470
+ FluidOSNavigationUpdateRequest: {
471
+ navigation?: {
472
+ name?: string;
473
+ platform?: "web" | "mobile";
474
+ } | null;
475
+ };
476
+ FluidOSProfileUpdateRequest: {
477
+ profile?: {
478
+ name?: string;
479
+ default?: boolean;
480
+ navigation_id?: number;
481
+ mobile_navigation_id?: number;
482
+ theme_ids?: number[];
483
+ permissions?: components["schemas"]["FluidOSDynamicPayload"];
484
+ } | null;
485
+ };
486
+ FluidOSScreenUpdateRequest: {
487
+ screen?: {
488
+ name?: string;
489
+ slug?: string;
490
+ component_tree?: components["schemas"]["FluidOSDynamicPayload"] | null;
491
+ } | null;
492
+ };
493
+ FluidOSThemeUpdateRequest: {
494
+ theme?: {
495
+ name?: string;
496
+ active?: boolean;
497
+ config?: components["schemas"]["FluidOSDynamicPayload"];
498
+ } | null;
499
+ };
500
+ FluidOSVersionUpdateRequest: {
501
+ version?: {
502
+ active?: boolean;
503
+ } | null;
375
504
  }; /** FluidOS::NavigationItem */
376
505
  FluidOSNavigationItem: {
377
506
  id: number;
@@ -381,286 +510,235 @@ interface components {
381
510
  position?: number | null;
382
511
  screen_id?: number | null;
383
512
  slug?: string | null; /** @enum {string} */
384
- source: "user" | "system" | "code";
385
- children: components["schemas"]["FluidOSNavigationItem"][];
386
- }; /** @description Permission configuration object defining access rights. Empty arrays mean 'allow all' for that dimension. */
387
- FluidOSPermissions: {
388
- /** @description Array of rank IDs that can access this profile. Empty array allows all ranks. */ranks?: number[]; /** @description Array of roles that can access this profile. Empty array allows all roles. */
389
- roles?: string[]; /** @description Array of platforms that can access this profile. Empty array allows all platforms. */
390
- platform?: ("mobile" | "browser")[]; /** @description Array of country IDs that can access this profile. Empty array allows all countries. */
391
- countries?: number[];
392
- }; /** @description Standard error response */
393
- Error: {
394
- /**
395
- * @description Simple error message (used for 404 and other simple errors)
396
- * @example Resource not found
397
- * @example Unauthorized
398
- */
399
- error?: string;
400
- /**
401
- * @description Error message for validation errors
402
- * @example Invalid parameters
403
- */
404
- error_message?: string;
405
- /**
406
- * @description Detailed validation errors by field
407
- * @example {
408
- * "definition": {
409
- * "name": [
410
- * "must be filled"
411
- * ]
412
- * }
413
- * }
414
- */
415
- errors?: {
416
- [key: string]: unknown;
417
- };
418
- meta?: components["schemas"]["ResponseMeta"];
419
- } & {
420
- [key: string]: unknown;
421
- }; /** @description A profile optimized for rendering, with permissions stripped. Contains only the data needed to render the app. */
422
- FluidOSRendererProfile: {
423
- /** @description Unique identifier for the profile */id?: number; /** @description Display name of the profile */
424
- name?: string; /** @description Whether this is the default profile for its platform */
425
- default?: boolean; /** @description Navigation configuration for this profile */
426
- navigation?: {
427
- /** @description Tree structure of navigation items */navigation_tree?: components["schemas"]["FluidOSNavigationItem"][];
428
- }; /** @description Array of theme IDs associated with this profile */
429
- themes?: number[];
430
- }; /** @description The Fluid OS manifest optimized for rendering. Contains a single matched profile based on platform, country, rank, and role parameters, along with filtered screens and themes. */
431
- FluidOSRendererManifest: {
432
- /** @description Name of the Fluid OS app */name?: string; /** @description ID of the Fluid OS definition */
433
- definition_id?: number; /** @description Version number of the published manifest */
434
- published_version?: number;
435
- /**
436
- * Format: date-time
437
- * @description When this version was published
438
- */
439
- published_at?: string; /** @description Navigation configurations for the app */
440
- navigations?: components["schemas"]["FluidOSNavigationBasic"][]; /** @description The best matching profile for the given parameters */
441
- profile?: components["schemas"]["FluidOSRendererProfile"]; /** @description Screens associated with the matched profile's navigation */
442
- screens?: components["schemas"]["FluidOSScreen"][]; /** @description Themes associated with the matched profile */
443
- themes?: components["schemas"]["FluidOSTheme"][];
444
- }; /** FluidOS::Navigation */
445
- FluidOSNavigationBasic: {
513
+ source?: "user" | "system" | "code";
514
+ children?: components["schemas"]["FluidOSNavigationItem"][];
515
+ }; /** FluidOS::Screen */
516
+ FluidOSScreenBasic: {
446
517
  id: number;
447
518
  name?: string | null;
448
- definition_id: number; /** @enum {string} */
449
- platform: "web" | "mobile";
519
+ slug?: string | null;
520
+ definition_id: number;
450
521
  }; /** FluidOS::Screen */
451
522
  FluidOSScreen: {
452
523
  id: number;
453
524
  name?: string | null;
454
525
  slug?: string | null;
455
526
  definition_id: number;
456
- component_tree?: Record<string, unknown> | null;
527
+ component_tree?: components["schemas"]["FluidOSDynamicPayload"];
457
528
  }; /** FluidOS::Theme */
458
529
  FluidOSTheme: {
459
530
  id: number;
460
- config?: Record<string, unknown> | null;
531
+ config?: components["schemas"]["FluidOSDynamicPayload"];
461
532
  active?: boolean | null;
462
533
  name?: string | null;
463
534
  definition_id: number;
464
- }; /** FluidOS::Definition */
465
- FluidOSDefinition: {
535
+ }; /** FluidOS::Navigation */
536
+ FluidOSNavigationBasic: {
466
537
  id: number;
467
538
  name?: string | null;
468
- active?: boolean | null;
469
- profiles: components["schemas"]["FluidOSProfile"][];
470
- screens: components["schemas"]["FluidOSScreenBasic"][];
471
- navigations: components["schemas"]["FluidOSNavigationBasic"][];
472
- themes: components["schemas"]["FluidOSTheme"][];
473
- }; /** FluidOS::Definition */
474
- FluidOSDefinitionBasic: {
539
+ definition_id: number; /** @enum {string} */
540
+ platform: "web" | "mobile";
541
+ }; /** FluidOS::Navigation */
542
+ FluidOSNavigation: {
475
543
  id: number;
476
544
  name?: string | null;
477
- active?: boolean | null;
478
- };
479
- FluidOSDefinitionCreate: {
480
- definition: {
481
- name: string;
482
- active?: boolean;
483
- };
484
- };
485
- FluidOSDefinitionUpdate: {
486
- definition: {
487
- name?: string;
488
- active?: boolean;
489
- };
490
- }; /** FluidOS::Screen */
491
- FluidOSScreenBasic: {
545
+ definition_id: number; /** @enum {string} */
546
+ platform: "web" | "mobile";
547
+ screens?: components["schemas"]["FluidOSScreen"][];
548
+ }; /** FluidOS::Navigation */
549
+ FluidOSNavigationWithItems: {
492
550
  id: number;
493
551
  name?: string | null;
494
- slug?: string | null;
495
- definition_id: number;
496
- };
497
- FluidOSScreenCreate: {
498
- screen: {
499
- name: string;
500
- slug: string;
501
- component_tree?: null | Record<string, unknown>;
502
- };
503
- };
504
- FluidOSScreenUpdate: {
505
- screen?: unknown;
552
+ definition_id: number; /** @enum {string} */
553
+ platform: "web" | "mobile";
554
+ navigation_items?: components["schemas"]["FluidOSNavigationItem"][];
506
555
  }; /** FluidOS::Profile */
507
556
  FluidOSProfile: {
508
557
  id: number;
509
558
  name?: string | null;
510
559
  default?: boolean | null;
511
- permissions?: components["schemas"]["FluidOSPermissions"] | null;
560
+ permissions?: components["schemas"]["FluidOSDynamicPayload"];
512
561
  definition_id: number;
513
- navigation: components["schemas"]["FluidOSNavigationWithItems"];
514
- mobile_navigation: components["schemas"]["FluidOSNavigationWithItems"];
515
- themes: components["schemas"]["FluidOSTheme"][];
562
+ navigation?: components["schemas"]["FluidOSNavigationWithItems"] | null;
563
+ mobile_navigation?: components["schemas"]["FluidOSNavigationWithItems"];
564
+ themes?: components["schemas"]["FluidOSTheme"][];
516
565
  }; /** FluidOS::Profile */
517
566
  FluidOSProfileWithScreens: {
518
567
  id: number;
519
568
  name?: string | null;
520
569
  default?: boolean | null;
521
- permissions?: components["schemas"]["FluidOSPermissions"] | null;
570
+ permissions?: components["schemas"]["FluidOSDynamicPayload"];
522
571
  definition_id: number;
523
- navigation: components["schemas"]["FluidOSNavigationWithItems"];
524
- mobile_navigation: components["schemas"]["FluidOSNavigationWithItems"];
525
- themes: components["schemas"]["FluidOSTheme"][];
526
- screens: {
527
- [key: string]: unknown;
528
- }[];
529
- };
530
- FluidOSProfileCreate: {
531
- profile: {
532
- name: string;
533
- default?: boolean; /** @description Mutually exclusive with navigation_attributes */
534
- navigation_id?: number; /** @description Mutually exclusive with mobile_navigation_attributes */
535
- mobile_navigation_id?: number; /** @description Mutually exclusive with navigation_id */
536
- navigation_attributes?: {
537
- name: string;
538
- navigation_items_attributes?: {
539
- screen_id?: number;
540
- icon?: string;
541
- label?: string;
542
- position?: number;
543
- parent_id?: number;
544
- slug?: string; /** @enum {null|string} */
545
- source?: "user" | "system" | "code" | null;
546
- }[];
547
- }; /** @description Mutually exclusive with mobile_navigation_id */
548
- mobile_navigation_attributes?: {
549
- name: string;
550
- navigation_items_attributes?: {
551
- screen_id?: number;
552
- icon?: string;
553
- label?: string;
554
- position?: number;
555
- parent_id?: number;
556
- slug?: string; /** @enum {null|string} */
557
- source?: "user" | "system" | "code" | null;
558
- }[];
559
- };
560
- theme_ids?: number[];
561
- permissions?: {
562
- countries?: number[];
563
- ranks?: number[];
564
- roles?: string[];
565
- platform?: string[];
566
- };
567
- };
568
- };
569
- FluidOSProfileUpdate: {
570
- profile: {
571
- name?: string;
572
- default?: boolean;
573
- navigation_id?: number;
574
- mobile_navigation_id?: number;
575
- theme_ids?: number[];
576
- permissions?: {
577
- countries?: number[];
578
- ranks?: number[];
579
- roles?: string[];
580
- platform?: string[];
581
- };
582
- };
583
- };
584
- FluidOSThemeCreate: {
585
- theme: {
586
- name: string;
587
- config: Record<string, unknown>;
588
- active?: boolean;
589
- };
590
- };
591
- FluidOSThemeUpdate: {
592
- theme: {
593
- name?: string;
594
- active?: boolean;
595
- config?: Record<string, unknown>;
596
- };
597
- }; /** FluidOS::Navigation */
598
- FluidOSNavigation: {
572
+ navigation?: components["schemas"]["FluidOSNavigationWithItems"] | null;
573
+ mobile_navigation?: components["schemas"]["FluidOSNavigationWithItems"];
574
+ themes?: components["schemas"]["FluidOSTheme"][];
575
+ screens?: components["schemas"]["FluidOSScreen"][];
576
+ }; /** FluidOS::Definition */
577
+ FluidOSDefinitionBasic: {
599
578
  id: number;
600
579
  name?: string | null;
601
- definition_id: number; /** @enum {string} */
602
- platform: "web" | "mobile";
603
- screens: {
604
- id: number;
605
- name?: string | null;
606
- slug?: string | null;
607
- definition_id: number;
608
- component_tree?: Record<string, unknown> | null;
609
- }[];
610
- }; /** FluidOS::Navigation */
611
- FluidOSNavigationWithItems: {
580
+ active?: boolean | null;
581
+ }; /** FluidOS::Definition */
582
+ FluidOSDefinition: {
612
583
  id: number;
613
584
  name?: string | null;
614
- definition_id: number; /** @enum {string} */
615
- platform: "web" | "mobile";
616
- navigation_items: components["schemas"]["FluidOSNavigationItem"][];
617
- };
618
- FluidOSNavigationCreate: {
619
- navigation: {
620
- name: string; /** @enum {string} */
621
- platform: "web" | "mobile";
622
- };
623
- };
624
- FluidOSNavigationUpdate: {
625
- navigation: {
626
- name?: string; /** @enum {string} */
627
- platform?: "web" | "mobile";
628
- };
629
- };
630
- FluidOSNavigationItemCreate: {
631
- navigation_item: {
632
- icon?: string;
633
- label: string;
634
- position: number;
635
- parent_id?: null | number;
636
- screen_id?: null | number;
637
- slug?: null | string; /** @enum {null|string} */
638
- source?: "user" | "system" | "code" | null;
639
- };
640
- };
641
- FluidOSNavigationItemUpdate: {
642
- navigation_item: {
643
- icon?: string;
644
- label?: string;
645
- position?: number;
646
- parent_id?: null | number;
647
- screen_id?: null | number;
648
- slug?: null | string; /** @enum {null|string} */
649
- source?: "user" | "system" | "code" | null;
650
- };
585
+ active?: boolean | null;
586
+ profiles?: components["schemas"]["FluidOSProfile"][];
587
+ screens?: components["schemas"]["FluidOSScreenBasic"][];
588
+ navigations?: components["schemas"]["FluidOSNavigationBasic"][];
589
+ themes?: components["schemas"]["FluidOSTheme"][];
651
590
  }; /** FluidOS::Version */
652
591
  FluidOSVersion: {
653
592
  id: number;
654
593
  active?: boolean | null;
655
- manifest?: Record<string, unknown> | null; /** Format: date-time */
594
+ manifest?: components["schemas"]["FluidOSDynamicPayload"]; /** Format: date-time */
656
595
  published_at?: string | null;
657
596
  definition_id: number;
658
- };
659
- FluidOSVersionUpdate: {
660
- version: {
661
- active?: boolean;
597
+ }; /** @description Couples each widget package artifact path class with the only accepted contentType value. */
598
+ FluidOSWidgetPackageVersionArtifactContentTypeConstraint: {
599
+ /** @constant */path: "widget.js"; /** @constant */
600
+ contentType: "application/javascript";
601
+ } | {
602
+ /** @constant */path: "manifest.json"; /** @constant */
603
+ contentType: "application/json";
604
+ } | {
605
+ path: string; /** @constant */
606
+ contentType: "text/css";
607
+ } | {
608
+ path: string; /** @constant */
609
+ contentType: "application/json";
610
+ }; /** @description Couples each widget package artifact path class with the only accepted contentType/content_type alias values when supplied. */
611
+ FluidOSWidgetPackageVersionCompletionArtifactContentTypeConstraint: {
612
+ /** @constant */path: "widget.js"; /** @constant */
613
+ contentType?: "application/javascript"; /** @constant */
614
+ content_type?: "application/javascript";
615
+ } | {
616
+ /** @constant */path: "manifest.json"; /** @constant */
617
+ contentType?: "application/json"; /** @constant */
618
+ content_type?: "application/json";
619
+ } | {
620
+ path: string; /** @constant */
621
+ contentType?: "text/css"; /** @constant */
622
+ content_type?: "text/css";
623
+ } | {
624
+ path: string; /** @constant */
625
+ contentType?: "application/json"; /** @constant */
626
+ content_type?: "application/json";
627
+ }; /** @description Artifact metadata required before Fluid OS widget package upload URLs can be issued. Artifact paths must be unique within the request, and the artifact list must include widget.js and manifest.json before upload URLs are issued. Artifact paths are top-level package artifact filenames only; accepted names are widget.js, manifest.json, *.css, and *.js.map with no slash paths. Accepted content types are application/javascript for widget.js, application/json for manifest.json and *.js.map, and text/css for *.css. Byte sizes are non-negative and checked against configured per-artifact and bundle limits; defaults are 5 MiB per artifact and 10 MiB per bundle unless environment config changes them. */
628
+ FluidOSWidgetPackageVersionArtifactInput: {
629
+ /** @description Top-level package artifact filename. Accepted names are widget.js, manifest.json, *.css, or *.js.map; slash paths are not accepted. */path: string; /** @description Expected SHA256 checksum for the artifact content. */
630
+ sha256: string; /** @description Expected artifact size in bytes. Checked against configured per-artifact and bundle limits; defaults are 5 MiB per artifact and 10 MiB per bundle unless environment config changes them. */
631
+ bytes: number;
632
+ /**
633
+ * @description MIME content type used when uploading the artifact. Accepted values are application/javascript for widget.js, application/json for manifest.json and *.js.map, and text/css for *.css.
634
+ * @enum {string}
635
+ */
636
+ contentType: "application/javascript" | "application/json" | "text/css";
637
+ } & components["schemas"]["FluidOSWidgetPackageVersionArtifactContentTypeConstraint"]; /** @description Request payload for starting a company-owned Fluid OS widget package version publish flow. Artifact paths must be unique top-level package artifact filenames. The artifacts list must include widget.js and manifest.json so the API can issue upload URLs and later verify the completed upload. */
638
+ FluidOSWidgetPackageVersionCreateRequest: {
639
+ /** @description Non-empty, object-path-safe company-owned widget package key. Use URL-safe characters only; . and .. are not accepted. */package_key: string; /** @description Non-empty, object-path-safe widget package version identifier accepted in the URL and upload path. Dotted versions such as 1.0.0 are accepted; only exact . or .. path segments and characters outside [A-Za-z0-9._~-] are rejected. */
640
+ version: string; /** @description Fluid OS builder version that produced this package. */
641
+ builder_version: string; /** @description Fluid OS CLI version that published this package. */
642
+ cli_version: string; /** @description Fluid OS runtime version targeted by this package. */
643
+ runtime_version: string; /** @description SHA256 checksum of the serialized manifest JSON. */
644
+ manifest_hash: string; /** @description Widget package manifest JSON. It must use the supported widget manifest structure, contain at least one extractable widget type, and every widget type in that structure must use the company-owned prefix `company.<package_key>.`. */
645
+ manifest: {
646
+ [key: string]: components["schemas"]["JsonValue"];
647
+ }; /** @description Top-level package artifacts to upload. The list must include widget.js and manifest.json. */
648
+ artifacts: components["schemas"]["FluidOSWidgetPackageVersionArtifactInput"][] & (unknown & unknown); /** @description Optional publisher metadata stored with the package version. */
649
+ build_metadata?: {
650
+ [key: string]: components["schemas"]["JsonValue"];
662
651
  };
652
+ }; /** @description Upload instructions for a widget package artifact. */
653
+ FluidOSWidgetPackageVersionUpload: {
654
+ /** @description Top-level package artifact filename. */path: string; /** Format: uri */
655
+ upload_url: string; /** Format: uri */
656
+ public_url: string;
657
+ }; /** @description Upload session details for a pending Fluid OS widget package version. */
658
+ FluidOSWidgetPackageVersionCreateResponse: {
659
+ version_id: number; /** Format: uri */
660
+ artifact_base_url: string;
661
+ uploads: components["schemas"]["FluidOSWidgetPackageVersionUpload"][];
662
+ }; /** @description Optional artifact metadata supplied when completing a widget package upload. Artifact paths must be unique top-level package artifact filenames within the request; accepted names are widget.js, manifest.json, *.css, and *.js.map with no slash paths. Accepted content types are application/javascript for widget.js, application/json for manifest.json and *.js.map, and text/css for *.css. Byte sizes are non-negative and checked against configured per-artifact and bundle limits; defaults are 5 MiB per artifact and 10 MiB per bundle unless environment config changes them. sha256/checksum, bytes/size, and contentType/content_type are accepted aliases and must match when both aliases are present; supplied artifact metadata is compared with the stored upload-session/package version artifact metadata during verification. If artifacts are supplied, they must include exactly the stored upload-session artifact paths. Manifest verification is separate and happens against uploaded artifact content. */
663
+ FluidOSWidgetPackageVersionCompletionArtifactInput: {
664
+ /** @description Top-level package artifact filename. Accepted names are widget.js, manifest.json, *.css, or *.js.map; slash paths are not accepted. */path: string; /** @description Expected SHA256 checksum for the artifact content. */
665
+ sha256?: string; /** @description Alias for sha256. */
666
+ checksum?: string; /** @description Expected artifact size in bytes. Checked against configured per-artifact and bundle limits; defaults are 5 MiB per artifact and 10 MiB per bundle unless environment config changes them. */
667
+ bytes?: number; /** @description Alias for bytes; checked against the same configured per-artifact and bundle limits. */
668
+ size?: number;
669
+ /**
670
+ * @description MIME content type for the artifact. Accepted values are application/javascript for widget.js, application/json for manifest.json and *.js.map, and text/css for *.css.
671
+ * @enum {string}
672
+ */
673
+ contentType?: "application/javascript" | "application/json" | "text/css";
674
+ /**
675
+ * @description Alias for contentType.
676
+ * @enum {string}
677
+ */
678
+ content_type?: "application/javascript" | "application/json" | "text/css";
679
+ } & components["schemas"]["FluidOSWidgetPackageVersionCompletionArtifactContentTypeConstraint"]; /** @description Request payload for verifying uploaded company-owned Fluid OS widget package artifacts. The version path parameter, optional package_key, and any supplied artifact metadata must match the stored upload-session/package version artifact metadata before the package version is approved. If artifacts are supplied, they must include exactly the stored upload-session artifact paths. Uploaded manifest.json is verified for matching packageId, matching version, and valid company-owned `company.<package_key>.` widget type prefixes. */
680
+ FluidOSWidgetPackageVersionCompleteUploadRequest: {
681
+ /** @description Optional non-empty, object-path-safe widget package key. When omitted, the company's widget package is used; . and .. are not accepted. */package_key?: string | null; /** @description Optional artifact metadata to compare with the stored upload session. When supplied, the list must include exactly the stored upload-session artifact paths; omissions and extras are rejected. */
682
+ artifacts?: components["schemas"]["FluidOSWidgetPackageVersionCompletionArtifactInput"][];
683
+ }; /** @description Approved Fluid OS widget package version details. */
684
+ FluidOSWidgetPackageVersionCompleteUploadResponse: {
685
+ status: string;
686
+ packageId: string; /** @description Non-empty, object-path-safe widget package version identifier. Dotted versions such as 1.0.0 are accepted; only exact . or .. path segments and characters outside [A-Za-z0-9._~-] are rejected. */
687
+ version: string; /** Format: uri */
688
+ scriptUrl: string;
689
+ cssUrls: string[]; /** Format: uri */
690
+ manifestUrl: string;
691
+ }; /** @description Flat verification failure response returned when uploaded artifacts do not match the package manifest or expected metadata. */
692
+ FluidOSWidgetPackageVersionVerificationErrorResponse: {
693
+ /** @enum {string} */status: "error";
694
+ error_message: string;
695
+ details: {
696
+ [key: string]: components["schemas"]["JsonValue"];
697
+ };
698
+ }; /** @description Dynamic Fluid OS JSON payload whose keys are defined by the app builder configuration. */
699
+ FluidOSDynamicPayload: {
700
+ [key: string]: components["schemas"]["JsonValue"];
701
+ } | null;
702
+ FluidOSWidgetPackageCatalogEntry: {
703
+ /**
704
+ * @description Package ownership source for the shared widget loading path.
705
+ * @enum {string}
706
+ */
707
+ source: "company" | "droplet";
708
+ /**
709
+ * @description Runtime package identifier prefixed by source.
710
+ * @example company.portal-home
711
+ * @example droplet.reviews
712
+ */
713
+ packageId: string; /** @description Approved package version currently active for this owner. */
714
+ version: string; /** @description Public module script URL for the package runtime artifact. */
715
+ scriptUrl: string | null; /** @description Public stylesheet URLs for the package runtime artifacts. */
716
+ cssUrls: string[]; /** @description Public URL for the package manifest artifact. */
717
+ manifestUrl: string | null; /** @description Approved package manifest JSON used by the runtime loader. */
718
+ manifest: {
719
+ [key: string]: components["schemas"]["JsonValue"];
720
+ };
721
+ };
722
+ FluidOSWidgetPackageCatalogResponse: {
723
+ packages: components["schemas"]["FluidOSWidgetPackageCatalogEntry"][];
724
+ };
725
+ FluidOSWidgetPackageDropletForbiddenResponse: {
726
+ error: {
727
+ message: string;
728
+ details?: {
729
+ [key: string]: components["schemas"]["JsonValue"];
730
+ };
731
+ }; /** @enum {integer} */
732
+ status: 403;
733
+ meta?: components["schemas"]["Meta"];
734
+ };
735
+ FluidOSWidgetPackageRoleForbiddenResponse: {
736
+ message: string;
663
737
  };
738
+ FluidOSWidgetPackagePermissionForbiddenResponse: {
739
+ error: string;
740
+ };
741
+ FluidOSWidgetPackageForbiddenResponse: components["schemas"]["FluidOSWidgetPackageDropletForbiddenResponse"] | components["schemas"]["FluidOSWidgetPackageRoleForbiddenResponse"] | components["schemas"]["FluidOSWidgetPackagePermissionForbiddenResponse"];
664
742
  };
665
743
  responses: never;
666
744
  parameters: never;
@@ -802,8 +880,288 @@ declare function categorizeChanges(diff: SnapshotDiff): CategorizedChanges;
802
880
  */
803
881
  declare function validateCrossReferences(portalDir: string, mappings: PortalMappings, changes: CategorizedChanges): Promise<ValidationError[]>;
804
882
  //#endregion
883
+ //#region src/utils/widget-package-validation.d.ts
884
+ type WidgetPackageOwnerKind = "company" | "droplet";
885
+ type WidgetRuntimeContainer = "inline" | "block" | "card" | "fullscreen";
886
+ type WidgetRuntimeResizable = boolean | "horizontal" | "vertical" | "both";
887
+ interface SourceWidgetMetadata {
888
+ readonly name: string;
889
+ readonly displayName?: string;
890
+ readonly description?: string;
891
+ readonly icon?: string;
892
+ readonly category?: string;
893
+ readonly propertySchema?: Record<string, unknown>;
894
+ readonly defaultProps?: Record<string, unknown>;
895
+ readonly container?: unknown;
896
+ readonly minSdkVersion?: string;
897
+ readonly resizable?: unknown;
898
+ }
899
+ interface SourceWidgetPackageMetadata {
900
+ readonly manifestVersion?: number;
901
+ readonly scope?: string;
902
+ readonly packageStableId?: string;
903
+ readonly packageId: string;
904
+ readonly packageType?: string;
905
+ readonly version: string;
906
+ readonly widgets: readonly SourceWidgetMetadata[];
907
+ readonly cssUrls?: readonly string[];
908
+ }
909
+ interface WidgetDescriptorMetadata {
910
+ readonly type: string;
911
+ readonly name: string;
912
+ readonly displayName: string;
913
+ readonly description: string;
914
+ readonly icon: string;
915
+ readonly category: string;
916
+ readonly propertySchema: Record<string, unknown>;
917
+ readonly defaultProps: Record<string, unknown>;
918
+ readonly container: WidgetRuntimeContainer;
919
+ readonly minSdkVersion: string;
920
+ readonly resizable: WidgetRuntimeResizable;
921
+ }
922
+ interface WidgetPackageDescriptorMetadata {
923
+ readonly manifestVersion: 1;
924
+ readonly packageId: string;
925
+ readonly packageType: WidgetPackageOwnerKind;
926
+ readonly version: string;
927
+ readonly remoteEntryUrl: string;
928
+ readonly cssUrls: readonly string[];
929
+ readonly widgets: readonly WidgetDescriptorMetadata[];
930
+ }
931
+ interface ValidatedWidgetPackageBuild {
932
+ readonly sourcePackage: SourceWidgetPackageMetadata;
933
+ readonly packageKey: string;
934
+ readonly packageId: string;
935
+ readonly owner: WidgetPackageOwnerKind;
936
+ readonly version: string;
937
+ readonly widgets: readonly WidgetDescriptorMetadata[];
938
+ }
939
+ type WidgetPackageValidationErrorCode = "NO_SOURCE_PACKAGE" | "MULTIPLE_SOURCE_PACKAGES" | "INVALID_SOURCE_PACKAGE" | "INVALID_WIDGET_METADATA" | "UNSUPPORTED_OWNER" | "INVALID_PACKAGE_KEY" | "INVALID_VERSION" | "NO_WIDGETS" | "INVALID_WIDGET_NAME" | "INVALID_WIDGET_TYPE" | "DUPLICATE_WIDGET";
940
+ interface WidgetPackageValidationError {
941
+ readonly code: WidgetPackageValidationErrorCode;
942
+ readonly message: string;
943
+ readonly path?: string;
944
+ }
945
+ interface WidgetPackageValidationResult {
946
+ readonly success: boolean;
947
+ readonly value?: ValidatedWidgetPackageBuild;
948
+ readonly errors: readonly WidgetPackageValidationError[];
949
+ }
950
+ interface ValidateSourceWidgetPackageOptions {
951
+ readonly owner?: WidgetPackageOwnerKind;
952
+ }
953
+ declare function validateSingleSourceWidgetPackage(sourcePackages: readonly unknown[], options?: ValidateSourceWidgetPackageOptions): WidgetPackageValidationResult;
954
+ declare function buildWidgetPackageDescriptor(validated: ValidatedWidgetPackageBuild, options?: {
955
+ readonly remoteEntryUrl?: string;
956
+ readonly cssUrls?: readonly string[];
957
+ }): WidgetPackageDescriptorMetadata;
958
+ //#endregion
959
+ //#region src/utils/widget-package-builder.d.ts
960
+ interface BuildSharedWidgetPackageOptions {
961
+ readonly projectDir: string;
962
+ readonly publishDir?: string;
963
+ readonly owner?: WidgetPackageOwnerKind;
964
+ }
965
+ interface SharedWidgetPackageBuildResult {
966
+ readonly publishDir: string;
967
+ readonly packageId: string;
968
+ readonly version: string;
969
+ readonly manifestPath: string;
970
+ readonly publishManifestPath: string;
971
+ readonly widgetScriptPath: string;
972
+ }
973
+ interface SharedWidgetPackageBuildError {
974
+ readonly code: "CONFIG_LOAD_FAILED" | "VALIDATION_FAILED" | "INVALID_PUBLISH_DIR" | "WRITE_FAILED";
975
+ readonly message: string;
976
+ readonly details?: string;
977
+ }
978
+ declare function buildSharedWidgetPackage(options: BuildSharedWidgetPackageOptions): Promise<Result<SharedWidgetPackageBuildResult, SharedWidgetPackageBuildError>>;
979
+ declare function createWidgetPackageEntrySource(options: {
980
+ readonly configImportPath: string;
981
+ readonly validated: ValidatedWidgetPackageBuild;
982
+ }): string;
983
+ //#endregion
984
+ //#region src/utils/widget-package-config.d.ts
985
+ interface WidgetSourceConfig {
986
+ readonly path: string;
987
+ readonly relativePath: string;
988
+ }
989
+ interface WidgetSourceConfigLoadError {
990
+ readonly code: "CONFIG_LOAD_FAILED" | "INVALID_FORMAT";
991
+ readonly message: string;
992
+ readonly details?: string;
993
+ }
994
+ declare function resolvePortalWidgetSourceConfig(projectDir: string): Promise<WidgetSourceConfig | undefined>;
995
+ declare function loadSourceWidgetPackages(projectDir: string): Promise<Result<unknown[], WidgetSourceConfigLoadError>>;
996
+ //#endregion
997
+ //#region src/utils/widget-package-artifacts.d.ts
998
+ declare const WIDGET_PACKAGE_BUILDER_VERSION = "1";
999
+ interface ArtifactMetadata {
1000
+ readonly path: string;
1001
+ readonly sha256: string;
1002
+ readonly bytes: number;
1003
+ readonly contentType: string;
1004
+ }
1005
+ interface PublishManifestMetadata {
1006
+ readonly packageId: string;
1007
+ readonly version: string;
1008
+ readonly builderVersion: string;
1009
+ readonly cliVersion: string;
1010
+ readonly runtimeVersion: string;
1011
+ readonly manifestHash: string;
1012
+ readonly artifacts: readonly ArtifactMetadata[];
1013
+ }
1014
+ declare function computeArtifactMetadata(filePath: string, baseDir: string): Promise<ArtifactMetadata>;
1015
+ declare function collectWidgetPackageArtifacts(publishDir: string): Promise<ArtifactMetadata[]>;
1016
+ declare function createPublishManifestMetadata(options: {
1017
+ readonly packageId: string;
1018
+ readonly version: string;
1019
+ readonly cliVersion: string;
1020
+ readonly runtimeVersion: string;
1021
+ readonly manifestContent: string | Buffer;
1022
+ readonly artifacts: readonly ArtifactMetadata[];
1023
+ readonly builderVersion?: string;
1024
+ }): PublishManifestMetadata;
1025
+ declare function getArtifactContentType(filePath: string): string;
1026
+ declare function sha256(content: string | Buffer): string;
1027
+ //#endregion
1028
+ //#region src/utils/widget-package-upload.d.ts
1029
+ type WidgetPackageUploadOwner = {
1030
+ readonly kind: "droplet";
1031
+ readonly uuid: string;
1032
+ } | {
1033
+ readonly kind: "company";
1034
+ };
1035
+ type WidgetPackageArtifactMetadata = ArtifactMetadata;
1036
+ interface WidgetPackageUploadArtifact extends WidgetPackageArtifactMetadata {
1037
+ readonly body: BodyInit;
1038
+ }
1039
+ interface WidgetPackageSessionRequest {
1040
+ readonly version: string;
1041
+ readonly packageKey: string;
1042
+ readonly builderVersion: string;
1043
+ readonly cliVersion: string;
1044
+ readonly runtimeVersion: string;
1045
+ readonly manifestHash: string;
1046
+ readonly manifest: Record<string, unknown>;
1047
+ readonly artifacts: readonly WidgetPackageArtifactMetadata[];
1048
+ }
1049
+ interface WidgetPackagePublishRequest extends Omit<WidgetPackageSessionRequest, "artifacts"> {
1050
+ readonly artifacts: readonly WidgetPackageUploadArtifact[];
1051
+ }
1052
+ type WidgetPackageArtifactPayload = ArtifactMetadata;
1053
+ interface WidgetPackageUploadSessionPayload {
1054
+ readonly version: string;
1055
+ readonly package_key: string;
1056
+ readonly builder_version: string;
1057
+ readonly cli_version: string;
1058
+ readonly runtime_version: string;
1059
+ readonly manifest_hash: string;
1060
+ readonly manifest: Record<string, unknown>;
1061
+ readonly artifacts: readonly WidgetPackageArtifactPayload[];
1062
+ }
1063
+ interface WidgetPackageCompleteUploadPayload {
1064
+ readonly package_key: string;
1065
+ readonly artifacts: readonly WidgetPackageArtifactPayload[];
1066
+ }
1067
+ interface WidgetPackageSignedUpload {
1068
+ readonly path: string;
1069
+ readonly url: string;
1070
+ readonly contentType: string;
1071
+ readonly headers: Readonly<Record<string, string>>;
1072
+ }
1073
+ interface WidgetPackageUploadSession {
1074
+ readonly version: string;
1075
+ readonly uploads: readonly WidgetPackageSignedUpload[];
1076
+ readonly raw: unknown;
1077
+ }
1078
+ interface WidgetPackageArtifactUploadResult {
1079
+ readonly path: string;
1080
+ readonly status: number;
1081
+ readonly contentType: string;
1082
+ }
1083
+ interface WidgetPackageCompleteResult {
1084
+ readonly version: string;
1085
+ readonly status?: string;
1086
+ readonly packageKey?: string;
1087
+ readonly raw: unknown;
1088
+ }
1089
+ interface WidgetPackagePublishResult {
1090
+ readonly dryRun: boolean;
1091
+ readonly sessionPayload: WidgetPackageUploadSessionPayload;
1092
+ readonly session?: WidgetPackageUploadSession;
1093
+ readonly uploadedArtifacts?: readonly WidgetPackageArtifactUploadResult[];
1094
+ readonly complete?: WidgetPackageCompleteResult;
1095
+ }
1096
+ interface BasePublishWidgetPackageVersionOptions {
1097
+ readonly owner: WidgetPackageUploadOwner;
1098
+ readonly request: WidgetPackagePublishRequest;
1099
+ readonly fetchImpl?: WidgetPackageUploadFetch;
1100
+ }
1101
+ interface DryRunPublishWidgetPackageVersionOptions extends BasePublishWidgetPackageVersionOptions {
1102
+ readonly client?: FetchClient;
1103
+ readonly dryRun: true;
1104
+ }
1105
+ interface PublishWidgetPackageVersionUploadOptions extends BasePublishWidgetPackageVersionOptions {
1106
+ readonly client: FetchClient;
1107
+ readonly dryRun?: boolean;
1108
+ }
1109
+ type PublishWidgetPackageVersionOptions = DryRunPublishWidgetPackageVersionOptions | PublishWidgetPackageVersionUploadOptions;
1110
+ type WidgetPackageUploadFetch = (input: string | URL, init: RequestInit) => Promise<Response>;
1111
+ declare class WidgetPackageUploadError extends Error {
1112
+ readonly code: string;
1113
+ constructor(code: string, message: string);
1114
+ }
1115
+ declare function buildWidgetPackageUploadSessionPayload(request: WidgetPackageSessionRequest): WidgetPackageUploadSessionPayload;
1116
+ declare function buildWidgetPackageCompleteUploadPayload(packageKey: string, artifacts: readonly WidgetPackageArtifactMetadata[]): WidgetPackageCompleteUploadPayload;
1117
+ declare function getWidgetPackageUploadSessionRoute(owner: WidgetPackageUploadOwner): string;
1118
+ declare function getWidgetPackageCompleteUploadRoute(owner: WidgetPackageUploadOwner, version: string): string;
1119
+ declare function requestWidgetPackageUploadSession(client: FetchClient, owner: WidgetPackageUploadOwner, request: WidgetPackageSessionRequest): Promise<WidgetPackageUploadSession>;
1120
+ declare function uploadWidgetPackageArtifacts(session: WidgetPackageUploadSession, artifacts: readonly WidgetPackageUploadArtifact[], fetchImpl?: WidgetPackageUploadFetch): Promise<WidgetPackageArtifactUploadResult[]>;
1121
+ declare function completeWidgetPackageUpload(client: FetchClient, owner: WidgetPackageUploadOwner, version: string, packageKey: string, artifacts: readonly WidgetPackageArtifactMetadata[]): Promise<WidgetPackageCompleteResult>;
1122
+ declare function publishWidgetPackageVersion(options: PublishWidgetPackageVersionOptions): Promise<WidgetPackagePublishResult>;
1123
+ declare function normalizeWidgetPackageUploadSession(response: unknown, requestedVersion: string, requestedArtifacts: readonly WidgetPackageArtifactMetadata[]): WidgetPackageUploadSession;
1124
+ declare function normalizeWidgetPackageCompleteResponse(response: unknown, requestedVersion: string): WidgetPackageCompleteResult;
1125
+ //#endregion
1126
+ //#region src/commands/widget-package-publish.d.ts
1127
+ interface PublishWidgetRuntimeArtifactsOptions {
1128
+ readonly projectDir: string;
1129
+ readonly outDir: string;
1130
+ readonly buildOwner: WidgetPackageOwnerKind;
1131
+ readonly uploadOwner: WidgetPackageUploadOwner;
1132
+ readonly dryRun?: boolean;
1133
+ readonly client?: FetchClient;
1134
+ }
1135
+ interface PublishWidgetRuntimeArtifactsResult {
1136
+ readonly build: SharedWidgetPackageBuildResult;
1137
+ readonly request: WidgetPackagePublishRequest;
1138
+ readonly publish: WidgetPackagePublishResult;
1139
+ }
1140
+ interface PublishWidgetRuntimeArtifactsDependencies {
1141
+ readonly buildSharedWidgetPackage?: typeof buildSharedWidgetPackage;
1142
+ readonly publishWidgetPackageVersion?: typeof publishWidgetPackageVersion;
1143
+ }
1144
+ declare function publishWidgetRuntimeArtifacts(options: PublishWidgetRuntimeArtifactsOptions, dependencies?: PublishWidgetRuntimeArtifactsDependencies): Promise<PublishWidgetRuntimeArtifactsResult>;
1145
+ declare function createWidgetPackagePublishRequest(options: {
1146
+ readonly publishDir: string;
1147
+ readonly manifestPath: string;
1148
+ readonly publishManifestPath: string;
1149
+ readonly owner: WidgetPackageOwnerKind;
1150
+ }): Promise<WidgetPackagePublishRequest>;
1151
+ declare function createAuthenticatedWidgetPackageClient(): FetchClient;
1152
+ declare function printWidgetPublishSummary(options: {
1153
+ readonly title: string;
1154
+ readonly ownerLabel: string;
1155
+ readonly environment?: string;
1156
+ readonly outDir: string;
1157
+ readonly result: PublishWidgetRuntimeArtifactsResult;
1158
+ }): void;
1159
+ declare function printRuntimeOnlyNotice(): void;
1160
+ declare function printDryRunSessionPayload(result: PublishWidgetRuntimeArtifactsResult): void;
1161
+ declare function validateWidgetPublishOutDir(projectDir: string, outDir: string): string;
1162
+ //#endregion
805
1163
  //#region src/index.d.ts
806
1164
  declare const plugin: FluidPlugin;
807
1165
  //#endregion
808
- export { type BuildOptions, type CategorizedChanges, type CreateOptions, type DefinitionMapping, type DevOptions, FILE_SYSTEM_ERRORS, type FileHash, type FileHashMap, type FileSystemError, type FileSystemErrorCode, type LocalNavigation, type LocalNavigationItem, type LocalProfile, type LocalScreen, type LocalTheme, type MappedResourceType, type PortalMappings, type ProjectConfig, type SelectedPageTemplate, type Snapshot, type SnapshotDiff, TEMPLATES, type TemplateName, type TemplatePaths, type TemplateVariables, type ValidationError, type WidgetCreateOptions, buildIdToSlugMap, buildNavigationIdToSlugMap, buildSnapshot, buildThemeIdToSlugMap, categorizeChanges, computeFileHash, copyTemplate, copyTemplateSafe, createCommand, createDirectory, createDirectorySafe, plugin as default, deriveScreenSlug, deriveSlug, diffAgainstSnapshot, directoryExists, doctorCommand, fileExists, getCoreVersion, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, installDependencies, pathExists, promptProjectConfig, pullCommand, pushCommand, readFileSafe, readMappings, readSnapshot, removeMapping, resolveIdToSlug, resolveSlugToId, runPackageManager, slugFromPath, transformNavigation, transformNavigationItems, transformProfile, transformScreen, transformTheme, updateMapping, validateCrossReferences, versionCommand, widgetCommand, writeFileSafe, writeMappings, writeSnapshot };
1166
+ export { type ArtifactMetadata, type BuildOptions, type BuildSharedWidgetPackageOptions, type CategorizedChanges, type CreateOptions, type DefinitionMapping, type DevOptions, FILE_SYSTEM_ERRORS, type FileHash, type FileHashMap, type FileSystemError, type FileSystemErrorCode, type LocalNavigation, type LocalNavigationItem, type LocalProfile, type LocalScreen, type LocalTheme, type MappedResourceType, type PortalDeployOptions, type PortalMappings, type ProjectConfig, type PublishManifestMetadata, type PublishWidgetPackageVersionOptions, type PublishWidgetRuntimeArtifactsDependencies, type PublishWidgetRuntimeArtifactsOptions, type PublishWidgetRuntimeArtifactsResult, type SelectedPageTemplate, type SharedWidgetPackageBuildError, type SharedWidgetPackageBuildResult, type Snapshot, type SnapshotDiff, type SourceWidgetMetadata, type SourceWidgetPackageMetadata, TEMPLATES, type TemplateName, type TemplatePaths, type TemplateVariables, type ValidateSourceWidgetPackageOptions, type ValidatedWidgetPackageBuild, type ValidationError, WIDGET_PACKAGE_BUILDER_VERSION, type WidgetCreateOptions, type WidgetDescriptorMetadata, type WidgetPackageArtifactMetadata, type WidgetPackageArtifactPayload, type WidgetPackageArtifactUploadResult, type WidgetPackageCompleteResult, type WidgetPackageCompleteUploadPayload, type WidgetPackageDescriptorMetadata, type WidgetPackageOwnerKind, type WidgetPackagePublishRequest, type WidgetPackagePublishResult, type WidgetPackageSessionRequest, type WidgetPackageSignedUpload, type WidgetPackageUploadArtifact, WidgetPackageUploadError, type WidgetPackageUploadFetch, type WidgetPackageUploadOwner, type WidgetPackageUploadSession, type WidgetPackageUploadSessionPayload, type WidgetPackageValidationError, type WidgetPackageValidationErrorCode, type WidgetPackageValidationResult, type WidgetPublishOptions, type WidgetSourceConfig, type WidgetSourceConfigLoadError, buildIdToSlugMap, buildNavigationIdToSlugMap, buildSharedWidgetPackage, buildSnapshot, buildThemeIdToSlugMap, buildWidgetPackageCompleteUploadPayload, buildWidgetPackageDescriptor, buildWidgetPackageUploadSessionPayload, categorizeChanges, collectWidgetPackageArtifacts, completeWidgetPackageUpload, computeArtifactMetadata, computeFileHash, copyTemplate, copyTemplateSafe, createAuthenticatedWidgetPackageClient, createCommand, createDirectory, createDirectorySafe, createPublishManifestMetadata, createWidgetPackageEntrySource, createWidgetPackagePublishRequest, plugin as default, deployCommand, deriveScreenSlug, deriveSlug, diffAgainstSnapshot, directoryExists, doctorCommand, fileExists, getArtifactContentType, getCoreVersion, getInstallCommand, getRunCommand, getSdkVersion, getSdkVersionSafe, getTemplatePaths, getWidgetPackageCompleteUploadRoute, getWidgetPackageUploadSessionRoute, installDependencies, loadSourceWidgetPackages, normalizeWidgetPackageCompleteResponse, normalizeWidgetPackageUploadSession, pathExists, printDryRunSessionPayload, printRuntimeOnlyNotice, printWidgetPublishSummary, promptProjectConfig, publishWidgetPackageVersion, publishWidgetRuntimeArtifacts, pullCommand, pushCommand, readFileSafe, readMappings, readSnapshot, removeMapping, requestWidgetPackageUploadSession, resolveIdToSlug, resolvePortalWidgetSourceConfig, resolveSlugToId, runPackageManager, sha256, slugFromPath, topLevelWidgetCommand, transformNavigation, transformNavigationItems, transformProfile, transformScreen, transformTheme, updateMapping, uploadWidgetPackageArtifacts, validateCrossReferences, validateSingleSourceWidgetPackage, validateWidgetPublishOutDir, versionCommand, widgetCommand, writeFileSafe, writeMappings, writeSnapshot };
809
1167
  //# sourceMappingURL=index.d.mts.map