@floegence/redevplugin-ui 3.0.34 → 3.0.36

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Floegence
3
+ Copyright (c) 2026 Floegence Inc
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -22,6 +22,7 @@ export declare const opaqueSurfaceTagAttributes: {
22
22
  readonly canvas: readonly ["width", "height", "data-redevplugin-canvas"];
23
23
  };
24
24
  export declare const opaqueSurfaceSafeInputTypes: readonly ["text", "search", "number", "checkbox", "radio", "button", "submit", "reset"];
25
+ export declare const opaqueSurfaceCanvasContextTypes: readonly ["2d", "webgl", "webgl2"];
25
26
  export declare const opaqueSurfaceRenderLimits: {
26
27
  readonly max_message_bytes: 524288;
27
28
  readonly max_in_flight_requests: 256;
@@ -204,6 +204,11 @@ export const opaqueSurfaceSafeInputTypes = [
204
204
  "submit",
205
205
  "reset"
206
206
  ];
207
+ export const opaqueSurfaceCanvasContextTypes = [
208
+ "2d",
209
+ "webgl",
210
+ "webgl2"
211
+ ];
207
212
  export const opaqueSurfaceRenderLimits = {
208
213
  "max_message_bytes": 524288,
209
214
  "max_in_flight_requests": 256,
@@ -1790,6 +1790,23 @@ export interface components {
1790
1790
  memory_limit_bytes: number;
1791
1791
  idle_timeout_ms: number;
1792
1792
  };
1793
+ ExternalPackageProcessMethodAccessSummary: {
1794
+ method: string;
1795
+ operations: ("start" | "attach" | "status" | "write_stdin" | "close_stdin" | "read_stdout" | "read_stderr" | "wait" | "terminate" | "kill" | "close")[];
1796
+ };
1797
+ ExternalPackageProcessResourceLimits: {
1798
+ output_buffer_bytes: number;
1799
+ max_runtime_ms: number;
1800
+ };
1801
+ ExternalPackageProcessSummary: {
1802
+ resource_limits: components["schemas"]["ExternalPackageProcessResourceLimits"];
1803
+ method_access: components["schemas"]["ExternalPackageProcessMethodAccessSummary"][];
1804
+ };
1805
+ ExternalPackageBackgroundSummary: {
1806
+ /** @enum {string} */
1807
+ strategy: "runtime_start" | "on_demand";
1808
+ worker_id: string;
1809
+ };
1793
1810
  ExternalPackageNetworkMethodAccessSummary: {
1794
1811
  method: string;
1795
1812
  operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
@@ -1856,6 +1873,8 @@ export interface components {
1856
1873
  methods: components["schemas"]["ExternalPackageMethodSummary"][];
1857
1874
  capability_contracts: components["schemas"]["ExternalPackageCapabilityContractSummary"][];
1858
1875
  workers: components["schemas"]["ExternalPackageWorkerSummary"][];
1876
+ process?: components["schemas"]["ExternalPackageProcessSummary"];
1877
+ background?: components["schemas"]["ExternalPackageBackgroundSummary"];
1859
1878
  network: components["schemas"]["ExternalPackageNetworkSummary"][];
1860
1879
  storage: components["schemas"]["ExternalPackageStorageSummary"][];
1861
1880
  secret_refs: components["schemas"]["ExternalPackageSecretRefSummary"][];
package/dist/surface.js CHANGED
@@ -3,7 +3,7 @@ import { bytesToHex } from "@noble/hashes/utils.js";
3
3
  import { surfaceIntegrityScript } from "./surface-integrity.gen.js";
4
4
  import { PluginBridgeError, PluginPlatformRequestError, PluginTransportError, pluginBridgeErrorCodes, } from "./errors.js";
5
5
  import { pluginBridgeCapabilityEffect, } from "./bridge-capability.js";
6
- import { opaqueSurfaceAllowedTags, opaqueSurfaceGlobalAttributes, opaqueSurfaceRenderLimits, opaqueSurfaceSafeInputTypes, opaqueSurfaceTagAttributes, } from "./opaque-surface-policy.gen.js";
6
+ import { opaqueSurfaceAllowedTags, opaqueSurfaceCanvasContextTypes, opaqueSurfaceGlobalAttributes, opaqueSurfaceRenderLimits, opaqueSurfaceSafeInputTypes, opaqueSurfaceTagAttributes, } from "./opaque-surface-policy.gen.js";
7
7
  import { defaultFetch, hasAllowedKeys, hasExactKeys, hasRequiredKeys, isRecord, readMutationPlatformResponse, readPlatformResponse, } from "./http.js";
8
8
  import { defaultPluginSurfaceScope, registerPluginSurface, } from "./surface-scope.js";
9
9
  import { PluginUIReconcileError, reconcileValidatedPluginUITrees, validatePluginUITree, } from "./ui-reconciler.js";
@@ -2067,7 +2067,7 @@ export function createOpaquePluginBootstrapHTML(options = {}) {
2067
2067
  ' };',
2068
2068
  ' __rpDefineProperty(__rpCanvasPrototype, "width", { configurable: false, enumerable: Boolean(widthDescriptor.enumerable), get() { return readWidth(this); }, set(value) { validateResize(this, "width", value); __rpApply(widthDescriptor.set, this, [value]); } });',
2069
2069
  ' __rpDefineProperty(__rpCanvasPrototype, "height", { configurable: false, enumerable: Boolean(heightDescriptor.enumerable), get() { return readHeight(this); }, set(value) { validateResize(this, "height", value); __rpApply(heightDescriptor.set, this, [value]); } });',
2070
- ' __rpDefineProperty(__rpCanvasPrototype, "getContext", { configurable: false, enumerable: Boolean(contextDescriptor.enumerable), writable: false, value(type, ...options) { if (type !== "2d") throw new TypeError("only 2d canvas contexts are available"); __rpTrackCanvas(this); return __rpApply(contextDescriptor.value, this, [type, ...options]); } });',
2070
+ ' __rpDefineProperty(__rpCanvasPrototype, "getContext", { configurable: false, enumerable: Boolean(contextDescriptor.enumerable), writable: false, value(type, ...options) { if (${opaqueSurfaceCanvasContextTypes.map((type) => 'type !== ' + JSON.stringify(type)).join(' && ')}) throw new TypeError("canvas context type is unavailable in the ReDevPlugin worker sandbox"); __rpTrackCanvas(this); return __rpApply(contextDescriptor.value, this, [type, ...options]); } });',
2071
2071
  ' __rpSealDescriptor(__rpCanvasPrototype, "constructor", undefined);',
2072
2072
  ' __rpSealDescriptor(__rpCanvasPrototype, "convertToBlob", convertDescriptor.value);',
2073
2073
  ' __rpSealDescriptor(__rpCanvasPrototype, "transferToImageBitmap", __rpBlocked);',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/redevplugin-ui",
3
- "version": "3.0.34",
3
+ "version": "3.0.36",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -40,7 +40,7 @@
40
40
  "dist"
41
41
  ],
42
42
  "dependencies": {
43
- "@floegence/redevplugin-contracts": "3.0.34",
43
+ "@floegence/redevplugin-contracts": "3.0.36",
44
44
  "@noble/hashes": "2.4.0"
45
45
  },
46
46
  "publishConfig": {