@ethisyscore/vite-plugin 1.31.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -239,6 +239,24 @@ interface PlatformReactPageDeclaration {
239
239
  title?: string;
240
240
  [key: string]: unknown;
241
241
  }
242
+ /**
243
+ * The singular PlatformReact overlay declaration extracted from
244
+ * `ui.platformReactOverlay` in the manifest (WI 5160 SP-A).
245
+ * At most one overlay is permitted per plugin manifest.
246
+ *
247
+ * - `id` is the host-side overlay identifier and the basename of the emitted
248
+ * bundle (e.g. `id: "ai-overlay"` → `platform-react/ai-overlay.js`).
249
+ * - `moduleSpecifier` is a host-origin relative path to the overlay module.
250
+ * - `exportName` is the named export the host loader reads at mount time.
251
+ * - `title` is an optional display label for the host's surface chrome.
252
+ */
253
+ interface PlatformReactOverlayDeclaration {
254
+ id?: string;
255
+ moduleSpecifier?: string;
256
+ exportName?: string;
257
+ title?: string;
258
+ [key: string]: unknown;
259
+ }
242
260
  /**
243
261
  * The subset of a manifest this pass consumes. Manifests are tolerated as a
244
262
  * superset — extra fields are ignored so newer-schema manifests still load.
@@ -247,6 +265,7 @@ interface PlatformReactManifest {
247
265
  type?: string;
248
266
  ui?: {
249
267
  platformReactPages?: PlatformReactPageDeclaration[];
268
+ platformReactOverlay?: PlatformReactOverlayDeclaration;
250
269
  [key: string]: unknown;
251
270
  };
252
271
  [key: string]: unknown;
@@ -557,6 +576,22 @@ interface PlatformReactPageEntry {
557
576
  /** View name → src-relative module path, read by the page's `useView(<module>, name)`. */
558
577
  views: Record<string, string>;
559
578
  }
579
+ /**
580
+ * The singular `ui.platformReactOverlay` entry (feature-manifest form, incl. the build-only `views`).
581
+ * Mirrors {@link PlatformReactPageEntry} minus `route` — overlays are not routed.
582
+ * `views` is a build-time wiring artifact consumed by `build-pages` to synthesise the
583
+ * virtual entry's `definePluginOverlay(Overlay, { ...views })` call, exactly as page `views` are.
584
+ * It is NOT part of the protocol `PlatformReactOverlayDeclaration` and is stripped at the
585
+ * wire/admission boundary (parallel to how page `views` are stripped).
586
+ */
587
+ interface PlatformReactOverlayEntry {
588
+ id: string;
589
+ moduleSpecifier: string;
590
+ exportName: string;
591
+ title: string;
592
+ /** View name → src-relative module path (build-time wiring only; stripped from the wire manifest). */
593
+ views: Record<string, string>;
594
+ }
560
595
  /**
561
596
  * Per-page override, keyed by page filename (incl. `.tsx`). For plugins whose page
562
597
  * ids/titles are NOT derived from the filename (e.g. `Timesheets.tsx` → id
@@ -634,6 +669,13 @@ interface GeneratePlatformReactManifestConfig {
634
669
  slug?: string;
635
670
  /** Metadata written into `feature.manifest.json`. */
636
671
  manifest: PlatformReactManifestMeta;
672
+ /**
673
+ * Singular overlay declaration. When present, emits `ui.platformReactOverlay` in
674
+ * `feature.manifest.json` (with `views` for build-pages virtual-entry synthesis) and
675
+ * in the `extension.manifest.json` wire overlay (without `views`, mirroring the page
676
+ * strip). Omit to suppress the key entirely.
677
+ */
678
+ overlay?: PlatformReactOverlayEntry;
637
679
  /**
638
680
  * Per-page id/title/route overrides, keyed by page filename (incl. `.tsx`). Only
639
681
  * needed for plugins whose ids/titles aren't the filename-derived defaults; omit
package/dist/index.d.ts CHANGED
@@ -239,6 +239,24 @@ interface PlatformReactPageDeclaration {
239
239
  title?: string;
240
240
  [key: string]: unknown;
241
241
  }
242
+ /**
243
+ * The singular PlatformReact overlay declaration extracted from
244
+ * `ui.platformReactOverlay` in the manifest (WI 5160 SP-A).
245
+ * At most one overlay is permitted per plugin manifest.
246
+ *
247
+ * - `id` is the host-side overlay identifier and the basename of the emitted
248
+ * bundle (e.g. `id: "ai-overlay"` → `platform-react/ai-overlay.js`).
249
+ * - `moduleSpecifier` is a host-origin relative path to the overlay module.
250
+ * - `exportName` is the named export the host loader reads at mount time.
251
+ * - `title` is an optional display label for the host's surface chrome.
252
+ */
253
+ interface PlatformReactOverlayDeclaration {
254
+ id?: string;
255
+ moduleSpecifier?: string;
256
+ exportName?: string;
257
+ title?: string;
258
+ [key: string]: unknown;
259
+ }
242
260
  /**
243
261
  * The subset of a manifest this pass consumes. Manifests are tolerated as a
244
262
  * superset — extra fields are ignored so newer-schema manifests still load.
@@ -247,6 +265,7 @@ interface PlatformReactManifest {
247
265
  type?: string;
248
266
  ui?: {
249
267
  platformReactPages?: PlatformReactPageDeclaration[];
268
+ platformReactOverlay?: PlatformReactOverlayDeclaration;
250
269
  [key: string]: unknown;
251
270
  };
252
271
  [key: string]: unknown;
@@ -557,6 +576,22 @@ interface PlatformReactPageEntry {
557
576
  /** View name → src-relative module path, read by the page's `useView(<module>, name)`. */
558
577
  views: Record<string, string>;
559
578
  }
579
+ /**
580
+ * The singular `ui.platformReactOverlay` entry (feature-manifest form, incl. the build-only `views`).
581
+ * Mirrors {@link PlatformReactPageEntry} minus `route` — overlays are not routed.
582
+ * `views` is a build-time wiring artifact consumed by `build-pages` to synthesise the
583
+ * virtual entry's `definePluginOverlay(Overlay, { ...views })` call, exactly as page `views` are.
584
+ * It is NOT part of the protocol `PlatformReactOverlayDeclaration` and is stripped at the
585
+ * wire/admission boundary (parallel to how page `views` are stripped).
586
+ */
587
+ interface PlatformReactOverlayEntry {
588
+ id: string;
589
+ moduleSpecifier: string;
590
+ exportName: string;
591
+ title: string;
592
+ /** View name → src-relative module path (build-time wiring only; stripped from the wire manifest). */
593
+ views: Record<string, string>;
594
+ }
560
595
  /**
561
596
  * Per-page override, keyed by page filename (incl. `.tsx`). For plugins whose page
562
597
  * ids/titles are NOT derived from the filename (e.g. `Timesheets.tsx` → id
@@ -634,6 +669,13 @@ interface GeneratePlatformReactManifestConfig {
634
669
  slug?: string;
635
670
  /** Metadata written into `feature.manifest.json`. */
636
671
  manifest: PlatformReactManifestMeta;
672
+ /**
673
+ * Singular overlay declaration. When present, emits `ui.platformReactOverlay` in
674
+ * `feature.manifest.json` (with `views` for build-pages virtual-entry synthesis) and
675
+ * in the `extension.manifest.json` wire overlay (without `views`, mirroring the page
676
+ * strip). Omit to suppress the key entirely.
677
+ */
678
+ overlay?: PlatformReactOverlayEntry;
637
679
  /**
638
680
  * Per-page id/title/route overrides, keyed by page filename (incl. `.tsx`). Only
639
681
  * needed for plugins whose ids/titles aren't the filename-derived defaults; omit