@dp-bohrium/widget-sdk 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/AGENTS.md +10 -4
  2. package/CHANGELOG.md +18 -1
  3. package/README.md +39 -17
  4. package/assets/licenses/ajv@8.20.0/LICENSE +22 -0
  5. package/assets/licenses/fast-deep-equal@3.1.3/LICENSE +21 -0
  6. package/assets/licenses/fast-uri@3.1.6/LICENSE +30 -0
  7. package/assets/licenses/json-schema-traverse@1.0.0/LICENSE +21 -0
  8. package/assets/licenses/require-from-string@2.0.2/license +21 -0
  9. package/assets/licenses/widget-contracts.LICENSE +21 -0
  10. package/assets/licenses/widget-sdk.LICENSE +21 -0
  11. package/assets/schemas/host-runtime-config.schema.json +305 -0
  12. package/assets/schemas/widget-manifest.schema.json +361 -0
  13. package/assets/schemas/widget-plugin-manifest.schema.json +162 -0
  14. package/assets/schemas/widget-runtime-contracts.schema.json +2870 -0
  15. package/assets/toolchain.json +24 -0
  16. package/conformance/bridge/capability-request.json +23 -0
  17. package/conformance/bridge/files-download-request.json +23 -0
  18. package/conformance/bridge/files-read-versioned-request.json +25 -0
  19. package/conformance/bridge/files-write-request.json +25 -0
  20. package/conformance/bridge/files-write-success.json +25 -0
  21. package/conformance/bridge/network-fetch-denied.json +16 -0
  22. package/conformance/bridge/network-fetch-request.json +19 -0
  23. package/conformance/bridge/network-fetch-success.json +22 -0
  24. package/conformance/bridge/presentation-change-surface-request.json +14 -0
  25. package/conformance/bridge/presentation-close-request.json +14 -0
  26. package/conformance/bridge/presentation-close-success.json +11 -0
  27. package/conformance/bridge/presentation-downgrade-success.json +14 -0
  28. package/conformance/bridge/presentation-focus-backward-request.json +14 -0
  29. package/conformance/bridge/presentation-focus-boundary-success.json +14 -0
  30. package/conformance/bridge/presentation-focus-forward-request.json +14 -0
  31. package/conformance/bridge/presentation-init.json +70 -0
  32. package/conformance/bridge/presentation-policy-denied.json +16 -0
  33. package/conformance/bridge/presentation-present-request.json +14 -0
  34. package/conformance/bridge/presentation-user-denied.json +16 -0
  35. package/conformance/bridge/ready.json +11 -0
  36. package/conformance/bridge/region-acquire-request.json +14 -0
  37. package/conformance/bridge/tasks-list-request.json +17 -0
  38. package/conformance/bridge/tasks-watch-request.json +18 -0
  39. package/conformance/bridge/ui-state-write-request.json +18 -0
  40. package/conformance/bundles/minimal-file-preview/entry.js +1 -0
  41. package/conformance/bundles/minimal-file-preview/manifest.json +12 -0
  42. package/conformance/bundles/minimal-file-preview/samples/file-preview.json +1 -0
  43. package/conformance/bundles/minimal-panel/entry.js +1 -0
  44. package/conformance/bundles/minimal-panel/manifest.json +11 -0
  45. package/conformance/bundles/minimal-panel/samples/panel.json +1 -0
  46. package/conformance/bundles/minimal-tool-result/entry.js +1 -0
  47. package/conformance/bundles/minimal-tool-result/manifest.json +11 -0
  48. package/conformance/bundles/minimal-tool-result/samples/tool-result.json +1 -0
  49. package/conformance/file-grants/write.json +8 -0
  50. package/conformance/file-responses/list.json +1 -0
  51. package/conformance/file-responses/metadata.json +11 -0
  52. package/conformance/file-responses/mutation-conflict.json +6 -0
  53. package/conformance/file-responses/permission-denied.json +6 -0
  54. package/conformance/file-responses/read-revision-only.json +8 -0
  55. package/conformance/file-responses/read-unversioned-range.json +12 -0
  56. package/conformance/file-responses/read-versioned.json +12 -0
  57. package/conformance/file-responses/resource-limit.json +1 -0
  58. package/conformance/file-responses/revision-conflict.json +6 -0
  59. package/conformance/file-responses/text-content.json +7 -0
  60. package/conformance/file-responses/write-outcome-unknown.json +6 -0
  61. package/conformance/file-responses/write-success.json +15 -0
  62. package/conformance/host-runtime-config/invalid-host-service-expiry.json +85 -0
  63. package/conformance/host-runtime-config/invalid-host-service-identity.json +85 -0
  64. package/conformance/host-runtime-config/invalid-host-service-permission.json +85 -0
  65. package/conformance/host-runtime-config/invalid-host-service-status.json +65 -0
  66. package/conformance/host-runtime-config/invalid-missing-manifest-fields.json +55 -0
  67. package/conformance/host-runtime-config/invalid-static-origins.json +60 -0
  68. package/conformance/host-runtime-config/valid-host-service-authorization-required.json +65 -0
  69. package/conformance/host-runtime-config/valid-host-service-authorization.json +85 -0
  70. package/conformance/host-runtime-config/valid-no-requested-permissions.json +52 -0
  71. package/conformance/host-runtime-config/valid.json +85 -0
  72. package/conformance/invalid-bridge-messages/network-fetch-mixed-case-forbidden-header.json +21 -0
  73. package/conformance/invalid-file-grants/extra-file-scope.json +9 -0
  74. package/conformance/invalid-file-grants/missing-write-limits.json +4 -0
  75. package/conformance/invalid-file-requests/arbitrary-path.json +16 -0
  76. package/conformance/invalid-file-requests/missing-expected-revision.json +14 -0
  77. package/conformance/invalid-file-requests/missing-mutation-id.json +14 -0
  78. package/conformance/invalid-file-requests/path-in-reference.json +16 -0
  79. package/conformance/invalid-file-results/read-empty-revision.json +5 -0
  80. package/conformance/invalid-file-results/read-null-revision.json +5 -0
  81. package/conformance/invalid-file-results/write-missing-mutation-id.json +11 -0
  82. package/conformance/invalid-manifests/missing-target.json +11 -0
  83. package/conformance/invalid-manifests/presentation-duplicate-surfaces.json +16 -0
  84. package/conformance/invalid-manifests/presentation-empty-surfaces.json +14 -0
  85. package/conformance/invalid-manifests/presentation-unknown-surface.json +16 -0
  86. package/conformance/invalid-manifests/unknown-field.json +12 -0
  87. package/conformance/invalid-network-requests/mixed-case-forbidden-header.json +11 -0
  88. package/conformance/invalid-presentation-grants/duplicate-surfaces.json +5 -0
  89. package/conformance/invalid-presentation-grants/empty-surfaces.json +5 -0
  90. package/conformance/invalid-presentation-grants/false-confirmation.json +5 -0
  91. package/conformance/invalid-presentation-grants/missing-confirmation.json +4 -0
  92. package/conformance/invalid-presentation-grants/unknown-surface.json +5 -0
  93. package/conformance/invalid-presentation-requests/change-surface-missing-surface.json +4 -0
  94. package/conformance/invalid-presentation-requests/close-with-surface.json +4 -0
  95. package/conformance/invalid-presentation-requests/focus-boundary-missing-direction.json +4 -0
  96. package/conformance/invalid-presentation-requests/focus-boundary-unknown-direction.json +4 -0
  97. package/conformance/invalid-presentation-requests/focus-boundary-with-coordinates.json +9 -0
  98. package/conformance/invalid-presentation-requests/focus-boundary-with-event-provenance.json +8 -0
  99. package/conformance/invalid-presentation-requests/focus-boundary-with-generation.json +8 -0
  100. package/conformance/invalid-presentation-requests/focus-boundary-with-identity.json +12 -0
  101. package/conformance/invalid-presentation-requests/focus-boundary-with-key.json +8 -0
  102. package/conformance/invalid-presentation-requests/focus-boundary-with-modifiers.json +11 -0
  103. package/conformance/invalid-presentation-requests/focus-boundary-with-selector.json +8 -0
  104. package/conformance/invalid-presentation-requests/focus-boundary-with-surface.json +8 -0
  105. package/conformance/invalid-presentation-requests/focus-boundary-with-target.json +8 -0
  106. package/conformance/invalid-presentation-requests/focus-boundary-with-timestamp.json +8 -0
  107. package/conformance/invalid-presentation-requests/focus-boundary-with-z-index.json +8 -0
  108. package/conformance/invalid-presentation-requests/present-missing-surface.json +4 -0
  109. package/conformance/invalid-presentation-requests/unknown-surface.json +4 -0
  110. package/conformance/invalid-presentation-requests/widget-controls-coordinates.json +9 -0
  111. package/conformance/invalid-presentation-requests/widget-controls-geometry.json +8 -0
  112. package/conformance/invalid-presentation-requests/widget-controls-instance-id.json +8 -0
  113. package/conformance/invalid-presentation-requests/widget-controls-principal.json +8 -0
  114. package/conformance/invalid-presentation-requests/widget-controls-run-id.json +4 -0
  115. package/conformance/invalid-presentation-requests/widget-controls-widget-id.json +8 -0
  116. package/conformance/invalid-presentation-requests/widget-controls-widget-version-id.json +8 -0
  117. package/conformance/invalid-presentation-requests/widget-controls-z-index.json +4 -0
  118. package/conformance/invalid-render-inputs/malformed.json +17 -0
  119. package/conformance/manifests/valid-file-preview.json +12 -0
  120. package/conformance/manifests/valid-file-write-preview.json +30 -0
  121. package/conformance/manifests/valid-network.json +15 -0
  122. package/conformance/manifests/valid-panel.json +11 -0
  123. package/conformance/manifests/valid-presentation-panel.json +21 -0
  124. package/conformance/manifests/valid-region-panel.json +18 -0
  125. package/conformance/manifests/valid-tool-result.json +14 -0
  126. package/conformance/render-inputs/compatibility/literature-search-paper-results.json +75 -0
  127. package/conformance/render-inputs/compatibility/scientific-bibliography-bibtex.json +10 -0
  128. package/conformance/render-inputs/compatibility/scientific-dataset-csv.json +10 -0
  129. package/conformance/render-inputs/compatibility/scientific-manuscript-latex.json +10 -0
  130. package/conformance/render-inputs/compatibility/scientific-manuscript-markdown.json +10 -0
  131. package/conformance/render-inputs/compatibility/scientific-molecule-mol.json +10 -0
  132. package/conformance/render-inputs/compatibility/scientific-molecule-mol2.json +10 -0
  133. package/conformance/render-inputs/compatibility/scientific-notebook-ipynb.json +10 -0
  134. package/conformance/render-inputs/compatibility/scientific-paper-pdf.json +10 -0
  135. package/conformance/render-inputs/compatibility/scientific-protein-pdb.json +10 -0
  136. package/conformance/render-inputs/compatibility/scientific-source-python.json +10 -0
  137. package/conformance/render-inputs/compatibility/scientific-structure-cif.json +47 -0
  138. package/conformance/render-inputs/compatibility/scientific-structure-poscar.json +10 -0
  139. package/conformance/render-inputs/compatibility/scientific-structure-stru.json +10 -0
  140. package/conformance/render-inputs/compatibility/scientific-trajectory-xyz.json +10 -0
  141. package/conformance/render-inputs/compatibility/thinking-process-paper-search.json +25 -0
  142. package/conformance/render-inputs/compatibility/thinking-process-scholar-search.json +25 -0
  143. package/conformance/render-inputs/compatibility/thinking-process-web-search.json +25 -0
  144. package/conformance/render-inputs/compatibility/workspace-file-search.json +24 -0
  145. package/conformance/render-inputs/compatibility/workspace-file-tree.json +24 -0
  146. package/conformance/render-inputs/empty.json +10 -0
  147. package/conformance/render-inputs/file-preview.json +10 -0
  148. package/conformance/render-inputs/incremental-update.json +10 -0
  149. package/conformance/render-inputs/large.json +10 -0
  150. package/conformance/render-inputs/malformed.json +1 -0
  151. package/conformance/render-inputs/panel.json +10 -0
  152. package/conformance/render-inputs/partial-state-full-snapshot.json +40 -0
  153. package/conformance/render-inputs/tool-result.json +10 -0
  154. package/conformance/resource-budgets/corpus.json +431 -0
  155. package/dist/cli.mjs +15577 -0
  156. package/dist/contracts.d.ts +2 -0
  157. package/dist/contracts.js +1 -0
  158. package/dist/index.d.ts +1 -1
  159. package/dist/index.js +1 -1
  160. package/dist/runtime/index.js +1 -1
  161. package/dist/{runtime-DVFTv55x.js → runtime-D7KxTtdu.js} +1 -1
  162. package/llms.txt +9 -1
  163. package/package.json +17 -3
  164. package/schemas/host-runtime-config.schema.json +305 -0
  165. package/schemas/widget-manifest.schema.json +361 -0
  166. package/schemas/widget-plugin-manifest.schema.json +162 -0
  167. package/schemas/widget-runtime-contracts.schema.json +2870 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "compat-workspace-file-tree-001",
4
+ "instanceId": "compat-workspace-file-tree",
5
+ "revision": 1,
6
+ "contribution": "panel",
7
+ "state": "complete",
8
+ "content": {
9
+ "contribution": "panel",
10
+ "id": "workspace-files",
11
+ "title": "Files",
12
+ "data": { "root": { "id": "directory-root-001", "kind": "directory", "name": "workspace" } }
13
+ },
14
+ "context": {
15
+ "locale": "en-US",
16
+ "theme": { "mode": "light", "tokens": { "background": "#ffffff", "foreground": "#111111", "muted": "#eeeeee", "mutedForeground": "#666666", "border": "#dddddd", "primary": "#0066cc", "danger": "#cc0000" } },
17
+ "viewport": { "width": 360, "height": 720 },
18
+ "capabilities": [
19
+ { "name": "files.list", "limits": { "pageSize": 50, "callsPerMinute": 30 } },
20
+ { "name": "files.metadata", "limits": { "callsPerMinute": 60 } }
21
+ ],
22
+ "correlationId": "compat-workspace-file-tree-001"
23
+ }
24
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-empty",
4
+ "instanceId": "fixture-tool-result",
5
+ "revision": 2,
6
+ "contribution": "tool-result",
7
+ "state": "complete",
8
+ "content": { "contribution": "tool-result", "tool": { "name": "simulation.run", "callId": "call-empty", "status": "succeeded" }, "input": {}, "result": null },
9
+ "context": { "locale": "en-US", "theme": { "mode": "light", "tokens": { "background": "#fff", "foreground": "#111", "muted": "#eee", "mutedForeground": "#666", "border": "#ddd", "primary": "#06c", "danger": "#c00" } }, "viewport": { "width": 1, "height": 1 }, "capabilities": [], "correlationId": "fixture-empty" }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-002",
4
+ "instanceId": "fixture-file-preview",
5
+ "revision": 1,
6
+ "contribution": "file-preview",
7
+ "state": "complete",
8
+ "content": { "contribution": "file-preview", "file": { "id": "file-001", "kind": "file", "name": "structure.cif", "extension": "cif", "mimeType": "chemical/x-cif", "size": 128 }, "preview": { "format": "text" } },
9
+ "context": { "locale": "en-US", "theme": { "mode": "dark", "tokens": { "background": "#000", "foreground": "#fff", "muted": "#333", "mutedForeground": "#999", "border": "#444", "primary": "#08f", "danger": "#f44" } }, "viewport": { "width": 640, "height": 480 }, "capabilities": [{ "name": "files.read", "limits": { "bytesPerRequest": 4096, "bytesPerRun": 8192, "callsPerMinute": 10 } }], "correlationId": "fixture-002" }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-004",
4
+ "instanceId": "fixture-tool-result",
5
+ "revision": 3,
6
+ "contribution": "tool-result",
7
+ "state": "complete",
8
+ "content": { "contribution": "tool-result", "tool": { "name": "simulation.run", "callId": "call-001", "status": "succeeded" }, "input": { "model": "water" }, "result": { "status": "succeeded", "progress": 1 } },
9
+ "context": { "locale": "en-US", "theme": { "mode": "dark", "tokens": { "background": "#000", "foreground": "#fff", "muted": "#333", "mutedForeground": "#999", "border": "#444", "primary": "#08f", "danger": "#f44" } }, "viewport": { "width": 640, "height": 480 }, "capabilities": [], "correlationId": "fixture-004" }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-large",
4
+ "instanceId": "fixture-panel",
5
+ "revision": 4,
6
+ "contribution": "panel",
7
+ "state": "complete",
8
+ "content": { "contribution": "panel", "id": "analysis-summary", "data": { "rows": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] } },
9
+ "context": { "locale": "en-US", "theme": { "mode": "light", "tokens": { "background": "#fff", "foreground": "#111", "muted": "#eee", "mutedForeground": "#666", "border": "#ddd", "primary": "#06c", "danger": "#c00" } }, "viewport": { "width": 1280, "height": 720 }, "capabilities": [], "correlationId": "fixture-large" }
10
+ }
@@ -0,0 +1 @@
1
+ { "schemaVersion": 1, "requestId": "bad", "instanceId": "bad", "revision": 0, "contribution": "panel", "state": "complete", "content": { "contribution": "file-preview" }, "context": {} }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-003",
4
+ "instanceId": "fixture-panel",
5
+ "revision": 1,
6
+ "contribution": "panel",
7
+ "state": "partial",
8
+ "content": { "contribution": "panel", "id": "analysis-summary", "title": "Analysis", "data": { "rows": 3 } },
9
+ "context": { "locale": "zh-CN", "theme": { "mode": "light", "tokens": { "background": "#fff", "foreground": "#111", "muted": "#eee", "mutedForeground": "#666", "border": "#ddd", "primary": "#06c", "danger": "#c00" } }, "viewport": { "width": 640, "height": 480 }, "capabilities": [], "correlationId": "fixture-003" }
10
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-update-2",
4
+ "instanceId": "instance-update-1",
5
+ "revision": 2,
6
+ "contribution": "tool-result",
7
+ "state": "partial",
8
+ "content": {
9
+ "contribution": "tool-result",
10
+ "tool": {
11
+ "name": "literature__search",
12
+ "callId": "call-update-1",
13
+ "status": "running"
14
+ },
15
+ "input": { "query": "protein folding" },
16
+ "result": {
17
+ "papers": [
18
+ { "id": "paper-001", "title": "Protein folding study 001" }
19
+ ]
20
+ }
21
+ },
22
+ "context": {
23
+ "locale": "zh-CN",
24
+ "theme": {
25
+ "mode": "dark",
26
+ "tokens": {
27
+ "background": "#101114",
28
+ "foreground": "#f7f7f8",
29
+ "muted": "#24262b",
30
+ "mutedForeground": "#a5a8b0",
31
+ "border": "#343740",
32
+ "primary": "#6d7cff",
33
+ "danger": "#f25f5c"
34
+ }
35
+ },
36
+ "viewport": { "width": 640, "height": 480 },
37
+ "capabilities": [],
38
+ "correlationId": "correlation-update-1"
39
+ }
40
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-001",
4
+ "instanceId": "fixture-tool-result",
5
+ "revision": 1,
6
+ "contribution": "tool-result",
7
+ "state": "complete",
8
+ "content": { "contribution": "tool-result", "tool": { "name": "simulation.run", "callId": "call-001", "status": "succeeded" }, "input": { "model": "water" }, "result": { "status": "succeeded" }, "envelope": { "schemaVersion": 1, "status": "succeeded", "data": { "status": "succeeded" } } },
9
+ "context": { "locale": "en-US", "theme": { "mode": "dark", "tokens": { "background": "#000", "foreground": "#fff", "muted": "#333", "mutedForeground": "#999", "border": "#444", "primary": "#08f", "danger": "#f44" } }, "viewport": { "width": 640, "height": 480 }, "capabilities": [], "correlationId": "fixture-001" }
10
+ }
@@ -0,0 +1,431 @@
1
+ {
2
+ "formatVersion": 1,
3
+ "baseline": {
4
+ "version": 1,
5
+ "bundle": {
6
+ "compressedBytes": 8388608,
7
+ "expandedBytes": 33554432,
8
+ "fileCount": 256,
9
+ "singleFileBytes": 16777216
10
+ },
11
+ "bridge": {
12
+ "messageBytes": 2097152,
13
+ "messagesPerSecond": 20,
14
+ "pendingRequests": 16
15
+ },
16
+ "files": {
17
+ "readBytesPerRequest": 4194304,
18
+ "readBytesPerRun": 33554432,
19
+ "callsPerMinute": 30,
20
+ "listPageSize": 200
21
+ },
22
+ "timeouts": {
23
+ "bundleLoadMs": 10000,
24
+ "handshakeMs": 3000,
25
+ "firstRenderMs": 5000,
26
+ "updateMs": 3000,
27
+ "capabilityMs": 10000,
28
+ "disposeGraceMs": 500
29
+ },
30
+ "concurrency": {
31
+ "activeIframesPerPage": 4,
32
+ "activeIframesPerRun": 2,
33
+ "hiddenRecycleMs": 60000
34
+ },
35
+ "retry": {
36
+ "maxAttempts": 2,
37
+ "initialDelayMs": 250,
38
+ "maxDelayMs": 1000,
39
+ "totalMs": 5000
40
+ },
41
+ "failure": {
42
+ "consecutiveFailures": 3,
43
+ "windowMs": 300000
44
+ }
45
+ },
46
+ "cases": [
47
+ {
48
+ "id": "baseline",
49
+ "accepted": true,
50
+ "changes": []
51
+ },
52
+ {
53
+ "id": "retry-maxAttempts-minimum",
54
+ "accepted": true,
55
+ "changes": [
56
+ {
57
+ "path": ["retry", "maxAttempts"],
58
+ "value": 1
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "id": "retry-maxAttempts-max-safe-integer",
64
+ "accepted": true,
65
+ "changes": [
66
+ {
67
+ "path": ["retry", "maxAttempts"],
68
+ "value": 9007199254740991
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "id": "retry-maxAttempts-zero",
74
+ "accepted": false,
75
+ "changes": [
76
+ {
77
+ "path": ["retry", "maxAttempts"],
78
+ "value": 0
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "id": "retry-maxAttempts-negative",
84
+ "accepted": false,
85
+ "changes": [
86
+ {
87
+ "path": ["retry", "maxAttempts"],
88
+ "value": -1
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "id": "retry-maxAttempts-fraction",
94
+ "accepted": false,
95
+ "changes": [
96
+ {
97
+ "path": ["retry", "maxAttempts"],
98
+ "value": 0.5
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "id": "retry-maxAttempts-string",
104
+ "accepted": false,
105
+ "changes": [
106
+ {
107
+ "path": ["retry", "maxAttempts"],
108
+ "value": "1"
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "id": "retry-maxAttempts-boolean",
114
+ "accepted": false,
115
+ "changes": [
116
+ {
117
+ "path": ["retry", "maxAttempts"],
118
+ "value": true
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "id": "retry-maxAttempts-null",
124
+ "accepted": false,
125
+ "changes": [
126
+ {
127
+ "path": ["retry", "maxAttempts"],
128
+ "value": null
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ "id": "retry-maxAttempts-missing",
134
+ "accepted": false,
135
+ "changes": [
136
+ {
137
+ "path": ["retry", "maxAttempts"],
138
+ "remove": true
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "id": "retry-initialDelayMs-minimum",
144
+ "accepted": true,
145
+ "changes": [
146
+ {
147
+ "path": ["retry", "initialDelayMs"],
148
+ "value": 1
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "id": "retry-initialDelayMs-max-safe-integer",
154
+ "accepted": true,
155
+ "changes": [
156
+ {
157
+ "path": ["retry", "initialDelayMs"],
158
+ "value": 9007199254740991
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "id": "retry-initialDelayMs-zero",
164
+ "accepted": false,
165
+ "changes": [
166
+ {
167
+ "path": ["retry", "initialDelayMs"],
168
+ "value": 0
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "id": "retry-initialDelayMs-negative",
174
+ "accepted": false,
175
+ "changes": [
176
+ {
177
+ "path": ["retry", "initialDelayMs"],
178
+ "value": -1
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "id": "retry-initialDelayMs-fraction",
184
+ "accepted": false,
185
+ "changes": [
186
+ {
187
+ "path": ["retry", "initialDelayMs"],
188
+ "value": 0.5
189
+ }
190
+ ]
191
+ },
192
+ {
193
+ "id": "retry-initialDelayMs-string",
194
+ "accepted": false,
195
+ "changes": [
196
+ {
197
+ "path": ["retry", "initialDelayMs"],
198
+ "value": "1"
199
+ }
200
+ ]
201
+ },
202
+ {
203
+ "id": "retry-initialDelayMs-boolean",
204
+ "accepted": false,
205
+ "changes": [
206
+ {
207
+ "path": ["retry", "initialDelayMs"],
208
+ "value": true
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "id": "retry-initialDelayMs-null",
214
+ "accepted": false,
215
+ "changes": [
216
+ {
217
+ "path": ["retry", "initialDelayMs"],
218
+ "value": null
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "id": "retry-initialDelayMs-missing",
224
+ "accepted": false,
225
+ "changes": [
226
+ {
227
+ "path": ["retry", "initialDelayMs"],
228
+ "remove": true
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "id": "retry-maxDelayMs-minimum",
234
+ "accepted": true,
235
+ "changes": [
236
+ {
237
+ "path": ["retry", "maxDelayMs"],
238
+ "value": 1
239
+ }
240
+ ]
241
+ },
242
+ {
243
+ "id": "retry-maxDelayMs-max-safe-integer",
244
+ "accepted": true,
245
+ "changes": [
246
+ {
247
+ "path": ["retry", "maxDelayMs"],
248
+ "value": 9007199254740991
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "id": "retry-maxDelayMs-zero",
254
+ "accepted": false,
255
+ "changes": [
256
+ {
257
+ "path": ["retry", "maxDelayMs"],
258
+ "value": 0
259
+ }
260
+ ]
261
+ },
262
+ {
263
+ "id": "retry-maxDelayMs-negative",
264
+ "accepted": false,
265
+ "changes": [
266
+ {
267
+ "path": ["retry", "maxDelayMs"],
268
+ "value": -1
269
+ }
270
+ ]
271
+ },
272
+ {
273
+ "id": "retry-maxDelayMs-fraction",
274
+ "accepted": false,
275
+ "changes": [
276
+ {
277
+ "path": ["retry", "maxDelayMs"],
278
+ "value": 0.5
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ "id": "retry-maxDelayMs-string",
284
+ "accepted": false,
285
+ "changes": [
286
+ {
287
+ "path": ["retry", "maxDelayMs"],
288
+ "value": "1"
289
+ }
290
+ ]
291
+ },
292
+ {
293
+ "id": "retry-maxDelayMs-boolean",
294
+ "accepted": false,
295
+ "changes": [
296
+ {
297
+ "path": ["retry", "maxDelayMs"],
298
+ "value": true
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "id": "retry-maxDelayMs-null",
304
+ "accepted": false,
305
+ "changes": [
306
+ {
307
+ "path": ["retry", "maxDelayMs"],
308
+ "value": null
309
+ }
310
+ ]
311
+ },
312
+ {
313
+ "id": "retry-maxDelayMs-missing",
314
+ "accepted": false,
315
+ "changes": [
316
+ {
317
+ "path": ["retry", "maxDelayMs"],
318
+ "remove": true
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "id": "retry-totalMs-minimum",
324
+ "accepted": true,
325
+ "changes": [
326
+ {
327
+ "path": ["retry", "totalMs"],
328
+ "value": 1
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "id": "retry-totalMs-max-safe-integer",
334
+ "accepted": true,
335
+ "changes": [
336
+ {
337
+ "path": ["retry", "totalMs"],
338
+ "value": 9007199254740991
339
+ }
340
+ ]
341
+ },
342
+ {
343
+ "id": "retry-totalMs-zero",
344
+ "accepted": false,
345
+ "changes": [
346
+ {
347
+ "path": ["retry", "totalMs"],
348
+ "value": 0
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "id": "retry-totalMs-negative",
354
+ "accepted": false,
355
+ "changes": [
356
+ {
357
+ "path": ["retry", "totalMs"],
358
+ "value": -1
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "id": "retry-totalMs-fraction",
364
+ "accepted": false,
365
+ "changes": [
366
+ {
367
+ "path": ["retry", "totalMs"],
368
+ "value": 0.5
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "id": "retry-totalMs-string",
374
+ "accepted": false,
375
+ "changes": [
376
+ {
377
+ "path": ["retry", "totalMs"],
378
+ "value": "1"
379
+ }
380
+ ]
381
+ },
382
+ {
383
+ "id": "retry-totalMs-boolean",
384
+ "accepted": false,
385
+ "changes": [
386
+ {
387
+ "path": ["retry", "totalMs"],
388
+ "value": true
389
+ }
390
+ ]
391
+ },
392
+ {
393
+ "id": "retry-totalMs-null",
394
+ "accepted": false,
395
+ "changes": [
396
+ {
397
+ "path": ["retry", "totalMs"],
398
+ "value": null
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "id": "retry-totalMs-missing",
404
+ "accepted": false,
405
+ "changes": [
406
+ {
407
+ "path": ["retry", "totalMs"],
408
+ "remove": true
409
+ }
410
+ ]
411
+ },
412
+ {
413
+ "id": "retry-zero-durations",
414
+ "accepted": false,
415
+ "changes": [
416
+ {
417
+ "path": ["retry", "initialDelayMs"],
418
+ "value": 0
419
+ },
420
+ {
421
+ "path": ["retry", "maxDelayMs"],
422
+ "value": 0
423
+ },
424
+ {
425
+ "path": ["retry", "totalMs"],
426
+ "value": 0
427
+ }
428
+ ]
429
+ }
430
+ ]
431
+ }