From 1609aec9e551375f8f552b840616c9367b36644a Mon Sep 17 00:00:00 2001
From: curation-bot <>
Date: Tue, 17 Dec 2024 18:02:59 +0000
Subject: [PATCH] Publish curated data from
3d236354771ae5fe6793fc943e57d73c1bf9c7d3
Curated data generated from raw data at 3d236354771ae5fe6793fc943e57d73c1bf9c7d3
---
ed/algorithms/CSP3.json | 2 +-
ed/algorithms/html.json | 2 +-
ed/cddl/at-driver-all.cddl | 179 ++-
ed/cddl/at-driver-local.cddl | 94 +-
ed/cddl/at-driver-remote.cddl | 100 +-
ed/cddl/permissions-all.cddl | 24 +-
ed/cddl/permissions-local.cddl | 8 +-
ed/cddl/permissions-remote.cddl | 18 +-
ed/cddl/web-bluetooth-all.cddl | 92 +-
ed/cddl/web-bluetooth-local.cddl | 92 +-
ed/cddl/web-bluetooth-remote.cddl | 81 +-
ed/cddl/webdriver-bidi-all.cddl | 2009 +++++++++++++++++++++++++++-
ed/cddl/webdriver-bidi-local.cddl | 1159 +++++++++++++++-
ed/cddl/webdriver-bidi-remote.cddl | 1425 +++++++++++++++++++-
ed/headings/vc-data-model-2.0.json | 144 +-
ed/ids/html.json | 4 +-
ed/ids/vc-data-model-2.0.json | 180 +--
ed/index.json | 102 +-
18 files changed, 5484 insertions(+), 231 deletions(-)
diff --git a/ed/algorithms/CSP3.json b/ed/algorithms/CSP3.json
index a952f8ad00c3..3ec3cc83997c 100644
--- a/ed/algorithms/CSP3.json
+++ b/ed/algorithms/CSP3.json
@@ -622,7 +622,7 @@
"rationale": "let",
"steps": [
{
- "html": "
Let compilationSink be \"Function\" if compilationType is \"FUNCTION
\", and \"Eval\" otherwise.
"
+ "html": "Let compilationSink be \"Function\" if compilationType is \"FUNCTION
\", and \"eval\" otherwise.
"
},
{
"html": "Let isTrusted be true
if bodyArg implements TrustedScript
, and false
otherwise.
"
diff --git a/ed/algorithms/html.json b/ed/algorithms/html.json
index bae4682f69d6..de869931b11c 100644
--- a/ed/algorithms/html.json
+++ b/ed/algorithms/html.json
@@ -87,7 +87,7 @@
]
},
{
- "html": "The post-connection steps for the HTML\n Standard, given insertedNode, are defined as the following:",
+ "html": "The post-connection steps for the HTML\n Standard, given insertedNode, are defined as the following:",
"rationale": "if",
"steps": [
{
diff --git a/ed/cddl/at-driver-all.cddl b/ed/cddl/at-driver-all.cddl
index f7d223e0196d..b91f86faeeb6 100644
--- a/ed/cddl/at-driver-all.cddl
+++ b/ed/cddl/at-driver-all.cddl
@@ -3,4 +3,181 @@
; (https://github.com/w3c/webref)
; Source: AT Driver (https://w3c.github.io/at-driver/)
-undefined
+Extensible = {
+ *text => any
+}
+
+Command = {
+ id: uint,
+ CommandData,
+ Extensible,
+}
+
+CommandData = (
+ SessionCommand //
+ SettingsCommand //
+ InteractionCommand
+)
+
+EmptyParams = { Extensible }
+
+Extensible = {
+ *text => any
+}
+
+Message = (
+ CommandResponse //
+ ErrorResponse //
+ Event
+)
+
+CommandResponse = {
+ id: uint,
+ result: ResultData,
+ Extensible,
+}
+
+ErrorResponse = {
+ id: uint / null,
+ error: "unknown error" / "unknown command" / "invalid argument" / "session not created",
+ message: text,
+ ?stacktrace: text,
+ Extensible,
+}
+
+ResultData = (
+ EmptyResult /
+ SessionResult /
+ SettingsResult
+)
+
+EmptyResult = {}
+
+Event = {
+ EventData,
+ Extensible,
+}
+
+EventData = (
+ InteractionEvent
+)
+
+SessionCommand = (SessionNewCommand)
+
+SessionResult = (SessionNewResult)
+
+CapabilitiesRequest = {
+ ?atName: text,
+ ?atVersion: text,
+ ?platformName: text,
+ Extensible,
+}
+
+SessionNewCommand = {
+ method: "session.new",
+ params: {capabilities: CapabilitiesRequestParameters},
+}
+
+CapabilitiesRequestParameters = {
+ ?alwaysMatch: CapabilitiesRequest,
+}
+
+SessionNewResult = {
+ sessionId: text,
+ capabilities: {
+ atName: text,
+ atVersion: text,
+ platformName: text,
+ Extensible,
+ }
+}
+
+SettingsCommand = {
+ SettingsSetSettingsCommand //
+ SettingsGetSettingsCommand //
+ SettingsGetSupportedSettingsCommand
+}
+
+SettingsResult = {
+ SettingsGetSettingsResult
+}
+
+SettingsGetSettingsResult = {
+ settings: [1* SettingsGetSettingsResultItem ],
+}
+
+SettingsGetSettingsResultItem = {
+ name: text,
+ value: any,
+ Extensible,
+}
+
+SettingsSetSettingsCommand = {
+ method: "settings.setSettings",
+ params: SettingsSetSettingsParameters
+}
+
+SettingsSetSettingsParameters = {
+ settings: [1* SettingsSetSettingsParametersItem ],
+}
+
+SettingsSetSettingsParametersItem = {
+ name: text,
+ value: any,
+ Extensible,
+}
+
+EmptyResult
+
+SettingsGetSettingsCommand = {
+ method: "settings.getSettings",
+ params: SettingsGetSettingsParameters
+}
+
+SettingsGetSettingsParameters = {
+ settings: [1* SettingsGetSettingsParametersItem ],
+}
+
+SettingsGetSettingsParametersItem = {
+ name: text,
+ Extensible,
+}
+
+SettingsGetSettingsResult
+
+SettingsGetSupportedSettingsCommand = {
+ method: "settings.getSupportedSettings",
+ params: EmptyParams
+}
+
+SettingsGetSettingsResult
+
+InteractionCommand = (InteractionPressKeysCommand)
+
+InteractionEvent = (InteractionCapturedOutputEvent)
+
+InteractionCapturedOutputParameters = {
+ data: text,
+ Extensible,
+}
+
+InteractionPressKeysCommand = {
+ method: "interaction.pressKeys",
+ params: InteractionPressKeysParameters
+}
+
+InteractionPressKeysParameters = {
+ "keys" => KeyCombination,
+ Extensible,
+}
+
+KeyCombination = [
+ 1* text
+]
+
+EmptyResult
+
+InteractionCapturedOutputEvent = {
+ method: "interaction.capturedOutput",
+ params: InteractionCapturedOutputParameters
+}
diff --git a/ed/cddl/at-driver-local.cddl b/ed/cddl/at-driver-local.cddl
index f7d223e0196d..a23a76abfd91 100644
--- a/ed/cddl/at-driver-local.cddl
+++ b/ed/cddl/at-driver-local.cddl
@@ -3,4 +3,96 @@
; (https://github.com/w3c/webref)
; Source: AT Driver (https://w3c.github.io/at-driver/)
-undefined
+Extensible = {
+ *text => any
+}
+
+Message = (
+ CommandResponse //
+ ErrorResponse //
+ Event
+)
+
+CommandResponse = {
+ id: uint,
+ result: ResultData,
+ Extensible,
+}
+
+ErrorResponse = {
+ id: uint / null,
+ error: "unknown error" / "unknown command" / "invalid argument" / "session not created",
+ message: text,
+ ?stacktrace: text,
+ Extensible,
+}
+
+ResultData = (
+ EmptyResult /
+ SessionResult /
+ SettingsResult
+)
+
+EmptyResult = {}
+
+Event = {
+ EventData,
+ Extensible,
+}
+
+EventData = (
+ InteractionEvent
+)
+
+SessionResult = (SessionNewResult)
+
+CapabilitiesRequest = {
+ ?atName: text,
+ ?atVersion: text,
+ ?platformName: text,
+ Extensible,
+}
+
+SessionNewResult = {
+ sessionId: text,
+ capabilities: {
+ atName: text,
+ atVersion: text,
+ platformName: text,
+ Extensible,
+ }
+}
+
+SettingsResult = {
+ SettingsGetSettingsResult
+}
+
+SettingsGetSettingsResult = {
+ settings: [1* SettingsGetSettingsResultItem ],
+}
+
+SettingsGetSettingsResultItem = {
+ name: text,
+ value: any,
+ Extensible,
+}
+
+EmptyResult
+
+SettingsGetSettingsResult
+
+SettingsGetSettingsResult
+
+InteractionEvent = (InteractionCapturedOutputEvent)
+
+InteractionCapturedOutputParameters = {
+ data: text,
+ Extensible,
+}
+
+EmptyResult
+
+InteractionCapturedOutputEvent = {
+ method: "interaction.capturedOutput",
+ params: InteractionCapturedOutputParameters
+}
diff --git a/ed/cddl/at-driver-remote.cddl b/ed/cddl/at-driver-remote.cddl
index f7d223e0196d..18f8826c7d6d 100644
--- a/ed/cddl/at-driver-remote.cddl
+++ b/ed/cddl/at-driver-remote.cddl
@@ -3,4 +3,102 @@
; (https://github.com/w3c/webref)
; Source: AT Driver (https://w3c.github.io/at-driver/)
-undefined
+Extensible = {
+ *text => any
+}
+
+Command = {
+ id: uint,
+ CommandData,
+ Extensible,
+}
+
+CommandData = (
+ SessionCommand //
+ SettingsCommand //
+ InteractionCommand
+)
+
+EmptyParams = { Extensible }
+
+SessionCommand = (SessionNewCommand)
+
+CapabilitiesRequest = {
+ ?atName: text,
+ ?atVersion: text,
+ ?platformName: text,
+ Extensible,
+}
+
+SessionNewCommand = {
+ method: "session.new",
+ params: {capabilities: CapabilitiesRequestParameters},
+}
+
+CapabilitiesRequestParameters = {
+ ?alwaysMatch: CapabilitiesRequest,
+}
+
+SettingsCommand = {
+ SettingsSetSettingsCommand //
+ SettingsGetSettingsCommand //
+ SettingsGetSupportedSettingsCommand
+}
+
+SettingsSetSettingsCommand = {
+ method: "settings.setSettings",
+ params: SettingsSetSettingsParameters
+}
+
+SettingsSetSettingsParameters = {
+ settings: [1* SettingsSetSettingsParametersItem ],
+}
+
+SettingsSetSettingsParametersItem = {
+ name: text,
+ value: any,
+ Extensible,
+}
+
+EmptyResult
+
+SettingsGetSettingsCommand = {
+ method: "settings.getSettings",
+ params: SettingsGetSettingsParameters
+}
+
+SettingsGetSettingsParameters = {
+ settings: [1* SettingsGetSettingsParametersItem ],
+}
+
+SettingsGetSettingsParametersItem = {
+ name: text,
+ Extensible,
+}
+
+SettingsGetSettingsResult
+
+SettingsGetSupportedSettingsCommand = {
+ method: "settings.getSupportedSettings",
+ params: EmptyParams
+}
+
+SettingsGetSettingsResult
+
+InteractionCommand = (InteractionPressKeysCommand)
+
+InteractionPressKeysCommand = {
+ method: "interaction.pressKeys",
+ params: InteractionPressKeysParameters
+}
+
+InteractionPressKeysParameters = {
+ "keys" => KeyCombination,
+ Extensible,
+}
+
+KeyCombination = [
+ 1* text
+]
+
+EmptyResult
diff --git a/ed/cddl/permissions-all.cddl b/ed/cddl/permissions-all.cddl
index 27158152f57a..b1cfc39694bc 100644
--- a/ed/cddl/permissions-all.cddl
+++ b/ed/cddl/permissions-all.cddl
@@ -3,4 +3,26 @@
; (https://github.com/w3c/webref)
; Source: Permissions (https://w3c.github.io/permissions/)
-undefined
+PermissionsCommand = (
+ permissions.setPermission
+)
+
+permissions.PermissionDescriptor = {
+ name: text,
+}
+
+permissions.PermissionState = "granted" / "denied" / "prompt"
+
+permissions.setPermission = (
+ method: "permissions.setPermission",
+ params: permissions.SetPermissionParameters
+)
+
+permissions.SetPermissionParameters = {
+ descriptor: permissions.PermissionDescriptor,
+ state: permissions.PermissionState,
+ origin: text,
+ ? userContext: text,
+}
+
+EmptyResult
diff --git a/ed/cddl/permissions-local.cddl b/ed/cddl/permissions-local.cddl
index 27158152f57a..6131562f0d08 100644
--- a/ed/cddl/permissions-local.cddl
+++ b/ed/cddl/permissions-local.cddl
@@ -3,4 +3,10 @@
; (https://github.com/w3c/webref)
; Source: Permissions (https://w3c.github.io/permissions/)
-undefined
+permissions.PermissionDescriptor = {
+ name: text,
+}
+
+permissions.PermissionState = "granted" / "denied" / "prompt"
+
+EmptyResult
diff --git a/ed/cddl/permissions-remote.cddl b/ed/cddl/permissions-remote.cddl
index 27158152f57a..aae246810476 100644
--- a/ed/cddl/permissions-remote.cddl
+++ b/ed/cddl/permissions-remote.cddl
@@ -3,4 +3,20 @@
; (https://github.com/w3c/webref)
; Source: Permissions (https://w3c.github.io/permissions/)
-undefined
+PermissionsCommand = (
+ permissions.setPermission
+)
+
+permissions.setPermission = (
+ method: "permissions.setPermission",
+ params: permissions.SetPermissionParameters
+)
+
+permissions.SetPermissionParameters = {
+ descriptor: permissions.PermissionDescriptor,
+ state: permissions.PermissionState,
+ origin: text,
+ ? userContext: text,
+}
+
+EmptyResult
diff --git a/ed/cddl/web-bluetooth-all.cddl b/ed/cddl/web-bluetooth-all.cddl
index 765e780f072a..0017f46939a3 100644
--- a/ed/cddl/web-bluetooth-all.cddl
+++ b/ed/cddl/web-bluetooth-all.cddl
@@ -3,4 +3,94 @@
; (https://github.com/w3c/webref)
; Source: Web Bluetooth (https://webbluetoothcg.github.io/web-bluetooth/)
-undefined
+bluetooth.BluetoothServiceUuid = text;
+bluetooth.BluetoothManufacturerData = { key: uint, data: tstr };
+
+bluetooth.RequestDevice = text
+
+bluetooth.RequestDeviceInfo = {
+ id: bluetooth.RequestDevice,
+ name: text / null,
+}
+
+bluetooth.RequestDevicePrompt = text
+
+bluetooth.ScanRecord = {
+ ? name: text,
+ ? uuids: [ * bluetooth.BluetoothServiceUuid ],
+ ? appearance: number,
+ ? manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+}
+
+bluetooth.HandleRequestDevicePrompt = (
+ method: "bluetooth.handleRequestDevicePrompt",
+ params: bluetooth.HandleRequestDevicePromptParameters,
+)
+
+bluetooth.HandleRequestDevicePromptParameters = {
+ context: text,
+ prompt: bluetooth.RequestDevicePrompt,
+ (
+ bluetooth.HandleRequestDevicePromptAcceptParameters //
+ bluetooth.HandleRequestDevicePromptCancelParameters
+ )
+}
+
+bluetooth.HandleRequestDevicePromptAcceptParameters = (
+ accept: true,
+ device: bluetooth.RequestDevice,
+)
+
+bluetooth.HandleRequestDevicePromptCancelParameters = (
+ accept: false,
+)
+
+bluetooth.simulateAdapter = (
+ method: "bluetooth.simulateAdapter",
+ params: bluetooth.SimulateAdapterParameters,
+)
+
+bluetooth.SimulateAdapterParameters = {
+ context: text,
+ state: "absent" / "powered-off" / "powered-on"
+}
+
+bluetooth.SimulatePreconnectedPeripheral = (
+ method: "bluetooth.simulatePreconnectedPeripheral",
+ params: bluetooth.SimulatePreconnectedPeripheralParameters,
+)
+
+bluetooth.SimulatePreconnectedPeripheralParameters = {
+ context: text,
+ address: text,
+ name: text,
+ manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+ knownServiceUuids: [ * bluetooth.BluetoothServiceUuid ]
+}
+
+bluetooth.SimulateAdvertisement = (
+ method: "bluetooth.simulateAdvertisement",
+ params: bluetooth.SimulateAdvertisementParameters,
+)
+
+bluetooth.SimulateAdvertisementParameters = {
+ context: text,
+ scanEntry: bluetooth.SimulateAdvertisementScanEntryParameters
+}
+
+bluetooth.SimulateAdvertisementScanEntryParameters = {
+ deviceAddress: text,
+ rssi: number,
+ scanRecord: bluetooth.ScanRecord
+}
+
+bluetooth.RequestDevicePromptUpdated = (
+ method: "bluetooth.requestDevicePromptUpdated",
+ params: bluetooth.RequestDevicePromptUpdatedParameters
+)
+
+bluetooth.RequestDevicePromptUpdatedParameters = {
+ context: text,
+ prompt: bluetooth.RequestDevicePrompt,
+ devices: [* bluetooth.RequestDeviceInfo],
+}
diff --git a/ed/cddl/web-bluetooth-local.cddl b/ed/cddl/web-bluetooth-local.cddl
index 765e780f072a..0017f46939a3 100644
--- a/ed/cddl/web-bluetooth-local.cddl
+++ b/ed/cddl/web-bluetooth-local.cddl
@@ -3,4 +3,94 @@
; (https://github.com/w3c/webref)
; Source: Web Bluetooth (https://webbluetoothcg.github.io/web-bluetooth/)
-undefined
+bluetooth.BluetoothServiceUuid = text;
+bluetooth.BluetoothManufacturerData = { key: uint, data: tstr };
+
+bluetooth.RequestDevice = text
+
+bluetooth.RequestDeviceInfo = {
+ id: bluetooth.RequestDevice,
+ name: text / null,
+}
+
+bluetooth.RequestDevicePrompt = text
+
+bluetooth.ScanRecord = {
+ ? name: text,
+ ? uuids: [ * bluetooth.BluetoothServiceUuid ],
+ ? appearance: number,
+ ? manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+}
+
+bluetooth.HandleRequestDevicePrompt = (
+ method: "bluetooth.handleRequestDevicePrompt",
+ params: bluetooth.HandleRequestDevicePromptParameters,
+)
+
+bluetooth.HandleRequestDevicePromptParameters = {
+ context: text,
+ prompt: bluetooth.RequestDevicePrompt,
+ (
+ bluetooth.HandleRequestDevicePromptAcceptParameters //
+ bluetooth.HandleRequestDevicePromptCancelParameters
+ )
+}
+
+bluetooth.HandleRequestDevicePromptAcceptParameters = (
+ accept: true,
+ device: bluetooth.RequestDevice,
+)
+
+bluetooth.HandleRequestDevicePromptCancelParameters = (
+ accept: false,
+)
+
+bluetooth.simulateAdapter = (
+ method: "bluetooth.simulateAdapter",
+ params: bluetooth.SimulateAdapterParameters,
+)
+
+bluetooth.SimulateAdapterParameters = {
+ context: text,
+ state: "absent" / "powered-off" / "powered-on"
+}
+
+bluetooth.SimulatePreconnectedPeripheral = (
+ method: "bluetooth.simulatePreconnectedPeripheral",
+ params: bluetooth.SimulatePreconnectedPeripheralParameters,
+)
+
+bluetooth.SimulatePreconnectedPeripheralParameters = {
+ context: text,
+ address: text,
+ name: text,
+ manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+ knownServiceUuids: [ * bluetooth.BluetoothServiceUuid ]
+}
+
+bluetooth.SimulateAdvertisement = (
+ method: "bluetooth.simulateAdvertisement",
+ params: bluetooth.SimulateAdvertisementParameters,
+)
+
+bluetooth.SimulateAdvertisementParameters = {
+ context: text,
+ scanEntry: bluetooth.SimulateAdvertisementScanEntryParameters
+}
+
+bluetooth.SimulateAdvertisementScanEntryParameters = {
+ deviceAddress: text,
+ rssi: number,
+ scanRecord: bluetooth.ScanRecord
+}
+
+bluetooth.RequestDevicePromptUpdated = (
+ method: "bluetooth.requestDevicePromptUpdated",
+ params: bluetooth.RequestDevicePromptUpdatedParameters
+)
+
+bluetooth.RequestDevicePromptUpdatedParameters = {
+ context: text,
+ prompt: bluetooth.RequestDevicePrompt,
+ devices: [* bluetooth.RequestDeviceInfo],
+}
diff --git a/ed/cddl/web-bluetooth-remote.cddl b/ed/cddl/web-bluetooth-remote.cddl
index 765e780f072a..2db562fd1f36 100644
--- a/ed/cddl/web-bluetooth-remote.cddl
+++ b/ed/cddl/web-bluetooth-remote.cddl
@@ -3,4 +3,83 @@
; (https://github.com/w3c/webref)
; Source: Web Bluetooth (https://webbluetoothcg.github.io/web-bluetooth/)
-undefined
+bluetooth.BluetoothServiceUuid = text;
+bluetooth.BluetoothManufacturerData = { key: uint, data: tstr };
+
+bluetooth.RequestDevice = text
+
+bluetooth.RequestDeviceInfo = {
+ id: bluetooth.RequestDevice,
+ name: text / null,
+}
+
+bluetooth.RequestDevicePrompt = text
+
+bluetooth.ScanRecord = {
+ ? name: text,
+ ? uuids: [ * bluetooth.BluetoothServiceUuid ],
+ ? appearance: number,
+ ? manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+}
+
+bluetooth.HandleRequestDevicePrompt = (
+ method: "bluetooth.handleRequestDevicePrompt",
+ params: bluetooth.HandleRequestDevicePromptParameters,
+)
+
+bluetooth.HandleRequestDevicePromptParameters = {
+ context: text,
+ prompt: bluetooth.RequestDevicePrompt,
+ (
+ bluetooth.HandleRequestDevicePromptAcceptParameters //
+ bluetooth.HandleRequestDevicePromptCancelParameters
+ )
+}
+
+bluetooth.HandleRequestDevicePromptAcceptParameters = (
+ accept: true,
+ device: bluetooth.RequestDevice,
+)
+
+bluetooth.HandleRequestDevicePromptCancelParameters = (
+ accept: false,
+)
+
+bluetooth.simulateAdapter = (
+ method: "bluetooth.simulateAdapter",
+ params: bluetooth.SimulateAdapterParameters,
+)
+
+bluetooth.SimulateAdapterParameters = {
+ context: text,
+ state: "absent" / "powered-off" / "powered-on"
+}
+
+bluetooth.SimulatePreconnectedPeripheral = (
+ method: "bluetooth.simulatePreconnectedPeripheral",
+ params: bluetooth.SimulatePreconnectedPeripheralParameters,
+)
+
+bluetooth.SimulatePreconnectedPeripheralParameters = {
+ context: text,
+ address: text,
+ name: text,
+ manufacturerData: [ * bluetooth.BluetoothManufacturerData ],
+ knownServiceUuids: [ * bluetooth.BluetoothServiceUuid ]
+}
+
+bluetooth.SimulateAdvertisement = (
+ method: "bluetooth.simulateAdvertisement",
+ params: bluetooth.SimulateAdvertisementParameters,
+)
+
+bluetooth.SimulateAdvertisementParameters = {
+ context: text,
+ scanEntry: bluetooth.SimulateAdvertisementScanEntryParameters
+}
+
+bluetooth.SimulateAdvertisementScanEntryParameters = {
+ deviceAddress: text,
+ rssi: number,
+ scanRecord: bluetooth.ScanRecord
+}
diff --git a/ed/cddl/webdriver-bidi-all.cddl b/ed/cddl/webdriver-bidi-all.cddl
index ee3d940a2427..84864be9a773 100644
--- a/ed/cddl/webdriver-bidi-all.cddl
+++ b/ed/cddl/webdriver-bidi-all.cddl
@@ -3,4 +3,2011 @@
; (https://github.com/w3c/webref)
; Source: WebDriver BiDi (https://w3c.github.io/webdriver-bidi/)
-undefined
+Command = {
+ id: js-uint,
+ CommandData,
+ Extensible,
+}
+
+CommandData = (
+ BrowserCommand //
+ BrowsingContextCommand //
+ InputCommand //
+ NetworkCommand //
+ ScriptCommand //
+ SessionCommand //
+ StorageCommand //
+ WebExtensionCommand
+)
+
+EmptyParams = {
+ Extensible
+}
+
+Message = (
+ CommandResponse /
+ ErrorResponse /
+ Event
+)
+
+CommandResponse = {
+ type: "success",
+ id: js-uint,
+ result: ResultData,
+ Extensible
+}
+
+ErrorResponse = {
+ type: "error",
+ id: js-uint / null,
+ error: ErrorCode,
+ message: text,
+ ? stacktrace: text,
+ Extensible
+}
+
+ResultData = (
+ BrowsingContextResult /
+ EmptyResult /
+ NetworkResult /
+ ScriptResult /
+ SessionResult /
+ StorageResult /
+ WebExtensionResult
+)
+
+EmptyResult = {
+ Extensible
+}
+
+Event = {
+ type: "event",
+ EventData,
+ Extensible
+}
+
+EventData = (
+ BrowsingContextEvent //
+ LogEvent //
+ NetworkEvent //
+ ScriptEvent
+)
+
+Extensible = (*text => any)
+
+js-int = -9007199254740991..9007199254740991
+js-uint = 0..9007199254740991
+
+ErrorCode = "invalid argument" /
+"invalid selector" /
+"invalid session id" /
+"invalid web extension" /
+"move target out of bounds" /
+"no such alert" /
+"no such element" /
+"no such frame" /
+"no such handle" /
+"no such history entry" /
+"no such intercept" /
+"no such node" /
+"no such request" /
+"no such script" /
+"no such storage partition" /
+"no such user context" /
+"no such web extension" /
+"session not created" /
+"unable to capture screen" /
+"unable to close browser" /
+"unable to set cookie" /
+"unable to set file input" /
+"underspecified storage partition" /
+"unknown command" /
+"unknown error" /
+"unsupported operation"
+
+SessionCommand = (
+ session.End //
+ session.New //
+ session.Status //
+ session.Subscribe //
+ session.Unsubscribe
+)
+
+SessionResult = (
+ session.NewResult /
+ session.StatusResult
+)
+
+session.CapabilitiesRequest = {
+ ? alwaysMatch: session.CapabilityRequest,
+ ? firstMatch: [*session.CapabilityRequest]
+}
+
+session.CapabilityRequest = {
+ ? acceptInsecureCerts: bool,
+ ? browserName: text,
+ ? browserVersion: text,
+ ? platformName: text,
+ ? proxy: session.ProxyConfiguration,
+ ? unhandledPromptBehavior: session.UserPromptHandler,
+ Extensible
+};
+
+session.ProxyConfiguration = {
+ session.AutodetectProxyConfiguration //
+ session.DirectProxyConfiguration //
+ session.ManualProxyConfiguration //
+ session.PacProxyConfiguration //
+ session.SystemProxyConfiguration //
+}
+
+session.AutodetectProxyConfiguration = (
+ proxyType: "autodetect",
+ Extensible
+)
+
+session.DirectProxyConfiguration = (
+ proxyType: "direct",
+ Extensible
+)
+
+session.ManualProxyConfiguration = (
+ proxyType: "manual",
+ ? ftpProxy: text,
+ ? httpProxy: text,
+ ? sslProxy: text,
+ ? session.SocksProxyConfiguration,
+ ? noProxy: [*text],
+ Extensible
+)
+
+session.SocksProxyConfiguration = (
+ socksProxy: text,
+ socksVersion: 0..255,
+)
+
+session.PacProxyConfiguration = (
+ proxyType: "pac",
+ proxyAutoconfigUrl: text,
+ Extensible
+)
+
+session.SystemProxyConfiguration = (
+ proxyType: "system"
+ Extensible
+)
+
+session.UserPromptHandler = {
+ ? alert: session.UserPromptHandlerType,
+ ? beforeUnload: session.UserPromptHandlerType,
+ ? confirm: session.UserPromptHandlerType,
+ ? default: session.UserPromptHandlerType,
+ ? prompt: session.UserPromptHandlerType,
+};
+
+session.UserPromptHandlerType = "accept" / "dismiss" / "ignore";
+
+session.SubscriptionRequest = {
+ events: [+text],
+ ? contexts: [+browsingContext.BrowsingContext],
+}
+
+session.Status = (
+ method: "session.status",
+ params: EmptyParams,
+)
+
+session.StatusResult = {
+ ready: bool,
+ message: text,
+}
+
+session.New = (
+ method: "session.new",
+ params: session.NewParameters
+)
+
+session.NewParameters = {
+ capabilities: session.CapabilitiesRequest
+}
+
+session.NewResult = {
+ sessionId: text,
+ capabilities: {
+ acceptInsecureCerts: bool,
+ browserName: text,
+ browserVersion: text,
+ platformName: text,
+ setWindowRect: bool,
+ userAgent: text,
+ ? proxy: session.ProxyConfiguration,
+ ? unhandledPromptBehavior: session.UserPromptHandler,
+ ? webSocketUrl: text,
+ Extensible
+ }
+}
+
+session.End = (
+ method: "session.end",
+ params: EmptyParams
+)
+
+EmptyResult
+
+session.Subscribe = (
+ method: "session.subscribe",
+ params: session.SubscriptionRequest
+)
+
+EmptyResult
+
+session.Unsubscribe = (
+ method: "session.unsubscribe",
+ params: session.SubscriptionRequest
+)
+
+EmptyResult
+
+BrowserCommand = (
+ browser.Close //
+ browser.CreateUserContext //
+ browser.GetClientWindows //
+ browser.GetUserContexts //
+ browser.RemoveUserContext //
+ browser.SetClientWindowState //
+)
+
+BrowserResult = (
+ browser.CreateUserContextResult /
+ browser.GetUserContextsResult
+)
+
+browser.ClientWindow = text;
+
+browser.ClientWindowInfo = {
+ active: bool,
+ clientWindow: browser.ClientWindow,
+ height: js-uint,
+ state: "fullscreen" / "maximized" / "minimized" / "normal",
+ width: js-uint,
+ x: js-int,
+ y: js-int,
+}
+
+browser.UserContext = text;
+
+browser.UserContextInfo = {
+ userContext: browser.UserContext
+}
+
+browser.Close = (
+ method: "browser.close",
+ params: EmptyParams,
+)
+
+EmptyResult
+
+browser.CreateUserContext = (
+ method: "browser.createUserContext",
+ params: EmptyParams,
+)
+
+browser.CreateUserContextResult = browser.UserContextInfo
+
+browser.GetClientWindows = (
+ method: "browser.getClientWindows",
+ params: EmptyParams,
+)
+
+browser.GetClientWindowsResult = {
+ clientWindows: [ * browser.ClientWindowInfo]
+}
+
+browser.GetUserContexts = (
+ method: "browser.getUserContexts",
+ params: EmptyParams,
+)
+
+browser.GetUserContextsResult = {
+ userContexts: [ + browser.UserContextInfo]
+}
+
+browser.RemoveUserContext = (
+ method: "browser.removeUserContext",
+ params: browser.RemoveUserContextParameters
+)
+
+browser.RemoveUserContextParameters = {
+ userContext: browser.UserContext
+}
+
+EmptyResult
+
+browser.SetClientWindowState = (
+ method: "browser.setClientWindowState",
+ params: browser.SetClientWindowStateParameters
+)
+
+browser.SetClientWindowStateParameters = {
+ clientWindow: browser.ClientWindow,
+ browser.ClientWindowNamedState // browser.ClientWindowRectState
+}
+
+browser.ClientWindowNamedState = (
+ state: "fullscreen" / "maximized" / "minimized"
+)
+
+browser.ClientWindowRectState = (
+ state: "normal",
+ ? width: js-uint,
+ ? height: js-uint,
+ ? x: js-int,
+ ? y: js-int,
+)
+
+browser.ClientWindowInfo
+
+BrowsingContextCommand = (
+ browsingContext.Activate //
+ browsingContext.CaptureScreenshot //
+ browsingContext.Close //
+ browsingContext.Create //
+ browsingContext.GetTree //
+ browsingContext.HandleUserPrompt //
+ browsingContext.LocateNodes //
+ browsingContext.Navigate //
+ browsingContext.Print //
+ browsingContext.Reload //
+ browsingContext.SetViewport //
+ browsingContext.TraverseHistory
+)
+
+BrowsingContextResult = (
+ browsingContext.CaptureScreenshotResult /
+ browsingContext.CreateResult /
+ browsingContext.GetTreeResult /
+ browsingContext.LocateNodesResult /
+ browsingContext.NavigateResult /
+ browsingContext.PrintResult /
+ browsingContext.TraverseHistoryResult
+)
+
+BrowsingContextEvent = (
+ browsingContext.ContextCreated //
+ browsingContext.ContextDestroyed //
+ browsingContext.DomContentLoaded //
+ browsingContext.DownloadWillBegin //
+ browsingContext.FragmentNavigated //
+ browsingContext.HistoryUpdated //
+ browsingContext.Load //
+ browsingContext.NavigationAborted //
+ browsingContext.NavigationFailed //
+ browsingContext.NavigationStarted //
+ browsingContext.UserPromptClosed //
+ browsingContext.UserPromptOpened
+)
+
+browsingContext.BrowsingContext = text;
+
+browsingContext.InfoList = [*browsingContext.Info]
+
+browsingContext.Info = {
+ children: browsingContext.InfoList / null,
+ clientWindow: browser.ClientWindow,
+ context: browsingContext.BrowsingContext,
+ originalOpener: browsingContext.BrowsingContext / null,
+ url: text,
+ userContext: browser.UserContext,
+ ? parent: browsingContext.BrowsingContext / null,
+}
+
+browsingContext.Locator = (
+ browsingContext.AccessibilityLocator /
+ browsingContext.CssLocator /
+ browsingContext.InnerTextLocator /
+ browsingContext.XPathLocator
+)
+
+browsingContext.AccessibilityLocator = {
+ type: "accessibility",
+ value: {
+ ? name: text,
+ ? role: text,
+ }
+}
+
+browsingContext.CssLocator = {
+ type: "css",
+ value: text
+}
+
+browsingContext.InnerTextLocator = {
+ type: "innerText",
+ value: text,
+ ? ignoreCase: bool
+ ? matchType: "full" / "partial",
+ ? maxDepth: js-uint,
+}
+
+browsingContext.XPathLocator = {
+ type: "xpath",
+ value: text
+}
+
+browsingContext.Navigation = text;
+
+browsingContext.NavigationInfo = {
+ context: browsingContext.BrowsingContext,
+ navigation: browsingContext.Navigation / null,
+ timestamp: js-uint,
+ url: text,
+}
+
+browsingContext.ReadinessState = "none" / "interactive" / "complete"
+
+browsingContext.UserPromptType = "alert" / "beforeunload" / "confirm" / "prompt";
+
+browsingContext.Activate = (
+ method: "browsingContext.activate",
+ params: browsingContext.ActivateParameters
+)
+
+browsingContext.ActivateParameters = {
+ context: browsingContext.BrowsingContext
+}
+
+EmptyResult
+
+browsingContext.CaptureScreenshot = (
+ method: "browsingContext.captureScreenshot",
+ params: browsingContext.CaptureScreenshotParameters
+)
+
+browsingContext.CaptureScreenshotParameters = {
+ context: browsingContext.BrowsingContext,
+ ? origin: ("viewport" / "document") .default "viewport",
+ ? format: browsingContext.ImageFormat,
+ ? clip: browsingContext.ClipRectangle,
+}
+
+browsingContext.ImageFormat = {
+ type: text,
+ ? quality: 0.0..1.0,
+}
+
+browsingContext.ClipRectangle = (
+ browsingContext.BoxClipRectangle /
+ browsingContext.ElementClipRectangle
+)
+
+browsingContext.ElementClipRectangle = {
+ type: "element",
+ element: script.SharedReference
+}
+
+browsingContext.BoxClipRectangle = {
+ type: "box",
+ x: float,
+ y: float,
+ width: float,
+ height: float
+}
+
+browsingContext.CaptureScreenshotResult = {
+ data: text
+}
+
+browsingContext.Close = (
+ method: "browsingContext.close",
+ params: browsingContext.CloseParameters
+)
+
+browsingContext.CloseParameters = {
+ context: browsingContext.BrowsingContext,
+ ? promptUnload: bool .default false
+}
+
+EmptyResult
+
+browsingContext.Create = (
+ method: "browsingContext.create",
+ params: browsingContext.CreateParameters
+)
+
+browsingContext.CreateType = "tab" / "window"
+
+browsingContext.CreateParameters = {
+ type: browsingContext.CreateType,
+ ? referenceContext: browsingContext.BrowsingContext,
+ ? background: bool .default false,
+ ? userContext: browser.UserContext
+}
+
+browsingContext.CreateResult = {
+ context: browsingContext.BrowsingContext
+}
+
+browsingContext.GetTree = (
+ method: "browsingContext.getTree",
+ params: browsingContext.GetTreeParameters
+)
+
+browsingContext.GetTreeParameters = {
+ ? maxDepth: js-uint,
+ ? root: browsingContext.BrowsingContext,
+}
+
+browsingContext.GetTreeResult = {
+ contexts: browsingContext.InfoList
+}
+
+browsingContext.HandleUserPrompt = (
+ method: "browsingContext.handleUserPrompt",
+ params: browsingContext.HandleUserPromptParameters
+)
+
+browsingContext.HandleUserPromptParameters = {
+ context: browsingContext.BrowsingContext,
+ ? accept: bool,
+ ? userText: text,
+}
+
+EmptyResult
+
+browsingContext.LocateNodes = (
+ method: "browsingContext.locateNodes",
+ params: browsingContext.LocateNodesParameters
+)
+
+browsingContext.LocateNodesParameters = {
+ context: browsingContext.BrowsingContext,
+ locator: browsingContext.Locator,
+ ? maxNodeCount: (js-uint .ge 1),
+ ? serializationOptions: script.SerializationOptions,
+ ? startNodes: [ + script.SharedReference ]
+}
+
+browsingContext.LocateNodesResult = {
+ nodes: [ * script.NodeRemoteValue ]
+}
+
+browsingContext.Navigate = (
+ method: "browsingContext.navigate",
+ params: browsingContext.NavigateParameters
+)
+
+browsingContext.NavigateParameters = {
+ context: browsingContext.BrowsingContext,
+ url: text,
+ ? wait: browsingContext.ReadinessState,
+}
+
+browsingContext.NavigateResult = {
+ navigation: browsingContext.Navigation / null,
+ url: text,
+}
+
+browsingContext.Print = (
+ method: "browsingContext.print",
+ params: browsingContext.PrintParameters
+)
+
+browsingContext.PrintParameters = {
+ context: browsingContext.BrowsingContext,
+ ? background: bool .default false,
+ ? margin: browsingContext.PrintMarginParameters,
+ ? orientation: ("portrait" / "landscape") .default "portrait",
+ ? page: browsingContext.PrintPageParameters,
+ ? pageRanges: [*(js-uint / text)],
+ ? scale: (0.1..2.0) .default 1.0,
+ ? shrinkToFit: bool .default true,
+}
+
+browsingContext.PrintMarginParameters = {
+ ? bottom: (float .ge 0.0) .default 1.0,
+ ? left: (float .ge 0.0) .default 1.0,
+ ? right: (float .ge 0.0) .default 1.0,
+ ? top: (float .ge 0.0) .default 1.0,
+}
+
+; Minimum size is 1pt x 1pt. Conversion follows from
+; https://www.w3.org/TR/css3-values/#absolute-lengths
+browsingContext.PrintPageParameters = {
+ ? height: (float .ge 0.0352) .default 27.94,
+ ? width: (float .ge 0.0352) .default 21.59,
+}
+
+browsingContext.PrintResult = {
+ data: text
+}
+
+browsingContext.Reload = (
+ method: "browsingContext.reload",
+ params: browsingContext.ReloadParameters
+)
+
+browsingContext.ReloadParameters = {
+ context: browsingContext.BrowsingContext,
+ ? ignoreCache: bool,
+ ? wait: browsingContext.ReadinessState,
+}
+
+browsingContext.NavigateResult
+
+browsingContext.SetViewport = (
+ method: "browsingContext.setViewport",
+ params: browsingContext.SetViewportParameters
+)
+
+browsingContext.SetViewportParameters = {
+ context: browsingContext.BrowsingContext,
+ ? viewport: browsingContext.Viewport / null,
+ ? devicePixelRatio: (float .gt 0.0) / null,
+}
+
+browsingContext.Viewport = {
+ width: js-uint,
+ height: js-uint,
+}
+
+EmptyResult
+
+browsingContext.TraverseHistory = (
+ method: "browsingContext.traverseHistory",
+ params: browsingContext.TraverseHistoryParameters
+)
+
+browsingContext.TraverseHistoryParameters = {
+ context: browsingContext.BrowsingContext,
+ delta: js-int,
+}
+
+browsingContext.TraverseHistoryResult = {
+}
+
+browsingContext.ContextCreated = (
+ method: "browsingContext.contextCreated",
+ params: browsingContext.Info
+)
+
+browsingContext.ContextDestroyed = (
+ method: "browsingContext.contextDestroyed",
+ params: browsingContext.Info
+)
+
+browsingContext.NavigationStarted = (
+ method: "browsingContext.navigationStarted",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.FragmentNavigated = (
+ method: "browsingContext.fragmentNavigated",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.HistoryUpdated = (
+ method: "browsingContext.historyUpdated",
+ params: browsingContext.HistoryUpdatedParameters
+)
+
+browsingContext.HistoryUpdatedParameters = {
+ context: browsingContext.BrowsingContext,
+ url: text
+}
+
+browsingContext.DomContentLoaded = (
+ method: "browsingContext.domContentLoaded",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.Load = (
+ method: "browsingContext.load",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.DownloadWillBegin = (
+ method: "browsingContext.downloadWillBegin",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.NavigationAborted = (
+ method: "browsingContext.navigationAborted",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.NavigationFailed = (
+ method: "browsingContext.navigationFailed",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.UserPromptClosed = (
+ method: "browsingContext.userPromptClosed",
+ params: browsingContext.UserPromptClosedParameters
+)
+
+browsingContext.UserPromptClosedParameters = {
+ context: browsingContext.BrowsingContext,
+ accepted: bool,
+ type: browsingContext.UserPromptType,
+ ? userText: text
+}
+
+browsingContext.UserPromptOpened = (
+ method: "browsingContext.userPromptOpened",
+ params: browsingContext.UserPromptOpenedParameters
+)
+
+browsingContext.UserPromptOpenedParameters = {
+ context: browsingContext.BrowsingContext,
+ handler: session.UserPromptHandlerType,
+ message: text,
+ type: browsingContext.UserPromptType,
+ ? defaultValue: text
+}
+
+NetworkCommand = (
+ network.AddIntercept //
+ network.ContinueRequest //
+ network.ContinueResponse //
+ network.ContinueWithAuth //
+ network.FailRequest //
+ network.ProvideResponse //
+ network.RemoveIntercept //
+ network.SetCacheBehavior
+)
+
+NetworkResult = (
+ network.AddInterceptResult
+)
+
+NetworkEvent = (
+ network.AuthRequired //
+ network.BeforeRequestSent //
+ network.FetchError //
+ network.ResponseCompleted //
+ network.ResponseStarted
+)
+
+network.AuthChallenge = {
+ scheme: text,
+ realm: text,
+}
+
+network.AuthCredentials = {
+ type: "password",
+ username: text,
+ password: text,
+}
+
+network.BaseParameters = (
+ context: browsingContext.BrowsingContext / null,
+ isBlocked: bool,
+ navigation: browsingContext.Navigation / null,
+ redirectCount: js-uint,
+ request: network.RequestData,
+ timestamp: js-uint,
+ ? intercepts: [+network.Intercept]
+)
+
+network.BytesValue = network.StringValue / network.Base64Value;
+
+network.StringValue = {
+ type: "string",
+ value: text,
+}
+
+network.Base64Value = {
+ type: "base64",
+ value: text,
+}
+
+network.SameSite = "strict" / "lax" / "none"
+
+network.Cookie = {
+ name: text,
+ value: network.BytesValue,
+ domain: text,
+ path: text,
+ size: js-uint,
+ httpOnly: bool,
+ secure: bool,
+ sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+};
+
+network.CookieHeader = {
+ name: text,
+ value: network.BytesValue,
+};
+
+network.FetchTimingInfo = {
+ timeOrigin: float,
+ requestTime: float,
+ redirectStart: float,
+ redirectEnd: float,
+ fetchStart: float,
+ dnsStart: float,
+ dnsEnd: float,
+ connectStart: float,
+ connectEnd: float,
+ tlsStart: float,
+ requestStart: float,
+ responseStart: float,
+ responseEnd: float,
+};
+
+network.Header = {
+ name: text,
+ value: network.BytesValue,
+}
+
+network.Initiator = {
+ ? columnNumber: js-uint,
+ ? lineNumber: js-uint,
+ ? request: network.Request,
+ ? stackTrace: script.StackTrace,
+ ? type: "parser" / "script" / "preflight" / "other"
+};
+
+network.Intercept = text
+
+network.Request = text;
+
+network.RequestData = {
+ request: network.Request,
+ url: text,
+ method: text,
+ headers: [*network.Header],
+ cookies: [*network.Cookie],
+ headersSize: js-uint,
+ bodySize: js-uint / null,
+ destination: text,
+ initiatorType: text / null,
+ timings: network.FetchTimingInfo,
+};
+
+network.ResponseContent = {
+ size: js-uint
+};
+
+network.ResponseData = {
+ url: text,
+ protocol: text,
+ status: js-uint,
+ statusText: text,
+ fromCache: bool,
+ headers: [*network.Header],
+ mimeType: text,
+ bytesReceived: js-uint,
+ headersSize: js-uint / null,
+ bodySize: js-uint / null,
+ content: network.ResponseContent,
+ ?authChallenges: [*network.AuthChallenge],
+};
+
+network.SetCookieHeader = {
+ name: text,
+ value: network.BytesValue,
+ ? domain: text,
+ ? httpOnly: bool,
+ ? expiry: text,
+ ? maxAge: js-int,
+ ? path: text,
+ ? sameSite: network.SameSite,
+ ? secure: bool,
+}
+
+network.UrlPattern = (
+ network.UrlPatternPattern /
+ network.UrlPatternString
+)
+
+network.UrlPatternPattern = {
+ type: "pattern",
+ ?protocol: text,
+ ?hostname: text,
+ ?port: text,
+ ?pathname: text,
+ ?search: text,
+}
+
+network.UrlPatternString = {
+ type: "string",
+ pattern: text,
+}
+
+network.AddIntercept = (
+ method: "network.addIntercept",
+ params: network.AddInterceptParameters
+)
+
+network.AddInterceptParameters = {
+ phases: [+network.InterceptPhase],
+ ? contexts: [+browsingContext.BrowsingContext],
+ ? urlPatterns: [*network.UrlPattern],
+}
+
+network.InterceptPhase = "beforeRequestSent" / "responseStarted" /
+ "authRequired"
+
+network.AddInterceptResult = {
+ intercept: network.Intercept
+}
+
+network.ContinueRequest = (
+ method: "network.continueRequest",
+ params: network.ContinueRequestParameters
+)
+
+network.ContinueRequestParameters = {
+ request: network.Request,
+ ?body: network.BytesValue,
+ ?cookies: [*network.CookieHeader],
+ ?headers: [*network.Header],
+ ?method: text,
+ ?url: text,
+}
+
+EmptyResult
+
+network.ContinueResponse = (
+ method: "network.continueResponse",
+ params: network.ContinueResponseParameters
+)
+
+network.ContinueResponseParameters = {
+ request: network.Request,
+ ?cookies: [*network.SetCookieHeader]
+ ?credentials: network.AuthCredentials,
+ ?headers: [*network.Header],
+ ?reasonPhrase: text,
+ ?statusCode: js-uint,
+}
+
+EmptyResult
+
+network.ContinueWithAuth = (
+ method: "network.continueWithAuth",
+ params: network.ContinueWithAuthParameters
+)
+
+network.ContinueWithAuthParameters = {
+ request: network.Request,
+ (network.ContinueWithAuthCredentials // network.ContinueWithAuthNoCredentials)
+}
+
+network.ContinueWithAuthCredentials = (
+ action: "provideCredentials",
+ credentials: network.AuthCredentials
+)
+
+network.ContinueWithAuthNoCredentials = (
+ action: "default" / "cancel"
+)
+
+EmptyResult
+
+network.FailRequest = (
+ method: "network.failRequest",
+ params: network.FailRequestParameters
+)
+
+network.FailRequestParameters = {
+ request: network.Request,
+}
+
+EmptyResult
+
+network.ProvideResponse = (
+ method: "network.provideResponse",
+ params: network.ProvideResponseParameters
+)
+
+network.ProvideResponseParameters = {
+ request: network.Request,
+ ?body: network.BytesValue,
+ ?cookies: [*network.SetCookieHeader],
+ ?headers: [*network.Header],
+ ?reasonPhrase: text,
+ ?statusCode: js-uint,
+}
+
+EmptyResult
+
+network.RemoveIntercept = (
+ method: "network.removeIntercept",
+ params: network.RemoveInterceptParameters
+)
+
+network.RemoveInterceptParameters = {
+ intercept: network.Intercept
+}
+
+EmptyResult
+
+network.SetCacheBehavior = (
+ method: "network.setCacheBehavior",
+ params: network.SetCacheBehaviorParameters
+)
+
+network.SetCacheBehaviorParameters = {
+ cacheBehavior: "default" / "bypass",
+ ? contexts: [+browsingContext.BrowsingContext]
+}
+
+EmptyResult
+
+network.AuthRequired = (
+ method: "network.authRequired",
+ params: network.AuthRequiredParameters
+)
+
+network.AuthRequiredParameters = {
+ network.BaseParameters,
+ response: network.ResponseData
+}
+
+EmptyResult
+
+network.BeforeRequestSent = (
+ method: "network.beforeRequestSent",
+ params: network.BeforeRequestSentParameters
+ )
+
+network.BeforeRequestSentParameters = {
+ network.BaseParameters,
+ ? initiator: network.Initiator,
+}
+
+network.FetchError = (
+ method: "network.fetchError",
+ params: network.FetchErrorParameters
+ )
+
+network.FetchErrorParameters = {
+ network.BaseParameters,
+ errorText: text,
+}
+
+network.ResponseCompleted = (
+ method: "network.responseCompleted",
+ params: network.ResponseCompletedParameters
+ )
+
+network.ResponseCompletedParameters = {
+ network.BaseParameters,
+ response: network.ResponseData,
+}
+
+network.ResponseStarted = (
+ method: "network.responseStarted",
+ params: network.ResponseStartedParameters
+ )
+
+network.ResponseStartedParameters = {
+ network.BaseParameters,
+ response: network.ResponseData,
+}
+
+ScriptCommand = (
+ script.AddPreloadScript //
+ script.CallFunction //
+ script.Disown //
+ script.Evaluate //
+ script.GetRealms //
+ script.RemovePreloadScript
+)
+
+ScriptResult = (
+ script.AddPreloadScriptResult /
+ script.EvaluateResult /
+ script.GetRealmsResult
+)
+
+ScriptEvent = (
+ script.Message //
+ script.RealmCreated //
+ script.RealmDestroyed
+)
+
+script.Channel = text;
+
+script.ChannelValue = {
+ type: "channel",
+ value: script.ChannelProperties,
+};
+
+script.ChannelProperties = {
+ channel: script.Channel,
+ ? serializationOptions: script.SerializationOptions,
+ ? ownership: script.ResultOwnership,
+}
+
+script.EvaluateResult = (
+ script.EvaluateResultSuccess /
+ script.EvaluateResultException
+)
+
+script.EvaluateResultSuccess = {
+ type: "success",
+ result: script.RemoteValue,
+ realm: script.Realm
+}
+
+script.EvaluateResultException = {
+ type: "exception",
+ exceptionDetails: script.ExceptionDetails
+ realm: script.Realm
+}
+
+script.ExceptionDetails = {
+ columnNumber: js-uint,
+ exception: script.RemoteValue,
+ lineNumber: js-uint,
+ stackTrace: script.StackTrace,
+ text: text,
+};
+
+script.Handle = text;
+
+script.InternalId = text;
+
+script.LocalValue = (
+ script.RemoteReference /
+ script.PrimitiveProtocolValue /
+ script.ChannelValue /
+ script.ArrayLocalValue /
+ script.DateLocalValue /
+ script.MapLocalValue /
+ script.ObjectLocalValue /
+ script.RegExpLocalValue /
+ script.SetLocalValue
+)
+
+script.ListLocalValue = [*script.LocalValue];
+
+script.ArrayLocalValue = {
+ type: "array",
+ value: script.ListLocalValue,
+}
+
+script.DateLocalValue = {
+ type: "date",
+ value: text
+}
+
+script.MappingLocalValue = [*[(script.LocalValue / text), script.LocalValue]];
+
+script.MapLocalValue = {
+ type: "map",
+ value: script.MappingLocalValue,
+}
+
+script.ObjectLocalValue = {
+ type: "object",
+ value: script.MappingLocalValue,
+}
+
+script.RegExpValue = {
+ pattern: text,
+ ? flags: text,
+}
+
+script.RegExpLocalValue = {
+ type: "regexp",
+ value: script.RegExpValue,
+}
+
+script.SetLocalValue = {
+ type: "set",
+ value: script.ListLocalValue,
+}
+
+script.PreloadScript = text;
+
+script.Realm = text;
+
+script.PrimitiveProtocolValue = (
+ script.UndefinedValue /
+ script.NullValue /
+ script.StringValue /
+ script.NumberValue /
+ script.BooleanValue /
+ script.BigIntValue
+)
+
+script.UndefinedValue = {
+ type: "undefined",
+}
+
+script.NullValue = {
+ type: "null",
+}
+
+script.StringValue = {
+ type: "string",
+ value: text,
+}
+
+script.SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
+
+script.NumberValue = {
+ type: "number",
+ value: number / script.SpecialNumber,
+}
+
+script.BooleanValue = {
+ type: "boolean",
+ value: bool,
+}
+
+script.BigIntValue = {
+ type: "bigint",
+ value: text,
+}
+
+script.RealmInfo = (
+ script.WindowRealmInfo /
+ script.DedicatedWorkerRealmInfo /
+ script.SharedWorkerRealmInfo /
+ script.ServiceWorkerRealmInfo /
+ script.WorkerRealmInfo /
+ script.PaintWorkletRealmInfo /
+ script.AudioWorkletRealmInfo /
+ script.WorkletRealmInfo
+)
+
+script.BaseRealmInfo = (
+ realm: script.Realm,
+ origin: text
+)
+
+script.WindowRealmInfo = {
+ script.BaseRealmInfo,
+ type: "window",
+ context: browsingContext.BrowsingContext,
+ ? sandbox: text
+}
+
+script.DedicatedWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "dedicated-worker",
+ owners: [script.Realm]
+}
+
+script.SharedWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "shared-worker"
+}
+
+script.ServiceWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "service-worker"
+}
+
+script.WorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "worker"
+}
+
+script.PaintWorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "paint-worklet"
+}
+
+script.AudioWorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "audio-worklet"
+}
+
+script.WorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "worklet"
+}
+
+script.RealmType = "window" / "dedicated-worker" / "shared-worker" / "service-worker" /
+"worker" / "paint-worklet" / "audio-worklet" / "worklet"
+
+script.RemoteReference = (
+ script.SharedReference /
+ script.RemoteObjectReference
+)
+
+script.SharedReference = {
+ sharedId: script.SharedId
+ ? handle: script.Handle,
+ Extensible
+}
+
+script.RemoteObjectReference = {
+ handle: script.Handle,
+ ? sharedId: script.SharedId
+ Extensible
+}
+
+script.RemoteValue = (
+ script.PrimitiveProtocolValue /
+ script.SymbolRemoteValue /
+ script.ArrayRemoteValue /
+ script.ObjectRemoteValue /
+ script.FunctionRemoteValue /
+ script.RegExpRemoteValue /
+ script.DateRemoteValue /
+ script.MapRemoteValue /
+ script.SetRemoteValue /
+ script.WeakMapRemoteValue /
+ script.WeakSetRemoteValue /
+ script.GeneratorRemoteValue /
+ script.ErrorRemoteValue /
+ script.ProxyRemoteValue /
+ script.PromiseRemoteValue /
+ script.TypedArrayRemoteValue /
+ script.ArrayBufferRemoteValue /
+ script.NodeListRemoteValue /
+ script.HTMLCollectionRemoteValue /
+ script.NodeRemoteValue /
+ script.WindowProxyRemoteValue
+)
+
+script.ListRemoteValue = [*script.RemoteValue];
+
+script.MappingRemoteValue = [*[(script.RemoteValue / text), script.RemoteValue]];
+
+script.SymbolRemoteValue = {
+ type: "symbol",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayRemoteValue = {
+ type: "array",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.ObjectRemoteValue = {
+ type: "object",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.FunctionRemoteValue = {
+ type: "function",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.RegExpRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.RegExpLocalValue
+
+script.DateRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.DateLocalValue
+
+script.MapRemoteValue = {
+ type: "map",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.SetRemoteValue = {
+ type: "set",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue
+}
+
+script.WeakMapRemoteValue = {
+ type: "weakmap",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.WeakSetRemoteValue = {
+ type: "weakset",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.GeneratorRemoteValue = {
+ type: "generator",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ErrorRemoteValue = {
+ type: "error",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ProxyRemoteValue = {
+ type: "proxy",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.PromiseRemoteValue = {
+ type: "promise",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.TypedArrayRemoteValue = {
+ type: "typedarray",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayBufferRemoteValue = {
+ type: "arraybuffer",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.NodeListRemoteValue = {
+ type: "nodelist",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.HTMLCollectionRemoteValue = {
+ type: "htmlcollection",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.NodeRemoteValue = {
+ type: "node",
+ ? sharedId: script.SharedId,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.NodeProperties,
+}
+
+script.NodeProperties = {
+ nodeType: js-uint,
+ childNodeCount: js-uint,
+ ? attributes: {*text => text},
+ ? children: [*script.NodeRemoteValue],
+ ? localName: text,
+ ? mode: "open" / "closed",
+ ? namespaceURI: text,
+ ? nodeValue: text,
+ ? shadowRoot: script.NodeRemoteValue / null,
+}
+
+script.WindowProxyRemoteValue = {
+ type: "window",
+ value: script.WindowProxyProperties,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId
+}
+
+script.WindowProxyProperties = {
+ context: browsingContext.BrowsingContext
+}
+
+script.ResultOwnership = "root" / "none"
+
+script.SerializationOptions = {
+ ? maxDomDepth: (js-uint / null) .default 0,
+ ? maxObjectDepth: (js-uint / null) .default null,
+ ? includeShadowTree: ("none" / "open" / "all") .default "none",
+}
+
+script.SharedId = text;
+
+script.StackFrame = {
+ columnNumber: js-uint,
+ functionName: text,
+ lineNumber: js-uint,
+ url: text,
+}
+
+script.StackTrace = {
+ callFrames: [*script.StackFrame],
+}
+
+script.Source = {
+ realm: script.Realm,
+ ? context: browsingContext.BrowsingContext
+}
+
+script.RealmTarget = {
+ realm: script.Realm
+};
+
+script.ContextTarget = {
+ context: browsingContext.BrowsingContext,
+ ? sandbox: text
+}
+
+script.Target = (
+ script.ContextTarget /
+ script.RealmTarget
+);
+
+script.AddPreloadScript = (
+ method: "script.addPreloadScript",
+ params: script.AddPreloadScriptParameters
+)
+
+script.AddPreloadScriptParameters = {
+ functionDeclaration: text,
+ ? arguments: [*script.ChannelValue],
+ ? contexts: [+browsingContext.BrowsingContext],
+ ? sandbox: text
+}
+
+script.AddPreloadScriptResult = {
+ script: script.PreloadScript
+}
+
+script.Disown = (
+ method: "script.disown",
+ params: script.DisownParameters
+)
+
+script.DisownParameters = {
+ handles: [*script.Handle]
+ target: script.Target;
+}
+
+EmptyResult
+
+script.CallFunction = (
+ method: "script.callFunction",
+ params: script.CallFunctionParameters
+)
+
+script.CallFunctionParameters = {
+ functionDeclaration: text,
+ awaitPromise: bool,
+ target: script.Target,
+ ? arguments: [*script.LocalValue],
+ ? resultOwnership: script.ResultOwnership,
+ ? serializationOptions: script.SerializationOptions,
+ ? this: script.LocalValue,
+ ? userActivation: bool .default false,
+}
+
+script.EvaluateResult
+
+script.Evaluate = (
+ method: "script.evaluate",
+ params: script.EvaluateParameters
+)
+
+script.EvaluateParameters = {
+ expression: text,
+ target: script.Target,
+ awaitPromise: bool,
+ ? resultOwnership: script.ResultOwnership,
+ ? serializationOptions: script.SerializationOptions,
+ ? userActivation: bool .default false,
+}
+
+script.EvaluateResult
+
+script.GetRealms = (
+ method: "script.getRealms",
+ params: script.GetRealmsParameters
+)
+
+script.GetRealmsParameters = {
+ ? context: browsingContext.BrowsingContext,
+ ? type: script.RealmType,
+}
+
+script.GetRealmsResult = {
+ realms: [*script.RealmInfo]
+}
+
+script.RemovePreloadScript = (
+ method: "script.removePreloadScript",
+ params: script.RemovePreloadScriptParameters
+)
+
+script.RemovePreloadScriptParameters = {
+ script: script.PreloadScript
+}
+
+EmptyResult
+
+script.Message = (
+ method: "script.message",
+ params: script.MessageParameters
+ )
+
+script.MessageParameters = {
+ channel: script.Channel,
+ data: script.RemoteValue,
+ source: script.Source,
+}
+
+script.RealmCreated = (
+ method: "script.realmCreated",
+ params: script.RealmInfo
+)
+
+script.RealmDestroyed = (
+ method: "script.realmDestroyed",
+ params: script.RealmDestroyedParameters
+)
+
+script.RealmDestroyedParameters = {
+ realm: script.Realm
+}
+
+StorageCommand = (
+ storage.DeleteCookies //
+ storage.GetCookies //
+ storage.SetCookie
+)
+
+StorageResult = (
+ storage.DeleteCookiesResult /
+ storage.GetCookiesResult /
+ storage.SetCookieResult
+)
+
+storage.PartitionKey = {
+ ? userContext: text,
+ ? sourceOrigin: text,
+ Extensible,
+}
+
+storage.GetCookies = (
+ method: "storage.getCookies",
+ params: storage.GetCookiesParameters
+)
+
+storage.CookieFilter = {
+ ? name: text,
+ ? value: network.BytesValue,
+ ? domain: text,
+ ? path: text,
+ ? size: js-uint,
+ ? httpOnly: bool,
+ ? secure: bool,
+ ? sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+}
+
+storage.BrowsingContextPartitionDescriptor = {
+ type: "context",
+ context: browsingContext.BrowsingContext
+}
+
+storage.StorageKeyPartitionDescriptor = {
+ type: "storageKey",
+ ? userContext: text,
+ ? sourceOrigin: text,
+ Extensible,
+}
+
+storage.PartitionDescriptor = (
+ storage.BrowsingContextPartitionDescriptor /
+ storage.StorageKeyPartitionDescriptor
+)
+
+storage.GetCookiesParameters = {
+ ? filter: storage.CookieFilter,
+ ? partition: storage.PartitionDescriptor,
+}
+
+storage.GetCookiesResult = {
+ cookies: [*network.Cookie],
+ partitionKey: storage.PartitionKey,
+}
+
+storage.SetCookie = (
+ method: "storage.setCookie",
+ params: storage.SetCookieParameters,
+)
+
+storage.PartialCookie = {
+ name: text,
+ value: network.BytesValue,
+ domain: text,
+ ? path: text,
+ ? httpOnly: bool,
+ ? secure: bool,
+ ? sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+}
+
+storage.SetCookieParameters = {
+ cookie: storage.PartialCookie,
+ ? partition: storage.PartitionDescriptor,
+}
+
+storage.SetCookieResult = {
+ partitionKey: storage.PartitionKey
+}
+
+storage.DeleteCookies = (
+ method: "storage.deleteCookies",
+ params: storage.DeleteCookiesParameters,
+)
+
+storage.DeleteCookiesParameters = {
+ ? filter: storage.CookieFilter,
+ ? partition: storage.PartitionDescriptor,
+}
+
+storage.DeleteCookiesResult = {
+ partitionKey: storage.PartitionKey
+}
+
+LogEvent = (
+ log.EntryAdded
+)
+
+log.Level = "debug" / "info" / "warn" / "error"
+
+log.Entry = (
+ log.GenericLogEntry /
+ log.ConsoleLogEntry /
+ log.JavascriptLogEntry
+)
+
+log.BaseLogEntry = (
+ level: log.Level,
+ source: script.Source,
+ text: text / null,
+ timestamp: js-uint,
+ ? stackTrace: script.StackTrace,
+)
+
+log.GenericLogEntry = {
+ log.BaseLogEntry,
+ type: text,
+}
+
+log.ConsoleLogEntry = {
+ log.BaseLogEntry,
+ type: "console",
+ method: text,
+ args: [*script.RemoteValue],
+}
+
+log.JavascriptLogEntry = {
+ log.BaseLogEntry,
+ type: "javascript",
+}
+
+log.EntryAdded = (
+ method: "log.entryAdded",
+ params: log.Entry,
+)
+
+InputCommand = (
+ input.PerformActions //
+ input.ReleaseActions //
+ input.SetFiles
+)
+
+input.ElementOrigin = {
+ type: "element",
+ element: script.SharedReference
+}
+
+input.PerformActions = (
+ method: "input.performActions",
+ params: input.PerformActionsParameters
+)
+
+input.PerformActionsParameters = {
+ context: browsingContext.BrowsingContext,
+ actions: [*input.SourceActions]
+}
+
+input.SourceActions = (
+ input.NoneSourceActions /
+ input.KeySourceActions /
+ input.PointerSourceActions /
+ input.WheelSourceActions
+)
+
+input.NoneSourceActions = {
+ type: "none",
+ id: text,
+ actions: [*input.NoneSourceAction]
+}
+
+input.NoneSourceAction = input.PauseAction
+
+input.KeySourceActions = {
+ type: "key",
+ id: text,
+ actions: [*input.KeySourceAction]
+}
+
+input.KeySourceAction = (
+ input.PauseAction /
+ input.KeyDownAction /
+ input.KeyUpAction
+)
+
+input.PointerSourceActions = {
+ type: "pointer",
+ id: text,
+ ? parameters: input.PointerParameters,
+ actions: [*input.PointerSourceAction]
+}
+
+input.PointerType = "mouse" / "pen" / "touch"
+
+input.PointerParameters = {
+ ? pointerType: input.PointerType .default "mouse"
+}
+
+input.PointerSourceAction = (
+ input.PauseAction /
+ input.PointerDownAction /
+ input.PointerUpAction /
+ input.PointerMoveAction
+)
+
+input.WheelSourceActions = {
+ type: "wheel",
+ id: text,
+ actions: [*input.WheelSourceAction]
+}
+
+input.WheelSourceAction = (
+ input.PauseAction /
+ input.WheelScrollAction
+)
+
+input.PauseAction = {
+ type: "pause",
+ ? duration: js-uint
+}
+
+input.KeyDownAction = {
+ type: "keyDown",
+ value: text
+}
+
+input.KeyUpAction = {
+ type: "keyUp",
+ value: text
+}
+
+input.PointerUpAction = {
+ type: "pointerUp",
+ button: js-uint,
+}
+
+input.PointerDownAction = {
+ type: "pointerDown",
+ button: js-uint,
+ input.PointerCommonProperties
+}
+
+input.PointerMoveAction = {
+ type: "pointerMove",
+ x: js-int,
+ y: js-int,
+ ? duration: js-uint,
+ ? origin: input.Origin,
+ input.PointerCommonProperties
+}
+
+input.WheelScrollAction = {
+ type: "scroll",
+ x: js-int,
+ y: js-int,
+ deltaX: js-int,
+ deltaY: js-int,
+ ? duration: js-uint,
+ ? origin: input.Origin .default "viewport",
+}
+
+input.PointerCommonProperties = (
+ ? width: js-uint .default 1,
+ ? height: js-uint .default 1,
+ ? pressure: float .default 0.0,
+ ? tangentialPressure: float .default 0.0,
+ ? twist: (0..359) .default 0,
+ ; 0 .. Math.PI / 2
+ ? altitudeAngle: (0.0..1.5707963267948966) .default 0.0,
+ ; 0 .. 2 * Math.PI
+ ? azimuthAngle: (0.0..6.283185307179586) .default 0.0,
+)
+
+input.Origin = "viewport" / "pointer" / input.ElementOrigin
+
+EmptyResult
+
+input.ReleaseActions = (
+ method: "input.releaseActions",
+ params: input.ReleaseActionsParameters
+)
+
+input.ReleaseActionsParameters = {
+ context: browsingContext.BrowsingContext,
+}
+
+EmptyResult
+
+input.SetFiles = (
+ method: "input.setFiles",
+ params: input.SetFilesParameters
+)
+
+input.SetFilesParameters = {
+ context: browsingContext.BrowsingContext,
+ element: script.SharedReference,
+ files: [*text]
+}
+
+EmptyResult
+
+WebExtensionCommand = (
+ webExtension.Install //
+ webExtension.Uninstall
+)
+
+WebExtensionResult = (
+ webExtension.InstallResult
+)
+
+webExtension.Extension = text
+
+webExtension.Install = (
+ method: "webExtension.install",
+ params: webExtension.InstallParameters
+)
+
+webExtension.InstallParameters = {
+ extensionData: webExtension.ExtensionData,
+}
+
+webExtension.ExtensionData = (
+ webExtension.ExtensionArchivePath /
+ webExtension.ExtensionBase64Encoded /
+ webExtension.ExtensionPath
+)
+
+webExtension.ExtensionPath = {
+ type: "path",
+ path: text,
+}
+
+webExtension.ExtensionArchivePath = {
+ type: "archivePath",
+ path: text,
+}
+
+webExtension.ExtensionBase64Encoded = {
+ type: "base64",
+ value: text,
+}
+
+webExtension.InstallResult = {
+ extension: webExtension.Extension
+}
+
+webExtension.Uninstall = (
+ method: "webExtension.uninstall",
+ params: webExtension.UninstallParameters
+)
+
+webExtension.UninstallParameters = {
+ extension: webExtension.Extension,
+}
diff --git a/ed/cddl/webdriver-bidi-local.cddl b/ed/cddl/webdriver-bidi-local.cddl
index ee3d940a2427..cfd02660b055 100644
--- a/ed/cddl/webdriver-bidi-local.cddl
+++ b/ed/cddl/webdriver-bidi-local.cddl
@@ -3,4 +3,1161 @@
; (https://github.com/w3c/webref)
; Source: WebDriver BiDi (https://w3c.github.io/webdriver-bidi/)
-undefined
+Message = (
+ CommandResponse /
+ ErrorResponse /
+ Event
+)
+
+CommandResponse = {
+ type: "success",
+ id: js-uint,
+ result: ResultData,
+ Extensible
+}
+
+ErrorResponse = {
+ type: "error",
+ id: js-uint / null,
+ error: ErrorCode,
+ message: text,
+ ? stacktrace: text,
+ Extensible
+}
+
+ResultData = (
+ BrowsingContextResult /
+ EmptyResult /
+ NetworkResult /
+ ScriptResult /
+ SessionResult /
+ StorageResult /
+ WebExtensionResult
+)
+
+EmptyResult = {
+ Extensible
+}
+
+Event = {
+ type: "event",
+ EventData,
+ Extensible
+}
+
+EventData = (
+ BrowsingContextEvent //
+ LogEvent //
+ NetworkEvent //
+ ScriptEvent
+)
+
+Extensible = (*text => any)
+
+js-int = -9007199254740991..9007199254740991
+js-uint = 0..9007199254740991
+
+ErrorCode = "invalid argument" /
+"invalid selector" /
+"invalid session id" /
+"invalid web extension" /
+"move target out of bounds" /
+"no such alert" /
+"no such element" /
+"no such frame" /
+"no such handle" /
+"no such history entry" /
+"no such intercept" /
+"no such node" /
+"no such request" /
+"no such script" /
+"no such storage partition" /
+"no such user context" /
+"no such web extension" /
+"session not created" /
+"unable to capture screen" /
+"unable to close browser" /
+"unable to set cookie" /
+"unable to set file input" /
+"underspecified storage partition" /
+"unknown command" /
+"unknown error" /
+"unsupported operation"
+
+SessionResult = (
+ session.NewResult /
+ session.StatusResult
+)
+
+session.CapabilitiesRequest = {
+ ? alwaysMatch: session.CapabilityRequest,
+ ? firstMatch: [*session.CapabilityRequest]
+}
+
+session.CapabilityRequest = {
+ ? acceptInsecureCerts: bool,
+ ? browserName: text,
+ ? browserVersion: text,
+ ? platformName: text,
+ ? proxy: session.ProxyConfiguration,
+ ? unhandledPromptBehavior: session.UserPromptHandler,
+ Extensible
+};
+
+session.ProxyConfiguration = {
+ session.AutodetectProxyConfiguration //
+ session.DirectProxyConfiguration //
+ session.ManualProxyConfiguration //
+ session.PacProxyConfiguration //
+ session.SystemProxyConfiguration //
+}
+
+session.AutodetectProxyConfiguration = (
+ proxyType: "autodetect",
+ Extensible
+)
+
+session.DirectProxyConfiguration = (
+ proxyType: "direct",
+ Extensible
+)
+
+session.ManualProxyConfiguration = (
+ proxyType: "manual",
+ ? ftpProxy: text,
+ ? httpProxy: text,
+ ? sslProxy: text,
+ ? session.SocksProxyConfiguration,
+ ? noProxy: [*text],
+ Extensible
+)
+
+session.SocksProxyConfiguration = (
+ socksProxy: text,
+ socksVersion: 0..255,
+)
+
+session.PacProxyConfiguration = (
+ proxyType: "pac",
+ proxyAutoconfigUrl: text,
+ Extensible
+)
+
+session.SystemProxyConfiguration = (
+ proxyType: "system"
+ Extensible
+)
+
+session.UserPromptHandler = {
+ ? alert: session.UserPromptHandlerType,
+ ? beforeUnload: session.UserPromptHandlerType,
+ ? confirm: session.UserPromptHandlerType,
+ ? default: session.UserPromptHandlerType,
+ ? prompt: session.UserPromptHandlerType,
+};
+
+session.UserPromptHandlerType = "accept" / "dismiss" / "ignore";
+
+session.StatusResult = {
+ ready: bool,
+ message: text,
+}
+
+session.NewResult = {
+ sessionId: text,
+ capabilities: {
+ acceptInsecureCerts: bool,
+ browserName: text,
+ browserVersion: text,
+ platformName: text,
+ setWindowRect: bool,
+ userAgent: text,
+ ? proxy: session.ProxyConfiguration,
+ ? unhandledPromptBehavior: session.UserPromptHandler,
+ ? webSocketUrl: text,
+ Extensible
+ }
+}
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+BrowserResult = (
+ browser.CreateUserContextResult /
+ browser.GetUserContextsResult
+)
+
+browser.ClientWindow = text;
+
+browser.ClientWindowInfo = {
+ active: bool,
+ clientWindow: browser.ClientWindow,
+ height: js-uint,
+ state: "fullscreen" / "maximized" / "minimized" / "normal",
+ width: js-uint,
+ x: js-int,
+ y: js-int,
+}
+
+browser.UserContext = text;
+
+browser.UserContextInfo = {
+ userContext: browser.UserContext
+}
+
+EmptyResult
+
+browser.CreateUserContextResult = browser.UserContextInfo
+
+browser.GetClientWindowsResult = {
+ clientWindows: [ * browser.ClientWindowInfo]
+}
+
+browser.GetUserContextsResult = {
+ userContexts: [ + browser.UserContextInfo]
+}
+
+EmptyResult
+
+browser.ClientWindowInfo
+
+BrowsingContextResult = (
+ browsingContext.CaptureScreenshotResult /
+ browsingContext.CreateResult /
+ browsingContext.GetTreeResult /
+ browsingContext.LocateNodesResult /
+ browsingContext.NavigateResult /
+ browsingContext.PrintResult /
+ browsingContext.TraverseHistoryResult
+)
+
+BrowsingContextEvent = (
+ browsingContext.ContextCreated //
+ browsingContext.ContextDestroyed //
+ browsingContext.DomContentLoaded //
+ browsingContext.DownloadWillBegin //
+ browsingContext.FragmentNavigated //
+ browsingContext.HistoryUpdated //
+ browsingContext.Load //
+ browsingContext.NavigationAborted //
+ browsingContext.NavigationFailed //
+ browsingContext.NavigationStarted //
+ browsingContext.UserPromptClosed //
+ browsingContext.UserPromptOpened
+)
+
+browsingContext.BrowsingContext = text;
+
+browsingContext.InfoList = [*browsingContext.Info]
+
+browsingContext.Info = {
+ children: browsingContext.InfoList / null,
+ clientWindow: browser.ClientWindow,
+ context: browsingContext.BrowsingContext,
+ originalOpener: browsingContext.BrowsingContext / null,
+ url: text,
+ userContext: browser.UserContext,
+ ? parent: browsingContext.BrowsingContext / null,
+}
+
+browsingContext.Locator = (
+ browsingContext.AccessibilityLocator /
+ browsingContext.CssLocator /
+ browsingContext.InnerTextLocator /
+ browsingContext.XPathLocator
+)
+
+browsingContext.AccessibilityLocator = {
+ type: "accessibility",
+ value: {
+ ? name: text,
+ ? role: text,
+ }
+}
+
+browsingContext.CssLocator = {
+ type: "css",
+ value: text
+}
+
+browsingContext.InnerTextLocator = {
+ type: "innerText",
+ value: text,
+ ? ignoreCase: bool
+ ? matchType: "full" / "partial",
+ ? maxDepth: js-uint,
+}
+
+browsingContext.XPathLocator = {
+ type: "xpath",
+ value: text
+}
+
+browsingContext.Navigation = text;
+
+browsingContext.NavigationInfo = {
+ context: browsingContext.BrowsingContext,
+ navigation: browsingContext.Navigation / null,
+ timestamp: js-uint,
+ url: text,
+}
+
+browsingContext.UserPromptType = "alert" / "beforeunload" / "confirm" / "prompt";
+
+EmptyResult
+
+browsingContext.CaptureScreenshotResult = {
+ data: text
+}
+
+EmptyResult
+
+browsingContext.CreateResult = {
+ context: browsingContext.BrowsingContext
+}
+
+browsingContext.GetTreeResult = {
+ contexts: browsingContext.InfoList
+}
+
+EmptyResult
+
+browsingContext.LocateNodesResult = {
+ nodes: [ * script.NodeRemoteValue ]
+}
+
+browsingContext.NavigateResult = {
+ navigation: browsingContext.Navigation / null,
+ url: text,
+}
+
+browsingContext.PrintResult = {
+ data: text
+}
+
+browsingContext.NavigateResult
+
+EmptyResult
+
+browsingContext.TraverseHistoryResult = {
+}
+
+browsingContext.ContextCreated = (
+ method: "browsingContext.contextCreated",
+ params: browsingContext.Info
+)
+
+browsingContext.ContextDestroyed = (
+ method: "browsingContext.contextDestroyed",
+ params: browsingContext.Info
+)
+
+browsingContext.NavigationStarted = (
+ method: "browsingContext.navigationStarted",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.FragmentNavigated = (
+ method: "browsingContext.fragmentNavigated",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.HistoryUpdated = (
+ method: "browsingContext.historyUpdated",
+ params: browsingContext.HistoryUpdatedParameters
+)
+
+browsingContext.HistoryUpdatedParameters = {
+ context: browsingContext.BrowsingContext,
+ url: text
+}
+
+browsingContext.DomContentLoaded = (
+ method: "browsingContext.domContentLoaded",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.Load = (
+ method: "browsingContext.load",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.DownloadWillBegin = (
+ method: "browsingContext.downloadWillBegin",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.NavigationAborted = (
+ method: "browsingContext.navigationAborted",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.NavigationFailed = (
+ method: "browsingContext.navigationFailed",
+ params: browsingContext.NavigationInfo
+)
+
+browsingContext.UserPromptClosed = (
+ method: "browsingContext.userPromptClosed",
+ params: browsingContext.UserPromptClosedParameters
+)
+
+browsingContext.UserPromptClosedParameters = {
+ context: browsingContext.BrowsingContext,
+ accepted: bool,
+ type: browsingContext.UserPromptType,
+ ? userText: text
+}
+
+browsingContext.UserPromptOpened = (
+ method: "browsingContext.userPromptOpened",
+ params: browsingContext.UserPromptOpenedParameters
+)
+
+browsingContext.UserPromptOpenedParameters = {
+ context: browsingContext.BrowsingContext,
+ handler: session.UserPromptHandlerType,
+ message: text,
+ type: browsingContext.UserPromptType,
+ ? defaultValue: text
+}
+
+NetworkResult = (
+ network.AddInterceptResult
+)
+
+NetworkEvent = (
+ network.AuthRequired //
+ network.BeforeRequestSent //
+ network.FetchError //
+ network.ResponseCompleted //
+ network.ResponseStarted
+)
+
+network.AuthChallenge = {
+ scheme: text,
+ realm: text,
+}
+
+network.BaseParameters = (
+ context: browsingContext.BrowsingContext / null,
+ isBlocked: bool,
+ navigation: browsingContext.Navigation / null,
+ redirectCount: js-uint,
+ request: network.RequestData,
+ timestamp: js-uint,
+ ? intercepts: [+network.Intercept]
+)
+
+network.BytesValue = network.StringValue / network.Base64Value;
+
+network.StringValue = {
+ type: "string",
+ value: text,
+}
+
+network.Base64Value = {
+ type: "base64",
+ value: text,
+}
+
+network.SameSite = "strict" / "lax" / "none"
+
+network.Cookie = {
+ name: text,
+ value: network.BytesValue,
+ domain: text,
+ path: text,
+ size: js-uint,
+ httpOnly: bool,
+ secure: bool,
+ sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+};
+
+network.FetchTimingInfo = {
+ timeOrigin: float,
+ requestTime: float,
+ redirectStart: float,
+ redirectEnd: float,
+ fetchStart: float,
+ dnsStart: float,
+ dnsEnd: float,
+ connectStart: float,
+ connectEnd: float,
+ tlsStart: float,
+ requestStart: float,
+ responseStart: float,
+ responseEnd: float,
+};
+
+network.Header = {
+ name: text,
+ value: network.BytesValue,
+}
+
+network.Initiator = {
+ ? columnNumber: js-uint,
+ ? lineNumber: js-uint,
+ ? request: network.Request,
+ ? stackTrace: script.StackTrace,
+ ? type: "parser" / "script" / "preflight" / "other"
+};
+
+network.Intercept = text
+
+network.Request = text;
+
+network.RequestData = {
+ request: network.Request,
+ url: text,
+ method: text,
+ headers: [*network.Header],
+ cookies: [*network.Cookie],
+ headersSize: js-uint,
+ bodySize: js-uint / null,
+ destination: text,
+ initiatorType: text / null,
+ timings: network.FetchTimingInfo,
+};
+
+network.ResponseContent = {
+ size: js-uint
+};
+
+network.ResponseData = {
+ url: text,
+ protocol: text,
+ status: js-uint,
+ statusText: text,
+ fromCache: bool,
+ headers: [*network.Header],
+ mimeType: text,
+ bytesReceived: js-uint,
+ headersSize: js-uint / null,
+ bodySize: js-uint / null,
+ content: network.ResponseContent,
+ ?authChallenges: [*network.AuthChallenge],
+};
+
+network.AddInterceptResult = {
+ intercept: network.Intercept
+}
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+network.AuthRequired = (
+ method: "network.authRequired",
+ params: network.AuthRequiredParameters
+)
+
+network.AuthRequiredParameters = {
+ network.BaseParameters,
+ response: network.ResponseData
+}
+
+EmptyResult
+
+network.BeforeRequestSent = (
+ method: "network.beforeRequestSent",
+ params: network.BeforeRequestSentParameters
+ )
+
+network.BeforeRequestSentParameters = {
+ network.BaseParameters,
+ ? initiator: network.Initiator,
+}
+
+network.FetchError = (
+ method: "network.fetchError",
+ params: network.FetchErrorParameters
+ )
+
+network.FetchErrorParameters = {
+ network.BaseParameters,
+ errorText: text,
+}
+
+network.ResponseCompleted = (
+ method: "network.responseCompleted",
+ params: network.ResponseCompletedParameters
+ )
+
+network.ResponseCompletedParameters = {
+ network.BaseParameters,
+ response: network.ResponseData,
+}
+
+network.ResponseStarted = (
+ method: "network.responseStarted",
+ params: network.ResponseStartedParameters
+ )
+
+network.ResponseStartedParameters = {
+ network.BaseParameters,
+ response: network.ResponseData,
+}
+
+ScriptResult = (
+ script.AddPreloadScriptResult /
+ script.EvaluateResult /
+ script.GetRealmsResult
+)
+
+ScriptEvent = (
+ script.Message //
+ script.RealmCreated //
+ script.RealmDestroyed
+)
+
+script.Channel = text;
+
+script.ChannelValue = {
+ type: "channel",
+ value: script.ChannelProperties,
+};
+
+script.ChannelProperties = {
+ channel: script.Channel,
+ ? serializationOptions: script.SerializationOptions,
+ ? ownership: script.ResultOwnership,
+}
+
+script.EvaluateResult = (
+ script.EvaluateResultSuccess /
+ script.EvaluateResultException
+)
+
+script.EvaluateResultSuccess = {
+ type: "success",
+ result: script.RemoteValue,
+ realm: script.Realm
+}
+
+script.EvaluateResultException = {
+ type: "exception",
+ exceptionDetails: script.ExceptionDetails
+ realm: script.Realm
+}
+
+script.ExceptionDetails = {
+ columnNumber: js-uint,
+ exception: script.RemoteValue,
+ lineNumber: js-uint,
+ stackTrace: script.StackTrace,
+ text: text,
+};
+
+script.Handle = text;
+
+script.InternalId = text;
+
+script.LocalValue = (
+ script.RemoteReference /
+ script.PrimitiveProtocolValue /
+ script.ChannelValue /
+ script.ArrayLocalValue /
+ script.DateLocalValue /
+ script.MapLocalValue /
+ script.ObjectLocalValue /
+ script.RegExpLocalValue /
+ script.SetLocalValue
+)
+
+script.ListLocalValue = [*script.LocalValue];
+
+script.ArrayLocalValue = {
+ type: "array",
+ value: script.ListLocalValue,
+}
+
+script.DateLocalValue = {
+ type: "date",
+ value: text
+}
+
+script.MappingLocalValue = [*[(script.LocalValue / text), script.LocalValue]];
+
+script.MapLocalValue = {
+ type: "map",
+ value: script.MappingLocalValue,
+}
+
+script.ObjectLocalValue = {
+ type: "object",
+ value: script.MappingLocalValue,
+}
+
+script.RegExpValue = {
+ pattern: text,
+ ? flags: text,
+}
+
+script.RegExpLocalValue = {
+ type: "regexp",
+ value: script.RegExpValue,
+}
+
+script.SetLocalValue = {
+ type: "set",
+ value: script.ListLocalValue,
+}
+
+script.PreloadScript = text;
+
+script.Realm = text;
+
+script.PrimitiveProtocolValue = (
+ script.UndefinedValue /
+ script.NullValue /
+ script.StringValue /
+ script.NumberValue /
+ script.BooleanValue /
+ script.BigIntValue
+)
+
+script.UndefinedValue = {
+ type: "undefined",
+}
+
+script.NullValue = {
+ type: "null",
+}
+
+script.StringValue = {
+ type: "string",
+ value: text,
+}
+
+script.SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
+
+script.NumberValue = {
+ type: "number",
+ value: number / script.SpecialNumber,
+}
+
+script.BooleanValue = {
+ type: "boolean",
+ value: bool,
+}
+
+script.BigIntValue = {
+ type: "bigint",
+ value: text,
+}
+
+script.RealmInfo = (
+ script.WindowRealmInfo /
+ script.DedicatedWorkerRealmInfo /
+ script.SharedWorkerRealmInfo /
+ script.ServiceWorkerRealmInfo /
+ script.WorkerRealmInfo /
+ script.PaintWorkletRealmInfo /
+ script.AudioWorkletRealmInfo /
+ script.WorkletRealmInfo
+)
+
+script.BaseRealmInfo = (
+ realm: script.Realm,
+ origin: text
+)
+
+script.WindowRealmInfo = {
+ script.BaseRealmInfo,
+ type: "window",
+ context: browsingContext.BrowsingContext,
+ ? sandbox: text
+}
+
+script.DedicatedWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "dedicated-worker",
+ owners: [script.Realm]
+}
+
+script.SharedWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "shared-worker"
+}
+
+script.ServiceWorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "service-worker"
+}
+
+script.WorkerRealmInfo = {
+ script.BaseRealmInfo,
+ type: "worker"
+}
+
+script.PaintWorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "paint-worklet"
+}
+
+script.AudioWorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "audio-worklet"
+}
+
+script.WorkletRealmInfo = {
+ script.BaseRealmInfo,
+ type: "worklet"
+}
+
+script.RealmType = "window" / "dedicated-worker" / "shared-worker" / "service-worker" /
+"worker" / "paint-worklet" / "audio-worklet" / "worklet"
+
+script.RemoteReference = (
+ script.SharedReference /
+ script.RemoteObjectReference
+)
+
+script.SharedReference = {
+ sharedId: script.SharedId
+ ? handle: script.Handle,
+ Extensible
+}
+
+script.RemoteObjectReference = {
+ handle: script.Handle,
+ ? sharedId: script.SharedId
+ Extensible
+}
+
+script.RemoteValue = (
+ script.PrimitiveProtocolValue /
+ script.SymbolRemoteValue /
+ script.ArrayRemoteValue /
+ script.ObjectRemoteValue /
+ script.FunctionRemoteValue /
+ script.RegExpRemoteValue /
+ script.DateRemoteValue /
+ script.MapRemoteValue /
+ script.SetRemoteValue /
+ script.WeakMapRemoteValue /
+ script.WeakSetRemoteValue /
+ script.GeneratorRemoteValue /
+ script.ErrorRemoteValue /
+ script.ProxyRemoteValue /
+ script.PromiseRemoteValue /
+ script.TypedArrayRemoteValue /
+ script.ArrayBufferRemoteValue /
+ script.NodeListRemoteValue /
+ script.HTMLCollectionRemoteValue /
+ script.NodeRemoteValue /
+ script.WindowProxyRemoteValue
+)
+
+script.ListRemoteValue = [*script.RemoteValue];
+
+script.MappingRemoteValue = [*[(script.RemoteValue / text), script.RemoteValue]];
+
+script.SymbolRemoteValue = {
+ type: "symbol",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayRemoteValue = {
+ type: "array",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.ObjectRemoteValue = {
+ type: "object",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.FunctionRemoteValue = {
+ type: "function",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.RegExpRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.RegExpLocalValue
+
+script.DateRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.DateLocalValue
+
+script.MapRemoteValue = {
+ type: "map",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.SetRemoteValue = {
+ type: "set",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue
+}
+
+script.WeakMapRemoteValue = {
+ type: "weakmap",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.WeakSetRemoteValue = {
+ type: "weakset",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.GeneratorRemoteValue = {
+ type: "generator",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ErrorRemoteValue = {
+ type: "error",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ProxyRemoteValue = {
+ type: "proxy",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.PromiseRemoteValue = {
+ type: "promise",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.TypedArrayRemoteValue = {
+ type: "typedarray",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayBufferRemoteValue = {
+ type: "arraybuffer",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.NodeListRemoteValue = {
+ type: "nodelist",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.HTMLCollectionRemoteValue = {
+ type: "htmlcollection",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.NodeRemoteValue = {
+ type: "node",
+ ? sharedId: script.SharedId,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.NodeProperties,
+}
+
+script.NodeProperties = {
+ nodeType: js-uint,
+ childNodeCount: js-uint,
+ ? attributes: {*text => text},
+ ? children: [*script.NodeRemoteValue],
+ ? localName: text,
+ ? mode: "open" / "closed",
+ ? namespaceURI: text,
+ ? nodeValue: text,
+ ? shadowRoot: script.NodeRemoteValue / null,
+}
+
+script.WindowProxyRemoteValue = {
+ type: "window",
+ value: script.WindowProxyProperties,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId
+}
+
+script.WindowProxyProperties = {
+ context: browsingContext.BrowsingContext
+}
+
+script.ResultOwnership = "root" / "none"
+
+script.SerializationOptions = {
+ ? maxDomDepth: (js-uint / null) .default 0,
+ ? maxObjectDepth: (js-uint / null) .default null,
+ ? includeShadowTree: ("none" / "open" / "all") .default "none",
+}
+
+script.SharedId = text;
+
+script.StackFrame = {
+ columnNumber: js-uint,
+ functionName: text,
+ lineNumber: js-uint,
+ url: text,
+}
+
+script.StackTrace = {
+ callFrames: [*script.StackFrame],
+}
+
+script.Source = {
+ realm: script.Realm,
+ ? context: browsingContext.BrowsingContext
+}
+
+script.AddPreloadScriptResult = {
+ script: script.PreloadScript
+}
+
+EmptyResult
+
+script.EvaluateResult
+
+script.EvaluateResult
+
+script.GetRealmsResult = {
+ realms: [*script.RealmInfo]
+}
+
+EmptyResult
+
+script.Message = (
+ method: "script.message",
+ params: script.MessageParameters
+ )
+
+script.MessageParameters = {
+ channel: script.Channel,
+ data: script.RemoteValue,
+ source: script.Source,
+}
+
+script.RealmCreated = (
+ method: "script.realmCreated",
+ params: script.RealmInfo
+)
+
+script.RealmDestroyed = (
+ method: "script.realmDestroyed",
+ params: script.RealmDestroyedParameters
+)
+
+script.RealmDestroyedParameters = {
+ realm: script.Realm
+}
+
+StorageResult = (
+ storage.DeleteCookiesResult /
+ storage.GetCookiesResult /
+ storage.SetCookieResult
+)
+
+storage.PartitionKey = {
+ ? userContext: text,
+ ? sourceOrigin: text,
+ Extensible,
+}
+
+storage.GetCookiesResult = {
+ cookies: [*network.Cookie],
+ partitionKey: storage.PartitionKey,
+}
+
+storage.SetCookieResult = {
+ partitionKey: storage.PartitionKey
+}
+
+storage.DeleteCookiesResult = {
+ partitionKey: storage.PartitionKey
+}
+
+LogEvent = (
+ log.EntryAdded
+)
+
+log.Level = "debug" / "info" / "warn" / "error"
+
+log.Entry = (
+ log.GenericLogEntry /
+ log.ConsoleLogEntry /
+ log.JavascriptLogEntry
+)
+
+log.BaseLogEntry = (
+ level: log.Level,
+ source: script.Source,
+ text: text / null,
+ timestamp: js-uint,
+ ? stackTrace: script.StackTrace,
+)
+
+log.GenericLogEntry = {
+ log.BaseLogEntry,
+ type: text,
+}
+
+log.ConsoleLogEntry = {
+ log.BaseLogEntry,
+ type: "console",
+ method: text,
+ args: [*script.RemoteValue],
+}
+
+log.JavascriptLogEntry = {
+ log.BaseLogEntry,
+ type: "javascript",
+}
+
+log.EntryAdded = (
+ method: "log.entryAdded",
+ params: log.Entry,
+)
+
+EmptyResult
+
+EmptyResult
+
+EmptyResult
+
+WebExtensionResult = (
+ webExtension.InstallResult
+)
+
+webExtension.Extension = text
+
+webExtension.InstallResult = {
+ extension: webExtension.Extension
+}
diff --git a/ed/cddl/webdriver-bidi-remote.cddl b/ed/cddl/webdriver-bidi-remote.cddl
index ee3d940a2427..2ed6603504e1 100644
--- a/ed/cddl/webdriver-bidi-remote.cddl
+++ b/ed/cddl/webdriver-bidi-remote.cddl
@@ -3,4 +3,1427 @@
; (https://github.com/w3c/webref)
; Source: WebDriver BiDi (https://w3c.github.io/webdriver-bidi/)
-undefined
+Command = {
+ id: js-uint,
+ CommandData,
+ Extensible,
+}
+
+CommandData = (
+ BrowserCommand //
+ BrowsingContextCommand //
+ InputCommand //
+ NetworkCommand //
+ ScriptCommand //
+ SessionCommand //
+ StorageCommand //
+ WebExtensionCommand
+)
+
+EmptyParams = {
+ Extensible
+}
+
+Extensible = (*text => any)
+
+js-int = -9007199254740991..9007199254740991
+js-uint = 0..9007199254740991
+
+SessionCommand = (
+ session.End //
+ session.New //
+ session.Status //
+ session.Subscribe //
+ session.Unsubscribe
+)
+
+session.CapabilitiesRequest = {
+ ? alwaysMatch: session.CapabilityRequest,
+ ? firstMatch: [*session.CapabilityRequest]
+}
+
+session.CapabilityRequest = {
+ ? acceptInsecureCerts: bool,
+ ? browserName: text,
+ ? browserVersion: text,
+ ? platformName: text,
+ ? proxy: session.ProxyConfiguration,
+ ? unhandledPromptBehavior: session.UserPromptHandler,
+ Extensible
+};
+
+session.ProxyConfiguration = {
+ session.AutodetectProxyConfiguration //
+ session.DirectProxyConfiguration //
+ session.ManualProxyConfiguration //
+ session.PacProxyConfiguration //
+ session.SystemProxyConfiguration //
+}
+
+session.AutodetectProxyConfiguration = (
+ proxyType: "autodetect",
+ Extensible
+)
+
+session.DirectProxyConfiguration = (
+ proxyType: "direct",
+ Extensible
+)
+
+session.ManualProxyConfiguration = (
+ proxyType: "manual",
+ ? ftpProxy: text,
+ ? httpProxy: text,
+ ? sslProxy: text,
+ ? session.SocksProxyConfiguration,
+ ? noProxy: [*text],
+ Extensible
+)
+
+session.SocksProxyConfiguration = (
+ socksProxy: text,
+ socksVersion: 0..255,
+)
+
+session.PacProxyConfiguration = (
+ proxyType: "pac",
+ proxyAutoconfigUrl: text,
+ Extensible
+)
+
+session.SystemProxyConfiguration = (
+ proxyType: "system"
+ Extensible
+)
+
+session.UserPromptHandler = {
+ ? alert: session.UserPromptHandlerType,
+ ? beforeUnload: session.UserPromptHandlerType,
+ ? confirm: session.UserPromptHandlerType,
+ ? default: session.UserPromptHandlerType,
+ ? prompt: session.UserPromptHandlerType,
+};
+
+session.UserPromptHandlerType = "accept" / "dismiss" / "ignore";
+
+session.SubscriptionRequest = {
+ events: [+text],
+ ? contexts: [+browsingContext.BrowsingContext],
+}
+
+session.Status = (
+ method: "session.status",
+ params: EmptyParams,
+)
+
+session.New = (
+ method: "session.new",
+ params: session.NewParameters
+)
+
+session.NewParameters = {
+ capabilities: session.CapabilitiesRequest
+}
+
+session.End = (
+ method: "session.end",
+ params: EmptyParams
+)
+
+EmptyResult
+
+session.Subscribe = (
+ method: "session.subscribe",
+ params: session.SubscriptionRequest
+)
+
+EmptyResult
+
+session.Unsubscribe = (
+ method: "session.unsubscribe",
+ params: session.SubscriptionRequest
+)
+
+EmptyResult
+
+BrowserCommand = (
+ browser.Close //
+ browser.CreateUserContext //
+ browser.GetClientWindows //
+ browser.GetUserContexts //
+ browser.RemoveUserContext //
+ browser.SetClientWindowState //
+)
+
+browser.ClientWindow = text;
+
+browser.ClientWindowInfo = {
+ active: bool,
+ clientWindow: browser.ClientWindow,
+ height: js-uint,
+ state: "fullscreen" / "maximized" / "minimized" / "normal",
+ width: js-uint,
+ x: js-int,
+ y: js-int,
+}
+
+browser.UserContext = text;
+
+browser.UserContextInfo = {
+ userContext: browser.UserContext
+}
+
+browser.Close = (
+ method: "browser.close",
+ params: EmptyParams,
+)
+
+EmptyResult
+
+browser.CreateUserContext = (
+ method: "browser.createUserContext",
+ params: EmptyParams,
+)
+
+browser.GetClientWindows = (
+ method: "browser.getClientWindows",
+ params: EmptyParams,
+)
+
+browser.GetUserContexts = (
+ method: "browser.getUserContexts",
+ params: EmptyParams,
+)
+
+browser.RemoveUserContext = (
+ method: "browser.removeUserContext",
+ params: browser.RemoveUserContextParameters
+)
+
+browser.RemoveUserContextParameters = {
+ userContext: browser.UserContext
+}
+
+EmptyResult
+
+browser.SetClientWindowState = (
+ method: "browser.setClientWindowState",
+ params: browser.SetClientWindowStateParameters
+)
+
+browser.SetClientWindowStateParameters = {
+ clientWindow: browser.ClientWindow,
+ browser.ClientWindowNamedState // browser.ClientWindowRectState
+}
+
+browser.ClientWindowNamedState = (
+ state: "fullscreen" / "maximized" / "minimized"
+)
+
+browser.ClientWindowRectState = (
+ state: "normal",
+ ? width: js-uint,
+ ? height: js-uint,
+ ? x: js-int,
+ ? y: js-int,
+)
+
+browser.ClientWindowInfo
+
+BrowsingContextCommand = (
+ browsingContext.Activate //
+ browsingContext.CaptureScreenshot //
+ browsingContext.Close //
+ browsingContext.Create //
+ browsingContext.GetTree //
+ browsingContext.HandleUserPrompt //
+ browsingContext.LocateNodes //
+ browsingContext.Navigate //
+ browsingContext.Print //
+ browsingContext.Reload //
+ browsingContext.SetViewport //
+ browsingContext.TraverseHistory
+)
+
+browsingContext.BrowsingContext = text;
+
+browsingContext.Locator = (
+ browsingContext.AccessibilityLocator /
+ browsingContext.CssLocator /
+ browsingContext.InnerTextLocator /
+ browsingContext.XPathLocator
+)
+
+browsingContext.AccessibilityLocator = {
+ type: "accessibility",
+ value: {
+ ? name: text,
+ ? role: text,
+ }
+}
+
+browsingContext.CssLocator = {
+ type: "css",
+ value: text
+}
+
+browsingContext.InnerTextLocator = {
+ type: "innerText",
+ value: text,
+ ? ignoreCase: bool
+ ? matchType: "full" / "partial",
+ ? maxDepth: js-uint,
+}
+
+browsingContext.XPathLocator = {
+ type: "xpath",
+ value: text
+}
+
+browsingContext.Navigation = text;
+
+browsingContext.ReadinessState = "none" / "interactive" / "complete"
+
+browsingContext.UserPromptType = "alert" / "beforeunload" / "confirm" / "prompt";
+
+browsingContext.Activate = (
+ method: "browsingContext.activate",
+ params: browsingContext.ActivateParameters
+)
+
+browsingContext.ActivateParameters = {
+ context: browsingContext.BrowsingContext
+}
+
+EmptyResult
+
+browsingContext.CaptureScreenshot = (
+ method: "browsingContext.captureScreenshot",
+ params: browsingContext.CaptureScreenshotParameters
+)
+
+browsingContext.CaptureScreenshotParameters = {
+ context: browsingContext.BrowsingContext,
+ ? origin: ("viewport" / "document") .default "viewport",
+ ? format: browsingContext.ImageFormat,
+ ? clip: browsingContext.ClipRectangle,
+}
+
+browsingContext.ImageFormat = {
+ type: text,
+ ? quality: 0.0..1.0,
+}
+
+browsingContext.ClipRectangle = (
+ browsingContext.BoxClipRectangle /
+ browsingContext.ElementClipRectangle
+)
+
+browsingContext.ElementClipRectangle = {
+ type: "element",
+ element: script.SharedReference
+}
+
+browsingContext.BoxClipRectangle = {
+ type: "box",
+ x: float,
+ y: float,
+ width: float,
+ height: float
+}
+
+browsingContext.Close = (
+ method: "browsingContext.close",
+ params: browsingContext.CloseParameters
+)
+
+browsingContext.CloseParameters = {
+ context: browsingContext.BrowsingContext,
+ ? promptUnload: bool .default false
+}
+
+EmptyResult
+
+browsingContext.Create = (
+ method: "browsingContext.create",
+ params: browsingContext.CreateParameters
+)
+
+browsingContext.CreateType = "tab" / "window"
+
+browsingContext.CreateParameters = {
+ type: browsingContext.CreateType,
+ ? referenceContext: browsingContext.BrowsingContext,
+ ? background: bool .default false,
+ ? userContext: browser.UserContext
+}
+
+browsingContext.GetTree = (
+ method: "browsingContext.getTree",
+ params: browsingContext.GetTreeParameters
+)
+
+browsingContext.GetTreeParameters = {
+ ? maxDepth: js-uint,
+ ? root: browsingContext.BrowsingContext,
+}
+
+browsingContext.HandleUserPrompt = (
+ method: "browsingContext.handleUserPrompt",
+ params: browsingContext.HandleUserPromptParameters
+)
+
+browsingContext.HandleUserPromptParameters = {
+ context: browsingContext.BrowsingContext,
+ ? accept: bool,
+ ? userText: text,
+}
+
+EmptyResult
+
+browsingContext.LocateNodes = (
+ method: "browsingContext.locateNodes",
+ params: browsingContext.LocateNodesParameters
+)
+
+browsingContext.LocateNodesParameters = {
+ context: browsingContext.BrowsingContext,
+ locator: browsingContext.Locator,
+ ? maxNodeCount: (js-uint .ge 1),
+ ? serializationOptions: script.SerializationOptions,
+ ? startNodes: [ + script.SharedReference ]
+}
+
+browsingContext.Navigate = (
+ method: "browsingContext.navigate",
+ params: browsingContext.NavigateParameters
+)
+
+browsingContext.NavigateParameters = {
+ context: browsingContext.BrowsingContext,
+ url: text,
+ ? wait: browsingContext.ReadinessState,
+}
+
+browsingContext.Print = (
+ method: "browsingContext.print",
+ params: browsingContext.PrintParameters
+)
+
+browsingContext.PrintParameters = {
+ context: browsingContext.BrowsingContext,
+ ? background: bool .default false,
+ ? margin: browsingContext.PrintMarginParameters,
+ ? orientation: ("portrait" / "landscape") .default "portrait",
+ ? page: browsingContext.PrintPageParameters,
+ ? pageRanges: [*(js-uint / text)],
+ ? scale: (0.1..2.0) .default 1.0,
+ ? shrinkToFit: bool .default true,
+}
+
+browsingContext.PrintMarginParameters = {
+ ? bottom: (float .ge 0.0) .default 1.0,
+ ? left: (float .ge 0.0) .default 1.0,
+ ? right: (float .ge 0.0) .default 1.0,
+ ? top: (float .ge 0.0) .default 1.0,
+}
+
+; Minimum size is 1pt x 1pt. Conversion follows from
+; https://www.w3.org/TR/css3-values/#absolute-lengths
+browsingContext.PrintPageParameters = {
+ ? height: (float .ge 0.0352) .default 27.94,
+ ? width: (float .ge 0.0352) .default 21.59,
+}
+
+browsingContext.Reload = (
+ method: "browsingContext.reload",
+ params: browsingContext.ReloadParameters
+)
+
+browsingContext.ReloadParameters = {
+ context: browsingContext.BrowsingContext,
+ ? ignoreCache: bool,
+ ? wait: browsingContext.ReadinessState,
+}
+
+browsingContext.NavigateResult
+
+browsingContext.SetViewport = (
+ method: "browsingContext.setViewport",
+ params: browsingContext.SetViewportParameters
+)
+
+browsingContext.SetViewportParameters = {
+ context: browsingContext.BrowsingContext,
+ ? viewport: browsingContext.Viewport / null,
+ ? devicePixelRatio: (float .gt 0.0) / null,
+}
+
+browsingContext.Viewport = {
+ width: js-uint,
+ height: js-uint,
+}
+
+EmptyResult
+
+browsingContext.TraverseHistory = (
+ method: "browsingContext.traverseHistory",
+ params: browsingContext.TraverseHistoryParameters
+)
+
+browsingContext.TraverseHistoryParameters = {
+ context: browsingContext.BrowsingContext,
+ delta: js-int,
+}
+
+NetworkCommand = (
+ network.AddIntercept //
+ network.ContinueRequest //
+ network.ContinueResponse //
+ network.ContinueWithAuth //
+ network.FailRequest //
+ network.ProvideResponse //
+ network.RemoveIntercept //
+ network.SetCacheBehavior
+)
+
+network.AuthCredentials = {
+ type: "password",
+ username: text,
+ password: text,
+}
+
+network.BytesValue = network.StringValue / network.Base64Value;
+
+network.StringValue = {
+ type: "string",
+ value: text,
+}
+
+network.Base64Value = {
+ type: "base64",
+ value: text,
+}
+
+network.SameSite = "strict" / "lax" / "none"
+
+network.Cookie = {
+ name: text,
+ value: network.BytesValue,
+ domain: text,
+ path: text,
+ size: js-uint,
+ httpOnly: bool,
+ secure: bool,
+ sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+};
+
+network.CookieHeader = {
+ name: text,
+ value: network.BytesValue,
+};
+
+network.Header = {
+ name: text,
+ value: network.BytesValue,
+}
+
+network.Intercept = text
+
+network.Request = text;
+
+network.SetCookieHeader = {
+ name: text,
+ value: network.BytesValue,
+ ? domain: text,
+ ? httpOnly: bool,
+ ? expiry: text,
+ ? maxAge: js-int,
+ ? path: text,
+ ? sameSite: network.SameSite,
+ ? secure: bool,
+}
+
+network.UrlPattern = (
+ network.UrlPatternPattern /
+ network.UrlPatternString
+)
+
+network.UrlPatternPattern = {
+ type: "pattern",
+ ?protocol: text,
+ ?hostname: text,
+ ?port: text,
+ ?pathname: text,
+ ?search: text,
+}
+
+network.UrlPatternString = {
+ type: "string",
+ pattern: text,
+}
+
+network.AddIntercept = (
+ method: "network.addIntercept",
+ params: network.AddInterceptParameters
+)
+
+network.AddInterceptParameters = {
+ phases: [+network.InterceptPhase],
+ ? contexts: [+browsingContext.BrowsingContext],
+ ? urlPatterns: [*network.UrlPattern],
+}
+
+network.InterceptPhase = "beforeRequestSent" / "responseStarted" /
+ "authRequired"
+
+network.ContinueRequest = (
+ method: "network.continueRequest",
+ params: network.ContinueRequestParameters
+)
+
+network.ContinueRequestParameters = {
+ request: network.Request,
+ ?body: network.BytesValue,
+ ?cookies: [*network.CookieHeader],
+ ?headers: [*network.Header],
+ ?method: text,
+ ?url: text,
+}
+
+EmptyResult
+
+network.ContinueResponse = (
+ method: "network.continueResponse",
+ params: network.ContinueResponseParameters
+)
+
+network.ContinueResponseParameters = {
+ request: network.Request,
+ ?cookies: [*network.SetCookieHeader]
+ ?credentials: network.AuthCredentials,
+ ?headers: [*network.Header],
+ ?reasonPhrase: text,
+ ?statusCode: js-uint,
+}
+
+EmptyResult
+
+network.ContinueWithAuth = (
+ method: "network.continueWithAuth",
+ params: network.ContinueWithAuthParameters
+)
+
+network.ContinueWithAuthParameters = {
+ request: network.Request,
+ (network.ContinueWithAuthCredentials // network.ContinueWithAuthNoCredentials)
+}
+
+network.ContinueWithAuthCredentials = (
+ action: "provideCredentials",
+ credentials: network.AuthCredentials
+)
+
+network.ContinueWithAuthNoCredentials = (
+ action: "default" / "cancel"
+)
+
+EmptyResult
+
+network.FailRequest = (
+ method: "network.failRequest",
+ params: network.FailRequestParameters
+)
+
+network.FailRequestParameters = {
+ request: network.Request,
+}
+
+EmptyResult
+
+network.ProvideResponse = (
+ method: "network.provideResponse",
+ params: network.ProvideResponseParameters
+)
+
+network.ProvideResponseParameters = {
+ request: network.Request,
+ ?body: network.BytesValue,
+ ?cookies: [*network.SetCookieHeader],
+ ?headers: [*network.Header],
+ ?reasonPhrase: text,
+ ?statusCode: js-uint,
+}
+
+EmptyResult
+
+network.RemoveIntercept = (
+ method: "network.removeIntercept",
+ params: network.RemoveInterceptParameters
+)
+
+network.RemoveInterceptParameters = {
+ intercept: network.Intercept
+}
+
+EmptyResult
+
+network.SetCacheBehavior = (
+ method: "network.setCacheBehavior",
+ params: network.SetCacheBehaviorParameters
+)
+
+network.SetCacheBehaviorParameters = {
+ cacheBehavior: "default" / "bypass",
+ ? contexts: [+browsingContext.BrowsingContext]
+}
+
+EmptyResult
+
+EmptyResult
+
+ScriptCommand = (
+ script.AddPreloadScript //
+ script.CallFunction //
+ script.Disown //
+ script.Evaluate //
+ script.GetRealms //
+ script.RemovePreloadScript
+)
+
+script.Channel = text;
+
+script.ChannelValue = {
+ type: "channel",
+ value: script.ChannelProperties,
+};
+
+script.ChannelProperties = {
+ channel: script.Channel,
+ ? serializationOptions: script.SerializationOptions,
+ ? ownership: script.ResultOwnership,
+}
+
+script.EvaluateResult = (
+ script.EvaluateResultSuccess /
+ script.EvaluateResultException
+)
+
+script.EvaluateResultSuccess = {
+ type: "success",
+ result: script.RemoteValue,
+ realm: script.Realm
+}
+
+script.EvaluateResultException = {
+ type: "exception",
+ exceptionDetails: script.ExceptionDetails
+ realm: script.Realm
+}
+
+script.ExceptionDetails = {
+ columnNumber: js-uint,
+ exception: script.RemoteValue,
+ lineNumber: js-uint,
+ stackTrace: script.StackTrace,
+ text: text,
+};
+
+script.Handle = text;
+
+script.InternalId = text;
+
+script.LocalValue = (
+ script.RemoteReference /
+ script.PrimitiveProtocolValue /
+ script.ChannelValue /
+ script.ArrayLocalValue /
+ script.DateLocalValue /
+ script.MapLocalValue /
+ script.ObjectLocalValue /
+ script.RegExpLocalValue /
+ script.SetLocalValue
+)
+
+script.ListLocalValue = [*script.LocalValue];
+
+script.ArrayLocalValue = {
+ type: "array",
+ value: script.ListLocalValue,
+}
+
+script.DateLocalValue = {
+ type: "date",
+ value: text
+}
+
+script.MappingLocalValue = [*[(script.LocalValue / text), script.LocalValue]];
+
+script.MapLocalValue = {
+ type: "map",
+ value: script.MappingLocalValue,
+}
+
+script.ObjectLocalValue = {
+ type: "object",
+ value: script.MappingLocalValue,
+}
+
+script.RegExpValue = {
+ pattern: text,
+ ? flags: text,
+}
+
+script.RegExpLocalValue = {
+ type: "regexp",
+ value: script.RegExpValue,
+}
+
+script.SetLocalValue = {
+ type: "set",
+ value: script.ListLocalValue,
+}
+
+script.PreloadScript = text;
+
+script.Realm = text;
+
+script.PrimitiveProtocolValue = (
+ script.UndefinedValue /
+ script.NullValue /
+ script.StringValue /
+ script.NumberValue /
+ script.BooleanValue /
+ script.BigIntValue
+)
+
+script.UndefinedValue = {
+ type: "undefined",
+}
+
+script.NullValue = {
+ type: "null",
+}
+
+script.StringValue = {
+ type: "string",
+ value: text,
+}
+
+script.SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
+
+script.NumberValue = {
+ type: "number",
+ value: number / script.SpecialNumber,
+}
+
+script.BooleanValue = {
+ type: "boolean",
+ value: bool,
+}
+
+script.BigIntValue = {
+ type: "bigint",
+ value: text,
+}
+
+script.RealmType = "window" / "dedicated-worker" / "shared-worker" / "service-worker" /
+"worker" / "paint-worklet" / "audio-worklet" / "worklet"
+
+script.RemoteReference = (
+ script.SharedReference /
+ script.RemoteObjectReference
+)
+
+script.SharedReference = {
+ sharedId: script.SharedId
+ ? handle: script.Handle,
+ Extensible
+}
+
+script.RemoteObjectReference = {
+ handle: script.Handle,
+ ? sharedId: script.SharedId
+ Extensible
+}
+
+script.RemoteValue = (
+ script.PrimitiveProtocolValue /
+ script.SymbolRemoteValue /
+ script.ArrayRemoteValue /
+ script.ObjectRemoteValue /
+ script.FunctionRemoteValue /
+ script.RegExpRemoteValue /
+ script.DateRemoteValue /
+ script.MapRemoteValue /
+ script.SetRemoteValue /
+ script.WeakMapRemoteValue /
+ script.WeakSetRemoteValue /
+ script.GeneratorRemoteValue /
+ script.ErrorRemoteValue /
+ script.ProxyRemoteValue /
+ script.PromiseRemoteValue /
+ script.TypedArrayRemoteValue /
+ script.ArrayBufferRemoteValue /
+ script.NodeListRemoteValue /
+ script.HTMLCollectionRemoteValue /
+ script.NodeRemoteValue /
+ script.WindowProxyRemoteValue
+)
+
+script.ListRemoteValue = [*script.RemoteValue];
+
+script.MappingRemoteValue = [*[(script.RemoteValue / text), script.RemoteValue]];
+
+script.SymbolRemoteValue = {
+ type: "symbol",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayRemoteValue = {
+ type: "array",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.ObjectRemoteValue = {
+ type: "object",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.FunctionRemoteValue = {
+ type: "function",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.RegExpRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.RegExpLocalValue
+
+script.DateRemoteValue = {
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+} .and script.DateLocalValue
+
+script.MapRemoteValue = {
+ type: "map",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.MappingRemoteValue,
+}
+
+script.SetRemoteValue = {
+ type: "set",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue
+}
+
+script.WeakMapRemoteValue = {
+ type: "weakmap",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.WeakSetRemoteValue = {
+ type: "weakset",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.GeneratorRemoteValue = {
+ type: "generator",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ErrorRemoteValue = {
+ type: "error",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ProxyRemoteValue = {
+ type: "proxy",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.PromiseRemoteValue = {
+ type: "promise",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.TypedArrayRemoteValue = {
+ type: "typedarray",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.ArrayBufferRemoteValue = {
+ type: "arraybuffer",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+}
+
+script.NodeListRemoteValue = {
+ type: "nodelist",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.HTMLCollectionRemoteValue = {
+ type: "htmlcollection",
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.ListRemoteValue,
+}
+
+script.NodeRemoteValue = {
+ type: "node",
+ ? sharedId: script.SharedId,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId,
+ ? value: script.NodeProperties,
+}
+
+script.NodeProperties = {
+ nodeType: js-uint,
+ childNodeCount: js-uint,
+ ? attributes: {*text => text},
+ ? children: [*script.NodeRemoteValue],
+ ? localName: text,
+ ? mode: "open" / "closed",
+ ? namespaceURI: text,
+ ? nodeValue: text,
+ ? shadowRoot: script.NodeRemoteValue / null,
+}
+
+script.WindowProxyRemoteValue = {
+ type: "window",
+ value: script.WindowProxyProperties,
+ ? handle: script.Handle,
+ ? internalId: script.InternalId
+}
+
+script.WindowProxyProperties = {
+ context: browsingContext.BrowsingContext
+}
+
+script.ResultOwnership = "root" / "none"
+
+script.SerializationOptions = {
+ ? maxDomDepth: (js-uint / null) .default 0,
+ ? maxObjectDepth: (js-uint / null) .default null,
+ ? includeShadowTree: ("none" / "open" / "all") .default "none",
+}
+
+script.SharedId = text;
+
+script.StackFrame = {
+ columnNumber: js-uint,
+ functionName: text,
+ lineNumber: js-uint,
+ url: text,
+}
+
+script.StackTrace = {
+ callFrames: [*script.StackFrame],
+}
+
+script.RealmTarget = {
+ realm: script.Realm
+};
+
+script.ContextTarget = {
+ context: browsingContext.BrowsingContext,
+ ? sandbox: text
+}
+
+script.Target = (
+ script.ContextTarget /
+ script.RealmTarget
+);
+
+script.AddPreloadScript = (
+ method: "script.addPreloadScript",
+ params: script.AddPreloadScriptParameters
+)
+
+script.AddPreloadScriptParameters = {
+ functionDeclaration: text,
+ ? arguments: [*script.ChannelValue],
+ ? contexts: [+browsingContext.BrowsingContext],
+ ? sandbox: text
+}
+
+script.Disown = (
+ method: "script.disown",
+ params: script.DisownParameters
+)
+
+script.DisownParameters = {
+ handles: [*script.Handle]
+ target: script.Target;
+}
+
+EmptyResult
+
+script.CallFunction = (
+ method: "script.callFunction",
+ params: script.CallFunctionParameters
+)
+
+script.CallFunctionParameters = {
+ functionDeclaration: text,
+ awaitPromise: bool,
+ target: script.Target,
+ ? arguments: [*script.LocalValue],
+ ? resultOwnership: script.ResultOwnership,
+ ? serializationOptions: script.SerializationOptions,
+ ? this: script.LocalValue,
+ ? userActivation: bool .default false,
+}
+
+script.EvaluateResult
+
+script.Evaluate = (
+ method: "script.evaluate",
+ params: script.EvaluateParameters
+)
+
+script.EvaluateParameters = {
+ expression: text,
+ target: script.Target,
+ awaitPromise: bool,
+ ? resultOwnership: script.ResultOwnership,
+ ? serializationOptions: script.SerializationOptions,
+ ? userActivation: bool .default false,
+}
+
+script.EvaluateResult
+
+script.GetRealms = (
+ method: "script.getRealms",
+ params: script.GetRealmsParameters
+)
+
+script.GetRealmsParameters = {
+ ? context: browsingContext.BrowsingContext,
+ ? type: script.RealmType,
+}
+
+script.RemovePreloadScript = (
+ method: "script.removePreloadScript",
+ params: script.RemovePreloadScriptParameters
+)
+
+script.RemovePreloadScriptParameters = {
+ script: script.PreloadScript
+}
+
+EmptyResult
+
+StorageCommand = (
+ storage.DeleteCookies //
+ storage.GetCookies //
+ storage.SetCookie
+)
+
+storage.PartitionKey = {
+ ? userContext: text,
+ ? sourceOrigin: text,
+ Extensible,
+}
+
+storage.GetCookies = (
+ method: "storage.getCookies",
+ params: storage.GetCookiesParameters
+)
+
+storage.CookieFilter = {
+ ? name: text,
+ ? value: network.BytesValue,
+ ? domain: text,
+ ? path: text,
+ ? size: js-uint,
+ ? httpOnly: bool,
+ ? secure: bool,
+ ? sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+}
+
+storage.BrowsingContextPartitionDescriptor = {
+ type: "context",
+ context: browsingContext.BrowsingContext
+}
+
+storage.StorageKeyPartitionDescriptor = {
+ type: "storageKey",
+ ? userContext: text,
+ ? sourceOrigin: text,
+ Extensible,
+}
+
+storage.PartitionDescriptor = (
+ storage.BrowsingContextPartitionDescriptor /
+ storage.StorageKeyPartitionDescriptor
+)
+
+storage.GetCookiesParameters = {
+ ? filter: storage.CookieFilter,
+ ? partition: storage.PartitionDescriptor,
+}
+
+storage.SetCookie = (
+ method: "storage.setCookie",
+ params: storage.SetCookieParameters,
+)
+
+storage.PartialCookie = {
+ name: text,
+ value: network.BytesValue,
+ domain: text,
+ ? path: text,
+ ? httpOnly: bool,
+ ? secure: bool,
+ ? sameSite: network.SameSite,
+ ? expiry: js-uint,
+ Extensible,
+}
+
+storage.SetCookieParameters = {
+ cookie: storage.PartialCookie,
+ ? partition: storage.PartitionDescriptor,
+}
+
+storage.DeleteCookies = (
+ method: "storage.deleteCookies",
+ params: storage.DeleteCookiesParameters,
+)
+
+storage.DeleteCookiesParameters = {
+ ? filter: storage.CookieFilter,
+ ? partition: storage.PartitionDescriptor,
+}
+
+InputCommand = (
+ input.PerformActions //
+ input.ReleaseActions //
+ input.SetFiles
+)
+
+input.ElementOrigin = {
+ type: "element",
+ element: script.SharedReference
+}
+
+input.PerformActions = (
+ method: "input.performActions",
+ params: input.PerformActionsParameters
+)
+
+input.PerformActionsParameters = {
+ context: browsingContext.BrowsingContext,
+ actions: [*input.SourceActions]
+}
+
+input.SourceActions = (
+ input.NoneSourceActions /
+ input.KeySourceActions /
+ input.PointerSourceActions /
+ input.WheelSourceActions
+)
+
+input.NoneSourceActions = {
+ type: "none",
+ id: text,
+ actions: [*input.NoneSourceAction]
+}
+
+input.NoneSourceAction = input.PauseAction
+
+input.KeySourceActions = {
+ type: "key",
+ id: text,
+ actions: [*input.KeySourceAction]
+}
+
+input.KeySourceAction = (
+ input.PauseAction /
+ input.KeyDownAction /
+ input.KeyUpAction
+)
+
+input.PointerSourceActions = {
+ type: "pointer",
+ id: text,
+ ? parameters: input.PointerParameters,
+ actions: [*input.PointerSourceAction]
+}
+
+input.PointerType = "mouse" / "pen" / "touch"
+
+input.PointerParameters = {
+ ? pointerType: input.PointerType .default "mouse"
+}
+
+input.PointerSourceAction = (
+ input.PauseAction /
+ input.PointerDownAction /
+ input.PointerUpAction /
+ input.PointerMoveAction
+)
+
+input.WheelSourceActions = {
+ type: "wheel",
+ id: text,
+ actions: [*input.WheelSourceAction]
+}
+
+input.WheelSourceAction = (
+ input.PauseAction /
+ input.WheelScrollAction
+)
+
+input.PauseAction = {
+ type: "pause",
+ ? duration: js-uint
+}
+
+input.KeyDownAction = {
+ type: "keyDown",
+ value: text
+}
+
+input.KeyUpAction = {
+ type: "keyUp",
+ value: text
+}
+
+input.PointerUpAction = {
+ type: "pointerUp",
+ button: js-uint,
+}
+
+input.PointerDownAction = {
+ type: "pointerDown",
+ button: js-uint,
+ input.PointerCommonProperties
+}
+
+input.PointerMoveAction = {
+ type: "pointerMove",
+ x: js-int,
+ y: js-int,
+ ? duration: js-uint,
+ ? origin: input.Origin,
+ input.PointerCommonProperties
+}
+
+input.WheelScrollAction = {
+ type: "scroll",
+ x: js-int,
+ y: js-int,
+ deltaX: js-int,
+ deltaY: js-int,
+ ? duration: js-uint,
+ ? origin: input.Origin .default "viewport",
+}
+
+input.PointerCommonProperties = (
+ ? width: js-uint .default 1,
+ ? height: js-uint .default 1,
+ ? pressure: float .default 0.0,
+ ? tangentialPressure: float .default 0.0,
+ ? twist: (0..359) .default 0,
+ ; 0 .. Math.PI / 2
+ ? altitudeAngle: (0.0..1.5707963267948966) .default 0.0,
+ ; 0 .. 2 * Math.PI
+ ? azimuthAngle: (0.0..6.283185307179586) .default 0.0,
+)
+
+input.Origin = "viewport" / "pointer" / input.ElementOrigin
+
+EmptyResult
+
+input.ReleaseActions = (
+ method: "input.releaseActions",
+ params: input.ReleaseActionsParameters
+)
+
+input.ReleaseActionsParameters = {
+ context: browsingContext.BrowsingContext,
+}
+
+EmptyResult
+
+input.SetFiles = (
+ method: "input.setFiles",
+ params: input.SetFilesParameters
+)
+
+input.SetFilesParameters = {
+ context: browsingContext.BrowsingContext,
+ element: script.SharedReference,
+ files: [*text]
+}
+
+EmptyResult
+
+WebExtensionCommand = (
+ webExtension.Install //
+ webExtension.Uninstall
+)
+
+webExtension.Extension = text
+
+webExtension.Install = (
+ method: "webExtension.install",
+ params: webExtension.InstallParameters
+)
+
+webExtension.InstallParameters = {
+ extensionData: webExtension.ExtensionData,
+}
+
+webExtension.ExtensionData = (
+ webExtension.ExtensionArchivePath /
+ webExtension.ExtensionBase64Encoded /
+ webExtension.ExtensionPath
+)
+
+webExtension.ExtensionPath = {
+ type: "path",
+ path: text,
+}
+
+webExtension.ExtensionArchivePath = {
+ type: "archivePath",
+ path: text,
+}
+
+webExtension.ExtensionBase64Encoded = {
+ type: "base64",
+ value: text,
+}
+
+webExtension.Uninstall = (
+ method: "webExtension.uninstall",
+ params: webExtension.UninstallParameters
+)
+
+webExtension.UninstallParameters = {
+ extension: webExtension.Extension,
+}
diff --git a/ed/headings/vc-data-model-2.0.json b/ed/headings/vc-data-model-2.0.json
index 2c4b4025c700..983eb816f40e 100644
--- a/ed/headings/vc-data-model-2.0.json
+++ b/ed/headings/vc-data-model-2.0.json
@@ -115,26 +115,26 @@
"number": "4.4"
},
{
- "id": "sd-jwt-claim-aa2y71DDy4vbCdrjGxi7_98pVrMbRmQ9URWwQmbvCEM",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-aa2y71DDy4vbCdrjGxi7_98pVrMbRmQ9URWwQmbvCEM",
+ "id": "sd-jwt-claim-i4WrUenRruTnApseoge9B1m40PXG33lsl5uknwjqdXs",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-i4WrUenRruTnApseoge9B1m40PXG33lsl5uknwjqdXs",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-0YAmmuRdhLKQagbra1QgET_0SniMd9ErV9U0JlQWYHA",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-0YAmmuRdhLKQagbra1QgET_0SniMd9ErV9U0JlQWYHA",
+ "id": "sd-jwt-claim-Wi6Ct2G1f0op7dGv8kkalPM2wIdNctJAjD08lDyam7g",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-Wi6Ct2G1f0op7dGv8kkalPM2wIdNctJAjD08lDyam7g",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-DM-T3vTCAOwhYqyfLrtB4-oneVV_21hYIsJvFTV0uvg",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-DM-T3vTCAOwhYqyfLrtB4-oneVV_21hYIsJvFTV0uvg",
+ "id": "sd-jwt-claim-OzMXCaAUez0nRlykMVkez3hh_j5CLInVOwIymxFvQvo",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-OzMXCaAUez0nRlykMVkez3hh_j5CLInVOwIymxFvQvo",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-L9sstXg38gX3-Xm-hvnyNzhNkdPhvq0PnkhzyGLPFoY",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-L9sstXg38gX3-Xm-hvnyNzhNkdPhvq0PnkhzyGLPFoY",
+ "id": "sd-jwt-claim-kp7zkfS8H10yjnh9eG87_R20fh-3B7Bkdy0UFabeKpE",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-kp7zkfS8H10yjnh9eG87_R20fh-3B7Bkdy0UFabeKpE",
"level": 3,
"title": "Claim: type"
},
@@ -146,26 +146,26 @@
"number": "4.5"
},
{
- "id": "sd-jwt-claim-JhdXJ-Idp_KKRYxaa2k66FEfaWHFqNMPC3aBr0I3Y0M",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-JhdXJ-Idp_KKRYxaa2k66FEfaWHFqNMPC3aBr0I3Y0M",
+ "id": "sd-jwt-claim--ffAimDKXMEWEp5zNXyUxIgB_G2pAI7lUTrYydgk62o",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim--ffAimDKXMEWEp5zNXyUxIgB_G2pAI7lUTrYydgk62o",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-mi-WAKyj8qD4rrkSEc01_cs-LOAKdMKMcj0AyleHzI8",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-mi-WAKyj8qD4rrkSEc01_cs-LOAKdMKMcj0AyleHzI8",
+ "id": "sd-jwt-claim-fNMWLLrfgArorSbtqrw9HTnlVVfc6Aj3vvdMxPgCaMU",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-fNMWLLrfgArorSbtqrw9HTnlVVfc6Aj3vvdMxPgCaMU",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-UZnCiC-EnjHZjez21a1MM1uQ67c8dKYge82VT0D-SsE",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-UZnCiC-EnjHZjez21a1MM1uQ67c8dKYge82VT0D-SsE",
+ "id": "sd-jwt-claim-rF_rRw0L_AhaJ74MdBZ5WOPUKF37--Ir2YclsXUDV_E",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-rF_rRw0L_AhaJ74MdBZ5WOPUKF37--Ir2YclsXUDV_E",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-4Ep73W7sekMSZatEFqjrVPBMC82r1Akml7eI53sl790",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-4Ep73W7sekMSZatEFqjrVPBMC82r1Akml7eI53sl790",
+ "id": "sd-jwt-claim-MGrdZI6Q-eAHAvn8A0FxWULNxkeLEbfriQlbl5yEa1M",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-MGrdZI6Q-eAHAvn8A0FxWULNxkeLEbfriQlbl5yEa1M",
"level": 3,
"title": "Claim: type"
},
@@ -177,32 +177,32 @@
"number": "4.6"
},
{
- "id": "sd-jwt-claim-RxlY_gRq8Sz-USQauOqlJTroxMlqbwzZ9kN6mn-opC4",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-RxlY_gRq8Sz-USQauOqlJTroxMlqbwzZ9kN6mn-opC4",
+ "id": "sd-jwt-claim--V1Z_6eBSp_wvG0LT9AKrEfSrcMkNgb0n7gP6rDewXg",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim--V1Z_6eBSp_wvG0LT9AKrEfSrcMkNgb0n7gP6rDewXg",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-58lGQ5jif53DEpo5bsuyA3-PJsvgUcxL3ijJp_Q3ueY",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-58lGQ5jif53DEpo5bsuyA3-PJsvgUcxL3ijJp_Q3ueY",
+ "id": "sd-jwt-claim-XtWymXu64vzcI5y8scY0aG_yG83YzPAW8WwTnD2hlu0",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-XtWymXu64vzcI5y8scY0aG_yG83YzPAW8WwTnD2hlu0",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-NLImazD8zCwgBs8z1_8IJs3Bbbm-k8iJM3j7o18jzt4",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-NLImazD8zCwgBs8z1_8IJs3Bbbm-k8iJM3j7o18jzt4",
+ "id": "sd-jwt-claim-y5uC0xirZvgl-o_jhNjYhqBeWm4IWTMEL1VfHZL7QDI",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-y5uC0xirZvgl-o_jhNjYhqBeWm4IWTMEL1VfHZL7QDI",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-ltoNqohZ8TN3PuJ75ealiZkqP_SL1arUyu9CvEn_CjQ",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-ltoNqohZ8TN3PuJ75ealiZkqP_SL1arUyu9CvEn_CjQ",
+ "id": "sd-jwt-claim-xDKdPRqFg1_jWTV7D-cyhojd8ZCp0CtzvBceqw2CdCg",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-xDKdPRqFg1_jWTV7D-cyhojd8ZCp0CtzvBceqw2CdCg",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-eLaa0a8JzwULDYu2C_QHgMvz7GBvB21OlwkYHFVnrsw",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-eLaa0a8JzwULDYu2C_QHgMvz7GBvB21OlwkYHFVnrsw",
+ "id": "sd-jwt-claim-eJ_TkZXSSWS70Axr9lyDqqWcyw3nVYKgqjJGUw_n-VQ",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-eJ_TkZXSSWS70Axr9lyDqqWcyw3nVYKgqjJGUw_n-VQ",
"level": 3,
"title": "Claim: type"
},
@@ -214,56 +214,56 @@
"number": "4.7"
},
{
- "id": "sd-jwt-claim-HXE2uon34E1-ubCNHpVaDtjvkQwNdRRVsGjdMUUjRBs",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-HXE2uon34E1-ubCNHpVaDtjvkQwNdRRVsGjdMUUjRBs",
+ "id": "sd-jwt-claim-rA-jJckavdk9nXBHMxlNE8HHhvobiwHJ4O7lnQn5k_Q",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-rA-jJckavdk9nXBHMxlNE8HHhvobiwHJ4O7lnQn5k_Q",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-sWoDbQM_ZtS2d_AZNID5K3Y4S5VB1RnS8KlQzj4WNYU",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-sWoDbQM_ZtS2d_AZNID5K3Y4S5VB1RnS8KlQzj4WNYU",
+ "id": "sd-jwt-claim-VXOgbsFcMxIYYUCkew8qVoCrLyWq_IvTpTV2c8LFAbc",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-VXOgbsFcMxIYYUCkew8qVoCrLyWq_IvTpTV2c8LFAbc",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-S4gFXxdwN5pwnSnzIXn3tJyVbavIQQhGXmVY-LR7vy4",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-S4gFXxdwN5pwnSnzIXn3tJyVbavIQQhGXmVY-LR7vy4",
+ "id": "sd-jwt-claim-qBb6er8oS8BEd6sHYUUcmIxpZbCthPtrAPWvl5zGvEk",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-qBb6er8oS8BEd6sHYUUcmIxpZbCthPtrAPWvl5zGvEk",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-AQHRG4dPhSVh3_dNoBUSgH7KNygIhgHl2XqEI_Tbt1Y",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-AQHRG4dPhSVh3_dNoBUSgH7KNygIhgHl2XqEI_Tbt1Y",
+ "id": "sd-jwt-claim-vJgcKEf175XOHfp95EDkaWWeI0TcalLVN75FpcITVEQ",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-vJgcKEf175XOHfp95EDkaWWeI0TcalLVN75FpcITVEQ",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-B9dJtwUKw6GPhJWaXRcYJBOsCN1RlXyg5PGb4JDiJbk",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-B9dJtwUKw6GPhJWaXRcYJBOsCN1RlXyg5PGb4JDiJbk",
+ "id": "sd-jwt-claim-FYG74tya1QUZnNnvN0MzXqscZnRhrfTi5KuAKSXIDNw",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-FYG74tya1QUZnNnvN0MzXqscZnRhrfTi5KuAKSXIDNw",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-cRwyKcEke2yXCQpRHHkTs2hJWo3dAvhSR5c9lAc68wk",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cRwyKcEke2yXCQpRHHkTs2hJWo3dAvhSR5c9lAc68wk",
+ "id": "sd-jwt-claim-bzSwrDnxzjkLfIn3sSQNN-QJfvEAVF79Drm0yUY5Qxo",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-bzSwrDnxzjkLfIn3sSQNN-QJfvEAVF79Drm0yUY5Qxo",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-URvDaP7s3K6R5R7wLfufzhDUnjX0p49lmreJMxchOHQ",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-URvDaP7s3K6R5R7wLfufzhDUnjX0p49lmreJMxchOHQ",
+ "id": "sd-jwt-claim--8UQgBzciADPq1c-1HYtg4zcdqBCMfs9YGhPwIdGpg8",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim--8UQgBzciADPq1c-1HYtg4zcdqBCMfs9YGhPwIdGpg8",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-b4MXfnWnF-EOgnsW6LhWupEViKv5FlopiuDYoibsa50",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-b4MXfnWnF-EOgnsW6LhWupEViKv5FlopiuDYoibsa50",
+ "id": "sd-jwt-claim-tafWyHO6sOX_ENKSnW8Vec9H-9xpv2_F05ID66la9hE",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-tafWyHO6sOX_ENKSnW8Vec9H-9xpv2_F05ID66la9hE",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-1X7ThBxuE_U8OPt48pfMV2gA3Mf4WCT3H4BmYll2jRc",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-1X7ThBxuE_U8OPt48pfMV2gA3Mf4WCT3H4BmYll2jRc",
+ "id": "sd-jwt-claim-5NfVN0qHRtjrBIbbGRA6LOINCh5EkoamAi_BOUcRBYA",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5NfVN0qHRtjrBIbbGRA6LOINCh5EkoamAi_BOUcRBYA",
"level": 3,
"title": "Claim: type"
},
@@ -275,26 +275,26 @@
"number": "4.8"
},
{
- "id": "sd-jwt-claim-P-MP4oEsTNHV09tOqLdu1N4kZJGwfMafqKOIQLpuvlk",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-P-MP4oEsTNHV09tOqLdu1N4kZJGwfMafqKOIQLpuvlk",
+ "id": "sd-jwt-claim-507qT--2Fw7HijNVuKk54WSKIWYrSAo-iYv3F97gQcI",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-507qT--2Fw7HijNVuKk54WSKIWYrSAo-iYv3F97gQcI",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-LN08vO5hhuKJBcCp_-RghaYf9aSVkJLKEV_V3xdqSqU",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-LN08vO5hhuKJBcCp_-RghaYf9aSVkJLKEV_V3xdqSqU",
+ "id": "sd-jwt-claim-MQLWpxEqdk4PRUpH7VCOhMGbpF3CqiKO9UW4YqNDYXQ",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-MQLWpxEqdk4PRUpH7VCOhMGbpF3CqiKO9UW4YqNDYXQ",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-K44kcSTeBIQym2FxVmgeJK19lLDZi62BhYo4_c7jldU",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-K44kcSTeBIQym2FxVmgeJK19lLDZi62BhYo4_c7jldU",
+ "id": "sd-jwt-claim-3oBGlgqihTpDyOxDZCv0BgIIA9PrdP72r2FTaWwpqFc",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-3oBGlgqihTpDyOxDZCv0BgIIA9PrdP72r2FTaWwpqFc",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-cNoUvH0VwV0afjrAv8twIH3Zggw37ZrlNfvq8ENwvn8",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cNoUvH0VwV0afjrAv8twIH3Zggw37ZrlNfvq8ENwvn8",
+ "id": "sd-jwt-claim-c32ZAsZNVGJZgeHDmeD9WgjMvI_MgStXnQElKQlr1bQ",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-c32ZAsZNVGJZgeHDmeD9WgjMvI_MgStXnQElKQlr1bQ",
"level": 3,
"title": "Claim: type"
},
@@ -306,26 +306,26 @@
"number": "4.9"
},
{
- "id": "sd-jwt-claim-PJgBY-PnlpJM0MCIOSDMsMEBBU-44yUcTYmvlquXDFs",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-PJgBY-PnlpJM0MCIOSDMsMEBBU-44yUcTYmvlquXDFs",
+ "id": "sd-jwt-claim-aJoC8FpZMg-R4HlWpm4JPnVnwb5T24NoK0IpRg1bZ2k",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-aJoC8FpZMg-R4HlWpm4JPnVnwb5T24NoK0IpRg1bZ2k",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-OUxUlYuS51iz1D6HgU2Ho0TCJQjHb7faxkCySoCwBwQ",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-OUxUlYuS51iz1D6HgU2Ho0TCJQjHb7faxkCySoCwBwQ",
+ "id": "sd-jwt-claim-2d7f0Jgvip-3SOOSQ-jNY2zw844TFcXG86L25GwpS_w",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-2d7f0Jgvip-3SOOSQ-jNY2zw844TFcXG86L25GwpS_w",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-JQE2cPBV1EGWVfI2acAjopd-knKJqnRCppXiTGOdgGE",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-JQE2cPBV1EGWVfI2acAjopd-knKJqnRCppXiTGOdgGE",
+ "id": "sd-jwt-claim-9ScMxgdpio_12rDEFzgBqXGlW1WKmo4YwDcR5BKlj40",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-9ScMxgdpio_12rDEFzgBqXGlW1WKmo4YwDcR5BKlj40",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-4Q-xQU1XRYLfu-j7sEhm2b05xkmB6v4ZrKJ_0rj7xBE",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-4Q-xQU1XRYLfu-j7sEhm2b05xkmB6v4ZrKJ_0rj7xBE",
+ "id": "sd-jwt-claim-HHZfKT990aLlRS2Ccgl-OuHKFsBVPyYSvzzGdClPJHo",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-HHZfKT990aLlRS2Ccgl-OuHKFsBVPyYSvzzGdClPJHo",
"level": 3,
"title": "Claim: type"
},
@@ -403,20 +403,20 @@
"number": "5.2"
},
{
- "id": "sd-jwt-claim-7k87hXiK6SAAsic7cW0gwrCxCZW4wAHURU1fk_u_UrU",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-7k87hXiK6SAAsic7cW0gwrCxCZW4wAHURU1fk_u_UrU",
+ "id": "sd-jwt-claim-Mw4gzBhnZ98Dl9Jk717aK_evDFN5CIcmoLxihthhTj4",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-Mw4gzBhnZ98Dl9Jk717aK_evDFN5CIcmoLxihthhTj4",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-EDPjL3N20RByfpdFSXI8HVIKVq58WiE7am14jMfq9DY",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-EDPjL3N20RByfpdFSXI8HVIKVq58WiE7am14jMfq9DY",
+ "id": "sd-jwt-claim-7zniBxCB4Qsx565FYYHD1K3o3xZxZQ86H1CCKUB34sg",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-7zniBxCB4Qsx565FYYHD1K3o3xZxZQ86H1CCKUB34sg",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim-vie0AIr0FtVMxMwbgojDGaZSE1YonM-38drvclBSdzk",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-vie0AIr0FtVMxMwbgojDGaZSE1YonM-38drvclBSdzk",
+ "id": "sd-jwt-claim-5lR53c6uw_UzS92TGGRIVrYEjK1IlMMwoE1VE1KvTgU",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5lR53c6uw_UzS92TGGRIVrYEjK1IlMMwoE1VE1KvTgU",
"level": 3,
"title": "Claim: id"
},
@@ -654,20 +654,20 @@
"number": "8.10"
},
{
- "id": "sd-jwt-claim-5SOYYxDRBprnrlW6Gqr68lrX67efv0ypsRC_tCz0SZI",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5SOYYxDRBprnrlW6Gqr68lrX67efv0ypsRC_tCz0SZI",
+ "id": "sd-jwt-claim-1rW_f8vtcqClV0XgwdR7Ou7QvF1OMQp_Ei1FGUqTpkc",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-1rW_f8vtcqClV0XgwdR7Ou7QvF1OMQp_Ei1FGUqTpkc",
"level": 3,
"title": "Claim: id"
},
{
- "id": "sd-jwt-claim-cjciDph2uJ3FO4KgTCtTYk9h4x4STPNnLiXWV5SanHA",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cjciDph2uJ3FO4KgTCtTYk9h4x4STPNnLiXWV5SanHA",
+ "id": "sd-jwt-claim-S5UH5Sc32I9ggGLBrEpeJhQX557PvpA7XarRrnpZWEg",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-S5UH5Sc32I9ggGLBrEpeJhQX557PvpA7XarRrnpZWEg",
"level": 3,
"title": "Claim: type"
},
{
- "id": "sd-jwt-claim--lver16grGWnkQ_LQ4tliTUglKzeZVsy-rWlcQVJN9U",
- "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim--lver16grGWnkQ_LQ4tliTUglKzeZVsy-rWlcQVJN9U",
+ "id": "sd-jwt-claim-SFKP6RJoHxASj5rDe926WyqXWT-HhYUtkvdUsl_G3RM",
+ "href": "https://w3c.github.io/vc-data-model/#sd-jwt-claim-SFKP6RJoHxASj5rDe926WyqXWT-HhYUtkvdUsl_G3RM",
"level": 3,
"title": "Claim: type"
},
diff --git a/ed/ids/html.json b/ed/ids/html.json
index ca75d7d57d20..649461060136 100644
--- a/ed/ids/html.json
+++ b/ed/ids/html.json
@@ -368,7 +368,7 @@
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Ahtml-parser",
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Aprocess-internal-resource-links",
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Anode-document",
- "https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Aconcept-node-post-insert-ext",
+ "https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Aconcept-node-post-connection-ext",
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Aconcept-element-namespace-2",
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Ahtml-namespace-2-2",
"https://html.spec.whatwg.org/multipage/infrastructure.html#dom-trees%3Ahtml-element-post-connection-steps",
@@ -1193,7 +1193,7 @@
"https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-adopt",
"https://html.spec.whatwg.org/multipage/infrastructure.html#concept-tree-descendant",
"https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-insert-ext",
- "https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-post-insert-ext",
+ "https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-post-connection-ext",
"https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-remove-ext",
"https://html.spec.whatwg.org/multipage/infrastructure.html#concept-node-adopt-ext",
"https://html.spec.whatwg.org/multipage/infrastructure.html#children-changed-steps",
diff --git a/ed/ids/vc-data-model-2.0.json b/ed/ids/vc-data-model-2.0.json
index c169a986e0ac..bd4789743746 100644
--- a/ed/ids/vc-data-model-2.0.json
+++ b/ed/ids/vc-data-model-2.0.json
@@ -468,16 +468,16 @@
"https://w3c.github.io/vc-data-model/#vc-tab1jose",
"https://w3c.github.io/vc-data-model/#vc-tab1cose",
"https://w3c.github.io/vc-data-model/#vc-tab1sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-1-esidg5s-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-aa2y71DDy4vbCdrjGxi7_98pVrMbRmQ9URWwQmbvCEM",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-0YAmmuRdhLKQagbra1QgET_0SniMd9ErV9U0JlQWYHA",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-DM-T3vTCAOwhYqyfLrtB4-oneVV_21hYIsJvFTV0uvg",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-L9sstXg38gX3-Xm-hvnyNzhNkdPhvq0PnkhzyGLPFoY",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-1-mow4sc4-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-i4WrUenRruTnApseoge9B1m40PXG33lsl5uknwjqdXs",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-Wi6Ct2G1f0op7dGv8kkalPM2wIdNctJAjD08lDyam7g",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-OzMXCaAUez0nRlykMVkez3hh_j5CLInVOwIymxFvQvo",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-kp7zkfS8H10yjnh9eG87_R20fh-3B7Bkdy0UFabeKpE",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-72",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-subjects-24",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-73",
@@ -520,16 +520,16 @@
"https://w3c.github.io/vc-data-model/#vc-tab2jose",
"https://w3c.github.io/vc-data-model/#vc-tab2cose",
"https://w3c.github.io/vc-data-model/#vc-tab2sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-2-ywdglxf-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-JhdXJ-Idp_KKRYxaa2k66FEfaWHFqNMPC3aBr0I3Y0M",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-mi-WAKyj8qD4rrkSEc01_cs-LOAKdMKMcj0AyleHzI8",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-UZnCiC-EnjHZjez21a1MM1uQ67c8dKYge82VT0D-SsE",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-4Ep73W7sekMSZatEFqjrVPBMC82r1Akml7eI53sl790",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-2-hoedc2g-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim--ffAimDKXMEWEp5zNXyUxIgB_G2pAI7lUTrYydgk62o",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-fNMWLLrfgArorSbtqrw9HTnlVVfc6Aj3vvdMxPgCaMU",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-rF_rRw0L_AhaJ74MdBZ5WOPUKF37--Ir2YclsXUDV_E",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-MGrdZI6Q-eAHAvn8A0FxWULNxkeLEbfriQlbl5yEa1M",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-type-1",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-81",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-82",
@@ -589,17 +589,17 @@
"https://w3c.github.io/vc-data-model/#vc-tab3jose",
"https://w3c.github.io/vc-data-model/#vc-tab3cose",
"https://w3c.github.io/vc-data-model/#vc-tab3sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-3-fuscig9-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-RxlY_gRq8Sz-USQauOqlJTroxMlqbwzZ9kN6mn-opC4",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-58lGQ5jif53DEpo5bsuyA3-PJsvgUcxL3ijJp_Q3ueY",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-NLImazD8zCwgBs8z1_8IJs3Bbbm-k8iJM3j7o18jzt4",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-ltoNqohZ8TN3PuJ75ealiZkqP_SL1arUyu9CvEn_CjQ",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-eLaa0a8JzwULDYu2C_QHgMvz7GBvB21OlwkYHFVnrsw",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-3-u1izpg0-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim--V1Z_6eBSp_wvG0LT9AKrEfSrcMkNgb0n7gP6rDewXg",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-XtWymXu64vzcI5y8scY0aG_yG83YzPAW8WwTnD2hlu0",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-y5uC0xirZvgl-o_jhNjYhqBeWm4IWTMEL1VfHZL7QDI",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-xDKdPRqFg1_jWTV7D-cyhojd8ZCp0CtzvBceqw2CdCg",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-eJ_TkZXSSWS70Axr9lyDqqWcyw3nVYKgqjJGUw_n-VQ",
"https://w3c.github.io/vc-data-model/#issue-container-generatedID-11",
"https://w3c.github.io/vc-data-model/#h-note-10",
"https://w3c.github.io/vc-data-model/#example-use-of-the-name-and-description-properties-0",
@@ -628,16 +628,16 @@
"https://w3c.github.io/vc-data-model/#vc-tab4jose",
"https://w3c.github.io/vc-data-model/#vc-tab4cose",
"https://w3c.github.io/vc-data-model/#vc-tab4sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-4-m3wzmp3-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-HXE2uon34E1-ubCNHpVaDtjvkQwNdRRVsGjdMUUjRBs",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-sWoDbQM_ZtS2d_AZNID5K3Y4S5VB1RnS8KlQzj4WNYU",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-S4gFXxdwN5pwnSnzIXn3tJyVbavIQQhGXmVY-LR7vy4",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-AQHRG4dPhSVh3_dNoBUSgH7KNygIhgHl2XqEI_Tbt1Y",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-4-ekwnfm3-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-rA-jJckavdk9nXBHMxlNE8HHhvobiwHJ4O7lnQn5k_Q",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-VXOgbsFcMxIYYUCkew8qVoCrLyWq_IvTpTV2c8LFAbc",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-qBb6er8oS8BEd6sHYUUcmIxpZbCthPtrAPWvl5zGvEk",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-vJgcKEf175XOHfp95EDkaWWeI0TcalLVN75FpcITVEQ",
"https://w3c.github.io/vc-data-model/#example-expanded-use-of-the-issuer-property",
"https://w3c.github.io/vc-data-model/#vc-tab5unsigned",
"https://w3c.github.io/vc-data-model/#vc-tab5ecdsa-rdfc-2019",
@@ -647,17 +647,17 @@
"https://w3c.github.io/vc-data-model/#vc-tab5jose",
"https://w3c.github.io/vc-data-model/#vc-tab5cose",
"https://w3c.github.io/vc-data-model/#vc-tab5sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-5-36guptv-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-B9dJtwUKw6GPhJWaXRcYJBOsCN1RlXyg5PGb4JDiJbk",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cRwyKcEke2yXCQpRHHkTs2hJWo3dAvhSR5c9lAc68wk",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-URvDaP7s3K6R5R7wLfufzhDUnjX0p49lmreJMxchOHQ",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-b4MXfnWnF-EOgnsW6LhWupEViKv5FlopiuDYoibsa50",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-1X7ThBxuE_U8OPt48pfMV2gA3Mf4WCT3H4BmYll2jRc",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-5-tlw54d4-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-FYG74tya1QUZnNnvN0MzXqscZnRhrfTi5KuAKSXIDNw",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-bzSwrDnxzjkLfIn3sSQNN-QJfvEAVF79Drm0yUY5Qxo",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim--8UQgBzciADPq1c-1HYtg4zcdqBCMfs9YGhPwIdGpg8",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-tafWyHO6sOX_ENKSnW8Vec9H-9xpv2_F05ID66la9hE",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5NfVN0qHRtjrBIbbGRA6LOINCh5EkoamAi_BOUcRBYA",
"https://w3c.github.io/vc-data-model/#issue-container-generatedID-12",
"https://w3c.github.io/vc-data-model/#h-note-11",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-property-21",
@@ -688,16 +688,16 @@
"https://w3c.github.io/vc-data-model/#vc-tab6jose",
"https://w3c.github.io/vc-data-model/#vc-tab6cose",
"https://w3c.github.io/vc-data-model/#vc-tab6sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-6-qnp9grh-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-P-MP4oEsTNHV09tOqLdu1N4kZJGwfMafqKOIQLpuvlk",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-LN08vO5hhuKJBcCp_-RghaYf9aSVkJLKEV_V3xdqSqU",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-K44kcSTeBIQym2FxVmgeJK19lLDZi62BhYo4_c7jldU",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cNoUvH0VwV0afjrAv8twIH3Zggw37ZrlNfvq8ENwvn8",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-6-phzqnms-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-507qT--2Fw7HijNVuKk54WSKIWYrSAo-iYv3F97gQcI",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-MQLWpxEqdk4PRUpH7VCOhMGbpF3CqiKO9UW4YqNDYXQ",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-3oBGlgqihTpDyOxDZCv0BgIIA9PrdP72r2FTaWwpqFc",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-c32ZAsZNVGJZgeHDmeD9WgjMvI_MgStXnQElKQlr1bQ",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-subjects-31",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-88",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-subjects-32",
@@ -726,16 +726,16 @@
"https://w3c.github.io/vc-data-model/#vc-tab7jose",
"https://w3c.github.io/vc-data-model/#vc-tab7cose",
"https://w3c.github.io/vc-data-model/#vc-tab7sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-7-4e7v0h1-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-PJgBY-PnlpJM0MCIOSDMsMEBBU-44yUcTYmvlquXDFs",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-OUxUlYuS51iz1D6HgU2Ho0TCJQjHb7faxkCySoCwBwQ",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-JQE2cPBV1EGWVfI2acAjopd-knKJqnRCppXiTGOdgGE",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-4Q-xQU1XRYLfu-j7sEhm2b05xkmB6v4ZrKJ_0rj7xBE",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-7-uaips5e-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-aJoC8FpZMg-R4HlWpm4JPnVnwb5T24NoK0IpRg1bZ2k",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-2d7f0Jgvip-3SOOSQ-jNY2zw844TFcXG86L25GwpS_w",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-9ScMxgdpio_12rDEFzgBqXGlW1WKmo4YwDcR5BKlj40",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-HHZfKT990aLlRS2Ccgl-OuHKFsBVPyYSvzzGdClPJHo",
"https://w3c.github.io/vc-data-model/#issue-container-generatedID-13",
"https://w3c.github.io/vc-data-model/#h-note-12",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-89",
@@ -1009,15 +1009,15 @@
"https://w3c.github.io/vc-data-model/#vc-tab8jose",
"https://w3c.github.io/vc-data-model/#vc-tab8cose",
"https://w3c.github.io/vc-data-model/#vc-tab8sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-8-2rw9k5i-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-7k87hXiK6SAAsic7cW0gwrCxCZW4wAHURU1fk_u_UrU",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-EDPjL3N20RByfpdFSXI8HVIKVq58WiE7am14jMfq9DY",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-vie0AIr0FtVMxMwbgojDGaZSE1YonM-38drvclBSdzk",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-8-23rzunc-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-Mw4gzBhnZ98Dl9Jk717aK_evDFN5CIcmoLxihthhTj4",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-7zniBxCB4Qsx565FYYHD1K3o3xZxZQ86H1CCKUB34sg",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5lR53c6uw_UzS92TGGRIVrYEjK1IlMMwoE1VE1KvTgU",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-132",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-entities-14",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-verifiable-credential-133",
@@ -1583,15 +1583,15 @@
"https://w3c.github.io/vc-data-model/#vc-tab9jose",
"https://w3c.github.io/vc-data-model/#vc-tab9cose",
"https://w3c.github.io/vc-data-model/#vc-tab9sd-jwt",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-content-encoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-content-decoded",
- "https://w3c.github.io/vc-data-model/#sd-jwt-9-sjl77kv-content-disclosures",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-5SOYYxDRBprnrlW6Gqr68lrX67efv0ypsRC_tCz0SZI",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim-cjciDph2uJ3FO4KgTCtTYk9h4x4STPNnLiXWV5SanHA",
- "https://w3c.github.io/vc-data-model/#sd-jwt-claim--lver16grGWnkQ_LQ4tliTUglKzeZVsy-rWlcQVJN9U",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-content-encoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-content-decoded",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-9-74vqh39-content-disclosures",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-1rW_f8vtcqClV0XgwdR7Ou7QvF1OMQp_Ei1FGUqTpkc",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-S5UH5Sc32I9ggGLBrEpeJhQX557PvpA7XarRrnpZWEg",
+ "https://w3c.github.io/vc-data-model/#sd-jwt-claim-SFKP6RJoHxASj5rDe926WyqXWT-HhYUtkvdUsl_G3RM",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-bearer-credentials-4",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-issuers-86",
"https://w3c.github.io/vc-data-model/#ref-for-dfn-holders-86",
diff --git a/ed/index.json b/ed/index.json
index 7990724572aa..da1041c7262b 100644
--- a/ed/index.json
+++ b/ed/index.json
@@ -1,7 +1,7 @@
{
"type": "crawl",
"title": "Reffy crawl",
- "date": "2024-12-17T17:43:09.145Z",
+ "date": "2024-12-17T18:02:48.317Z",
"options": {
"useCrawl": "curated",
"output": "curated",
@@ -31,7 +31,7 @@
},
"stats": {
"crawled": 651,
- "errors": 6
+ "errors": 2
},
"crawler": "reffy-18.1.1",
"results": [
@@ -1158,7 +1158,7 @@
],
"crawled": "https://drafts.csswg.org/css-color-hdr-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "11 December 2024",
@@ -1275,7 +1275,7 @@
],
"crawled": "https://drafts.csswg.org/css-display-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "17 December 2024",
@@ -2173,7 +2173,7 @@
],
"crawled": "https://drafts.csswg.org/css-variables-2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "27 February 2024",
@@ -2236,7 +2236,7 @@
],
"crawled": "https://drafts.csswg.org/selectors-5/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "24 September 2024",
@@ -2796,7 +2796,7 @@
],
"crawled": "https://html.spec.whatwg.org/multipage/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 07:48:13 GMT"
+ "lastModified": "Tue, 17 Dec 2024 17:13:18 GMT"
},
"date": "17 December 2024",
"algorithms": "algorithms/html.json",
@@ -8002,8 +8002,7 @@
"name": "local",
"file": "cddl/at-driver-local.cddl"
}
- ],
- "error": "Error: ENOENT: no such file or directory, open 'ed/cddl/at-driver-all.cddl'\n at async open (node:internal/fs/promises:639:25)\n at async Object.readFile (node:internal/fs/promises:1242:14)\n at async file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:817:32\n at async Promise.all (index 24)\n at async expandSpecResult (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:793:5)\n at async crawlSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:99:22)\n at async processSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:380:22)\n at async ThrottledQueue.runThrottled (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/throttled-queue.js:78:22)\n at async Promise.all (index 146)\n at async crawlList (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:401:21) {\n errno: -2,\n code: 'ENOENT',\n syscall: 'open',\n path: 'ed/cddl/at-driver-all.cddl'\n}"
+ ]
},
{
"url": "https://w3c.github.io/contentEditable/",
@@ -9719,7 +9718,6 @@
"file": "cddl/web-bluetooth-remote.cddl"
}
],
- "error": "Error: ENOENT: no such file or directory, open 'ed/cddl/web-bluetooth-all.cddl'\n at async open (node:internal/fs/promises:639:25)\n at async Object.readFile (node:internal/fs/promises:1242:14)\n at async file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:817:32\n at async Promise.all (index 27)\n at async expandSpecResult (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:793:5)\n at async crawlSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:99:22)\n at async processSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:380:22)\n at async ThrottledQueue.runThrottled (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/throttled-queue.js:78:22)\n at async Promise.all (index 178)\n at async crawlList (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:401:21) {\n errno: -2,\n code: 'ENOENT',\n syscall: 'open',\n path: 'ed/cddl/web-bluetooth-all.cddl'\n}",
"idlparsed": "idlparsed/web-bluetooth.json"
},
{
@@ -11435,7 +11433,7 @@
],
"crawled": "https://wicg.github.io/ink-enhancement/",
"crawlCacheInfo": {
- "lastModified": "Mon, 16 Sep 2024 07:54:59 GMT"
+ "lastModified": "Mon, 16 Sep 2024 07:54:58 GMT"
},
"generator": "bikeshed",
"date": "16 September 2024",
@@ -14615,9 +14613,9 @@
],
"crawled": "https://www.rfc-editor.org/rfc/rfc2397",
"crawlCacheInfo": {
- "lastModified": "Tue, 10 Dec 2024 08:05:45 GMT"
+ "lastModified": "Tue, 17 Dec 2024 08:28:07 GMT"
},
- "date": "10 December 2024",
+ "date": "17 December 2024",
"links": "links/rfc2397.json",
"ids": "ids/rfc2397.json",
"cddl": []
@@ -14661,9 +14659,9 @@
],
"crawled": "https://www.rfc-editor.org/rfc/rfc4120",
"crawlCacheInfo": {
- "lastModified": "Tue, 10 Dec 2024 08:12:34 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:56:24 GMT"
},
- "date": "10 December 2024",
+ "date": "17 December 2024",
"links": "links/rfc4120.json",
"ids": "ids/rfc4120.json",
"cddl": []
@@ -14902,9 +14900,9 @@
],
"crawled": "https://www.rfc-editor.org/rfc/rfc6455",
"crawlCacheInfo": {
- "lastModified": "Tue, 10 Dec 2024 01:45:12 GMT"
+ "lastModified": "Tue, 17 Dec 2024 02:27:44 GMT"
},
- "date": "10 December 2024",
+ "date": "17 December 2024",
"links": "links/rfc6455.json",
"ids": "ids/rfc6455.json",
"cddl": []
@@ -14948,9 +14946,9 @@
],
"crawled": "https://www.rfc-editor.org/rfc/rfc6797",
"crawlCacheInfo": {
- "lastModified": "Wed, 11 Dec 2024 01:12:26 GMT"
+ "lastModified": "Fri, 13 Dec 2024 03:50:13 GMT"
},
- "date": "11 December 2024",
+ "date": "13 December 2024",
"links": "links/rfc6797.json",
"ids": "ids/rfc6797.json",
"cddl": []
@@ -15990,9 +15988,9 @@
],
"crawled": "https://www.rfc-editor.org/rfc/rfc9163",
"crawlCacheInfo": {
- "lastModified": "Fri, 13 Dec 2024 09:36:37 GMT"
+ "lastModified": "Fri, 06 Dec 2024 11:17:28 GMT"
},
- "date": "13 December 2024",
+ "date": "6 December 2024",
"algorithms": "algorithms/rfc9163.json",
"links": "links/rfc9163.json",
"refs": "refs/rfc9163.json",
@@ -17736,11 +17734,11 @@
],
"crawled": "https://w3c.github.io/webappsec-csp/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 10:36:36 GMT"
+ "lastModified": "Tue, 17 Dec 2024 16:58:10 GMT"
},
"generator": "bikeshed",
"date": "17 December 2024",
- "revision": "398a20e93b94e8590505a05ff3a4fed4b887caad",
+ "revision": "268bdff2dfd1bea01f7f09abb46bfb2ed388c497",
"algorithms": "algorithms/CSP3.json",
"links": "links/CSP3.json",
"refs": "refs/CSP3.json",
@@ -18130,7 +18128,7 @@
],
"crawled": "https://drafts.csswg.org/css-animations-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "8 December 2023",
@@ -18752,7 +18750,7 @@
],
"crawled": "https://drafts.csswg.org/css-cascade-5/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "28 August 2023",
@@ -18892,7 +18890,7 @@
],
"crawled": "https://drafts.csswg.org/css-color-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"date": "18 January 2022",
"links": "links/css-color-3.json",
@@ -19310,7 +19308,7 @@
],
"crawled": "https://drafts.csswg.org/css-conditional-5/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "29 November 2024",
@@ -19381,7 +19379,7 @@
],
"crawled": "https://drafts.csswg.org/css-contain-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "28 June 2024",
@@ -19451,7 +19449,7 @@
],
"crawled": "https://drafts.csswg.org/css-contain-2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "26 November 2024",
@@ -19589,7 +19587,7 @@
],
"crawled": "https://drafts.csswg.org/css-content-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "17 May 2024",
@@ -19866,7 +19864,7 @@
],
"crawled": "https://drafts.csswg.org/css-easing-2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "17 September 2024",
@@ -20286,7 +20284,7 @@
],
"crawled": "https://drafts.csswg.org/css-grid-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "3 November 2023",
@@ -20629,7 +20627,7 @@
],
"crawled": "https://drafts.csswg.org/css-images-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "3 September 2024",
@@ -20830,7 +20828,7 @@
],
"crawled": "https://drafts.csswg.org/css-line-grid-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "26 July 2024",
@@ -21173,7 +21171,7 @@
],
"crawled": "https://drafts.csswg.org/css-namespaces-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "25 October 2024",
@@ -21441,7 +21439,7 @@
],
"crawled": "https://drafts.csswg.org/css-overflow-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "4 November 2024",
@@ -21778,7 +21776,7 @@
],
"crawled": "https://drafts.csswg.org/css-position-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "19 November 2024",
@@ -21979,7 +21977,7 @@
],
"crawled": "https://drafts.csswg.org/css-regions-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "24 January 2024",
@@ -22043,7 +22041,7 @@
],
"crawled": "https://drafts.csswg.org/css-rhythm-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "13 December 2024",
@@ -22179,7 +22177,7 @@
],
"crawled": "https://drafts.csswg.org/css-ruby-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "15 July 2024",
@@ -22317,7 +22315,7 @@
],
"crawled": "https://drafts.csswg.org/css-scroll-anchoring-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "3 December 2024",
@@ -22456,7 +22454,7 @@
],
"crawled": "https://drafts.csswg.org/css-scroll-snap-2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "16 December 2024",
@@ -22736,7 +22734,7 @@
],
"crawled": "https://drafts.csswg.org/css-sizing-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "25 July 2024",
@@ -22805,7 +22803,7 @@
],
"crawled": "https://drafts.csswg.org/css-sizing-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "15 October 2024",
@@ -23351,7 +23349,7 @@
],
"crawled": "https://drafts.csswg.org/css-text-decor-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "8 March 2024",
@@ -23631,7 +23629,7 @@
],
"crawled": "https://drafts.csswg.org/css-transitions-2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "7 November 2024",
@@ -23909,7 +23907,7 @@
],
"crawled": "https://drafts.csswg.org/css-values-3/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "31 July 2024",
@@ -24737,7 +24735,7 @@
],
"crawled": "https://drafts.csswg.org/css2/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "18 December 2023",
@@ -24946,7 +24944,7 @@
],
"crawled": "https://drafts.csswg.org/cssom-view-1/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
},
"generator": "bikeshed",
"date": "26 November 2024",
@@ -30689,7 +30687,6 @@
"file": "cddl/permissions-local.cddl"
}
],
- "error": "Error: ENOENT: no such file or directory, open 'ed/cddl/permissions-all.cddl'\n at async open (node:internal/fs/promises:639:25)\n at async Object.readFile (node:internal/fs/promises:1242:14)\n at async file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:817:32\n at async Promise.all (index 27)\n at async expandSpecResult (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:793:5)\n at async crawlSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:99:22)\n at async processSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:380:22)\n at async ThrottledQueue.runThrottled (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/throttled-queue.js:78:22)\n at async Promise.all (index 521)\n at async crawlList (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:401:21) {\n errno: -2,\n code: 'ENOENT',\n syscall: 'open',\n path: 'ed/cddl/permissions-all.cddl'\n}",
"idlparsed": "idlparsed/permissions.json"
},
{
@@ -32762,7 +32759,7 @@
],
"crawled": "https://drafts.csswg.org/selectors-4/",
"crawlCacheInfo": {
- "lastModified": "Tue, 17 Dec 2024 12:32:23 GMT"
+ "lastModified": "Tue, 17 Dec 2024 12:32:22 GMT"
},
"generator": "bikeshed",
"date": "12 December 2024",
@@ -36647,8 +36644,7 @@
"name": "local",
"file": "cddl/webdriver-bidi-local.cddl"
}
- ],
- "error": "Error: ENOENT: no such file or directory, open 'ed/cddl/webdriver-bidi-all.cddl'\n at async open (node:internal/fs/promises:639:25)\n at async Object.readFile (node:internal/fs/promises:1242:14)\n at async file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:817:32\n at async Promise.all (index 25)\n at async expandSpecResult (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/util.js:793:5)\n at async crawlSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:99:22)\n at async processSpec (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:380:22)\n at async ThrottledQueue.runThrottled (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/throttled-queue.js:78:22)\n at async Promise.all (index 615)\n at async crawlList (file:///home/runner/work/webref/webref/node_modules/reffy/src/lib/specs-crawler.js:401:21) {\n errno: -2,\n code: 'ENOENT',\n syscall: 'open',\n path: 'ed/cddl/webdriver-bidi-all.cddl'\n}"
+ ]
},
{
"url": "https://www.w3.org/TR/webdriver2/",