@mgamadeus/ddd-agents 0.1.0-alpha.22 → 0.1.0-alpha.24
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/README.md +3 -2
- package/dist/chat.js +87 -893
- package/dist/chat.js.map +1 -1
- package/dist/chunks/ConversationMessageInputComposerWidgets-BxyaFBA6.js +631 -0
- package/dist/chunks/ConversationMessageInputComposerWidgets-BxyaFBA6.js.map +1 -0
- package/dist/chunks/{WebSearchResultsConversationWidget-BvnLWHyi.js → WebSearchResultsConversationWidget-as3p5bHw.js} +147 -1125
- package/dist/chunks/WebSearchResultsConversationWidget-as3p5bHw.js.map +1 -0
- package/dist/chunks/{canvas-behaviours-BRFR1ALE.js → canvas-behaviours-AvzKSYyv.js} +4 -4
- package/dist/chunks/{canvas-behaviours-BRFR1ALE.js.map → canvas-behaviours-AvzKSYyv.js.map} +1 -1
- package/dist/chunks/canvas-reducers-Bfp_i7lc.js +88 -0
- package/dist/chunks/canvas-reducers-Bfp_i7lc.js.map +1 -0
- package/dist/chunks/{canvasBodies-9SuF6NAB.js → canvasBodies-Cvu3l38p.js} +12 -6
- package/dist/chunks/canvasBodies-Cvu3l38p.js.map +1 -0
- package/dist/chunks/canvasStorage-EvQsGdto.js +65 -0
- package/dist/chunks/canvasStorage-EvQsGdto.js.map +1 -0
- package/dist/chunks/contract-BxmMxYPF.js +96 -0
- package/dist/chunks/contract-BxmMxYPF.js.map +1 -0
- package/dist/chunks/conversation-BEF0aesf.js +31 -0
- package/dist/chunks/conversation-BEF0aesf.js.map +1 -0
- package/dist/chunks/entity-detail-name-3A82gDAp.js +15 -0
- package/dist/chunks/entity-detail-name-3A82gDAp.js.map +1 -0
- package/dist/chunks/icon-names-Di6c4zLo.js +86 -0
- package/dist/chunks/icon-names-Di6c4zLo.js.map +1 -0
- package/dist/chunks/index-7Qc_3GbG.js +1046 -0
- package/dist/chunks/index-7Qc_3GbG.js.map +1 -0
- package/dist/chunks/{ConversationMarkdown-W7NHglmL.js → widget-click-signal-sources-DulRkNvZ.js} +54 -7
- package/dist/chunks/widget-click-signal-sources-DulRkNvZ.js.map +1 -0
- package/dist/chunks/{widget-image-readiness-signal-DeOuL89j.js → widget-image-readiness-signal-D3ci53xr.js} +2 -2
- package/dist/chunks/{widget-image-readiness-signal-DeOuL89j.js.map → widget-image-readiness-signal-D3ci53xr.js.map} +1 -1
- package/dist/chunks/{widget-name-resolver-DyIY6Zu4.js → widget-name-resolver-BGN3HpoG.js} +80 -117
- package/dist/chunks/widget-name-resolver-BGN3HpoG.js.map +1 -0
- package/dist/chunks/{withPollingChangeSubscription-BLDAWF-o.js → withPollingChangeSubscription-B16htQGd.js} +2 -2
- package/dist/chunks/{withPollingChangeSubscription-BLDAWF-o.js.map → withPollingChangeSubscription-B16htQGd.js.map} +1 -1
- package/dist/client-testing.js +91 -2
- package/dist/client-testing.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/contract.js +8 -27
- package/dist/contract.js.map +1 -1
- package/dist/files/chat/Conversation.module.scss +268 -0
- package/dist/files/chat/ConversationViewBody/ConversationViewBody.module.scss +336 -0
- package/dist/files/chat/_conversation-tokens.scss +37 -0
- package/dist/files/image-render/WidgetImageRender.module.scss +22 -0
- package/dist/files/kit/ComposedViewConversationWidget.md +59 -0
- package/dist/files/kit/components/data/data.preview-fixtures.json +3298 -0
- package/dist/files/kit/components/embedding/widget.preview-fixtures.json +147 -0
- package/dist/files/kit/components/entity/entity-link.preview-fixtures.json +340 -0
- package/dist/files/kit/components/form/form.preview-fixtures.json +319 -0
- package/dist/files/kit/components/inputs/button.preview-fixtures.json +301 -0
- package/dist/files/kit/components/inputs/checkbox.preview-fixtures.json +35 -0
- package/dist/files/kit/components/inputs/date-picker.preview-fixtures.json +36 -0
- package/dist/files/kit/components/inputs/input.preview-fixtures.json +55 -0
- package/dist/files/kit/components/inputs/radio-group.preview-fixtures.json +76 -0
- package/dist/files/kit/components/inputs/select.preview-fixtures.json +314 -0
- package/dist/files/kit/components/inputs/slider.preview-fixtures.json +178 -0
- package/dist/files/kit/components/inputs/tabs.preview-fixtures.json +304 -0
- package/dist/files/kit/components/inputs/textarea.preview-fixtures.json +37 -0
- package/dist/files/kit/components/layout/layout.preview-fixtures.json +892 -0
- package/dist/files/kit/components/map/map.preview-fixtures.json +339 -0
- package/dist/files/kit/components/media/image-group.preview-fixtures.json +228 -0
- package/dist/files/kit/components/media/image.preview-fixtures.json +61 -0
- package/dist/files/kit/components/media/video-card/video-card.preview-fixtures.json +121 -0
- package/dist/files/kit/components/media/video.preview-fixtures.json +68 -0
- package/dist/files/kit/components/rich/code.preview-fixtures.json +105 -0
- package/dist/files/kit/components/rich/diagram.preview-fixtures.json +89 -0
- package/dist/files/kit/components/rich/math.preview-fixtures.json +152 -0
- package/dist/files/kit/components/rich/svg.preview-fixtures.json +243 -0
- package/dist/files/kit/components/text/badge.preview-fixtures.json +44 -0
- package/dist/files/kit/components/text/caption.preview-fixtures.json +31 -0
- package/dist/files/kit/components/text/favicon.preview-fixtures.json +69 -0
- package/dist/files/kit/components/text/label.preview-fixtures.json +48 -0
- package/dist/files/kit/components/text/link.preview-fixtures.json +103 -0
- package/dist/files/kit/components/text/markdown.preview-fixtures.json +29 -0
- package/dist/files/kit/components/text/source-ref.preview-fixtures.json +51 -0
- package/dist/files/kit/components/text/text.preview-fixtures.json +106 -0
- package/dist/files/kit/components/text/title.preview-fixtures.json +172 -0
- package/dist/files/kit/composed-view-widget-contract.json +88 -0
- package/dist/files/kit/composed-view.preview-fixtures.json +376 -0
- package/dist/files/renderer/conversation-widget-layout.module.scss +47 -0
- package/dist/files/renderer/widget-tree/composed-node-schema.json +3428 -0
- package/dist/files/styles/_conversation-widget-container.scss +6 -0
- package/dist/files/styles/_media.scss +50 -0
- package/dist/files/styles/_spacings.scss +23 -0
- package/dist/files/styles/_surfaces.scss +28 -0
- package/dist/files/widgets/ClockConversationWidget/ClockConversationWidget.md +53 -0
- package/dist/files/widgets/ClockConversationWidget/clock.preview-fixtures.json +76 -0
- package/dist/files/widgets/ConceptExplainerConversationWidget/ConceptExplainerConversationWidget.md +86 -0
- package/dist/files/widgets/ConceptExplainerConversationWidget/concept-explainer.preview-fixtures.json +23 -0
- package/dist/files/widgets/ConversationSearchResultsConversationWidget/ConversationSearchResultsConversationWidget.md +59 -0
- package/dist/files/widgets/ConversationSearchResultsConversationWidget/conversation-search-results.preview-fixtures.json +85 -0
- package/dist/files/widgets/CurrencyConverterConversationWidget/CurrencyConverterConversationWidget.md +51 -0
- package/dist/files/widgets/CurrencyConverterConversationWidget/currency-converter.preview-fixtures.json +73 -0
- package/dist/files/widgets/CustomVisualizationConversationWidget/CustomVisualizationConversationWidget.md +83 -0
- package/dist/files/widgets/CustomVisualizationConversationWidget/custom-visualization.preview-fixtures.json +227 -0
- package/dist/files/widgets/CustomVisualizationConversationWidget/sandbox-frame/custom-visualization-frame.html +188 -0
- package/dist/files/widgets/EntityMentionConversationWidget/EntityMentionConversationWidget.md +55 -0
- package/dist/files/widgets/EntityMentionConversationWidget/entity-mention.preview-fixtures.json +55 -0
- package/dist/files/widgets/MultiChoiceConversationWidget/MultiChoiceConversationWidget.md +61 -0
- package/dist/files/widgets/MultiChoiceConversationWidget/multi-choice-widget-contract.json +43 -0
- package/dist/files/widgets/MultiChoiceConversationWidget/multi-choice.preview-fixtures.json +103 -0
- package/dist/files/widgets/QuickRepliesConversationWidget/QuickRepliesConversationWidget.md +65 -0
- package/dist/files/widgets/QuickRepliesConversationWidget/quick-replies-widget-contract.json +43 -0
- package/dist/files/widgets/QuickRepliesConversationWidget/quick-replies.preview-fixtures.json +45 -0
- package/dist/files/widgets/SuggestedActions/SuggestedActions.md +60 -0
- package/dist/files/widgets/SuggestedActions/suggested-actions.preview-fixtures.json +19 -0
- package/dist/files/widgets/ToolTraceConversationWidget/ToolTraceConversationWidget.md +48 -0
- package/dist/files/widgets/ToolTraceConversationWidget/tool-trace.preview-fixtures.json +32 -0
- package/dist/files/widgets/WebSearchResultsConversationWidget/WebSearchResultsConversationWidget.md +49 -0
- package/dist/files/widgets/WebSearchResultsConversationWidget/web-search-results.preview-fixtures.json +57 -0
- package/dist/files/widgets/WritingDraftConversationWidget/WritingDraftConversationWidget.md +66 -0
- package/dist/files/widgets/WritingDraftConversationWidget/writing-draft.preview-fixtures.json +129 -0
- package/dist/image-render.js +11 -10
- package/dist/image-render.js.map +1 -1
- package/dist/index.js +32 -27
- package/dist/index.js.map +1 -1
- package/dist/kit.js +11 -2
- package/dist/kit.js.map +1 -1
- package/dist/preview.js +47 -18
- package/dist/preview.js.map +1 -1
- package/dist/provider.js +71 -0
- package/dist/provider.js.map +1 -0
- package/dist/renderer.js +142 -62
- package/dist/renderer.js.map +1 -1
- package/dist/styles.css +86 -38
- package/dist/types/client/testing/test-conversation-widgets.d.ts +25 -0
- package/dist/types/client/testing/widget-hydration-stand-ins.d.ts +42 -0
- package/dist/types/entries/chat.d.ts +12 -0
- package/dist/types/entries/client-testing.d.ts +4 -0
- package/dist/types/entries/contract.d.ts +1 -0
- package/dist/types/entries/index.d.ts +4 -3
- package/dist/types/entries/kit.d.ts +7 -0
- package/dist/types/entries/preview.d.ts +2 -0
- package/dist/types/entries/provider.d.ts +1 -0
- package/dist/types/entries/renderer.d.ts +19 -1
- package/dist/types/entries/widgets.d.ts +13 -0
- package/dist/types/kit/components/data/apex-chart-component.d.ts +3 -0
- package/dist/types/kit/components/data/chart-model.d.ts +164 -0
- package/dist/types/kit/components/data/data-value-format.d.ts +44 -0
- package/dist/types/kit/components/data/use-chart-palette.d.ts +9 -0
- package/dist/types/kit/components/data/use-number-locale.d.ts +5 -0
- package/dist/types/kit/components/map/use-google-maps-auth-failure.d.ts +18 -0
- package/dist/types/kit/entity-detail/entity-detail-bodies.d.ts +2 -0
- package/dist/types/provider/index.d.ts +1 -0
- package/dist/types/renderer/_access/ConversationWidgetGateSkeleton.d.ts +6 -0
- package/dist/types/renderer/_agent-space/use-conversation-widget-agent-space-fallback.d.ts +16 -0
- package/dist/types/renderer/canvas/entity-detail-instance.d.ts +5 -3
- package/dist/types/renderer/canvas/use-anchor-widget-agent-space-key.d.ts +17 -0
- package/dist/types/renderer/conversationWidgetRegistry.d.ts +6 -0
- package/dist/types/renderer/read-conversation-widget-variant.d.ts +22 -0
- package/dist/types/renderer/widget-hydration/use-widget-hydration.d.ts +5 -0
- package/dist/types/widgets/EntityMentionConversationWidget/stories/EntityMentionAskFlowStory.d.ts +8 -0
- package/dist/types/widgets/_shared/CardFooter.d.ts +6 -0
- package/dist/types/widgets/_shared/WidgetLabel.d.ts +8 -0
- package/dist/types/widgets/_shared/entity-update-channel.d.ts +17 -0
- package/dist/types/widgets/_shared/use-element-visible.d.ts +6 -0
- package/dist/widgets.js +120 -27
- package/dist/widgets.js.map +1 -1
- package/package.json +74 -1
- package/public-api.json +779 -0
- package/dist/chunks/ConversationMarkdown-W7NHglmL.js.map +0 -1
- package/dist/chunks/WebSearchResultsConversationWidget-BvnLWHyi.js.map +0 -1
- package/dist/chunks/canvasBodies-9SuF6NAB.js.map +0 -1
- package/dist/chunks/decide-canvas-open-Ct-wnNEJ.js +0 -20
- package/dist/chunks/decide-canvas-open-Ct-wnNEJ.js.map +0 -1
- package/dist/chunks/widget-name-resolver-DyIY6Zu4.js.map +0 -1
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
{
|
|
2
|
+
"wireName": "ComposedView",
|
|
3
|
+
"fixtures": [
|
|
4
|
+
{
|
|
5
|
+
"name": "map-business-pins",
|
|
6
|
+
"description": "Map node — three cafés with rating pins and labels, no carousel; the expand control opens the full-screen map with the list (ChatGPT 07 → 02b).",
|
|
7
|
+
"payload": {
|
|
8
|
+
"title": "Cafés in Münster",
|
|
9
|
+
"view": {
|
|
10
|
+
"type": "Map",
|
|
11
|
+
"title": "Cafés in Münster",
|
|
12
|
+
"points": [
|
|
13
|
+
{
|
|
14
|
+
"label": "KAWENTSMANNs CAFE & TAGESBAR",
|
|
15
|
+
"lat": 51.9632,
|
|
16
|
+
"lng": 7.6268,
|
|
17
|
+
"rating": 4.7,
|
|
18
|
+
"subtitle": "Café",
|
|
19
|
+
"detail": "Closed",
|
|
20
|
+
"detailTone": "negative"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"label": "roestbar Rothenburg",
|
|
24
|
+
"lat": 51.9594,
|
|
25
|
+
"lng": 7.6262,
|
|
26
|
+
"rating": 4.6,
|
|
27
|
+
"subtitle": "Café",
|
|
28
|
+
"detail": "Closed",
|
|
29
|
+
"detailTone": "negative"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"label": "1648 CAFÉ | LOUNGE | GASTRONOMIE",
|
|
33
|
+
"lat": 51.9606,
|
|
34
|
+
"lng": 7.629,
|
|
35
|
+
"rating": 3.9,
|
|
36
|
+
"subtitle": "Restaurant",
|
|
37
|
+
"detail": "Closed",
|
|
38
|
+
"detailTone": "negative"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"carousel": "hidden",
|
|
42
|
+
"minHeight": 420
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"expectedState": "data",
|
|
46
|
+
"width": 720,
|
|
47
|
+
"interactions": [
|
|
48
|
+
{
|
|
49
|
+
"name": "open-full-screen",
|
|
50
|
+
"click": {
|
|
51
|
+
"selector": "[data-testid=map-expand]"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "map-business-location",
|
|
58
|
+
"description": "Map node — five restaurants with photo cards in the bottom carousel; a card click selects the point and opens its entity detail panel (ChatGPT 42, 21, 21b).",
|
|
59
|
+
"payload": {
|
|
60
|
+
"actions": {
|
|
61
|
+
"openRestaurant1": {
|
|
62
|
+
"type": "openEntity",
|
|
63
|
+
"ref": "call_maps_1:business:0",
|
|
64
|
+
"entity": {
|
|
65
|
+
"entityType": "business",
|
|
66
|
+
"entityId": "301",
|
|
67
|
+
"agentSpaceId": 7
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"openRestaurant2": {
|
|
71
|
+
"type": "openEntity",
|
|
72
|
+
"ref": "call_maps_1:business:1",
|
|
73
|
+
"entity": {
|
|
74
|
+
"entityType": "business",
|
|
75
|
+
"entityId": "302",
|
|
76
|
+
"agentSpaceId": 7
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"openRestaurant3": {
|
|
80
|
+
"type": "openEntity",
|
|
81
|
+
"ref": "call_maps_1:business:2",
|
|
82
|
+
"entity": {
|
|
83
|
+
"entityType": "business",
|
|
84
|
+
"entityId": "303",
|
|
85
|
+
"agentSpaceId": 7
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"openRestaurant4": {
|
|
89
|
+
"type": "openEntity",
|
|
90
|
+
"ref": "call_maps_1:business:3",
|
|
91
|
+
"entity": {
|
|
92
|
+
"entityType": "business",
|
|
93
|
+
"entityId": "304",
|
|
94
|
+
"agentSpaceId": 7
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"openRestaurant5": {
|
|
98
|
+
"type": "openEntity",
|
|
99
|
+
"ref": "call_maps_1:business:4",
|
|
100
|
+
"entity": {
|
|
101
|
+
"entityType": "business",
|
|
102
|
+
"entityId": "305",
|
|
103
|
+
"agentSpaceId": 7
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"view": {
|
|
108
|
+
"type": "Map",
|
|
109
|
+
"title": "Restaurants in Münster's old town",
|
|
110
|
+
"points": [
|
|
111
|
+
{
|
|
112
|
+
"label": "Kleiner Kiepenkerl",
|
|
113
|
+
"lat": 51.9631,
|
|
114
|
+
"lng": 7.6264,
|
|
115
|
+
"rating": 4.3,
|
|
116
|
+
"subtitle": "Restaurant",
|
|
117
|
+
"detail": "Closed",
|
|
118
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjN2EzYjJlIi8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiNjOWEyN2UiLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjYzlhMjdlIi8+PC9zdmc+",
|
|
119
|
+
"action": "openRestaurant1",
|
|
120
|
+
"detailTone": "negative"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"label": "Großer Kiepenkerl Gasthaus",
|
|
124
|
+
"lat": 51.9636,
|
|
125
|
+
"lng": 7.6255,
|
|
126
|
+
"rating": 4.2,
|
|
127
|
+
"subtitle": "Restaurant",
|
|
128
|
+
"detail": "Closed",
|
|
129
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjNWI0NjM2Ii8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiNkOGMzYTUiLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjZDhjM2E1Ii8+PC9zdmc+",
|
|
130
|
+
"action": "openRestaurant2",
|
|
131
|
+
"detailTone": "negative"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"label": "Altes Gasthaus Leve",
|
|
135
|
+
"lat": 51.9617,
|
|
136
|
+
"lng": 7.6311,
|
|
137
|
+
"rating": 4.3,
|
|
138
|
+
"subtitle": "Restaurant",
|
|
139
|
+
"detail": "Closed",
|
|
140
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjM2U0YTNkIi8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiNiNWEzNmIiLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjYjVhMzZiIi8+PC9zdmc+",
|
|
141
|
+
"action": "openRestaurant3",
|
|
142
|
+
"detailTone": "negative"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"label": "Gasthaus Stuhlmacher",
|
|
146
|
+
"lat": 51.9619,
|
|
147
|
+
"lng": 7.6283,
|
|
148
|
+
"rating": 4.1,
|
|
149
|
+
"subtitle": "Restaurant",
|
|
150
|
+
"detail": "Closed",
|
|
151
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjNGEzYjUyIi8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiNjN2IzZDEiLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjYzdiM2QxIi8+PC9zdmc+",
|
|
152
|
+
"action": "openRestaurant4",
|
|
153
|
+
"detailTone": "negative"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"label": "Mocca d'or",
|
|
157
|
+
"lat": 51.9603,
|
|
158
|
+
"lng": 7.6266,
|
|
159
|
+
"rating": 3.6,
|
|
160
|
+
"subtitle": "Restaurant",
|
|
161
|
+
"detail": "Closed",
|
|
162
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjMmYzZDRmIi8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiM5ZmI0YzciLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjOWZiNGM3Ii8+PC9zdmc+",
|
|
163
|
+
"action": "openRestaurant5",
|
|
164
|
+
"detailTone": "negative"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"minHeight": 330
|
|
168
|
+
},
|
|
169
|
+
"title": "Business location map — five restaurants in Münster"
|
|
170
|
+
},
|
|
171
|
+
"expectedState": "data",
|
|
172
|
+
"width": 720,
|
|
173
|
+
"interactions": [
|
|
174
|
+
{
|
|
175
|
+
"name": "select-first-card",
|
|
176
|
+
"click": {
|
|
177
|
+
"selector": "[data-testid=map-point-card]"
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "open-full-screen",
|
|
182
|
+
"click": {
|
|
183
|
+
"selector": "[data-testid=map-expand]"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "map-route",
|
|
190
|
+
"description": "Map node — a route Münster → Köln: the travel-mode badge, the road line, numbered stops, the duration chip, the two stop cards and the distance / usual drive time tiles under the map (ChatGPT 40).",
|
|
191
|
+
"payload": {
|
|
192
|
+
"title": "Route Münster → Köln",
|
|
193
|
+
"view": {
|
|
194
|
+
"type": "Stack",
|
|
195
|
+
"gap": "medium",
|
|
196
|
+
"children": [
|
|
197
|
+
{
|
|
198
|
+
"type": "Stack",
|
|
199
|
+
"direction": "row",
|
|
200
|
+
"gap": "small",
|
|
201
|
+
"align": "center",
|
|
202
|
+
"children": [
|
|
203
|
+
{
|
|
204
|
+
"type": "Badge",
|
|
205
|
+
"text": "Car trip"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"type": "Text",
|
|
209
|
+
"text": "Münster to Köln",
|
|
210
|
+
"tone": "muted"
|
|
211
|
+
}
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"type": "Map",
|
|
216
|
+
"title": "Münster → Köln",
|
|
217
|
+
"points": [
|
|
218
|
+
{
|
|
219
|
+
"label": "48143 Münster, Nordrhein-Westfalen",
|
|
220
|
+
"lat": 51.9607,
|
|
221
|
+
"lng": 7.6261,
|
|
222
|
+
"subtitle": "Start here"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"label": "Köln",
|
|
226
|
+
"lat": 50.9375,
|
|
227
|
+
"lng": 6.9603,
|
|
228
|
+
"subtitle": "Car ~1 h 36 min",
|
|
229
|
+
"detail": "Visitor center",
|
|
230
|
+
"image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHJlY3Qgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBmaWxsPSIjNGI1ZDZiIi8+PHJlY3QgeD0iOCIgeT0iMzAiIHdpZHRoPSI0OCIgaGVpZ2h0PSIyNiIgcng9IjQiIGZpbGw9IiNjNGNjZDMiLz48Y2lyY2xlIGN4PSI0NiIgY3k9IjE4IiByPSI4IiBmaWxsPSIjYzRjY2QzIi8+PC9zdmc+"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"route": true,
|
|
234
|
+
"routePath": [
|
|
235
|
+
{
|
|
236
|
+
"lat": 51.9607,
|
|
237
|
+
"lng": 7.6261
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"lat": 51.8336,
|
|
241
|
+
"lng": 7.5838
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"lat": 51.6597,
|
|
245
|
+
"lng": 7.5072
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"lat": 51.5136,
|
|
249
|
+
"lng": 7.4653
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"lat": 51.3946,
|
|
253
|
+
"lng": 7.329
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"lat": 51.2562,
|
|
257
|
+
"lng": 7.1508
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"lat": 51.0936,
|
|
261
|
+
"lng": 7.0305
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"lat": 50.9375,
|
|
265
|
+
"lng": 6.9603
|
|
266
|
+
}
|
|
267
|
+
],
|
|
268
|
+
"routeLabel": "1.6 hours",
|
|
269
|
+
"minHeight": 350
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"type": "Grid",
|
|
273
|
+
"columns": 2,
|
|
274
|
+
"gap": "small",
|
|
275
|
+
"children": [
|
|
276
|
+
{
|
|
277
|
+
"type": "KpiTile",
|
|
278
|
+
"label": "Route length (ADAC)",
|
|
279
|
+
"value": 152,
|
|
280
|
+
"format": "number",
|
|
281
|
+
"unit": "km",
|
|
282
|
+
"detail": "approx.",
|
|
283
|
+
"source": "adac.de"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"type": "KpiTile",
|
|
287
|
+
"label": "Usual drive time",
|
|
288
|
+
"value": "1 h 47 min",
|
|
289
|
+
"detail": "without traffic jams",
|
|
290
|
+
"source": "adac.de"
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"expectedState": "data",
|
|
298
|
+
"width": 720,
|
|
299
|
+
"interactions": [
|
|
300
|
+
{
|
|
301
|
+
"name": "select-destination",
|
|
302
|
+
"click": {
|
|
303
|
+
"selector": "[data-testid=map-point-card][data-point-key=point-1]"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "map-empty",
|
|
310
|
+
"description": "Map node without points — one muted line, the block reports empty.",
|
|
311
|
+
"payload": {
|
|
312
|
+
"view": {
|
|
313
|
+
"type": "Map",
|
|
314
|
+
"points": []
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"expectedState": "empty",
|
|
318
|
+
"width": 528
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "map-loading",
|
|
322
|
+
"description": "Map node whose points wait for a tool result ($from pending) — the frame-shaped skeleton.",
|
|
323
|
+
"payload": {
|
|
324
|
+
"view": {
|
|
325
|
+
"type": "Map",
|
|
326
|
+
"points": {
|
|
327
|
+
"$from": {
|
|
328
|
+
"toolCall": "call_maps_1",
|
|
329
|
+
"path": "$.rows",
|
|
330
|
+
"state": "pending"
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"expectedState": "loading",
|
|
336
|
+
"width": 528
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
{
|
|
2
|
+
"wireName": "ComposedView",
|
|
3
|
+
"fixtures": [
|
|
4
|
+
{
|
|
5
|
+
"name": "image-group-grid",
|
|
6
|
+
"description": "The Cologne Cathedral gallery of ChatGPT (44): four tiles (two per row at the chat width — the 220px tile floor of the design checklist), the last one counting the hidden pictures; a tile opens the lightbox (Storybook — the preview page mounts no modal root).",
|
|
7
|
+
"payload": {
|
|
8
|
+
"title": "Kölner Dom",
|
|
9
|
+
"view": {
|
|
10
|
+
"type": "ImageGroup",
|
|
11
|
+
"images": [
|
|
12
|
+
{
|
|
13
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/a/a1/K%C3%B6lner_Dom_nachts_2013.jpg/960px-K%C3%B6lner_Dom_nachts_2013.jpg",
|
|
14
|
+
"alt": "Cologne Cathedral lit up at night",
|
|
15
|
+
"title": "Außenfassade bei Nacht",
|
|
16
|
+
"source": {
|
|
17
|
+
"name": "commons.wikimedia.org",
|
|
18
|
+
"url": "https://commons.wikimedia.org"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/9/9f/Dom_%28Deutzer_Br%C3%BCcke%29.jpg/960px-Dom_%28Deutzer_Br%C3%BCcke%29.jpg",
|
|
23
|
+
"alt": "Cologne Cathedral seen from the Deutz bridge over the Rhine",
|
|
24
|
+
"title": "Blick von der Deutzer Brücke",
|
|
25
|
+
"source": {
|
|
26
|
+
"name": "commons.wikimedia.org",
|
|
27
|
+
"url": "https://commons.wikimedia.org"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/4/46/K%C3%B6lner_Dom_-_Westfassade-1091.jpg/960px-K%C3%B6lner_Dom_-_Westfassade-1091.jpg",
|
|
32
|
+
"alt": "The west front of Cologne Cathedral with its two spires",
|
|
33
|
+
"title": "Westfassade",
|
|
34
|
+
"source": {
|
|
35
|
+
"name": "commons.wikimedia.org",
|
|
36
|
+
"url": "https://commons.wikimedia.org"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/7/76/2025-06-10-Dom_Burgmauer-3409.jpg/960px-2025-06-10-Dom_Burgmauer-3409.jpg",
|
|
41
|
+
"alt": "Cologne Cathedral above the old city wall",
|
|
42
|
+
"title": "Dom und Burgmauer",
|
|
43
|
+
"source": {
|
|
44
|
+
"name": "commons.wikimedia.org",
|
|
45
|
+
"url": "https://commons.wikimedia.org"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/5/5a/M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg",
|
|
50
|
+
"alt": "The Historic Town Hall on the Prinzipalmarkt in Münster",
|
|
51
|
+
"title": "Historisches Rathaus",
|
|
52
|
+
"source": {
|
|
53
|
+
"name": "commons.wikimedia.org",
|
|
54
|
+
"url": "https://commons.wikimedia.org"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/9/91/M%C3%BCnster%2C_Prinzipalmarkt%2C_Arkaden_--_2021_--_8931-3.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Arkaden_--_2021_--_8931-3.jpg",
|
|
59
|
+
"alt": "The arcades of the Prinzipalmarkt in Münster",
|
|
60
|
+
"title": "Arkaden am Prinzipalmarkt",
|
|
61
|
+
"source": {
|
|
62
|
+
"name": "commons.wikimedia.org",
|
|
63
|
+
"url": "https://commons.wikimedia.org"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/a/a2/M%C3%BCnster%2C_Prinzipalmarkt%2C_Historisches_Rathaus%2C_Giebel_--_2021_--_9481.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Historisches_Rathaus%2C_Giebel_--_2021_--_9481.jpg",
|
|
68
|
+
"alt": "The gable of the Historic Town Hall in Münster",
|
|
69
|
+
"title": "Rathausgiebel",
|
|
70
|
+
"source": {
|
|
71
|
+
"name": "commons.wikimedia.org",
|
|
72
|
+
"url": "https://commons.wikimedia.org"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"layout": "grid",
|
|
77
|
+
"maxVisible": 4,
|
|
78
|
+
"aspectRatio": "4:3"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"expectedState": "data",
|
|
82
|
+
"width": 528,
|
|
83
|
+
"interactions": [
|
|
84
|
+
{ "name": "open the lightbox", "click": { "selector": "button[aria-label^=\"Open the picture\"]" } }
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "image-group-carousel",
|
|
89
|
+
"description": "The photo carousel of ChatGPT (09): one large picture with its text, previous / next and the position.",
|
|
90
|
+
"payload": {
|
|
91
|
+
"title": "Fotogalerien und Bilder-Karussells",
|
|
92
|
+
"view": {
|
|
93
|
+
"type": "ImageGroup",
|
|
94
|
+
"layout": "carousel",
|
|
95
|
+
"images": [
|
|
96
|
+
{
|
|
97
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/5/5a/M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg",
|
|
98
|
+
"alt": "The Historic Town Hall and the Stadtweinhaus on the Prinzipalmarkt in Münster",
|
|
99
|
+
"title": "Historisches Rathaus",
|
|
100
|
+
"caption": "Gotische Architektur am Prinzipalmarkt",
|
|
101
|
+
"source": {
|
|
102
|
+
"name": "commons.wikimedia.org",
|
|
103
|
+
"url": "https://commons.wikimedia.org"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/9/91/M%C3%BCnster%2C_Prinzipalmarkt%2C_Arkaden_--_2021_--_8931-3.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Arkaden_--_2021_--_8931-3.jpg",
|
|
108
|
+
"alt": "The arcades of the Prinzipalmarkt in Münster",
|
|
109
|
+
"title": "Arkaden am Prinzipalmarkt",
|
|
110
|
+
"caption": "Die Bogengänge der Kaufmannshäuser",
|
|
111
|
+
"source": {
|
|
112
|
+
"name": "commons.wikimedia.org",
|
|
113
|
+
"url": "https://commons.wikimedia.org"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/a/a2/M%C3%BCnster%2C_Prinzipalmarkt%2C_Historisches_Rathaus%2C_Giebel_--_2021_--_9481.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Historisches_Rathaus%2C_Giebel_--_2021_--_9481.jpg",
|
|
118
|
+
"alt": "The gable of the Historic Town Hall in Münster",
|
|
119
|
+
"title": "Rathausgiebel",
|
|
120
|
+
"caption": "Der Schaugiebel von 1395",
|
|
121
|
+
"source": {
|
|
122
|
+
"name": "commons.wikimedia.org",
|
|
123
|
+
"url": "https://commons.wikimedia.org"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"expectedState": "data",
|
|
130
|
+
"width": 528,
|
|
131
|
+
"interactions": [
|
|
132
|
+
{
|
|
133
|
+
"name": "next picture",
|
|
134
|
+
"click": {
|
|
135
|
+
"selector": "button[aria-label=\"Next picture\"]"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "next picture again",
|
|
140
|
+
"click": {
|
|
141
|
+
"selector": "button[aria-label=\"Next picture\"]"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "previous picture",
|
|
146
|
+
"click": {
|
|
147
|
+
"selector": "button[aria-label=\"Previous picture\"]"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "image-group-magazine",
|
|
154
|
+
"description": "The NASA magazine layout of ChatGPT (15): one hero over two tiles, each with title, caption and source chip.",
|
|
155
|
+
"payload": {
|
|
156
|
+
"title": "NASA-Fotogalerie im Magazin-Layout",
|
|
157
|
+
"view": {
|
|
158
|
+
"type": "ImageGroup",
|
|
159
|
+
"layout": "magazine",
|
|
160
|
+
"images": [
|
|
161
|
+
{
|
|
162
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/4/44/NASA%E2%80%99s_Webb_Reveals_Cosmic_Cliffs%2C_Glittering_Landscape_of_Star_Birth.jpg/960px-NASA%E2%80%99s_Webb_Reveals_Cosmic_Cliffs%2C_Glittering_Landscape_of_Star_Birth.jpg",
|
|
163
|
+
"alt": "The Cosmic Cliffs in the Carina Nebula, imaged by the James Webb Space Telescope",
|
|
164
|
+
"title": "Cosmic Cliffs – Carinanebel",
|
|
165
|
+
"caption": "Sternentstehungsregion in ungefähr 7.600 Lichtjahren Entfernung.",
|
|
166
|
+
"source": {
|
|
167
|
+
"name": "NASA Science",
|
|
168
|
+
"url": "https://science.nasa.gov"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/f/f1/Pillars_of_Creation_%28NIRCam_Image%29.jpg/960px-Pillars_of_Creation_%28NIRCam_Image%29.jpg",
|
|
173
|
+
"alt": "The Pillars of Creation in the Eagle Nebula, NIRCam image",
|
|
174
|
+
"title": "Pillars of Creation",
|
|
175
|
+
"caption": "Adlernebel · ESA/Webb",
|
|
176
|
+
"source": {
|
|
177
|
+
"name": "commons.wikimedia.org",
|
|
178
|
+
"url": "https://commons.wikimedia.org"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/2/29/Southern_Ring_Nebula_%28NIRCam_Image%29.png/960px-Southern_Ring_Nebula_%28NIRCam_Image%29.png",
|
|
183
|
+
"alt": "The Southern Ring planetary nebula, NIRCam image",
|
|
184
|
+
"title": "Southern Ring",
|
|
185
|
+
"caption": "Planetarischer Nebel · NASA",
|
|
186
|
+
"source": {
|
|
187
|
+
"name": "commons.wikimedia.org",
|
|
188
|
+
"url": "https://commons.wikimedia.org"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"expectedState": "data",
|
|
195
|
+
"width": 528
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "image-group-loading",
|
|
199
|
+
"description": "The pictures are bound to a pending tool result: skeleton tiles in the tiles' shape.",
|
|
200
|
+
"payload": {
|
|
201
|
+
"view": {
|
|
202
|
+
"type": "ImageGroup",
|
|
203
|
+
"images": {
|
|
204
|
+
"$from": {
|
|
205
|
+
"toolCall": "call_preview_1",
|
|
206
|
+
"path": "$.images[*]",
|
|
207
|
+
"state": "pending"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"expectedState": "loading",
|
|
213
|
+
"width": 528
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "image-group-empty",
|
|
217
|
+
"description": "A gallery without pictures: one muted line, reported empty NO_DATA.",
|
|
218
|
+
"payload": {
|
|
219
|
+
"view": {
|
|
220
|
+
"type": "ImageGroup",
|
|
221
|
+
"images": []
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"expectedState": "empty",
|
|
225
|
+
"width": 528
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"wireName": "ComposedView",
|
|
3
|
+
"fixtures": [
|
|
4
|
+
{
|
|
5
|
+
"name": "image-photo",
|
|
6
|
+
"description": "One real photo with title, caption and source chip — the hero of the ChatGPT photo gallery (09).",
|
|
7
|
+
"payload": {
|
|
8
|
+
"title": "Fotos aus Münster",
|
|
9
|
+
"view": {
|
|
10
|
+
"type": "Image",
|
|
11
|
+
"src": "https://thumb.wikimedia.org/wikipedia/commons/thumb/5/5a/M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg/960px-M%C3%BCnster%2C_Prinzipalmarkt%2C_Stadtweinhaus_und_Rathaus_--_2023_--_7969-73.jpg",
|
|
12
|
+
"alt": "The Historic Town Hall and the Stadtweinhaus on the Prinzipalmarkt in Münster",
|
|
13
|
+
"title": "Historisches Rathaus",
|
|
14
|
+
"caption": "Gotische Architektur am Prinzipalmarkt",
|
|
15
|
+
"source": {
|
|
16
|
+
"name": "commons.wikimedia.org",
|
|
17
|
+
"url": "https://commons.wikimedia.org"
|
|
18
|
+
},
|
|
19
|
+
"aspectRatio": "4:3"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"expectedState": "data",
|
|
23
|
+
"width": 528
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "image-loading",
|
|
27
|
+
"description": "The picture is bound to a tool result that is still pending: the frame as a skeleton.",
|
|
28
|
+
"payload": {
|
|
29
|
+
"view": {
|
|
30
|
+
"type": "Image",
|
|
31
|
+
"src": {
|
|
32
|
+
"$from": {
|
|
33
|
+
"toolCall": "call_preview_1",
|
|
34
|
+
"path": "$.image.url",
|
|
35
|
+
"state": "pending"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"alt": "A pending photo"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"expectedState": "loading",
|
|
42
|
+
"width": 528
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "image-broken",
|
|
46
|
+
"description": "The picture does not load: the frame shows the alt text and the node reports failed RENDER_FAILED.",
|
|
47
|
+
"payload": {
|
|
48
|
+
"view": {
|
|
49
|
+
"type": "Image",
|
|
50
|
+
"src": "https://upload.wikimedia.org/wikipedia/commons/0/00/This_file_does_not_exist.jpg",
|
|
51
|
+
"alt": "The Historic Town Hall on the Prinzipalmarkt in Münster",
|
|
52
|
+
"title": "Historisches Rathaus",
|
|
53
|
+
"caption": "Gotische Architektur am Prinzipalmarkt"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"expectedState": "error",
|
|
57
|
+
"expectedFailedRequests": ["This_file_does_not_exist.jpg"],
|
|
58
|
+
"width": 528
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|