@stigmer/react 3.7.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/attachment/AttachmentChipList.d.ts.map +1 -1
  2. package/attachment/AttachmentChipList.js +30 -1
  3. package/attachment/AttachmentChipList.js.map +1 -1
  4. package/attachment/attachment-utils.d.ts +11 -0
  5. package/attachment/attachment-utils.d.ts.map +1 -1
  6. package/attachment/attachment-utils.js +23 -0
  7. package/attachment/attachment-utils.js.map +1 -1
  8. package/attachment/clipboard.d.ts +51 -0
  9. package/attachment/clipboard.d.ts.map +1 -0
  10. package/attachment/clipboard.js +89 -0
  11. package/attachment/clipboard.js.map +1 -0
  12. package/attachment/index.d.ts +6 -1
  13. package/attachment/index.d.ts.map +1 -1
  14. package/attachment/index.js +4 -1
  15. package/attachment/index.js.map +1 -1
  16. package/attachment/prepare-image.d.ts +43 -0
  17. package/attachment/prepare-image.d.ts.map +1 -0
  18. package/attachment/prepare-image.js +162 -0
  19. package/attachment/prepare-image.js.map +1 -0
  20. package/attachment/useAttachments.d.ts.map +1 -1
  21. package/attachment/useAttachments.js +23 -3
  22. package/attachment/useAttachments.js.map +1 -1
  23. package/attachment/vision-fit.d.ts +50 -0
  24. package/attachment/vision-fit.d.ts.map +1 -0
  25. package/attachment/vision-fit.js +76 -0
  26. package/attachment/vision-fit.js.map +1 -0
  27. package/channel/AgentChannelsPanel.d.ts.map +1 -1
  28. package/channel/AgentChannelsPanel.js +21 -2
  29. package/channel/AgentChannelsPanel.js.map +1 -1
  30. package/channel/ChannelConversationsDialog.d.ts +12 -4
  31. package/channel/ChannelConversationsDialog.d.ts.map +1 -1
  32. package/channel/ChannelConversationsDialog.js +18 -24
  33. package/channel/ChannelConversationsDialog.js.map +1 -1
  34. package/channel/providers.d.ts +23 -0
  35. package/channel/providers.d.ts.map +1 -1
  36. package/channel/providers.js +4 -0
  37. package/channel/providers.js.map +1 -1
  38. package/channel/useSaveAgentChannel.d.ts +5 -4
  39. package/channel/useSaveAgentChannel.d.ts.map +1 -1
  40. package/channel/useSaveAgentChannel.js +18 -4
  41. package/channel/useSaveAgentChannel.js.map +1 -1
  42. package/composer/ComposerToolbar.d.ts +1 -1
  43. package/composer/ComposerToolbar.d.ts.map +1 -1
  44. package/composer/SessionComposer.d.ts +4 -2
  45. package/composer/SessionComposer.d.ts.map +1 -1
  46. package/composer/SessionComposer.js +51 -5
  47. package/composer/SessionComposer.js.map +1 -1
  48. package/conversation/ConversationAttentionBanner.d.ts +22 -0
  49. package/conversation/ConversationAttentionBanner.d.ts.map +1 -0
  50. package/conversation/ConversationAttentionBanner.js +25 -0
  51. package/conversation/ConversationAttentionBanner.js.map +1 -0
  52. package/conversation/ConversationComposer.d.ts +41 -0
  53. package/conversation/ConversationComposer.d.ts.map +1 -0
  54. package/conversation/ConversationComposer.js +57 -0
  55. package/conversation/ConversationComposer.js.map +1 -0
  56. package/conversation/ConversationControlBanner.d.ts +52 -0
  57. package/conversation/ConversationControlBanner.d.ts.map +1 -0
  58. package/conversation/ConversationControlBanner.js +59 -0
  59. package/conversation/ConversationControlBanner.js.map +1 -0
  60. package/conversation/ConversationListPane.d.ts +68 -0
  61. package/conversation/ConversationListPane.d.ts.map +1 -0
  62. package/conversation/ConversationListPane.js +120 -0
  63. package/conversation/ConversationListPane.js.map +1 -0
  64. package/conversation/ConversationTimelineView.d.ts +46 -0
  65. package/conversation/ConversationTimelineView.d.ts.map +1 -0
  66. package/conversation/ConversationTimelineView.js +166 -0
  67. package/conversation/ConversationTimelineView.js.map +1 -0
  68. package/conversation/ConversationsWorkbench.d.ts +63 -0
  69. package/conversation/ConversationsWorkbench.d.ts.map +1 -0
  70. package/conversation/ConversationsWorkbench.js +165 -0
  71. package/conversation/ConversationsWorkbench.js.map +1 -0
  72. package/conversation/conversationPresentation.d.ts +137 -0
  73. package/conversation/conversationPresentation.d.ts.map +1 -0
  74. package/conversation/conversationPresentation.js +230 -0
  75. package/conversation/conversationPresentation.js.map +1 -0
  76. package/conversation/index.d.ts +26 -0
  77. package/conversation/index.d.ts.map +1 -0
  78. package/conversation/index.js +14 -0
  79. package/conversation/index.js.map +1 -0
  80. package/conversation/polling.d.ts +39 -0
  81. package/conversation/polling.d.ts.map +1 -0
  82. package/conversation/polling.js +39 -0
  83. package/conversation/polling.js.map +1 -0
  84. package/conversation/useConversation.d.ts +61 -0
  85. package/conversation/useConversation.d.ts.map +1 -0
  86. package/conversation/useConversation.js +153 -0
  87. package/conversation/useConversation.js.map +1 -0
  88. package/conversation/useConversationList.d.ts +98 -0
  89. package/conversation/useConversationList.d.ts.map +1 -0
  90. package/conversation/useConversationList.js +200 -0
  91. package/conversation/useConversationList.js.map +1 -0
  92. package/conversation/useConversationParticipation.d.ts +63 -0
  93. package/conversation/useConversationParticipation.d.ts.map +1 -0
  94. package/conversation/useConversationParticipation.js +84 -0
  95. package/conversation/useConversationParticipation.js.map +1 -0
  96. package/conversation/useConversationTimeline.d.ts +71 -0
  97. package/conversation/useConversationTimeline.d.ts.map +1 -0
  98. package/conversation/useConversationTimeline.js +152 -0
  99. package/conversation/useConversationTimeline.js.map +1 -0
  100. package/conversation/useConversationsWantsHumanCount.d.ts +42 -0
  101. package/conversation/useConversationsWantsHumanCount.d.ts.map +1 -0
  102. package/conversation/useConversationsWantsHumanCount.js +40 -0
  103. package/conversation/useConversationsWantsHumanCount.js.map +1 -0
  104. package/index.d.ts +6 -2
  105. package/index.d.ts.map +1 -1
  106. package/index.js +11 -2
  107. package/index.js.map +1 -1
  108. package/internal/tooltip.d.ts.map +1 -1
  109. package/internal/tooltip.js +7 -1
  110. package/internal/tooltip.js.map +1 -1
  111. package/internal/useAutoScroll.d.ts +25 -4
  112. package/internal/useAutoScroll.d.ts.map +1 -1
  113. package/internal/useAutoScroll.js +55 -15
  114. package/internal/useAutoScroll.js.map +1 -1
  115. package/internal/useFetch.d.ts.map +1 -1
  116. package/internal/useFetch.js +14 -4
  117. package/internal/useFetch.js.map +1 -1
  118. package/models/ModelSelector.d.ts +24 -5
  119. package/models/ModelSelector.d.ts.map +1 -1
  120. package/models/ModelSelector.js +31 -9
  121. package/models/ModelSelector.js.map +1 -1
  122. package/models/registry.d.ts +3 -2
  123. package/models/registry.d.ts.map +1 -1
  124. package/models/registry.js.map +1 -1
  125. package/models/service-tier.d.ts +1 -1
  126. package/models/service-tier.d.ts.map +1 -1
  127. package/models/service-tier.js +1 -1
  128. package/models/service-tier.js.map +1 -1
  129. package/package.json +4 -4
  130. package/schedule/ScheduleDetailView.js +1 -1
  131. package/schedule/ScheduleDetailView.js.map +1 -1
  132. package/schedule/ScheduleForm.d.ts.map +1 -1
  133. package/schedule/ScheduleForm.js +7 -6
  134. package/schedule/ScheduleForm.js.map +1 -1
  135. package/sharing/useSaveAgentShare.d.ts +10 -1
  136. package/sharing/useSaveAgentShare.d.ts.map +1 -1
  137. package/sharing/useSaveAgentShare.js +9 -0
  138. package/sharing/useSaveAgentShare.js.map +1 -1
  139. package/sidebar/WorkspaceSidebar.d.ts +12 -4
  140. package/sidebar/WorkspaceSidebar.d.ts.map +1 -1
  141. package/sidebar/WorkspaceSidebar.js +19 -7
  142. package/sidebar/WorkspaceSidebar.js.map +1 -1
  143. package/src/attachment/AttachmentChipList.tsx +45 -1
  144. package/src/attachment/__tests__/AttachmentChipList.test.tsx +103 -0
  145. package/src/attachment/__tests__/attachment-utils.test.ts +54 -0
  146. package/src/attachment/__tests__/clipboard.test.ts +110 -0
  147. package/src/attachment/__tests__/prepare-image.browser.test.ts +166 -0
  148. package/src/attachment/__tests__/prepare-image.test.ts +32 -0
  149. package/src/attachment/__tests__/vision-fit.test.ts +93 -0
  150. package/src/attachment/attachment-utils.ts +27 -0
  151. package/src/attachment/clipboard.ts +102 -0
  152. package/src/attachment/index.ts +13 -0
  153. package/src/attachment/prepare-image.ts +179 -0
  154. package/src/attachment/useAttachments.ts +26 -2
  155. package/src/attachment/vision-fit.ts +90 -0
  156. package/src/channel/AgentChannelsPanel.tsx +33 -2
  157. package/src/channel/ChannelConversationsDialog.tsx +22 -25
  158. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +36 -5
  159. package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +38 -1
  160. package/src/channel/__tests__/useSaveAgentChannel.test.tsx +26 -0
  161. package/src/channel/providers.ts +27 -0
  162. package/src/channel/useSaveAgentChannel.ts +18 -4
  163. package/src/composer/ComposerToolbar.tsx +1 -1
  164. package/src/composer/SessionComposer.tsx +75 -6
  165. package/src/composer/__tests__/SessionComposer-paste.test.tsx +263 -0
  166. package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +4 -3
  167. package/src/composer/__tests__/SessionComposer-uploadGate.test.tsx +239 -0
  168. package/src/conversation/ConversationAttentionBanner.tsx +77 -0
  169. package/src/conversation/ConversationComposer.tsx +156 -0
  170. package/src/conversation/ConversationControlBanner.tsx +193 -0
  171. package/src/conversation/ConversationListPane.tsx +459 -0
  172. package/src/conversation/ConversationTimelineView.tsx +435 -0
  173. package/src/conversation/ConversationsWorkbench.tsx +378 -0
  174. package/src/conversation/__tests__/ConversationAttentionBanner.test.tsx +82 -0
  175. package/src/conversation/__tests__/ConversationComposer.test.tsx +160 -0
  176. package/src/conversation/__tests__/ConversationControlBanner.test.tsx +190 -0
  177. package/src/conversation/__tests__/ConversationListPane.test.tsx +372 -0
  178. package/src/conversation/__tests__/ConversationTimelineView.layout.test.tsx +160 -0
  179. package/src/conversation/__tests__/ConversationTimelineView.test.tsx +405 -0
  180. package/src/conversation/__tests__/ConversationsWorkbench.test.tsx +860 -0
  181. package/src/conversation/__tests__/a11y/conversation-surfaces.a11y.test.tsx +235 -0
  182. package/src/conversation/__tests__/a11y/harness.tsx +100 -0
  183. package/src/conversation/__tests__/conversation-tooltips.layout.test.tsx +167 -0
  184. package/src/conversation/__tests__/conversationPollingComposition.test.tsx +138 -0
  185. package/src/conversation/__tests__/conversationPresentation.test.ts +289 -0
  186. package/src/conversation/__tests__/useConversation.test.tsx +243 -0
  187. package/src/conversation/__tests__/useConversationList.test.tsx +492 -0
  188. package/src/conversation/__tests__/useConversationParticipation.test.tsx +190 -0
  189. package/src/conversation/__tests__/useConversationTimeline.test.tsx +258 -0
  190. package/src/conversation/__tests__/useConversationsWantsHumanCount.test.tsx +102 -0
  191. package/src/conversation/conversationPresentation.ts +305 -0
  192. package/src/conversation/index.ts +80 -0
  193. package/src/conversation/polling.ts +41 -0
  194. package/src/conversation/useConversation.ts +221 -0
  195. package/src/conversation/useConversationList.ts +328 -0
  196. package/src/conversation/useConversationParticipation.ts +178 -0
  197. package/src/conversation/useConversationTimeline.ts +244 -0
  198. package/src/conversation/useConversationsWantsHumanCount.ts +86 -0
  199. package/src/index.ts +78 -1
  200. package/src/internal/__tests__/fake-timer-slices.ts +29 -0
  201. package/src/internal/__tests__/useAutoScroll.layout.test.tsx +143 -0
  202. package/src/internal/__tests__/useAutoScroll.test.tsx +62 -5
  203. package/src/internal/__tests__/useFetch-poll-under-render-pressure.test.tsx +79 -0
  204. package/src/internal/tooltip.tsx +6 -1
  205. package/src/internal/useAutoScroll.ts +66 -20
  206. package/src/internal/useFetch.ts +15 -4
  207. package/src/models/ModelSelector.tsx +81 -49
  208. package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +105 -21
  209. package/src/models/registry.ts +3 -2
  210. package/src/models/service-tier.ts +1 -1
  211. package/src/schedule/ScheduleDetailView.tsx +1 -1
  212. package/src/schedule/ScheduleForm.tsx +7 -6
  213. package/src/schedule/__tests__/scheduleCreation.test.tsx +2 -2
  214. package/src/sharing/__tests__/useSaveAgentShare.test.tsx +55 -1
  215. package/src/sharing/__tests__/useShareToolReadiness.test.tsx +1 -0
  216. package/src/sharing/useSaveAgentShare.ts +19 -1
  217. package/src/sidebar/WorkspaceSidebar.tsx +62 -3
  218. package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +56 -1
  219. package/styles.css +1 -1
@@ -106,7 +106,7 @@ export interface SessionComposerSubmitContext {
106
106
  readonly interactionMode?: InteractionModeOption;
107
107
  /**
108
108
  * Service tier the user actively selected for this execution
109
- * (stigmer/stigmer#357). Only ever `"fast"` — an untouched toggle means
109
+ * (stigmer/stigmer#357). Only ever `"fast"` — an untouched tier means
110
110
  * "platform default" and is carried as `undefined`, preserving the
111
111
  * unspecified-vs-explicit distinction all the way to the ledger.
112
112
  * Pass to execution creation as `execution_config.service_tier`.
@@ -374,7 +374,9 @@ export interface SessionComposerProps {
374
374
  * Enable file attachment support in the composer.
375
375
  *
376
376
  * When `true`, renders an attach button in the toolbar and enables
377
- * drag-and-drop file upload on the textarea. Attachments are uploaded
377
+ * drag-and-drop file upload plus clipboard paste on the textarea
378
+ * pasting a screenshot attaches it exactly like a picked file, with
379
+ * a generated `pasted-image-*` filename. Attachments are uploaded
378
380
  * immediately via `agentExecution.uploadAttachment()` and included
379
381
  * in `context.attachments` on submit.
380
382
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ import { SkillPicker } from "../skill/SkillPicker.js";
18
18
  import { SessionVariablesInput } from "../execution/SessionVariablesInput.js";
19
19
  import { useAttachments } from "../attachment/useAttachments.js";
20
20
  import { AttachmentChipList } from "../attachment/AttachmentChipList.js";
21
+ import { extractClipboardFiles } from "../attachment/clipboard.js";
22
+ import { prepareImageForVision } from "../attachment/prepare-image.js";
21
23
  import { useFileReferences } from "../file-reference/useFileReferences.js";
22
24
  import { FileReferenceChipList } from "../file-reference/FileReferenceChipList.js";
23
25
  import { FILE_REF_MIME } from "../internal/file-tree/index.js";
@@ -26,7 +28,7 @@ import { usePersonalEnvironment } from "../environment/usePersonalEnvironment.js
26
28
  import { useStigmer } from "../hooks.js";
27
29
  import { SYSTEM_ENV_VAR_KEYS, resolveSystemEnvVarValues, } from "../environment/systemEnvVars.js";
28
30
  import { useRenderTracer } from "../internal/dev/index.js";
29
- import { AgentIcon, McpServerIcon, SkillIcon, SecretsIcon, AlertTriangleIcon, ResolveSpinner, XIcon, } from "./icons.js";
31
+ import { AgentIcon, McpServerIcon, SkillIcon, SecretsIcon, AlertTriangleIcon, ChipSpinner, ResolveSpinner, XIcon, } from "./icons.js";
30
32
  /**
31
33
  * Unified message composer for Stigmer sessions.
32
34
  *
@@ -219,6 +221,29 @@ const SessionComposerInner = forwardRef(function SessionComposer({ onSubmit, isS
219
221
  attachments.addFiles(e.dataTransfer.files);
220
222
  }
221
223
  }, [enableAttachments, enableFileReferences, isDisabled, attachments, fileRefs]);
224
+ // Clipboard paste — the Cursor-grade "screenshot straight into the chat"
225
+ // gesture (#284). Scoped to the textarea, never the document: a global
226
+ // clipboard listener would hijack paste for the host application.
227
+ const handlePaste = useCallback((e) => {
228
+ if (!enableAttachments || isDisabled)
229
+ return;
230
+ // Must stay synchronous through preventDefault: clipboard file
231
+ // handles are only reliable during event dispatch (see clipboard.ts).
232
+ const files = extractClipboardFiles(e);
233
+ if (files.length === 0)
234
+ return;
235
+ // Files replace the default insert — a copied image usually carries
236
+ // an HTML/text flavor that would paste as junk markup. A text-only
237
+ // paste never reaches this point and proceeds untouched.
238
+ e.preventDefault();
239
+ // Pasted images (and only pasted — see prepare-image.ts) are bounded
240
+ // to provider resolution before upload. prepareImageForVision never
241
+ // throws; every failure path yields the original file.
242
+ const addFiles = attachments.addFiles;
243
+ void Promise.all(files.map(prepareImageForVision)).then((prepared) => {
244
+ addFiles(prepared);
245
+ });
246
+ }, [enableAttachments, isDisabled, attachments.addFiles]);
222
247
  // ---------------------------------------------------------------------------
223
248
  // Submit — aggregates one-time runtimeEnv from all setup flows
224
249
  // ---------------------------------------------------------------------------
@@ -272,7 +297,7 @@ const SessionComposerInner = forwardRef(function SessionComposer({ onSubmit, isS
272
297
  const hasFileRefs = enableFileReferences && fileRefs.hasRefs;
273
298
  const buildFromPlan = overrides?.buildFromPlan;
274
299
  // Carried only when the user actively chose fast: an untouched
275
- // toggle means "platform default" (which resolves to standard in
300
+ // tier means "platform default" (which resolves to standard in
276
301
  // the runner), and the UNSPECIFIED-vs-explicit distinction is
277
302
  // load-bearing telemetry (#357).
278
303
  const effectiveServiceTier = serviceTier === "fast" ? serviceTier : undefined;
@@ -511,7 +536,23 @@ const SessionComposerInner = forwardRef(function SessionComposer({ onSubmit, isS
511
536
  // Submission blocking: MCP servers must be fully configured before send
512
537
  // ---------------------------------------------------------------------------
513
538
  const mcpBlocked = showMcp && !mcpSetup.allReady;
514
- const canSend = composer.canSubmit && !mcpBlocked;
539
+ // Send waits for in-flight uploads: toAttachmentInputs() carries only
540
+ // "ready" entries, so a send racing an upload would silently drop the
541
+ // file the user just pasted — the worst failure for "what's wrong in
542
+ // this screenshot?". Errored entries never gate (their chip offers
543
+ // retry/remove); only the uploading phase blocks.
544
+ const uploadsBlocked = enableAttachments && attachments.isUploading;
545
+ const canSend = composer.canSubmit && !mcpBlocked && !uploadsBlocked;
546
+ // True when the upload gate is the OPERATIVE blocker — the message would
547
+ // send right now if uploads were done. Drives the attempt-triggered wait
548
+ // notice so it never claims "waiting for attachments" when the real
549
+ // blocker is an empty message or MCP setup.
550
+ const uploadWaitOperative = composer.canSubmit && !mcpBlocked && uploadsBlocked;
551
+ const [showUploadWaitNotice, setShowUploadWaitNotice] = useState(false);
552
+ useEffect(() => {
553
+ if (!uploadsBlocked)
554
+ setShowUploadWaitNotice(false);
555
+ }, [uploadsBlocked]);
515
556
  const handleTextareaKeyDown = useCallback((e) => {
516
557
  // Escape exits edit-and-resubmit mode — same reflex as dismissing a
517
558
  // popover. Only intercepted while editing so it never shadows other
@@ -523,10 +564,15 @@ const SessionComposerInner = forwardRef(function SessionComposer({ onSubmit, isS
523
564
  }
524
565
  if (!canSend && e.key === "Enter" && !e.shiftKey) {
525
566
  e.preventDefault();
567
+ // Disclose the block only on an actual send attempt: a sub-second
568
+ // picker upload should never flash UI, and the per-chip spinner
569
+ // already covers passive awareness.
570
+ if (uploadWaitOperative)
571
+ setShowUploadWaitNotice(true);
526
572
  return;
527
573
  }
528
574
  composer.textareaProps.onKeyDown(e);
529
- }, [canSend, composer.textareaProps, isEditing, onCancelEdit]);
575
+ }, [canSend, uploadWaitOperative, composer.textareaProps, isEditing, onCancelEdit]);
530
576
  const workspaceCount = workspace?.entries.length ?? 0;
531
577
  // When only one source type is enabled and no entries exist yet, bypass
532
578
  // the popover entirely (desktop) or auto-drill into the GitHub panel (web).
@@ -674,7 +720,7 @@ const SessionComposerInner = forwardRef(function SessionComposer({ onSubmit, isS
674
720
  return (_jsx("div", { role: "form", "aria-label": ariaLabel, className: cn("shrink-0", className), children: _jsxs("div", { className: cn("rounded-xl border border-border bg-card shadow-sm", "focus-within:ring-2 focus-within:ring-ring",
675
721
  // Plan mode tints the frame so the active mode is visible at a
676
722
  // glance, without opening the picker. Themeable via --stgm-primary-muted.
677
- interactionMode === "plan" && "border-primary-muted", isDisabled && !stopMode && "opacity-50", isDragOver && "ring-2 ring-primary/50"), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [isEditing && (_jsxs("div", { role: "status", className: "flex items-center justify-between gap-2 rounded-t-xl border-b border-border bg-muted px-3 py-1.5", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Editing message" }), onCancelEdit && (_jsx("button", { type: "button", onClick: onCancelEdit, "aria-label": "Cancel editing", title: "Cancel editing (Esc)", className: "rounded p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", children: _jsx(XIcon, {}) }))] })), _jsxs("div", { className: "relative", children: [_jsx("textarea", { ...composer.textareaProps, onKeyDown: handleTextareaKeyDown, placeholder: placeholder, rows: initialRows, autoFocus: autoFocus, className: "block w-full resize-none bg-transparent px-4 pt-3 pb-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed" }), isDragOver && (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center rounded-t-xl bg-primary-subtle", children: _jsx("span", { className: "text-xs font-medium text-primary", children: isDragOverFileRef ? "Reference workspace file" : "Drop files to attach" }) }))] }), showAttach && (_jsx("input", { ref: fileInputRef, type: "file", multiple: true, onChange: handleFileInputChange, className: "hidden", "aria-hidden": "true", tabIndex: -1 })), (showAttach && attachments.hasEntries) || (enableFileReferences && fileRefs.hasRefs) ? (_jsxs("div", { className: "space-y-1.5 px-3 pb-2", children: [showAttach && attachments.hasEntries && (_jsx(AttachmentChipList, { entries: attachments.entries, onRemove: attachments.removeEntry, onRetry: attachments.retryEntry, disabled: isDisabled })), enableFileReferences && fileRefs.hasRefs && (_jsx(FileReferenceChipList, { refs: fileRefs.refs, onRemove: fileRefs.remove, disabled: isDisabled }))] })) : null, showAgent &&
723
+ interactionMode === "plan" && "border-primary-muted", isDisabled && !stopMode && "opacity-50", isDragOver && "ring-2 ring-primary/50"), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [isEditing && (_jsxs("div", { role: "status", className: "flex items-center justify-between gap-2 rounded-t-xl border-b border-border bg-muted px-3 py-1.5", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Editing message" }), onCancelEdit && (_jsx("button", { type: "button", onClick: onCancelEdit, "aria-label": "Cancel editing", title: "Cancel editing (Esc)", className: "rounded p-0.5 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", children: _jsx(XIcon, {}) }))] })), _jsxs("div", { className: "relative", children: [_jsx("textarea", { ...composer.textareaProps, onKeyDown: handleTextareaKeyDown, onPaste: handlePaste, placeholder: placeholder, rows: initialRows, autoFocus: autoFocus, className: "block w-full resize-none bg-transparent px-4 pt-3 pb-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed" }), isDragOver && (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center rounded-t-xl bg-primary-subtle", children: _jsx("span", { className: "text-xs font-medium text-primary", children: isDragOverFileRef ? "Reference workspace file" : "Drop files to attach" }) }))] }), showAttach && (_jsx("input", { ref: fileInputRef, type: "file", multiple: true, onChange: handleFileInputChange, className: "hidden", "aria-hidden": "true", tabIndex: -1 })), (showAttach && attachments.hasEntries) || (enableFileReferences && fileRefs.hasRefs) ? (_jsxs("div", { className: "space-y-1.5 px-3 pb-2", children: [showAttach && attachments.hasEntries && (_jsx(AttachmentChipList, { entries: attachments.entries, onRemove: attachments.removeEntry, onRetry: attachments.retryEntry, disabled: isDisabled })), enableFileReferences && fileRefs.hasRefs && (_jsx(FileReferenceChipList, { refs: fileRefs.refs, onRemove: fileRefs.remove, disabled: isDisabled }))] })) : null, showUploadWaitNotice && (_jsxs("div", { role: "status", className: "mx-3 mb-2 flex items-center gap-2 rounded-md bg-muted px-2.5 py-1.5 text-xs text-muted-foreground", children: [_jsx(ChipSpinner, {}), _jsx("span", { children: "Waiting for attachments to finish uploading\u2026" })] })), showAgent &&
678
724
  agentSetup.state.status === "needsEnvVars" &&
679
725
  !agentRef && (_jsxs("div", { role: "status", className: "mx-3 mb-2 flex items-center gap-2 rounded-md bg-warning/10 px-2.5 py-1.5 text-xs text-warning", children: [_jsx(AlertTriangleIcon, {}), _jsx("span", { children: "Agent needs configuration before use" }), _jsx("button", { type: "button", onClick: () => {
680
726
  setConfigOpen(true);
@@ -1 +1 @@
1
- {"version":3,"file":"SessionComposer.js","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAsC,MAAM,OAAO,CAAC;AACrJ,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAsF,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAkC,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAI9E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,KAAK,GACN,MAAM,YAAY,CAAC;AA4cpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,oBAAoB,GAAG,UAAU,CAA8C,SAAS,eAAe,CAAC,EAC5G,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,YAAY,EACZ,OAAO,EACP,eAAe,EACf,mBAAmB,GAAG,KAAK,EAC3B,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAAG,KAAK,EACjC,cAAc,EACd,aAAa,EACb,iBAAiB,GAAG,IAAI,EACxB,SAAS,EACT,gBAAgB,EAChB,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,KAAK,EACnB,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,KAAK,EACjB,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAAG,IAAI,EACxB,oBAAoB,GAAG,IAAI,EAC3B,2BAA2B,EAC3B,kBAAkB,EAClB,WAAW,GAAG,aAAa,EAC3B,WAAW,GAAG,CAAC,EACf,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,cAAc,EAC1B,SAAS,GACV,EAAE,GAAG;IACJ,eAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/D,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAqB,cAAc,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAExC,sEAAsE;IACtE,2EAA2E;IAC3E,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/D,aAAa,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAsB,EAAE,EAAE;QACxD,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wEAAwE;IACxE,wEAAwE;IACxE,gDAAgD;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAoB,UAAU,CAAC,CAAC;IAE9E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAChB,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,IAAI,YAAY,CAAC;IAE5C,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAC;IAEhC,MAAM,SAAS,GAAG,gBAAgB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;IAC1D,MAAM,OAAO,GAAG,uBAAuB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;IAC/D,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,iBAAiB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;IAC5D,MAAM,eAAe,GAAG,gBAAgB,IAAI,IAAI,CAAC;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC;IAErC,8EAA8E;IAC9E,8DAA8D;IAC9D,8EAA8E;IAE9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChF,MAAM,4BAA4B,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAE3E,8EAA8E;IAC9E,iEAAiE;IACjE,8EAA8E;IAE9E,MAAM,WAAW,GAAG,sBAAsB,CACxC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,EACrE,CAAC,WAAW,CAAC,WAAW,CAAC,CAC1B,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAC7B,eAAe;QACf,aAAa,EAAE,gBAAgB,EAAE,OAAO;KACzC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAC9D,CAAC,IAAI,CAAC,aAAa,CAAC,CACrB,CAAC;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAE9E,MAAM,UAAU,GAAG,aAAa,CAC9B,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAChC,kBAAkB,CACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAChC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAC9B,kBAAkB,CACnB,CAAC;IAEF,8EAA8E;IAC9E,0EAA0E;IAC1E,mEAAmE;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,sEAAsE;IACtE,8EAA8E;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QAChD,uBAAuB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEhD,8EAA8E;IAC9E,0CAA0C;IAC1C,8EAA8E;IAE9E,MAAM,WAAW,GAAG,cAAc,CAChC,iBAAiB;QACf,CAAC,CAAC,EAAE,iBAAiB,EAAE,2BAA2B,EAAE;QACpD,CAAC,CAAC,SAAS,CACd,CAAC;IACF,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,CAAsC,EAAE,EAAE;QACzC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,YAAY,CAAC,OAAO;YAAE,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5D,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,CAAY,EAAE,EAAE;QACf,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,UAAU,IAAI,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,IAAI,UAAU;YAAE,OAAO;QAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CACtD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,CAAY,EAAE,EAAE;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,CAAY,EAAE,EAAE;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,UAAU;YAAE,OAAO;QAEvB,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAqB,CAAC;gBAC7D,IAAI,IAAI;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC7E,CAAC;IAEF,8EAA8E;IAC9E,+DAA+D;IAC/D,8EAA8E;IAE9E,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EACH,OAAe,EACf,SAIC,EACD,EAAE;QACF,oEAAoE;QACpE,IAAI,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;YACvD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;oBAChC,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;oBAC3D,4DAA4D;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAgC,EAAE,CAAC;QAE5C,+DAA+D;QAC/D,6DAA6D;QAC7D,0DAA0D;QAC1D,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE/B,IACE,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;YACnC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAC9C,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,mBAAmB,GAAG,iBAAiB;YAC3C,CAAC,CAAC,WAAW,CAAC,kBAAkB,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,gBAAgB,GAAG;YACvB,GAAG,mBAAmB;YACtB,GAAG,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC;SAClC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,MAAM,aAAa,GACjB,SAAS,EAAE,eAAe;YAC1B,CAAC,yBAAyB,IAAI,eAAe;gBAC3C,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,oBAAoB,IAAI,QAAQ,CAAC,OAAO,CAAC;QAC7D,MAAM,aAAa,GAAG,SAAS,EAAE,aAAa,CAAC;QAC/C,+DAA+D;QAC/D,iEAAiE;QACjE,8DAA8D;QAC9D,iCAAiC;QACjC,MAAM,oBAAoB,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,MAAM,OAAO,GACX,MAAM,IAAI,cAAc,IAAI,aAAa,IAAI,WAAW,IAAI,aAAa;eACtE,oBAAoB;YACrB,CAAC,CAAC;gBACE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBACpC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;gBAC1D,eAAe,EAAE,aAAa;gBAC9B,WAAW,EAAE,oBAAoB;gBACjC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,aAAa;aACd;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,eAAe,GAAG,OAAO;YAC7B,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,oBAAoB,EAAE,CAAC;YACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,eAAe,CAAC,CACnM,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IAEH,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE;QAClD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,IAAI,UAAU;gBAAE,OAAO;YACnC,KAAK,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3E,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,EAAU,EAAE,EAAE;QACb,UAAU,CAAC,EAAE,CAAC,CAAC;QACf,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,CAAgB,EAAE,EAAE;QACnB,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,2BAA2B,GAAG,WAAW,CAC7C,CAAC,IAA2B,EAAE,EAAE;QAC9B,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,uBAAuB,CAAC,CAC1B,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAC3C,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE;QAC5B,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAE9E,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc,CAAC;IAC/D,MAAM,WAAW,GACf,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW;QACvC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;IAE3C,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,IAAa,EAAE,EAAE;QAChB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,4BAA4B,CAAC,OAAO,GAAG,SAAS,CAAC;YACjD,IACE,iBAAiB,KAAK,OAAO;gBAC7B,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;gBAC1C,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,EACxC,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAChC,CAAC;IAEF,MAAM,6BAA6B,GAAG,WAAW,CAC/C,CAAC,KAAoB,EAAE,EAAE;QACvB,IACE,iBAAiB,KAAK,OAAO;YAC7B,KAAK,KAAK,OAAO;YACjB,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;YAC1C,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,EACxC,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QACD,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAChC,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EAAE,GAAuB,EAAE,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,gBAAgB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpC,uBAAuB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,yBAAyB,CACvB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAChD,MAAM,CAAC,SAAS,CACjB,CAAC;gBACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,4DAA4D;YAC5D,wDAAwD;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC,EACD;QACE,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACvB,yBAAyB;KAC1B,CACF,CAAC;IAEF,MAAM,2BAA2B,GAAG,WAAW,CAC7C,KAAK,EAAE,GAAgB,EAAE,UAAkB,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnE,gBAAgB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,uBAAuB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,yBAAyB,CACvB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAChD,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC,EACD;QACE,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACvB,yBAAyB;KAC1B,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,KAAK,EACH,MAAmC,EACnC,EAAE,aAAa,EAA6B,EAC5C,EAAE;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YACzE,gBAAgB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,uBAAuB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,yBAAyB,CACvB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAChD,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC,EACD;QACE,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACvB,yBAAyB;KAC1B,CACF,CAAC;IAGF,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAE9E,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvD,oBAAoB,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAEjD,MAAM,8BAA8B,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC3E,8BAA8B,CAAC,OAAO,GAAG,2BAA2B,CAAC;IAErE,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QAEnC,6DAA6D;QAC7D,kEAAkE;QAClE,MAAM,GAAG,GAAG,iBAAiB;YAC3B,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC5E,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAElD,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,8EAA8E;IAC9E,sEAAsE;IACtE,8EAA8E;IAE9E,MAAM,4BAA4B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,4BAA4B,CAAC,OAAO;YAAE,OAAO;QACjD,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;YAAE,OAAO;QAEvD,4BAA4B,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5C,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C,8EAA8E;IAC9E,2DAA2D;IAC3D,8EAA8E;IAE9E,MAAM,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IACE,kBAAkB;YAClB,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC7B,iBAAiB;YACjB,CAAC,yBAAyB,CAAC,OAAO,EAClC,CAAC;YACD,yBAAyB,CAAC,OAAO,GAAG,IAAI,CAAC;YACzC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzD,8EAA8E;IAC9E,yEAAyE;IACzE,8EAA8E;IAE9E,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxD,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;IAClD,MAAM,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACpE,0BAA0B,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM;YAAE,OAAO;QAC7E,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;YAEtC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;oBACvB,0BAA0B,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,kEAAkE;gBAClE,6CAA6C;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAE/B,8EAA8E;IAC9E,iDAAiD;IACjD,8EAA8E;IAE9E,MAAM,oBAAoB,GAAG,OAAO,CAClC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EACvE,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,oBAAoB;YAAE,OAAO;QAC7C,uBAAuB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEnF,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAE9E,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC;IAElD,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,CAAqC,EAAE,EAAE;QACxC,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,SAAS,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CAC3D,CAAC;IAEF,MAAM,cAAc,GAAG,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAEtD,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,IAAI,cAAc,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,YAAY,IAAI,mBAAmB,EAAE,CAAC;YACxD,OAAO,KAAK,IAAI,EAAE;gBAChB,MAAM,IAAI,GAAG,MAAM,mBAAmB,EAAE,CAAC;gBACzC,IAAI,IAAI;oBAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE;QACH,IAAI,cAAc,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,YAAY,IAAI,CAAC,WAAW;YAAE,OAAO,QAAiB,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,cAAc,EAAE,YAAY,EAAE,WAAW,CAAC,CAC5C,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,gBAAgB,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAE9D,8EAA8E;IAC9E,oEAAoE;IACpE,8EAA8E;IAE9E,MAAM,aAAa,GAAG,OAAO,CAAC,GAA6B,EAAE;QAC3D,MAAM,GAAG,GAA6B,EAAE,CAAC;QAEzC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAClD,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;oBAAE,SAAS;gBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,YAAY,CAAC;gBAClE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBACvC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAElD,8EAA8E;IAC9E,mDAAmD;IACnD,8EAA8E;IAE9E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAwB,EAAE;QACvD,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,YAAY,GAChB,CAAC,QAAQ;gBACT,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;oBACzC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW;oBACvC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;YAC9C,gEAAgE;YAChE,8DAA8D;YAC9D,2DAA2D;YAC3D,kEAAkE;YAClE,IAAI,CAAC,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,KAAC,SAAS,KAAG;oBACnB,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,UAAU,EAAE,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,KAAC,aAAa,KAAG;gBACvB,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,QAAQ,CAAC,eAAe,GAAG,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,KAAC,SAAS,KAAG;gBACnB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,KAAC,WAAW,KAAG;gBACrB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAE9J,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAe,EAAmB,EAAE;QACnC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,WAAW,CAAC,CAAC,CAAC,CACnB,0BACE,KAAC,YAAY,IACX,SAAS,EACP,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;gCACxC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS;gCAC5B,CAAC,CAAC,OAAO,EAEb,SAAS,EACP,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;gCACxC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB;gCACnC,CAAC,CAAC,EAAE,EAER,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAClC,YAAY,EAAE,WAAW,EACzB,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,IAAI,CAAC,iBAAiB,GAClC,EACD,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CACzB,KAAC,eAAe,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,GAAI,CACnD,IACG,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,UAAU,aACvB,KAAC,WAAW,IACV,GAAG,EAAE,GAAI,EACT,KAAK,EAAE,QAAQ,IAAI,IAAI,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,qBAAqB,EAAE,yBAAyB,EAChD,QAAQ,EAAE,UAAU,IAAI,WAAW,GACnC,EACD,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,4EAA4E,YACzF,KAAC,cAAc,KAAG,GACd,CACP,EACA,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CACzB,KAAC,eAAe,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,GAAI,CACnD,IACG,CACP,CAAC;YAEJ,KAAK,KAAK;gBACR,OAAO,CACL,KAAC,eAAe,IACd,GAAG,EAAE,GAAI,EACT,KAAK,EAAE;wBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;wBAC/C,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC;wBACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACrC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE;4BAClC,aAAa,EAAE,IAAI,CAAC,aAAa;yBAClC,CAAC;wBACJ,oBAAoB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACnC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;qBACvC,EACD,gBAAgB,EAAE,4BAA4B,CAAC,OAAO,EACtD,qBAAqB,EAAE,yBAAyB,EAChD,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,IAAI,CAAC,iBAAiB,GAClC,CACH,CAAC;YAEJ,KAAK,QAAQ;gBACX,OAAO,CACL,KAAC,WAAW,IACV,GAAG,EAAE,GAAI,EACT,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,QAAQ,EAAE,iBAAkB,EAC5B,qBAAqB,EAAE,yBAAyB,EAChD,QAAQ,EAAE,UAAU,GACpB,CACH,CAAC;YAEJ,KAAK,aAAa;gBAChB,OAAO,CACL,KAAC,qBAAqB,IACpB,gBAAgB,EAAE,gBAAiB,EACnC,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,aAAa,GAC5B,CACH,CAAC;YAEJ;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,EACD;QACE,WAAW;QACX,UAAU;QACV,WAAW;QACX,UAAU;QACV,GAAG;QACH,QAAQ;QACR,iBAAiB;QACjB,mBAAmB;QACnB,yBAAyB;QACzB,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,gBAAgB;QAChB,IAAI;QACJ,aAAa;KACd,CACF,CAAC;IAEF,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E,OAAO,CACL,cACE,IAAI,EAAC,MAAM,gBACC,SAAS,EACrB,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,YAEpC,eACE,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,4CAA4C;YAC5C,+DAA+D;YAC/D,0EAA0E;YAC1E,eAAe,KAAK,MAAM,IAAI,sBAAsB,EACpD,UAAU,IAAI,CAAC,QAAQ,IAAI,YAAY,EACvC,UAAU,IAAI,wBAAwB,CACvC,EACD,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,eAAe,EAC5B,MAAM,EAAE,UAAU,aAKjB,SAAS,IAAI,CACZ,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kGAAkG,aAE5G,eAAM,SAAS,EAAC,2CAA2C,gCAEpD,EACN,YAAY,IAAI,CACf,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,gBACV,gBAAgB,EAC3B,KAAK,EAAC,sBAAsB,EAC5B,SAAS,EAAC,qKAAqK,YAE/K,KAAC,KAAK,KAAG,GACF,CACV,IACG,CACP,EAGD,eAAK,SAAS,EAAC,UAAU,aACvB,sBACM,QAAQ,CAAC,aAAa,EAC1B,SAAS,EAAE,qBAAqB,EAChC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,iKAAiK,GAC3K,EACD,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,sGAAsG,YACnH,eAAM,SAAS,EAAC,kCAAkC,YAC/C,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,sBAAsB,GACnE,GACH,CACP,IACG,EAGL,UAAU,IAAI,CACb,gBACE,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,QACR,QAAQ,EAAE,qBAAqB,EAC/B,SAAS,EAAC,QAAQ,iBACN,MAAM,EAClB,QAAQ,EAAE,CAAC,CAAC,GACZ,CACH,EAGA,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACtF,eAAK,SAAS,EAAC,uBAAuB,aACnC,UAAU,IAAI,WAAW,CAAC,UAAU,IAAI,CACvC,KAAC,kBAAkB,IACjB,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,QAAQ,EAAE,WAAW,CAAC,WAAW,EACjC,OAAO,EAAE,WAAW,CAAC,UAAU,EAC/B,QAAQ,EAAE,UAAU,GACpB,CACH,EACA,oBAAoB,IAAI,QAAQ,CAAC,OAAO,IAAI,CAC3C,KAAC,qBAAqB,IACpB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,EACzB,QAAQ,EAAE,UAAU,GACpB,CACH,IACG,CACP,CAAC,CAAC,CAAC,IAAI,EAGP,SAAS;oBACR,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc;oBAC1C,CAAC,QAAQ,IAAI,CACX,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+FAA+F,aAEzG,KAAC,iBAAiB,KAAG,EACrB,kEAAiD,EACjD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,IAAI,CAAC,CAAC;gCACpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;4BAChC,CAAC,EACD,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,uIAAuI,0BAG1I,IACL,CACP,EAGF,OAAO,IAAI,QAAQ,CAAC,eAAe,GAAG,CAAC,IAAI,CAC1C,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+FAA+F,aAEzG,KAAC,iBAAiB,KAAG,EACrB,yBACG,QAAQ,CAAC,eAAe,KAAK,CAAC;gCAC7B,CAAC,CAAC,kCAAkC;gCACpC,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,iCAAiC,GAC3D,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,QAAQ,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;oCACnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CACrC,EAAE,CAAC,CAAC,CAAC,CAAC;oCACP,4BAA4B,CAAC,OAAO,GAAG,GAAG,CAAC;gCAC7C,CAAC;qCAAM,CAAC;oCACN,4BAA4B,CAAC,OAAO,GAAG,SAAS,CAAC;gCACnD,CAAC;gCACD,aAAa,CAAC,IAAI,CAAC,CAAC;gCACpB,oBAAoB,CAAC,KAAK,CAAC,CAAC;4BAC9B,CAAC,EACD,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAC,uIAAuI,0BAG1I,IACL,CACP,EAGD,KAAC,eAAe,IACd,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,uBAAuB,EAAE,qBAAqB,EAC9C,gBAAgB,EACd,SAAS;wBACP,CAAC,CAAC,KAAC,eAAe,IACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,qBAAqB,GACnC;wBACN,CAAC,CAAC,IAAI,EAEV,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,EAC3C,aAAa,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,EAClD,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,sBAAsB,EAC1C,iBAAiB,EAAE,iBAAiB,EACpC,yBAAyB,EAAE,6BAA6B,EACxD,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,mBAAmB,EACpC,yBAAyB,EAAE,yBAAyB,EACpD,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,2BAA2B,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,cAAc,GACnC,IACE,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAG1D,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E,SAAS,eAAe,CAAC,EAAE,KAAK,EAAoB;IAClD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,GAAG,CAAC;IACjE,CAAC;IACD,OAAO,CACL,YAAG,SAAS,EAAC,+BAA+B,YACzC,cAAc,CAAC,KAAK,CAAC,GACpB,CACL,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACxB,IAAI,EAAE,eAAe,CAAC,UAAU;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SessionComposer.js","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { ChannelConversation } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
2
+ import type { UseConversationParticipationReturn } from "./useConversationParticipation.js";
3
+ /** Props for {@link ConversationAttentionBanner}. */
4
+ export interface ConversationAttentionBannerProps {
5
+ /** The conversation's fresh participation state. */
6
+ readonly conversation: ChannelConversation;
7
+ /** The participation commands (from `useConversationParticipation`). */
8
+ readonly participation: UseConversationParticipationReturn;
9
+ /** Additional classes for the banner container. */
10
+ readonly className?: string;
11
+ }
12
+ /**
13
+ * The needs-attention banner (channel-conversations DD-008): the
14
+ * escalating agent's reason, verbatim, with the false-alarm dismissal.
15
+ *
16
+ * Dismiss is `clearAttention` — attention clears in place and control
17
+ * never moves (taking over also clears it, structurally, because the
18
+ * human arriving IS the answer to an escalation). Renders nothing while
19
+ * the conversation is unflagged.
20
+ */
21
+ export declare function ConversationAttentionBanner({ conversation, participation, className, }: ConversationAttentionBannerProps): import("react/jsx-runtime").JSX.Element | null;
22
+ //# sourceMappingURL=ConversationAttentionBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationAttentionBanner.d.ts","sourceRoot":"","sources":["../../src/conversation/ConversationAttentionBanner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uEAAuE,CAAC;AAEjH,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AAE5F,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,oDAAoD;IACpD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,aAAa,EAAE,kCAAkC,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,YAAY,EACZ,aAAa,EACb,SAAS,GACV,EAAE,gCAAgC,kDA4ClC"}
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { TriangleAlert } from "lucide-react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { getUserMessage } from "@stigmer/sdk";
6
+ import { Button } from "../button/Button.js";
7
+ /**
8
+ * The needs-attention banner (channel-conversations DD-008): the
9
+ * escalating agent's reason, verbatim, with the false-alarm dismissal.
10
+ *
11
+ * Dismiss is `clearAttention` — attention clears in place and control
12
+ * never moves (taking over also clears it, structurally, because the
13
+ * human arriving IS the answer to an escalation). Renders nothing while
14
+ * the conversation is unflagged.
15
+ */
16
+ export function ConversationAttentionBanner({ conversation, participation, className, }) {
17
+ if (!conversation.needsAttention)
18
+ return null;
19
+ const { clearAttention, pendingCommands, commandErrors } = participation;
20
+ const error = commandErrors.get("clearAttention");
21
+ return (_jsxs("div", { className: cn("border-b border-border bg-destructive-subtle px-4 py-2", className), role: "status", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("p", { className: "flex min-w-0 items-start gap-1.5 text-sm text-destructive", children: [_jsx(TriangleAlert, { "aria-hidden": "true", className: "mt-0.5 size-4 shrink-0" }), _jsxs("span", { className: "min-w-0 break-words", children: ["The agent asked for a human", conversation.attentionReason ? (_jsxs(_Fragment, { children: [" \u2014 \u201C", conversation.attentionReason, "\u201D"] })) : (".")] })] }), _jsx(Button, { variant: "outline", size: "xs", onClick: () => void clearAttention().catch(() => {
22
+ // Recorded in commandErrors and rendered below.
23
+ }), disabled: pendingCommands.has("clearAttention"), children: pendingCommands.has("clearAttention") ? "Dismissing…" : "Dismiss" })] }), error && (_jsx("p", { className: "mt-1 text-xs text-destructive", children: getUserMessage(error) }))] }));
24
+ }
25
+ //# sourceMappingURL=ConversationAttentionBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationAttentionBanner.js","sourceRoot":"","sources":["../../src/conversation/ConversationAttentionBanner.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAa7C;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,YAAY,EACZ,aAAa,EACb,SAAS,GACwB;IACjC,IAAI,CAAC,YAAY,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IACzE,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAElD,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,SAAS,CACV,EACD,IAAI,EAAC,QAAQ,aAEb,eAAK,SAAS,EAAC,mDAAmD,aAChE,aAAG,SAAS,EAAC,2DAA2D,aACtE,KAAC,aAAa,mBAAa,MAAM,EAAC,SAAS,EAAC,wBAAwB,GAAG,EACvE,gBAAM,SAAS,EAAC,qBAAqB,4CAElC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAC9B,gDAAa,YAAY,CAAC,eAAe,cAAW,CACrD,CAAC,CAAC,CAAC,CACF,GAAG,CACJ,IACI,IACL,EACJ,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;4BAC/B,gDAAgD;wBAClD,CAAC,CAAC,EAEJ,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAE9C,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,GAC3D,IACL,EACL,KAAK,IAAI,CACR,YAAG,SAAS,EAAC,+BAA+B,YAAE,cAAc,CAAC,KAAK,CAAC,GAAK,CACzE,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { SendChannelMessageOutput } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/message_io_pb";
2
+ /** Props for {@link ConversationComposer}. */
3
+ export interface ConversationComposerProps {
4
+ /** Send a staff reply (from `useConversationParticipation().reply`). */
5
+ readonly onSend: (text: string) => Promise<SendChannelMessageOutput>;
6
+ /** `true` while a reply is in flight. */
7
+ readonly isSending: boolean;
8
+ /**
9
+ * Why replying is unavailable, when it is — rendered in place of the
10
+ * input (a senderless provider, or a conversation the customer has
11
+ * not started yet). `null` enables the composer.
12
+ */
13
+ readonly disabledReason: string | null;
14
+ /**
15
+ * A pre-send forecast that ANNOTATES the enabled input — the
16
+ * `disabledReason` pattern's sibling with the opposite contract
17
+ * (channel-conversations DD-014 D-e): a closed service window is a
18
+ * forecast, not a structural block, so the input stays usable and the
19
+ * send engines remain the authority. Rendered above the input and
20
+ * associated via `aria-describedby` (never a live region: the
21
+ * advisory is state a reader meets on open, not an event). Compute it
22
+ * with `serviceWindowOf`; `null` or omitted renders nothing.
23
+ */
24
+ readonly advisory?: string | null;
25
+ /** Additional classes for the composer container. */
26
+ readonly className?: string;
27
+ }
28
+ /**
29
+ * The staff reply composer. Sending is an implicit takeover — the agent
30
+ * goes quiet the moment a staff reply lands, before the send itself —
31
+ * so this composer is only ever rendered alongside the control banner
32
+ * that shows that state change.
33
+ *
34
+ * Outcome honesty: `refused` keeps the draft (the words never left) and
35
+ * renders the server's refusal detail verbatim; `queued` clears it and
36
+ * says the platform is retrying; a thrown failure keeps the draft and
37
+ * renders the error. The timeline shows the delivered item via its own
38
+ * read — this component never fabricates one.
39
+ */
40
+ export declare function ConversationComposer({ onSend, isSending, disabledReason, advisory, className, }: ConversationComposerProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=ConversationComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationComposer.d.ts","sourceRoot":"","sources":["../../src/conversation/ConversationComposer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAKjH,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrE,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,2CAkG3B"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useId, useState } from "react";
4
+ import { Send, TriangleAlert } from "lucide-react";
5
+ import { cn } from "@stigmer/theme";
6
+ import { getUserMessage } from "@stigmer/sdk";
7
+ import { ChannelSendOutcome } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/message_io_pb";
8
+ import { Button } from "../button/Button.js";
9
+ import { SpinnerIcon } from "../composer/icons.js";
10
+ import { useComposer } from "../composer/useComposer.js";
11
+ /**
12
+ * The staff reply composer. Sending is an implicit takeover — the agent
13
+ * goes quiet the moment a staff reply lands, before the send itself —
14
+ * so this composer is only ever rendered alongside the control banner
15
+ * that shows that state change.
16
+ *
17
+ * Outcome honesty: `refused` keeps the draft (the words never left) and
18
+ * renders the server's refusal detail verbatim; `queued` clears it and
19
+ * says the platform is retrying; a thrown failure keeps the draft and
20
+ * renders the error. The timeline shows the delivered item via its own
21
+ * read — this component never fabricates one.
22
+ */
23
+ export function ConversationComposer({ onSend, isSending, disabledReason, advisory, className, }) {
24
+ const advisoryId = useId();
25
+ const hasAdvisory = advisory != null && advisory !== "";
26
+ const [notice, setNotice] = useState(null);
27
+ const composer = useComposer({
28
+ onSubmit: (message) => {
29
+ setNotice(null);
30
+ onSend(message).then((output) => {
31
+ if (output.outcome === ChannelSendOutcome.refused) {
32
+ // The words never left; keep them so the user can adjust.
33
+ composer.setMessage(message);
34
+ setNotice({
35
+ kind: "refused",
36
+ text: output.detail || "The provider refused this message.",
37
+ });
38
+ }
39
+ else if (output.outcome === ChannelSendOutcome.queued) {
40
+ setNotice({
41
+ kind: "queued",
42
+ text: "Delivery hit a transient issue — the platform is retrying in the background.",
43
+ });
44
+ }
45
+ }, (err) => {
46
+ composer.setMessage(message);
47
+ setNotice({ kind: "error", text: getUserMessage(err) });
48
+ });
49
+ },
50
+ disabled: disabledReason !== null || isSending,
51
+ });
52
+ if (disabledReason !== null) {
53
+ return (_jsx("div", { className: cn("border-t border-border px-4 py-3", className), children: _jsx("p", { className: "text-center text-xs text-muted-foreground", children: disabledReason }) }));
54
+ }
55
+ return (_jsxs("div", { className: cn("border-t border-border px-4 py-3", className), children: [hasAdvisory && (_jsxs("p", { id: advisoryId, className: "mb-2 flex items-start gap-1.5 rounded-md bg-status-degraded-subtle px-2.5 py-1.5 text-xs text-status-degraded", children: [_jsx(TriangleAlert, { "aria-hidden": "true", className: "mt-0.5 size-3.5 shrink-0" }), _jsx("span", { className: "min-w-0", children: advisory })] })), notice && (_jsx("p", { className: cn("mb-2 text-xs", notice.kind === "queued" ? "text-muted-foreground" : "text-destructive"), role: "status", children: notice.text })), _jsxs("div", { className: "flex items-end gap-2", children: [_jsx("textarea", { ...composer.textareaProps, rows: 1, placeholder: "Reply as your business\u2026", "aria-label": "Reply to the customer", "aria-describedby": hasAdvisory ? advisoryId : undefined, className: cn("min-h-9 flex-1 resize-none rounded-md border border-border bg-background", "px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground-faint", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") }), _jsxs(Button, { variant: "primary", size: "sm", onClick: composer.submit, disabled: !composer.canSubmit || isSending, "aria-label": "Send reply", children: [isSending ? _jsx(SpinnerIcon, {}) : _jsx(Send, { "aria-hidden": "true", className: "size-4" }), isSending ? "Sending…" : "Send"] })] })] }));
56
+ }
57
+ //# sourceMappingURL=ConversationComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationComposer.js","sourceRoot":"","sources":["../../src/conversation/ConversationComposer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type ChannelConversation } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
2
+ import type { UseConversationParticipationReturn } from "./useConversationParticipation.js";
3
+ /** Props for {@link ConversationControlBanner}. */
4
+ export interface ConversationControlBannerProps {
5
+ /** The conversation's fresh participation state. */
6
+ readonly conversation: ChannelConversation;
7
+ /** The participation commands (from `useConversationParticipation`). */
8
+ readonly participation: UseConversationParticipationReturn;
9
+ /**
10
+ * `true` when the customer's last message has not been answered —
11
+ * the conversation row's server-derived `awaiting_reply` fact, which
12
+ * is bounce-aware: a staff reply the provider later failed does not
13
+ * count as an answer (channel-conversations F-28/DD-015). Arms the
14
+ * handback confirm guard (DD-007 D-e): handing back runs NO turn, so
15
+ * the agent stays quiet until the customer next speaks, and the
16
+ * unanswered state must be unmissable. Never derive this from
17
+ * timeline authorship — the send attempt's presence on the timeline
18
+ * says nothing about whether the customer received it.
19
+ */
20
+ readonly unansweredCustomer: boolean;
21
+ /**
22
+ * Whether the channel's provider has a staff send lane. Senderless
23
+ * providers disable takeover with the reason — a takeover there would
24
+ * silence the agent while no human reply could reach the customer,
25
+ * which is exactly what the server refuses.
26
+ */
27
+ readonly supportsStaffReplies: boolean;
28
+ /**
29
+ * The signed-in staff member's identity account id, when the host
30
+ * knows it — lets the banner attribute a human hold: "You have this
31
+ * conversation" when it matches, "A teammate has this conversation"
32
+ * when it differs. When omitted the banner only states that a human
33
+ * holds it — the holder may be the viewer themself, so "a teammate"
34
+ * would be a guess. Optional: the SDK never assumes a host's auth
35
+ * state.
36
+ */
37
+ readonly currentIdentityAccountId?: string;
38
+ /** Additional classes for the banner container. */
39
+ readonly className?: string;
40
+ }
41
+ /**
42
+ * Who may speak to the customer, and the controls that move it: take
43
+ * over (the agent goes quiet) and hand back (the agent resumes, with
44
+ * the context it missed injected on its next turn).
45
+ *
46
+ * Truth rules: state renders from the conversation row the server
47
+ * answered — a takeover that lost its race renders the WINNER's hold,
48
+ * because that is what happened. Failures render verbatim beside the
49
+ * control that caused them.
50
+ */
51
+ export declare function ConversationControlBanner({ conversation, participation, unansweredCustomer, supportsStaffReplies, currentIdentityAccountId, className, }: ConversationControlBannerProps): import("react/jsx-runtime").JSX.Element;
52
+ //# sourceMappingURL=ConversationControlBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationControlBanner.d.ts","sourceRoot":"","sources":["../../src/conversation/ConversationControlBanner.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uEAAuE,CAAC;AAE/E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AAE5F,mDAAmD;AACnD,MAAM,WAAW,8BAA8B;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,aAAa,EAAE,kCAAkC,CAAC;IAC3D;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC;;;;;;;;OAQG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,SAAS,GACV,EAAE,8BAA8B,2CA2HhC"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { Bot, User } from "lucide-react";
5
+ import { cn } from "@stigmer/theme";
6
+ import { getUserMessage } from "@stigmer/sdk";
7
+ import { ConversationControl, } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
8
+ import { Button } from "../button/Button.js";
9
+ /**
10
+ * Who may speak to the customer, and the controls that move it: take
11
+ * over (the agent goes quiet) and hand back (the agent resumes, with
12
+ * the context it missed injected on its next turn).
13
+ *
14
+ * Truth rules: state renders from the conversation row the server
15
+ * answered — a takeover that lost its race renders the WINNER's hold,
16
+ * because that is what happened. Failures render verbatim beside the
17
+ * control that caused them.
18
+ */
19
+ export function ConversationControlBanner({ conversation, participation, unansweredCustomer, supportsStaffReplies, currentIdentityAccountId, className, }) {
20
+ const [confirmingHandBack, setConfirmingHandBack] = useState(false);
21
+ const humanHeld = conversation.control === ConversationControl.control_human;
22
+ const heldByMe = humanHeld &&
23
+ currentIdentityAccountId !== undefined &&
24
+ conversation.controlledBy === currentIdentityAccountId;
25
+ const { takeOver, handBack, pendingCommands, commandErrors } = participation;
26
+ const error = commandErrors.get("takeOver") ?? commandErrors.get("handBack");
27
+ const requestHandBack = () => {
28
+ if (unansweredCustomer) {
29
+ setConfirmingHandBack(true);
30
+ return;
31
+ }
32
+ void handBack().catch(() => {
33
+ // Recorded in commandErrors and rendered below.
34
+ });
35
+ };
36
+ return (_jsxs("div", { className: cn("border-b border-border px-4 py-2", humanHeld ? "bg-primary-subtle" : "bg-muted-faint", className), children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsx("p", { className: "flex items-center gap-1.5 text-sm text-foreground", children: humanHeld ? (_jsxs(_Fragment, { children: [_jsx(User, { "aria-hidden": "true", className: "size-4 text-muted-foreground" }), heldByMe
37
+ ? "You have this conversation — the agent is quiet until you hand it back."
38
+ : currentIdentityAccountId !== undefined
39
+ ? "A teammate has this conversation — the agent is quiet until handback."
40
+ : // Without the host's identity the holder may be the
41
+ // viewer themself — claiming "a teammate" would be a
42
+ // guess. State only what the row proves: a human
43
+ // holds it (channel-conversations F-01).
44
+ "This conversation is with a human — the agent is quiet until handback."] })) : (_jsxs(_Fragment, { children: [_jsx(Bot, { "aria-hidden": "true", className: "size-4 text-muted-foreground" }), "The agent is serving this conversation."] })) }), confirmingHandBack ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-xs text-destructive", children: "The customer's last message has no reply \u2014 the agent stays quiet until they write again." }), _jsx(Button, { variant: "outline", size: "xs", onClick: () => {
45
+ setConfirmingHandBack(false);
46
+ void handBack().catch(() => {
47
+ // Recorded in commandErrors and rendered below.
48
+ });
49
+ }, disabled: pendingCommands.has("handBack"), children: "Hand back anyway" }), _jsx(Button, { variant: "primary", size: "xs", onClick: () => setConfirmingHandBack(false), children: "Keep the conversation" })] })) : humanHeld ? (_jsx(Button, { variant: "outline", size: "xs", onClick: requestHandBack, disabled: pendingCommands.has("handBack"), children: pendingCommands.has("handBack") ? "Handing back…" : "Hand back to agent" })) : (_jsxs("div", { className: "flex items-center gap-2", children: [!supportsStaffReplies && (
50
+ // Visible text, never a native title (F-18): a disabled
51
+ // Button swallows hover (disabled:pointer-events-none) and
52
+ // leaves the tab order, so a title on it is unreachable by
53
+ // every input method. Kept short — the composer's own
54
+ // notice already explains the missing staff reply lane.
55
+ _jsx("span", { className: "text-xs text-muted-foreground", children: "This channel's provider has no staff send lane yet \u2014 a takeover would silence the agent with no way to reply." })), _jsx(Button, { variant: "outline", size: "xs", onClick: () => void takeOver().catch(() => {
56
+ // Recorded in commandErrors and rendered below.
57
+ }), disabled: !supportsStaffReplies || pendingCommands.has("takeOver"), children: pendingCommands.has("takeOver") ? "Taking over…" : "Take over" })] }))] }), error && (_jsx("p", { className: "mt-1 text-xs text-destructive", children: getUserMessage(error) }))] }));
58
+ }
59
+ //# sourceMappingURL=ConversationControlBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationControlBanner.js","sourceRoot":"","sources":["../../src/conversation/ConversationControlBanner.tsx"],"names":[],"mappings":"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"}