@bikdotai/bik-component-library 0.0.868-beta.6 → 0.0.868-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
- package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/cjs/components/button/themes.js +2 -2
- package/dist/cjs/components/button/themes.js.map +1 -1
- package/dist/cjs/components/chip-selector/ChipSelector.js +2 -0
- package/dist/cjs/components/chip-selector/ChipSelector.js.map +1 -0
- package/dist/cjs/components/chip-selector/ChipSelector.styled.js +36 -0
- package/dist/cjs/components/chip-selector/ChipSelector.styled.js.map +1 -0
- package/dist/cjs/components/chip-selector/ChipSelectorGroup.js +2 -0
- package/dist/cjs/components/chip-selector/ChipSelectorGroup.js.map +1 -0
- package/dist/cjs/components/combo-box/ComboBox.js +2 -0
- package/dist/cjs/components/combo-box/ComboBox.js.map +1 -0
- package/dist/cjs/components/combo-box/ComboBox.styled.js +33 -0
- package/dist/cjs/components/combo-box/ComboBox.styled.js.map +1 -0
- package/dist/cjs/components/datePicker/DatePickerWrapper.js +1 -1
- package/dist/cjs/components/datePicker/DatePickerWrapper.js.map +1 -1
- package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js +2 -0
- package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js.map +1 -0
- package/dist/cjs/components/schedule-builder/ScheduleBuilder.js +2 -0
- package/dist/cjs/components/schedule-builder/ScheduleBuilder.js.map +1 -0
- package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js +138 -0
- package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js.map +1 -0
- package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js +2 -0
- package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js.map +1 -0
- package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js +2 -0
- package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js.map +1 -0
- package/dist/cjs/components/schedule-builder/ScheduleHelper.js +2 -0
- package/dist/cjs/components/schedule-builder/ScheduleHelper.js.map +1 -0
- package/dist/cjs/components/schedule-builder/SendModeSelector.js +2 -0
- package/dist/cjs/components/schedule-builder/SendModeSelector.js.map +1 -0
- package/dist/cjs/components/schedule-builder/StartDateTimePicker.js +2 -0
- package/dist/cjs/components/schedule-builder/StartDateTimePicker.js.map +1 -0
- package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js +2 -0
- package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js.map +1 -0
- package/dist/cjs/components/schedule-builder/model.js +2 -0
- package/dist/cjs/components/schedule-builder/model.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/agent-builder/constants/tools.d.ts +0 -1
- package/dist/esm/components/agent-builder/constants/tools.js +18 -18
- package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/esm/components/button/themes.js +2 -1
- package/dist/esm/components/button/themes.js.map +1 -1
- package/dist/esm/components/chip-selector/ChipSelector.d.ts +9 -0
- package/dist/esm/components/chip-selector/ChipSelector.js +27 -0
- package/dist/esm/components/chip-selector/ChipSelector.js.map +1 -0
- package/dist/esm/components/chip-selector/ChipSelector.styled.d.ts +10 -0
- package/dist/esm/components/chip-selector/ChipSelector.styled.js +48 -0
- package/dist/esm/components/chip-selector/ChipSelector.styled.js.map +1 -0
- package/dist/esm/components/chip-selector/ChipSelectorGroup.d.ts +10 -0
- package/dist/esm/components/chip-selector/ChipSelectorGroup.js +48 -0
- package/dist/esm/components/chip-selector/ChipSelectorGroup.js.map +1 -0
- package/dist/esm/components/chip-selector/index.d.ts +4 -0
- package/dist/esm/components/chip-selector/model.d.ts +106 -0
- package/dist/esm/components/combo-box/ComboBox.d.ts +15 -0
- package/dist/esm/components/combo-box/ComboBox.js +118 -0
- package/dist/esm/components/combo-box/ComboBox.js.map +1 -0
- package/dist/esm/components/combo-box/ComboBox.styled.d.ts +12 -0
- package/dist/esm/components/combo-box/ComboBox.styled.js +40 -0
- package/dist/esm/components/combo-box/ComboBox.styled.js.map +1 -0
- package/dist/esm/components/combo-box/index.d.ts +3 -0
- package/dist/esm/components/combo-box/model.d.ts +55 -0
- package/dist/esm/components/datePicker/DatePickerWrapper.d.ts +7 -0
- package/dist/esm/components/datePicker/DatePickerWrapper.js +66 -64
- package/dist/esm/components/datePicker/DatePickerWrapper.js.map +1 -1
- package/dist/esm/components/datePicker/index.d.ts +1 -0
- package/dist/esm/components/schedule-builder/RefreshSegmentToggle.d.ts +22 -0
- package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js +31 -0
- package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js.map +1 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.d.ts +88 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.js +105 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.js.map +1 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.d.ts +81 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js +168 -0
- package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js.map +1 -0
- package/dist/esm/components/schedule-builder/ScheduleEndPicker.d.ts +17 -0
- package/dist/esm/components/schedule-builder/ScheduleEndPicker.js +105 -0
- package/dist/esm/components/schedule-builder/ScheduleEndPicker.js.map +1 -0
- package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.d.ts +21 -0
- package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js +136 -0
- package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js.map +1 -0
- package/dist/esm/components/schedule-builder/ScheduleHelper.d.ts +110 -0
- package/dist/esm/components/schedule-builder/ScheduleHelper.js +196 -0
- package/dist/esm/components/schedule-builder/ScheduleHelper.js.map +1 -0
- package/dist/esm/components/schedule-builder/SendModeSelector.d.ts +29 -0
- package/dist/esm/components/schedule-builder/SendModeSelector.js +41 -0
- package/dist/esm/components/schedule-builder/SendModeSelector.js.map +1 -0
- package/dist/esm/components/schedule-builder/StartDateTimePicker.d.ts +51 -0
- package/dist/esm/components/schedule-builder/StartDateTimePicker.js +120 -0
- package/dist/esm/components/schedule-builder/StartDateTimePicker.js.map +1 -0
- package/dist/esm/components/schedule-builder/UpcomingRunsPreview.d.ts +19 -0
- package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js +44 -0
- package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js.map +1 -0
- package/dist/esm/components/schedule-builder/index.d.ts +18 -0
- package/dist/esm/components/schedule-builder/model.d.ts +69 -0
- package/dist/esm/components/schedule-builder/model.js +8 -0
- package/dist/esm/components/schedule-builder/model.js.map +1 -0
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +828 -844
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/components/bik-copilot/BIKCopilot.js +0 -2
- package/dist/cjs/components/bik-copilot/BIKCopilot.js.map +0 -1
- package/dist/cjs/components/bik-copilot/ControlledCopilot.js +0 -2
- package/dist/cjs/components/bik-copilot/ControlledCopilot.js.map +0 -1
- package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js +0 -27
- package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotBall.js +0 -2
- package/dist/cjs/components/bik-copilot/CopilotBall.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotBall.styled.js +0 -42
- package/dist/cjs/components/bik-copilot/CopilotBall.styled.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.js +0 -2
- package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.styled.js +0 -108
- package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.styled.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotPanel.js +0 -2
- package/dist/cjs/components/bik-copilot/CopilotPanel.js.map +0 -1
- package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js +0 -534
- package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js.map +0 -1
- package/dist/cjs/components/bik-copilot/copilotPlacement.js +0 -2
- package/dist/cjs/components/bik-copilot/copilotPlacement.js.map +0 -1
- package/dist/cjs/components/bik-copilot/copilotRegenerate.js +0 -2
- package/dist/cjs/components/bik-copilot/copilotRegenerate.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotDb.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotDb.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotFeedbackClient.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotFeedbackClient.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotPageSession.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotPageSession.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotSseParser.js +0 -7
- package/dist/cjs/components/bik-copilot/services/copilotSseParser.js.map +0 -1
- package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js +0 -2
- package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js.map +0 -1
- package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js +0 -2
- package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js.map +0 -1
- package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js +0 -2
- package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js.map +0 -1
- package/dist/cjs/components/bik-copilot/useDraggableFloater.js +0 -2
- package/dist/cjs/components/bik-copilot/useDraggableFloater.js.map +0 -1
- package/dist/cjs/components/bik-copilot/utils/markdown.js +0 -4
- package/dist/cjs/components/bik-copilot/utils/markdown.js.map +0 -1
- package/dist/cjs/components/bik-copilot/utils/toolCtas.js +0 -2
- package/dist/cjs/components/bik-copilot/utils/toolCtas.js.map +0 -1
- package/dist/esm/components/bik-copilot/BIKCopilot.d.ts +0 -31
- package/dist/esm/components/bik-copilot/BIKCopilot.js +0 -118
- package/dist/esm/components/bik-copilot/BIKCopilot.js.map +0 -1
- package/dist/esm/components/bik-copilot/ControlledCopilot.d.ts +0 -14
- package/dist/esm/components/bik-copilot/ControlledCopilot.js +0 -174
- package/dist/esm/components/bik-copilot/ControlledCopilot.js.map +0 -1
- package/dist/esm/components/bik-copilot/ControlledCopilot.styled.d.ts +0 -7
- package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js +0 -31
- package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotBall.d.ts +0 -13
- package/dist/esm/components/bik-copilot/CopilotBall.js +0 -50
- package/dist/esm/components/bik-copilot/CopilotBall.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotBall.styled.d.ts +0 -9
- package/dist/esm/components/bik-copilot/CopilotBall.styled.js +0 -46
- package/dist/esm/components/bik-copilot/CopilotBall.styled.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.d.ts +0 -29
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.js +0 -73
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.d.ts +0 -12
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.js +0 -122
- package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotPanel.d.ts +0 -9
- package/dist/esm/components/bik-copilot/CopilotPanel.js +0 -536
- package/dist/esm/components/bik-copilot/CopilotPanel.js.map +0 -1
- package/dist/esm/components/bik-copilot/CopilotPanel.styled.d.ts +0 -67
- package/dist/esm/components/bik-copilot/CopilotPanel.styled.js +0 -573
- package/dist/esm/components/bik-copilot/CopilotPanel.styled.js.map +0 -1
- package/dist/esm/components/bik-copilot/copilotPlacement.d.ts +0 -24
- package/dist/esm/components/bik-copilot/copilotPlacement.js +0 -38
- package/dist/esm/components/bik-copilot/copilotPlacement.js.map +0 -1
- package/dist/esm/components/bik-copilot/copilotRegenerate.d.ts +0 -22
- package/dist/esm/components/bik-copilot/copilotRegenerate.js +0 -6
- package/dist/esm/components/bik-copilot/copilotRegenerate.js.map +0 -1
- package/dist/esm/components/bik-copilot/index.d.ts +0 -19
- package/dist/esm/components/bik-copilot/model.d.ts +0 -804
- package/dist/esm/components/bik-copilot/services/copilotDb.d.ts +0 -90
- package/dist/esm/components/bik-copilot/services/copilotDb.js +0 -96
- package/dist/esm/components/bik-copilot/services/copilotDb.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.d.ts +0 -15
- package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.js +0 -55
- package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.d.ts +0 -11
- package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js +0 -54
- package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotMessagesClient.d.ts +0 -23
- package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js +0 -78
- package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotPageSession.d.ts +0 -37
- package/dist/esm/components/bik-copilot/services/copilotPageSession.js +0 -35
- package/dist/esm/components/bik-copilot/services/copilotPageSession.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotSseParser.d.ts +0 -22
- package/dist/esm/components/bik-copilot/services/copilotSseParser.js +0 -52
- package/dist/esm/components/bik-copilot/services/copilotSseParser.js.map +0 -1
- package/dist/esm/components/bik-copilot/services/copilotStreamClient.d.ts +0 -35
- package/dist/esm/components/bik-copilot/services/copilotStreamClient.js +0 -110
- package/dist/esm/components/bik-copilot/services/copilotStreamClient.js.map +0 -1
- package/dist/esm/components/bik-copilot/useCopilotIcebreakers.d.ts +0 -17
- package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js +0 -60
- package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js.map +0 -1
- package/dist/esm/components/bik-copilot/useCopilotStreamChat.d.ts +0 -20
- package/dist/esm/components/bik-copilot/useCopilotStreamChat.js +0 -377
- package/dist/esm/components/bik-copilot/useCopilotStreamChat.js.map +0 -1
- package/dist/esm/components/bik-copilot/useDraggableFloater.d.ts +0 -9
- package/dist/esm/components/bik-copilot/useDraggableFloater.js +0 -118
- package/dist/esm/components/bik-copilot/useDraggableFloater.js.map +0 -1
- package/dist/esm/components/bik-copilot/utils/markdown.d.ts +0 -1
- package/dist/esm/components/bik-copilot/utils/markdown.js +0 -48
- package/dist/esm/components/bik-copilot/utils/markdown.js.map +0 -1
- package/dist/esm/components/bik-copilot/utils/toolCtas.d.ts +0 -6
- package/dist/esm/components/bik-copilot/utils/toolCtas.js +0 -27
- package/dist/esm/components/bik-copilot/utils/toolCtas.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sources":["../../../../../src/components/bik-copilot/utils/markdown.ts"],"sourcesContent":["// Markdown-to-HTML converter for copilot assistant messages.\n// Escapes HTML, then supports: headings (#–####), bold/italic, inline `code`,\n// fenced ```code``` blocks, links [t](url), bare http(s) urls, unordered (-, *)\n// and ordered (1.) lists, and line breaks. Output is safe to inject: all text is\n// HTML-escaped first, and link hrefs are restricted to http(s)/mailto.\n//\n// Copilot-local on purpose — the bik-chatbot util is intentionally simpler and\n// shared elsewhere, so richer formatting (lists, links, inline code) lives here.\n\nconst anchor = (href: string, label: string): string =>\n\t`<a href=\"${href}\" target=\"_blank\" rel=\"noopener noreferrer\">${label}</a>`;\n\n/** Punctuation that reads as sentence-ending rather than part of the url. */\nconst TRAILING_PUNCTUATION = /[.,;:!?)\\]]+$/;\n\n/** Inline formatting applied within a single line (already HTML-escaped). */\nfunction applyInline(text: string): string {\n\tlet out = text;\n\t// Inline code first, so ** or _ inside code isn't treated as emphasis.\n\tout = out.replace(/`([^`]+)`/g, '<code>$1</code>');\n\t// Bold, then italic.\n\tout = out.replace(/\\*\\*(.+?)\\*\\*/g, '<strong>$1</strong>');\n\tout = out.replace(/(^|\\s)\\*(.+?)\\*(?=\\s|$)/g, '$1<em>$2</em>');\n\tout = out.replace(/(^|\\s)_(.+?)_(?=\\s|$)/g, '$1<em>$2</em>');\n\n\t// Stash the tags produced so far — autolinking below must not reach inside an\n\t// href it just wrote, or a url shown as inline code.\n\tconst stashed: string[] = [];\n\tconst stash = (html: string): string => {\n\t\tstashed.push(html);\n\t\treturn `@@INLINE${stashed.length - 1}@@`;\n\t};\n\n\t// Links [text](url) — only safe schemes, everything else neutralised to #.\n\tout = out.replace(/\\[([^\\]]+)\\]\\(([^)\\s]+)\\)/g, (_m, label, url) => {\n\t\tconst safe = /^(https?:|mailto:)/i.test(url) ? url : '#';\n\t\treturn stash(anchor(safe, label));\n\t});\n\tout = out.replace(/<code>[\\s\\S]*?<\\/code>/g, (code) => stash(code));\n\n\t// Bare urls. The model routinely drops the markdown syntax when it\n\t// paraphrases a link it was given, so a url on its own still has to be\n\t// clickable — otherwise the reader gets text they have to copy by hand.\n\tout = out.replace(/https?:\\/\\/[^\\s<>\"']+/g, (match) => {\n\t\tconst url = match.replace(TRAILING_PUNCTUATION, '');\n\t\treturn `${anchor(url, url)}${match.slice(url.length)}`;\n\t});\n\n\treturn out.replace(\n\t\t/@@INLINE(\\d+)@@/g,\n\t\t(_m, index: string) => stashed[Number(index)],\n\t);\n}\n\nexport function renderCopilotMarkdown(text: string): string {\n\tif (!text) return '';\n\n\t// Escape HTML.\n\tlet escaped = text\n\t\t.replace(/&/g, '&')\n\t\t.replace(/</g, '<')\n\t\t.replace(/>/g, '>');\n\n\t// Pull fenced code blocks out so line/inline rules don't touch them.\n\tconst codeBlocks: string[] = [];\n\tescaped = escaped.replace(/```([\\s\\S]*?)```/g, (_m, body) => {\n\t\tcodeBlocks.push(`<pre><code>${body.trim()}</code></pre>`);\n\t\treturn `@@CODE${codeBlocks.length - 1}@@`;\n\t});\n\n\tconst out: string[] = [];\n\tlet listType: 'ul' | 'ol' | null = null;\n\tlet paragraph: string[] = [];\n\t// Running count of ordered items so numbering continues across a bullet\n\t// block that interrupts a numbered list (e.g. step 4, sub-bullets, step 5).\n\t// Only a real break (blank line, heading, paragraph, code) resets it.\n\tlet orderedCount = 0;\n\n\tconst closeList = () => {\n\t\tif (listType) {\n\t\t\tout.push(`</${listType}>`);\n\t\t\tlistType = null;\n\t\t}\n\t};\n\tconst flushParagraph = () => {\n\t\tif (paragraph.length) {\n\t\t\tout.push(paragraph.join('<br/>'));\n\t\t\tparagraph = [];\n\t\t}\n\t};\n\n\tfor (const line of escaped.split('\\n')) {\n\t\tconst isCodeBlock = /^@@CODE\\d+@@$/.test(line.trim());\n\t\tconst heading = line.match(/^(#{1,4})\\s+(.+)$/);\n\t\tconst unordered = line.match(/^\\s*[-*]\\s+(.+)$/);\n\t\tconst ordered = line.match(/^\\s*\\d+\\.\\s+(.+)$/);\n\n\t\tif (isCodeBlock) {\n\t\t\tflushParagraph();\n\t\t\tcloseList();\n\t\t\torderedCount = 0;\n\t\t\tout.push(line.trim());\n\t\t} else if (heading) {\n\t\t\tflushParagraph();\n\t\t\tcloseList();\n\t\t\torderedCount = 0;\n\t\t\tconst level = heading[1].length;\n\t\t\tout.push(`<h${level}>${applyInline(heading[2])}</h${level}>`);\n\t\t} else if (unordered) {\n\t\t\t// A bullet block may interrupt a numbered list; keep orderedCount so\n\t\t\t// the numbering resumes rather than restarting at 1.\n\t\t\tflushParagraph();\n\t\t\tif (listType !== 'ul') {\n\t\t\t\tcloseList();\n\t\t\t\tout.push('<ul>');\n\t\t\t\tlistType = 'ul';\n\t\t\t}\n\t\t\tout.push(`<li>${applyInline(unordered[1])}</li>`);\n\t\t} else if (ordered) {\n\t\t\tflushParagraph();\n\t\t\tif (listType !== 'ol') {\n\t\t\t\tcloseList();\n\t\t\t\t// Continue numbering when reopening after an interruption.\n\t\t\t\tout.push(\n\t\t\t\t\torderedCount > 0 ? `<ol start=\"${orderedCount + 1}\">` : '<ol>',\n\t\t\t\t);\n\t\t\t\tlistType = 'ol';\n\t\t\t}\n\t\t\torderedCount += 1;\n\t\t\tout.push(`<li>${applyInline(ordered[1])}</li>`);\n\t\t} else if (line.trim() === '') {\n\t\t\t// Blank line ends a paragraph/list and leaves a gap.\n\t\t\tflushParagraph();\n\t\t\tcloseList();\n\t\t\torderedCount = 0;\n\t\t\tout.push('<br/>');\n\t\t} else {\n\t\t\tcloseList();\n\t\t\torderedCount = 0;\n\t\t\tparagraph.push(applyInline(line));\n\t\t}\n\t}\n\tflushParagraph();\n\tcloseList();\n\n\t// Restore fenced code blocks.\n\treturn out\n\t\t.join('\\n')\n\t\t.replace(/@@CODE(\\d+)@@/g, (_m, index) => codeBlocks[Number(index)]);\n}\n"],"names":["anchor","href","label","TRAILING_PUNCTUATION","applyInline","text","out","stashed","stash","html","_m","url","safe","code","match","index","renderCopilotMarkdown","escaped","codeBlocks","body","listType","paragraph","orderedCount","closeList","flushParagraph","line","isCodeBlock","heading","unordered","ordered","level"],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CopilotToolCta, CopilotToolResult } from '../model';
|
|
2
|
-
/**
|
|
3
|
-
* The CTAs for one reply, in the order the tools ran. Empty when a reply has no
|
|
4
|
-
* tool results or none of them point anywhere.
|
|
5
|
-
*/
|
|
6
|
-
export declare const toolResultCtas: (toolResults: CopilotToolResult[] | undefined) => CopilotToolCta[];
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const i = "Open link", a = (t) => typeof t == "string" && /^https?:\/\//i.test(t.trim()), f = (t) => {
|
|
2
|
-
const n = t.cta;
|
|
3
|
-
return typeof n == "string" && n.trim().length > 0 ? n.trim() : i;
|
|
4
|
-
}, l = (t) => {
|
|
5
|
-
if (!Array.isArray(t))
|
|
6
|
-
return [];
|
|
7
|
-
const n = [], c = /* @__PURE__ */ new Set();
|
|
8
|
-
for (const o of t) {
|
|
9
|
-
const r = o?.data;
|
|
10
|
-
if (!r || typeof r != "object")
|
|
11
|
-
continue;
|
|
12
|
-
const e = r;
|
|
13
|
-
if (!a(e.url))
|
|
14
|
-
continue;
|
|
15
|
-
const s = e.url.trim();
|
|
16
|
-
c.has(s) || (c.add(s), n.push({
|
|
17
|
-
label: f(e),
|
|
18
|
-
url: s,
|
|
19
|
-
tool: typeof o.tool == "string" ? o.tool : ""
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
return n;
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
l as toolResultCtas
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=toolCtas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toolCtas.js","sources":["../../../../../src/components/bik-copilot/utils/toolCtas.ts"],"sourcesContent":["// Turns a reply's structured tool outputs into the buttons rendered under it.\n//\n// Tools that hand the merchant somewhere to go (today: `create_jira_ticket` and\n// its support-portal link) return `{ url, cta, buttonType }` — the same field\n// names the chat stack's CtaButton uses. Anything without a usable http(s) url\n// is skipped, so a tool that returns other data cannot render a dead button.\nimport { CopilotToolCta, CopilotToolResult } from '../model';\n\nconst DEFAULT_LABEL = 'Open link';\n\n/** Only real web links become buttons; anything else is dropped. */\nconst isSafeUrl = (value: unknown): value is string =>\n\ttypeof value === 'string' && /^https?:\\/\\//i.test(value.trim());\n\nconst readLabel = (data: Record<string, unknown>): string => {\n\tconst cta = data['cta'];\n\tif (typeof cta === 'string' && cta.trim().length > 0) {\n\t\treturn cta.trim();\n\t}\n\treturn DEFAULT_LABEL;\n};\n\n/**\n * The CTAs for one reply, in the order the tools ran. Empty when a reply has no\n * tool results or none of them point anywhere.\n */\nexport const toolResultCtas = (\n\ttoolResults: CopilotToolResult[] | undefined,\n): CopilotToolCta[] => {\n\tif (!Array.isArray(toolResults)) {\n\t\treturn [];\n\t}\n\tconst ctas: CopilotToolCta[] = [];\n\tconst seen = new Set<string>();\n\tfor (const result of toolResults) {\n\t\tconst data = result?.data;\n\t\tif (!data || typeof data !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst record = data as Record<string, unknown>;\n\t\tif (!isSafeUrl(record['url'])) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst url = (record['url'] as string).trim();\n\t\t// A tool called twice in one turn would otherwise stack identical buttons.\n\t\tif (seen.has(url)) {\n\t\t\tcontinue;\n\t\t}\n\t\tseen.add(url);\n\t\tctas.push({\n\t\t\tlabel: readLabel(record),\n\t\t\turl,\n\t\t\ttool: typeof result.tool === 'string' ? result.tool : '',\n\t\t});\n\t}\n\treturn ctas;\n};\n"],"names":["DEFAULT_LABEL","isSafeUrl","value","readLabel","data","cta","toolResultCtas","toolResults","ctas","seen","result","record","url"],"mappings":"AAQA,MAAMA,IAAgB,aAGhBC,IAAY,CAACC,MAClB,OAAOA,KAAU,YAAY,gBAAgB,KAAKA,EAAM,MAAM,GAEzDC,IAAY,CAACC,MAA0C;AAC5D,QAAMC,IAAMD,EAAK;AACjB,SAAI,OAAOC,KAAQ,YAAYA,EAAI,KAAA,EAAO,SAAS,IAC3CA,EAAI,KAAA,IAELL;AACR,GAMaM,IAAiB,CAC7BC,MACsB;AACtB,MAAI,CAAC,MAAM,QAAQA,CAAW;AAC7B,WAAO,CAAA;AAER,QAAMC,IAAyB,CAAA,GACzBC,wBAAW,IAAA;AACjB,aAAWC,KAAUH,GAAa;AACjC,UAAMH,IAAOM,GAAQ;AACrB,QAAI,CAACN,KAAQ,OAAOA,KAAS;AAC5B;AAED,UAAMO,IAASP;AACf,QAAI,CAACH,EAAUU,EAAO,GAAM;AAC3B;AAED,UAAMC,IAAOD,EAAO,IAAkB,KAAA;AAEtC,IAAIF,EAAK,IAAIG,CAAG,MAGhBH,EAAK,IAAIG,CAAG,GACZJ,EAAK,KAAK;AAAA,MACT,OAAOL,EAAUQ,CAAM;AAAA,MACvB,KAAAC;AAAA,MACA,MAAM,OAAOF,EAAO,QAAS,WAAWA,EAAO,OAAO;AAAA,IAAA,CACtD;AAAA,EACF;AACA,SAAOF;AACR;"}
|