@alpaca-editor/core 1.0.4135 → 1.0.4140

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 (126) hide show
  1. package/dist/config/config.js +7 -0
  2. package/dist/config/config.js.map +1 -1
  3. package/dist/editor/FieldListField.js +3 -4
  4. package/dist/editor/FieldListField.js.map +1 -1
  5. package/dist/editor/Terminal.js +1 -1
  6. package/dist/editor/Terminal.js.map +1 -1
  7. package/dist/editor/Titlebar.js +0 -1
  8. package/dist/editor/Titlebar.js.map +1 -1
  9. package/dist/editor/ai/AgentCostDisplay.d.ts +3 -1
  10. package/dist/editor/ai/AgentCostDisplay.js +26 -2
  11. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  12. package/dist/editor/ai/AgentStatusBadge.d.ts +26 -0
  13. package/dist/editor/ai/AgentStatusBadge.js +110 -0
  14. package/dist/editor/ai/AgentStatusBadge.js.map +1 -0
  15. package/dist/editor/ai/AgentTerminal.js +289 -198
  16. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  17. package/dist/editor/ai/Agents.d.ts +2 -2
  18. package/dist/editor/ai/Agents.js +115 -19
  19. package/dist/editor/ai/Agents.js.map +1 -1
  20. package/dist/editor/ai/AiResponseMessage.js +259 -45
  21. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  22. package/dist/editor/ai/ContextInfoBar.js +124 -113
  23. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  24. package/dist/editor/ai/ToolCallDisplay.d.ts +1 -0
  25. package/dist/editor/ai/ToolCallDisplay.js +70 -58
  26. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  27. package/dist/editor/ai/useAgentStatus.d.ts +13 -0
  28. package/dist/editor/ai/useAgentStatus.js +101 -0
  29. package/dist/editor/ai/useAgentStatus.js.map +1 -0
  30. package/dist/editor/client/EditorShell.js +23 -8
  31. package/dist/editor/client/EditorShell.js.map +1 -1
  32. package/dist/editor/client/itemsRepository.js.map +1 -1
  33. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js +5 -5
  34. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js.map +1 -1
  35. package/dist/editor/control-center/About.js +1 -1
  36. package/dist/editor/control-center/About.js.map +1 -1
  37. package/dist/editor/control-center/AllAgentsPanel.d.ts +5 -0
  38. package/dist/editor/control-center/AllAgentsPanel.js +126 -0
  39. package/dist/editor/control-center/AllAgentsPanel.js.map +1 -0
  40. package/dist/editor/control-center/WebSocketMessages.js +1 -0
  41. package/dist/editor/control-center/WebSocketMessages.js.map +1 -1
  42. package/dist/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.js +42 -7
  43. package/dist/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.js.map +1 -1
  44. package/dist/editor/media-selector/AiImageSearch.d.ts +1 -1
  45. package/dist/editor/media-selector/AiImageSearch.js +162 -103
  46. package/dist/editor/media-selector/AiImageSearch.js.map +1 -1
  47. package/dist/editor/media-selector/TreeSelector.js +20 -4
  48. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  49. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +5 -2
  50. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  51. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +1 -1
  52. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -5
  53. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  54. package/dist/editor/page-viewer/DeviceToolbar.js +2 -2
  55. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  56. package/dist/editor/page-viewer/PageViewerFrame.js +18 -11
  57. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  58. package/dist/editor/services/agentService.d.ts +53 -48
  59. package/dist/editor/services/agentService.js +137 -79
  60. package/dist/editor/services/agentService.js.map +1 -1
  61. package/dist/editor/services/aiService.d.ts +1 -1
  62. package/dist/editor/services/editService.js +1 -0
  63. package/dist/editor/services/editService.js.map +1 -1
  64. package/dist/editor/sidebar/GraphQL.js +20 -7
  65. package/dist/editor/sidebar/GraphQL.js.map +1 -1
  66. package/dist/editor/sidebar/SEOInfo.js +1 -2
  67. package/dist/editor/sidebar/SEOInfo.js.map +1 -1
  68. package/dist/editor/sidebar/Translations.js +10 -7
  69. package/dist/editor/sidebar/Translations.js.map +1 -1
  70. package/dist/editor/ui/ItemNameDialogNew.js +1 -1
  71. package/dist/editor/ui/ItemSearch.js +10 -4
  72. package/dist/editor/ui/ItemSearch.js.map +1 -1
  73. package/dist/page-wizard/steps/CollectStep.js +2 -2
  74. package/dist/page-wizard/steps/CollectStep.js.map +1 -1
  75. package/dist/page-wizard/steps/FieldEditor.js +2 -2
  76. package/dist/page-wizard/steps/FieldEditor.js.map +1 -1
  77. package/dist/revision.d.ts +2 -2
  78. package/dist/revision.js +2 -2
  79. package/dist/splash-screen/NewPage.js +2 -2
  80. package/dist/splash-screen/NewPage.js.map +1 -1
  81. package/dist/splash-screen/RecentPages.js +1 -1
  82. package/dist/splash-screen/RecentPages.js.map +1 -1
  83. package/dist/styles.css +167 -22
  84. package/dist/tour/Tour.js +15 -11
  85. package/dist/tour/Tour.js.map +1 -1
  86. package/package.json +1 -1
  87. package/src/config/config.tsx +7 -0
  88. package/src/editor/FieldListField.tsx +13 -13
  89. package/src/editor/Terminal.tsx +1 -1
  90. package/src/editor/Titlebar.tsx +0 -1
  91. package/src/editor/ai/AgentCostDisplay.tsx +57 -1
  92. package/src/editor/ai/AgentStatusBadge.tsx +144 -0
  93. package/src/editor/ai/AgentTerminal.tsx +345 -219
  94. package/src/editor/ai/Agents.tsx +179 -30
  95. package/src/editor/ai/AiResponseMessage.tsx +411 -114
  96. package/src/editor/ai/ContextInfoBar.tsx +134 -131
  97. package/src/editor/ai/ToolCallDisplay.tsx +217 -176
  98. package/src/editor/ai/useAgentStatus.ts +123 -0
  99. package/src/editor/client/EditorShell.tsx +34 -8
  100. package/src/editor/client/itemsRepository.ts +1 -2
  101. package/src/editor/commands/localizeItem/LocalizeItemDialog.tsx +5 -5
  102. package/src/editor/control-center/About.tsx +0 -14
  103. package/src/editor/control-center/AllAgentsPanel.tsx +300 -0
  104. package/src/editor/control-center/WebSocketMessages.tsx +1 -0
  105. package/src/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.tsx +49 -8
  106. package/src/editor/media-selector/AiImageSearch.tsx +162 -172
  107. package/src/editor/media-selector/TreeSelector.tsx +137 -116
  108. package/src/editor/menubar/toolbar-sections/UtilityControls.tsx +9 -1
  109. package/src/editor/page-editor-chrome/PlaceholderDropZone.tsx +7 -4
  110. package/src/editor/page-viewer/DeviceToolbar.tsx +15 -11
  111. package/src/editor/page-viewer/PageViewerFrame.tsx +20 -14
  112. package/src/editor/services/agentService.ts +217 -129
  113. package/src/editor/services/aiService.ts +2 -2
  114. package/src/editor/services/editService.ts +1 -0
  115. package/src/editor/sidebar/GraphQL.tsx +143 -117
  116. package/src/editor/sidebar/SEOInfo.tsx +1 -2
  117. package/src/editor/sidebar/Translations.tsx +14 -12
  118. package/src/editor/ui/ItemNameDialogNew.tsx +1 -1
  119. package/src/editor/ui/ItemSearch.tsx +11 -4
  120. package/src/editor/ui/SimpleTabs.tsx +1 -1
  121. package/src/page-wizard/steps/CollectStep.tsx +2 -2
  122. package/src/page-wizard/steps/FieldEditor.tsx +13 -15
  123. package/src/revision.ts +2 -2
  124. package/src/splash-screen/NewPage.tsx +2 -2
  125. package/src/splash-screen/RecentPages.tsx +1 -1
  126. package/src/tour/Tour.tsx +61 -48
@@ -7,6 +7,120 @@ import { X } from "lucide-react";
7
7
  import { Button } from "../../components/ui/button";
8
8
  import { Checkbox } from "../../components/ui/checkbox";
9
9
  import { SecretAgentIcon } from "../ui/Icons";
10
+ // Helper to extract partial quick actions from potentially incomplete JSON during streaming
11
+ const extractPartialQuickActions = (jsonText) => {
12
+ const actions = [];
13
+ // First try to parse complete JSON
14
+ try {
15
+ const parsed = JSON.parse(jsonText);
16
+ const rawActions = Array.isArray(parsed)
17
+ ? parsed
18
+ : parsed?.actions || parsed?.buttons || parsed?.choices || [];
19
+ if (Array.isArray(rawActions)) {
20
+ rawActions.forEach((a) => {
21
+ if (!a)
22
+ return;
23
+ const label = a.label || a.text || String(a.value || a.prompt || "");
24
+ if (label) {
25
+ actions.push({
26
+ id: a.id,
27
+ label,
28
+ prompt: a.prompt,
29
+ value: a.value,
30
+ style: a.style,
31
+ behavior: a.behavior &&
32
+ (a.behavior === "compose" || a.behavior === "submit")
33
+ ? a.behavior
34
+ : a.submit === false ||
35
+ a.compose === true ||
36
+ a.draft === true ||
37
+ a.mode === "compose"
38
+ ? "compose"
39
+ : undefined,
40
+ placeholder: a.placeholder,
41
+ });
42
+ }
43
+ });
44
+ }
45
+ return actions;
46
+ }
47
+ catch (e) {
48
+ // JSON is incomplete, try to extract whatever complete action objects we can find
49
+ }
50
+ // Look for individual action objects in the partial JSON
51
+ // Match patterns like: { "label": "...", ... }
52
+ const labelPattern = /"(?:label|text)"\s*:\s*"([^"\\]*(\\.[^"\\]*)*)"/g;
53
+ const labelMatches = [];
54
+ let labelMatch;
55
+ while ((labelMatch = labelPattern.exec(jsonText)) !== null) {
56
+ if (labelMatch[1]) {
57
+ labelMatches.push({
58
+ label: labelMatch[1],
59
+ startIdx: labelMatch.index,
60
+ });
61
+ }
62
+ }
63
+ // For each label field found, try to find and parse the enclosing object
64
+ for (const { label, startIdx } of labelMatches) {
65
+ // Find the opening brace before this label field
66
+ let openBrace = -1;
67
+ for (let i = startIdx - 1; i >= 0; i--) {
68
+ if (jsonText[i] === "{") {
69
+ openBrace = i;
70
+ break;
71
+ }
72
+ if (jsonText[i] === "}")
73
+ break; // Hit another object's end
74
+ }
75
+ if (openBrace === -1)
76
+ continue;
77
+ // Find the closing brace after this label field
78
+ let closeBrace = -1;
79
+ let depth = 0;
80
+ for (let i = openBrace; i < jsonText.length; i++) {
81
+ if (jsonText[i] === "{")
82
+ depth++;
83
+ if (jsonText[i] === "}") {
84
+ depth--;
85
+ if (depth === 0) {
86
+ closeBrace = i;
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ // Extract the object and try to parse it
92
+ const objStr = closeBrace !== -1
93
+ ? jsonText.substring(openBrace, closeBrace + 1)
94
+ : jsonText.substring(openBrace) + "}"; // Try to close incomplete object
95
+ try {
96
+ const obj = JSON.parse(objStr);
97
+ const actionLabel = obj.label || obj.text || String(obj.value || obj.prompt || "");
98
+ if (actionLabel) {
99
+ actions.push({
100
+ id: obj.id,
101
+ label: actionLabel,
102
+ prompt: obj.prompt,
103
+ value: obj.value,
104
+ style: obj.style,
105
+ behavior: obj.behavior &&
106
+ (obj.behavior === "compose" || obj.behavior === "submit")
107
+ ? obj.behavior
108
+ : obj.submit === false ||
109
+ obj.compose === true ||
110
+ obj.draft === true ||
111
+ obj.mode === "compose"
112
+ ? "compose"
113
+ : undefined,
114
+ placeholder: obj.placeholder,
115
+ });
116
+ }
117
+ }
118
+ catch (e) {
119
+ // Skip malformed objects
120
+ }
121
+ }
122
+ return actions;
123
+ };
10
124
  function parseContentSegments(content, hideIncomplete) {
11
125
  if (!content)
12
126
  return [];
@@ -114,8 +228,20 @@ function parseContentSegments(content, hideIncomplete) {
114
228
  const openLineLength = openLineMatch ? openLineMatch[0].length : 0;
115
229
  const jsonStart = afterOpenLineStart + openLineLength;
116
230
  const close = content.indexOf("```", jsonStart);
231
+ const jsonText = (close === -1
232
+ ? content.slice(jsonStart)
233
+ : content.slice(jsonStart, close)).trim();
117
234
  if (close === -1) {
118
- if (hideIncomplete) {
235
+ // Incomplete fenced block during streaming
236
+ if (hideIncomplete && pick.type === "quick") {
237
+ // Try to parse partial quick actions and show what we have so far
238
+ const partialActions = extractPartialQuickActions(jsonText);
239
+ if (partialActions.length > 0) {
240
+ segments.push({ kind: "actions", actions: partialActions });
241
+ }
242
+ break;
243
+ }
244
+ else if (hideIncomplete) {
119
245
  break;
120
246
  }
121
247
  else {
@@ -123,7 +249,6 @@ function parseContentSegments(content, hideIncomplete) {
123
249
  break;
124
250
  }
125
251
  }
126
- const jsonText = content.slice(jsonStart, close).trim();
127
252
  try {
128
253
  const parsed = JSON.parse(jsonText);
129
254
  if (pick.type === "quick") {
@@ -218,8 +343,20 @@ function parseContentSegments(content, hideIncomplete) {
218
343
  }
219
344
  }
220
345
  const braceEnd = findMatchingBraceEnd(braceStart);
346
+ const jsonText = (braceEnd === -1
347
+ ? content.slice(braceStart)
348
+ : content.slice(braceStart, braceEnd + 1)).trim();
221
349
  if (braceEnd === -1) {
222
- if (hideIncomplete) {
350
+ // Incomplete plain JSON block during streaming
351
+ if (hideIncomplete && pick.type === "quick") {
352
+ // Try to parse partial quick actions and show what we have so far
353
+ const partialActions = extractPartialQuickActions(jsonText);
354
+ if (partialActions.length > 0) {
355
+ segments.push({ kind: "actions", actions: partialActions });
356
+ }
357
+ break;
358
+ }
359
+ else if (hideIncomplete) {
223
360
  break;
224
361
  }
225
362
  else {
@@ -230,7 +367,6 @@ function parseContentSegments(content, hideIncomplete) {
230
367
  break;
231
368
  }
232
369
  }
233
- const jsonText = content.slice(braceStart, braceEnd + 1).trim();
234
370
  try {
235
371
  const parsed = JSON.parse(jsonText);
236
372
  if (pick.type === "quick") {
@@ -301,6 +437,22 @@ function parseContentSegments(content, hideIncomplete) {
301
437
  }
302
438
  return segments;
303
439
  }
440
+ // Helper to extract command links from markdown
441
+ function extractCommandLinks(text) {
442
+ const links = [];
443
+ const commandLinkPattern = /\[([^\]]+)\]\(command:([^)]+)\)/g;
444
+ let match;
445
+ while ((match = commandLinkPattern.exec(text)) !== null) {
446
+ if (match[1] && match[2]) {
447
+ links.push({
448
+ label: match[1],
449
+ command: match[2],
450
+ index: match.index,
451
+ });
452
+ }
453
+ }
454
+ return { text, links };
455
+ }
304
456
  function simpleFormatToHtml(text) {
305
457
  return text
306
458
  .replace(/\*\*(.*?)\*\*/g, "<strong>$1</strong>")
@@ -361,53 +513,115 @@ export function AiResponseMessage({ messages, finished, editOperations, error, o
361
513
  const lastMessage = messages[messages.length - 1];
362
514
  // Memoize filtered messages and their parsed content segments to avoid hooks inside loops
363
515
  const nonToolAssistantMessages = useMemo(() => messages.filter((x) => x.role !== "tool" && x.role !== "user"), [messages]);
364
- const segmentsByMessageId = useMemo(() => {
365
- const result = {};
516
+ const flatItems = useMemo(() => {
517
+ const items = [];
366
518
  nonToolAssistantMessages.forEach((message) => {
367
519
  const contentString = (message.content ||
368
520
  message.formattedContent ||
369
521
  "");
370
- result[message.id] = parseContentSegments(contentString, isStreaming);
522
+ const segments = parseContentSegments(contentString, isStreaming);
523
+ // Add content segments
524
+ segments.forEach((segment) => {
525
+ items.push({
526
+ type: "segment",
527
+ segment,
528
+ messageId: message.id,
529
+ message,
530
+ });
531
+ });
532
+ // Add tool calls if present
533
+ const toolCalls = message.tool_calls && message.tool_calls.length > 0
534
+ ? message.tool_calls
535
+ : preservedToolCalls[message.id] || [];
536
+ if (toolCalls.length > 0) {
537
+ items.push({
538
+ type: "toolcalls",
539
+ toolCalls,
540
+ messageId: message.id,
541
+ message,
542
+ });
543
+ }
371
544
  });
372
- return result;
373
- }, [nonToolAssistantMessages, isStreaming]);
374
- return (_jsxs("div", { className: "flex gap-3 p-4", "data-testid": "agent-message", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-2" }) }), _jsxs("div", { className: "min-w-0 flex-1 select-text", children: [_jsxs("div", { className: "mb-1 flex items-center gap-2", children: [_jsx("span", { className: "text-dark text-xs font-medium", children: "Agent" }), lastMessage && lastMessage.createdDate && (_jsx("span", { className: "text-xs text-gray-400", children: formatTime(new Date(lastMessage.createdDate)) }))] }), error && (_jsx("div", { className: "mb-3 rounded-lg border-l-4 border-red-500 bg-red-50 p-3", "data-testid": "agent-error", children: _jsxs("div", { className: "flex items-start", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx(X, { className: "h-5 w-5 text-red-400", strokeWidth: 1 }) }), _jsxs("div", { className: "ml-3", children: [_jsx("p", { className: "text-sm font-medium text-red-800", children: "Agent Error" }), _jsx("p", { className: "mt-1 text-sm text-red-700", children: error })] })] }) })), nonToolAssistantMessages.map((message, filteredIndex) => {
375
- // Use preserved tool calls if current message has empty tool calls
376
- const toolCalls = message.tool_calls && message.tool_calls.length > 0
377
- ? message.tool_calls
378
- : preservedToolCalls[message.id] || [];
379
- // Retrieve precomputed segments for this message
380
- const segments = segmentsByMessageId[message.id] || [];
381
- return (_jsxs("div", { className: toolCalls.length > 0 ? "mb-2" : "", children: [segments.map((segment, idx) => {
382
- if (segment.kind === "text") {
383
- const html = simpleFormatToHtml(segment.text.trim());
384
- if (!html)
385
- return null;
386
- return (_jsx("div", { className: "prose prose-sm max-w-none text-xs text-gray-700 select-text", dangerouslySetInnerHTML: { __html: html } }, "txt-" + idx));
387
- }
388
- if (segment.kind === "todo") {
389
- const todo = segment;
390
- return (_jsxs("div", { className: "my-2", children: [todo.title && (_jsx("div", { className: "mb-1 text-xs font-medium text-gray-800", children: todo.title })), _jsx("div", { className: "flex flex-col gap-1", children: todo.items.map((item, iIdx) => (_jsxs("label", { className: "flex items-start gap-2 text-xs text-gray-700", children: [_jsx(Checkbox, { checked: !!item.done, onCheckedChange: () => { }, "aria-readonly": true, className: "mt-0.5" }), _jsxs("div", { children: [_jsx("div", { className: item.done ? "line-through opacity-70" : "", children: item.text }), item.note && (_jsx("div", { className: "text-gray-1 text-xs", children: item.note }))] })] }, (item.id || item.text || "todo") + "-" + iIdx))) })] }, "todo-" + idx));
545
+ return items;
546
+ }, [nonToolAssistantMessages, isStreaming, preservedToolCalls]);
547
+ return (_jsxs("div", { className: "flex gap-3 p-4", "data-testid": "agent-message", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-2" }) }), _jsxs("div", { className: "min-w-0 flex-1 select-text", children: [_jsxs("div", { className: "mb-1 flex items-center gap-2", children: [_jsx("span", { className: "text-dark text-xs font-medium", children: "Agent" }), lastMessage && lastMessage.createdDate && (_jsx("span", { className: "text-xs text-gray-400", children: formatTime(new Date(lastMessage.createdDate)) }))] }), error && (_jsx("div", { className: "mb-3 rounded-lg border-l-4 border-red-500 bg-red-50 p-3", "data-testid": "agent-error", children: _jsxs("div", { className: "flex items-start", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx(X, { className: "h-5 w-5 text-red-400", strokeWidth: 1 }) }), _jsxs("div", { className: "ml-3", children: [_jsx("p", { className: "text-sm font-medium text-red-800", children: "Agent Error" }), _jsx("p", { className: "mt-1 text-sm text-red-700", children: error })] })] }) })), flatItems.map((item, itemIndex) => {
548
+ const prevItem = itemIndex > 0 ? flatItems[itemIndex - 1] : null;
549
+ const shouldAddSpacing = prevItem?.type === "toolcalls" && item.type === "segment";
550
+ if (item.type === "segment") {
551
+ const segment = item.segment;
552
+ const message = item.message;
553
+ if (segment.kind === "text") {
554
+ const trimmedText = segment.text.trim();
555
+ if (!trimmedText)
556
+ return null;
557
+ // Check for command links in the text
558
+ const { text, links } = extractCommandLinks(trimmedText);
559
+ if (links.length > 0) {
560
+ // Split text around command links and render buttons
561
+ const parts = [];
562
+ let lastIndex = 0;
563
+ links.forEach((link, linkIdx) => {
564
+ // Add text before the link
565
+ if (link.index > lastIndex) {
566
+ const textBefore = text.substring(lastIndex, link.index);
567
+ const html = simpleFormatToHtml(textBefore);
568
+ if (html) {
569
+ parts.push(_jsx("span", { dangerouslySetInnerHTML: { __html: html } }, `text-${itemIndex}-${linkIdx}`));
570
+ }
571
+ }
572
+ // Add the button
573
+ parts.push(_jsx(Button, { size: "sm", variant: "outline", className: "mx-1 inline-flex", onClick: () => onQuickAction?.({
574
+ label: link.label,
575
+ value: link.command,
576
+ prompt: link.command,
577
+ }, message), children: link.label }, `btn-${itemIndex}-${linkIdx}`));
578
+ // Find the end of this match in the original text
579
+ const matchEnd = link.index +
580
+ `[${link.label}](command:${link.command})`.length;
581
+ lastIndex = matchEnd;
582
+ });
583
+ // Add any remaining text after the last link
584
+ if (lastIndex < text.length) {
585
+ const textAfter = text.substring(lastIndex);
586
+ const html = simpleFormatToHtml(textAfter);
587
+ if (html) {
588
+ parts.push(_jsx("span", { dangerouslySetInnerHTML: { __html: html } }, `text-${itemIndex}-end`));
589
+ }
391
590
  }
392
- const actions = segment.actions;
393
- return (_jsx("div", { className: "my-2 flex flex-wrap gap-2", children: actions.map((a, aIdx) => {
394
- const variant = a.style === "destructive"
395
- ? "destructive"
396
- : a.style === "outline"
397
- ? "outline"
398
- : a.style === "secondary"
399
- ? "secondary"
400
- : "default"; // primary
401
- return (_jsx(Button, { size: "sm", variant: variant, onClick: () => onQuickAction?.({
402
- label: a.label,
403
- prompt: a.prompt,
404
- value: a.value,
405
- behavior: a.behavior,
406
- placeholder: a.placeholder,
407
- }, message), children: a.label }, (a.id || a.label || "btn") + "-" + aIdx));
408
- }) }, "act-" + idx));
409
- }), _jsx(ToolCallDisplay, { toolCalls: toolCalls, finished: finished, openPopovers: openPopovers, setOpenPopovers: setOpenPopovers, messageId: message.id })] }, filteredIndex));
410
- }), finished && editOperations.length > 0 && (_jsxs("div", { className: "my-2 flex items-center gap-2", children: [_jsxs("div", { className: "tour-ai-response-message-changes text-xs", children: [editOperations.length, " changes"] }), canReject && !changesRejected && (_jsxs("div", { className: "flex cursor-pointer items-center gap-1 text-xs text-red-500", onClick: async () => {
591
+ return (_jsx("div", { className: `prose prose-sm max-w-none text-xs text-gray-700 select-text ${shouldAddSpacing ? "mt-3" : ""}`, children: parts }, `item-${itemIndex}`));
592
+ }
593
+ // No command links, render as normal
594
+ const html = simpleFormatToHtml(trimmedText);
595
+ if (!html)
596
+ return null;
597
+ return (_jsx("div", { className: `prose prose-sm max-w-none text-xs text-gray-700 select-text ${shouldAddSpacing ? "mt-3" : ""}`, dangerouslySetInnerHTML: { __html: html } }, `item-${itemIndex}`));
598
+ }
599
+ if (segment.kind === "todo") {
600
+ const todo = segment;
601
+ return (_jsxs("div", { className: `my-2 ${shouldAddSpacing ? "mt-3" : ""}`, children: [todo.title && (_jsx("div", { className: "mb-1 text-xs font-medium text-gray-800", children: todo.title })), _jsx("div", { className: "flex flex-col gap-1", children: todo.items.map((todoItem, iIdx) => (_jsxs("label", { className: "flex items-start gap-2 text-xs text-gray-700", children: [_jsx(Checkbox, { checked: !!todoItem.done, onCheckedChange: () => { }, "aria-readonly": true, className: "mt-0.5" }), _jsxs("div", { children: [_jsx("div", { className: todoItem.done ? "line-through opacity-70" : "", children: todoItem.text }), todoItem.note && (_jsx("div", { className: "text-gray-1 text-xs", children: todoItem.note }))] })] }, (todoItem.id || todoItem.text || "todo") + "-" + iIdx))) })] }, `item-${itemIndex}`));
602
+ }
603
+ // segment.kind === "actions"
604
+ const actions = segment.actions;
605
+ return (_jsx("div", { className: `my-2 flex flex-wrap gap-2 ${shouldAddSpacing ? "mt-3" : ""}`, children: actions.map((a, aIdx) => {
606
+ const variant = a.style === "destructive"
607
+ ? "destructive"
608
+ : a.style === "outline"
609
+ ? "outline"
610
+ : a.style === "secondary"
611
+ ? "secondary"
612
+ : "default"; // primary
613
+ return (_jsx(Button, { size: "sm", variant: variant, onClick: () => onQuickAction?.({
614
+ label: a.label,
615
+ prompt: a.prompt,
616
+ value: a.value,
617
+ behavior: a.behavior,
618
+ placeholder: a.placeholder,
619
+ }, message), children: a.label }, (a.id || a.label || "btn") + "-" + aIdx));
620
+ }) }, `item-${itemIndex}`));
621
+ }
622
+ // item.type === "toolcalls"
623
+ return (_jsx("div", { className: "mt-3", children: _jsx(ToolCallDisplay, { toolCalls: item.toolCalls, finished: finished, openPopovers: openPopovers, setOpenPopovers: setOpenPopovers, messageId: item.messageId }) }, `item-${itemIndex}`));
624
+ }), finished && editOperations.length > 0 && (_jsxs("div", { className: "mt-3 flex items-center gap-2", children: [_jsxs("div", { className: "tour-ai-response-message-changes text-xs", children: [editOperations.length, " changes"] }), canReject && !changesRejected && (_jsxs("div", { className: "flex cursor-pointer items-center gap-1 text-xs text-red-500", onClick: async () => {
411
625
  await editContext?.operations?.undo?.(editOperations.length);
412
626
  setChangesRejected(true);
413
627
  }, children: [_jsx(X, { strokeWidth: 1, size: 14 }), " Reject"] })), changesRejected && (_jsx("div", { className: "text-xs text-red-500", children: "rejected" }))] }))] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"AiResponseMessage.js","sourceRoot":"","sources":["../../../src/editor/ai/AiResponseMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiResponseMessage.js","sourceRoot":"","sources":["../../../src/editor/ai/AiResponseMessage.tsx"],"names":[],"mappings":"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"}