@floegence/redevplugin-ui 0.7.26 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { PluginBridgeError } from "./errors.js";
2
- import type { PluginBridgeClient, PluginBridgeRequestOptions, PluginJSONObject, PluginStreamEvent as PluginRawStreamEvent, PluginStreamTerminalStatus, PluginOperationSnapshot } from "./surface.js";
2
+ import type { PluginBridgeClient, PluginBridgeRequestOptions, PluginJSONObject, PluginExecutionEvent as PluginRawExecutionEvent, PluginExecutionSnapshot } from "./surface.js";
3
3
  export type PluginCapabilitySchema = Readonly<Record<string, unknown>>;
4
4
  export type PluginCapabilityEffect = "read" | "write" | "execute" | "delete" | "admin";
5
5
  type PluginCapabilityMethodContract = {
@@ -24,52 +24,50 @@ export type PluginCapabilityBusinessErrorSpec = {
24
24
  detail_schema_sha256: string;
25
25
  schema: PluginCapabilitySchema | null;
26
26
  };
27
- export type PluginOperationWaitOptions = {
27
+ export type PluginExecutionWaitOptions = {
28
28
  signal?: AbortSignal;
29
29
  timeoutMs?: number;
30
30
  pollIntervalMs?: number;
31
31
  };
32
- export type PluginOperationTerminalStatus = {
33
- [Status in Extract<PluginOperationSnapshot["status"], "completed" | "failed" | "canceled" | "orphaned_after_disable" | "orphaned_after_uninstall">]: {
32
+ export type PluginExecutionTerminalStatus = {
33
+ [Status in Extract<PluginExecutionSnapshot["status"], "completed" | "failed" | "canceled" | "orphaned">]: {
34
34
  status: Status;
35
- snapshot: Extract<PluginOperationSnapshot, {
35
+ snapshot: Extract<PluginExecutionSnapshot, {
36
36
  status: Status;
37
37
  }>;
38
38
  };
39
- }[Extract<PluginOperationSnapshot["status"], "completed" | "failed" | "canceled" | "orphaned_after_disable" | "orphaned_after_uninstall">];
40
- type PluginOperationObservation = {
41
- snapshot(options?: PluginBridgeRequestOptions): Promise<PluginOperationSnapshot>;
42
- wait(options?: PluginOperationWaitOptions): Promise<PluginOperationTerminalStatus>;
39
+ }[Extract<PluginExecutionSnapshot["status"], "completed" | "failed" | "canceled" | "orphaned">];
40
+ type PluginExecutionObservation = {
41
+ snapshot(options?: PluginBridgeRequestOptions): Promise<PluginExecutionSnapshot>;
42
+ wait(options?: PluginExecutionWaitOptions): Promise<PluginExecutionTerminalStatus>;
43
43
  };
44
- export type PluginOperation<T, Cancelable extends boolean = true> = PluginOperationObservation & {
44
+ export type PluginExecution<T, Cancelable extends boolean = true> = PluginExecutionObservation & {
45
45
  data: T;
46
- operation_id: string;
46
+ execution_id: string;
47
47
  } & (Cancelable extends true ? {
48
48
  cancel(reason?: string, options?: PluginBridgeRequestOptions): Promise<void>;
49
49
  } : Record<never, never>);
50
- export type PluginCapabilityStreamEvent<Event> = Omit<PluginRawStreamEvent, "data" | "error"> & {
50
+ export type PluginCapabilityStreamEvent<Event> = Omit<PluginRawExecutionEvent, "payload" | "error"> & {
51
51
  data: Event;
52
52
  };
53
53
  export type PluginCapabilityStreamReadResult<Event> = {
54
54
  events: PluginCapabilityStreamEvent<Event>[];
55
55
  done: false;
56
- retry_after_ms: number;
56
+ cursor: number;
57
57
  } | {
58
58
  events: PluginCapabilityStreamEvent<Event>[];
59
59
  done: true;
60
- terminal_status: PluginStreamTerminalStatus;
61
- retry_after_ms: 0;
60
+ cursor: number;
62
61
  };
63
- export type PluginStream<Initial, Event> = PluginOperationObservation & {
62
+ export type PluginStream<Initial, Event> = PluginExecutionObservation & {
64
63
  data: Initial;
65
- operation_id: string;
66
- stream_handle: string;
64
+ execution_id: string;
67
65
  read(options?: PluginBridgeRequestOptions): Promise<PluginCapabilityStreamReadResult<Event>>;
68
66
  cancel(reason?: string, options?: PluginBridgeRequestOptions): Promise<void>;
69
67
  [Symbol.asyncIterator](): AsyncIterableIterator<PluginCapabilityStreamEvent<Event>>;
70
68
  };
71
69
  export declare function callCapabilitySync<Request extends object, Response>(bridge: PluginBridgeClient, contract: PluginCapabilitySyncContract, request: Request, options?: PluginBridgeRequestOptions): Promise<Response>;
72
- export declare function callCapabilityOperation<Request extends object, Response, Cancelable extends boolean = true>(bridge: PluginBridgeClient, contract: PluginCapabilityOperationContract<Cancelable>, request: Request, options?: PluginBridgeRequestOptions): Promise<PluginOperation<Response, Cancelable>>;
70
+ export declare function callCapabilityOperation<Request extends object, Response, Cancelable extends boolean = true>(bridge: PluginBridgeClient, contract: PluginCapabilityOperationContract<Cancelable>, request: Request, options?: PluginBridgeRequestOptions): Promise<PluginExecution<Response, Cancelable>>;
73
71
  export declare function callCapabilityStream<Request extends object, Response, Event>(bridge: PluginBridgeClient, contract: PluginCapabilityStreamContract, request: Request, options?: PluginBridgeRequestOptions): Promise<PluginStream<Response, Event>>;
74
72
  export declare function isCapabilityBusinessError(error: unknown, capabilityID: string, capabilityVersion: string, detailSchemas: Readonly<Record<string, PluginCapabilityBusinessErrorSpec>>): error is PluginBridgeError & {
75
73
  readonly details: PluginJSONObject;
@@ -1,6 +1,6 @@
1
1
  import { PluginBridgeError } from "./errors.js";
2
2
  import { callPluginBridgeCapability } from "./bridge-capability.js";
3
- import { decodePluginStreamText } from "./surface.js";
3
+ import { decodePluginEventText } from "./surface.js";
4
4
  export async function callCapabilitySync(bridge, contract, request, options = {}) {
5
5
  const params = validateRequest(request, contract.requestSchema);
6
6
  const result = parseSyncResult(contract.method, await callPluginBridgeCapability(bridge, contract.method, params, contract.effect, options));
@@ -15,16 +15,16 @@ export async function callCapabilityOperation(bridge, contract, request, options
15
15
  }
16
16
  catch (error) {
17
17
  if (contract.cancelable)
18
- await cancelAfterResponseMismatch(bridge, result.operation_id, error);
18
+ await cancelAfterResponseMismatch(bridge, result.execution_id, error);
19
19
  throw error;
20
20
  }
21
- const observation = operationObservation(bridge, result.operation_id);
21
+ const observation = executionObservation(bridge, result.execution_id);
22
22
  return Object.freeze({
23
23
  data: data,
24
- operation_id: result.operation_id,
24
+ execution_id: result.execution_id,
25
25
  ...observation,
26
26
  ...(contract.cancelable ? {
27
- cancel: (reason, cancelOptions) => bridge.cancelOperation(result.operation_id, reason, cancelOptions),
27
+ cancel: (reason, cancelOptions) => bridge.cancelExecution(result.execution_id, reason, cancelOptions),
28
28
  } : {}),
29
29
  });
30
30
  }
@@ -36,12 +36,14 @@ export async function callCapabilityStream(bridge, contract, request, options =
36
36
  data = validateResponse(contract.method, result.data, contract.responseSchema);
37
37
  }
38
38
  catch (error) {
39
- await cancelAfterResponseMismatch(bridge, result.operation_id, error);
39
+ return cancelAfterResponseMismatch(bridge, result.execution_id, error);
40
40
  }
41
41
  let settled = false;
42
+ let cursor = 0;
42
43
  const read = async (options = {}) => {
43
44
  try {
44
- const batch = decodeCapabilityStreamBatch(contract.method, await bridge.readStream(result.stream_handle, options), contract.eventTypeName, contract.eventSchema);
45
+ const batch = decodeCapabilityStreamBatch(contract.method, await bridge.executionEvents(result.execution_id, cursor, options), contract.eventTypeName, contract.eventSchema);
46
+ cursor = batch.cursor;
45
47
  if (batch.done)
46
48
  settled = true;
47
49
  return batch;
@@ -50,21 +52,24 @@ export async function callCapabilityStream(bridge, contract, request, options =
50
52
  if (options.signal?.aborted && error instanceof PluginBridgeError && error.errorCode === "PLUGIN_STREAM_CANCELLED") {
51
53
  throw error;
52
54
  }
55
+ if (error instanceof PluginBridgeError && error.errorCode === "PLUGIN_STREAM_FAILED") {
56
+ settled = true;
57
+ throw error;
58
+ }
53
59
  settled = true;
54
- return cancelAfterStreamMismatch(bridge, result.operation_id, error);
60
+ return cancelAfterStreamMismatch(bridge, result.execution_id, error);
55
61
  }
56
62
  };
57
63
  const cancel = async (reason, cancelOptions = {}) => {
58
64
  if (settled)
59
65
  return;
60
- await bridge.cancelOperation(result.operation_id, reason, cancelOptions);
66
+ await bridge.cancelExecution(result.execution_id, reason, cancelOptions);
61
67
  settled = true;
62
68
  };
63
- const observation = operationObservation(bridge, result.operation_id);
69
+ const observation = executionObservation(bridge, result.execution_id);
64
70
  return Object.freeze({
65
71
  data: data,
66
- operation_id: result.operation_id,
67
- stream_handle: result.stream_handle,
72
+ execution_id: result.execution_id,
68
73
  ...observation,
69
74
  read,
70
75
  cancel,
@@ -74,14 +79,10 @@ export async function callCapabilityStream(bridge, contract, request, options =
74
79
  const batch = await read();
75
80
  for (const event of batch.events)
76
81
  yield event;
77
- if (batch.done) {
78
- if (batch.terminal_status === "closed")
79
- return;
80
- throw pluginStreamTerminalError(batch.terminal_status);
81
- }
82
- if (batch.events.length === 0 && batch.retry_after_ms > 0) {
83
- await new Promise((resolve) => setTimeout(resolve, batch.retry_after_ms));
84
- }
82
+ if (batch.done)
83
+ return;
84
+ if (batch.events.length === 0)
85
+ await new Promise((resolve) => setTimeout(resolve, 250));
85
86
  }
86
87
  }
87
88
  finally {
@@ -91,8 +92,8 @@ export async function callCapabilityStream(bridge, contract, request, options =
91
92
  },
92
93
  });
93
94
  }
94
- function operationObservation(bridge, operationID) {
95
- const snapshot = (options = {}) => bridge.operationSnapshot(operationID, options);
95
+ function executionObservation(bridge, executionID) {
96
+ const snapshot = (options = {}) => bridge.executionSnapshot(executionID, options);
96
97
  const wait = async (options = {}) => {
97
98
  const timeoutMs = options.timeoutMs ?? 120_000;
98
99
  if (!Number.isFinite(timeoutMs) || timeoutMs < 1_000 || timeoutMs > 600_000) {
@@ -114,22 +115,16 @@ function operationObservation(bridge, operationID) {
114
115
  catch (error) {
115
116
  if (options.signal?.aborted)
116
117
  throw operationWaitAborted();
117
- if (!(error instanceof PluginBridgeError) || error.errorCode !== "PLUGIN_OPERATION_RATE_LIMITED")
118
- throw error;
119
- const retryAfterMS = operationRetryAfterMS(error.details);
120
- await operationWaitDelay(Math.max(pollIntervalMs, retryAfterMS), deadline, options.signal);
121
- pollIntervalMs = Math.min(10_000, Math.ceil(pollIntervalMs * 1.5));
122
- continue;
118
+ throw error;
123
119
  }
124
120
  switch (current.status) {
125
121
  case "completed":
126
122
  case "failed":
127
123
  case "canceled":
128
- case "orphaned_after_disable":
129
- case "orphaned_after_uninstall":
124
+ case "orphaned":
130
125
  return { status: current.status, snapshot: current };
131
126
  default:
132
- await operationWaitDelay(Math.max(pollIntervalMs, current.retry_after_ms), deadline, options.signal);
127
+ await operationWaitDelay(pollIntervalMs, deadline, options.signal);
133
128
  pollIntervalMs = Math.min(10_000, Math.ceil(pollIntervalMs * 1.5));
134
129
  }
135
130
  }
@@ -165,14 +160,6 @@ async function operationSnapshotUntilDeadline(snapshot, deadline, signal) {
165
160
  signal?.removeEventListener("abort", onAbort);
166
161
  }
167
162
  }
168
- function operationRetryAfterMS(details) {
169
- if (details && typeof details === "object" && !Array.isArray(details)) {
170
- const retryAfterMS = details.retry_after_ms;
171
- if (Number.isInteger(retryAfterMS) && Number(retryAfterMS) >= 500 && Number(retryAfterMS) <= 10_000)
172
- return Number(retryAfterMS);
173
- }
174
- return 500;
175
- }
176
163
  function operationWaitAborted() {
177
164
  return new PluginBridgeError("PLUGIN_BRIDGE_CANCELLED", "Plugin operation observation was cancelled");
178
165
  }
@@ -204,19 +191,35 @@ function operationWaitDelay(delayMs, deadline, signal) {
204
191
  });
205
192
  }
206
193
  function decodeCapabilityStreamBatch(method, batch, eventTypeName, eventSchema) {
207
- const events = batch.events.map((event) => decodeCapabilityStreamEvent(method, event, eventTypeName, eventSchema));
208
- if (batch.done) {
209
- return { events, done: true, terminal_status: batch.terminal_status, retry_after_ms: 0 };
194
+ const events = [];
195
+ let done = false;
196
+ for (const event of batch.events) {
197
+ if (event.kind === "terminal") {
198
+ const status = event.payload?.status;
199
+ if (status !== "completed" && status !== "canceled" && status !== "failed" && status !== "orphaned") {
200
+ throw contractMismatch(method, "stream terminal event has an invalid status");
201
+ }
202
+ done = true;
203
+ if (status === "failed" || status === "orphaned") {
204
+ throw new PluginBridgeError("PLUGIN_STREAM_FAILED", `Plugin stream terminated with status ${status}`, undefined, {
205
+ execution_id: event.execution_id,
206
+ status,
207
+ failure_code: event.error?.code,
208
+ });
209
+ }
210
+ continue;
211
+ }
212
+ events.push(decodeCapabilityStreamEvent(method, event, eventTypeName, eventSchema));
210
213
  }
211
- return { events, done: false, retry_after_ms: batch.retry_after_ms };
214
+ return { events, done, cursor: batch.cursor };
212
215
  }
213
216
  function decodeCapabilityStreamEvent(method, event, eventTypeName, eventSchema) {
214
- if (event.kind !== eventTypeName || event.error !== undefined || event.data === undefined) {
217
+ if (event.kind !== "data" || event.error !== undefined || event.payload?.event_type !== eventTypeName || typeof event.payload.data !== "string") {
215
218
  throw contractMismatch(method, "stream event envelope does not match its published contract");
216
219
  }
217
220
  let value;
218
221
  try {
219
- value = JSON.parse(decodePluginStreamText(event));
222
+ value = JSON.parse(decodePluginEventText(event));
220
223
  }
221
224
  catch {
222
225
  throw contractMismatch(method, "stream event is not canonical JSON");
@@ -226,9 +229,9 @@ function decodeCapabilityStreamEvent(method, event, eventTypeName, eventSchema)
226
229
  }
227
230
  return Object.freeze({
228
231
  sequence: event.sequence,
232
+ execution_id: event.execution_id,
229
233
  kind: event.kind,
230
234
  data: value,
231
- at: event.at,
232
235
  });
233
236
  }
234
237
  function parseSyncResult(method, value) {
@@ -237,37 +240,36 @@ function parseSyncResult(method, value) {
237
240
  return value;
238
241
  }
239
242
  function parseOperationResult(method, value) {
240
- if (!hasExactKeys(value, ["data", "operation_id"]) || !validOpaqueIdentifier(value.operation_id, "operation")) {
243
+ if (!hasExactKeys(value, ["data", "execution_id"]) || !validOpaqueIdentifier(value.execution_id, "execution")) {
241
244
  throw contractMismatch(method, "returned an invalid operation result envelope");
242
245
  }
243
- return { data: value.data, operation_id: value.operation_id };
246
+ return { data: value.data, execution_id: value.execution_id };
244
247
  }
245
248
  function parseStreamResult(method, value) {
246
- if (!hasExactKeys(value, ["data", "operation_id", "stream_handle"]) ||
247
- !validOpaqueIdentifier(value.operation_id, "operation") || !validOpaqueIdentifier(value.stream_handle, "stream")) {
249
+ if (!hasExactKeys(value, ["data", "execution_id"]) || !validOpaqueIdentifier(value.execution_id, "execution")) {
248
250
  throw contractMismatch(method, "returned an invalid subscription result envelope");
249
251
  }
250
- return { data: value.data, operation_id: value.operation_id, stream_handle: value.stream_handle };
252
+ return { data: value.data, execution_id: value.execution_id };
251
253
  }
252
- async function cancelAfterResponseMismatch(bridge, operationID, mismatch) {
254
+ async function cancelAfterResponseMismatch(bridge, executionID, mismatch) {
253
255
  try {
254
- await bridge.cancelOperation(operationID, "response_contract_mismatch");
256
+ await bridge.cancelExecution(executionID, "response_contract_mismatch");
255
257
  }
256
258
  catch (cleanupError) {
257
259
  throw new PluginBridgeError("PLUGIN_CONTRACT_MISMATCH", "Capability response failed validation and its live operation could not be cancelled", undefined, {
258
- operation_id: operationID,
260
+ execution_id: executionID,
259
261
  cleanup_error: cleanupError instanceof Error ? cleanupError.message : String(cleanupError),
260
262
  });
261
263
  }
262
264
  throw mismatch;
263
265
  }
264
- async function cancelAfterStreamMismatch(bridge, operationID, mismatch) {
266
+ async function cancelAfterStreamMismatch(bridge, executionID, mismatch) {
265
267
  try {
266
- await bridge.cancelOperation(operationID, "stream_contract_mismatch");
268
+ await bridge.cancelExecution(executionID, "stream_contract_mismatch");
267
269
  }
268
270
  catch (cleanupError) {
269
271
  throw new PluginBridgeError("PLUGIN_CONTRACT_MISMATCH", "Capability stream failed validation and its live operation could not be cancelled", undefined, {
270
- operation_id: operationID,
272
+ execution_id: executionID,
271
273
  cleanup_error: cleanupError instanceof Error ? cleanupError.message : String(cleanupError),
272
274
  });
273
275
  }
@@ -612,11 +614,6 @@ function hasExactKeys(value, keys) {
612
614
  function validOpaqueIdentifier(value, prefix) {
613
615
  return typeof value === "string" && value.startsWith(`${prefix}_`) && value.length >= 8 && value.length <= 160 && /^[-A-Za-z0-9_]+$/.test(value);
614
616
  }
615
- function pluginStreamTerminalError(status) {
616
- if (status === "failed")
617
- return new PluginBridgeError("PLUGIN_STREAM_FAILED", "Plugin stream execution failed");
618
- return new PluginBridgeError("PLUGIN_STREAM_CANCELLED", `Plugin stream ended with status ${status}`);
619
- }
620
617
  const prototypeSensitivePropertyNames = new Set(["__proto__", "constructor", "prototype"]);
621
618
  function contractMismatch(method, detail) {
622
619
  return new PluginBridgeError("PLUGIN_CONTRACT_MISMATCH", `Capability method ${method} ${detail}`);
@@ -21,14 +21,6 @@ export declare const redevPluginContractVersions: {
21
21
  readonly release_source_policy_pointer_schema_version: "release-source-policy-pointer-v2";
22
22
  readonly release_revocation_schema_version: "release-revocation-v3";
23
23
  readonly release_revocation_pointer_schema_version: "release-revocation-pointer-v2";
24
- readonly release_trust_state_schema_version: "release-trust-state-v1";
25
- readonly trusted_time_evidence_schema_version: "trusted-time-evidence-v1";
26
- readonly trusted_time_leaf_schema_version: "trusted-time-leaf-v1";
27
- readonly release_signing_ledger_schema_version: "release-signing-ledger-v1";
28
- readonly release_signing_subject_schema_version: "release-signing-subject-v1";
29
- readonly release_signature_envelope_schema_version: "release-signature-envelope-v1";
30
- readonly release_signing_ledger_receipt_schema_version: "release-signing-ledger-receipt-v1";
31
- readonly release_signing_ledger_evidence_schema_version: "release-signing-ledger-evidence-v1";
32
24
  readonly token_ticket_schema_version: "token-ticket-v4";
33
25
  readonly bridge_schema_version: "bridge-v7";
34
26
  readonly opaque_surface_document_schema_version: "opaque-surface-document-v3";
@@ -37,22 +29,17 @@ export declare const redevPluginContractVersions: {
37
29
  readonly network_grant_schema_version: "network-grant-v2";
38
30
  readonly resource_scope_schema_version: "resource-scope-v1";
39
31
  readonly session_scope_schema_version: "session-scope-v1";
40
- readonly session_scope_maintenance_schema_version: "session-scope-maintenance-v1";
41
32
  readonly plugin_platform_openapi_version: "plugin-platform-v15";
42
33
  readonly compatibility_manifest_version: "redevplugin.compatibility.v17";
43
34
  readonly compatibility_schema_version: "compatibility-manifest-v17";
44
35
  readonly worker_invocation_schema_version: "worker-invocation-v3";
45
36
  readonly host_capability_contract_schema_version: "host-capability-contract-v1";
46
37
  readonly host_capability_pin_schema_version: "host-capability-pin-v1";
47
- readonly host_capability_manifest_schema_version: "host-capability-manifest-v1";
48
- readonly host_capability_compatibility_schema_version: "host-capability-compatibility-v1";
49
- readonly host_capability_signature_schema_version: "host-capability-signature-v1";
50
- readonly host_capability_notices_schema_version: "host-capability-notices-v1";
51
38
  readonly error_codes_schema_version: "error-codes-v8";
52
39
  readonly performance_contract_version: "performance-contract-v4";
53
40
  readonly performance_evidence_schema_version: "performance-evidence-v4";
54
41
  readonly contract_registry_version: "contract-registry-v2";
55
- readonly platform_package_set_schema_version: "platform-package-set-v1";
42
+ readonly platform_package_set_schema_version: "platform-package-set-v2";
56
43
  readonly platform_package_publication_schema_version: "platform-package-publication-v1";
57
44
  readonly runtime_admission_schema_version: "runtime-admission-v1";
58
45
  readonly runtime_descriptor_schema_version: "runtime-descriptor-v2";
@@ -74,77 +61,42 @@ export declare const redevPluginContractArtifacts: readonly [{
74
61
  readonly id: "compatibility-manifest-schema";
75
62
  readonly path: "spec/plugin/compatibility-manifest-v17.schema.json";
76
63
  readonly version: "compatibility-manifest-v17";
77
- readonly sha256: "f3d726ab1aa4de61acba453ed2511511c51749f67e614f422dcf525fb687ad6e";
64
+ readonly sha256: "bc426e034b86ef81f947cae6c2fee838d22913c0066f727acb509fa9cbc22ebd";
78
65
  }, {
79
66
  readonly id: "contract-registry-schema";
80
67
  readonly path: "spec/plugin/contract-registry-v2.schema.json";
81
68
  readonly version: "contract-registry-v2";
82
- readonly sha256: "d516b3565158ac1b0d5e9f86b91b13ac19321ab3ff54468be41951b68d7085ac";
69
+ readonly sha256: "664a80c4cb8e6fc30a46be56d66b40eed8f0a894e7ceb469757bdffe93b4ee97";
83
70
  }, {
84
71
  readonly id: "error-codes-schema";
85
72
  readonly path: "spec/plugin/error-codes-v8.schema.json";
86
73
  readonly version: "error-codes-v8";
87
- readonly sha256: "454e3c8b46e20bc524080ca1aa91dcf2ecdfe0a90cc33b5b328e87356d07e7e3";
74
+ readonly sha256: "5ec127f0fdd6e749d8ee342e53796acd04d1c220fb03cca462bd5222c57b5944";
88
75
  }, {
89
76
  readonly id: "external-signer-request-schema";
90
77
  readonly path: "spec/plugin/external-signer-request-v1.schema.json";
91
78
  readonly version: "external-signer-request-v1";
92
- readonly sha256: "abc18af2e29dea6f0b49a28b75b046ef02f200597978c8238cc587fb7e670760";
79
+ readonly sha256: "56884e9bb0b00d07fe7e8c52acfc33a4a7bab54f8a02d504f35b00bab42a03fb";
93
80
  }, {
94
81
  readonly id: "external-signer-response-schema";
95
82
  readonly path: "spec/plugin/external-signer-response-v1.schema.json";
96
83
  readonly version: "external-signer-response-v1";
97
- readonly sha256: "bbe657df5afdf459a4c5f83282ddc3ec6c80c1ebd25bb954eac92101f35afc6c";
98
- }, {
99
- readonly id: "host-capability-compatibility-schema";
100
- readonly path: "spec/plugin/host-capability-compatibility-v1.schema.json";
101
- readonly version: "host-capability-compatibility-v1";
102
- readonly sha256: "361ebbf7009aeb66c763ecde46427b17b6cf7d2307c01886c5987a1f4f1762de";
84
+ readonly sha256: "b3b6d2b3dfe4f9bb680387e4c3a8010faef91d2d12fe28e76e51d5d84703a047";
103
85
  }, {
104
86
  readonly id: "host-capability-contract-schema";
105
87
  readonly path: "spec/plugin/host-capability-contract-v1.schema.json";
106
88
  readonly version: "host-capability-contract-v1";
107
89
  readonly sha256: "0a653e36d44104f1d16b06ee424648086c146f23c907b176bdf470ae73025485";
108
- }, {
109
- readonly id: "host-capability-manifest-schema";
110
- readonly path: "spec/plugin/host-capability-manifest-v1.schema.json";
111
- readonly version: "host-capability-manifest-v1";
112
- readonly sha256: "5f13a8e5f918378b9cba9fdc133a9a75ba3a8311c30cb6a02ca0aba09035110e";
113
- }, {
114
- readonly id: "host-capability-notices-schema";
115
- readonly path: "spec/plugin/host-capability-notices-v1.schema.json";
116
- readonly version: "host-capability-notices-v1";
117
- readonly sha256: "6affd5d0ae90239f6fd08cbeddae4eef393efa2838c9e4935874ba3dc0e05948";
118
90
  }, {
119
91
  readonly id: "host-capability-pin-schema";
120
92
  readonly path: "spec/plugin/host-capability-pin-v1.schema.json";
121
93
  readonly version: "host-capability-pin-v1";
122
- readonly sha256: "20526a5934f0d85a3db7882492487266f09de5bcd176e2c7936f05d0b7fe0338";
123
- }, {
124
- readonly id: "host-capability-publisher-config-schema";
125
- readonly path: "spec/plugin/host-capability-publisher-config-v1.schema.json";
126
- readonly version: "host-capability-publisher-config-v1";
127
- readonly sha256: "f06ab3d70f3f9dd2114fe9d489841f1d6b5f169ee17b8c92aa1bfaf9bbf865c4";
128
- }, {
129
- readonly id: "host-capability-signature-schema";
130
- readonly path: "spec/plugin/host-capability-signature-v1.schema.json";
131
- readonly version: "host-capability-signature-v1";
132
- readonly sha256: "88cbc1d63afb7e289ca4f8b7c76f702b8d20156f7722c1b71f3ab9138a240a5e";
133
- }, {
134
- readonly id: "host-capability-signer-request-schema";
135
- readonly path: "spec/plugin/host-capability-signer-request-v1.schema.json";
136
- readonly version: "host-capability-signer-request-v1";
137
- readonly sha256: "7f22e9e0f813b91106693edfbb91309489dde1640152c29d878961fdef6b89d8";
138
- }, {
139
- readonly id: "host-capability-signer-response-schema";
140
- readonly path: "spec/plugin/host-capability-signer-response-v1.schema.json";
141
- readonly version: "host-capability-signer-response-v1";
142
- readonly sha256: "02a50b1fc0d1b8ae0611eab95b5560122c6425709ecc8de5e00bf0dd68085f44";
94
+ readonly sha256: "23591639475c485134c842cae5e53a679dde1b30374a6430ce6e4827be4d18ed";
143
95
  }, {
144
96
  readonly id: "iframe-bridge-schema";
145
97
  readonly path: "spec/plugin/bridge-v7.schema.json";
146
98
  readonly version: "bridge-v7";
147
- readonly sha256: "fe8da4e5b14ac6d7c7bb3101e041246e92573c58e1c9537e8cda2c26bf175ef5";
99
+ readonly sha256: "5a6e7307f1649eb70d13e83e5d16177458957bffb3262b9299b4cf6d443e284a";
148
100
  }, {
149
101
  readonly id: "manifest-schema";
150
102
  readonly path: "spec/plugin/manifest-v8.schema.json";
@@ -194,7 +146,7 @@ export declare const redevPluginContractArtifacts: readonly [{
194
146
  readonly id: "performance-contract";
195
147
  readonly path: "spec/plugin/performance-contract-v4.json";
196
148
  readonly version: "performance-contract-v4";
197
- readonly sha256: "aedc50ed8899346140965dc46e8adf2048c47bcf6c146c3b7a51646eda7725e1";
149
+ readonly sha256: "c0c8b3362e6f5878c12dbd0a5766592425d4e69b50ca18c226b6f5851d2c627c";
198
150
  }, {
199
151
  readonly id: "performance-evidence-schema";
200
152
  readonly path: "spec/plugin/performance-evidence-v4.schema.json";
@@ -204,17 +156,17 @@ export declare const redevPluginContractArtifacts: readonly [{
204
156
  readonly id: "platform-package-publication-schema";
205
157
  readonly path: "spec/plugin/platform-package-publication-v1.schema.json";
206
158
  readonly version: "platform-package-publication-v1";
207
- readonly sha256: "20450b516c34d5a122020f4064ddfa03ffcb97ffea661e0868cd09760b3f08b0";
159
+ readonly sha256: "0f4b6788858c3165b6acc94aeab4f771825317f8b05d82d3d202c5848c3f8fdd";
208
160
  }, {
209
161
  readonly id: "platform-package-set-schema";
210
- readonly path: "spec/plugin/platform-package-set-v1.schema.json";
211
- readonly version: "platform-package-set-v1";
212
- readonly sha256: "4d9979f5205ec047895b64c995312c588d998bb1c1448f6c9c559f1b7ab0d796";
162
+ readonly path: "spec/plugin/platform-package-set-v2.schema.json";
163
+ readonly version: "platform-package-set-v2";
164
+ readonly sha256: "ce46ba85443349481d7cf4b73fc70be716035c369e833aaaf2650710536f3ea8";
213
165
  }, {
214
166
  readonly id: "plugin-platform-openapi";
215
167
  readonly path: "spec/openapi/plugin-platform-v15.yaml";
216
168
  readonly version: "plugin-platform-v15";
217
- readonly sha256: "10833d303573e1e36816d68db8075543598782df60eda4da44ceed3279d4368c";
169
+ readonly sha256: "0c95cbb1352040a90acfd63109fb0e41ac452e36ab03a1c6645097d408344d48";
218
170
  }, {
219
171
  readonly id: "presentation-icon-evidence-schema";
220
172
  readonly path: "spec/plugin/presentation-icon-evidence-v1.schema.json";
@@ -234,7 +186,7 @@ export declare const redevPluginContractArtifacts: readonly [{
234
186
  readonly id: "publisher-release-ref-schema";
235
187
  readonly path: "spec/plugin/publisher-release-ref-v1.schema.json";
236
188
  readonly version: "publisher-release-ref-v1";
237
- readonly sha256: "f9fd40c87197064ffa3e21a361780a4d057b51df2e886988aac64279785acdc0";
189
+ readonly sha256: "f68241937dc291b1f660c2c184bd60a7058a4471d2966bd7954ba574c84fe726";
238
190
  }, {
239
191
  readonly id: "quarantine-cleanup-schema";
240
192
  readonly path: "spec/plugin/quarantine-cleanup-v1.schema.json";
@@ -244,67 +196,37 @@ export declare const redevPluginContractArtifacts: readonly [{
244
196
  readonly id: "release-metadata-schema";
245
197
  readonly path: "spec/plugin/release-metadata-v8.schema.json";
246
198
  readonly version: "release-metadata-v8";
247
- readonly sha256: "f454fc1923be10fd5a4b46df4a6e376f7e9fe1d462f3da57977b92ad7c7496b0";
199
+ readonly sha256: "ad8888e6b5673786ea0fc82475be92835c3b177b685cca5bb3efd936d461b215";
248
200
  }, {
249
201
  readonly id: "release-publisher-config-schema";
250
202
  readonly path: "spec/plugin/release-publisher-config-v1.schema.json";
251
203
  readonly version: "release-publisher-config-v1";
252
- readonly sha256: "c18b11489f81ac657c8324ed344b88b61b259981383ee7b4f9f0b65603a171f8";
204
+ readonly sha256: "47d782062652b85a77dc67a98c8859f2f1dc598d4496df13ca70c4ceb02df227";
253
205
  }, {
254
206
  readonly id: "release-revocation-pointer-schema";
255
207
  readonly path: "spec/plugin/release-revocation-pointer-v2.schema.json";
256
208
  readonly version: "release-revocation-pointer-v2";
257
- readonly sha256: "dd39ba618ab02698f135875305d4aa6eb562af7d15520c4ad312cd82e9a7032b";
209
+ readonly sha256: "51ced7ca790d7d3d3dcb2e65faf3a3a74713ccefe7b2a5b97355a0b3226bdf34";
258
210
  }, {
259
211
  readonly id: "release-revocation-schema";
260
212
  readonly path: "spec/plugin/release-revocation-v3.schema.json";
261
213
  readonly version: "release-revocation-v3";
262
- readonly sha256: "bd2ca3ab93f047897d3b377adc7fa8b073fc946539a0c5495def1e64915a782b";
214
+ readonly sha256: "930d2729719f5f44de108df23e9efbbae17f7a3072963c1c5471197b189aa8d9";
263
215
  }, {
264
216
  readonly id: "release-root-delegation-schema";
265
217
  readonly path: "spec/plugin/release-root-delegation-v1.schema.json";
266
218
  readonly version: "release-root-delegation-v1";
267
- readonly sha256: "c1adbb13eaeeca145d5ee787ff43777e60a5f329e460d20b8db358e4f5fc4825";
268
- }, {
269
- readonly id: "release-signature-envelope-schema";
270
- readonly path: "spec/plugin/release-signature-envelope-v1.schema.json";
271
- readonly version: "release-signature-envelope-v1";
272
- readonly sha256: "7df9afd22bfdebfa89dc3bdb46ecdbe22a91ecce35fa46c492dd9795c66fae29";
273
- }, {
274
- readonly id: "release-signing-ledger-evidence-schema";
275
- readonly path: "spec/plugin/release-signing-ledger-evidence-v1.schema.json";
276
- readonly version: "release-signing-ledger-evidence-v1";
277
- readonly sha256: "9ab8b7f65dedcd119d578debb4f6ff97fc35f4c7ac95c0e5435f8b0959bc1a5c";
278
- }, {
279
- readonly id: "release-signing-ledger-receipt-schema";
280
- readonly path: "spec/plugin/release-signing-ledger-receipt-v1.schema.json";
281
- readonly version: "release-signing-ledger-receipt-v1";
282
- readonly sha256: "29210cfefd967017c5c74bcf8489bd50511c5c9f36d17b0200056ccb90c30561";
283
- }, {
284
- readonly id: "release-signing-ledger-schema";
285
- readonly path: "spec/plugin/release-signing-ledger-v1.schema.json";
286
- readonly version: "release-signing-ledger-v1";
287
- readonly sha256: "0c72b30bfd6b857b9809e48e1b7eaaeb7134d5afd6a935aa8373465054403765";
288
- }, {
289
- readonly id: "release-signing-subject-schema";
290
- readonly path: "spec/plugin/release-signing-subject-v1.schema.json";
291
- readonly version: "release-signing-subject-v1";
292
- readonly sha256: "876b1459824f90042bd141e96bfea4633333bdf2a227e15b6e25c72db1179c8e";
219
+ readonly sha256: "f46249f9d51610b7a8401adc4ed04c098adaad408f35661b092f8d67767e21f2";
293
220
  }, {
294
221
  readonly id: "release-source-policy-pointer-schema";
295
222
  readonly path: "spec/plugin/release-source-policy-pointer-v2.schema.json";
296
223
  readonly version: "release-source-policy-pointer-v2";
297
- readonly sha256: "735659143db7204abdd20c6fbc994ac7474618c41b85949aad4c28fb2912e034";
224
+ readonly sha256: "a4b2ba0909a633cfd0a365dff87ca1b6eaf6df53ac38b4d2b458d7ea85da6dd1";
298
225
  }, {
299
226
  readonly id: "release-source-policy-schema";
300
227
  readonly path: "spec/plugin/release-source-policy-v3.schema.json";
301
228
  readonly version: "release-source-policy-v3";
302
- readonly sha256: "8814de028800c92b26c8c85a06298762598aeba1835f57048ec6c06430f8567b";
303
- }, {
304
- readonly id: "release-trust-state-schema";
305
- readonly path: "spec/plugin/release-trust-state-v1.schema.json";
306
- readonly version: "release-trust-state-v1";
307
- readonly sha256: "19ffa182932a22401a33ee4c9921e957c67895c2d8b041c9a27ee3530bdfb2d2";
229
+ readonly sha256: "9b6964cbbaeab6400ab25ff3da6fca891b9833c7f644f56367b420382d096244";
308
230
  }, {
309
231
  readonly id: "resource-scope-schema";
310
232
  readonly path: "spec/plugin/resource-scope-v1.schema.json";
@@ -329,17 +251,12 @@ export declare const redevPluginContractArtifacts: readonly [{
329
251
  readonly id: "rust-ipc-schema";
330
252
  readonly path: "spec/plugin/ipc-v6.schema.json";
331
253
  readonly version: "rust-ipc-v6";
332
- readonly sha256: "9814ca091ac2e4e8435c1ab553e248e9d2e792de93ce9fd27bd030486774837f";
333
- }, {
334
- readonly id: "session-scope-maintenance-contract";
335
- readonly path: "spec/plugin/session-scope-maintenance-v1.json";
336
- readonly version: "session-scope-maintenance-v1";
337
- readonly sha256: "fd87b6654c954ee2a2dc67958ba214048b894aa421bb74a85fb02000ec51f37b";
254
+ readonly sha256: "75d7fb83d4502be726e986025f7ec14fac592bcaeb7add6b28dff42a7360c5dc";
338
255
  }, {
339
256
  readonly id: "session-scope-schema";
340
257
  readonly path: "spec/plugin/session-scope-v1.schema.json";
341
258
  readonly version: "session-scope-v1";
342
- readonly sha256: "3df0084264f0aff9fe2261c237cea439adb5cdc2534bfaaa0488d5992d4a7d2e";
259
+ readonly sha256: "38044d65de36ce5219929ac4080547660734a7c6bb4d26d9b90e5838b1db331a";
343
260
  }, {
344
261
  readonly id: "target-classifier-fixture";
345
262
  readonly path: "spec/plugin/target-classifier-v2.json";
@@ -349,17 +266,7 @@ export declare const redevPluginContractArtifacts: readonly [{
349
266
  readonly id: "token-ticket-schema";
350
267
  readonly path: "spec/plugin/token-ticket-v4.schema.json";
351
268
  readonly version: "token-ticket-v4";
352
- readonly sha256: "5cf365b5b52a331ac0d3ad35a98be3c2ce668804ae88fdeaf9679a44db14feb1";
353
- }, {
354
- readonly id: "trusted-time-evidence-schema";
355
- readonly path: "spec/plugin/trusted-time-evidence-v1.schema.json";
356
- readonly version: "trusted-time-evidence-v1";
357
- readonly sha256: "4398cbd2a3eea42a85008ee16a69d7adb265673e6749b1f13a4f1610f36e5e38";
358
- }, {
359
- readonly id: "trusted-time-leaf-schema";
360
- readonly path: "spec/plugin/trusted-time-leaf-v1.schema.json";
361
- readonly version: "trusted-time-leaf-v1";
362
- readonly sha256: "1c25eb0040800eef145aa2bb4c0e1ae197ae584d365e9595ab89037e26fe5ddb";
269
+ readonly sha256: "1576e35e4e06ba67c2fdc038934c5d5184fd1224adbd75c9f8eaf6a144ade238";
363
270
  }, {
364
271
  readonly id: "wasm-worker-schema";
365
272
  readonly path: "spec/plugin/wasm-worker-v2.schema.json";
@@ -369,5 +276,5 @@ export declare const redevPluginContractArtifacts: readonly [{
369
276
  readonly id: "worker-invocation-schema";
370
277
  readonly path: "spec/plugin/worker-invocation-v3.schema.json";
371
278
  readonly version: "worker-invocation-v3";
372
- readonly sha256: "f08af491cbf5e7b71d1aeafbeac9ae581ee5fc3bcb76184daec369f94bab3927";
279
+ readonly sha256: "f75b5b6ea0f5936e15f84a76d9b496690d7e1b7da7a05948ad26a88cc1360847";
373
280
  }];