@floegence/redevplugin-ui 1.1.3 → 2.0.1
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/contracts.gen.d.ts +32 -24
- package/dist/contracts.gen.js +33 -24
- package/dist/http.d.ts +1 -0
- package/dist/http.js +4 -4
- package/dist/openapi.gen.d.ts +151 -206
- package/dist/platform.d.ts +3 -0
- package/dist/platform.js +3 -0
- package/dist/plugin.d.ts +1 -0
- package/dist/plugin.js +1 -0
- package/dist/surface.js +6 -6
- package/package.json +2 -2
package/dist/contracts.gen.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare const surfaceAPIMajor: 1;
|
|
2
|
+
/** @deprecated Internal frozen transport alias. Plugin code should use surfaceAPIMajor. */
|
|
1
3
|
export declare const pluginUIProtocolVersion: "plugin-ui-v7";
|
|
2
4
|
export declare const pluginHostProtocolVersion: "plugin-host-v11";
|
|
3
5
|
export declare const bridgeSchemaVersion: "bridge-v7";
|
|
@@ -11,9 +13,9 @@ export declare const redevPluginContractVersions: {
|
|
|
11
13
|
readonly bridge_schema_version: "bridge-v7";
|
|
12
14
|
}];
|
|
13
15
|
readonly plugin_host_protocol_version: "plugin-host-v11";
|
|
14
|
-
readonly rust_ipc_version: "rust-ipc-
|
|
16
|
+
readonly rust_ipc_version: "rust-ipc-v7";
|
|
15
17
|
readonly wasm_abi_version: "redevplugin-wasm-worker-v2";
|
|
16
|
-
readonly manifest_schema_version: "manifest-
|
|
18
|
+
readonly manifest_schema_version: "manifest-v9";
|
|
17
19
|
readonly package_signature_schema_version: "package-signature-v1";
|
|
18
20
|
readonly release_metadata_schema_version: "release-metadata-v8";
|
|
19
21
|
readonly release_root_delegation_schema_version: "release-root-delegation-v1";
|
|
@@ -29,9 +31,10 @@ export declare const redevPluginContractVersions: {
|
|
|
29
31
|
readonly network_grant_schema_version: "network-grant-v2";
|
|
30
32
|
readonly resource_scope_schema_version: "resource-scope-v1";
|
|
31
33
|
readonly session_scope_schema_version: "session-scope-v1";
|
|
32
|
-
readonly plugin_platform_openapi_version: "plugin-platform-
|
|
33
|
-
readonly
|
|
34
|
-
readonly
|
|
34
|
+
readonly plugin_platform_openapi_version: "plugin-platform-v17";
|
|
35
|
+
readonly public_api_catalog_version: "public-api-v1";
|
|
36
|
+
readonly compatibility_manifest_version: "redevplugin.compatibility.v20";
|
|
37
|
+
readonly compatibility_schema_version: "compatibility-manifest-v20";
|
|
35
38
|
readonly worker_invocation_schema_version: "worker-invocation-v3";
|
|
36
39
|
readonly host_capability_contract_schema_version: "host-capability-contract-v1";
|
|
37
40
|
readonly host_capability_pin_schema_version: "host-capability-pin-v1";
|
|
@@ -42,7 +45,7 @@ export declare const redevPluginContractVersions: {
|
|
|
42
45
|
readonly platform_package_set_schema_version: "platform-package-set-v3";
|
|
43
46
|
readonly platform_package_publication_schema_version: "platform-package-publication-v2";
|
|
44
47
|
readonly runtime_admission_schema_version: "runtime-admission-v1";
|
|
45
|
-
readonly runtime_descriptor_schema_version: "runtime-descriptor-
|
|
48
|
+
readonly runtime_descriptor_schema_version: "runtime-descriptor-v3";
|
|
46
49
|
readonly owner_scope_inventory_registry_version: "owner-scope-inventory-registry-v1";
|
|
47
50
|
readonly owner_scope_inventory_schema_version: "owner-scope-inventory-v1";
|
|
48
51
|
readonly owner_scope_migration_schema_version: "owner-scope-migration-v1";
|
|
@@ -59,9 +62,9 @@ export type ReDevPluginContractArtifact = {
|
|
|
59
62
|
};
|
|
60
63
|
export declare const redevPluginContractArtifacts: readonly [{
|
|
61
64
|
readonly id: "compatibility-manifest-schema";
|
|
62
|
-
readonly path: "spec/plugin/compatibility-manifest-
|
|
63
|
-
readonly version: "compatibility-manifest-
|
|
64
|
-
readonly sha256: "
|
|
65
|
+
readonly path: "spec/plugin/compatibility-manifest-v20.schema.json";
|
|
66
|
+
readonly version: "compatibility-manifest-v20";
|
|
67
|
+
readonly sha256: "8ace15ee3f0bb05e5cdd3449385dd498e37f5fb2e22a67302efb5efeaee1aa02";
|
|
65
68
|
}, {
|
|
66
69
|
readonly id: "contract-registry-schema";
|
|
67
70
|
readonly path: "spec/plugin/contract-registry-v2.schema.json";
|
|
@@ -99,9 +102,9 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
99
102
|
readonly sha256: "5a6e7307f1649eb70d13e83e5d16177458957bffb3262b9299b4cf6d443e284a";
|
|
100
103
|
}, {
|
|
101
104
|
readonly id: "manifest-schema";
|
|
102
|
-
readonly path: "spec/plugin/manifest-
|
|
103
|
-
readonly version: "manifest-
|
|
104
|
-
readonly sha256: "
|
|
105
|
+
readonly path: "spec/plugin/manifest-v9.schema.json";
|
|
106
|
+
readonly version: "manifest-v9";
|
|
107
|
+
readonly sha256: "d8b0fc348179a1a9af81f152897bad1891b1f8b7a7a4448c0a4e54e9883f1322";
|
|
105
108
|
}, {
|
|
106
109
|
readonly id: "network-grant-schema";
|
|
107
110
|
readonly path: "spec/plugin/network-grant-v2.schema.json";
|
|
@@ -146,7 +149,7 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
146
149
|
readonly id: "performance-contract";
|
|
147
150
|
readonly path: "spec/plugin/performance-contract-v4.json";
|
|
148
151
|
readonly version: "performance-contract-v4";
|
|
149
|
-
readonly sha256: "
|
|
152
|
+
readonly sha256: "08830053b38f0f8466c4e9e608fd7f21e24175063ec02307543fbd8adfb5692e";
|
|
150
153
|
}, {
|
|
151
154
|
readonly id: "performance-evidence-schema";
|
|
152
155
|
readonly path: "spec/plugin/performance-evidence-v4.schema.json";
|
|
@@ -156,17 +159,17 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
156
159
|
readonly id: "platform-package-publication-schema";
|
|
157
160
|
readonly path: "spec/plugin/platform-package-publication-v2.schema.json";
|
|
158
161
|
readonly version: "platform-package-publication-v2";
|
|
159
|
-
readonly sha256: "
|
|
162
|
+
readonly sha256: "1cc7a342b7dda8533324764c7f29fa7a3ca24a93f6015e7a18a17539febd538a";
|
|
160
163
|
}, {
|
|
161
164
|
readonly id: "platform-package-set-schema";
|
|
162
165
|
readonly path: "spec/plugin/platform-package-set-v3.schema.json";
|
|
163
166
|
readonly version: "platform-package-set-v3";
|
|
164
|
-
readonly sha256: "
|
|
167
|
+
readonly sha256: "8acba305f9df90be10cca516b98a598efc9a4bffd0e3c2915d78385e18397b88";
|
|
165
168
|
}, {
|
|
166
169
|
readonly id: "plugin-platform-openapi";
|
|
167
|
-
readonly path: "spec/openapi/plugin-platform-
|
|
168
|
-
readonly version: "plugin-platform-
|
|
169
|
-
readonly sha256: "
|
|
170
|
+
readonly path: "spec/openapi/plugin-platform-v17.yaml";
|
|
171
|
+
readonly version: "plugin-platform-v17";
|
|
172
|
+
readonly sha256: "1a043991f4d87ddfabdf614364e1bec42400f4bc19b7856c4c774b9f282fcda3";
|
|
170
173
|
}, {
|
|
171
174
|
readonly id: "presentation-icon-evidence-schema";
|
|
172
175
|
readonly path: "spec/plugin/presentation-icon-evidence-v1.schema.json";
|
|
@@ -182,6 +185,11 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
182
185
|
readonly path: "spec/plugin/process-containment-v1.schema.json";
|
|
183
186
|
readonly version: "process-containment-v1";
|
|
184
187
|
readonly sha256: "930ea44b1f62361706e994649e84f62af0a6418b77a661ae9bf9c10f1398e3fc";
|
|
188
|
+
}, {
|
|
189
|
+
readonly id: "public-api-catalog";
|
|
190
|
+
readonly path: "spec/plugin/public-api-v1.json";
|
|
191
|
+
readonly version: "public-api-v1";
|
|
192
|
+
readonly sha256: "fec900c56ce6eb2ad5ee1f229d62918726c23af48eb6cbe52bb0aff7599e06cc";
|
|
185
193
|
}, {
|
|
186
194
|
readonly id: "publisher-release-ref-schema";
|
|
187
195
|
readonly path: "spec/plugin/publisher-release-ref-v1.schema.json";
|
|
@@ -239,9 +247,9 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
239
247
|
readonly sha256: "bee7b149876447d663a4099dbd71e71fa97f8ff80ddf4e12cbfba951a47c4beb";
|
|
240
248
|
}, {
|
|
241
249
|
readonly id: "runtime-descriptor-schema";
|
|
242
|
-
readonly path: "spec/plugin/runtime-descriptor-
|
|
243
|
-
readonly version: "runtime-descriptor-
|
|
244
|
-
readonly sha256: "
|
|
250
|
+
readonly path: "spec/plugin/runtime-descriptor-v3.schema.json";
|
|
251
|
+
readonly version: "runtime-descriptor-v3";
|
|
252
|
+
readonly sha256: "c95c9126c0bbb4b5f697114d4e11d7107d1bebea56d700d3549d00812e7c3e97";
|
|
245
253
|
}, {
|
|
246
254
|
readonly id: "runtime-exec-journal-schema";
|
|
247
255
|
readonly path: "spec/plugin/runtime-exec-journal-v1.schema.json";
|
|
@@ -249,9 +257,9 @@ export declare const redevPluginContractArtifacts: readonly [{
|
|
|
249
257
|
readonly sha256: "2bddbba383843b8ebc1554009909f0bb25e98616be763826a697cb0f408870d2";
|
|
250
258
|
}, {
|
|
251
259
|
readonly id: "rust-ipc-schema";
|
|
252
|
-
readonly path: "spec/plugin/ipc-
|
|
253
|
-
readonly version: "rust-ipc-
|
|
254
|
-
readonly sha256: "
|
|
260
|
+
readonly path: "spec/plugin/ipc-v7.schema.json";
|
|
261
|
+
readonly version: "rust-ipc-v7";
|
|
262
|
+
readonly sha256: "1e1c5b6414030a0c7ffa6f4356f95e2f78f339b9b4dff45bb3691931316d9502";
|
|
255
263
|
}, {
|
|
256
264
|
readonly id: "session-scope-schema";
|
|
257
265
|
readonly path: "spec/plugin/session-scope-v1.schema.json";
|
package/dist/contracts.gen.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// Code generated by scripts/generate_contract_registry.mjs; DO NOT EDIT.
|
|
2
|
+
export const surfaceAPIMajor = 1;
|
|
3
|
+
/** @deprecated Internal frozen transport alias. Plugin code should use surfaceAPIMajor. */
|
|
2
4
|
export const pluginUIProtocolVersion = "plugin-ui-v7";
|
|
3
5
|
export const pluginHostProtocolVersion = "plugin-host-v11";
|
|
4
6
|
export const bridgeSchemaVersion = "bridge-v7";
|
|
@@ -8,9 +10,9 @@ export const redevPluginContractVersions = {
|
|
|
8
10
|
"supported_plugin_ui_protocol_versions": ["plugin-ui-v7"],
|
|
9
11
|
"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
12
|
"plugin_host_protocol_version": "plugin-host-v11",
|
|
11
|
-
"rust_ipc_version": "rust-ipc-
|
|
13
|
+
"rust_ipc_version": "rust-ipc-v7",
|
|
12
14
|
"wasm_abi_version": "redevplugin-wasm-worker-v2",
|
|
13
|
-
"manifest_schema_version": "manifest-
|
|
15
|
+
"manifest_schema_version": "manifest-v9",
|
|
14
16
|
"package_signature_schema_version": "package-signature-v1",
|
|
15
17
|
"release_metadata_schema_version": "release-metadata-v8",
|
|
16
18
|
"release_root_delegation_schema_version": "release-root-delegation-v1",
|
|
@@ -26,9 +28,10 @@ export const redevPluginContractVersions = {
|
|
|
26
28
|
"network_grant_schema_version": "network-grant-v2",
|
|
27
29
|
"resource_scope_schema_version": "resource-scope-v1",
|
|
28
30
|
"session_scope_schema_version": "session-scope-v1",
|
|
29
|
-
"plugin_platform_openapi_version": "plugin-platform-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
31
|
+
"plugin_platform_openapi_version": "plugin-platform-v17",
|
|
32
|
+
"public_api_catalog_version": "public-api-v1",
|
|
33
|
+
"compatibility_manifest_version": "redevplugin.compatibility.v20",
|
|
34
|
+
"compatibility_schema_version": "compatibility-manifest-v20",
|
|
32
35
|
"worker_invocation_schema_version": "worker-invocation-v3",
|
|
33
36
|
"host_capability_contract_schema_version": "host-capability-contract-v1",
|
|
34
37
|
"host_capability_pin_schema_version": "host-capability-pin-v1",
|
|
@@ -39,7 +42,7 @@ export const redevPluginContractVersions = {
|
|
|
39
42
|
"platform_package_set_schema_version": "platform-package-set-v3",
|
|
40
43
|
"platform_package_publication_schema_version": "platform-package-publication-v2",
|
|
41
44
|
"runtime_admission_schema_version": "runtime-admission-v1",
|
|
42
|
-
"runtime_descriptor_schema_version": "runtime-descriptor-
|
|
45
|
+
"runtime_descriptor_schema_version": "runtime-descriptor-v3",
|
|
43
46
|
"owner_scope_inventory_registry_version": "owner-scope-inventory-registry-v1",
|
|
44
47
|
"owner_scope_inventory_schema_version": "owner-scope-inventory-v1",
|
|
45
48
|
"owner_scope_migration_schema_version": "owner-scope-migration-v1",
|
|
@@ -51,9 +54,9 @@ export const redevPluginContractVersions = {
|
|
|
51
54
|
export const redevPluginContractArtifacts = [
|
|
52
55
|
{
|
|
53
56
|
id: "compatibility-manifest-schema",
|
|
54
|
-
path: "spec/plugin/compatibility-manifest-
|
|
55
|
-
version: "compatibility-manifest-
|
|
56
|
-
sha256: "
|
|
57
|
+
path: "spec/plugin/compatibility-manifest-v20.schema.json",
|
|
58
|
+
version: "compatibility-manifest-v20",
|
|
59
|
+
sha256: "8ace15ee3f0bb05e5cdd3449385dd498e37f5fb2e22a67302efb5efeaee1aa02",
|
|
57
60
|
},
|
|
58
61
|
{
|
|
59
62
|
id: "contract-registry-schema",
|
|
@@ -99,9 +102,9 @@ export const redevPluginContractArtifacts = [
|
|
|
99
102
|
},
|
|
100
103
|
{
|
|
101
104
|
id: "manifest-schema",
|
|
102
|
-
path: "spec/plugin/manifest-
|
|
103
|
-
version: "manifest-
|
|
104
|
-
sha256: "
|
|
105
|
+
path: "spec/plugin/manifest-v9.schema.json",
|
|
106
|
+
version: "manifest-v9",
|
|
107
|
+
sha256: "d8b0fc348179a1a9af81f152897bad1891b1f8b7a7a4448c0a4e54e9883f1322",
|
|
105
108
|
},
|
|
106
109
|
{
|
|
107
110
|
id: "network-grant-schema",
|
|
@@ -155,7 +158,7 @@ export const redevPluginContractArtifacts = [
|
|
|
155
158
|
id: "performance-contract",
|
|
156
159
|
path: "spec/plugin/performance-contract-v4.json",
|
|
157
160
|
version: "performance-contract-v4",
|
|
158
|
-
sha256: "
|
|
161
|
+
sha256: "08830053b38f0f8466c4e9e608fd7f21e24175063ec02307543fbd8adfb5692e",
|
|
159
162
|
},
|
|
160
163
|
{
|
|
161
164
|
id: "performance-evidence-schema",
|
|
@@ -167,19 +170,19 @@ export const redevPluginContractArtifacts = [
|
|
|
167
170
|
id: "platform-package-publication-schema",
|
|
168
171
|
path: "spec/plugin/platform-package-publication-v2.schema.json",
|
|
169
172
|
version: "platform-package-publication-v2",
|
|
170
|
-
sha256: "
|
|
173
|
+
sha256: "1cc7a342b7dda8533324764c7f29fa7a3ca24a93f6015e7a18a17539febd538a",
|
|
171
174
|
},
|
|
172
175
|
{
|
|
173
176
|
id: "platform-package-set-schema",
|
|
174
177
|
path: "spec/plugin/platform-package-set-v3.schema.json",
|
|
175
178
|
version: "platform-package-set-v3",
|
|
176
|
-
sha256: "
|
|
179
|
+
sha256: "8acba305f9df90be10cca516b98a598efc9a4bffd0e3c2915d78385e18397b88",
|
|
177
180
|
},
|
|
178
181
|
{
|
|
179
182
|
id: "plugin-platform-openapi",
|
|
180
|
-
path: "spec/openapi/plugin-platform-
|
|
181
|
-
version: "plugin-platform-
|
|
182
|
-
sha256: "
|
|
183
|
+
path: "spec/openapi/plugin-platform-v17.yaml",
|
|
184
|
+
version: "plugin-platform-v17",
|
|
185
|
+
sha256: "1a043991f4d87ddfabdf614364e1bec42400f4bc19b7856c4c774b9f282fcda3",
|
|
183
186
|
},
|
|
184
187
|
{
|
|
185
188
|
id: "presentation-icon-evidence-schema",
|
|
@@ -199,6 +202,12 @@ export const redevPluginContractArtifacts = [
|
|
|
199
202
|
version: "process-containment-v1",
|
|
200
203
|
sha256: "930ea44b1f62361706e994649e84f62af0a6418b77a661ae9bf9c10f1398e3fc",
|
|
201
204
|
},
|
|
205
|
+
{
|
|
206
|
+
id: "public-api-catalog",
|
|
207
|
+
path: "spec/plugin/public-api-v1.json",
|
|
208
|
+
version: "public-api-v1",
|
|
209
|
+
sha256: "fec900c56ce6eb2ad5ee1f229d62918726c23af48eb6cbe52bb0aff7599e06cc",
|
|
210
|
+
},
|
|
202
211
|
{
|
|
203
212
|
id: "publisher-release-ref-schema",
|
|
204
213
|
path: "spec/plugin/publisher-release-ref-v1.schema.json",
|
|
@@ -267,9 +276,9 @@ export const redevPluginContractArtifacts = [
|
|
|
267
276
|
},
|
|
268
277
|
{
|
|
269
278
|
id: "runtime-descriptor-schema",
|
|
270
|
-
path: "spec/plugin/runtime-descriptor-
|
|
271
|
-
version: "runtime-descriptor-
|
|
272
|
-
sha256: "
|
|
279
|
+
path: "spec/plugin/runtime-descriptor-v3.schema.json",
|
|
280
|
+
version: "runtime-descriptor-v3",
|
|
281
|
+
sha256: "c95c9126c0bbb4b5f697114d4e11d7107d1bebea56d700d3549d00812e7c3e97",
|
|
273
282
|
},
|
|
274
283
|
{
|
|
275
284
|
id: "runtime-exec-journal-schema",
|
|
@@ -279,9 +288,9 @@ export const redevPluginContractArtifacts = [
|
|
|
279
288
|
},
|
|
280
289
|
{
|
|
281
290
|
id: "rust-ipc-schema",
|
|
282
|
-
path: "spec/plugin/ipc-
|
|
283
|
-
version: "rust-ipc-
|
|
284
|
-
sha256: "
|
|
291
|
+
path: "spec/plugin/ipc-v7.schema.json",
|
|
292
|
+
version: "rust-ipc-v7",
|
|
293
|
+
sha256: "1e1c5b6414030a0c7ffa6f4356f95e2f78f339b9b4dff45bb3691931316d9502",
|
|
285
294
|
},
|
|
286
295
|
{
|
|
287
296
|
id: "session-scope-schema",
|
package/dist/http.d.ts
CHANGED
|
@@ -40,3 +40,4 @@ export declare function readMutationPlatformResponse<T>(response: FetchResponseL
|
|
|
40
40
|
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
41
41
|
export declare function hasExactKeys(value: unknown, keys: readonly string[]): value is Record<string, unknown>;
|
|
42
42
|
export declare function hasAllowedKeys(value: unknown, keys: readonly string[]): value is Record<string, unknown>;
|
|
43
|
+
export declare function hasRequiredKeys(value: Record<string, unknown>, keys: readonly string[]): boolean;
|
package/dist/http.js
CHANGED
|
@@ -95,12 +95,12 @@ function isPlatformResponse(value, mutation) {
|
|
|
95
95
|
if (!isRecord(value) || typeof value.ok !== "boolean")
|
|
96
96
|
return false;
|
|
97
97
|
if (value.ok) {
|
|
98
|
-
return
|
|
98
|
+
return hasRequiredKeys(value, ["ok", "data"]);
|
|
99
99
|
}
|
|
100
|
-
if (!
|
|
100
|
+
if (!hasRequiredKeys(value, ["ok", "error"]) || !isRecord(value.error))
|
|
101
101
|
return false;
|
|
102
102
|
const errorKeys = mutation ? ["code", "message", "details", "mutation_outcome"] : ["code", "message", "details"];
|
|
103
|
-
if (!
|
|
103
|
+
if (!hasRequiredKeys(value.error, errorKeys) ||
|
|
104
104
|
!isPluginPlatformErrorCode(value.error.code) ||
|
|
105
105
|
typeof value.error.message !== "string" || value.error.message.trim().length === 0 ||
|
|
106
106
|
Array.from(value.error.message).length > 4096 ||
|
|
@@ -212,6 +212,6 @@ function isIncompleteSessionScopeResult(value) {
|
|
|
212
212
|
return false;
|
|
213
213
|
return sessionScopeCountKeys.every((key) => Number.isSafeInteger(counts[key]) && Number(counts[key]) >= 0);
|
|
214
214
|
}
|
|
215
|
-
function hasRequiredKeys(value, keys) {
|
|
215
|
+
export function hasRequiredKeys(value, keys) {
|
|
216
216
|
return keys.every((key) => Object.hasOwn(value, key));
|
|
217
217
|
}
|
package/dist/openapi.gen.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export interface paths {
|
|
|
79
79
|
};
|
|
80
80
|
get?: never;
|
|
81
81
|
put?: never;
|
|
82
|
-
/** @description Reopens and installs one unexpired process-local inspection after the user confirms its exact package digest. The inspection is bound to the exact authenticated session. Invalid or revoked signatures fail closed; absent or unknown signatures
|
|
82
|
+
/** @description Reopens and installs one unexpired process-local inspection after the user confirms its exact package digest and permission selection. The inspection is bound to the exact authenticated session. Invalid or revoked signatures fail closed; absent or unknown signatures remain manual-update-only but enable by default when required permissions are approved and runtime policy allows activation. */
|
|
83
83
|
post: operations["installInspectedPackage"];
|
|
84
84
|
delete?: never;
|
|
85
85
|
options?: never;
|
|
@@ -103,6 +103,23 @@ export interface paths {
|
|
|
103
103
|
patch?: never;
|
|
104
104
|
trace?: never;
|
|
105
105
|
};
|
|
106
|
+
"/_redevplugin/api/plugins/release-packages/inspect": {
|
|
107
|
+
parameters: {
|
|
108
|
+
query?: never;
|
|
109
|
+
header?: never;
|
|
110
|
+
path?: never;
|
|
111
|
+
cookie?: never;
|
|
112
|
+
};
|
|
113
|
+
get?: never;
|
|
114
|
+
put?: never;
|
|
115
|
+
/** @description Resolves and fully verifies an exact release reference before installation so one user confirmation can review the Host-derived permissions and package identity. The inspection does not install a plugin, and installation re-verifies the exact release and hashes. */
|
|
116
|
+
post: operations["inspectReleasePackage"];
|
|
117
|
+
delete?: never;
|
|
118
|
+
options?: never;
|
|
119
|
+
head?: never;
|
|
120
|
+
patch?: never;
|
|
121
|
+
trace?: never;
|
|
122
|
+
};
|
|
106
123
|
"/_redevplugin/api/plugins/enable": {
|
|
107
124
|
parameters: {
|
|
108
125
|
query?: never;
|
|
@@ -995,6 +1012,11 @@ export interface components {
|
|
|
995
1012
|
ok: true;
|
|
996
1013
|
data: components["schemas"]["InstalledExternalPackage"];
|
|
997
1014
|
};
|
|
1015
|
+
ReleasePackageInspectionSuccessResponse: {
|
|
1016
|
+
/** @constant */
|
|
1017
|
+
ok: true;
|
|
1018
|
+
data: components["schemas"]["ReleasePackageInspection"];
|
|
1019
|
+
};
|
|
998
1020
|
PluginCatalogSuccessResponse: {
|
|
999
1021
|
/** @constant */
|
|
1000
1022
|
ok: true;
|
|
@@ -1360,7 +1382,7 @@ export interface components {
|
|
|
1360
1382
|
PluginCatalogResult: {
|
|
1361
1383
|
plugins: components["schemas"]["PluginCatalogRecord"][];
|
|
1362
1384
|
};
|
|
1363
|
-
PluginCompatibilityManifest: components["schemas"]["
|
|
1385
|
+
PluginCompatibilityManifest: components["schemas"]["CompatibilityManifestV20"];
|
|
1364
1386
|
ExecutionList: {
|
|
1365
1387
|
executions: components["schemas"]["Execution"][];
|
|
1366
1388
|
next_cursor?: number;
|
|
@@ -1557,14 +1579,32 @@ export interface components {
|
|
|
1557
1579
|
StrictSemVer: string;
|
|
1558
1580
|
RuntimeDescriptor: {
|
|
1559
1581
|
/** @constant */
|
|
1560
|
-
schema_version: "runtime-descriptor-
|
|
1582
|
+
schema_version: "runtime-descriptor-v3";
|
|
1561
1583
|
platform_version: components["schemas"]["StrictSemVer"];
|
|
1562
1584
|
target: components["schemas"]["RuntimeAdmissionTarget"];
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1585
|
+
internal: {
|
|
1586
|
+
/** @constant */
|
|
1587
|
+
rust_ipc: "rust-ipc-v7";
|
|
1588
|
+
contract_set_sha256: string;
|
|
1589
|
+
};
|
|
1590
|
+
public_api: {
|
|
1591
|
+
/** @constant */
|
|
1592
|
+
worker_majors: [
|
|
1593
|
+
1
|
|
1594
|
+
];
|
|
1595
|
+
/** @constant */
|
|
1596
|
+
features: [
|
|
1597
|
+
"fs.environment.v1",
|
|
1598
|
+
"fs.home.v1",
|
|
1599
|
+
"fs.watch.v1",
|
|
1600
|
+
"fs.workspace.v1",
|
|
1601
|
+
"io.stream.v1",
|
|
1602
|
+
"net.http.v1",
|
|
1603
|
+
"net.tcp.v1",
|
|
1604
|
+
"net.udp.v1",
|
|
1605
|
+
"net.websocket.v1"
|
|
1606
|
+
];
|
|
1607
|
+
};
|
|
1568
1608
|
binary_sha256: string;
|
|
1569
1609
|
};
|
|
1570
1610
|
/** @description Negotiated runtime capacities. per_plugin_concurrency must not exceed worker_count. Route capacities are derived exactly from negotiated limits: active hostcall routes = worker_count, canceled hostcall retention = worker_count + queue_capacity, and compile-flight artifact routes = worker_count. */
|
|
@@ -1712,10 +1752,16 @@ export interface components {
|
|
|
1712
1752
|
intent: components["schemas"]["ExternalPackageIntentRequest"];
|
|
1713
1753
|
source: components["schemas"]["ExternalPackageSource"];
|
|
1714
1754
|
};
|
|
1715
|
-
/** @description Confirms an unexpired process-local inspection by its exact package digest.
|
|
1755
|
+
/** @description Confirms an unexpired process-local inspection by its exact package digest and carries the single Host-owned activation intent. New installs activate by default; updates preserve their pre-install enable intent. */
|
|
1716
1756
|
InstallInspectedPackageRequest: {
|
|
1717
1757
|
inspection_id: string;
|
|
1718
1758
|
expected_package_sha256: string;
|
|
1759
|
+
activate_after_install?: boolean;
|
|
1760
|
+
approved_permission_ids?: string[];
|
|
1761
|
+
};
|
|
1762
|
+
InspectReleasePackageRequest: {
|
|
1763
|
+
plugin_instance_id: string;
|
|
1764
|
+
release_ref: components["schemas"]["PluginReleaseRef"];
|
|
1719
1765
|
};
|
|
1720
1766
|
/** @description Cryptographic signature fact computed over the inspected artifact. The absent state is installable and affects trust classification and automatic-update eligibility only. */
|
|
1721
1767
|
ExternalPackageSignatureAssessment: {
|
|
@@ -1976,12 +2022,28 @@ export interface components {
|
|
|
1976
2022
|
};
|
|
1977
2023
|
InstalledExternalPackage: {
|
|
1978
2024
|
plugin: components["schemas"]["PluginRecord"];
|
|
2025
|
+
activation: components["schemas"]["PluginInstallActivation"];
|
|
1979
2026
|
signature_assessment: components["schemas"]["ExternalPackageSignatureAssessment"];
|
|
1980
2027
|
source_provenance: components["schemas"]["ExternalPackageSourceProvenance"];
|
|
1981
2028
|
execution_approval: components["schemas"]["ExternalPackageExecutionApproval"];
|
|
1982
2029
|
update_eligibility: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
1983
2030
|
security_summary: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
1984
2031
|
};
|
|
2032
|
+
PluginInstallActivation: {
|
|
2033
|
+
/** @enum {string} */
|
|
2034
|
+
status: "not_requested" | "enabled" | "needs_attention";
|
|
2035
|
+
missing_permission_ids?: string[];
|
|
2036
|
+
/** @enum {string} */
|
|
2037
|
+
next_action?: "approve_permissions" | "retry_activation";
|
|
2038
|
+
};
|
|
2039
|
+
ReleasePackageInspection: {
|
|
2040
|
+
plugin_instance_id: string;
|
|
2041
|
+
release_ref: components["schemas"]["PluginReleaseRef"];
|
|
2042
|
+
inspected_hashes: components["schemas"]["TrustHashSet"];
|
|
2043
|
+
presentation: components["schemas"]["PresentationCatalog"];
|
|
2044
|
+
presentation_sha256: string;
|
|
2045
|
+
security_summary: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
2046
|
+
};
|
|
1985
2047
|
/** @enum {string} */
|
|
1986
2048
|
TrustState: "verified" | "unsigned_local" | "untrusted" | "needs_review" | "trust_unavailable" | "blocked_security";
|
|
1987
2049
|
TrustHashSet: {
|
|
@@ -2024,7 +2086,7 @@ export interface components {
|
|
|
2024
2086
|
update_eligibility?: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
2025
2087
|
security_summary?: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
2026
2088
|
capability_contracts?: components["schemas"]["CapabilityContractPin"][];
|
|
2027
|
-
manifest: components["schemas"]["
|
|
2089
|
+
manifest: components["schemas"]["ManifestV9"];
|
|
2028
2090
|
presentation: components["schemas"]["PresentationCatalog"];
|
|
2029
2091
|
presentation_sha256: string;
|
|
2030
2092
|
package_entries: components["schemas"]["PackageEntry"][];
|
|
@@ -2064,7 +2126,7 @@ export interface components {
|
|
|
2064
2126
|
policy_revision: number;
|
|
2065
2127
|
management_revision: number;
|
|
2066
2128
|
revoke_epoch: number;
|
|
2067
|
-
manifest: components["schemas"]["
|
|
2129
|
+
manifest: components["schemas"]["ManifestV9"];
|
|
2068
2130
|
presentation: components["schemas"]["PresentationCatalog"];
|
|
2069
2131
|
presentation_sha256: string;
|
|
2070
2132
|
package_entries: components["schemas"]["PackageEntry"][];
|
|
@@ -2610,9 +2672,9 @@ export interface components {
|
|
|
2610
2672
|
counts: components["schemas"]["SessionScopeV1RevokeCounts"];
|
|
2611
2673
|
};
|
|
2612
2674
|
SessionScopeV1PublicRevokeResult: components["schemas"]["SessionScopeV1CompleteRevokeResult"] | components["schemas"]["SessionScopeV1IncompleteRevokeResult"];
|
|
2613
|
-
|
|
2675
|
+
CompatibilityManifestV20: {
|
|
2614
2676
|
/** @constant */
|
|
2615
|
-
schema_version: "redevplugin.compatibility.
|
|
2677
|
+
schema_version: "redevplugin.compatibility.v20";
|
|
2616
2678
|
package_set: components["schemas"]["PlatformPackageSetV3"];
|
|
2617
2679
|
matrix: {
|
|
2618
2680
|
/** @constant */
|
|
@@ -2632,11 +2694,11 @@ export interface components {
|
|
|
2632
2694
|
/** @constant */
|
|
2633
2695
|
plugin_host_protocol_version: "plugin-host-v11";
|
|
2634
2696
|
/** @constant */
|
|
2635
|
-
rust_ipc_version: "rust-ipc-
|
|
2697
|
+
rust_ipc_version: "rust-ipc-v7";
|
|
2636
2698
|
/** @constant */
|
|
2637
2699
|
wasm_abi_version: "redevplugin-wasm-worker-v2";
|
|
2638
2700
|
/** @constant */
|
|
2639
|
-
manifest_schema_version: "manifest-
|
|
2701
|
+
manifest_schema_version: "manifest-v9";
|
|
2640
2702
|
/** @constant */
|
|
2641
2703
|
package_signature_schema_version: "package-signature-v1";
|
|
2642
2704
|
/** @constant */
|
|
@@ -2668,9 +2730,11 @@ export interface components {
|
|
|
2668
2730
|
/** @constant */
|
|
2669
2731
|
session_scope_schema_version: "session-scope-v1";
|
|
2670
2732
|
/** @constant */
|
|
2671
|
-
plugin_platform_openapi_version: "plugin-platform-
|
|
2733
|
+
plugin_platform_openapi_version: "plugin-platform-v17";
|
|
2672
2734
|
/** @constant */
|
|
2673
|
-
|
|
2735
|
+
public_api_catalog_version: "public-api-v1";
|
|
2736
|
+
/** @constant */
|
|
2737
|
+
compatibility_schema_version: "compatibility-manifest-v20";
|
|
2674
2738
|
/** @constant */
|
|
2675
2739
|
worker_invocation_schema_version: "worker-invocation-v3";
|
|
2676
2740
|
/** @constant */
|
|
@@ -2692,7 +2756,7 @@ export interface components {
|
|
|
2692
2756
|
/** @constant */
|
|
2693
2757
|
runtime_admission_schema_version: "runtime-admission-v1";
|
|
2694
2758
|
/** @constant */
|
|
2695
|
-
runtime_descriptor_schema_version: "runtime-descriptor-
|
|
2759
|
+
runtime_descriptor_schema_version: "runtime-descriptor-v3";
|
|
2696
2760
|
/** @constant */
|
|
2697
2761
|
owner_scope_inventory_registry_version: "owner-scope-inventory-registry-v1";
|
|
2698
2762
|
/** @constant */
|
|
@@ -2709,9 +2773,9 @@ export interface components {
|
|
|
2709
2773
|
quarantine_cleanup_schema_version: "quarantine-cleanup-v1";
|
|
2710
2774
|
};
|
|
2711
2775
|
contract_set_sha256: string;
|
|
2712
|
-
contracts: components["schemas"]["
|
|
2776
|
+
contracts: components["schemas"]["CompatibilityManifestV20Contract"][];
|
|
2713
2777
|
};
|
|
2714
|
-
|
|
2778
|
+
CompatibilityManifestV20Contract: {
|
|
2715
2779
|
id: string;
|
|
2716
2780
|
path: string;
|
|
2717
2781
|
version: string;
|
|
@@ -2738,7 +2802,7 @@ export interface components {
|
|
|
2738
2802
|
PlatformPackageSetV3Sha256: string;
|
|
2739
2803
|
PlatformPackageSetV3GoModule: {
|
|
2740
2804
|
/** @constant */
|
|
2741
|
-
module: "github.com/floegence/redevplugin";
|
|
2805
|
+
module: "github.com/floegence/redevplugin/v2";
|
|
2742
2806
|
version: string;
|
|
2743
2807
|
};
|
|
2744
2808
|
PlatformPackageSetV3NpmPackage: {
|
|
@@ -2771,9 +2835,9 @@ export interface components {
|
|
|
2771
2835
|
/** @constant */
|
|
2772
2836
|
role?: "runtime";
|
|
2773
2837
|
};
|
|
2774
|
-
|
|
2838
|
+
ManifestV9: {
|
|
2775
2839
|
/** @constant */
|
|
2776
|
-
schema_version: "redevplugin.manifest.
|
|
2840
|
+
schema_version: "redevplugin.manifest.v9";
|
|
2777
2841
|
publisher: {
|
|
2778
2842
|
publisher_id: string;
|
|
2779
2843
|
display_name?: string;
|
|
@@ -2781,23 +2845,24 @@ export interface components {
|
|
|
2781
2845
|
plugin: {
|
|
2782
2846
|
plugin_id: string;
|
|
2783
2847
|
display_name: string;
|
|
2784
|
-
version: components["schemas"]["
|
|
2848
|
+
version: components["schemas"]["ManifestV9Semver"];
|
|
2849
|
+
};
|
|
2850
|
+
api: {
|
|
2785
2851
|
/** @constant */
|
|
2786
|
-
|
|
2787
|
-
min_runtime_version: components["schemas"]["ManifestV8Semver"];
|
|
2852
|
+
surface: 1;
|
|
2788
2853
|
/** @constant */
|
|
2789
|
-
|
|
2854
|
+
worker: 1;
|
|
2855
|
+
required_features?: components["schemas"]["ManifestV9RequiredFeatures"];
|
|
2856
|
+
optional_features?: components["schemas"]["ManifestV9OptionalFeatures"];
|
|
2790
2857
|
};
|
|
2858
|
+
permissions: ("fs.workspace.read" | "fs.workspace.write" | "fs.home.read" | "fs.home.write" | "fs.environment.read" | "fs.environment.write" | "network.client" | "network.listen")[];
|
|
2791
2859
|
presentation: {
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
highlights: components["schemas"]["ManifestV8Highlights"];
|
|
2796
|
-
keywords: components["schemas"]["ManifestV8Keywords"];
|
|
2860
|
+
locales: {
|
|
2861
|
+
default: components["schemas"]["ManifestV9Locale"];
|
|
2862
|
+
};
|
|
2797
2863
|
icon?: {
|
|
2798
2864
|
path: string;
|
|
2799
2865
|
};
|
|
2800
|
-
localizations: components["schemas"]["ManifestV8Localization"][];
|
|
2801
2866
|
};
|
|
2802
2867
|
surfaces: {
|
|
2803
2868
|
surface_id: string;
|
|
@@ -2813,78 +2878,24 @@ export interface components {
|
|
|
2813
2878
|
height: number;
|
|
2814
2879
|
};
|
|
2815
2880
|
}[];
|
|
2816
|
-
|
|
2817
|
-
binding_id: string;
|
|
2818
|
-
contract: components["schemas"]["HostCapabilityPinV1"];
|
|
2819
|
-
}[];
|
|
2820
|
-
methods?: ({
|
|
2821
|
-
method: string;
|
|
2822
|
-
/** @enum {unknown} */
|
|
2823
|
-
effect?: "read" | "write" | "delete" | "execute" | "admin";
|
|
2824
|
-
/** @enum {unknown} */
|
|
2825
|
-
execution?: "sync" | "operation" | "subscription";
|
|
2826
|
-
dangerous?: boolean;
|
|
2827
|
-
preflight_only?: boolean;
|
|
2828
|
-
broker_access?: {
|
|
2829
|
-
storage?: {
|
|
2830
|
-
store_id: string;
|
|
2831
|
-
operations: ("read" | "write" | "delete" | "list" | "get" | "put" | "query" | "exec")[];
|
|
2832
|
-
}[];
|
|
2833
|
-
network?: ({
|
|
2834
|
-
connector_id: string;
|
|
2835
|
-
/** @enum {unknown} */
|
|
2836
|
-
transport: "http" | "websocket" | "tcp" | "udp";
|
|
2837
|
-
operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
|
|
2838
|
-
http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
|
|
2839
|
-
} & unknown)[];
|
|
2840
|
-
};
|
|
2841
|
-
route: {
|
|
2842
|
-
/** @enum {unknown} */
|
|
2843
|
-
kind: "capability" | "worker" | "core_action";
|
|
2844
|
-
binding_id?: string;
|
|
2845
|
-
target_method?: string;
|
|
2846
|
-
worker_id?: string;
|
|
2847
|
-
action_id?: string;
|
|
2848
|
-
} & (unknown & unknown & unknown);
|
|
2849
|
-
confirmation?: {
|
|
2850
|
-
/** @enum {unknown} */
|
|
2851
|
-
mode: "none" | "required" | "risk_based";
|
|
2852
|
-
preflight_method?: string | null;
|
|
2853
|
-
request_hash_fields?: string[];
|
|
2854
|
-
plan_hash_required?: boolean;
|
|
2855
|
-
};
|
|
2856
|
-
cancel_policy?: {
|
|
2857
|
-
cancelable: boolean;
|
|
2858
|
-
/** @enum {unknown} */
|
|
2859
|
-
disable_behavior?: "cancel" | "orphan" | "wait";
|
|
2860
|
-
/** @enum {unknown} */
|
|
2861
|
-
uninstall_behavior?: "cancel_then_block_delete" | "force_cleanup_allowed";
|
|
2862
|
-
ack_timeout_ms?: number;
|
|
2863
|
-
} & (unknown & unknown);
|
|
2864
|
-
request_schema?: components["schemas"]["ManifestV8MethodSchema"] & {
|
|
2865
|
-
/** @constant */
|
|
2866
|
-
type: "object";
|
|
2867
|
-
/** @constant */
|
|
2868
|
-
additionalProperties: false;
|
|
2869
|
-
};
|
|
2870
|
-
response_schema?: components["schemas"]["ManifestV8MethodSchema"] & {
|
|
2871
|
-
/** @constant */
|
|
2872
|
-
type: "object";
|
|
2873
|
-
/** @constant */
|
|
2874
|
-
additionalProperties: false;
|
|
2875
|
-
};
|
|
2876
|
-
} & (unknown & unknown & unknown & unknown))[];
|
|
2877
|
-
workers?: {
|
|
2881
|
+
workers: {
|
|
2878
2882
|
worker_id: string;
|
|
2879
2883
|
artifact: string;
|
|
2880
2884
|
/** @constant */
|
|
2881
|
-
abi: "redevplugin-wasm-worker-v2";
|
|
2882
|
-
/** @constant */
|
|
2883
2885
|
mode: "job";
|
|
2884
2886
|
/** @enum {unknown} */
|
|
2885
2887
|
scope: "user" | "environment";
|
|
2886
2888
|
memory_limit_bytes: number;
|
|
2887
|
-
|
|
2889
|
+
}[];
|
|
2890
|
+
methods: {
|
|
2891
|
+
method: string;
|
|
2892
|
+
worker_id: string;
|
|
2893
|
+
/** @enum {unknown} */
|
|
2894
|
+
effect: "read" | "write" | "execute" | "delete" | "admin";
|
|
2895
|
+
/** @enum {unknown} */
|
|
2896
|
+
execution: "sync" | "operation" | "subscription";
|
|
2897
|
+
request_schema: components["schemas"]["ManifestV9MethodSchema"];
|
|
2898
|
+
response_schema: components["schemas"]["ManifestV9MethodSchema"];
|
|
2888
2899
|
}[];
|
|
2889
2900
|
storage?: {
|
|
2890
2901
|
stores?: {
|
|
@@ -2898,115 +2909,13 @@ export interface components {
|
|
|
2898
2909
|
schema_version: number;
|
|
2899
2910
|
}[];
|
|
2900
2911
|
};
|
|
2901
|
-
|
|
2902
|
-
connectors?: {
|
|
2903
|
-
connector_id: string;
|
|
2904
|
-
/** @enum {unknown} */
|
|
2905
|
-
transport: "http" | "websocket" | "tcp" | "udp";
|
|
2906
|
-
/** @enum {unknown} */
|
|
2907
|
-
scope: "user" | "environment";
|
|
2908
|
-
destinations: string[];
|
|
2909
|
-
auth?: Record<string, never>;
|
|
2910
|
-
tls?: Record<string, never>;
|
|
2911
|
-
}[];
|
|
2912
|
-
};
|
|
2913
|
-
settings?: {
|
|
2914
|
-
schema_version: number;
|
|
2915
|
-
fields?: {
|
|
2916
|
-
key: string;
|
|
2917
|
-
type: string;
|
|
2918
|
-
/** @enum {unknown} */
|
|
2919
|
-
scope: "user" | "environment";
|
|
2920
|
-
label: string;
|
|
2921
|
-
default?: unknown;
|
|
2922
|
-
secret_ref?: string;
|
|
2923
|
-
options?: components["schemas"]["ManifestV8SettingOption"][];
|
|
2924
|
-
validation?: Record<string, never>;
|
|
2925
|
-
}[];
|
|
2926
|
-
};
|
|
2927
|
-
intents?: {
|
|
2928
|
-
intent_id: string;
|
|
2929
|
-
method: string;
|
|
2930
|
-
payload_schema?: Record<string, never>;
|
|
2931
|
-
}[];
|
|
2932
|
-
};
|
|
2933
|
-
ManifestV8Locale: string;
|
|
2934
|
-
ManifestV8Summary: string;
|
|
2935
|
-
ManifestV8Description: string[];
|
|
2936
|
-
ManifestV8Highlights: string[];
|
|
2937
|
-
ManifestV8Keywords: string[];
|
|
2938
|
-
ManifestV8SettingOption: {
|
|
2939
|
-
value: string;
|
|
2940
|
-
label: string;
|
|
2941
|
-
};
|
|
2942
|
-
ManifestV8LocalizedSurface: {
|
|
2943
|
-
surface_id: string;
|
|
2944
|
-
label: string;
|
|
2945
|
-
};
|
|
2946
|
-
ManifestV8LocalizedSetting: {
|
|
2947
|
-
key: string;
|
|
2948
|
-
label: string;
|
|
2949
|
-
options: components["schemas"]["ManifestV8SettingOption"][];
|
|
2950
|
-
};
|
|
2951
|
-
ManifestV8Localization: {
|
|
2952
|
-
locale: components["schemas"]["ManifestV8Locale"];
|
|
2953
|
-
plugin_name: string;
|
|
2954
|
-
publisher_name?: string;
|
|
2955
|
-
summary: components["schemas"]["ManifestV8Summary"];
|
|
2956
|
-
description: components["schemas"]["ManifestV8Description"];
|
|
2957
|
-
highlights: components["schemas"]["ManifestV8Highlights"];
|
|
2958
|
-
keywords: components["schemas"]["ManifestV8Keywords"];
|
|
2959
|
-
surfaces: components["schemas"]["ManifestV8LocalizedSurface"][];
|
|
2960
|
-
settings: components["schemas"]["ManifestV8LocalizedSetting"][];
|
|
2961
|
-
};
|
|
2962
|
-
ManifestV8Semver: string;
|
|
2963
|
-
ManifestV8MethodSchema: false | (({
|
|
2964
|
-
description?: string;
|
|
2965
|
-
readOnly?: boolean;
|
|
2966
|
-
writeOnly?: boolean;
|
|
2967
|
-
$ref?: string;
|
|
2968
|
-
type?: ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string") | ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string")[];
|
|
2969
|
-
properties?: {
|
|
2970
|
-
[key: string]: components["schemas"]["ManifestV8MethodSchema"];
|
|
2971
|
-
};
|
|
2972
|
-
patternProperties?: {
|
|
2973
|
-
[key: string]: components["schemas"]["ManifestV8MethodSchema"];
|
|
2974
|
-
};
|
|
2975
|
-
required?: string[];
|
|
2976
|
-
/** @constant */
|
|
2977
|
-
additionalProperties?: false;
|
|
2978
|
-
items?: components["schemas"]["ManifestV8MethodSchema"];
|
|
2979
|
-
allOf?: components["schemas"]["ManifestV8MethodSchema"][];
|
|
2980
|
-
anyOf?: components["schemas"]["ManifestV8MethodSchema"][];
|
|
2981
|
-
oneOf?: components["schemas"]["ManifestV8MethodSchema"][];
|
|
2982
|
-
enum?: unknown[];
|
|
2983
|
-
const?: unknown;
|
|
2984
|
-
default?: unknown;
|
|
2985
|
-
examples?: unknown[];
|
|
2986
|
-
minimum?: number;
|
|
2987
|
-
maximum?: number;
|
|
2988
|
-
exclusiveMinimum?: number;
|
|
2989
|
-
exclusiveMaximum?: number;
|
|
2990
|
-
multipleOf?: number;
|
|
2991
|
-
minLength?: number;
|
|
2992
|
-
maxLength?: number;
|
|
2993
|
-
pattern?: string;
|
|
2994
|
-
format?: string;
|
|
2995
|
-
minItems?: number;
|
|
2996
|
-
maxItems?: number;
|
|
2997
|
-
uniqueItems?: boolean;
|
|
2998
|
-
minProperties?: number;
|
|
2999
|
-
maxProperties?: number;
|
|
3000
|
-
} & (unknown & unknown)) | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown);
|
|
3001
|
-
HostCapabilityPinV1: {
|
|
3002
|
-
publisher_id: components["schemas"]["HostCapabilityPinV1Id"];
|
|
3003
|
-
contract_id: components["schemas"]["HostCapabilityPinV1Id"];
|
|
3004
|
-
contract_version: components["schemas"]["HostCapabilityPinV1Semver"];
|
|
3005
|
-
artifact_sha256: components["schemas"]["HostCapabilityPinV1Sha256"];
|
|
2912
|
+
settings?: Record<string, never>;
|
|
3006
2913
|
};
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
2914
|
+
ManifestV9Semver: string;
|
|
2915
|
+
ManifestV9Locale: string;
|
|
2916
|
+
ManifestV9RequiredFeatures: ("io.stream.v1" | "fs.workspace.v1" | "fs.home.v1" | "fs.environment.v1" | "fs.watch.v1" | "net.http.v1" | "net.websocket.v1" | "net.tcp.v1" | "net.udp.v1")[];
|
|
2917
|
+
ManifestV9OptionalFeatures: string[];
|
|
2918
|
+
ManifestV9MethodSchema: false | Record<string, never>;
|
|
3010
2919
|
OpaqueSurfaceDocumentV3: {
|
|
3011
2920
|
/** @constant */
|
|
3012
2921
|
schema_version: "redevplugin.opaque_surface_document.v3";
|
|
@@ -3043,6 +2952,15 @@ export interface components {
|
|
|
3043
2952
|
size: number;
|
|
3044
2953
|
content_type: string;
|
|
3045
2954
|
};
|
|
2955
|
+
HostCapabilityPinV1: {
|
|
2956
|
+
publisher_id: components["schemas"]["HostCapabilityPinV1Id"];
|
|
2957
|
+
contract_id: components["schemas"]["HostCapabilityPinV1Id"];
|
|
2958
|
+
contract_version: components["schemas"]["HostCapabilityPinV1Semver"];
|
|
2959
|
+
artifact_sha256: components["schemas"]["HostCapabilityPinV1Sha256"];
|
|
2960
|
+
};
|
|
2961
|
+
HostCapabilityPinV1Id: string;
|
|
2962
|
+
HostCapabilityPinV1Semver: string;
|
|
2963
|
+
HostCapabilityPinV1Sha256: string;
|
|
3046
2964
|
};
|
|
3047
2965
|
responses: {
|
|
3048
2966
|
/** @description Closed non-success response for read-only platform operations. */
|
|
@@ -3432,6 +3350,15 @@ export interface components {
|
|
|
3432
3350
|
"application/json": components["schemas"]["SettingsSnapshotSuccessResponse"];
|
|
3433
3351
|
};
|
|
3434
3352
|
};
|
|
3353
|
+
/** @description Verified release package facts for the installation review. */
|
|
3354
|
+
ReleasePackageInspectionResponse: {
|
|
3355
|
+
headers: {
|
|
3356
|
+
[name: string]: unknown;
|
|
3357
|
+
};
|
|
3358
|
+
content: {
|
|
3359
|
+
"application/json": components["schemas"]["ReleasePackageInspectionSuccessResponse"];
|
|
3360
|
+
};
|
|
3361
|
+
};
|
|
3435
3362
|
};
|
|
3436
3363
|
parameters: {
|
|
3437
3364
|
ExecutionID: string;
|
|
@@ -3456,6 +3383,11 @@ export interface components {
|
|
|
3456
3383
|
"application/json": components["schemas"]["InstallReleaseRefRequest"];
|
|
3457
3384
|
};
|
|
3458
3385
|
};
|
|
3386
|
+
InspectReleasePackageRequest: {
|
|
3387
|
+
content: {
|
|
3388
|
+
"application/json": components["schemas"]["InspectReleasePackageRequest"];
|
|
3389
|
+
};
|
|
3390
|
+
};
|
|
3459
3391
|
UpdateReleaseRefRequest: {
|
|
3460
3392
|
content: {
|
|
3461
3393
|
"application/json": components["schemas"]["UpdateReleaseRefRequest"];
|
|
@@ -3786,6 +3718,19 @@ export interface operations {
|
|
|
3786
3718
|
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3787
3719
|
};
|
|
3788
3720
|
};
|
|
3721
|
+
inspectReleasePackage: {
|
|
3722
|
+
parameters: {
|
|
3723
|
+
query?: never;
|
|
3724
|
+
header?: never;
|
|
3725
|
+
path?: never;
|
|
3726
|
+
cookie?: never;
|
|
3727
|
+
};
|
|
3728
|
+
requestBody: components["requestBodies"]["InspectReleasePackageRequest"];
|
|
3729
|
+
responses: {
|
|
3730
|
+
200: components["responses"]["ReleasePackageInspectionResponse"];
|
|
3731
|
+
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3732
|
+
};
|
|
3733
|
+
};
|
|
3789
3734
|
enablePlugin: {
|
|
3790
3735
|
parameters: {
|
|
3791
3736
|
query?: never;
|
package/dist/platform.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export type PluginEnableState = PluginRecord["enable_state"];
|
|
|
30
30
|
export type PluginPackageHashSet = PlatformSchemas["PackageHashSet"];
|
|
31
31
|
export type PluginReleaseRef = PlatformSchemas["PluginReleaseRef"];
|
|
32
32
|
export type PluginInstallReleaseRefRequest = PlatformSchemas["InstallReleaseRefRequest"];
|
|
33
|
+
export type PluginInspectReleasePackageRequest = PlatformSchemas["InspectReleasePackageRequest"];
|
|
34
|
+
export type PluginReleasePackageInspection = PlatformSchemas["ReleasePackageInspection"];
|
|
33
35
|
export type PluginUpdateReleaseRefRequest = PlatformSchemas["UpdateReleaseRefRequest"];
|
|
34
36
|
export type PluginInspectExternalPackageRequest = PlatformSchemas["InspectExternalPackageRequest"];
|
|
35
37
|
export type PluginUploadedExternalPackageIntent = PlatformSchemas["ExternalPackageIntentRequest"];
|
|
@@ -132,6 +134,7 @@ export declare class PluginPlatformClient {
|
|
|
132
134
|
features(options?: PluginRequestOptions): Promise<PluginFeatures>;
|
|
133
135
|
getCompatibility(options?: PluginRequestOptions): Promise<PluginCompatibilityManifest>;
|
|
134
136
|
installReleaseRef(request: PluginInstallReleaseRefRequest, options?: PluginRequestOptions): Promise<PluginRecord>;
|
|
137
|
+
inspectReleasePackage(request: PluginInspectReleasePackageRequest, options?: PluginRequestOptions): Promise<PluginReleasePackageInspection>;
|
|
135
138
|
inspectExternalPackage(request: PluginInspectExternalPackageRequest, options?: PluginRequestOptions): Promise<PluginExternalPackageInspection>;
|
|
136
139
|
inspectUploadedExternalPackage(intent: PluginUploadedExternalPackageIntent, packageBlob: Blob, options?: PluginRequestOptions): Promise<PluginExternalPackageInspection>;
|
|
137
140
|
installInspectedPackage(request: PluginInstallInspectedPackageRequest, options?: PluginRequestOptions): Promise<PluginInstalledExternalPackage>;
|
package/dist/platform.js
CHANGED
|
@@ -41,6 +41,9 @@ export class PluginPlatformClient {
|
|
|
41
41
|
installReleaseRef(request, options = {}) {
|
|
42
42
|
return this.#requestMutation("POST", "/_redevplugin/api/plugins/install-release-ref", request, options);
|
|
43
43
|
}
|
|
44
|
+
inspectReleasePackage(request, options = {}) {
|
|
45
|
+
return this.#requestMutation("POST", "/_redevplugin/api/plugins/release-packages/inspect", request, options);
|
|
46
|
+
}
|
|
44
47
|
async inspectExternalPackage(request, options = {}) {
|
|
45
48
|
const inspection = await this.#requestMutation("POST", "/_redevplugin/api/plugins/external-packages/inspect", request, options);
|
|
46
49
|
this.#externalInspectionTargets.set(inspection.inspection_id, inspection.intent.plugin_instance_id ?? "");
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { PluginBridgeClient } from "./surface.js";
|
|
2
2
|
export { PluginBridgeError } from "./errors.js";
|
|
3
|
+
export { surfaceAPIMajor } from "./contracts.gen.js";
|
|
3
4
|
export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
|
|
4
5
|
export type { BridgeLifecycleEvent, MessagePortLike, PluginBridgeClientOptions, PluginBridgeRequestOptions, PluginCanvasAccessibilityState, PluginCanvasInputEvent, PluginCanvasKeyEvent, PluginCanvasPointerEvent, PluginCanvasResizeEvent, PluginCanvasSurface, PluginJSONObject, PluginJSONValue, PluginMethodResult, PluginExecutionFailureCode, PluginExecutionSnapshot, PluginExecutionProgress, PluginExecutionEvent, PluginExecutionEventList, PluginSurfaceContext, PluginUIActionEvent, PluginUIAttributeValue, PluginUIElementVNode, PluginUIPatchOperation, PluginUIVNode, } from "./surface.js";
|
|
5
6
|
export type { PluginCapabilitySchema, PluginCapabilityEffect, PluginCapabilityOperationContract, PluginCapabilityStreamContract, PluginCapabilitySyncContract, PluginCapabilityStreamEvent, PluginCapabilityStreamReadResult, PluginExecution, PluginExecutionTerminalStatus, PluginExecutionWaitOptions, PluginStream, } from "./capability-client.js";
|
package/dist/plugin.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { PluginBridgeClient } from "./surface.js";
|
|
2
2
|
export { PluginBridgeError } from "./errors.js";
|
|
3
|
+
export { surfaceAPIMajor } from "./contracts.gen.js";
|
|
3
4
|
export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
|
package/dist/surface.js
CHANGED
|
@@ -2,7 +2,7 @@ import { PluginBridgeError, PluginPlatformRequestError, PluginTransportError, pl
|
|
|
2
2
|
import { pluginBridgeCapabilityEffect, } from "./bridge-capability.js";
|
|
3
3
|
import { pluginUIProtocolVersion } from "./contracts.gen.js";
|
|
4
4
|
import { opaqueSurfaceAllowedTags, opaqueSurfaceGlobalAttributes, opaqueSurfaceRenderLimits, opaqueSurfaceSafeInputTypes, opaqueSurfaceTagAttributes, } from "./opaque-surface-policy.gen.js";
|
|
5
|
-
import { defaultFetch, hasAllowedKeys, hasExactKeys, isRecord, readMutationPlatformResponse, readPlatformResponse, } from "./http.js";
|
|
5
|
+
import { defaultFetch, hasAllowedKeys, hasExactKeys, hasRequiredKeys, isRecord, readMutationPlatformResponse, readPlatformResponse, } from "./http.js";
|
|
6
6
|
import { defaultPluginSurfaceScope, registerPluginSurface, } from "./surface-scope.js";
|
|
7
7
|
import { PluginUIReconcileError, reconcileValidatedPluginUITrees, validatePluginUITree, } from "./ui-reconciler.js";
|
|
8
8
|
export const opaqueSurfaceDocumentSchemaVersion = "redevplugin.opaque_surface_document.v3";
|
|
@@ -4051,16 +4051,17 @@ function validDateTime(value) {
|
|
|
4051
4051
|
return typeof value === "string" && value.length > 0 && Number.isFinite(Date.parse(value));
|
|
4052
4052
|
}
|
|
4053
4053
|
function isPluginExecutionEventList(value, executionID, afterCursor) {
|
|
4054
|
-
if (!
|
|
4054
|
+
if (!isRecord(value) || !hasRequiredKeys(value, ["execution_id", "events", "cursor"]) || value.execution_id !== executionID ||
|
|
4055
4055
|
!Array.isArray(value.events) || !Number.isSafeInteger(value.cursor) || Number(value.cursor) < afterCursor)
|
|
4056
4056
|
return false;
|
|
4057
4057
|
let cursor = afterCursor;
|
|
4058
4058
|
for (const event of value.events) {
|
|
4059
|
-
if (!isRecord(event) || !
|
|
4059
|
+
if (!isRecord(event) || !hasRequiredKeys(event, ["execution_id", "sequence", "kind"]) ||
|
|
4060
4060
|
event.execution_id !== executionID || !Number.isSafeInteger(event.sequence) || Number(event.sequence) <= cursor ||
|
|
4061
4061
|
!["progress", "data", "diagnostic", "terminal"].includes(String(event.kind)) ||
|
|
4062
4062
|
(event.payload !== undefined && !isRecord(event.payload)) ||
|
|
4063
|
-
(event.error !== undefined && (!
|
|
4063
|
+
(event.error !== undefined && (!isRecord(event.error) || !hasRequiredKeys(event.error, ["code", "message"]) ||
|
|
4064
|
+
typeof event.error.code !== "string" || typeof event.error.message !== "string")))
|
|
4064
4065
|
return false;
|
|
4065
4066
|
cursor = Number(event.sequence);
|
|
4066
4067
|
}
|
|
@@ -4086,10 +4087,9 @@ function isBridgeResponse(value) {
|
|
|
4086
4087
|
if (!isBridgeResponseCandidate(value) || !validBridgeRequestID(value.id))
|
|
4087
4088
|
return false;
|
|
4088
4089
|
if (value.ok === true)
|
|
4089
|
-
return
|
|
4090
|
+
return true;
|
|
4090
4091
|
if (value.ok !== false || typeof value.error_code !== "string" || !pluginBridgeErrorCodeSet.has(value.error_code) ||
|
|
4091
4092
|
typeof value.error !== "string" || value.error.length > 4096 ||
|
|
4092
|
-
!Object.keys(value).every((key) => ["type", "id", "ok", "error_code", "error", "error_details", "mutation_outcome"].includes(key)) ||
|
|
4093
4093
|
(value.mutation_outcome !== undefined && value.mutation_outcome !== "committed" &&
|
|
4094
4094
|
value.mutation_outcome !== "not_committed" && value.mutation_outcome !== "unknown")) {
|
|
4095
4095
|
return false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@floegence/redevplugin-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
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": "
|
|
43
|
+
"@floegence/redevplugin-contracts": "2.0.1"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|