@xfey/tutti 0.1.97 → 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 (61) 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/index.js +15 -3
  7. package/dist/control-plane/scratchpad-source-messages.js +2 -1
  8. package/dist/control-plane/task-source-context.js +3 -2
  9. package/dist/control-plane/worklist-terminal-feedback.js +4 -4
  10. package/dist/server-shell/http/routes/agent-context-references.js +8 -14
  11. package/dist/server-shell/http/routes/project-api/artifacts-routes.d.ts +2 -1
  12. package/dist/server-shell/http/routes/project-api/artifacts-routes.js +1 -0
  13. package/dist/server-shell/http/routes/project-api/messages-routes.d.ts +3 -1
  14. package/dist/server-shell/http/routes/project-api/messages-routes.js +61 -29
  15. package/dist/server-shell/http/routes/project-api/openapi-viewer-routes.d.ts +0 -2
  16. package/dist/server-shell/http/routes/project-api/openapi-workspace-routes.d.ts +8 -2
  17. package/dist/server-shell/http/routes/project-api/openapi.d.ts +8 -2
  18. package/dist/server-shell/http/routes/project-api/payload-validation.js +12 -0
  19. package/dist/server-shell/http/routes/project-api/reference-files.js +6 -17
  20. package/dist/server-shell/http/routes/project-api/schemas.d.ts +8 -2
  21. package/dist/server-shell/http/routes/project-api/schemas.js +2 -0
  22. package/dist/server-shell/http/routes/project-api/types.d.ts +1 -0
  23. package/dist/server-shell/http/routes/project-api/workspace-projections.js +1 -0
  24. package/dist/server-shell/http/routes/project-api.js +2 -2
  25. package/dist/workspace-ops/constants.d.ts +0 -1
  26. package/dist/workspace-ops/constants.js +0 -1
  27. package/dist/workspace-ops/index.d.ts +3 -2
  28. package/dist/workspace-ops/index.js +3 -2
  29. package/dist/workspace-ops/project-doc-templates.js +1 -1
  30. package/dist/workspace-ops/reference-files.js +3 -2
  31. package/dist/workspace-ops/reference-metadata.d.ts +2 -2
  32. package/dist/workspace-ops/reference-metadata.js +8 -22
  33. package/dist/workspace-ops/reference-summaries.js +11 -17
  34. package/dist/workspace-ops/reference-tree.d.ts +11 -0
  35. package/dist/workspace-ops/reference-tree.js +34 -0
  36. package/dist/workspace-ops/viewer-git.d.ts +1 -0
  37. package/dist/workspace-ops/viewer-git.js +11 -0
  38. package/node_modules/@tutti/shared/dist/schemas/api/artifact-feedback.d.ts +374 -0
  39. package/node_modules/@tutti/shared/dist/schemas/api/artifact-feedback.js +83 -0
  40. package/node_modules/@tutti/shared/dist/schemas/api/clarifications.d.ts +86 -0
  41. package/node_modules/@tutti/shared/dist/schemas/api/index.d.ts +2 -1
  42. package/node_modules/@tutti/shared/dist/schemas/api/index.js +2 -1
  43. package/node_modules/@tutti/shared/dist/schemas/api/messages.d.ts +441 -2
  44. package/node_modules/@tutti/shared/dist/schemas/api/messages.js +17 -3
  45. package/node_modules/@tutti/shared/dist/schemas/api/types.d.ts +13 -1
  46. package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.d.ts +86 -5
  47. package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.js +0 -2
  48. package/package.json +1 -1
  49. package/prompts/procedures/context-sync.md +3 -3
  50. package/prompts/procedures/reference-file-summary.md +1 -1
  51. package/prompts/procedures/task-compile.md +2 -2
  52. package/prompts/prompt-flow-map.md +1 -1
  53. package/prompts/runs/task-execute.md +2 -2
  54. package/prompts/skills/read-references/SKILL.md +2 -2
  55. package/web/assets/homepage-motion-scene-BtMS4SCZ.js +1 -0
  56. package/web/assets/index-DtZ_5QLQ.js +69 -0
  57. package/web/assets/index-JY06YzFV.css +1 -0
  58. package/web/index.html +2 -2
  59. package/web/assets/homepage-motion-scene-lpr-1FjJ.js +0 -1
  60. package/web/assets/index-CQoq2PtU.js +0 -69
  61. package/web/assets/index-quWLFJgD.css +0 -1
@@ -1,4 +1,5 @@
1
1
  export * from "./openapi.js";
2
+ export { ARTIFACT_FEEDBACK_MAX_ANNOTATIONS, ARTIFACT_FEEDBACK_MAX_AUTHORED_TEXT_LENGTH, ARTIFACT_FEEDBACK_MAX_COMMENT_LENGTH, ARTIFACT_FEEDBACK_MAX_SERIALIZED_BYTES, ARTIFACT_FEEDBACK_MAX_SUMMARY_LENGTH, ArtifactElementAnchorSchema, ArtifactElementKindSchema, ArtifactElementTargetSchema, ArtifactFeedbackAnnotationSchema, ArtifactFeedbackCommandSchema, ArtifactFeedbackRefSchema, ArtifactSemanticContextSchema, ArtifactSemanticSnapshotSchema, ArtifactSemanticStateSchema, } from "./artifact-feedback.js";
2
3
  export { CompleteDesktopEntryContinuationBodySchema, CompleteDesktopEntryContinuationResponseSchema, CreateDesktopEntryContinuationResponseSchema, DESKTOP_ENTRY_COMPLETION_TOKEN_LENGTH, DESKTOP_ENTRY_PAYLOAD_KEY_LENGTH, DESKTOP_ENTRY_SEALED_IV_LENGTH, DesktopEntryCompletionTokenSchema, DesktopEntryContinuationPendingProjectionSchema, DesktopEntryContinuationReadyProjectionSchema, DesktopEntryPayloadKeySchema, GetDesktopEntryContinuationResponseSchema, MAX_DESKTOP_ENTRY_SEALED_CIPHERTEXT_LENGTH, SealedDesktopEntryPayloadSchema, } from "./desktop-entry-continuations.js";
3
4
  export { ApiErrorCodeSchema, ApiErrorResponseSchema, CommandDispositionBaseSchema, CursorPageRequestSchema, DEFAULT_SSE_REPLAY_WINDOW_POLICY, InterruptedCommandDispositionSchema, QueryInvalidationHintSchema, RelayInvalidationHintSchema, RelaySseEventTypeSchema, SseReplayWindowPolicySchema, WorkspaceSseEventTypeSchema, commandEnvelopeSchema, commandResponseSchema, commandResponseWithResultSchema, cursorPageSchema, relaySseEventSchema, timelineWindowSchema, workspaceSseEventSchema, } from "./primitives.js";
4
5
  export { GetProviderModelsResponseSchema, MAX_PROVIDER_MODEL_NAME_LENGTH, ProviderConfigInvalidReasonCodeSchema, ProviderConfigProjectionSchema, ProviderModelDiscoveryUnavailableReasonSchema, ProviderModelNameSchema, ProviderModelValidationFailureReasonSchema, ProviderUnavailableReasonCodeSchema, ProjectProviderUnavailableReasonSchema, UpdateProviderDefaultModelBodySchema, UpdateProviderDefaultModelDispositionSchema, UpdateProviderDefaultModelPayloadSchema, UpdateProviderDefaultModelResponseSchema, } from "./provider-config.js";
@@ -6,7 +7,7 @@ export { ProviderUsageBreakdownProjectionSchema, ProviderUsageCategorySchema, Pr
6
7
  export { ProjectTimelineChangeStatusSchema, ProjectTimelineClarificationTraceSchema, ProjectTimelineDecisionSummarySchema, ProjectTimelineItemKindSchema, ProjectTimelineItemSchema, ProjectTimelineItemStatusSchema, ProjectTimelineResponseSchema, ProjectTimelineSourceSnippetSchema, ProjectTimelineTaskUpdateStateSchema, ProjectTimelineTraceCardSchema, ProjectTimelineTraceLinkSchema, ProjectTimelineTraceToneSchema, } from "./project-timeline.js";
7
8
  export { MAX_REFERENCE_STAGED_UPLOAD_BYTES, MAX_SKILL_ZIP_STAGED_UPLOAD_BYTES, MAX_STAGED_UPLOAD_BYTES, PresignedUploadPutSchema, ReferenceFileStartRelayUploadPayloadSchema, ReferenceStagedUploadReferenceProperties, RelayUploadProjectionSchema, RelayUploadPurposeSchema, Sha256DigestSchema, SkillZipStartRelayUploadPayloadSchema, SkillZipStagedUploadReferenceProperties, StagedUploadReferenceProperties, StagedUploadReferenceSchema, StartRelayUploadBodySchema, StartRelayUploadDispositionSchema, StartRelayUploadPayloadSchema, StartRelayUploadResponseSchema, StartRelayUploadResultSchema, maxStagedUploadBytesForPurpose, } from "./uploads.js";
8
9
  export { MarkReadBodySchema, MarkReadDispositionSchema, MarkReadPayloadSchema, MarkReadResponseSchema, MarkReadResultSchema, ReadStateScopeProjectionSchema, ReadStateScopeSchema, ReadStateSummaryProjectionSchema, } from "./read-state.js";
9
- export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, ArtifactPreviewRefSchema, TaskResultRefSchema, WorklistCompileRefSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
10
+ export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageArtifactChangedDispositionSchema, SendMainChatMessageArtifactUnavailableDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, ArtifactPreviewRefSchema, TaskResultRefSchema, WorklistCompileRefSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
10
11
  export { CheckSkipReasonCodeSchema, ExternalSideEffectSummaryProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RecoverySummaryProjectionSchema, ResultAnchorSchema, RunLineageSchema, RunResultProjectionSchema, ScratchpadProjectionSchema, ScratchpadReceiptProjectionSchema, TaskContractProjectionSchema, TaskDetailProjectionSchema, TaskDetailResultProjectionSchema, TaskModuleProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, TaskStatusSchema, WorklistCompiledTaskSummarySchema, WorklistProjectionSchema, } from "./work-items.js";
11
12
  export { ActiveApprovalProjectionSchema, ApprovalCommandProjectionSchema, ApprovalDecisionKindSchema, ApprovalDecisionOptionProjectionSchema, ApprovalDecisionToneSchema, ApprovalFileChangeProjectionSchema, ApprovalPermissionsProjectionSchema, ApprovalRequestKindSchema, ApprovalRequestProjectionSchema, ApprovalResolutionOutcomeSchema, ApprovalResolutionProjectionSchema, DecideApprovalBodySchema, DecideApprovalDispositionSchema, DecideApprovalPayloadSchema, DecideApprovalResponseSchema, DecideApprovalResultSchema, } from "./approvals.js";
12
13
  export { ActiveClarificationProjectionSchema, ClarificationChangedEventPayloadSchema, ClarificationOwnerProjectionSchema, ClarificationRequestPayloadSchema, ClarificationRoundProjectionSchema, ClarificationRoundSummaryProjectionSchema, ClarificationSuccessorRefSchema, ClarificationThreadProjectionSchema, ContextRefSchema, GetClarificationRoundMessagesRequestSchema, GetClarificationRoundResponseSchema, GetClarificationThreadResponseSchema, HumanInteractionPayloadSchema, HumanRequestPayloadSchema, SendClarificationRoundMessageBodySchema, SendClarificationRoundMessageDispositionSchema, SendClarificationRoundMessagePayloadSchema, SendClarificationRoundMessageResponseSchema, SendClarificationRoundMessageResultSchema, SubmitClarificationRoundBodySchema, SubmitClarificationRoundDispositionSchema, SubmitClarificationRoundPayloadSchema, SubmitClarificationRoundResponseSchema, SubmitClarificationRoundResultSchema, } from "./clarifications.js";
@@ -224,6 +224,92 @@ export declare const MessageRefsSchema: import("@sinclair/typebox").TObject<{
224
224
  task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
225
225
  run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
226
226
  }>>;
227
+ artifact_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
228
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
229
+ version: import("@sinclair/typebox").TLiteral<1>;
230
+ preview_generation: import("@sinclair/typebox").TString;
231
+ artifact_title: import("@sinclair/typebox").TString;
232
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
233
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
234
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
235
+ document_url: import("@sinclair/typebox").TString;
236
+ comment: import("@sinclair/typebox").TString;
237
+ target: import("@sinclair/typebox").TObject<{
238
+ snapshot: import("@sinclair/typebox").TObject<{
239
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
240
+ tag_name: import("@sinclair/typebox").TString;
241
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
242
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
243
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
244
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
245
+ tag_name: import("@sinclair/typebox").TString;
246
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
247
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
248
+ }>>;
249
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
250
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
251
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
252
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
253
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
254
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
255
+ }>>;
256
+ }>;
257
+ anchor: import("@sinclair/typebox").TObject<{
258
+ version: import("@sinclair/typebox").TLiteral<1>;
259
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
260
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
261
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
262
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
263
+ }>>;
264
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
265
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
266
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
267
+ }>>;
268
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
269
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
270
+ selector: import("@sinclair/typebox").TString;
271
+ }>>;
272
+ }>;
273
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
274
+ snapshot: import("@sinclair/typebox").TObject<{
275
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
276
+ tag_name: import("@sinclair/typebox").TString;
277
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
278
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
279
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
280
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
281
+ tag_name: import("@sinclair/typebox").TString;
282
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
283
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
284
+ }>>;
285
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
286
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
287
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
288
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
289
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
290
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
291
+ }>>;
292
+ }>;
293
+ anchor: import("@sinclair/typebox").TObject<{
294
+ version: import("@sinclair/typebox").TLiteral<1>;
295
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
296
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
297
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
298
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
299
+ }>>;
300
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
301
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
302
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
303
+ }>>;
304
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
305
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
306
+ selector: import("@sinclair/typebox").TString;
307
+ }>>;
308
+ }>;
309
+ }>>;
310
+ }>;
311
+ }>>;
312
+ }>>;
227
313
  }>;
228
314
  export declare const MessageProjectionSchema: import("@sinclair/typebox").TObject<{
229
315
  id: import("@sinclair/typebox").TString;
@@ -342,6 +428,92 @@ export declare const MessageProjectionSchema: import("@sinclair/typebox").TObjec
342
428
  task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
343
429
  run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
344
430
  }>>;
431
+ artifact_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
432
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
433
+ version: import("@sinclair/typebox").TLiteral<1>;
434
+ preview_generation: import("@sinclair/typebox").TString;
435
+ artifact_title: import("@sinclair/typebox").TString;
436
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
437
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
438
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
439
+ document_url: import("@sinclair/typebox").TString;
440
+ comment: import("@sinclair/typebox").TString;
441
+ target: import("@sinclair/typebox").TObject<{
442
+ snapshot: import("@sinclair/typebox").TObject<{
443
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
444
+ tag_name: import("@sinclair/typebox").TString;
445
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
446
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
447
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
448
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
449
+ tag_name: import("@sinclair/typebox").TString;
450
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
451
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
452
+ }>>;
453
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
454
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
455
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
456
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
457
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
458
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
459
+ }>>;
460
+ }>;
461
+ anchor: import("@sinclair/typebox").TObject<{
462
+ version: import("@sinclair/typebox").TLiteral<1>;
463
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
464
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
465
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
466
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
467
+ }>>;
468
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
469
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
470
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
471
+ }>>;
472
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
473
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
474
+ selector: import("@sinclair/typebox").TString;
475
+ }>>;
476
+ }>;
477
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
478
+ snapshot: import("@sinclair/typebox").TObject<{
479
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
480
+ tag_name: import("@sinclair/typebox").TString;
481
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
482
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
483
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
484
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
485
+ tag_name: import("@sinclair/typebox").TString;
486
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
487
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
488
+ }>>;
489
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
490
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
491
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
492
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
493
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
494
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
495
+ }>>;
496
+ }>;
497
+ anchor: import("@sinclair/typebox").TObject<{
498
+ version: import("@sinclair/typebox").TLiteral<1>;
499
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
500
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
501
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
502
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
503
+ }>>;
504
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
505
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
506
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
507
+ }>>;
508
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
509
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
510
+ selector: import("@sinclair/typebox").TString;
511
+ }>>;
512
+ }>;
513
+ }>>;
514
+ }>;
515
+ }>>;
516
+ }>>;
345
517
  }>>;
346
518
  clarification_card: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
347
519
  thread_id: import("@sinclair/typebox").TString;
@@ -354,14 +526,109 @@ export declare const MessageProjectionSchema: import("@sinclair/typebox").TObjec
354
526
  created_at: import("@sinclair/typebox").TString;
355
527
  }>;
356
528
  export declare const MessageWindowSchema: import("@sinclair/typebox").TSchema;
357
- export declare const SendMainChatMessagePayloadSchema: import("@sinclair/typebox").TObject<{
529
+ export declare const SendMainChatMessagePayloadSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
358
530
  body: import("@sinclair/typebox").TString;
359
- }>;
531
+ }>, import("@sinclair/typebox").TObject<{
532
+ artifact_feedback: import("@sinclair/typebox").TObject<{
533
+ expected_preview_generation: import("@sinclair/typebox").TString;
534
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
535
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
536
+ document_url: import("@sinclair/typebox").TString;
537
+ comment: import("@sinclair/typebox").TString;
538
+ target: import("@sinclair/typebox").TObject<{
539
+ snapshot: import("@sinclair/typebox").TObject<{
540
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
541
+ tag_name: import("@sinclair/typebox").TString;
542
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
543
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
544
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
545
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
546
+ tag_name: import("@sinclair/typebox").TString;
547
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
548
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
549
+ }>>;
550
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
551
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
552
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
553
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
554
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
555
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
556
+ }>>;
557
+ }>;
558
+ anchor: import("@sinclair/typebox").TObject<{
559
+ version: import("@sinclair/typebox").TLiteral<1>;
560
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
561
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
562
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
563
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
564
+ }>>;
565
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
566
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
567
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
568
+ }>>;
569
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
570
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
571
+ selector: import("@sinclair/typebox").TString;
572
+ }>>;
573
+ }>;
574
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
575
+ snapshot: import("@sinclair/typebox").TObject<{
576
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
577
+ tag_name: import("@sinclair/typebox").TString;
578
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
579
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
580
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
581
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
582
+ tag_name: import("@sinclair/typebox").TString;
583
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
584
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
585
+ }>>;
586
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
587
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
588
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
589
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
590
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
591
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
592
+ }>>;
593
+ }>;
594
+ anchor: import("@sinclair/typebox").TObject<{
595
+ version: import("@sinclair/typebox").TLiteral<1>;
596
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
597
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
598
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
599
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
600
+ }>>;
601
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
602
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
603
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
604
+ }>>;
605
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
606
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
607
+ selector: import("@sinclair/typebox").TString;
608
+ }>>;
609
+ }>;
610
+ }>>;
611
+ }>;
612
+ }>>;
613
+ }>;
614
+ }>]>;
360
615
  export declare const SendMainChatMessageCreatedDispositionSchema: import("@sinclair/typebox").TObject<{
361
616
  kind: import("@sinclair/typebox").TLiteral<"created">;
617
+ message_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
618
+ }>;
619
+ export declare const SendMainChatMessageArtifactChangedDispositionSchema: import("@sinclair/typebox").TObject<{
620
+ kind: import("@sinclair/typebox").TLiteral<"artifact_changed">;
621
+ }>;
622
+ export declare const SendMainChatMessageArtifactUnavailableDispositionSchema: import("@sinclair/typebox").TObject<{
623
+ kind: import("@sinclair/typebox").TLiteral<"artifact_unavailable">;
362
624
  }>;
363
625
  export declare const SendMainChatMessageDispositionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
364
626
  kind: import("@sinclair/typebox").TLiteral<"created">;
627
+ message_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
628
+ }>, import("@sinclair/typebox").TObject<{
629
+ kind: import("@sinclair/typebox").TLiteral<"artifact_changed">;
630
+ }>, import("@sinclair/typebox").TObject<{
631
+ kind: import("@sinclair/typebox").TLiteral<"artifact_unavailable">;
365
632
  }>, import("@sinclair/typebox").TObject<{
366
633
  kind: import("@sinclair/typebox").TLiteral<"interrupted">;
367
634
  retry_with_new_command_id: import("@sinclair/typebox").TLiteral<true>;
@@ -484,6 +751,92 @@ export declare const SendMainChatMessageResultSchema: import("@sinclair/typebox"
484
751
  task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
485
752
  run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
486
753
  }>>;
754
+ artifact_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
755
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
756
+ version: import("@sinclair/typebox").TLiteral<1>;
757
+ preview_generation: import("@sinclair/typebox").TString;
758
+ artifact_title: import("@sinclair/typebox").TString;
759
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
760
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
761
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
762
+ document_url: import("@sinclair/typebox").TString;
763
+ comment: import("@sinclair/typebox").TString;
764
+ target: import("@sinclair/typebox").TObject<{
765
+ snapshot: import("@sinclair/typebox").TObject<{
766
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
767
+ tag_name: import("@sinclair/typebox").TString;
768
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
769
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
770
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
771
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
772
+ tag_name: import("@sinclair/typebox").TString;
773
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
774
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
775
+ }>>;
776
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
777
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
778
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
779
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
780
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
781
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
782
+ }>>;
783
+ }>;
784
+ anchor: import("@sinclair/typebox").TObject<{
785
+ version: import("@sinclair/typebox").TLiteral<1>;
786
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
787
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
788
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
789
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
790
+ }>>;
791
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
792
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
793
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
794
+ }>>;
795
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
796
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
797
+ selector: import("@sinclair/typebox").TString;
798
+ }>>;
799
+ }>;
800
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
801
+ snapshot: import("@sinclair/typebox").TObject<{
802
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
803
+ tag_name: import("@sinclair/typebox").TString;
804
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
805
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
806
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
807
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
808
+ tag_name: import("@sinclair/typebox").TString;
809
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
810
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
811
+ }>>;
812
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
813
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
814
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
815
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
816
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
817
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
818
+ }>>;
819
+ }>;
820
+ anchor: import("@sinclair/typebox").TObject<{
821
+ version: import("@sinclair/typebox").TLiteral<1>;
822
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
823
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
824
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
825
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
826
+ }>>;
827
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
828
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
829
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
830
+ }>>;
831
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
832
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
833
+ selector: import("@sinclair/typebox").TString;
834
+ }>>;
835
+ }>;
836
+ }>>;
837
+ }>;
838
+ }>>;
839
+ }>>;
487
840
  }>>;
488
841
  clarification_card: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
489
842
  thread_id: import("@sinclair/typebox").TString;
@@ -623,6 +976,92 @@ export declare const MessageCreatedEventPayloadSchema: import("@sinclair/typebox
623
976
  task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
624
977
  run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
625
978
  }>>;
979
+ artifact_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
980
+ kind: import("@sinclair/typebox").TLiteral<"artifact_feedback">;
981
+ version: import("@sinclair/typebox").TLiteral<1>;
982
+ preview_generation: import("@sinclair/typebox").TString;
983
+ artifact_title: import("@sinclair/typebox").TString;
984
+ inspector_version: import("@sinclair/typebox").TLiteral<1>;
985
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
986
+ annotations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
987
+ document_url: import("@sinclair/typebox").TString;
988
+ comment: import("@sinclair/typebox").TString;
989
+ target: import("@sinclair/typebox").TObject<{
990
+ snapshot: import("@sinclair/typebox").TObject<{
991
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
992
+ tag_name: import("@sinclair/typebox").TString;
993
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
994
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
995
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
996
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
997
+ tag_name: import("@sinclair/typebox").TString;
998
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
999
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1000
+ }>>;
1001
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1002
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1003
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1004
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1005
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1006
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1007
+ }>>;
1008
+ }>;
1009
+ anchor: import("@sinclair/typebox").TObject<{
1010
+ version: import("@sinclair/typebox").TLiteral<1>;
1011
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1012
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1013
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1014
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1015
+ }>>;
1016
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
1017
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1018
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1019
+ }>>;
1020
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
1021
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
1022
+ selector: import("@sinclair/typebox").TString;
1023
+ }>>;
1024
+ }>;
1025
+ fallback_context: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1026
+ snapshot: import("@sinclair/typebox").TObject<{
1027
+ element_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"control">, import("@sinclair/typebox").TLiteral<"content">, import("@sinclair/typebox").TLiteral<"container">]>;
1028
+ tag_name: import("@sinclair/typebox").TString;
1029
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1030
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1031
+ text_excerpt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1032
+ context: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
1033
+ tag_name: import("@sinclair/typebox").TString;
1034
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1035
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1036
+ }>>;
1037
+ state: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1038
+ expanded: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1039
+ selected: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1040
+ checked: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1041
+ pressed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1042
+ disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1043
+ }>>;
1044
+ }>;
1045
+ anchor: import("@sinclair/typebox").TObject<{
1046
+ version: import("@sinclair/typebox").TLiteral<1>;
1047
+ explicit_anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1048
+ stable_attributes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1049
+ id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1050
+ test_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1051
+ }>>;
1052
+ semantic_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
1053
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1054
+ accessible_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1055
+ }>>;
1056
+ selector_path: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
1057
+ root: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"document">, import("@sinclair/typebox").TLiteral<"open_shadow_root">]>;
1058
+ selector: import("@sinclair/typebox").TString;
1059
+ }>>;
1060
+ }>;
1061
+ }>>;
1062
+ }>;
1063
+ }>>;
1064
+ }>>;
626
1065
  }>>;
627
1066
  clarification_card: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
628
1067
  thread_id: import("@sinclair/typebox").TString;
@@ -3,6 +3,7 @@ import { ActivityRefSchema, ClarificationRoundRefSchema, ClarificationThreadRefS
3
3
  import { ACCOUNT_AVATAR_COLORS } from "../../domain/index.js";
4
4
  import { InterruptedCommandDispositionSchema, NonEmptyStringSchema, commandEnvelopeSchema, commandResponseWithResultSchema, timelineWindowSchema, } from "./primitives.js";
5
5
  import { WorklistCompiledTaskSummarySchema } from "./work-items.js";
6
+ import { ArtifactFeedbackCommandSchema, ArtifactFeedbackRefSchema } from "./artifact-feedback.js";
6
7
  export const AccountAvatarColorSchema = Type.Union(ACCOUNT_AVATAR_COLORS.map((color) => Type.Literal(color)));
7
8
  export const AccountAvatarProjectionSchema = Type.Union([
8
9
  Type.Object({
@@ -134,6 +135,7 @@ export const MessageRefsSchema = Type.Object({
134
135
  worklist_feedback: Type.Optional(WorklistFeedbackRefSchema),
135
136
  task_result: Type.Optional(TaskResultRefSchema),
136
137
  artifact_preview: Type.Optional(ArtifactPreviewRefSchema),
138
+ artifact_feedback: Type.Optional(ArtifactFeedbackRefSchema),
137
139
  }, { additionalProperties: false });
138
140
  export const MessageProjectionSchema = Type.Object({
139
141
  id: MessageIdSchema,
@@ -153,12 +155,24 @@ export const MessageProjectionSchema = Type.Object({
153
155
  created_at: IsoDateTimeStringSchema,
154
156
  }, { additionalProperties: false });
155
157
  export const MessageWindowSchema = timelineWindowSchema(MessageProjectionSchema);
156
- export const SendMainChatMessagePayloadSchema = Type.Object({
157
- body: Type.String({ minLength: 1, maxLength: 8000 }),
158
+ export const SendMainChatMessagePayloadSchema = Type.Union([
159
+ Type.Object({
160
+ body: Type.String({ minLength: 1, maxLength: 8000 }),
161
+ }, { additionalProperties: false }),
162
+ Type.Object({
163
+ artifact_feedback: ArtifactFeedbackCommandSchema,
164
+ }, { additionalProperties: false }),
165
+ ]);
166
+ export const SendMainChatMessageCreatedDispositionSchema = Type.Object({
167
+ kind: Type.Literal("created"),
168
+ message_id: Type.Optional(MessageIdSchema),
158
169
  }, { additionalProperties: false });
159
- export const SendMainChatMessageCreatedDispositionSchema = Type.Object({ kind: Type.Literal("created") }, { additionalProperties: false });
170
+ export const SendMainChatMessageArtifactChangedDispositionSchema = Type.Object({ kind: Type.Literal("artifact_changed") }, { additionalProperties: false });
171
+ export const SendMainChatMessageArtifactUnavailableDispositionSchema = Type.Object({ kind: Type.Literal("artifact_unavailable") }, { additionalProperties: false });
160
172
  export const SendMainChatMessageDispositionSchema = Type.Union([
161
173
  SendMainChatMessageCreatedDispositionSchema,
174
+ SendMainChatMessageArtifactChangedDispositionSchema,
175
+ SendMainChatMessageArtifactUnavailableDispositionSchema,
162
176
  InterruptedCommandDispositionSchema,
163
177
  ]);
164
178
  export const SendMainChatMessageResultSchema = Type.Object({