@floegence/redevplugin-ui 0.6.17 → 0.6.19

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.
@@ -379,6 +379,23 @@ export interface paths {
379
379
  patch?: never;
380
380
  trace?: never;
381
381
  };
382
+ "/_redevplugin/api/plugins/surfaces/{surface_instance_id}/operations/query": {
383
+ parameters: {
384
+ query?: never;
385
+ header?: never;
386
+ path?: never;
387
+ cookie?: never;
388
+ };
389
+ get?: never;
390
+ put?: never;
391
+ /** @description Returns only the sandbox-safe status projection for an operation bound to the authenticated surface, session, and private bridge channel. */
392
+ post: operations["getSurfacePluginOperationSnapshot"];
393
+ delete?: never;
394
+ options?: never;
395
+ head?: never;
396
+ patch?: never;
397
+ trace?: never;
398
+ };
382
399
  "/_redevplugin/api/plugins/surfaces/{surface_instance_id}/confirmations/reject": {
383
400
  parameters: {
384
401
  query?: never;
@@ -978,6 +995,11 @@ export interface components {
978
995
  ok: true;
979
996
  data: components["schemas"]["SurfaceStreamAcknowledgementResult"];
980
997
  };
998
+ PluginOperationSnapshotSuccessResponse: {
999
+ /** @constant */
1000
+ ok: true;
1001
+ data: components["schemas"]["PluginOperationSnapshot"];
1002
+ };
981
1003
  SurfaceDisposeSuccessResponse: {
982
1004
  /** @constant */
983
1005
  ok: true;
@@ -1143,13 +1165,19 @@ export interface components {
1143
1165
  ok: true;
1144
1166
  data: components["schemas"]["PluginSettingsSnapshot"];
1145
1167
  };
1146
- PlatformError: components["schemas"]["GenericPlatformError"] | components["schemas"]["JSONLimitPlatformError"] | components["schemas"]["PackageValidationPlatformError"] | components["schemas"]["ManagementRevisionPlatformError"] | components["schemas"]["AuthorizationRevisionPlatformError"] | components["schemas"]["BindingRevisionPlatformError"] | components["schemas"]["ValuesRevisionPlatformError"] | components["schemas"]["CapabilityPlatformError"] | components["schemas"]["WorkerPlatformError"];
1168
+ PlatformError: components["schemas"]["GenericPlatformError"] | components["schemas"]["OperationRateLimitPlatformError"] | components["schemas"]["JSONLimitPlatformError"] | components["schemas"]["PackageValidationPlatformError"] | components["schemas"]["ManagementRevisionPlatformError"] | components["schemas"]["AuthorizationRevisionPlatformError"] | components["schemas"]["BindingRevisionPlatformError"] | components["schemas"]["ValuesRevisionPlatformError"] | components["schemas"]["CapabilityPlatformError"] | components["schemas"]["WorkerPlatformError"];
1147
1169
  MutationPlatformError: components["schemas"]["MutationGenericPlatformError"] | components["schemas"]["MutationJSONLimitPlatformError"] | components["schemas"]["MutationPackageValidationPlatformError"] | components["schemas"]["MutationManagementRevisionPlatformError"] | components["schemas"]["MutationAuthorizationRevisionPlatformError"] | components["schemas"]["MutationBindingRevisionPlatformError"] | components["schemas"]["MutationValuesRevisionPlatformError"] | components["schemas"]["MutationCapabilityPlatformError"] | components["schemas"]["MutationWorkerPlatformError"] | components["schemas"]["MutationSessionTeardownPlatformError"];
1148
1170
  GenericPlatformError: {
1149
1171
  code: components["schemas"]["GenericPlatformErrorCode"];
1150
1172
  message: components["schemas"]["PlatformErrorMessage"];
1151
1173
  details: components["schemas"]["EmptyErrorDetails"];
1152
1174
  };
1175
+ OperationRateLimitPlatformError: {
1176
+ /** @constant */
1177
+ code: "PLUGIN_OPERATION_RATE_LIMITED";
1178
+ message: components["schemas"]["PlatformErrorMessage"];
1179
+ details: components["schemas"]["OperationRateLimitErrorDetails"];
1180
+ };
1153
1181
  JSONLimitPlatformError: {
1154
1182
  /** @constant */
1155
1183
  code: "PLUGIN_JSON_LIMIT_EXCEEDED";
@@ -1271,6 +1299,9 @@ export interface components {
1271
1299
  /** @enum {string} */
1272
1300
  MutationOutcome: "committed" | "not_committed" | "unknown";
1273
1301
  EmptyErrorDetails: Record<string, never>;
1302
+ OperationRateLimitErrorDetails: {
1303
+ retry_after_ms: number;
1304
+ };
1274
1305
  JSONLimitErrorDetails: {
1275
1306
  /** @enum {string} */
1276
1307
  reason: "payload_bytes" | "json_depth" | "prototype_key" | "number_precision";
@@ -1325,7 +1356,7 @@ export interface components {
1325
1356
  expected_values_revision: number;
1326
1357
  actual_values_revision: number;
1327
1358
  };
1328
- ErrorCode: components["schemas"]["ErrorCodesV6PlatformErrorCode"];
1359
+ ErrorCode: components["schemas"]["ErrorCodesV7PlatformErrorCode"];
1329
1360
  PlatformErrorMessage: string;
1330
1361
  /** @enum {string} */
1331
1362
  GenericPlatformErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED";
@@ -1345,7 +1376,7 @@ export interface components {
1345
1376
  PluginCatalogResult: {
1346
1377
  plugins: components["schemas"]["PluginRecord"][];
1347
1378
  };
1348
- PluginCompatibilityManifest: components["schemas"]["CompatibilityManifestV9"];
1379
+ PluginCompatibilityManifest: components["schemas"]["CompatibilityManifestV11"];
1349
1380
  PluginOperationList: {
1350
1381
  operations: components["schemas"]["OperationRecord"][];
1351
1382
  next_cursor?: string;
@@ -1445,7 +1476,7 @@ export interface components {
1445
1476
  invocation_id?: string;
1446
1477
  method?: string;
1447
1478
  failure_code?: string;
1448
- runtime_process_failure_code?: components["schemas"]["ErrorCodesV6RuntimeProcessFailureCode"];
1479
+ runtime_process_failure_code?: components["schemas"]["ErrorCodesV7RuntimeProcessFailureCode"];
1449
1480
  operation_id?: string;
1450
1481
  stream_id?: string;
1451
1482
  runtime_instance_id?: string;
@@ -2009,7 +2040,7 @@ export interface components {
2009
2040
  update_eligibility?: components["schemas"]["ExternalPackageUpdateEligibility"];
2010
2041
  security_summary?: components["schemas"]["ExternalPackageSecuritySummary"];
2011
2042
  capability_contracts?: components["schemas"]["CapabilityContractPin"][];
2012
- manifest: components["schemas"]["ManifestV5"];
2043
+ manifest: components["schemas"]["ManifestV5"] | components["schemas"]["ManifestV6"];
2013
2044
  package_entries: components["schemas"]["PackageEntry"][];
2014
2045
  runtime_requirement?: components["schemas"]["RuntimeRequirement"];
2015
2046
  /** Format: date-time */
@@ -2047,7 +2078,7 @@ export interface components {
2047
2078
  policy_revision: number;
2048
2079
  management_revision: number;
2049
2080
  revoke_epoch: number;
2050
- manifest: components["schemas"]["ManifestV5"];
2081
+ manifest: components["schemas"]["ManifestV5"] | components["schemas"]["ManifestV6"];
2051
2082
  package_entries: components["schemas"]["PackageEntry"][];
2052
2083
  runtime_requirement?: components["schemas"]["RuntimeRequirement"];
2053
2084
  version_history?: components["schemas"]["PluginVersion"][];
@@ -2172,6 +2203,8 @@ export interface components {
2172
2203
  plugin_id: string;
2173
2204
  plugin_instance_id: string;
2174
2205
  plugin_version: components["schemas"]["StrictSemVer"];
2206
+ /** @enum {string} */
2207
+ ui_protocol_version: "plugin-ui-v5" | "plugin-ui-v6";
2175
2208
  surface_id: string;
2176
2209
  surface_instance_id: string;
2177
2210
  active_fingerprint: string;
@@ -2217,8 +2250,8 @@ export interface components {
2217
2250
  asset_session_nonce: string;
2218
2251
  management_revision: number;
2219
2252
  revoke_epoch: number;
2220
- /** @constant */
2221
- ui_protocol_version: "plugin-ui-v5";
2253
+ /** @enum {string} */
2254
+ ui_protocol_version: "plugin-ui-v5" | "plugin-ui-v6";
2222
2255
  };
2223
2256
  TrustedParentBridgeTokenRequest: {
2224
2257
  handshake: components["schemas"]["TrustedParentBridgeHandshake"];
@@ -2275,6 +2308,47 @@ export interface components {
2275
2308
  bridge_channel_id: string;
2276
2309
  reason?: string;
2277
2310
  };
2311
+ GetSurfaceOperationRequest: {
2312
+ operation_id: string;
2313
+ bridge_channel_id: string;
2314
+ };
2315
+ PluginOperationSnapshot: {
2316
+ operation_id: string;
2317
+ /** @enum {string} */
2318
+ status: "running" | "cancel_requested";
2319
+ cancelable: boolean;
2320
+ /** Format: date-time */
2321
+ created_at: string;
2322
+ /** Format: date-time */
2323
+ updated_at: string;
2324
+ retry_after_ms: number;
2325
+ } | {
2326
+ operation_id: string;
2327
+ /** @enum {string} */
2328
+ status: "completed" | "canceled" | "orphaned_after_disable" | "orphaned_after_uninstall";
2329
+ cancelable: boolean;
2330
+ /** Format: date-time */
2331
+ created_at: string;
2332
+ /** Format: date-time */
2333
+ updated_at: string;
2334
+ retry_after_ms: number;
2335
+ /** Format: date-time */
2336
+ terminal_at: string;
2337
+ } | {
2338
+ operation_id: string;
2339
+ /** @constant */
2340
+ status: "failed";
2341
+ cancelable: boolean;
2342
+ /** Format: date-time */
2343
+ created_at: string;
2344
+ /** Format: date-time */
2345
+ updated_at: string;
2346
+ retry_after_ms: number;
2347
+ /** Format: date-time */
2348
+ terminal_at: string;
2349
+ /** @enum {string} */
2350
+ failure_code: "adapter_failed" | "contract_invalid" | "platform_failed" | "quota_exceeded" | "runtime_failed";
2351
+ };
2278
2352
  RejectSurfaceConfirmationRequest: {
2279
2353
  plugin_instance_id: string;
2280
2354
  bridge_channel_id: string;
@@ -2588,18 +2662,18 @@ export interface components {
2588
2662
  };
2589
2663
  remove?: string[];
2590
2664
  };
2591
- ErrorCodesV6: Record<string, never>;
2665
+ ErrorCodesV7: Record<string, never>;
2592
2666
  /** @enum {string} */
2593
- ErrorCodesV6PlatformErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED";
2667
+ ErrorCodesV7PlatformErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_OPERATION_RATE_LIMITED" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED";
2594
2668
  /** @enum {string} */
2595
- ErrorCodesV6BridgeErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED" | "PLUGIN_CONFIRMATION_REJECTED" | "PLUGIN_BRIDGE_CANCELLED" | "PLUGIN_BRIDGE_TIMEOUT" | "PLUGIN_BRIDGE_DISPOSED" | "PLUGIN_BRIDGE_HANDSHAKE_FAILED" | "PLUGIN_BRIDGE_HANDSHAKE_REQUIRED";
2669
+ ErrorCodesV7BridgeErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_OPERATION_RATE_LIMITED" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED" | "PLUGIN_CONFIRMATION_REJECTED" | "PLUGIN_BRIDGE_CANCELLED" | "PLUGIN_BRIDGE_TIMEOUT" | "PLUGIN_BRIDGE_DISPOSED" | "PLUGIN_BRIDGE_HANDSHAKE_FAILED" | "PLUGIN_BRIDGE_HANDSHAKE_REQUIRED";
2596
2670
  /** @enum {string} */
2597
- ErrorCodesV6TypescriptClientErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED" | "PLUGIN_CONFIRMATION_REJECTED" | "PLUGIN_BRIDGE_CANCELLED" | "PLUGIN_BRIDGE_TIMEOUT" | "PLUGIN_BRIDGE_DISPOSED" | "PLUGIN_BRIDGE_HANDSHAKE_FAILED" | "PLUGIN_BRIDGE_HANDSHAKE_REQUIRED" | "PLUGIN_PLATFORM_REQUEST_FAILED" | "PLUGIN_STREAM_FAILED";
2671
+ ErrorCodesV7TypescriptClientErrorCode: "PLUGIN_INVALID_REQUEST" | "PLUGIN_MANIFEST_INVALID" | "PLUGIN_PACKAGE_INVALID" | "PLUGIN_PACKAGE_TOO_LARGE" | "PLUGIN_PACKAGE_PATH_FORBIDDEN" | "PLUGIN_SIGNATURE_INVALID" | "PLUGIN_TRUST_STATE_DENIED" | "PLUGIN_TRUST_VERIFICATION_REQUIRED" | "PLUGIN_TRUST_VERIFICATION_INVALID" | "PLUGIN_RELEASE_REF_VERIFICATION_FAILED" | "PLUGIN_RELEASE_REF_POLICY_DENIED" | "PLUGIN_DISABLED" | "PLUGIN_DISABLED_BY_POLICY" | "PLUGIN_PERMISSION_DENIED" | "PLUGIN_ORIGIN_DENIED" | "PLUGIN_ACTION_DENIED" | "PLUGIN_OWNER_SCOPE_MISMATCH" | "PLUGIN_SECRET_SCOPE_MISMATCH" | "PLUGIN_STORAGE_SCOPE_MISMATCH" | "PLUGIN_ADAPTER_FAILURE" | "PLUGIN_SESSION_REVOKED" | "PLUGIN_SESSION_TEARDOWN_INCOMPLETE" | "PLUGIN_SESSION_FENCE_CAPACITY" | "PLUGIN_CONFIRMATION_REQUIRED" | "PLUGIN_CONFIRMATION_INVALID" | "PLUGIN_TOKEN_EXPIRED" | "PLUGIN_TOKEN_REPLAY" | "PLUGIN_GATEWAY_TOKEN_INVALID" | "PLUGIN_GATEWAY_TOKEN_REPLAYED" | "PLUGIN_GATEWAY_TOKEN_CHANNEL_MISMATCH" | "PLUGIN_ASSET_TICKET_INVALID" | "PLUGIN_ASSET_SESSION_INVALID" | "PLUGIN_STREAM_TICKET_INVALID" | "PLUGIN_STREAM_DELIVERY_INVALID" | "PLUGIN_STREAM_CANCELLED" | "PLUGIN_LEASE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "PLUGIN_GRANT_INVALID" | "PLUGIN_STORAGE_QUOTA_EXCEEDED" | "PLUGIN_OPERATION_BLOCKED" | "PLUGIN_OPERATION_NOT_FOUND" | "PLUGIN_OPERATION_NOT_CANCELABLE" | "PLUGIN_OPERATION_RATE_LIMITED" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_UNSUPPORTED" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_MANAGEMENT_REVISION_MISMATCH" | "PLUGIN_AUTHORIZATION_REVISION_MISMATCH" | "PLUGIN_BINDING_REVISION_MISMATCH" | "PLUGIN_VALUES_REVISION_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED" | "PLUGIN_CONFIRMATION_REJECTED" | "PLUGIN_BRIDGE_CANCELLED" | "PLUGIN_BRIDGE_TIMEOUT" | "PLUGIN_BRIDGE_DISPOSED" | "PLUGIN_BRIDGE_HANDSHAKE_FAILED" | "PLUGIN_BRIDGE_HANDSHAKE_REQUIRED" | "PLUGIN_PLATFORM_REQUEST_FAILED" | "PLUGIN_STREAM_FAILED";
2598
2672
  /** @enum {string} */
2599
- ErrorCodesV6RustIpcErrorCode: "ARTIFACT_HANDLE_FAILED" | "HANDLE_GRANT_VALIDATION_FAILED" | "STORAGE_FILE_FAILED" | "STORAGE_KV_FAILED" | "STORAGE_SQLITE_FAILED" | "NETWORK_GRANT_FAILED" | "NETWORK_EXECUTE_FAILED" | "NETWORK_STREAM_STORE_UNAVAILABLE" | "NETWORK_STREAM_FAILED" | "NETWORK_STREAM_BACKPRESSURE" | "NETWORK_STREAM_INVALID" | "NETWORK_STREAM_NOT_FOUND" | "NETWORK_STREAM_CLOSED" | "WORKER_INVOCATION_INVALID" | "RUNTIME_CAPABILITY_REVOKED" | "RUNTIME_CONTROL_CHANNEL_STALE" | "RUNTIME_LEASE_INVALID" | "RUNTIME_LEASE_SIGNATURE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "WASM_WORKER_INVALID" | "WASM_WORKER_FAILED" | "WASM_HOSTCALL_FAILED" | "RUNTIME_CAPACITY_EXCEEDED" | "RUNTIME_INVOCATION_CANCELED" | "PLUGIN_SESSION_REVOKED" | "SESSION_REVOKE_SEQUENCE_STALE" | "SESSION_REVOKE_DRAIN_TIMEOUT" | "UNSUPPORTED_FRAME";
2673
+ ErrorCodesV7RustIpcErrorCode: "ARTIFACT_HANDLE_FAILED" | "HANDLE_GRANT_VALIDATION_FAILED" | "STORAGE_FILE_FAILED" | "STORAGE_KV_FAILED" | "STORAGE_SQLITE_FAILED" | "NETWORK_GRANT_FAILED" | "NETWORK_EXECUTE_FAILED" | "NETWORK_STREAM_STORE_UNAVAILABLE" | "NETWORK_STREAM_FAILED" | "NETWORK_STREAM_BACKPRESSURE" | "NETWORK_STREAM_INVALID" | "NETWORK_STREAM_NOT_FOUND" | "NETWORK_STREAM_CLOSED" | "WORKER_INVOCATION_INVALID" | "RUNTIME_CAPABILITY_REVOKED" | "RUNTIME_CONTROL_CHANNEL_STALE" | "RUNTIME_LEASE_INVALID" | "RUNTIME_LEASE_SIGNATURE_INVALID" | "PLUGIN_LEASE_REPLAYED" | "WASM_WORKER_INVALID" | "WASM_WORKER_FAILED" | "WASM_HOSTCALL_FAILED" | "RUNTIME_CAPACITY_EXCEEDED" | "RUNTIME_INVOCATION_CANCELED" | "PLUGIN_SESSION_REVOKED" | "SESSION_REVOKE_SEQUENCE_STALE" | "SESSION_REVOKE_DRAIN_TIMEOUT" | "UNSUPPORTED_FRAME";
2600
2674
  /** @enum {string} */
2601
- ErrorCodesV6RuntimeProcessFailureCode: "RUNTIME_PROCESS_FAILED" | "RUNTIME_PROCESS_EXIT_UNEXPECTED" | "RUNTIME_PROCESS_EXIT_UNRECOGNIZED" | "RUNTIME_PROCESS_SIGNALLED" | "IPC_WRITER_CAPACITY_OVERFLOW" | "IPC_WRITER_CAPACITY_LIMIT_EXCEEDED" | "IPC_WRITER_START_FAILED" | "IPC_WRITER_CLOSED" | "IPC_WRITER_BATCH_SIZE_OVERFLOW" | "IPC_WRITER_WRITE_FAILED" | "IPC_WRITER_FLUSH_FAILED" | "IPC_WRITER_PANICKED";
2602
- ErrorCodesV6RuntimeProcessExitFailure: {
2675
+ ErrorCodesV7RuntimeProcessFailureCode: "RUNTIME_PROCESS_FAILED" | "RUNTIME_PROCESS_EXIT_UNEXPECTED" | "RUNTIME_PROCESS_EXIT_UNRECOGNIZED" | "RUNTIME_PROCESS_SIGNALLED" | "IPC_WRITER_CAPACITY_OVERFLOW" | "IPC_WRITER_CAPACITY_LIMIT_EXCEEDED" | "IPC_WRITER_START_FAILED" | "IPC_WRITER_CLOSED" | "IPC_WRITER_BATCH_SIZE_OVERFLOW" | "IPC_WRITER_WRITE_FAILED" | "IPC_WRITER_FLUSH_FAILED" | "IPC_WRITER_PANICKED";
2676
+ ErrorCodesV7RuntimeProcessExitFailure: {
2603
2677
  /** @constant */
2604
2678
  exit_code: 1;
2605
2679
  /** @constant */
@@ -2692,25 +2766,43 @@ export interface components {
2692
2766
  counts: components["schemas"]["SessionScopeV1RevokeCounts"];
2693
2767
  };
2694
2768
  SessionScopeV1PublicRevokeResult: components["schemas"]["SessionScopeV1CompleteRevokeResult"] | components["schemas"]["SessionScopeV1IncompleteRevokeResult"];
2695
- CompatibilityManifestV9: {
2769
+ CompatibilityManifestV11: {
2696
2770
  /** @constant */
2697
- schema_version: "redevplugin.compatibility.v9";
2771
+ schema_version: "redevplugin.compatibility.v11";
2698
2772
  package_set: components["schemas"]["PlatformPackageSetV1"];
2699
2773
  matrix: {
2700
2774
  /** @constant */
2701
- plugin_ui_protocol_version: "plugin-ui-v5";
2775
+ plugin_ui_protocol_version: "plugin-ui-v6";
2776
+ /** @constant */
2777
+ supported_plugin_ui_protocol_versions: [
2778
+ "plugin-ui-v5",
2779
+ "plugin-ui-v6"
2780
+ ];
2702
2781
  /** @constant */
2703
- plugin_host_protocol_version: "plugin-host-v6";
2782
+ plugin_ui_transport_mappings: [
2783
+ {
2784
+ plugin_ui_protocol_version: "plugin-ui-v5";
2785
+ opaque_surface_transport_schema_version: "opaque-surface-transport-v4";
2786
+ bridge_schema_version: "bridge-v5";
2787
+ },
2788
+ {
2789
+ plugin_ui_protocol_version: "plugin-ui-v6";
2790
+ opaque_surface_transport_schema_version: "opaque-surface-transport-v5";
2791
+ bridge_schema_version: "bridge-v6";
2792
+ }
2793
+ ];
2794
+ /** @constant */
2795
+ plugin_host_protocol_version: "plugin-host-v8";
2704
2796
  /** @constant */
2705
2797
  rust_ipc_version: "rust-ipc-v6";
2706
2798
  /** @constant */
2707
2799
  wasm_abi_version: "redevplugin-wasm-worker-v2";
2708
2800
  /** @constant */
2709
- manifest_schema_version: "manifest-v5";
2801
+ manifest_schema_version: "manifest-v6";
2710
2802
  /** @constant */
2711
2803
  package_signature_schema_version: "package-signature-v1";
2712
2804
  /** @constant */
2713
- release_metadata_schema_version: "release-metadata-v5";
2805
+ release_metadata_schema_version: "release-metadata-v6";
2714
2806
  /** @constant */
2715
2807
  release_root_delegation_schema_version: "release-root-delegation-v1";
2716
2808
  /** @constant */
@@ -2740,11 +2832,11 @@ export interface components {
2740
2832
  /** @constant */
2741
2833
  token_ticket_schema_version: "token-ticket-v4";
2742
2834
  /** @constant */
2743
- bridge_schema_version: "bridge-v5";
2835
+ bridge_schema_version: "bridge-v6";
2744
2836
  /** @constant */
2745
2837
  opaque_surface_document_schema_version: "opaque-surface-document-v3";
2746
2838
  /** @constant */
2747
- opaque_surface_transport_schema_version: "opaque-surface-transport-v4";
2839
+ opaque_surface_transport_schema_version: "opaque-surface-transport-v5";
2748
2840
  /** @constant */
2749
2841
  target_classifier_version: "target-classifier-v2";
2750
2842
  /** @constant */
@@ -2754,9 +2846,11 @@ export interface components {
2754
2846
  /** @constant */
2755
2847
  session_scope_schema_version: "session-scope-v1";
2756
2848
  /** @constant */
2757
- plugin_platform_openapi_version: "plugin-platform-v8";
2849
+ session_scope_maintenance_schema_version: "session-scope-maintenance-v1";
2850
+ /** @constant */
2851
+ plugin_platform_openapi_version: "plugin-platform-v9";
2758
2852
  /** @constant */
2759
- compatibility_schema_version: "compatibility-manifest-v9";
2853
+ compatibility_schema_version: "compatibility-manifest-v11";
2760
2854
  /** @constant */
2761
2855
  worker_invocation_schema_version: "worker-invocation-v3";
2762
2856
  /** @constant */
@@ -2772,7 +2866,7 @@ export interface components {
2772
2866
  /** @constant */
2773
2867
  host_capability_notices_schema_version: "host-capability-notices-v1";
2774
2868
  /** @constant */
2775
- error_codes_schema_version: "error-codes-v6";
2869
+ error_codes_schema_version: "error-codes-v7";
2776
2870
  /** @constant */
2777
2871
  performance_contract_version: "performance-contract-v4";
2778
2872
  /** @constant */
@@ -2803,9 +2897,9 @@ export interface components {
2803
2897
  quarantine_cleanup_schema_version: "quarantine-cleanup-v1";
2804
2898
  };
2805
2899
  contract_set_sha256: string;
2806
- contracts: components["schemas"]["CompatibilityManifestV9Contract"][];
2900
+ contracts: components["schemas"]["CompatibilityManifestV11Contract"][];
2807
2901
  };
2808
- CompatibilityManifestV9Contract: {
2902
+ CompatibilityManifestV11Contract: {
2809
2903
  id: string;
2810
2904
  path: string;
2811
2905
  version: string;
@@ -3105,6 +3199,193 @@ export interface components {
3105
3199
  HostCapabilityPinV1ArtifactRef: string;
3106
3200
  HostCapabilityPinV1Sha256: string;
3107
3201
  HostCapabilityPinV1DecimalEpoch: string;
3202
+ ManifestV6: {
3203
+ /** @constant */
3204
+ schema_version: "redevplugin.manifest.v6";
3205
+ publisher: {
3206
+ publisher_id: string;
3207
+ display_name?: string;
3208
+ };
3209
+ plugin: {
3210
+ plugin_id: string;
3211
+ display_name: string;
3212
+ version: components["schemas"]["ManifestV6Semver"];
3213
+ /** @constant */
3214
+ api_version: "plugin-v1";
3215
+ min_runtime_version: components["schemas"]["ManifestV6Semver"];
3216
+ /** @constant */
3217
+ ui_protocol_version: "plugin-ui-v6";
3218
+ };
3219
+ surfaces: {
3220
+ surface_id: string;
3221
+ /** @enum {unknown} */
3222
+ kind: "view" | "command" | "background";
3223
+ /** @enum {unknown} */
3224
+ intent?: "primary" | "secondary" | "utility";
3225
+ label: string;
3226
+ entry: string;
3227
+ icon?: string;
3228
+ default_size?: {
3229
+ width: number;
3230
+ height: number;
3231
+ };
3232
+ }[];
3233
+ capability_bindings?: {
3234
+ binding_id: string;
3235
+ contract: components["schemas"]["HostCapabilityPinV1"];
3236
+ }[];
3237
+ methods?: ({
3238
+ method: string;
3239
+ /** @enum {unknown} */
3240
+ effect?: "read" | "write" | "delete" | "execute" | "admin";
3241
+ /** @enum {unknown} */
3242
+ execution?: "sync" | "operation" | "subscription";
3243
+ dangerous?: boolean;
3244
+ preflight_only?: boolean;
3245
+ broker_access?: {
3246
+ storage?: {
3247
+ store_id: string;
3248
+ operations: ("read" | "write" | "delete" | "list" | "get" | "put" | "query" | "exec")[];
3249
+ }[];
3250
+ network?: ({
3251
+ connector_id: string;
3252
+ /** @enum {unknown} */
3253
+ transport: "http" | "websocket" | "tcp" | "udp";
3254
+ operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
3255
+ http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
3256
+ } & unknown)[];
3257
+ };
3258
+ route: {
3259
+ /** @enum {unknown} */
3260
+ kind: "capability" | "worker" | "core_action";
3261
+ binding_id?: string;
3262
+ target_method?: string;
3263
+ worker_id?: string;
3264
+ action_id?: string;
3265
+ } & (unknown & unknown & unknown);
3266
+ confirmation?: {
3267
+ /** @enum {unknown} */
3268
+ mode: "none" | "required" | "risk_based";
3269
+ preflight_method?: string | null;
3270
+ request_hash_fields?: string[];
3271
+ plan_hash_required?: boolean;
3272
+ };
3273
+ cancel_policy?: {
3274
+ cancelable: boolean;
3275
+ /** @enum {unknown} */
3276
+ disable_behavior?: "cancel" | "orphan" | "wait";
3277
+ /** @enum {unknown} */
3278
+ uninstall_behavior?: "cancel_then_block_delete" | "force_cleanup_allowed";
3279
+ ack_timeout_ms?: number;
3280
+ } & (unknown & unknown);
3281
+ request_schema?: components["schemas"]["ManifestV6MethodSchema"] & {
3282
+ /** @constant */
3283
+ type: "object";
3284
+ /** @constant */
3285
+ additionalProperties: false;
3286
+ };
3287
+ response_schema?: components["schemas"]["ManifestV6MethodSchema"] & {
3288
+ /** @constant */
3289
+ type: "object";
3290
+ /** @constant */
3291
+ additionalProperties: false;
3292
+ };
3293
+ } & (unknown & unknown & unknown & unknown))[];
3294
+ workers?: {
3295
+ worker_id: string;
3296
+ artifact: string;
3297
+ /** @constant */
3298
+ abi: "redevplugin-wasm-worker-v2";
3299
+ /** @constant */
3300
+ mode: "job";
3301
+ /** @enum {unknown} */
3302
+ scope: "user" | "environment";
3303
+ memory_limit_bytes: number;
3304
+ idle_timeout_ms?: number;
3305
+ }[];
3306
+ storage?: {
3307
+ stores?: {
3308
+ store_id: string;
3309
+ /** @enum {unknown} */
3310
+ kind: "kv" | "files" | "sqlite";
3311
+ /** @enum {unknown} */
3312
+ scope: "user" | "environment";
3313
+ quota_bytes: number;
3314
+ quota_files?: number;
3315
+ schema_version: number;
3316
+ }[];
3317
+ };
3318
+ network_access?: {
3319
+ connectors?: {
3320
+ connector_id: string;
3321
+ /** @enum {unknown} */
3322
+ transport: "http" | "websocket" | "tcp" | "udp";
3323
+ /** @enum {unknown} */
3324
+ scope: "user" | "environment";
3325
+ destinations: string[];
3326
+ auth?: Record<string, never>;
3327
+ tls?: Record<string, never>;
3328
+ }[];
3329
+ };
3330
+ settings?: {
3331
+ schema_version: number;
3332
+ fields?: {
3333
+ key: string;
3334
+ type: string;
3335
+ /** @enum {unknown} */
3336
+ scope: "user" | "environment";
3337
+ label: string;
3338
+ default?: unknown;
3339
+ secret_ref?: string;
3340
+ options?: string[];
3341
+ validation?: Record<string, never>;
3342
+ }[];
3343
+ };
3344
+ intents?: {
3345
+ intent_id: string;
3346
+ method: string;
3347
+ payload_schema?: Record<string, never>;
3348
+ }[];
3349
+ };
3350
+ ManifestV6Semver: string;
3351
+ ManifestV6MethodSchema: false | (({
3352
+ description?: string;
3353
+ readOnly?: boolean;
3354
+ writeOnly?: boolean;
3355
+ $ref?: string;
3356
+ type?: ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string") | ("null" | "boolean" | "object" | "array" | "number" | "integer" | "string")[];
3357
+ properties?: {
3358
+ [key: string]: components["schemas"]["ManifestV6MethodSchema"];
3359
+ };
3360
+ patternProperties?: {
3361
+ [key: string]: components["schemas"]["ManifestV6MethodSchema"];
3362
+ };
3363
+ required?: string[];
3364
+ /** @constant */
3365
+ additionalProperties?: false;
3366
+ items?: components["schemas"]["ManifestV6MethodSchema"];
3367
+ allOf?: components["schemas"]["ManifestV6MethodSchema"][];
3368
+ anyOf?: components["schemas"]["ManifestV6MethodSchema"][];
3369
+ oneOf?: components["schemas"]["ManifestV6MethodSchema"][];
3370
+ enum?: unknown[];
3371
+ const?: unknown;
3372
+ default?: unknown;
3373
+ examples?: unknown[];
3374
+ minimum?: number;
3375
+ maximum?: number;
3376
+ exclusiveMinimum?: number;
3377
+ exclusiveMaximum?: number;
3378
+ multipleOf?: number;
3379
+ minLength?: number;
3380
+ maxLength?: number;
3381
+ pattern?: string;
3382
+ format?: string;
3383
+ minItems?: number;
3384
+ maxItems?: number;
3385
+ uniqueItems?: boolean;
3386
+ minProperties?: number;
3387
+ maxProperties?: number;
3388
+ } & (unknown & unknown)) | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown);
3108
3389
  OpaqueSurfaceDocumentV3: {
3109
3390
  /** @constant */
3110
3391
  schema_version: "redevplugin.opaque_surface_document.v3";
@@ -3224,6 +3505,15 @@ export interface components {
3224
3505
  "application/json": components["schemas"]["SurfaceStreamAcknowledgementSuccessResponse"];
3225
3506
  };
3226
3507
  };
3508
+ /** @description Closed sandbox-safe operation status projection. */
3509
+ PluginOperationSnapshotResponse: {
3510
+ headers: {
3511
+ [name: string]: unknown;
3512
+ };
3513
+ content: {
3514
+ "application/json": components["schemas"]["PluginOperationSnapshotSuccessResponse"];
3515
+ };
3516
+ };
3227
3517
  /** @description Surface revocation response. */
3228
3518
  SurfaceDisposeResponse: {
3229
3519
  headers: {
@@ -3667,6 +3957,11 @@ export interface components {
3667
3957
  "application/json": components["schemas"]["CancelSurfaceOperationRequest"];
3668
3958
  };
3669
3959
  };
3960
+ GetSurfaceOperationRequest: {
3961
+ content: {
3962
+ "application/json": components["schemas"]["GetSurfaceOperationRequest"];
3963
+ };
3964
+ };
3670
3965
  RejectSurfaceConfirmationRequest: {
3671
3966
  content: {
3672
3967
  "application/json": components["schemas"]["RejectSurfaceConfirmationRequest"];
@@ -4120,6 +4415,21 @@ export interface operations {
4120
4415
  default: components["responses"]["MutationPlatformErrorResponse"];
4121
4416
  };
4122
4417
  };
4418
+ getSurfacePluginOperationSnapshot: {
4419
+ parameters: {
4420
+ query?: never;
4421
+ header?: never;
4422
+ path: {
4423
+ surface_instance_id: components["parameters"]["SurfaceInstanceID"];
4424
+ };
4425
+ cookie?: never;
4426
+ };
4427
+ requestBody: components["requestBodies"]["GetSurfaceOperationRequest"];
4428
+ responses: {
4429
+ 200: components["responses"]["PluginOperationSnapshotResponse"];
4430
+ default: components["responses"]["PlatformErrorResponse"];
4431
+ };
4432
+ };
4123
4433
  rejectSurfacePluginConfirmation: {
4124
4434
  parameters: {
4125
4435
  query?: never;
package/dist/platform.js CHANGED
@@ -7,6 +7,7 @@ function toPluginSurfaceHostBootstrap(value) {
7
7
  pluginId: value.plugin_id,
8
8
  pluginInstanceId: value.plugin_instance_id,
9
9
  pluginVersion: value.plugin_version,
10
+ uiProtocolVersion: value.ui_protocol_version,
10
11
  surfaceId: value.surface_id,
11
12
  surfaceInstanceId: value.surface_instance_id,
12
13
  activeFingerprint: value.active_fingerprint,
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { PluginBridgeClient } from "./surface.js";
2
2
  export { PluginBridgeError } from "./errors.js";
3
3
  export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
4
- export type { BridgeLifecycleEvent, MessagePortLike, PluginBridgeClientOptions, PluginBridgeRequestOptions, PluginCanvasAccessibilityState, PluginCanvasInputEvent, PluginCanvasKeyEvent, PluginCanvasPointerEvent, PluginCanvasResizeEvent, PluginCanvasSurface, PluginJSONObject, PluginJSONValue, PluginMethodResult, PluginStreamTerminalStatus, PluginUIActionEvent, PluginUIAttributeValue, PluginUIElementVNode, PluginUIPatchOperation, PluginUIVNode, } from "./surface.js";
5
- export type { PluginCapabilitySchema, PluginCapabilityEffect, PluginCapabilityOperationContract, PluginCapabilityStreamContract, PluginCapabilitySyncContract, PluginCapabilityStreamEvent, PluginCapabilityStreamReadResult, PluginOperation, PluginStream, } from "./capability-client.js";
4
+ export type { BridgeLifecycleEvent, MessagePortLike, PluginBridgeClientOptions, PluginBridgeRequestOptions, PluginCanvasAccessibilityState, PluginCanvasInputEvent, PluginCanvasKeyEvent, PluginCanvasPointerEvent, PluginCanvasResizeEvent, PluginCanvasSurface, PluginJSONObject, PluginJSONValue, PluginMethodResult, PluginExecutionFailureCode, PluginOperationSnapshot, PluginStreamTerminalStatus, PluginUIActionEvent, PluginUIAttributeValue, PluginUIElementVNode, PluginUIPatchOperation, PluginUIVNode, } from "./surface.js";
5
+ export type { PluginCapabilitySchema, PluginCapabilityEffect, PluginCapabilityOperationContract, PluginCapabilityStreamContract, PluginCapabilitySyncContract, PluginCapabilityStreamEvent, PluginCapabilityStreamReadResult, PluginOperation, PluginOperationTerminalStatus, PluginOperationWaitOptions, PluginStream, } from "./capability-client.js";