@floegence/redevplugin-ui 0.6.23 → 0.7.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.
@@ -1,29 +1,21 @@
1
1
  export declare const pluginUIProtocolVersion: "plugin-ui-v7";
2
- export declare const pluginHostProtocolVersion: "plugin-host-v9";
2
+ export declare const pluginHostProtocolVersion: "plugin-host-v10";
3
3
  export declare const bridgeSchemaVersion: "bridge-v7";
4
4
  export declare const tokenTicketSchemaVersion: "token-ticket-v4";
5
5
  export declare const redevPluginContractVersions: {
6
6
  readonly plugin_ui_protocol_version: "plugin-ui-v7";
7
- readonly supported_plugin_ui_protocol_versions: readonly ["plugin-ui-v5", "plugin-ui-v6", "plugin-ui-v7"];
7
+ readonly supported_plugin_ui_protocol_versions: readonly ["plugin-ui-v7"];
8
8
  readonly plugin_ui_transport_mappings: readonly [{
9
- readonly plugin_ui_protocol_version: "plugin-ui-v5";
10
- readonly opaque_surface_transport_schema_version: "opaque-surface-transport-v4";
11
- readonly bridge_schema_version: "bridge-v5";
12
- }, {
13
- readonly plugin_ui_protocol_version: "plugin-ui-v6";
14
- readonly opaque_surface_transport_schema_version: "opaque-surface-transport-v5";
15
- readonly bridge_schema_version: "bridge-v6";
16
- }, {
17
9
  readonly plugin_ui_protocol_version: "plugin-ui-v7";
18
10
  readonly opaque_surface_transport_schema_version: "opaque-surface-transport-v6";
19
11
  readonly bridge_schema_version: "bridge-v7";
20
12
  }];
21
- readonly plugin_host_protocol_version: "plugin-host-v9";
13
+ readonly plugin_host_protocol_version: "plugin-host-v10";
22
14
  readonly rust_ipc_version: "rust-ipc-v6";
23
15
  readonly wasm_abi_version: "redevplugin-wasm-worker-v2";
24
- readonly manifest_schema_version: "manifest-v7";
16
+ readonly manifest_schema_version: "manifest-v8";
25
17
  readonly package_signature_schema_version: "package-signature-v1";
26
- readonly release_metadata_schema_version: "release-metadata-v7";
18
+ readonly release_metadata_schema_version: "release-metadata-v8";
27
19
  readonly release_root_delegation_schema_version: "release-root-delegation-v1";
28
20
  readonly release_source_policy_schema_version: "release-source-policy-v3";
29
21
  readonly release_source_policy_pointer_schema_version: "release-source-policy-pointer-v2";
@@ -46,9 +38,9 @@ export declare const redevPluginContractVersions: {
46
38
  readonly resource_scope_schema_version: "resource-scope-v1";
47
39
  readonly session_scope_schema_version: "session-scope-v1";
48
40
  readonly session_scope_maintenance_schema_version: "session-scope-maintenance-v1";
49
- readonly plugin_platform_openapi_version: "plugin-platform-v11";
50
- readonly compatibility_manifest_version: "redevplugin.compatibility.v13";
51
- readonly compatibility_schema_version: "compatibility-manifest-v13";
41
+ readonly plugin_platform_openapi_version: "plugin-platform-v12";
42
+ readonly compatibility_manifest_version: "redevplugin.compatibility.v14";
43
+ readonly compatibility_schema_version: "compatibility-manifest-v14";
52
44
  readonly worker_invocation_schema_version: "worker-invocation-v3";
53
45
  readonly host_capability_contract_schema_version: "host-capability-contract-v1";
54
46
  readonly host_capability_pin_schema_version: "host-capability-pin-v1";
@@ -80,9 +72,9 @@ export type ReDevPluginContractArtifact = {
80
72
  };
81
73
  export declare const redevPluginContractArtifacts: readonly [{
82
74
  readonly id: "compatibility-manifest-schema";
83
- readonly path: "spec/plugin/compatibility-manifest-v13.schema.json";
84
- readonly version: "compatibility-manifest-v13";
85
- readonly sha256: "c95fdfe0c5818ba57e664c534c3d10d073545e5a31bccd7c1ee5d39d391d13b2";
75
+ readonly path: "spec/plugin/compatibility-manifest-v14.schema.json";
76
+ readonly version: "compatibility-manifest-v14";
77
+ readonly sha256: "67016ead2ed8b86410aafe3771d750ea2ab088479047475542ac65caa1691a7c";
86
78
  }, {
87
79
  readonly id: "contract-registry-schema";
88
80
  readonly path: "spec/plugin/contract-registry-v2.schema.json";
@@ -155,9 +147,9 @@ export declare const redevPluginContractArtifacts: readonly [{
155
147
  readonly sha256: "f4b5f04870b58e8e2363aaba98b273adccef3a3e9ac1eb1a2dbbc3fb4c71b300";
156
148
  }, {
157
149
  readonly id: "manifest-schema";
158
- readonly path: "spec/plugin/manifest-v7.schema.json";
159
- readonly version: "manifest-v7";
160
- readonly sha256: "af73ffd8ccedcb149198f847b68ed6fc23e51366122915c7129473f9fde68e35";
150
+ readonly path: "spec/plugin/manifest-v8.schema.json";
151
+ readonly version: "manifest-v8";
152
+ readonly sha256: "f4f6ec875936b19ae3371459804b5ad2c36a4bd0739a83976037efffe51ada48";
161
153
  }, {
162
154
  readonly id: "network-grant-schema";
163
155
  readonly path: "spec/plugin/network-grant-v2.schema.json";
@@ -220,9 +212,14 @@ export declare const redevPluginContractArtifacts: readonly [{
220
212
  readonly sha256: "4d9979f5205ec047895b64c995312c588d998bb1c1448f6c9c559f1b7ab0d796";
221
213
  }, {
222
214
  readonly id: "plugin-platform-openapi";
223
- readonly path: "spec/openapi/plugin-platform-v11.yaml";
224
- readonly version: "plugin-platform-v11";
225
- readonly sha256: "41c84c939ca9471baafdb16a1fe7d62a232a58df91e579514351dd6046e529e7";
215
+ readonly path: "spec/openapi/plugin-platform-v12.yaml";
216
+ readonly version: "plugin-platform-v12";
217
+ readonly sha256: "715698e9e1e357e243ee21b3157cc044befac83979107f54d024b5e9e48f7050";
218
+ }, {
219
+ readonly id: "presentation-locale-fixture";
220
+ readonly path: "spec/plugin/presentation-locale-fixtures-v1.json";
221
+ readonly version: "presentation-locale-fixtures-v1";
222
+ readonly sha256: "cbb4c0188d020b5fbde9a0c2c33b3677d21cc64c0f0297b7f6f3f6c0efabc40e";
226
223
  }, {
227
224
  readonly id: "process-containment-schema";
228
225
  readonly path: "spec/plugin/process-containment-v1.schema.json";
@@ -240,9 +237,9 @@ export declare const redevPluginContractArtifacts: readonly [{
240
237
  readonly sha256: "0aced01a8d409953d5075a799ac273cae79e285ac82debe93ac4d8b706571ad1";
241
238
  }, {
242
239
  readonly id: "release-metadata-schema";
243
- readonly path: "spec/plugin/release-metadata-v7.schema.json";
244
- readonly version: "release-metadata-v7";
245
- readonly sha256: "d9ceac9b8dd52288172bbe5d4dc2f158e2354ad4fe1f071617f6ba9309e21ebf";
240
+ readonly path: "spec/plugin/release-metadata-v8.schema.json";
241
+ readonly version: "release-metadata-v8";
242
+ readonly sha256: "f454fc1923be10fd5a4b46df4a6e376f7e9fe1d462f3da57977b92ad7c7496b0";
246
243
  }, {
247
244
  readonly id: "release-publisher-config-schema";
248
245
  readonly path: "spec/plugin/release-publisher-config-v1.schema.json";
@@ -1,18 +1,18 @@
1
1
  // Code generated by scripts/generate_contract_registry.mjs; DO NOT EDIT.
2
2
  export const pluginUIProtocolVersion = "plugin-ui-v7";
3
- export const pluginHostProtocolVersion = "plugin-host-v9";
3
+ export const pluginHostProtocolVersion = "plugin-host-v10";
4
4
  export const bridgeSchemaVersion = "bridge-v7";
5
5
  export const tokenTicketSchemaVersion = "token-ticket-v4";
6
6
  export const redevPluginContractVersions = {
7
7
  "plugin_ui_protocol_version": "plugin-ui-v7",
8
- "supported_plugin_ui_protocol_versions": ["plugin-ui-v5", "plugin-ui-v6", "plugin-ui-v7"],
9
- "plugin_ui_transport_mappings": [{ "plugin_ui_protocol_version": "plugin-ui-v5", "opaque_surface_transport_schema_version": "opaque-surface-transport-v4", "bridge_schema_version": "bridge-v5" }, { "plugin_ui_protocol_version": "plugin-ui-v6", "opaque_surface_transport_schema_version": "opaque-surface-transport-v5", "bridge_schema_version": "bridge-v6" }, { "plugin_ui_protocol_version": "plugin-ui-v7", "opaque_surface_transport_schema_version": "opaque-surface-transport-v6", "bridge_schema_version": "bridge-v7" }],
10
- "plugin_host_protocol_version": "plugin-host-v9",
8
+ "supported_plugin_ui_protocol_versions": ["plugin-ui-v7"],
9
+ "plugin_ui_transport_mappings": [{ "plugin_ui_protocol_version": "plugin-ui-v7", "opaque_surface_transport_schema_version": "opaque-surface-transport-v6", "bridge_schema_version": "bridge-v7" }],
10
+ "plugin_host_protocol_version": "plugin-host-v10",
11
11
  "rust_ipc_version": "rust-ipc-v6",
12
12
  "wasm_abi_version": "redevplugin-wasm-worker-v2",
13
- "manifest_schema_version": "manifest-v7",
13
+ "manifest_schema_version": "manifest-v8",
14
14
  "package_signature_schema_version": "package-signature-v1",
15
- "release_metadata_schema_version": "release-metadata-v7",
15
+ "release_metadata_schema_version": "release-metadata-v8",
16
16
  "release_root_delegation_schema_version": "release-root-delegation-v1",
17
17
  "release_source_policy_schema_version": "release-source-policy-v3",
18
18
  "release_source_policy_pointer_schema_version": "release-source-policy-pointer-v2",
@@ -35,9 +35,9 @@ export const redevPluginContractVersions = {
35
35
  "resource_scope_schema_version": "resource-scope-v1",
36
36
  "session_scope_schema_version": "session-scope-v1",
37
37
  "session_scope_maintenance_schema_version": "session-scope-maintenance-v1",
38
- "plugin_platform_openapi_version": "plugin-platform-v11",
39
- "compatibility_manifest_version": "redevplugin.compatibility.v13",
40
- "compatibility_schema_version": "compatibility-manifest-v13",
38
+ "plugin_platform_openapi_version": "plugin-platform-v12",
39
+ "compatibility_manifest_version": "redevplugin.compatibility.v14",
40
+ "compatibility_schema_version": "compatibility-manifest-v14",
41
41
  "worker_invocation_schema_version": "worker-invocation-v3",
42
42
  "host_capability_contract_schema_version": "host-capability-contract-v1",
43
43
  "host_capability_pin_schema_version": "host-capability-pin-v1",
@@ -64,9 +64,9 @@ export const redevPluginContractVersions = {
64
64
  export const redevPluginContractArtifacts = [
65
65
  {
66
66
  id: "compatibility-manifest-schema",
67
- path: "spec/plugin/compatibility-manifest-v13.schema.json",
68
- version: "compatibility-manifest-v13",
69
- sha256: "c95fdfe0c5818ba57e664c534c3d10d073545e5a31bccd7c1ee5d39d391d13b2",
67
+ path: "spec/plugin/compatibility-manifest-v14.schema.json",
68
+ version: "compatibility-manifest-v14",
69
+ sha256: "67016ead2ed8b86410aafe3771d750ea2ab088479047475542ac65caa1691a7c",
70
70
  },
71
71
  {
72
72
  id: "contract-registry-schema",
@@ -154,9 +154,9 @@ export const redevPluginContractArtifacts = [
154
154
  },
155
155
  {
156
156
  id: "manifest-schema",
157
- path: "spec/plugin/manifest-v7.schema.json",
158
- version: "manifest-v7",
159
- sha256: "af73ffd8ccedcb149198f847b68ed6fc23e51366122915c7129473f9fde68e35",
157
+ path: "spec/plugin/manifest-v8.schema.json",
158
+ version: "manifest-v8",
159
+ sha256: "f4f6ec875936b19ae3371459804b5ad2c36a4bd0739a83976037efffe51ada48",
160
160
  },
161
161
  {
162
162
  id: "network-grant-schema",
@@ -232,9 +232,15 @@ export const redevPluginContractArtifacts = [
232
232
  },
233
233
  {
234
234
  id: "plugin-platform-openapi",
235
- path: "spec/openapi/plugin-platform-v11.yaml",
236
- version: "plugin-platform-v11",
237
- sha256: "41c84c939ca9471baafdb16a1fe7d62a232a58df91e579514351dd6046e529e7",
235
+ path: "spec/openapi/plugin-platform-v12.yaml",
236
+ version: "plugin-platform-v12",
237
+ sha256: "715698e9e1e357e243ee21b3157cc044befac83979107f54d024b5e9e48f7050",
238
+ },
239
+ {
240
+ id: "presentation-locale-fixture",
241
+ path: "spec/plugin/presentation-locale-fixtures-v1.json",
242
+ version: "presentation-locale-fixtures-v1",
243
+ sha256: "cbb4c0188d020b5fbde9a0c2c33b3677d21cc64c0f0297b7f6f3f6c0efabc40e",
238
244
  },
239
245
  {
240
246
  id: "process-containment-schema",
@@ -256,9 +262,9 @@ export const redevPluginContractArtifacts = [
256
262
  },
257
263
  {
258
264
  id: "release-metadata-schema",
259
- path: "spec/plugin/release-metadata-v7.schema.json",
260
- version: "release-metadata-v7",
261
- sha256: "d9ceac9b8dd52288172bbe5d4dc2f158e2354ad4fe1f071617f6ba9309e21ebf",
265
+ path: "spec/plugin/release-metadata-v8.schema.json",
266
+ version: "release-metadata-v8",
267
+ sha256: "f454fc1923be10fd5a4b46df4a6e376f7e9fe1d462f3da57977b92ad7c7496b0",
262
268
  },
263
269
  {
264
270
  id: "release-publisher-config-schema",
@@ -0,0 +1,2 @@
1
+ export { Fragment, jsxDEV } from "./jsx-runtime.js";
2
+ export type { JSX } from "./jsx-runtime.js";
@@ -0,0 +1 @@
1
+ export { Fragment, jsxDEV } from "./jsx-runtime.js";
@@ -0,0 +1,27 @@
1
+ import type { OpaqueSurfaceAllowedTag } from "./opaque-surface-policy.gen.js";
2
+ import { type PluginUIElementVNode, type PluginUIVNode } from "./ui-reconciler.js";
3
+ export declare const Fragment: unique symbol;
4
+ export type PluginUIJSXChild = PluginUIVNode | string | number | boolean | null | undefined | readonly PluginUIJSXChild[];
5
+ export type PluginUIJSXProps = {
6
+ children?: PluginUIJSXChild;
7
+ [name: string]: unknown;
8
+ };
9
+ type PluginUIJSXType = OpaqueSurfaceAllowedTag | typeof Fragment | ((props: PluginUIJSXProps) => unknown);
10
+ export declare function jsx(type: PluginUIJSXType, props: PluginUIJSXProps | null, key?: string): PluginUIElementVNode;
11
+ export declare function jsxs(type: PluginUIJSXType, props: PluginUIJSXProps | null, key?: string): PluginUIElementVNode;
12
+ export declare function jsxDEV(type: PluginUIJSXType, props: PluginUIJSXProps | null, key?: string, _isStaticChildren?: boolean, _source?: unknown, _self?: unknown): PluginUIElementVNode;
13
+ export declare namespace JSX {
14
+ type Element = PluginUIElementVNode;
15
+ interface ElementChildrenAttribute {
16
+ children: unknown;
17
+ }
18
+ interface IntrinsicAttributes {
19
+ key: string;
20
+ }
21
+ type IntrinsicElements = {
22
+ [Tag in OpaqueSurfaceAllowedTag]: PluginUIJSXProps & {
23
+ key: string;
24
+ };
25
+ };
26
+ }
27
+ export {};
@@ -0,0 +1,84 @@
1
+ import { validatePluginUITree, } from "./ui-reconciler.js";
2
+ export const Fragment = Symbol("ReDevPlugin.Fragment");
3
+ const keyPattern = new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$");
4
+ const attributeAliases = new Map([
5
+ ["autoComplete", "autocomplete"],
6
+ ["className", "class"],
7
+ ["htmlFor", "for"],
8
+ ["maxLength", "maxlength"],
9
+ ["readOnly", "readonly"],
10
+ ["tabIndex", "tabindex"],
11
+ ]);
12
+ export function jsx(type, props, key) {
13
+ return createElement(type, props, key);
14
+ }
15
+ export function jsxs(type, props, key) {
16
+ return createElement(type, props, key);
17
+ }
18
+ export function jsxDEV(type, props, key, _isStaticChildren, _source, _self) {
19
+ return createElement(type, props, key);
20
+ }
21
+ function createElement(type, props, key) {
22
+ if (type === Fragment)
23
+ throw new TypeError("ReDevPlugin JSX does not support Fragment; use one keyed intrinsic element");
24
+ if (typeof type !== "string")
25
+ throw new TypeError("ReDevPlugin JSX supports intrinsic elements only");
26
+ if (typeof key !== "string" || !keyPattern.test(key)) {
27
+ throw new TypeError("ReDevPlugin JSX elements require a valid stable key");
28
+ }
29
+ const attributes = {};
30
+ const source = props ?? {};
31
+ for (const [rawName, value] of Object.entries(source)) {
32
+ if (rawName === "children" || rawName === "key" || value === undefined)
33
+ continue;
34
+ const name = attributeAliases.get(rawName) ?? rawName;
35
+ if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
36
+ throw new TypeError(`ReDevPlugin JSX attribute ${rawName} must be a string, number, or boolean`);
37
+ }
38
+ attributes[name] = value;
39
+ }
40
+ const children = [];
41
+ appendChildren(children, source.children, key, []);
42
+ const tree = {
43
+ type: "element",
44
+ key,
45
+ tag: type,
46
+ ...(Object.keys(attributes).length > 0 ? { attributes } : {}),
47
+ ...(children.length > 0 ? { children } : {}),
48
+ };
49
+ return validatePluginUITree(tree);
50
+ }
51
+ function appendChildren(target, value, parentKey, path) {
52
+ if (value === null || value === undefined || typeof value === "boolean")
53
+ return;
54
+ if (Array.isArray(value)) {
55
+ value.forEach((child, index) => appendChildren(target, child, parentKey, [...path, index]));
56
+ return;
57
+ }
58
+ if (typeof value === "string" || typeof value === "number") {
59
+ const textPath = path.length > 0 ? path : [0];
60
+ target.push({ type: "text", key: textKey(parentKey, textPath), text: String(value) });
61
+ return;
62
+ }
63
+ if (typeof value === "object") {
64
+ target.push(value);
65
+ return;
66
+ }
67
+ throw new TypeError("ReDevPlugin JSX children must be VNodes or renderable primitive values");
68
+ }
69
+ function textKey(parentKey, path) {
70
+ const suffix = `.text.${path.join(".")}`;
71
+ const candidate = parentKey + suffix;
72
+ if (candidate.length <= 128)
73
+ return candidate;
74
+ const hashSuffix = `.text.${fnv1a(candidate)}`;
75
+ return parentKey.slice(0, 128 - hashSuffix.length) + hashSuffix;
76
+ }
77
+ function fnv1a(value) {
78
+ let hash = 0x811c9dc5;
79
+ for (let index = 0; index < value.length; index += 1) {
80
+ hash ^= value.charCodeAt(index);
81
+ hash = Math.imul(hash, 0x01000193);
82
+ }
83
+ return (hash >>> 0).toString(16).padStart(8, "0");
84
+ }
@@ -1376,7 +1376,7 @@ export interface components {
1376
1376
  PluginCatalogResult: {
1377
1377
  plugins: components["schemas"]["PluginRecord"][];
1378
1378
  };
1379
- PluginCompatibilityManifest: components["schemas"]["CompatibilityManifestV13"];
1379
+ PluginCompatibilityManifest: components["schemas"]["CompatibilityManifestV14"];
1380
1380
  PluginOperationList: {
1381
1381
  operations: components["schemas"]["OperationRecord"][];
1382
1382
  next_cursor?: string;
@@ -1945,6 +1945,34 @@ export interface components {
1945
1945
  intents: components["schemas"]["ExternalPackageIntentSummary"][];
1946
1946
  surfaces: components["schemas"]["ExternalPackageSurfaceSummary"][];
1947
1947
  };
1948
+ SettingOptionPresentation: {
1949
+ value: string;
1950
+ label: string;
1951
+ };
1952
+ ResolvedSurfacePresentation: {
1953
+ surface_id: string;
1954
+ label: string;
1955
+ };
1956
+ ResolvedSettingPresentation: {
1957
+ key: string;
1958
+ label: string;
1959
+ options: components["schemas"]["SettingOptionPresentation"][];
1960
+ };
1961
+ PresentationLocale: {
1962
+ locale: string;
1963
+ plugin_name: string;
1964
+ publisher_name?: string;
1965
+ summary: string;
1966
+ description: string[];
1967
+ highlights: string[];
1968
+ keywords: string[];
1969
+ surfaces: components["schemas"]["ResolvedSurfacePresentation"][];
1970
+ settings: components["schemas"]["ResolvedSettingPresentation"][];
1971
+ };
1972
+ PresentationCatalog: {
1973
+ default_locale: string;
1974
+ locales: components["schemas"]["PresentationLocale"][];
1975
+ };
1948
1976
  /** @description Immutable inspection projection. Package identity and all four trust/security facts are server-derived. */
1949
1977
  ExternalPackageInspection: {
1950
1978
  inspection_id: string;
@@ -1954,6 +1982,8 @@ export interface components {
1954
1982
  publisher_id: string;
1955
1983
  plugin_id: string;
1956
1984
  version: components["schemas"]["StrictSemVer"];
1985
+ presentation: components["schemas"]["PresentationCatalog"];
1986
+ presentation_sha256: string;
1957
1987
  inspected_hashes: components["schemas"]["TrustHashSet"];
1958
1988
  signature_assessment: components["schemas"]["ExternalPackageSignatureAssessment"];
1959
1989
  source_provenance: components["schemas"]["ExternalPackageSourceProvenance"];
@@ -2040,7 +2070,9 @@ export interface components {
2040
2070
  update_eligibility?: components["schemas"]["ExternalPackageUpdateEligibility"];
2041
2071
  security_summary?: components["schemas"]["ExternalPackageSecuritySummary"];
2042
2072
  capability_contracts?: components["schemas"]["CapabilityContractPin"][];
2043
- manifest: components["schemas"]["ManifestV5"] | components["schemas"]["ManifestV7"];
2073
+ manifest: components["schemas"]["ManifestV8"];
2074
+ presentation: components["schemas"]["PresentationCatalog"];
2075
+ presentation_sha256: string;
2044
2076
  package_entries: components["schemas"]["PackageEntry"][];
2045
2077
  runtime_requirement?: components["schemas"]["RuntimeRequirement"];
2046
2078
  /** Format: date-time */
@@ -2078,7 +2110,9 @@ export interface components {
2078
2110
  policy_revision: number;
2079
2111
  management_revision: number;
2080
2112
  revoke_epoch: number;
2081
- manifest: components["schemas"]["ManifestV5"] | components["schemas"]["ManifestV7"];
2113
+ manifest: components["schemas"]["ManifestV8"];
2114
+ presentation: components["schemas"]["PresentationCatalog"];
2115
+ presentation_sha256: string;
2082
2116
  package_entries: components["schemas"]["PackageEntry"][];
2083
2117
  runtime_requirement?: components["schemas"]["RuntimeRequirement"];
2084
2118
  version_history?: components["schemas"]["PluginVersion"][];
@@ -2204,7 +2238,7 @@ export interface components {
2204
2238
  plugin_instance_id: string;
2205
2239
  plugin_version: components["schemas"]["StrictSemVer"];
2206
2240
  /** @enum {string} */
2207
- ui_protocol_version: "plugin-ui-v5" | "plugin-ui-v6" | "plugin-ui-v7";
2241
+ ui_protocol_version: "plugin-ui-v7";
2208
2242
  surface_id: string;
2209
2243
  surface_instance_id: string;
2210
2244
  active_fingerprint: string;
@@ -2251,7 +2285,7 @@ export interface components {
2251
2285
  management_revision: number;
2252
2286
  revoke_epoch: number;
2253
2287
  /** @enum {string} */
2254
- ui_protocol_version: "plugin-ui-v5" | "plugin-ui-v6" | "plugin-ui-v7";
2288
+ ui_protocol_version: "plugin-ui-v7";
2255
2289
  };
2256
2290
  TrustedParentBridgeTokenRequest: {
2257
2291
  handshake: components["schemas"]["TrustedParentBridgeHandshake"];
@@ -2777,31 +2811,19 @@ export interface components {
2777
2811
  counts: components["schemas"]["SessionScopeV1RevokeCounts"];
2778
2812
  };
2779
2813
  SessionScopeV1PublicRevokeResult: components["schemas"]["SessionScopeV1CompleteRevokeResult"] | components["schemas"]["SessionScopeV1IncompleteRevokeResult"];
2780
- CompatibilityManifestV13: {
2814
+ CompatibilityManifestV14: {
2781
2815
  /** @constant */
2782
- schema_version: "redevplugin.compatibility.v13";
2816
+ schema_version: "redevplugin.compatibility.v14";
2783
2817
  package_set: components["schemas"]["PlatformPackageSetV1"];
2784
2818
  matrix: {
2785
2819
  /** @constant */
2786
2820
  plugin_ui_protocol_version: "plugin-ui-v7";
2787
2821
  /** @constant */
2788
2822
  supported_plugin_ui_protocol_versions: [
2789
- "plugin-ui-v5",
2790
- "plugin-ui-v6",
2791
2823
  "plugin-ui-v7"
2792
2824
  ];
2793
2825
  /** @constant */
2794
2826
  plugin_ui_transport_mappings: [
2795
- {
2796
- plugin_ui_protocol_version: "plugin-ui-v5";
2797
- opaque_surface_transport_schema_version: "opaque-surface-transport-v4";
2798
- bridge_schema_version: "bridge-v5";
2799
- },
2800
- {
2801
- plugin_ui_protocol_version: "plugin-ui-v6";
2802
- opaque_surface_transport_schema_version: "opaque-surface-transport-v5";
2803
- bridge_schema_version: "bridge-v6";
2804
- },
2805
2827
  {
2806
2828
  plugin_ui_protocol_version: "plugin-ui-v7";
2807
2829
  opaque_surface_transport_schema_version: "opaque-surface-transport-v6";
@@ -2809,17 +2831,17 @@ export interface components {
2809
2831
  }
2810
2832
  ];
2811
2833
  /** @constant */
2812
- plugin_host_protocol_version: "plugin-host-v9";
2834
+ plugin_host_protocol_version: "plugin-host-v10";
2813
2835
  /** @constant */
2814
2836
  rust_ipc_version: "rust-ipc-v6";
2815
2837
  /** @constant */
2816
2838
  wasm_abi_version: "redevplugin-wasm-worker-v2";
2817
2839
  /** @constant */
2818
- manifest_schema_version: "manifest-v7";
2840
+ manifest_schema_version: "manifest-v8";
2819
2841
  /** @constant */
2820
2842
  package_signature_schema_version: "package-signature-v1";
2821
2843
  /** @constant */
2822
- release_metadata_schema_version: "release-metadata-v7";
2844
+ release_metadata_schema_version: "release-metadata-v8";
2823
2845
  /** @constant */
2824
2846
  release_root_delegation_schema_version: "release-root-delegation-v1";
2825
2847
  /** @constant */
@@ -2865,9 +2887,9 @@ export interface components {
2865
2887
  /** @constant */
2866
2888
  session_scope_maintenance_schema_version: "session-scope-maintenance-v1";
2867
2889
  /** @constant */
2868
- plugin_platform_openapi_version: "plugin-platform-v11";
2890
+ plugin_platform_openapi_version: "plugin-platform-v12";
2869
2891
  /** @constant */
2870
- compatibility_schema_version: "compatibility-manifest-v13";
2892
+ compatibility_schema_version: "compatibility-manifest-v14";
2871
2893
  /** @constant */
2872
2894
  worker_invocation_schema_version: "worker-invocation-v3";
2873
2895
  /** @constant */
@@ -2914,9 +2936,9 @@ export interface components {
2914
2936
  quarantine_cleanup_schema_version: "quarantine-cleanup-v1";
2915
2937
  };
2916
2938
  contract_set_sha256: string;
2917
- contracts: components["schemas"]["CompatibilityManifestV13Contract"][];
2939
+ contracts: components["schemas"]["CompatibilityManifestV14Contract"][];
2918
2940
  };
2919
- CompatibilityManifestV13Contract: {
2941
+ CompatibilityManifestV14Contract: {
2920
2942
  id: string;
2921
2943
  path: string;
2922
2944
  version: string;
@@ -3004,9 +3026,9 @@ export interface components {
3004
3026
  /** @constant */
3005
3027
  role?: "runtime";
3006
3028
  };
3007
- ManifestV5: {
3029
+ ManifestV8: {
3008
3030
  /** @constant */
3009
- schema_version: "redevplugin.manifest.v5";
3031
+ schema_version: "redevplugin.manifest.v8";
3010
3032
  publisher: {
3011
3033
  publisher_id: string;
3012
3034
  display_name?: string;
@@ -3014,12 +3036,20 @@ export interface components {
3014
3036
  plugin: {
3015
3037
  plugin_id: string;
3016
3038
  display_name: string;
3017
- version: components["schemas"]["ManifestV5Semver"];
3039
+ version: components["schemas"]["ManifestV8Semver"];
3018
3040
  /** @constant */
3019
3041
  api_version: "plugin-v1";
3020
- min_runtime_version: components["schemas"]["ManifestV5Semver"];
3042
+ min_runtime_version: components["schemas"]["ManifestV8Semver"];
3021
3043
  /** @constant */
3022
- ui_protocol_version: "plugin-ui-v5";
3044
+ ui_protocol_version: "plugin-ui-v7";
3045
+ };
3046
+ presentation: {
3047
+ default_locale: components["schemas"]["ManifestV8Locale"];
3048
+ summary: components["schemas"]["ManifestV8Summary"];
3049
+ description: components["schemas"]["ManifestV8Description"];
3050
+ highlights: components["schemas"]["ManifestV8Highlights"];
3051
+ keywords: components["schemas"]["ManifestV8Keywords"];
3052
+ localizations: components["schemas"]["ManifestV8Localization"][];
3023
3053
  };
3024
3054
  surfaces: {
3025
3055
  surface_id: string;
@@ -3083,13 +3113,13 @@ export interface components {
3083
3113
  uninstall_behavior?: "cancel_then_block_delete" | "force_cleanup_allowed";
3084
3114
  ack_timeout_ms?: number;
3085
3115
  } & (unknown & unknown);
3086
- request_schema?: components["schemas"]["ManifestV5MethodSchema"] & {
3116
+ request_schema?: components["schemas"]["ManifestV8MethodSchema"] & {
3087
3117
  /** @constant */
3088
3118
  type: "object";
3089
3119
  /** @constant */
3090
3120
  additionalProperties: false;
3091
3121
  };
3092
- response_schema?: components["schemas"]["ManifestV5MethodSchema"] & {
3122
+ response_schema?: components["schemas"]["ManifestV8MethodSchema"] & {
3093
3123
  /** @constant */
3094
3124
  type: "object";
3095
3125
  /** @constant */
@@ -3142,7 +3172,7 @@ export interface components {
3142
3172
  label: string;
3143
3173
  default?: unknown;
3144
3174
  secret_ref?: string;
3145
- options?: string[];
3175
+ options?: components["schemas"]["ManifestV8SettingOption"][];
3146
3176
  validation?: Record<string, never>;
3147
3177
  }[];
3148
3178
  };
@@ -3152,26 +3182,55 @@ export interface components {
3152
3182
  payload_schema?: Record<string, never>;
3153
3183
  }[];
3154
3184
  };
3155
- ManifestV5Semver: string;
3156
- ManifestV5MethodSchema: false | (({
3185
+ ManifestV8Locale: string;
3186
+ ManifestV8Summary: string;
3187
+ ManifestV8Description: string[];
3188
+ ManifestV8Highlights: string[];
3189
+ ManifestV8Keywords: string[];
3190
+ ManifestV8SettingOption: {
3191
+ value: string;
3192
+ label: string;
3193
+ };
3194
+ ManifestV8LocalizedSurface: {
3195
+ surface_id: string;
3196
+ label: string;
3197
+ };
3198
+ ManifestV8LocalizedSetting: {
3199
+ key: string;
3200
+ label: string;
3201
+ options: components["schemas"]["ManifestV8SettingOption"][];
3202
+ };
3203
+ ManifestV8Localization: {
3204
+ locale: components["schemas"]["ManifestV8Locale"];
3205
+ plugin_name: string;
3206
+ publisher_name?: string;
3207
+ summary: components["schemas"]["ManifestV8Summary"];
3208
+ description: components["schemas"]["ManifestV8Description"];
3209
+ highlights: components["schemas"]["ManifestV8Highlights"];
3210
+ keywords: components["schemas"]["ManifestV8Keywords"];
3211
+ surfaces: components["schemas"]["ManifestV8LocalizedSurface"][];
3212
+ settings: components["schemas"]["ManifestV8LocalizedSetting"][];
3213
+ };
3214
+ ManifestV8Semver: string;
3215
+ ManifestV8MethodSchema: false | (({
3157
3216
  description?: string;
3158
3217
  readOnly?: boolean;
3159
3218
  writeOnly?: boolean;
3160
3219
  $ref?: string;
3161
3220
  type?: ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string") | ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string")[];
3162
3221
  properties?: {
3163
- [key: string]: components["schemas"]["ManifestV5MethodSchema"];
3222
+ [key: string]: components["schemas"]["ManifestV8MethodSchema"];
3164
3223
  };
3165
3224
  patternProperties?: {
3166
- [key: string]: components["schemas"]["ManifestV5MethodSchema"];
3225
+ [key: string]: components["schemas"]["ManifestV8MethodSchema"];
3167
3226
  };
3168
3227
  required?: string[];
3169
3228
  /** @constant */
3170
3229
  additionalProperties?: false;
3171
- items?: components["schemas"]["ManifestV5MethodSchema"];
3172
- allOf?: components["schemas"]["ManifestV5MethodSchema"][];
3173
- anyOf?: components["schemas"]["ManifestV5MethodSchema"][];
3174
- oneOf?: components["schemas"]["ManifestV5MethodSchema"][];
3230
+ items?: components["schemas"]["ManifestV8MethodSchema"];
3231
+ allOf?: components["schemas"]["ManifestV8MethodSchema"][];
3232
+ anyOf?: components["schemas"]["ManifestV8MethodSchema"][];
3233
+ oneOf?: components["schemas"]["ManifestV8MethodSchema"][];
3175
3234
  enum?: unknown[];
3176
3235
  const?: unknown;
3177
3236
  default?: unknown;
@@ -3216,193 +3275,6 @@ export interface components {
3216
3275
  HostCapabilityPinV1ArtifactRef: string;
3217
3276
  HostCapabilityPinV1Sha256: string;
3218
3277
  HostCapabilityPinV1DecimalEpoch: string;
3219
- ManifestV7: {
3220
- /** @constant */
3221
- schema_version: "redevplugin.manifest.v7";
3222
- publisher: {
3223
- publisher_id: string;
3224
- display_name?: string;
3225
- };
3226
- plugin: {
3227
- plugin_id: string;
3228
- display_name: string;
3229
- version: components["schemas"]["ManifestV7Semver"];
3230
- /** @constant */
3231
- api_version: "plugin-v1";
3232
- min_runtime_version: components["schemas"]["ManifestV7Semver"];
3233
- /** @constant */
3234
- ui_protocol_version: "plugin-ui-v7";
3235
- };
3236
- surfaces: {
3237
- surface_id: string;
3238
- /** @enum {unknown} */
3239
- kind: "view" | "command" | "background";
3240
- /** @enum {unknown} */
3241
- intent?: "primary" | "secondary" | "utility";
3242
- label: string;
3243
- entry: string;
3244
- icon?: string;
3245
- default_size?: {
3246
- width: number;
3247
- height: number;
3248
- };
3249
- }[];
3250
- capability_bindings?: {
3251
- binding_id: string;
3252
- contract: components["schemas"]["HostCapabilityPinV1"];
3253
- }[];
3254
- methods?: ({
3255
- method: string;
3256
- /** @enum {unknown} */
3257
- effect?: "read" | "write" | "delete" | "execute" | "admin";
3258
- /** @enum {unknown} */
3259
- execution?: "sync" | "operation" | "subscription";
3260
- dangerous?: boolean;
3261
- preflight_only?: boolean;
3262
- broker_access?: {
3263
- storage?: {
3264
- store_id: string;
3265
- operations: ("read" | "write" | "delete" | "list" | "get" | "put" | "query" | "exec")[];
3266
- }[];
3267
- network?: ({
3268
- connector_id: string;
3269
- /** @enum {unknown} */
3270
- transport: "http" | "websocket" | "tcp" | "udp";
3271
- operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
3272
- http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
3273
- } & unknown)[];
3274
- };
3275
- route: {
3276
- /** @enum {unknown} */
3277
- kind: "capability" | "worker" | "core_action";
3278
- binding_id?: string;
3279
- target_method?: string;
3280
- worker_id?: string;
3281
- action_id?: string;
3282
- } & (unknown & unknown & unknown);
3283
- confirmation?: {
3284
- /** @enum {unknown} */
3285
- mode: "none" | "required" | "risk_based";
3286
- preflight_method?: string | null;
3287
- request_hash_fields?: string[];
3288
- plan_hash_required?: boolean;
3289
- };
3290
- cancel_policy?: {
3291
- cancelable: boolean;
3292
- /** @enum {unknown} */
3293
- disable_behavior?: "cancel" | "orphan" | "wait";
3294
- /** @enum {unknown} */
3295
- uninstall_behavior?: "cancel_then_block_delete" | "force_cleanup_allowed";
3296
- ack_timeout_ms?: number;
3297
- } & (unknown & unknown);
3298
- request_schema?: components["schemas"]["ManifestV7MethodSchema"] & {
3299
- /** @constant */
3300
- type: "object";
3301
- /** @constant */
3302
- additionalProperties: false;
3303
- };
3304
- response_schema?: components["schemas"]["ManifestV7MethodSchema"] & {
3305
- /** @constant */
3306
- type: "object";
3307
- /** @constant */
3308
- additionalProperties: false;
3309
- };
3310
- } & (unknown & unknown & unknown & unknown))[];
3311
- workers?: {
3312
- worker_id: string;
3313
- artifact: string;
3314
- /** @constant */
3315
- abi: "redevplugin-wasm-worker-v2";
3316
- /** @constant */
3317
- mode: "job";
3318
- /** @enum {unknown} */
3319
- scope: "user" | "environment";
3320
- memory_limit_bytes: number;
3321
- idle_timeout_ms?: number;
3322
- }[];
3323
- storage?: {
3324
- stores?: {
3325
- store_id: string;
3326
- /** @enum {unknown} */
3327
- kind: "kv" | "files" | "sqlite";
3328
- /** @enum {unknown} */
3329
- scope: "user" | "environment";
3330
- quota_bytes: number;
3331
- quota_files?: number;
3332
- schema_version: number;
3333
- }[];
3334
- };
3335
- network_access?: {
3336
- connectors?: {
3337
- connector_id: string;
3338
- /** @enum {unknown} */
3339
- transport: "http" | "websocket" | "tcp" | "udp";
3340
- /** @enum {unknown} */
3341
- scope: "user" | "environment";
3342
- destinations: string[];
3343
- auth?: Record<string, never>;
3344
- tls?: Record<string, never>;
3345
- }[];
3346
- };
3347
- settings?: {
3348
- schema_version: number;
3349
- fields?: {
3350
- key: string;
3351
- type: string;
3352
- /** @enum {unknown} */
3353
- scope: "user" | "environment";
3354
- label: string;
3355
- default?: unknown;
3356
- secret_ref?: string;
3357
- options?: string[];
3358
- validation?: Record<string, never>;
3359
- }[];
3360
- };
3361
- intents?: {
3362
- intent_id: string;
3363
- method: string;
3364
- payload_schema?: Record<string, never>;
3365
- }[];
3366
- };
3367
- ManifestV7Semver: string;
3368
- ManifestV7MethodSchema: false | (({
3369
- description?: string;
3370
- readOnly?: boolean;
3371
- writeOnly?: boolean;
3372
- $ref?: string;
3373
- type?: ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string") | ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string")[];
3374
- properties?: {
3375
- [key: string]: components["schemas"]["ManifestV7MethodSchema"];
3376
- };
3377
- patternProperties?: {
3378
- [key: string]: components["schemas"]["ManifestV7MethodSchema"];
3379
- };
3380
- required?: string[];
3381
- /** @constant */
3382
- additionalProperties?: false;
3383
- items?: components["schemas"]["ManifestV7MethodSchema"];
3384
- allOf?: components["schemas"]["ManifestV7MethodSchema"][];
3385
- anyOf?: components["schemas"]["ManifestV7MethodSchema"][];
3386
- oneOf?: components["schemas"]["ManifestV7MethodSchema"][];
3387
- enum?: unknown[];
3388
- const?: unknown;
3389
- default?: unknown;
3390
- examples?: unknown[];
3391
- minimum?: number;
3392
- maximum?: number;
3393
- exclusiveMinimum?: number;
3394
- exclusiveMaximum?: number;
3395
- multipleOf?: number;
3396
- minLength?: number;
3397
- maxLength?: number;
3398
- pattern?: string;
3399
- format?: string;
3400
- minItems?: number;
3401
- maxItems?: number;
3402
- uniqueItems?: boolean;
3403
- minProperties?: number;
3404
- maxProperties?: number;
3405
- } & (unknown & unknown)) | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown);
3406
3278
  OpaqueSurfaceDocumentV3: {
3407
3279
  /** @constant */
3408
3280
  schema_version: "redevplugin.opaque_surface_document.v3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/redevplugin-ui",
3
- "version": "0.6.23",
3
+ "version": "0.7.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -23,6 +23,14 @@
23
23
  "types": "./dist/plugin.d.ts",
24
24
  "default": "./dist/plugin.js"
25
25
  },
26
+ "./jsx-runtime": {
27
+ "types": "./dist/jsx-runtime.d.ts",
28
+ "default": "./dist/jsx-runtime.js"
29
+ },
30
+ "./jsx-dev-runtime": {
31
+ "types": "./dist/jsx-dev-runtime.d.ts",
32
+ "default": "./dist/jsx-dev-runtime.js"
33
+ },
26
34
  "./local-import": {
27
35
  "types": "./dist/local-import.d.ts",
28
36
  "default": "./dist/local-import.js"
@@ -32,7 +40,7 @@
32
40
  "dist"
33
41
  ],
34
42
  "dependencies": {
35
- "@floegence/redevplugin-contracts": "0.6.23"
43
+ "@floegence/redevplugin-contracts": "0.7.0"
36
44
  },
37
45
  "publishConfig": {
38
46
  "access": "public"
@@ -40,6 +48,6 @@
40
48
  "scripts": {
41
49
  "build": "tsc -p tsconfig.json",
42
50
  "typecheck": "tsc -p tsconfig.json --noEmit",
43
- "test": "tsc -p tsconfig.test.json && node --test dist-test/test/*.js"
51
+ "test": "tsc -p tsconfig.json && tsc -p tsconfig.test.json && node --test dist-test/test/*.js"
44
52
  }
45
53
  }