@webref/idl 3.53.0 → 3.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css-fonts.idl CHANGED
@@ -38,7 +38,7 @@ interface CSSFontFaceDescriptors : CSSStyleDeclaration {
38
38
 
39
39
  [Exposed=Window]
40
40
  interface CSSFontFaceRule : CSSRule {
41
- readonly attribute CSSFontFaceDescriptors style;
41
+ [SameObject, PutForwards=cssText] readonly attribute CSSFontFaceDescriptors style;
42
42
  };
43
43
 
44
44
  partial interface CSSRule { const unsigned short FONT_FEATURE_VALUES_RULE = 14;
@@ -1,7 +1,7 @@
1
1
  // GENERATED CONTENT - DO NOT EDIT
2
2
  // Content was automatically extracted by Reffy into webref
3
3
  // (https://github.com/w3c/webref)
4
- // Source: Digital Credentials (https://wicg.github.io/digital-credentials)
4
+ // Source: Digital Credentials (https://wicg.github.io/digital-credentials/)
5
5
 
6
6
  partial interface Navigator {
7
7
  [SecureContext, SameObject] readonly attribute CredentialsContainer identity;
@@ -1,22 +1,7 @@
1
1
  // GENERATED CONTENT - DO NOT EDIT
2
2
  // Content was automatically extracted by Reffy into webref
3
3
  // (https://github.com/w3c/webref)
4
- // Source: Federated Credential Management API (https://fedidcg.github.io/FedCM/)
5
-
6
- enum LoginStatus {
7
- "logged-in",
8
- "logged-out",
9
- };
10
-
11
- [Exposed=Window, SecureContext]
12
-
13
- interface NavigatorLogin {
14
- Promise<undefined> setStatus(LoginStatus status);
15
- };
16
-
17
- partial interface Navigator {
18
- [SecureContext] readonly attribute NavigatorLogin login;
19
- };
4
+ // Source: Federated Credential Management API (https://w3c-fedid.github.io/FedCM/)
20
5
 
21
6
  dictionary IdentityCredentialDisconnectOptions : IdentityProviderConfig {
22
7
  required USVString accountHint;
package/fenced-frame.idl CHANGED
@@ -16,18 +16,9 @@ interface HTMLFencedFrameElement : HTMLElement {
16
16
 
17
17
  enum OpaqueProperty {"opaque"};
18
18
 
19
- typedef (unsigned long or OpaqueProperty) FencedFrameConfigSize;
20
- typedef USVString FencedFrameConfigURL;
21
-
22
19
  [Exposed=Window, Serializable]
23
20
  interface FencedFrameConfig {
24
21
  constructor(USVString url);
25
-
26
- readonly attribute FencedFrameConfigSize? containerWidth;
27
- readonly attribute FencedFrameConfigSize? containerHeight;
28
- readonly attribute FencedFrameConfigSize? contentWidth;
29
- readonly attribute FencedFrameConfigSize? contentHeight;
30
-
31
22
  undefined setSharedStorageContext(DOMString contextString);
32
23
  };
33
24
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  [Exposed=Window]
7
7
  interface Ink {
8
- Promise<InkPresenter> requestPresenter(
8
+ Promise<DelegatedInkTrailPresenter> requestPresenter(
9
9
  optional InkPresenterParam param = {});
10
10
  };
11
11
 
@@ -14,7 +14,7 @@ dictionary InkPresenterParam {
14
14
  };
15
15
 
16
16
  [Exposed=Window]
17
- interface InkPresenter {
17
+ interface DelegatedInkTrailPresenter {
18
18
  readonly attribute Element? presentationArea;
19
19
 
20
20
  undefined updateInkTrailStartPoint(PointerEvent event, InkTrailStyle style);
package/observable.idl ADDED
@@ -0,0 +1,106 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: Observable (https://wicg.github.io/observable/)
5
+
6
+ [Exposed=*]
7
+ interface Subscriber {
8
+ undefined next(any value);
9
+ undefined error(any error);
10
+ undefined complete();
11
+ undefined addTeardown(VoidFunction teardown);
12
+
13
+ // True after the Subscriber is created, up until either
14
+ // complete()/error() are invoked, or the subscriber unsubscribes. Inside
15
+ // complete()/error(), this attribute is true.
16
+ readonly attribute boolean active;
17
+
18
+ readonly attribute AbortSignal signal;
19
+ };
20
+
21
+ // SubscribeCallback is where the Observable "creator’s" code lives. It’s
22
+ // called when subscribe() is called, to set up a new subscription.
23
+ callback SubscribeCallback = undefined (Subscriber subscriber);
24
+ callback ObservableSubscriptionCallback = undefined (any value);
25
+
26
+ dictionary SubscriptionObserver {
27
+ ObservableSubscriptionCallback next;
28
+ ObservableSubscriptionCallback error;
29
+ VoidFunction complete;
30
+ };
31
+
32
+ callback ObservableInspectorAbortHandler = undefined (any value);
33
+
34
+ dictionary ObservableInspector {
35
+ ObservableSubscriptionCallback next;
36
+ ObservableSubscriptionCallback error;
37
+ VoidFunction complete;
38
+
39
+ VoidFunction subscribe;
40
+ ObservableInspectorAbortHandler abort;
41
+ };
42
+
43
+ typedef (ObservableSubscriptionCallback or SubscriptionObserver) ObserverUnion;
44
+ typedef (ObservableSubscriptionCallback or ObservableInspector) ObservableInspectorUnion;
45
+
46
+ dictionary SubscribeOptions {
47
+ AbortSignal signal;
48
+ };
49
+
50
+ callback Predicate = boolean (any value, unsigned long long index);
51
+ callback Reducer = any (any accumulator, any currentValue, unsigned long long index);
52
+ callback Mapper = any (any value, unsigned long long index);
53
+ // Differs from Mapper only in return type, since this callback is exclusively
54
+ // used to visit each element in a sequence, not transform it.
55
+ callback Visitor = undefined (any value, unsigned long long index);
56
+
57
+ // This callback returns an `any` that must convert into an `Observable`, via
58
+ // the `Observable` conversion semantics.
59
+ callback CatchCallback = any (any value);
60
+
61
+ [Exposed=*]
62
+ interface Observable {
63
+ constructor(SubscribeCallback callback);
64
+ undefined subscribe(optional ObserverUnion observer = {}, optional SubscribeOptions options = {});
65
+
66
+ // Constructs a native Observable from value if it’s any of the following:
67
+ // - Observable
68
+ // - AsyncIterable
69
+ // - Iterable
70
+ // - Promise
71
+ static Observable from(any value);
72
+
73
+ // Observable-returning operators. See "Operators" section in the spec.
74
+ //
75
+ // takeUntil() can consume promises, iterables, async iterables, and other
76
+ // observables.
77
+ Observable takeUntil(any notifier);
78
+ Observable map(Mapper mapper);
79
+ Observable filter(Predicate predicate);
80
+ Observable take(unsigned long long amount);
81
+ Observable drop(unsigned long long amount);
82
+ Observable flatMap(Mapper mapper);
83
+ Observable switchMap(Mapper mapper);
84
+ Observable inspect(optional ObservableInspectorUnion inspect_observer = {});
85
+ Observable catch(CatchCallback callback);
86
+ Observable finally(VoidFunction callback);
87
+
88
+ // Promise-returning operators.
89
+ Promise<sequence<any>> toArray(optional SubscribeOptions options = {});
90
+ Promise<undefined> forEach(Visitor callback, optional SubscribeOptions options = {});
91
+ Promise<boolean> every(Predicate predicate, optional SubscribeOptions options = {});
92
+ Promise<any> first(optional SubscribeOptions options = {});
93
+ Promise<any> last(optional SubscribeOptions options = {});
94
+ Promise<any> find(Predicate predicate, optional SubscribeOptions options = {});
95
+ Promise<boolean> some(Predicate predicate, optional SubscribeOptions options = {});
96
+ Promise<any> reduce(Reducer reducer, optional any initialValue, optional SubscribeOptions options = {});
97
+ };
98
+
99
+ dictionary ObservableEventListenerOptions {
100
+ boolean capture = false;
101
+ boolean passive;
102
+ };
103
+
104
+ partial interface EventTarget {
105
+ Observable when(DOMString type, optional ObservableEventListenerOptions options = {});
106
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webref/idl",
3
3
  "description": "Web IDL definitions of the web platform",
4
- "version": "3.53.0",
4
+ "version": "3.54.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"
@@ -0,0 +1,73 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: Private Aggregation API (https://patcg-individual-drafts.github.io/private-aggregation-api/)
5
+
6
+ [Exposed=(InterestGroupScriptRunnerGlobalScope,SharedStorageWorklet),
7
+ SecureContext]
8
+ interface PrivateAggregation {
9
+ undefined contributeToHistogram(PAHistogramContribution contribution);
10
+ undefined enableDebugMode(optional PADebugModeOptions options = {});
11
+ };
12
+
13
+ dictionary PAHistogramContribution {
14
+ required bigint bucket;
15
+ required long value;
16
+ bigint filteringId = 0;
17
+ };
18
+
19
+ dictionary PADebugModeOptions {
20
+ required bigint debugKey;
21
+ };
22
+
23
+ partial interface InterestGroupScriptRunnerGlobalScope {
24
+ readonly attribute PrivateAggregation privateAggregation;
25
+ };
26
+
27
+ dictionary PASignalValue {
28
+ required DOMString baseValue;
29
+ double scale;
30
+ (bigint or long) offset;
31
+ };
32
+
33
+ dictionary PAExtendedHistogramContribution {
34
+ required (PASignalValue or bigint) bucket;
35
+ required (PASignalValue or long) value;
36
+ bigint filteringId = 0;
37
+ };
38
+
39
+ [Exposed=InterestGroupScriptRunnerGlobalScope, SecureContext]
40
+ partial interface PrivateAggregation {
41
+ undefined contributeToHistogramOnEvent(
42
+ DOMString event, PAExtendedHistogramContribution contribution);
43
+ };
44
+
45
+ dictionary AuctionReportBuyersConfig {
46
+ required bigint bucket;
47
+ required double scale;
48
+ };
49
+
50
+ dictionary AuctionReportBuyerDebugModeConfig {
51
+ boolean enabled = false;
52
+
53
+ // Must only be provided if `enabled` is true.
54
+ bigint? debugKey;
55
+ };
56
+
57
+ partial dictionary AuctionAdConfig {
58
+ sequence<bigint> auctionReportBuyerKeys;
59
+ record<DOMString, AuctionReportBuyersConfig> auctionReportBuyers;
60
+ AuctionReportBuyerDebugModeConfig auctionReportBuyerDebugModeConfig;
61
+ };
62
+
63
+ dictionary ProtectedAudiencePrivateAggregationConfig {
64
+ USVString aggregationCoordinatorOrigin;
65
+ };
66
+
67
+ partial dictionary AuctionAdConfig {
68
+ ProtectedAudiencePrivateAggregationConfig privateAggregationConfig;
69
+ };
70
+
71
+ partial dictionary AuctionAdInterestGroup {
72
+ ProtectedAudiencePrivateAggregationConfig privateAggregationConfig;
73
+ };
@@ -24,6 +24,7 @@ interface SharedStorageWorkletGlobalScope : WorkletGlobalScope {
24
24
  Function operationCtor);
25
25
 
26
26
  readonly attribute SharedStorage sharedStorage;
27
+ readonly attribute PrivateAggregation privateAggregation;
27
28
  };
28
29
 
29
30
  dictionary SharedStorageUrlWithMetadata {
@@ -77,10 +78,17 @@ dictionary SharedStorageSetMethodOptions {
77
78
  boolean ignoreIfPresent = false;
78
79
  };
79
80
 
81
+ dictionary SharedStoragePrivateAggregationConfig {
82
+ USVString aggregationCoordinatorOrigin;
83
+ USVString contextId;
84
+ [EnforceRange] unsigned long long filteringIdMaxBytes;
85
+ };
86
+
80
87
  dictionary SharedStorageRunOperationMethodOptions {
81
88
  object data;
82
89
  boolean resolveToConfig = false;
83
90
  boolean keepAlive = false;
91
+ SharedStoragePrivateAggregationConfig privateAggregationConfig;
84
92
  };
85
93
 
86
94
  dictionary SharedStorageWorkletOptions : WorkletOptions {
package/turtledove.idl CHANGED
@@ -16,6 +16,7 @@ dictionary AuctionAd {
16
16
  USVString buyerReportingId;
17
17
  USVString buyerAndSellerReportingId;
18
18
  sequence<USVString> allowedReportingOrigins;
19
+ DOMString adRenderId;
19
20
  };
20
21
 
21
22
  dictionary AuctionAdInterestGroupSize {
@@ -239,10 +240,8 @@ partial interface HTMLIFrameElement {
239
240
  [CEReactions] attribute boolean adAuctionHeaders;
240
241
  };
241
242
 
242
- dictionary PreviousWin {
243
- required long long timeDelta;
244
- required DOMString adJSON;
245
- };
243
+ typedef (long long or AuctionAd) PreviousWinElement;
244
+ typedef sequence<PreviousWinElement> PreviousWin;
246
245
 
247
246
  dictionary BiddingBrowserSignals {
248
247
  required DOMString topWindowHostname;
package/uievents.idl CHANGED
@@ -235,26 +235,3 @@ interface TextEvent : UIEvent {
235
235
  optional Window? view = null,
236
236
  optional DOMString data = "undefined");
237
237
  };
238
-
239
- [Exposed=Window]
240
- interface MutationEvent : Event {
241
- // attrChangeType
242
- const unsigned short MODIFICATION = 1;
243
- const unsigned short ADDITION = 2;
244
- const unsigned short REMOVAL = 3;
245
-
246
- readonly attribute Node? relatedNode;
247
- readonly attribute DOMString prevValue;
248
- readonly attribute DOMString newValue;
249
- readonly attribute DOMString attrName;
250
- readonly attribute unsigned short attrChange;
251
-
252
- undefined initMutationEvent(DOMString typeArg,
253
- optional boolean bubblesArg = false,
254
- optional boolean cancelableArg = false,
255
- optional Node? relatedNodeArg = null,
256
- optional DOMString prevValueArg = "",
257
- optional DOMString newValueArg = "",
258
- optional DOMString attrNameArg = "",
259
- optional unsigned short attrChangeArg = 0);
260
- };
package/webgpu.idl CHANGED
@@ -78,6 +78,7 @@ interface GPU {
78
78
  };
79
79
 
80
80
  dictionary GPURequestAdapterOptions {
81
+ any featureLevel;
81
82
  GPUPowerPreference powerPreference;
82
83
  boolean forceFallbackAdapter = false;
83
84
  };
@@ -111,6 +112,7 @@ enum GPUFeatureName {
111
112
  "texture-compression-bc-sliced-3d",
112
113
  "texture-compression-etc2",
113
114
  "texture-compression-astc",
115
+ "texture-compression-astc-sliced-3d",
114
116
  "timestamp-query",
115
117
  "indirect-first-instance",
116
118
  "shader-f16",
@@ -255,6 +257,7 @@ dictionary GPUTextureViewDescriptor
255
257
  : GPUObjectDescriptorBase {
256
258
  GPUTextureFormat format;
257
259
  GPUTextureViewDimension dimension;
260
+ GPUTextureUsageFlags usage = 0;
258
261
  GPUTextureAspect aspect = "all";
259
262
  GPUIntegerCoordinate baseMipLevel = 0;
260
263
  GPUIntegerCoordinate mipLevelCount;
@@ -638,7 +641,7 @@ interface mixin GPUPipelineBase {
638
641
  dictionary GPUProgrammableStage {
639
642
  required GPUShaderModule module;
640
643
  USVString entryPoint;
641
- record<USVString, GPUPipelineConstantValue> constants;
644
+ record<USVString, GPUPipelineConstantValue> constants = {};
642
645
  };
643
646
 
644
647
  typedef double GPUPipelineConstantValue; // May represent WGSL's bool, f32, i32, u32, and f16 if enabled.
package/webnn.idl CHANGED
@@ -43,6 +43,30 @@ dictionary MLComputeResult {
43
43
  interface MLContext {
44
44
  Promise<MLComputeResult> compute(
45
45
  MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs);
46
+
47
+ MLOpSupportLimits opSupportLimits();
48
+ };
49
+
50
+ dictionary MLOpSupportLimits {
51
+ MLInputOperandLayout preferredInputLayout;
52
+ MLSupportLimits input;
53
+ MLSupportLimits constant;
54
+ MLSupportLimits output;
55
+ };
56
+
57
+ dictionary MLSupportLimits {
58
+ sequence<MLOperandDataType> dataTypes;
59
+ };
60
+
61
+ dictionary MLBinarySupportLimits {
62
+ MLSupportLimits a;
63
+ MLSupportLimits b;
64
+ MLSupportLimits output;
65
+ };
66
+
67
+ dictionary MLSingleInputSupportLimits {
68
+ MLSupportLimits input;
69
+ MLSupportLimits output;
46
70
  };
47
71
 
48
72
  [SecureContext, Exposed=(Window, DedicatedWorker)]
@@ -113,6 +137,11 @@ partial interface MLGraphBuilder {
113
137
  optional MLArgMinMaxOptions options = {});
114
138
  };
115
139
 
140
+ partial dictionary MLOpSupportLimits {
141
+ MLSingleInputSupportLimits argMin;
142
+ MLSingleInputSupportLimits argMax;
143
+ };
144
+
116
145
  dictionary MLBatchNormalizationOptions : MLOperatorOptions {
117
146
  MLOperand scale;
118
147
  MLOperand bias;
@@ -125,12 +154,29 @@ partial interface MLGraphBuilder {
125
154
  optional MLBatchNormalizationOptions options = {});
126
155
  };
127
156
 
157
+ dictionary MLBatchNormalizationSupportLimits {
158
+ MLSupportLimits input;
159
+ MLSupportLimits mean;
160
+ MLSupportLimits variance;
161
+ MLSupportLimits scale;
162
+ MLSupportLimits bias;
163
+ MLSupportLimits output;
164
+ };
165
+
166
+ partial dictionary MLOpSupportLimits {
167
+ MLBatchNormalizationSupportLimits batchNormalization;
168
+ };
169
+
128
170
  partial interface MLGraphBuilder {
129
171
  MLOperand cast(MLOperand input,
130
172
  MLOperandDataType type,
131
173
  optional MLOperatorOptions options = {});
132
174
  };
133
175
 
176
+ partial dictionary MLOpSupportLimits {
177
+ MLSingleInputSupportLimits cast;
178
+ };
179
+
134
180
  dictionary MLClampOptions : MLOperatorOptions {
135
181
  MLNumber minValue;
136
182
  MLNumber maxValue;
@@ -140,12 +186,25 @@ partial interface MLGraphBuilder {
140
186
  MLOperand clamp(MLOperand input, optional MLClampOptions options = {});
141
187
  };
142
188
 
189
+ partial dictionary MLOpSupportLimits {
190
+ MLSingleInputSupportLimits clamp;
191
+ };
192
+
143
193
  partial interface MLGraphBuilder {
144
194
  MLOperand concat(sequence<MLOperand> inputs,
145
195
  [EnforceRange] unsigned long axis,
146
196
  optional MLOperatorOptions options = {});
147
197
  };
148
198
 
199
+ dictionary MLConcatSupportLimits {
200
+ MLSupportLimits inputs;
201
+ MLSupportLimits output;
202
+ };
203
+
204
+ partial dictionary MLOpSupportLimits {
205
+ MLConcatSupportLimits concat;
206
+ };
207
+
149
208
  enum MLConv2dFilterOperandLayout {
150
209
  "oihw",
151
210
  "hwio",
@@ -169,6 +228,17 @@ partial interface MLGraphBuilder {
169
228
  optional MLConv2dOptions options = {});
170
229
  };
171
230
 
231
+ dictionary MLConv2dSupportLimits {
232
+ MLSupportLimits input;
233
+ MLSupportLimits filter;
234
+ MLSupportLimits bias;
235
+ MLSupportLimits output;
236
+ };
237
+
238
+ partial dictionary MLOpSupportLimits {
239
+ MLConv2dSupportLimits conv2d;
240
+ };
241
+
172
242
  enum MLConvTranspose2dFilterOperandLayout {
173
243
  "iohw",
174
244
  "hwoi",
@@ -192,6 +262,10 @@ partial interface MLGraphBuilder {
192
262
  optional MLConvTranspose2dOptions options = {});
193
263
  };
194
264
 
265
+ partial dictionary MLOpSupportLimits {
266
+ MLConv2dSupportLimits convTranspose2d;
267
+ };
268
+
195
269
  partial interface MLGraphBuilder {
196
270
  MLOperand add(MLOperand a, MLOperand b, optional MLOperatorOptions options = {});
197
271
  MLOperand sub(MLOperand a, MLOperand b, optional MLOperatorOptions options = {});
@@ -202,6 +276,16 @@ partial interface MLGraphBuilder {
202
276
  MLOperand pow(MLOperand a, MLOperand b, optional MLOperatorOptions options = {});
203
277
  };
204
278
 
279
+ partial dictionary MLOpSupportLimits {
280
+ MLBinarySupportLimits add;
281
+ MLBinarySupportLimits sub;
282
+ MLBinarySupportLimits mul;
283
+ MLBinarySupportLimits div;
284
+ MLBinarySupportLimits max;
285
+ MLBinarySupportLimits min;
286
+ MLBinarySupportLimits pow;
287
+ };
288
+
205
289
  partial interface MLGraphBuilder {
206
290
  MLOperand equal(MLOperand a,
207
291
  MLOperand b,
@@ -221,6 +305,20 @@ partial interface MLGraphBuilder {
221
305
  MLOperand logicalNot(MLOperand a, optional MLOperatorOptions options = {});
222
306
  };
223
307
 
308
+ dictionary MLLogicalNotSupportLimits {
309
+ MLSupportLimits a;
310
+ MLSupportLimits output;
311
+ };
312
+
313
+ partial dictionary MLOpSupportLimits {
314
+ MLBinarySupportLimits equal;
315
+ MLBinarySupportLimits greater;
316
+ MLBinarySupportLimits greaterOrEqual;
317
+ MLBinarySupportLimits lesser;
318
+ MLBinarySupportLimits lesserOrEqual;
319
+ MLLogicalNotSupportLimits logicalNot;
320
+ };
321
+
224
322
  partial interface MLGraphBuilder {
225
323
  MLOperand abs(MLOperand input, optional MLOperatorOptions options = {});
226
324
  MLOperand ceil(MLOperand input, optional MLOperatorOptions options = {});
@@ -237,6 +335,22 @@ partial interface MLGraphBuilder {
237
335
  MLOperand tan(MLOperand input, optional MLOperatorOptions options = {});
238
336
  };
239
337
 
338
+ partial dictionary MLOpSupportLimits {
339
+ MLSingleInputSupportLimits abs;
340
+ MLSingleInputSupportLimits ceil;
341
+ MLSingleInputSupportLimits cos;
342
+ MLSingleInputSupportLimits erf;
343
+ MLSingleInputSupportLimits exp;
344
+ MLSingleInputSupportLimits floor;
345
+ MLSingleInputSupportLimits identity;
346
+ MLSingleInputSupportLimits log;
347
+ MLSingleInputSupportLimits neg;
348
+ MLSingleInputSupportLimits reciprocal;
349
+ MLSingleInputSupportLimits sin;
350
+ MLSingleInputSupportLimits sqrt;
351
+ MLSingleInputSupportLimits tan;
352
+ };
353
+
240
354
  dictionary MLEluOptions : MLOperatorOptions {
241
355
  double alpha = 1;
242
356
  };
@@ -245,12 +359,20 @@ partial interface MLGraphBuilder {
245
359
  MLOperand elu(MLOperand input, optional MLEluOptions options = {});
246
360
  };
247
361
 
362
+ partial dictionary MLOpSupportLimits {
363
+ MLSingleInputSupportLimits elu;
364
+ };
365
+
248
366
  partial interface MLGraphBuilder {
249
367
  MLOperand expand(MLOperand input,
250
368
  sequence<[EnforceRange] unsigned long> newShape,
251
369
  optional MLOperatorOptions options = {});
252
370
  };
253
371
 
372
+ partial dictionary MLOpSupportLimits {
373
+ MLSingleInputSupportLimits expand;
374
+ };
375
+
254
376
  dictionary MLGatherOptions : MLOperatorOptions {
255
377
  [EnforceRange] unsigned long axis = 0;
256
378
  };
@@ -261,10 +383,24 @@ partial interface MLGraphBuilder {
261
383
  optional MLGatherOptions options = {});
262
384
  };
263
385
 
386
+ dictionary MLGatherSupportLimits {
387
+ MLSupportLimits input;
388
+ MLSupportLimits indices;
389
+ MLSupportLimits output;
390
+ };
391
+
392
+ partial dictionary MLOpSupportLimits {
393
+ MLGatherSupportLimits gather;
394
+ };
395
+
264
396
  partial interface MLGraphBuilder {
265
397
  MLOperand gelu(MLOperand input, optional MLOperatorOptions options = {});
266
398
  };
267
399
 
400
+ partial dictionary MLOpSupportLimits {
401
+ MLSingleInputSupportLimits gelu;
402
+ };
403
+
268
404
  dictionary MLGemmOptions : MLOperatorOptions {
269
405
  MLOperand c;
270
406
  double alpha = 1.0;
@@ -277,6 +413,17 @@ partial interface MLGraphBuilder {
277
413
  MLOperand gemm(MLOperand a, MLOperand b, optional MLGemmOptions options = {});
278
414
  };
279
415
 
416
+ dictionary MLGemmSupportLimits {
417
+ MLSupportLimits a;
418
+ MLSupportLimits b;
419
+ MLSupportLimits c;
420
+ MLSupportLimits output;
421
+ };
422
+
423
+ partial dictionary MLOpSupportLimits {
424
+ MLGemmSupportLimits gemm;
425
+ };
426
+
280
427
  enum MLGruWeightLayout {
281
428
  "zrn", // update-reset-new gate ordering
282
429
  "rzn" // reset-update-new gate ordering
@@ -314,6 +461,20 @@ partial interface MLGraphBuilder {
314
461
  optional MLGruOptions options = {});
315
462
  };
316
463
 
464
+ dictionary MLGruSupportLimits {
465
+ MLSupportLimits input;
466
+ MLSupportLimits weight;
467
+ MLSupportLimits recurrentWeight;
468
+ MLSupportLimits bias;
469
+ MLSupportLimits recurrentBias;
470
+ MLSupportLimits initialHiddenState;
471
+ MLSupportLimits outputs;
472
+ };
473
+
474
+ partial dictionary MLOpSupportLimits {
475
+ MLGruSupportLimits gru;
476
+ };
477
+
317
478
  dictionary MLGruCellOptions : MLOperatorOptions {
318
479
  MLOperand bias;
319
480
  MLOperand recurrentBias;
@@ -331,6 +492,20 @@ partial interface MLGraphBuilder {
331
492
  optional MLGruCellOptions options = {});
332
493
  };
333
494
 
495
+ dictionary MLGruCellSupportLimits {
496
+ MLSupportLimits input;
497
+ MLSupportLimits weight;
498
+ MLSupportLimits recurrentWeight;
499
+ MLSupportLimits hiddenState;
500
+ MLSupportLimits bias;
501
+ MLSupportLimits recurrentBias;
502
+ MLSupportLimits output;
503
+ };
504
+
505
+ partial dictionary MLOpSupportLimits {
506
+ MLGruCellSupportLimits gruCell;
507
+ };
508
+
334
509
  dictionary MLHardSigmoidOptions : MLOperatorOptions {
335
510
  double alpha = 0.2;
336
511
  double beta = 0.5;
@@ -340,10 +515,18 @@ partial interface MLGraphBuilder {
340
515
  MLOperand hardSigmoid(MLOperand input, optional MLHardSigmoidOptions options = {});
341
516
  };
342
517
 
518
+ partial dictionary MLOpSupportLimits {
519
+ MLSingleInputSupportLimits hardSigmoid;
520
+ };
521
+
343
522
  partial interface MLGraphBuilder {
344
523
  MLOperand hardSwish(MLOperand input, optional MLOperatorOptions options = {});
345
524
  };
346
525
 
526
+ partial dictionary MLOpSupportLimits {
527
+ MLSingleInputSupportLimits hardSwish;
528
+ };
529
+
347
530
  dictionary MLInstanceNormalizationOptions : MLOperatorOptions {
348
531
  MLOperand scale;
349
532
  MLOperand bias;
@@ -356,6 +539,17 @@ partial interface MLGraphBuilder {
356
539
  optional MLInstanceNormalizationOptions options = {});
357
540
  };
358
541
 
542
+ dictionary MLNormalizationSupportLimits {
543
+ MLSupportLimits input;
544
+ MLSupportLimits scale;
545
+ MLSupportLimits bias;
546
+ MLSupportLimits output;
547
+ };
548
+
549
+ partial dictionary MLOpSupportLimits {
550
+ MLNormalizationSupportLimits instanceNormalization;
551
+ };
552
+
359
553
  dictionary MLLayerNormalizationOptions : MLOperatorOptions {
360
554
  MLOperand scale;
361
555
  MLOperand bias;
@@ -368,6 +562,10 @@ partial interface MLGraphBuilder {
368
562
  optional MLLayerNormalizationOptions options = {});
369
563
  };
370
564
 
565
+ partial dictionary MLOpSupportLimits {
566
+ MLNormalizationSupportLimits layerNormalization;
567
+ };
568
+
371
569
  dictionary MLLeakyReluOptions : MLOperatorOptions {
372
570
  double alpha = 0.01;
373
571
  };
@@ -376,6 +574,10 @@ partial interface MLGraphBuilder {
376
574
  MLOperand leakyRelu(MLOperand input, optional MLLeakyReluOptions options = {});
377
575
  };
378
576
 
577
+ partial dictionary MLOpSupportLimits {
578
+ MLSingleInputSupportLimits leakyRelu;
579
+ };
580
+
379
581
  dictionary MLLinearOptions : MLOperatorOptions {
380
582
  double alpha = 1;
381
583
  double beta = 0;
@@ -385,6 +587,10 @@ partial interface MLGraphBuilder {
385
587
  MLOperand linear(MLOperand input, optional MLLinearOptions options = {});
386
588
  };
387
589
 
590
+ partial dictionary MLOpSupportLimits {
591
+ MLSingleInputSupportLimits linear;
592
+ };
593
+
388
594
  enum MLLstmWeightLayout {
389
595
  "iofg", // input-output-forget-cell gate ordering
390
596
  "ifgo" // input-forget-cell-output gate ordering
@@ -411,6 +617,22 @@ partial interface MLGraphBuilder {
411
617
  optional MLLstmOptions options = {});
412
618
  };
413
619
 
620
+ dictionary MLLstmSupportLimits {
621
+ MLSupportLimits input;
622
+ MLSupportLimits weight;
623
+ MLSupportLimits recurrentWeight;
624
+ MLSupportLimits bias;
625
+ MLSupportLimits recurrentBias;
626
+ MLSupportLimits peepholeWeight;
627
+ MLSupportLimits initialHiddenState;
628
+ MLSupportLimits initialCellState;
629
+ MLSupportLimits outputs;
630
+ };
631
+
632
+ partial dictionary MLOpSupportLimits {
633
+ MLLstmSupportLimits lstm;
634
+ };
635
+
414
636
  dictionary MLLstmCellOptions : MLOperatorOptions {
415
637
  MLOperand bias;
416
638
  MLOperand recurrentBias;
@@ -429,10 +651,30 @@ partial interface MLGraphBuilder {
429
651
  optional MLLstmCellOptions options = {});
430
652
  };
431
653
 
654
+ dictionary MLLstmCellSupportLimits {
655
+ MLSupportLimits input;
656
+ MLSupportLimits weight;
657
+ MLSupportLimits recurrentWeight;
658
+ MLSupportLimits hiddenState;
659
+ MLSupportLimits cellState;
660
+ MLSupportLimits bias;
661
+ MLSupportLimits recurrentBias;
662
+ MLSupportLimits peepholeWeight;
663
+ MLSupportLimits outputs;
664
+ };
665
+
666
+ partial dictionary MLOpSupportLimits {
667
+ MLLstmCellSupportLimits lstmCell;
668
+ };
669
+
432
670
  partial interface MLGraphBuilder {
433
671
  MLOperand matmul(MLOperand a, MLOperand b, optional MLOperatorOptions options = {});
434
672
  };
435
673
 
674
+ partial dictionary MLOpSupportLimits {
675
+ MLBinarySupportLimits matmul;
676
+ };
677
+
436
678
  enum MLPaddingMode {
437
679
  "constant",
438
680
  "edge",
@@ -452,6 +694,10 @@ partial interface MLGraphBuilder {
452
694
  optional MLPadOptions options = {});
453
695
  };
454
696
 
697
+ partial dictionary MLOpSupportLimits {
698
+ MLSingleInputSupportLimits pad;
699
+ };
700
+
455
701
  enum MLRoundingType {
456
702
  "floor",
457
703
  "ceil"
@@ -473,12 +719,28 @@ partial interface MLGraphBuilder {
473
719
  MLOperand maxPool2d(MLOperand input, optional MLPool2dOptions options = {});
474
720
  };
475
721
 
722
+ partial dictionary MLOpSupportLimits {
723
+ MLSingleInputSupportLimits averagePool2d;
724
+ MLSingleInputSupportLimits l2Pool2d;
725
+ MLSingleInputSupportLimits maxPool2d;
726
+ };
727
+
476
728
  partial interface MLGraphBuilder {
477
729
  MLOperand prelu(MLOperand input,
478
730
  MLOperand slope,
479
731
  optional MLOperatorOptions options = {});
480
732
  };
481
733
 
734
+ dictionary MLPreluSupportLimits {
735
+ MLSupportLimits input;
736
+ MLSupportLimits slope;
737
+ MLSupportLimits output;
738
+ };
739
+
740
+ partial dictionary MLOpSupportLimits {
741
+ MLPreluSupportLimits prelu;
742
+ };
743
+
482
744
  dictionary MLReduceOptions : MLOperatorOptions {
483
745
  sequence<[EnforceRange] unsigned long> axes;
484
746
  boolean keepDimensions = false;
@@ -497,10 +759,27 @@ partial interface MLGraphBuilder {
497
759
  MLOperand reduceSumSquare(MLOperand input, optional MLReduceOptions options = {});
498
760
  };
499
761
 
762
+ partial dictionary MLOpSupportLimits {
763
+ MLSingleInputSupportLimits reduceL1;
764
+ MLSingleInputSupportLimits reduceL2;
765
+ MLSingleInputSupportLimits reduceLogSum;
766
+ MLSingleInputSupportLimits reduceLogSumExp;
767
+ MLSingleInputSupportLimits reduceMax;
768
+ MLSingleInputSupportLimits reduceMean;
769
+ MLSingleInputSupportLimits reduceMin;
770
+ MLSingleInputSupportLimits reduceProduct;
771
+ MLSingleInputSupportLimits reduceSum;
772
+ MLSingleInputSupportLimits reduceSumSquare;
773
+ };
774
+
500
775
  partial interface MLGraphBuilder {
501
776
  MLOperand relu(MLOperand input, optional MLOperatorOptions options = {});
502
777
  };
503
778
 
779
+ partial dictionary MLOpSupportLimits {
780
+ MLSingleInputSupportLimits relu;
781
+ };
782
+
504
783
  enum MLInterpolationMode {
505
784
  "nearest-neighbor",
506
785
  "linear"
@@ -517,16 +796,28 @@ partial interface MLGraphBuilder {
517
796
  MLOperand resample2d(MLOperand input, optional MLResample2dOptions options = {});
518
797
  };
519
798
 
799
+ partial dictionary MLOpSupportLimits {
800
+ MLSingleInputSupportLimits resample2d;
801
+ };
802
+
520
803
  partial interface MLGraphBuilder {
521
804
  MLOperand reshape(MLOperand input,
522
805
  sequence<[EnforceRange] unsigned long> newShape,
523
806
  optional MLOperatorOptions options = {});
524
807
  };
525
808
 
809
+ partial dictionary MLOpSupportLimits {
810
+ MLSingleInputSupportLimits reshape;
811
+ };
812
+
526
813
  partial interface MLGraphBuilder {
527
814
  MLOperand sigmoid(MLOperand input, optional MLOperatorOptions options = {});
528
815
  };
529
816
 
817
+ partial dictionary MLOpSupportLimits {
818
+ MLSingleInputSupportLimits sigmoid;
819
+ };
820
+
530
821
  partial interface MLGraphBuilder {
531
822
  MLOperand slice(MLOperand input,
532
823
  sequence<[EnforceRange] unsigned long> starts,
@@ -534,20 +825,36 @@ partial interface MLGraphBuilder {
534
825
  optional MLOperatorOptions options = {});
535
826
  };
536
827
 
828
+ partial dictionary MLOpSupportLimits {
829
+ MLSingleInputSupportLimits slice;
830
+ };
831
+
537
832
  partial interface MLGraphBuilder {
538
833
  MLOperand softmax(MLOperand input,
539
834
  [EnforceRange] unsigned long axis,
540
835
  optional MLOperatorOptions options = {});
541
836
  };
542
837
 
838
+ partial dictionary MLOpSupportLimits {
839
+ MLSingleInputSupportLimits softmax;
840
+ };
841
+
543
842
  partial interface MLGraphBuilder {
544
843
  MLOperand softplus(MLOperand input, optional MLOperatorOptions options = {});
545
844
  };
546
845
 
846
+ partial dictionary MLOpSupportLimits {
847
+ MLSingleInputSupportLimits softplus;
848
+ };
849
+
547
850
  partial interface MLGraphBuilder {
548
851
  MLOperand softsign(MLOperand input, optional MLOperatorOptions options = {});
549
852
  };
550
853
 
854
+ partial dictionary MLOpSupportLimits {
855
+ MLSingleInputSupportLimits softsign;
856
+ };
857
+
551
858
  dictionary MLSplitOptions : MLOperatorOptions {
552
859
  [EnforceRange] unsigned long axis = 0;
553
860
  };
@@ -559,10 +866,23 @@ partial interface MLGraphBuilder {
559
866
  optional MLSplitOptions options = {});
560
867
  };
561
868
 
869
+ dictionary MLSplitSupportLimits {
870
+ MLSupportLimits input;
871
+ MLSupportLimits outputs;
872
+ };
873
+
874
+ partial dictionary MLOpSupportLimits {
875
+ MLSingleInputSupportLimits split;
876
+ };
877
+
562
878
  partial interface MLGraphBuilder {
563
879
  MLOperand tanh(MLOperand input, optional MLOperatorOptions options = {});
564
880
  };
565
881
 
882
+ partial dictionary MLOpSupportLimits {
883
+ MLSingleInputSupportLimits tanh;
884
+ };
885
+
566
886
  dictionary MLTransposeOptions : MLOperatorOptions {
567
887
  sequence<[EnforceRange] unsigned long> permutation;
568
888
  };
@@ -571,6 +891,10 @@ partial interface MLGraphBuilder {
571
891
  MLOperand transpose(MLOperand input, optional MLTransposeOptions options = {});
572
892
  };
573
893
 
894
+ partial dictionary MLOpSupportLimits {
895
+ MLSingleInputSupportLimits transpose;
896
+ };
897
+
574
898
  dictionary MLTriangularOptions : MLOperatorOptions {
575
899
  boolean upper = true;
576
900
  [EnforceRange] long diagonal = 0;
@@ -580,9 +904,24 @@ partial interface MLGraphBuilder {
580
904
  MLOperand triangular(MLOperand input, optional MLTriangularOptions options = {});
581
905
  };
582
906
 
907
+ partial dictionary MLOpSupportLimits {
908
+ MLSingleInputSupportLimits triangular;
909
+ };
910
+
583
911
  partial interface MLGraphBuilder {
584
912
  MLOperand where(MLOperand condition,
585
913
  MLOperand trueValue,
586
914
  MLOperand falseValue,
587
915
  optional MLOperatorOptions options = {});
588
916
  };
917
+
918
+ dictionary MLWhereSupportLimits {
919
+ MLSupportLimits condition;
920
+ MLSupportLimits trueValue;
921
+ MLSupportLimits falseValue;
922
+ MLSupportLimits output;
923
+ };
924
+
925
+ partial dictionary MLOpSupportLimits {
926
+ MLWhereSupportLimits where;
927
+ };