@floegence/redevplugin-ui 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ /** A connector-scoped base URL for the application's own HTTP client. */
2
+ export interface PluginWebConnection {
3
+ readonly connectorId: string;
4
+ readonly connectionId: string;
5
+ readonly baseURL: string;
6
+ readonly httpMethods: readonly string[];
7
+ }
8
+ export interface PluginConnectionOptions {
9
+ /** Index in the signed fixed destination list; configurable connectors use 0. */
10
+ readonly destinationIndex?: number;
11
+ readonly signal?: AbortSignal;
12
+ }
13
+ /**
14
+ * Discover a connection using the current child-origin session. Use native fetch,
15
+ * Request and Response with baseURL. This helper never replaces window.fetch,
16
+ * grants permission, retries a failed mutation, or exposes host credentials.
17
+ */
18
+ export declare function openPluginConnection(connectorId: string, options?: PluginConnectionOptions): Promise<PluginWebConnection>;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Discover a connection using the current child-origin session. Use native fetch,
3
+ * Request and Response with baseURL. This helper never replaces window.fetch,
4
+ * grants permission, retries a failed mutation, or exposes host credentials.
5
+ */
6
+ export async function openPluginConnection(connectorId, options = {}) {
7
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$/.test(connectorId))
8
+ throw new TypeError("Invalid connector ID");
9
+ const index = options.destinationIndex ?? 0;
10
+ if (!Number.isSafeInteger(index) || index < 0)
11
+ throw new TypeError("Invalid destination index");
12
+ const endpoint = new URL("/_redevplugin_web/connection", globalThis.location.origin);
13
+ endpoint.searchParams.set("connector_id", connectorId);
14
+ endpoint.searchParams.set("destination_index", String(index));
15
+ const response = await fetch(endpoint, { signal: options.signal, credentials: "same-origin", redirect: "error", cache: "no-store" });
16
+ if (!response.ok)
17
+ throw new Error("Connection unavailable; review its configuration and permissions");
18
+ const value = await response.json();
19
+ if (!value || typeof value !== "object")
20
+ throw new Error("Invalid connection response");
21
+ const item = value;
22
+ if (item.connector_id !== connectorId || typeof item.connection_id !== "string" || !/^(?:fixed-[0-9]+|[a-f0-9]{64})$/.test(item.connection_id) || !Array.isArray(item.http_methods) || item.http_methods.length === 0 || !item.http_methods.every(method => typeof method === "string" && /^(GET|HEAD|OPTIONS|POST|PUT|PATCH|DELETE)$/.test(method)))
23
+ throw new Error("Invalid connection response");
24
+ const expected = "/_redevplugin_web/connections/" + encodeURIComponent(connectorId) + "/" + item.connection_id + "/";
25
+ if (item.base_path !== expected)
26
+ throw new Error("Invalid connection base URL");
27
+ return Object.freeze({ connectorId, connectionId: item.connection_id, baseURL: new URL(expected, endpoint).href, httpMethods: Object.freeze([...item.http_methods]) });
28
+ }
@@ -1,4 +1,4 @@
1
- export declare const pluginPlatformErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
2
- export declare const pluginBridgeErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
3
- export declare const pluginClientErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
1
+ export declare const pluginPlatformErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_CONNECTION_UNAVAILABLE", "PLUGIN_CONNECTION_CONFLICT", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
2
+ export declare const pluginBridgeErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_CONNECTION_UNAVAILABLE", "PLUGIN_CONNECTION_CONFLICT", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
3
+ export declare const pluginClientErrorCodes: readonly ["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_RELEASE_NETWORK", "PLUGIN_RELEASE_TIMEOUT", "PLUGIN_RELEASE_ASSET_MISSING", "PLUGIN_RELEASE_ASSET_INTEGRITY", "PLUGIN_INSTALL_INTERRUPTED", "PLUGIN_INSTALL_STATE_CONFLICT", "PLUGIN_RETAINED_DATA_INCOMPATIBLE", "PLUGIN_INTERNAL_FAILURE", "PLUGIN_DISABLED", "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_EXECUTION_BLOCKED", "PLUGIN_EXECUTION_NOT_FOUND", "PLUGIN_EXECUTION_NOT_CANCELABLE", "PLUGIN_CONNECTION_UNAVAILABLE", "PLUGIN_CONNECTION_CONFLICT", "PLUGIN_NETWORK_TARGET_DENIED", "PLUGIN_NETWORK_RATE_LIMITED", "PLUGIN_RUNTIME_UNAVAILABLE", "PLUGIN_RUNTIME_VERSION_MISMATCH", "PLUGIN_RUNTIME_CONTRACT_MISMATCH", "PLUGIN_UI_PROTOCOL_VIOLATION", "PLUGIN_SURFACE_QUIESCE_TIMEOUT", "PLUGIN_JSON_LIMIT_EXCEEDED", "PLUGIN_CAPABILITY_ERROR", "PLUGIN_WORKER_ERROR", "PLUGIN_FILE_OPERATION_FAILED", "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"];
4
4
  export declare const runtimeProcessFailureCodes: readonly ["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"];
@@ -49,6 +49,8 @@ export const pluginPlatformErrorCodes = [
49
49
  "PLUGIN_EXECUTION_BLOCKED",
50
50
  "PLUGIN_EXECUTION_NOT_FOUND",
51
51
  "PLUGIN_EXECUTION_NOT_CANCELABLE",
52
+ "PLUGIN_CONNECTION_UNAVAILABLE",
53
+ "PLUGIN_CONNECTION_CONFLICT",
52
54
  "PLUGIN_NETWORK_TARGET_DENIED",
53
55
  "PLUGIN_NETWORK_RATE_LIMITED",
54
56
  "PLUGIN_RUNTIME_UNAVAILABLE",
@@ -119,6 +121,8 @@ export const pluginBridgeErrorCodes = [
119
121
  "PLUGIN_EXECUTION_BLOCKED",
120
122
  "PLUGIN_EXECUTION_NOT_FOUND",
121
123
  "PLUGIN_EXECUTION_NOT_CANCELABLE",
124
+ "PLUGIN_CONNECTION_UNAVAILABLE",
125
+ "PLUGIN_CONNECTION_CONFLICT",
122
126
  "PLUGIN_NETWORK_TARGET_DENIED",
123
127
  "PLUGIN_NETWORK_RATE_LIMITED",
124
128
  "PLUGIN_RUNTIME_UNAVAILABLE",
@@ -195,6 +199,8 @@ export const pluginClientErrorCodes = [
195
199
  "PLUGIN_EXECUTION_BLOCKED",
196
200
  "PLUGIN_EXECUTION_NOT_FOUND",
197
201
  "PLUGIN_EXECUTION_NOT_CANCELABLE",
202
+ "PLUGIN_CONNECTION_UNAVAILABLE",
203
+ "PLUGIN_CONNECTION_CONFLICT",
198
204
  "PLUGIN_NETWORK_TARGET_DENIED",
199
205
  "PLUGIN_NETWORK_RATE_LIMITED",
200
206
  "PLUGIN_RUNTIME_UNAVAILABLE",
@@ -3,6 +3,86 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
  export interface paths {
6
+ "/_redevplugin/api/plugins/connections/review": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ post: operations["reviewConnection"];
16
+ delete?: never;
17
+ options?: never;
18
+ head?: never;
19
+ patch?: never;
20
+ trace?: never;
21
+ };
22
+ "/_redevplugin/api/plugins/connections/approve": {
23
+ parameters: {
24
+ query?: never;
25
+ header?: never;
26
+ path?: never;
27
+ cookie?: never;
28
+ };
29
+ get?: never;
30
+ put?: never;
31
+ post: operations["approveConnection"];
32
+ delete?: never;
33
+ options?: never;
34
+ head?: never;
35
+ patch?: never;
36
+ trace?: never;
37
+ };
38
+ "/_redevplugin/api/plugins/connections/cancel": {
39
+ parameters: {
40
+ query?: never;
41
+ header?: never;
42
+ path?: never;
43
+ cookie?: never;
44
+ };
45
+ get?: never;
46
+ put?: never;
47
+ post: operations["cancelConnectionReview"];
48
+ delete?: never;
49
+ options?: never;
50
+ head?: never;
51
+ patch?: never;
52
+ trace?: never;
53
+ };
54
+ "/_redevplugin/api/plugins/connections/query": {
55
+ parameters: {
56
+ query?: never;
57
+ header?: never;
58
+ path?: never;
59
+ cookie?: never;
60
+ };
61
+ get?: never;
62
+ put?: never;
63
+ post: operations["listConnections"];
64
+ delete?: never;
65
+ options?: never;
66
+ head?: never;
67
+ patch?: never;
68
+ trace?: never;
69
+ };
70
+ "/_redevplugin/api/plugins/connections/revoke": {
71
+ parameters: {
72
+ query?: never;
73
+ header?: never;
74
+ path?: never;
75
+ cookie?: never;
76
+ };
77
+ get?: never;
78
+ put?: never;
79
+ post: operations["revokeConnection"];
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
6
86
  "/_redevplugin/api/plugins/file-resources/select": {
7
87
  parameters: {
8
88
  query?: never;
@@ -968,6 +1048,42 @@ export interface paths {
968
1048
  export type webhooks = Record<string, never>;
969
1049
  export interface components {
970
1050
  schemas: {
1051
+ ReviewConnectionSuccessResponse: {
1052
+ /** @constant */
1053
+ ok: true;
1054
+ data: components["schemas"]["ConnectionsReviewResult"];
1055
+ };
1056
+ ApproveConnectionSuccessResponse: {
1057
+ /** @constant */
1058
+ ok: true;
1059
+ data: components["schemas"]["ConnectionsConnection"];
1060
+ };
1061
+ CancelConnectionReviewSuccessResponse: {
1062
+ /** @constant */
1063
+ ok: true;
1064
+ data: {
1065
+ /** @constant */
1066
+ canceled: true;
1067
+ };
1068
+ };
1069
+ ListConnectionsSuccessResponse: {
1070
+ /** @constant */
1071
+ ok: true;
1072
+ data: components["schemas"]["ConnectionsConnectionList"];
1073
+ };
1074
+ RevokeConnectionSuccessResponse: {
1075
+ /** @constant */
1076
+ ok: true;
1077
+ data: {
1078
+ /** @constant */
1079
+ revoked: true;
1080
+ };
1081
+ };
1082
+ ConnectionReviewRequest: components["schemas"]["ConnectionsReviewRequest"];
1083
+ ConnectionReviewReference: components["schemas"]["ConnectionsReviewReference"];
1084
+ ConnectionListRequest: components["schemas"]["ConnectionsListRequest"];
1085
+ ConnectionRevokeRequest: components["schemas"]["ConnectionsRevokeRequest"];
1086
+ ConnectionInfo: components["schemas"]["ConnectionsConnection"];
971
1087
  SelectFileResourceSuccessResponse: {
972
1088
  /** @constant */
973
1089
  ok: true;
@@ -1412,7 +1528,7 @@ export interface components {
1412
1528
  ErrorCode: components["schemas"]["ErrorCodesPlatformErrorCode"];
1413
1529
  PlatformErrorMessage: string;
1414
1530
  /** @enum {string} */
1415
- 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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED";
1531
+ 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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_CONNECTION_UNAVAILABLE" | "PLUGIN_CONNECTION_CONFLICT" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_CONTRACT_MISMATCH" | "PLUGIN_CSRF_REQUIRED" | "PLUGIN_CSRF_INVALID" | "PLUGIN_FEATURE_NOT_CONFIGURED";
1416
1532
  SurfaceDisposeResult: {
1417
1533
  /** @constant */
1418
1534
  disposed: true;
@@ -1953,10 +2069,17 @@ export interface components {
1953
2069
  };
1954
2070
  ExternalPackageNetworkMethodAccessSummary: {
1955
2071
  method: string;
1956
- operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
2072
+ operations: ("http" | "http_stream" | "websocket" | "tcp" | "udp")[];
2073
+ http_methods: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
2074
+ };
2075
+ ExternalPackageNetworkSurfaceAccessSummary: {
2076
+ surface_id: string;
2077
+ operations: ("http" | "http_stream")[];
1957
2078
  http_methods: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
1958
2079
  };
1959
2080
  ExternalPackageNetworkSummary: {
2081
+ configurable: boolean;
2082
+ surface_access: components["schemas"]["ExternalPackageNetworkSurfaceAccessSummary"][];
1960
2083
  connector_id: string;
1961
2084
  /** @enum {string} */
1962
2085
  transport: "http" | "websocket" | "tcp" | "udp";
@@ -2601,6 +2724,71 @@ export interface components {
2601
2724
  };
2602
2725
  remove?: string[];
2603
2726
  };
2727
+ Connections: components["schemas"]["ConnectionsReviewRequest"] | components["schemas"]["ConnectionsReviewReference"] | components["schemas"]["ConnectionsListRequest"] | components["schemas"]["ConnectionsRevokeRequest"] | components["schemas"]["ConnectionsReview"] | components["schemas"]["ConnectionsConnection"] | components["schemas"]["ConnectionsWebConnection"] | components["schemas"]["ConnectionsReviewResult"] | components["schemas"]["ConnectionsConnectionList"];
2728
+ ConnectionsReviewRequest: {
2729
+ plugin_instance_id: string;
2730
+ connector_id: string;
2731
+ destination: string;
2732
+ expected_revision: number;
2733
+ http_methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[];
2734
+ secret_ref?: string;
2735
+ private_prefixes?: string[];
2736
+ };
2737
+ ConnectionsReviewReference: {
2738
+ plugin_instance_id: string;
2739
+ review_id: string;
2740
+ };
2741
+ ConnectionsListRequest: {
2742
+ plugin_instance_id: string;
2743
+ };
2744
+ ConnectionsRevokeRequest: {
2745
+ plugin_instance_id: string;
2746
+ connector_id: string;
2747
+ expected_revision: number;
2748
+ };
2749
+ ConnectionsReview: {
2750
+ plugin_instance_id: string;
2751
+ connector_id: string;
2752
+ destination: string;
2753
+ expected_revision: number;
2754
+ http_methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[];
2755
+ secret_ref?: string;
2756
+ private_prefixes?: string[];
2757
+ review_id: string;
2758
+ /** @enum {unknown} */
2759
+ scope: "user" | "environment";
2760
+ /** Format: date-time */
2761
+ review_expires_at: string;
2762
+ /** Format: date-time */
2763
+ expires_at: string;
2764
+ };
2765
+ ConnectionsConnection: {
2766
+ connector_id: string;
2767
+ connection_id?: string;
2768
+ /** @enum {unknown} */
2769
+ scope: "user" | "environment";
2770
+ destination?: string;
2771
+ http_methods?: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[];
2772
+ secret_ref?: string;
2773
+ private_prefixes?: string[];
2774
+ revision: number;
2775
+ /** @enum {unknown} */
2776
+ status: "fixed" | "unconfigured" | "active" | "expired" | "revoked" | "stale";
2777
+ /** Format: date-time */
2778
+ expires_at?: string;
2779
+ };
2780
+ ConnectionsWebConnection: {
2781
+ connector_id: string;
2782
+ connection_id: string;
2783
+ base_path: string;
2784
+ http_methods: ("GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE")[];
2785
+ };
2786
+ ConnectionsReviewResult: {
2787
+ review: components["schemas"]["ConnectionsReview"];
2788
+ };
2789
+ ConnectionsConnectionList: {
2790
+ connections: components["schemas"]["ConnectionsConnection"][];
2791
+ };
2604
2792
  /** @description Host-owned selection, approval, durable authority and bounded surface I/O. Permission declarations are ceilings, never grants. Selected resource watches are unsupported. */
2605
2793
  FileResources: components["schemas"]["FileResourcesResource"] | components["schemas"]["FileResourcesReview"] | components["schemas"]["FileResourcesIoRequest"];
2606
2794
  FileResourcesResourceId: string;
@@ -3000,11 +3188,11 @@ export interface components {
3000
3188
  };
3001
3189
  ErrorCodes: Record<string, never>;
3002
3190
  /** @enum {string} */
3003
- ErrorCodesPlatformErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3191
+ ErrorCodesPlatformErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_CONNECTION_UNAVAILABLE" | "PLUGIN_CONNECTION_CONFLICT" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3004
3192
  /** @enum {string} */
3005
- ErrorCodesBridgeErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3193
+ ErrorCodesBridgeErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_CONNECTION_UNAVAILABLE" | "PLUGIN_CONNECTION_CONFLICT" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3006
3194
  /** @enum {string} */
3007
- ErrorCodesTypescriptClientErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3195
+ ErrorCodesTypescriptClientErrorCode: "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_RELEASE_NETWORK" | "PLUGIN_RELEASE_TIMEOUT" | "PLUGIN_RELEASE_ASSET_MISSING" | "PLUGIN_RELEASE_ASSET_INTEGRITY" | "PLUGIN_INSTALL_INTERRUPTED" | "PLUGIN_INSTALL_STATE_CONFLICT" | "PLUGIN_RETAINED_DATA_INCOMPATIBLE" | "PLUGIN_INTERNAL_FAILURE" | "PLUGIN_DISABLED" | "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_EXECUTION_BLOCKED" | "PLUGIN_EXECUTION_NOT_FOUND" | "PLUGIN_EXECUTION_NOT_CANCELABLE" | "PLUGIN_CONNECTION_UNAVAILABLE" | "PLUGIN_CONNECTION_CONFLICT" | "PLUGIN_NETWORK_TARGET_DENIED" | "PLUGIN_NETWORK_RATE_LIMITED" | "PLUGIN_RUNTIME_UNAVAILABLE" | "PLUGIN_RUNTIME_VERSION_MISMATCH" | "PLUGIN_RUNTIME_CONTRACT_MISMATCH" | "PLUGIN_UI_PROTOCOL_VIOLATION" | "PLUGIN_SURFACE_QUIESCE_TIMEOUT" | "PLUGIN_JSON_LIMIT_EXCEEDED" | "PLUGIN_CAPABILITY_ERROR" | "PLUGIN_WORKER_ERROR" | "PLUGIN_FILE_OPERATION_FAILED" | "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";
3008
3196
  /** @enum {string} */
3009
3197
  ErrorCodesRustIpcErrorCode: "ARTIFACT_HANDLE_FAILED" | "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" | "RUNTIME_CAPACITY_EXCEEDED" | "RUNTIME_INVOCATION_CANCELED" | "PLUGIN_SESSION_REVOKED" | "SESSION_REVOKE_SEQUENCE_STALE" | "SESSION_REVOKE_DRAIN_TIMEOUT" | "UNSUPPORTED_FRAME";
3010
3198
  /** @enum {string} */
@@ -3137,6 +3325,10 @@ export interface components {
3137
3325
  web: {
3138
3326
  root: string;
3139
3327
  spa: boolean;
3328
+ network?: (components["schemas"]["ManifestV9NetworkAccess"] & {
3329
+ /** @constant */
3330
+ transport?: "http";
3331
+ })[];
3140
3332
  };
3141
3333
  }[];
3142
3334
  capability_bindings?: {
@@ -3156,13 +3348,7 @@ export interface components {
3156
3348
  store_id: string;
3157
3349
  operations: ("read" | "write" | "delete" | "list" | "get" | "put" | "query" | "exec")[];
3158
3350
  }[];
3159
- network?: ({
3160
- connector_id: string;
3161
- /** @enum {unknown} */
3162
- transport: "http" | "websocket" | "tcp" | "udp";
3163
- operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
3164
- http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
3165
- } & unknown)[];
3351
+ network?: components["schemas"]["ManifestV9NetworkAccess"][];
3166
3352
  process?: {
3167
3353
  operations: ("start" | "attach" | "status" | "write_stdin" | "close_stdin" | "read_stdout" | "read_stderr" | "wait" | "terminate" | "kill" | "close")[];
3168
3354
  }[];
@@ -3227,16 +3413,18 @@ export interface components {
3227
3413
  }[];
3228
3414
  };
3229
3415
  network_access?: {
3230
- connectors?: {
3416
+ connectors?: ({
3231
3417
  connector_id: string;
3232
3418
  /** @enum {unknown} */
3233
3419
  transport: "http" | "websocket" | "tcp" | "udp";
3234
3420
  /** @enum {unknown} */
3235
3421
  scope: "user" | "environment";
3236
- destinations: string[];
3422
+ destinations?: string[];
3237
3423
  auth?: Record<string, never>;
3238
3424
  tls?: Record<string, never>;
3239
- }[];
3425
+ /** @description The Host must approve an exact user-configured target. Destinations must be empty when true. */
3426
+ configurable?: boolean;
3427
+ } & unknown)[];
3240
3428
  };
3241
3429
  process?: {
3242
3430
  resource_limits?: {
@@ -3348,6 +3536,13 @@ export interface components {
3348
3536
  } & (unknown & unknown)) | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown);
3349
3537
  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" | "process.local.v1" | "authorization.scoped.v1" | "background.method.v1" | "fs.selected.v1")[];
3350
3538
  ManifestV9OptionalFeatures: string[];
3539
+ ManifestV9NetworkAccess: {
3540
+ connector_id: string;
3541
+ /** @enum {unknown} */
3542
+ transport: "http" | "websocket" | "tcp" | "udp";
3543
+ operations: ("http" | "http_stream" | "websocket" | "tcp" | "udp")[];
3544
+ http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
3545
+ } & unknown;
3351
3546
  HostCapabilityPinV1: {
3352
3547
  publisher_id: components["schemas"]["HostCapabilityPinV1Id"];
3353
3548
  contract_id: components["schemas"]["HostCapabilityPinV1Id"];
@@ -3960,6 +4155,131 @@ export interface components {
3960
4155
  }
3961
4156
  export type $defs = Record<string, never>;
3962
4157
  export interface operations {
4158
+ reviewConnection: {
4159
+ parameters: {
4160
+ query?: never;
4161
+ header?: never;
4162
+ path?: never;
4163
+ cookie?: never;
4164
+ };
4165
+ requestBody: {
4166
+ content: {
4167
+ "application/json": components["schemas"]["ConnectionsReviewRequest"];
4168
+ };
4169
+ };
4170
+ responses: {
4171
+ /** @description Controlled connection result */
4172
+ 200: {
4173
+ headers: {
4174
+ [name: string]: unknown;
4175
+ };
4176
+ content: {
4177
+ "application/json": components["schemas"]["ReviewConnectionSuccessResponse"];
4178
+ };
4179
+ };
4180
+ default: components["responses"]["MutationPlatformErrorResponse"];
4181
+ };
4182
+ };
4183
+ approveConnection: {
4184
+ parameters: {
4185
+ query?: never;
4186
+ header?: never;
4187
+ path?: never;
4188
+ cookie?: never;
4189
+ };
4190
+ requestBody: {
4191
+ content: {
4192
+ "application/json": components["schemas"]["ConnectionsReviewReference"];
4193
+ };
4194
+ };
4195
+ responses: {
4196
+ /** @description Controlled connection result */
4197
+ 200: {
4198
+ headers: {
4199
+ [name: string]: unknown;
4200
+ };
4201
+ content: {
4202
+ "application/json": components["schemas"]["ApproveConnectionSuccessResponse"];
4203
+ };
4204
+ };
4205
+ default: components["responses"]["MutationPlatformErrorResponse"];
4206
+ };
4207
+ };
4208
+ cancelConnectionReview: {
4209
+ parameters: {
4210
+ query?: never;
4211
+ header?: never;
4212
+ path?: never;
4213
+ cookie?: never;
4214
+ };
4215
+ requestBody: {
4216
+ content: {
4217
+ "application/json": components["schemas"]["ConnectionsReviewReference"];
4218
+ };
4219
+ };
4220
+ responses: {
4221
+ /** @description Controlled connection result */
4222
+ 200: {
4223
+ headers: {
4224
+ [name: string]: unknown;
4225
+ };
4226
+ content: {
4227
+ "application/json": components["schemas"]["CancelConnectionReviewSuccessResponse"];
4228
+ };
4229
+ };
4230
+ default: components["responses"]["MutationPlatformErrorResponse"];
4231
+ };
4232
+ };
4233
+ listConnections: {
4234
+ parameters: {
4235
+ query?: never;
4236
+ header?: never;
4237
+ path?: never;
4238
+ cookie?: never;
4239
+ };
4240
+ requestBody: {
4241
+ content: {
4242
+ "application/json": components["schemas"]["ConnectionsListRequest"];
4243
+ };
4244
+ };
4245
+ responses: {
4246
+ /** @description Controlled connection result */
4247
+ 200: {
4248
+ headers: {
4249
+ [name: string]: unknown;
4250
+ };
4251
+ content: {
4252
+ "application/json": components["schemas"]["ListConnectionsSuccessResponse"];
4253
+ };
4254
+ };
4255
+ default: components["responses"]["PlatformErrorResponse"];
4256
+ };
4257
+ };
4258
+ revokeConnection: {
4259
+ parameters: {
4260
+ query?: never;
4261
+ header?: never;
4262
+ path?: never;
4263
+ cookie?: never;
4264
+ };
4265
+ requestBody: {
4266
+ content: {
4267
+ "application/json": components["schemas"]["ConnectionsRevokeRequest"];
4268
+ };
4269
+ };
4270
+ responses: {
4271
+ /** @description Controlled connection result */
4272
+ 200: {
4273
+ headers: {
4274
+ [name: string]: unknown;
4275
+ };
4276
+ content: {
4277
+ "application/json": components["schemas"]["RevokeConnectionSuccessResponse"];
4278
+ };
4279
+ };
4280
+ default: components["responses"]["MutationPlatformErrorResponse"];
4281
+ };
4282
+ };
3963
4283
  selectFileResource: {
3964
4284
  parameters: {
3965
4285
  query?: never;
@@ -172,6 +172,11 @@ export declare class PluginPlatformClient {
172
172
  listRetainedData(options?: PluginRetainedDataListOptions, requestOptions?: PluginRequestOptions): Promise<PluginRetainedDataList>;
173
173
  deleteRetainedData(request: PluginRetainedDataDeleteRequest, options?: PluginRequestOptions): Promise<PluginDataBinding>;
174
174
  cleanupExpiredRetainedData(request?: PluginRetainedDataCleanupRequest, options?: PluginRequestOptions): Promise<PluginRetainedDataCleanupResult>;
175
+ reviewConnection(request: PlatformSchemas["ConnectionReviewRequest"], options?: PluginRequestOptions): Promise<PlatformSchemas["ReviewConnectionSuccessResponse"]["data"]>;
176
+ approveConnection(request: PlatformSchemas["ConnectionReviewReference"], options?: PluginRequestOptions): Promise<PlatformSchemas["ApproveConnectionSuccessResponse"]["data"]>;
177
+ cancelConnectionReview(request: PlatformSchemas["ConnectionReviewReference"], options?: PluginRequestOptions): Promise<PlatformSchemas["CancelConnectionReviewSuccessResponse"]["data"]>;
178
+ listConnections(request: PlatformSchemas["ConnectionListRequest"], options?: PluginRequestOptions): Promise<PlatformSchemas["ListConnectionsSuccessResponse"]["data"]>;
179
+ revokeConnection(request: PlatformSchemas["ConnectionRevokeRequest"], options?: PluginRequestOptions): Promise<PlatformSchemas["RevokeConnectionSuccessResponse"]["data"]>;
175
180
  selectFileResource(request: PlatformSchemas["FileSelectRequest"], options?: PluginRequestOptions): Promise<PlatformSchemas["SelectFileResourceSuccessResponse"]["data"]>;
176
181
  approveFileResource(request: PlatformSchemas["FileReviewRequest"], options?: PluginRequestOptions): Promise<PlatformSchemas["FileResource"]>;
177
182
  cancelFileResource(request: PlatformSchemas["FileReviewRequest"], options?: PluginRequestOptions): Promise<{
package/dist/platform.js CHANGED
@@ -261,6 +261,21 @@ export class PluginPlatformClient {
261
261
  cleanupExpiredRetainedData(request = {}, options = {}) {
262
262
  return this.#requestMutation("POST", "/_redevplugin/api/plugins/retained-data/cleanup-expired", request, options);
263
263
  }
264
+ reviewConnection(request, options = {}) {
265
+ return this.#requestMutation("POST", "/_redevplugin/api/plugins/connections/review", request, options);
266
+ }
267
+ approveConnection(request, options = {}) {
268
+ return this.#requestMutation("POST", "/_redevplugin/api/plugins/connections/approve", request, options);
269
+ }
270
+ cancelConnectionReview(request, options = {}) {
271
+ return this.#requestMutation("POST", "/_redevplugin/api/plugins/connections/cancel", request, options);
272
+ }
273
+ listConnections(request, options = {}) {
274
+ return this.#requestQuery("/_redevplugin/api/plugins/connections/query", request, options);
275
+ }
276
+ revokeConnection(request, options = {}) {
277
+ return this.#requestMutation("POST", "/_redevplugin/api/plugins/connections/revoke", request, options);
278
+ }
264
279
  selectFileResource(request, options = {}) {
265
280
  return this.#requestMutation("POST", "/_redevplugin/api/plugins/file-resources/select", request, options);
266
281
  }
package/dist/plugin.d.ts CHANGED
@@ -8,3 +8,5 @@ export type { PluginProcessExitResult, PluginProcessMethodContracts, PluginProce
8
8
  export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
9
9
  export type { BridgeLifecycleEvent, MessagePortLike, PluginBridgeClientOptions, PluginBridgeClock, PluginBridgeRequestOptions, PluginFileExportRequest, PluginJSONObject, PluginJSONValue, PluginMethodResult, PluginExecutionFailureCode, PluginExecutionSnapshot, PluginExecutionProgress, PluginExecutionEvent, PluginExecutionEventList, PluginSurfaceContext, PluginSurfaceFileExportMediaType, } from "./surface.js";
10
10
  export type { PluginCapabilitySchema, PluginCapabilityEffect, PluginCapabilityOperationContract, PluginCapabilityStreamContract, PluginCapabilitySyncContract, PluginCapabilityStreamEvent, PluginCapabilityStreamReadResult, PluginExecution, PluginExecutionTerminalStatus, PluginExecutionWaitOptions, PluginStream, } from "./capability-client.js";
11
+ export { openPluginConnection } from "./connections.js";
12
+ export type { PluginWebConnection, PluginConnectionOptions } from "./connections.js";
package/dist/plugin.js CHANGED
@@ -4,3 +4,4 @@ export { PluginBridgeError } from "./errors.js";
4
4
  export { pluginAPIMajor } from "./contracts.gen.js";
5
5
  export { createPluginProcessClient } from "./process.js";
6
6
  export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
7
+ export { openPluginConnection } from "./connections.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/redevplugin-ui",
3
- "version": "3.5.0",
3
+ "version": "3.6.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -36,7 +36,7 @@
36
36
  "dist"
37
37
  ],
38
38
  "dependencies": {
39
- "@floegence/redevplugin-contracts": "3.5.0",
39
+ "@floegence/redevplugin-contracts": "3.6.0",
40
40
  "@noble/hashes": "2.4.0"
41
41
  },
42
42
  "publishConfig": {