@dp-bohrium/widget-contracts 0.0.1

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 (118) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +190 -0
  3. package/conformance/bridge/capability-request.json +23 -0
  4. package/conformance/bridge/network-fetch-denied.json +16 -0
  5. package/conformance/bridge/network-fetch-request.json +19 -0
  6. package/conformance/bridge/network-fetch-success.json +22 -0
  7. package/conformance/bridge/presentation-change-surface-request.json +14 -0
  8. package/conformance/bridge/presentation-close-request.json +14 -0
  9. package/conformance/bridge/presentation-close-success.json +11 -0
  10. package/conformance/bridge/presentation-downgrade-success.json +14 -0
  11. package/conformance/bridge/presentation-focus-backward-request.json +14 -0
  12. package/conformance/bridge/presentation-focus-boundary-success.json +14 -0
  13. package/conformance/bridge/presentation-focus-forward-request.json +14 -0
  14. package/conformance/bridge/presentation-init.json +70 -0
  15. package/conformance/bridge/presentation-policy-denied.json +16 -0
  16. package/conformance/bridge/presentation-present-request.json +14 -0
  17. package/conformance/bridge/presentation-user-denied.json +16 -0
  18. package/conformance/bridge/ready.json +11 -0
  19. package/conformance/bundles/minimal-file-preview/entry.js +1 -0
  20. package/conformance/bundles/minimal-file-preview/manifest.json +12 -0
  21. package/conformance/bundles/minimal-file-preview/samples/file-preview.json +1 -0
  22. package/conformance/bundles/minimal-panel/entry.js +1 -0
  23. package/conformance/bundles/minimal-panel/manifest.json +11 -0
  24. package/conformance/bundles/minimal-panel/samples/panel.json +1 -0
  25. package/conformance/bundles/minimal-tool-result/entry.js +1 -0
  26. package/conformance/bundles/minimal-tool-result/manifest.json +11 -0
  27. package/conformance/bundles/minimal-tool-result/samples/tool-result.json +1 -0
  28. package/conformance/file-responses/list.json +1 -0
  29. package/conformance/file-responses/metadata.json +11 -0
  30. package/conformance/file-responses/permission-denied.json +6 -0
  31. package/conformance/file-responses/resource-limit.json +1 -0
  32. package/conformance/file-responses/text-content.json +1 -0
  33. package/conformance/host-runtime-config/invalid-missing-manifest-fields.json +55 -0
  34. package/conformance/host-runtime-config/invalid-static-origins.json +60 -0
  35. package/conformance/host-runtime-config/valid.json +85 -0
  36. package/conformance/invalid-bridge-messages/network-fetch-mixed-case-forbidden-header.json +21 -0
  37. package/conformance/invalid-manifests/missing-target.json +11 -0
  38. package/conformance/invalid-manifests/presentation-duplicate-surfaces.json +16 -0
  39. package/conformance/invalid-manifests/presentation-empty-surfaces.json +14 -0
  40. package/conformance/invalid-manifests/presentation-unknown-surface.json +16 -0
  41. package/conformance/invalid-manifests/unknown-field.json +12 -0
  42. package/conformance/invalid-network-requests/mixed-case-forbidden-header.json +11 -0
  43. package/conformance/invalid-presentation-grants/duplicate-surfaces.json +5 -0
  44. package/conformance/invalid-presentation-grants/empty-surfaces.json +5 -0
  45. package/conformance/invalid-presentation-grants/false-confirmation.json +5 -0
  46. package/conformance/invalid-presentation-grants/missing-confirmation.json +4 -0
  47. package/conformance/invalid-presentation-grants/unknown-surface.json +5 -0
  48. package/conformance/invalid-presentation-requests/change-surface-missing-surface.json +4 -0
  49. package/conformance/invalid-presentation-requests/close-with-surface.json +4 -0
  50. package/conformance/invalid-presentation-requests/focus-boundary-missing-direction.json +4 -0
  51. package/conformance/invalid-presentation-requests/focus-boundary-unknown-direction.json +4 -0
  52. package/conformance/invalid-presentation-requests/focus-boundary-with-coordinates.json +9 -0
  53. package/conformance/invalid-presentation-requests/focus-boundary-with-event-provenance.json +8 -0
  54. package/conformance/invalid-presentation-requests/focus-boundary-with-generation.json +8 -0
  55. package/conformance/invalid-presentation-requests/focus-boundary-with-identity.json +12 -0
  56. package/conformance/invalid-presentation-requests/focus-boundary-with-key.json +8 -0
  57. package/conformance/invalid-presentation-requests/focus-boundary-with-modifiers.json +11 -0
  58. package/conformance/invalid-presentation-requests/focus-boundary-with-selector.json +8 -0
  59. package/conformance/invalid-presentation-requests/focus-boundary-with-surface.json +8 -0
  60. package/conformance/invalid-presentation-requests/focus-boundary-with-target.json +8 -0
  61. package/conformance/invalid-presentation-requests/focus-boundary-with-timestamp.json +8 -0
  62. package/conformance/invalid-presentation-requests/focus-boundary-with-z-index.json +8 -0
  63. package/conformance/invalid-presentation-requests/present-missing-surface.json +4 -0
  64. package/conformance/invalid-presentation-requests/unknown-surface.json +4 -0
  65. package/conformance/invalid-presentation-requests/widget-controls-coordinates.json +9 -0
  66. package/conformance/invalid-presentation-requests/widget-controls-geometry.json +8 -0
  67. package/conformance/invalid-presentation-requests/widget-controls-instance-id.json +8 -0
  68. package/conformance/invalid-presentation-requests/widget-controls-principal.json +8 -0
  69. package/conformance/invalid-presentation-requests/widget-controls-run-id.json +4 -0
  70. package/conformance/invalid-presentation-requests/widget-controls-widget-id.json +8 -0
  71. package/conformance/invalid-presentation-requests/widget-controls-widget-version-id.json +8 -0
  72. package/conformance/invalid-presentation-requests/widget-controls-z-index.json +4 -0
  73. package/conformance/invalid-render-inputs/malformed.json +17 -0
  74. package/conformance/manifests/valid-file-preview.json +12 -0
  75. package/conformance/manifests/valid-network.json +15 -0
  76. package/conformance/manifests/valid-panel.json +11 -0
  77. package/conformance/manifests/valid-presentation-panel.json +21 -0
  78. package/conformance/manifests/valid-tool-result.json +14 -0
  79. package/conformance/render-inputs/compatibility/literature-search-paper-results.json +75 -0
  80. package/conformance/render-inputs/compatibility/scientific-bibliography-bibtex.json +10 -0
  81. package/conformance/render-inputs/compatibility/scientific-dataset-csv.json +10 -0
  82. package/conformance/render-inputs/compatibility/scientific-manuscript-latex.json +10 -0
  83. package/conformance/render-inputs/compatibility/scientific-manuscript-markdown.json +10 -0
  84. package/conformance/render-inputs/compatibility/scientific-molecule-mol.json +10 -0
  85. package/conformance/render-inputs/compatibility/scientific-molecule-mol2.json +10 -0
  86. package/conformance/render-inputs/compatibility/scientific-notebook-ipynb.json +10 -0
  87. package/conformance/render-inputs/compatibility/scientific-paper-pdf.json +10 -0
  88. package/conformance/render-inputs/compatibility/scientific-protein-pdb.json +10 -0
  89. package/conformance/render-inputs/compatibility/scientific-source-python.json +10 -0
  90. package/conformance/render-inputs/compatibility/scientific-structure-cif.json +47 -0
  91. package/conformance/render-inputs/compatibility/scientific-structure-poscar.json +10 -0
  92. package/conformance/render-inputs/compatibility/scientific-structure-stru.json +10 -0
  93. package/conformance/render-inputs/compatibility/scientific-trajectory-xyz.json +10 -0
  94. package/conformance/render-inputs/compatibility/thinking-process-paper-search.json +25 -0
  95. package/conformance/render-inputs/compatibility/thinking-process-scholar-search.json +25 -0
  96. package/conformance/render-inputs/compatibility/thinking-process-web-search.json +25 -0
  97. package/conformance/render-inputs/compatibility/workspace-file-search.json +24 -0
  98. package/conformance/render-inputs/compatibility/workspace-file-tree.json +24 -0
  99. package/conformance/render-inputs/empty.json +10 -0
  100. package/conformance/render-inputs/file-preview.json +10 -0
  101. package/conformance/render-inputs/incremental-update.json +10 -0
  102. package/conformance/render-inputs/large.json +10 -0
  103. package/conformance/render-inputs/malformed.json +1 -0
  104. package/conformance/render-inputs/panel.json +10 -0
  105. package/conformance/render-inputs/partial-state-full-snapshot.json +40 -0
  106. package/conformance/render-inputs/tool-result.json +10 -0
  107. package/dist/generated-host-runtime-config.d.ts +246 -0
  108. package/dist/generated-host-runtime-config.js +3 -0
  109. package/dist/generated-manifest.d.ts +86 -0
  110. package/dist/generated-manifest.js +3 -0
  111. package/dist/generated-runtime-contracts.d.ts +401 -0
  112. package/dist/generated-runtime-contracts.js +3 -0
  113. package/dist/index.d.ts +22 -0
  114. package/dist/index.js +2 -0
  115. package/package.json +55 -0
  116. package/schemas/host-runtime-config.schema.json +185 -0
  117. package/schemas/widget-manifest.schema.json +227 -0
  118. package/schemas/widget-runtime-contracts.schema.json +1478 -0
@@ -0,0 +1,55 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "hostApiVersion": 1,
4
+ "configId": "config-invalid",
5
+ "runId": "run-invalid",
6
+ "mode": "preview",
7
+ "issuedAt": "2026-09-03T10:00:00Z",
8
+ "expiresAt": "2026-09-03T10:01:00Z",
9
+ "recheckAt": "2026-09-03T10:00:30Z",
10
+ "securityProfile": "runtime-security-profile-v1",
11
+ "resourceBudget": {
12
+ "version": 1,
13
+ "bundle": { "compressedBytes": 1, "expandedBytes": 1, "fileCount": 1, "singleFileBytes": 1 },
14
+ "bridge": { "messageBytes": 1, "messagesPerSecond": 1, "pendingRequests": 1 },
15
+ "files": { "readBytesPerRequest": 1, "readBytesPerRun": 1, "callsPerMinute": 1, "listPageSize": 1 },
16
+ "timeouts": { "bundleLoadMs": 1, "handshakeMs": 1, "firstRenderMs": 1, "updateMs": 1, "capabilityMs": 1, "disposeGraceMs": 1 },
17
+ "concurrency": { "activeIframesPerPage": 1, "activeIframesPerRun": 1, "hiddenRecycleMs": 1 },
18
+ "retry": { "maxAttempts": 1, "initialDelayMs": 1, "maxDelayMs": 1, "totalMs": 1 },
19
+ "failure": { "consecutiveFailures": 1, "windowMs": 1 }
20
+ },
21
+ "runtime": { "origin": "https://widgets.example.test", "catalogRevision": "catalog-1" },
22
+ "network": {
23
+ "mode": "runtime-consent",
24
+ "policyVersion": "network-policy-1",
25
+ "limits": {
26
+ "timeoutMs": 10000,
27
+ "maxRedirects": 5,
28
+ "maxConcurrentRequests": 4,
29
+ "callsPerMinute": 60,
30
+ "requestHeaderBytes": 16384,
31
+ "responseHeaderBytes": 32768,
32
+ "requestBodyBytes": 1048576,
33
+ "responseBodyBytes": 8388608
34
+ }
35
+ },
36
+ "bindings": [
37
+ {
38
+ "status": "loadable",
39
+ "bindingId": "binding-invalid",
40
+ "widgetId": "widget-invalid",
41
+ "widgetVersionId": "widget-version-invalid",
42
+ "digest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
43
+ "manifest": {
44
+ "name": "Incomplete manifest",
45
+ "widgetConfig": {
46
+ "entry": "entry.js",
47
+ "widgetSdkVersion": "0.0.1",
48
+ "slot": { "type": "panel", "panelType": "analysis-summary" }
49
+ }
50
+ },
51
+ "launch": { "url": "https://widgets.example.test/launch/one-time", "expiresAt": "2026-09-03T10:01:00Z" },
52
+ "grantedCapabilities": []
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "hostApiVersion": 1,
4
+ "configId": "config-static-origins",
5
+ "runId": "run-static-origins",
6
+ "mode": "preview",
7
+ "issuedAt": "2026-09-11T10:00:00Z",
8
+ "expiresAt": "2026-09-11T10:01:00Z",
9
+ "recheckAt": "2026-09-11T10:00:30Z",
10
+ "securityProfile": "runtime-security-profile-v1",
11
+ "resourceBudget": {
12
+ "version": 1,
13
+ "bundle": { "compressedBytes": 1, "expandedBytes": 1, "fileCount": 1, "singleFileBytes": 1 },
14
+ "bridge": { "messageBytes": 1, "messagesPerSecond": 1, "pendingRequests": 1 },
15
+ "files": { "readBytesPerRequest": 1, "readBytesPerRun": 1, "callsPerMinute": 1, "listPageSize": 1 },
16
+ "timeouts": { "bundleLoadMs": 1, "handshakeMs": 1, "firstRenderMs": 1, "updateMs": 1, "capabilityMs": 1, "disposeGraceMs": 1 },
17
+ "concurrency": { "activeIframesPerPage": 1, "activeIframesPerRun": 1, "hiddenRecycleMs": 1 },
18
+ "retry": { "maxAttempts": 1, "initialDelayMs": 1, "maxDelayMs": 1, "totalMs": 1 },
19
+ "failure": { "consecutiveFailures": 1, "windowMs": 1 }
20
+ },
21
+ "runtime": { "origin": "https://widgets.example.test", "catalogRevision": "catalog-1" },
22
+ "network": {
23
+ "mode": "runtime-consent",
24
+ "policyVersion": "network-policy-1",
25
+ "limits": {
26
+ "timeoutMs": 10000,
27
+ "maxRedirects": 5,
28
+ "maxConcurrentRequests": 4,
29
+ "callsPerMinute": 60,
30
+ "requestHeaderBytes": 16384,
31
+ "responseHeaderBytes": 32768,
32
+ "requestBodyBytes": 1048576,
33
+ "responseBodyBytes": 8388608
34
+ }
35
+ },
36
+ "bindings": [
37
+ {
38
+ "status": "loadable",
39
+ "bindingId": "binding-static",
40
+ "widgetId": "widget-static",
41
+ "widgetVersionId": "widget-static-version",
42
+ "digest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
43
+ "manifest": {
44
+ "name": "Static Origins",
45
+ "widgetConfig": {
46
+ "schemaVersion": 1,
47
+ "hostApiVersion": 1,
48
+ "widgetSdkVersion": "0.0.1",
49
+ "entry": "entry.js",
50
+ "slot": { "type": "panel", "panelType": "static-origins" },
51
+ "outboundOrigins": ["https://api.example.test"],
52
+ "samples": [{ "id": "normal", "title": "Normal", "request": "samples/panel.json" }]
53
+ }
54
+ },
55
+ "launch": { "url": "https://widgets.example.test/launch/one-time", "expiresAt": "2026-09-11T10:01:00Z" },
56
+ "grantedCapabilities": [],
57
+ "grantedOutboundOrigins": ["https://api.example.test"]
58
+ }
59
+ ]
60
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "hostApiVersion": 1,
4
+ "configId": "config-1",
5
+ "runId": "run-1",
6
+ "mode": "preview",
7
+ "issuedAt": "2026-09-03T10:00:00Z",
8
+ "expiresAt": "2026-09-03T10:01:00Z",
9
+ "recheckAt": "2026-09-03T10:00:30Z",
10
+ "securityProfile": "runtime-security-profile-v1",
11
+ "resourceBudget": {
12
+ "version": 1,
13
+ "bundle": { "compressedBytes": 1, "expandedBytes": 1, "fileCount": 1, "singleFileBytes": 1 },
14
+ "bridge": { "messageBytes": 1, "messagesPerSecond": 1, "pendingRequests": 1 },
15
+ "files": { "readBytesPerRequest": 1, "readBytesPerRun": 1, "callsPerMinute": 1, "listPageSize": 1 },
16
+ "timeouts": { "bundleLoadMs": 1, "handshakeMs": 1, "firstRenderMs": 1, "updateMs": 1, "capabilityMs": 1, "disposeGraceMs": 1 },
17
+ "concurrency": { "activeIframesPerPage": 1, "activeIframesPerRun": 1, "hiddenRecycleMs": 1 },
18
+ "retry": { "maxAttempts": 1, "initialDelayMs": 1, "maxDelayMs": 1, "totalMs": 1 },
19
+ "failure": { "consecutiveFailures": 1, "windowMs": 1 }
20
+ },
21
+ "runtime": {
22
+ "origin": "https://widgets.example.test",
23
+ "catalogRevision": "catalog-2026-09-11.1"
24
+ },
25
+ "network": {
26
+ "mode": "runtime-consent",
27
+ "policyVersion": "network-policy-v1",
28
+ "limits": {
29
+ "timeoutMs": 10000,
30
+ "maxRedirects": 5,
31
+ "maxConcurrentRequests": 4,
32
+ "callsPerMinute": 60,
33
+ "requestHeaderBytes": 16384,
34
+ "responseHeaderBytes": 32768,
35
+ "requestBodyBytes": 1048576,
36
+ "responseBodyBytes": 8388608
37
+ }
38
+ },
39
+ "bindings": [
40
+ {
41
+ "status": "loadable",
42
+ "bindingId": "binding-1",
43
+ "widgetId": "widget-1",
44
+ "widgetVersionId": "widget-version-1",
45
+ "digest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
46
+ "manifest": {
47
+ "name": "Analysis Summary",
48
+ "description": "A complete manifest.",
49
+ "widgetConfig": {
50
+ "schemaVersion": 1,
51
+ "hostApiVersion": 1,
52
+ "widgetSdkVersion": "0.0.1",
53
+ "entry": "entry.js",
54
+ "slot": { "type": "panel", "panelType": "analysis-summary" },
55
+ "requestedCapabilities": { "network": { "fetch": true } },
56
+ "samples": [{ "id": "normal", "title": "Normal", "request": "samples/panel.json" }]
57
+ }
58
+ },
59
+ "launch": { "url": "https://widgets.example.test/launch/one-time", "expiresAt": "2026-09-03T10:01:00Z" },
60
+ "grantedCapabilities": [
61
+ {
62
+ "name": "network.fetch",
63
+ "limits": {
64
+ "timeoutMs": 10000,
65
+ "maxRedirects": 5,
66
+ "maxConcurrentRequests": 4,
67
+ "callsPerMinute": 60,
68
+ "requestHeaderBytes": 16384,
69
+ "responseHeaderBytes": 32768,
70
+ "requestBodyBytes": 1048576,
71
+ "responseBodyBytes": 8388608
72
+ }
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "status": "fallback",
78
+ "bindingId": "binding-2",
79
+ "widgetId": "widget-2",
80
+ "widgetVersionId": "widget-version-2",
81
+ "slot": { "type": "file-preview", "extensions": ["cif"] },
82
+ "reason": "not-approved"
83
+ }
84
+ ]
85
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "protocolVersion": 1,
3
+ "channelId": "0123456789abcdef0123456789abcdef",
4
+ "messageId": "widget-network-invalid-header-1",
5
+ "sequence": 4,
6
+ "type": "capability-request",
7
+ "payload": {
8
+ "requestId": "network-invalid-header-1",
9
+ "request": {
10
+ "operation": "network.fetch",
11
+ "input": {
12
+ "url": "https://api.example.test/private",
13
+ "auth": "required",
14
+ "method": "GET",
15
+ "headers": {
16
+ "pRoXy-AuThOrIzAtIoN": "must-stay-host-private"
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "Missing target",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "tool-result" },
9
+ "samples": [{ "id": "normal", "title": "Normal", "request": "samples/normal.json" }]
10
+ }
11
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "Invalid duplicate presentation surfaces",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "panel", "panelType": "sciforge-research" },
9
+ "requestedCapabilities": {
10
+ "presentation": { "surfaces": ["floating", "floating"] }
11
+ },
12
+ "samples": [
13
+ { "id": "normal", "title": "Panel", "request": "samples/panel.json" }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "Invalid empty presentation surfaces",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "panel", "panelType": "sciforge-research" },
9
+ "requestedCapabilities": { "presentation": { "surfaces": [] } },
10
+ "samples": [
11
+ { "id": "normal", "title": "Panel", "request": "samples/panel.json" }
12
+ ]
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "Invalid unknown presentation surface",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "panel", "panelType": "sciforge-research" },
9
+ "requestedCapabilities": {
10
+ "presentation": { "surfaces": ["popover"] }
11
+ },
12
+ "samples": [
13
+ { "id": "normal", "title": "Panel", "request": "samples/panel.json" }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Unknown field",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "panel", "panelType": "analysis-summary" },
9
+ "samples": [{ "id": "normal", "title": "Normal", "request": "samples/normal.json" }],
10
+ "internalToken": "must-not-be-accepted"
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "operation": "network.fetch",
3
+ "input": {
4
+ "url": "https://api.example.test/private",
5
+ "auth": "optional",
6
+ "method": "GET",
7
+ "headers": {
8
+ "x-aPi-kEy": "must-stay-host-private"
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "ui.presentation",
3
+ "surfaces": ["floating", "floating"],
4
+ "requiresHostConfirmation": true
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "ui.presentation",
3
+ "surfaces": [],
4
+ "requiresHostConfirmation": true
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "ui.presentation",
3
+ "surfaces": ["floating"],
4
+ "requiresHostConfirmation": false
5
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "ui.presentation",
3
+ "surfaces": ["floating"]
4
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "ui.presentation",
3
+ "surfaces": ["popover"],
4
+ "requiresHostConfirmation": true
5
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "change-surface" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "close", "surface": "workspace" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "focus-boundary" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "focus-boundary", "direction": "sideways" }
4
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "x": 10,
7
+ "y": 20
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "isTrusted": true
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "runtimeGeneration": "generation-1"
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "principal": "user-1",
7
+ "runId": "run-1",
8
+ "widgetId": "widget-1",
9
+ "widgetVersionId": "widget-version-1",
10
+ "instanceId": "instance-1"
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "key": "Escape"
7
+ }
8
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "backward",
6
+ "altKey": false,
7
+ "ctrlKey": false,
8
+ "metaKey": false,
9
+ "shiftKey": true
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "selector": "#host-secret"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "surface": "overlay"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "target": "panel-2"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "timestamp": 1234
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "focus-boundary",
5
+ "direction": "forward",
6
+ "zIndex": 9999
7
+ }
8
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "present" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "present", "surface": "popover" }
4
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "x": 120,
7
+ "y": 80
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "geometry": { "x": 120, "y": 80, "width": 640, "height": 480 }
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "instanceId": "instance-1"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "principal": "user-1"
7
+ }
8
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "present", "surface": "floating", "runId": "run-1" }
4
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "widgetId": "widget-1"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": {
4
+ "action": "present",
5
+ "surface": "floating",
6
+ "widgetVersionId": "widget-version-1"
7
+ }
8
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "operation": "ui.presentation",
3
+ "input": { "action": "present", "surface": "floating", "zIndex": 9999 }
4
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "requestId": "request-malformed-1",
4
+ "instanceId": "instance-malformed-1",
5
+ "revision": 1,
6
+ "slot": "panel",
7
+ "state": "complete",
8
+ "content": {
9
+ "slot": "tool-result",
10
+ "tool": {
11
+ "name": "literature__search",
12
+ "callId": "call-malformed-1",
13
+ "status": "succeeded"
14
+ },
15
+ "input": {}
16
+ }
17
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "Structure Preview",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "file-preview", "extensions": ["cif", "xyz"] },
9
+ "requestedCapabilities": { "files": { "metadata": true, "read": true } },
10
+ "samples": [{ "id": "normal", "title": "CIF file", "request": "samples/file-preview.json" }]
11
+ }
12
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "Network Analysis",
3
+ "description": "A Host-mediated network Widget.",
4
+ "widgetConfig": {
5
+ "schemaVersion": 1,
6
+ "hostApiVersion": 1,
7
+ "widgetSdkVersion": "0.0.1",
8
+ "entry": "entry.js",
9
+ "slot": { "type": "panel", "panelType": "network-analysis" },
10
+ "requestedCapabilities": { "network": { "fetch": true } },
11
+ "samples": [
12
+ { "id": "normal", "title": "Normal", "request": "samples/panel.json" }
13
+ ]
14
+ }
15
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "Analysis Summary",
3
+ "widgetConfig": {
4
+ "schemaVersion": 1,
5
+ "hostApiVersion": 1,
6
+ "widgetSdkVersion": "0.0.1",
7
+ "entry": "dist/widget.js",
8
+ "slot": { "type": "panel", "panelType": "analysis-summary" },
9
+ "samples": [{ "id": "normal", "title": "Summary", "request": "samples/panel.json" }]
10
+ }
11
+ }