@xfey/tutti 0.1.98 → 0.1.99

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 (36) hide show
  1. package/README.md +2 -1
  2. package/dist/artifact-feedback/index.d.ts +19 -0
  3. package/dist/artifact-feedback/index.js +196 -0
  4. package/dist/chat-assistant/index.js +5 -4
  5. package/dist/collaboration-state/task-compile-context.d.ts +1 -1
  6. package/dist/control-plane/scratchpad-source-messages.js +2 -1
  7. package/dist/control-plane/task-source-context.js +3 -2
  8. package/dist/server-shell/http/routes/project-api/artifacts-routes.d.ts +2 -1
  9. package/dist/server-shell/http/routes/project-api/artifacts-routes.js +1 -0
  10. package/dist/server-shell/http/routes/project-api/messages-routes.d.ts +3 -1
  11. package/dist/server-shell/http/routes/project-api/messages-routes.js +61 -29
  12. package/dist/server-shell/http/routes/project-api/openapi-workspace-routes.d.ts +8 -2
  13. package/dist/server-shell/http/routes/project-api/openapi.d.ts +8 -2
  14. package/dist/server-shell/http/routes/project-api/payload-validation.js +12 -0
  15. package/dist/server-shell/http/routes/project-api/schemas.d.ts +8 -2
  16. package/dist/server-shell/http/routes/project-api/schemas.js +2 -0
  17. package/dist/server-shell/http/routes/project-api/types.d.ts +1 -0
  18. package/dist/server-shell/http/routes/project-api/workspace-projections.js +1 -0
  19. package/dist/server-shell/http/routes/project-api.js +2 -2
  20. package/node_modules/@tutti/shared/dist/schemas/api/artifact-feedback.d.ts +374 -0
  21. package/node_modules/@tutti/shared/dist/schemas/api/artifact-feedback.js +83 -0
  22. package/node_modules/@tutti/shared/dist/schemas/api/clarifications.d.ts +86 -0
  23. package/node_modules/@tutti/shared/dist/schemas/api/index.d.ts +2 -1
  24. package/node_modules/@tutti/shared/dist/schemas/api/index.js +2 -1
  25. package/node_modules/@tutti/shared/dist/schemas/api/messages.d.ts +441 -2
  26. package/node_modules/@tutti/shared/dist/schemas/api/messages.js +17 -3
  27. package/node_modules/@tutti/shared/dist/schemas/api/types.d.ts +13 -1
  28. package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.d.ts +86 -0
  29. package/package.json +1 -1
  30. package/web/assets/homepage-motion-scene-BtMS4SCZ.js +1 -0
  31. package/web/assets/index-DtZ_5QLQ.js +69 -0
  32. package/web/assets/index-JY06YzFV.css +1 -0
  33. package/web/index.html +2 -2
  34. package/web/assets/homepage-motion-scene-_nsq44Ph.js +0 -1
  35. package/web/assets/index-BtTlbKEP.js +0 -69
  36. package/web/assets/index-quWLFJgD.css +0 -1
@@ -72,6 +72,7 @@ export type HostProjectApiCapabilities = {
72
72
  task_auto_scheduler: boolean;
73
73
  task_run_now_scheduler: boolean;
74
74
  clarification: boolean;
75
+ artifact_feedback: boolean;
75
76
  };
76
77
  export type HostProviderModelService = {
77
78
  discover: () => Promise<GetProviderModelsResponse>;
@@ -13,6 +13,7 @@ function defaultCapabilities(options) {
13
13
  task_auto_scheduler: overrides?.task_auto_scheduler ?? false,
14
14
  task_run_now_scheduler: overrides?.task_run_now_scheduler ?? true,
15
15
  clarification: overrides?.clarification ?? false,
16
+ artifact_feedback: overrides?.artifact_feedback ?? true,
16
17
  };
17
18
  }
18
19
  function providerSummary(providerConfig) {
@@ -23,8 +23,8 @@ export function registerHostProjectApiRoutes(app, options) {
23
23
  registerViewerRoutes(app, options);
24
24
  registerReferenceFilesRoutes(app, { options, workspaceEvents });
25
25
  registerSkillRoutes(app, { options, workspaceEvents });
26
- registerArtifactsRoutes(app, { options, workspaceEvents });
27
- registerMessagesRoutes(app, { options, workspaceEvents });
26
+ const artifactPreviewManager = registerArtifactsRoutes(app, { options, workspaceEvents });
27
+ registerMessagesRoutes(app, { options, workspaceEvents, artifactPreviewManager });
28
28
  registerWorkflowRoutes(app, options);
29
29
  registerReadStateRoutes(app, { options, workspaceEvents });
30
30
  registerClarificationRoutes(app, options);
@@ -0,0 +1,374 @@
1
+ export declare const ARTIFACT_FEEDBACK_MAX_ANNOTATIONS = 8;
2
+ export declare const ARTIFACT_FEEDBACK_MAX_SUMMARY_LENGTH = 1000;
3
+ export declare const ARTIFACT_FEEDBACK_MAX_COMMENT_LENGTH = 1000;
4
+ export declare const ARTIFACT_FEEDBACK_MAX_AUTHORED_TEXT_LENGTH = 6000;
5
+ export declare const ARTIFACT_FEEDBACK_MAX_SERIALIZED_BYTES: number;
6
+ export declare const ArtifactElementKindSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
7
+ export declare const ArtifactSemanticContextSchema: import("@sinclair/typebox").TObject<{
8
+ tag_name: import("@sinclair/typebox").TString;
9
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ }>;
12
+ export declare const ArtifactSemanticStateSchema: import("@sinclair/typebox").TObject<{
13
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
14
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
15
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
16
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
17
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
18
+ }>;
19
+ export declare const ArtifactSemanticSnapshotSchema: import("@sinclair/typebox").TObject<{
20
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
21
+ tag_name: import("@sinclair/typebox").TString;
22
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
24
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
26
+ tag_name: import("@sinclair/typebox").TString;
27
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
28
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ }>>;
30
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
31
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
32
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
33
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
34
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
35
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
36
+ }>>;
37
+ }>;
38
+ export declare const ArtifactElementAnchorSchema: import("@sinclair/typebox").TObject<{
39
+ version: import("@sinclair/typebox").TLiteral<1>;
40
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
41
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
42
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
44
+ }>>;
45
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
46
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
47
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
48
+ }>>;
49
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
50
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
51
+ selector: import("@sinclair/typebox").TString;
52
+ }>>;
53
+ }>;
54
+ export declare const ArtifactElementTargetSchema: import("@sinclair/typebox").TObject<{
55
+ snapshot: import("@sinclair/typebox").TObject<{
56
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
57
+ tag_name: import("@sinclair/typebox").TString;
58
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
59
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
61
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
62
+ tag_name: import("@sinclair/typebox").TString;
63
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
65
+ }>>;
66
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
67
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
68
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
69
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
70
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
71
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
72
+ }>>;
73
+ }>;
74
+ anchor: import("@sinclair/typebox").TObject<{
75
+ version: import("@sinclair/typebox").TLiteral<1>;
76
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
77
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
78
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
79
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
80
+ }>>;
81
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
82
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
84
+ }>>;
85
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
86
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
87
+ selector: import("@sinclair/typebox").TString;
88
+ }>>;
89
+ }>;
90
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
91
+ snapshot: import("@sinclair/typebox").TObject<{
92
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
93
+ tag_name: import("@sinclair/typebox").TString;
94
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
95
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
96
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
97
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
98
+ tag_name: import("@sinclair/typebox").TString;
99
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
100
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
101
+ }>>;
102
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
103
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
104
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
105
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
106
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
107
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
108
+ }>>;
109
+ }>;
110
+ anchor: import("@sinclair/typebox").TObject<{
111
+ version: import("@sinclair/typebox").TLiteral<1>;
112
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
113
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
114
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
115
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
116
+ }>>;
117
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
118
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
119
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
120
+ }>>;
121
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
122
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
123
+ selector: import("@sinclair/typebox").TString;
124
+ }>>;
125
+ }>;
126
+ }>>;
127
+ }>;
128
+ export declare const ArtifactFeedbackAnnotationSchema: import("@sinclair/typebox").TObject<{
129
+ document_url: import("@sinclair/typebox").TString;
130
+ comment: import("@sinclair/typebox").TString;
131
+ target: import("@sinclair/typebox").TObject<{
132
+ snapshot: import("@sinclair/typebox").TObject<{
133
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
134
+ tag_name: import("@sinclair/typebox").TString;
135
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
136
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
137
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
138
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
139
+ tag_name: import("@sinclair/typebox").TString;
140
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
141
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
142
+ }>>;
143
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
144
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
145
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
146
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
147
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
148
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
149
+ }>>;
150
+ }>;
151
+ anchor: import("@sinclair/typebox").TObject<{
152
+ version: import("@sinclair/typebox").TLiteral<1>;
153
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
154
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
155
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
156
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
157
+ }>>;
158
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
159
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
160
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
161
+ }>>;
162
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
163
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
164
+ selector: import("@sinclair/typebox").TString;
165
+ }>>;
166
+ }>;
167
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
168
+ snapshot: import("@sinclair/typebox").TObject<{
169
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
170
+ tag_name: import("@sinclair/typebox").TString;
171
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
172
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
173
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
174
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
175
+ tag_name: import("@sinclair/typebox").TString;
176
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
177
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
178
+ }>>;
179
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
180
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
181
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
182
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
183
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
184
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
185
+ }>>;
186
+ }>;
187
+ anchor: import("@sinclair/typebox").TObject<{
188
+ version: import("@sinclair/typebox").TLiteral<1>;
189
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
190
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
191
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
192
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
193
+ }>>;
194
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
195
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
196
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
197
+ }>>;
198
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
199
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
200
+ selector: import("@sinclair/typebox").TString;
201
+ }>>;
202
+ }>;
203
+ }>>;
204
+ }>;
205
+ }>;
206
+ export declare const ArtifactFeedbackCommandSchema: import("@sinclair/typebox").TObject<{
207
+ expected_preview_generation: import("@sinclair/typebox").TString;
208
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
209
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
210
+ document_url: import("@sinclair/typebox").TString;
211
+ comment: import("@sinclair/typebox").TString;
212
+ target: import("@sinclair/typebox").TObject<{
213
+ snapshot: import("@sinclair/typebox").TObject<{
214
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
215
+ tag_name: import("@sinclair/typebox").TString;
216
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
217
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
218
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
219
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
220
+ tag_name: import("@sinclair/typebox").TString;
221
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
222
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
223
+ }>>;
224
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
225
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
226
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
227
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
228
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
229
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
230
+ }>>;
231
+ }>;
232
+ anchor: import("@sinclair/typebox").TObject<{
233
+ version: import("@sinclair/typebox").TLiteral<1>;
234
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
235
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
236
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
237
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
238
+ }>>;
239
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
240
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
241
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
242
+ }>>;
243
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
244
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
245
+ selector: import("@sinclair/typebox").TString;
246
+ }>>;
247
+ }>;
248
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
249
+ snapshot: import("@sinclair/typebox").TObject<{
250
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
251
+ tag_name: import("@sinclair/typebox").TString;
252
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
253
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
254
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
255
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
256
+ tag_name: import("@sinclair/typebox").TString;
257
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
258
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
259
+ }>>;
260
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
261
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
262
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
263
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
264
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
265
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
266
+ }>>;
267
+ }>;
268
+ anchor: import("@sinclair/typebox").TObject<{
269
+ version: import("@sinclair/typebox").TLiteral<1>;
270
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
271
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
272
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
273
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
274
+ }>>;
275
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
276
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
277
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
278
+ }>>;
279
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
280
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
281
+ selector: import("@sinclair/typebox").TString;
282
+ }>>;
283
+ }>;
284
+ }>>;
285
+ }>;
286
+ }>>;
287
+ }>;
288
+ export declare const ArtifactFeedbackRefSchema: import("@sinclair/typebox").TObject<{
289
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
290
+ version: import("@sinclair/typebox").TLiteral<1>;
291
+ preview_generation: import("@sinclair/typebox").TString;
292
+ artifact_title: import("@sinclair/typebox").TString;
293
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
294
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
295
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
296
+ document_url: import("@sinclair/typebox").TString;
297
+ comment: import("@sinclair/typebox").TString;
298
+ target: import("@sinclair/typebox").TObject<{
299
+ snapshot: import("@sinclair/typebox").TObject<{
300
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
301
+ tag_name: import("@sinclair/typebox").TString;
302
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
303
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
304
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
305
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
306
+ tag_name: import("@sinclair/typebox").TString;
307
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
308
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
309
+ }>>;
310
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
311
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
312
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
313
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
314
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
315
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
316
+ }>>;
317
+ }>;
318
+ anchor: import("@sinclair/typebox").TObject<{
319
+ version: import("@sinclair/typebox").TLiteral<1>;
320
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
321
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
322
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
323
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
324
+ }>>;
325
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
326
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
327
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
328
+ }>>;
329
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
330
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
331
+ selector: import("@sinclair/typebox").TString;
332
+ }>>;
333
+ }>;
334
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
335
+ snapshot: import("@sinclair/typebox").TObject<{
336
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
337
+ tag_name: import("@sinclair/typebox").TString;
338
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
339
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
340
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
341
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
342
+ tag_name: import("@sinclair/typebox").TString;
343
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
344
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
345
+ }>>;
346
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
347
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
348
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
349
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
350
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
351
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
352
+ }>>;
353
+ }>;
354
+ anchor: import("@sinclair/typebox").TObject<{
355
+ version: import("@sinclair/typebox").TLiteral<1>;
356
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
357
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
358
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
359
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
360
+ }>>;
361
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
362
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
363
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
364
+ }>>;
365
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
366
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
367
+ selector: import("@sinclair/typebox").TString;
368
+ }>>;
369
+ }>;
370
+ }>>;
371
+ }>;
372
+ }>>;
373
+ }>;
374
+ //# sourceMappingURL=artifact-feedback.d.ts.map
@@ -0,0 +1,83 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { ArtifactTitleSchema } from "./artifacts.js";
3
+ export const ARTIFACT_FEEDBACK_MAX_ANNOTATIONS = 8;
4
+ export const ARTIFACT_FEEDBACK_MAX_SUMMARY_LENGTH = 1_000;
5
+ export const ARTIFACT_FEEDBACK_MAX_COMMENT_LENGTH = 1_000;
6
+ export const ARTIFACT_FEEDBACK_MAX_AUTHORED_TEXT_LENGTH = 6_000;
7
+ export const ARTIFACT_FEEDBACK_MAX_SERIALIZED_BYTES = 64 * 1_024;
8
+ export const ArtifactElementKindSchema = Type.Union([
9
+ Type.Literal("control"),
10
+ Type.Literal("content"),
11
+ Type.Literal("container"),
12
+ ]);
13
+ export const ArtifactSemanticContextSchema = Type.Object({
14
+ tag_name: Type.String({ minLength: 1, maxLength: 64 }),
15
+ role: Type.Optional(Type.String({ minLength: 1, maxLength: 64 })),
16
+ accessible_name: Type.Optional(Type.String({ minLength: 1, maxLength: 160 })),
17
+ }, { additionalProperties: false });
18
+ export const ArtifactSemanticStateSchema = Type.Object({
19
+ expanded: Type.Optional(Type.Boolean()),
20
+ selected: Type.Optional(Type.Boolean()),
21
+ checked: Type.Optional(Type.Boolean()),
22
+ pressed: Type.Optional(Type.Boolean()),
23
+ disabled: Type.Optional(Type.Boolean()),
24
+ }, { additionalProperties: false, minProperties: 1 });
25
+ export const ArtifactSemanticSnapshotSchema = Type.Object({
26
+ element_kind: ArtifactElementKindSchema,
27
+ tag_name: Type.String({ minLength: 1, maxLength: 64 }),
28
+ role: Type.Optional(Type.String({ minLength: 1, maxLength: 64 })),
29
+ accessible_name: Type.Optional(Type.String({ minLength: 1, maxLength: 160 })),
30
+ text_excerpt: Type.Optional(Type.String({ minLength: 1, maxLength: 280 })),
31
+ context: Type.Array(ArtifactSemanticContextSchema, { maxItems: 3 }),
32
+ state: Type.Optional(ArtifactSemanticStateSchema),
33
+ }, { additionalProperties: false });
34
+ export const ArtifactElementAnchorSchema = Type.Object({
35
+ version: Type.Literal(1),
36
+ explicit_anchor: Type.Optional(Type.String({ minLength: 1, maxLength: 160 })),
37
+ stable_attributes: Type.Optional(Type.Object({
38
+ id: Type.Optional(Type.String({ minLength: 1, maxLength: 128 })),
39
+ test_id: Type.Optional(Type.String({ minLength: 1, maxLength: 160 })),
40
+ }, { additionalProperties: false, minProperties: 1 })),
41
+ semantic_path: Type.Array(Type.Object({
42
+ role: Type.Optional(Type.String({ minLength: 1, maxLength: 64 })),
43
+ accessible_name: Type.Optional(Type.String({ minLength: 1, maxLength: 160 })),
44
+ }, { additionalProperties: false, minProperties: 1 }), { maxItems: 4 }),
45
+ selector_path: Type.Array(Type.Object({
46
+ root: Type.Union([Type.Literal("document"), Type.Literal("open_shadow_root")]),
47
+ selector: Type.String({ minLength: 1, maxLength: 1_024 }),
48
+ }, { additionalProperties: false }), { minItems: 1, maxItems: 4 }),
49
+ }, { additionalProperties: false });
50
+ export const ArtifactElementTargetSchema = Type.Object({
51
+ snapshot: ArtifactSemanticSnapshotSchema,
52
+ anchor: ArtifactElementAnchorSchema,
53
+ fallback_context: Type.Optional(Type.Object({
54
+ snapshot: ArtifactSemanticSnapshotSchema,
55
+ anchor: ArtifactElementAnchorSchema,
56
+ }, { additionalProperties: false })),
57
+ }, { additionalProperties: false });
58
+ export const ArtifactFeedbackAnnotationSchema = Type.Object({
59
+ document_url: Type.String({ minLength: 1, maxLength: 2_048, pattern: "^/" }),
60
+ comment: Type.String({ minLength: 1, maxLength: ARTIFACT_FEEDBACK_MAX_COMMENT_LENGTH }),
61
+ target: ArtifactElementTargetSchema,
62
+ }, { additionalProperties: false });
63
+ export const ArtifactFeedbackCommandSchema = Type.Object({
64
+ expected_preview_generation: Type.String({ minLength: 1, maxLength: 256 }),
65
+ summary: Type.Optional(Type.String({ minLength: 1, maxLength: ARTIFACT_FEEDBACK_MAX_SUMMARY_LENGTH })),
66
+ annotations: Type.Array(ArtifactFeedbackAnnotationSchema, {
67
+ minItems: 1,
68
+ maxItems: ARTIFACT_FEEDBACK_MAX_ANNOTATIONS,
69
+ }),
70
+ }, { additionalProperties: false });
71
+ export const ArtifactFeedbackRefSchema = Type.Object({
72
+ kind: Type.Literal("artifact_feedback"),
73
+ version: Type.Literal(1),
74
+ preview_generation: Type.String({ minLength: 1, maxLength: 256 }),
75
+ artifact_title: ArtifactTitleSchema,
76
+ inspector_version: Type.Literal(1),
77
+ summary: Type.Optional(Type.String({ minLength: 1, maxLength: ARTIFACT_FEEDBACK_MAX_SUMMARY_LENGTH })),
78
+ annotations: Type.Array(ArtifactFeedbackAnnotationSchema, {
79
+ minItems: 1,
80
+ maxItems: ARTIFACT_FEEDBACK_MAX_ANNOTATIONS,
81
+ }),
82
+ }, { additionalProperties: false });
83
+ //# sourceMappingURL=artifact-feedback.js.map
@@ -598,6 +598,92 @@ export declare const SendClarificationRoundMessageResultSchema: import("@sinclai
598
598
  task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
599
599
  run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
600
600
  }>>;
601
+ artifact_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
602
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
603
+ version: import("@sinclair/typebox").TLiteral<1>;
604
+ preview_generation: import("@sinclair/typebox").TString;
605
+ artifact_title: import("@sinclair/typebox").TString;
606
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
607
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
608
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
609
+ document_url: import("@sinclair/typebox").TString;
610
+ comment: import("@sinclair/typebox").TString;
611
+ target: import("@sinclair/typebox").TObject<{
612
+ snapshot: import("@sinclair/typebox").TObject<{
613
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
614
+ tag_name: import("@sinclair/typebox").TString;
615
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
616
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
617
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
618
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
619
+ tag_name: import("@sinclair/typebox").TString;
620
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
621
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
622
+ }>>;
623
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
624
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
625
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
626
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
627
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
628
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
629
+ }>>;
630
+ }>;
631
+ anchor: import("@sinclair/typebox").TObject<{
632
+ version: import("@sinclair/typebox").TLiteral<1>;
633
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
634
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
635
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
636
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
637
+ }>>;
638
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
639
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
640
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
641
+ }>>;
642
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
643
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
644
+ selector: import("@sinclair/typebox").TString;
645
+ }>>;
646
+ }>;
647
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
648
+ snapshot: import("@sinclair/typebox").TObject<{
649
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
650
+ tag_name: import("@sinclair/typebox").TString;
651
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
652
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
653
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
654
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
655
+ tag_name: import("@sinclair/typebox").TString;
656
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
657
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
658
+ }>>;
659
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
660
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
661
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
662
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
663
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
664
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
665
+ }>>;
666
+ }>;
667
+ anchor: import("@sinclair/typebox").TObject<{
668
+ version: import("@sinclair/typebox").TLiteral<1>;
669
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
670
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
671
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
672
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
673
+ }>>;
674
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
675
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
676
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
677
+ }>>;
678
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
679
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
680
+ selector: import("@sinclair/typebox").TString;
681
+ }>>;
682
+ }>;
683
+ }>>;
684
+ }>;
685
+ }>>;
686
+ }>>;
601
687
  }>>;
602
688
  clarification_card: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
603
689
  thread_id: import("@sinclair/typebox").TString;