@reforma/components 0.4.1 → 0.6.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.
- package/dist/RichInput/RichInput.d.ts +1 -1
- package/dist/RichInput/RichInput.d.ts.map +1 -1
- package/dist/RichInput/RichInput.js +126 -123
- package/dist/RichInput/RichInput.js.map +1 -1
- package/dist/SortableList/SortableList.d.ts +9 -3
- package/dist/SortableList/SortableList.d.ts.map +1 -1
- package/dist/SortableList/SortableList.js +178 -163
- package/dist/SortableList/SortableList.js.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.d.ts +6 -1
- package/dist/chat/ComposerBanner/ComposerBanner.d.ts.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.js +60 -40
- package/dist/chat/ComposerBanner/ComposerBanner.js.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.module.css +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.module.css.js +13 -9
- package/dist/chat/ComposerBanner/ComposerBanner.module.css.js.map +1 -1
- package/dist/chat/Conversation/ConversationPendingLoader.d.ts.map +1 -1
- package/dist/chat/Conversation/ConversationPendingLoader.js +1 -1
- package/dist/chat/Conversation/ConversationPendingLoader.js.map +1 -1
- package/dist/chat/Message/normalize/normalizeMessageParts.d.ts +1 -1
- package/dist/chat/Message/normalize/normalizeMessageParts.d.ts.map +1 -1
- package/dist/chat/Message/normalize/normalizeMessageParts.js +1 -1
- package/dist/chat/Message/normalize/normalizeMessageParts.js.map +1 -1
- package/dist/chat/Message/parts/MessagePart.d.ts.map +1 -1
- package/dist/chat/Message/parts/MessagePart.js +1 -1
- package/dist/chat/Message/parts/MessagePart.js.map +1 -1
- package/dist/chat/Message/parts/backgroundResultPart.js +1 -1
- package/dist/chat/Message/parts/backgroundResultPart.js.map +1 -1
- package/dist/chat/Message/parts/collectMessageSources.d.ts +1 -1
- package/dist/chat/Message/parts/collectMessageSources.d.ts.map +1 -1
- package/dist/chat/Message/parts/collectMessageSources.js +1 -1
- package/dist/chat/Message/parts/collectMessageSources.js.map +1 -1
- package/dist/chat/Message/parts/contextCompactionPart.js +1 -1
- package/dist/chat/Message/parts/contextCompactionPart.js.map +1 -1
- package/dist/chat/Message/segments/analyzeGroupedSegment.js +5 -5
- package/dist/chat/Message/segments/analyzeGroupedSegment.js.map +1 -1
- package/dist/chat/Message/segments/recentStreamingPhaseToolGroups.js +1 -1
- package/dist/chat/Message/segments/recentStreamingPhaseToolGroups.js.map +1 -1
- package/dist/chat/Message/turn/workedCollapse.js +1 -1
- package/dist/chat/Message/turn/workedCollapse.js.map +1 -1
- package/dist/chat/Tool/Tool.js +1 -1
- package/dist/chat/Tool/Tool.js.map +1 -1
- package/dist/chat/Tool/agent/AgentTool.d.ts.map +1 -1
- package/dist/chat/Tool/agent/AgentTool.js +73 -73
- package/dist/chat/Tool/agent/AgentTool.js.map +1 -1
- package/dist/chat/Tool/bash/BashTool.d.ts.map +1 -1
- package/dist/chat/Tool/bash/BashTool.js +42 -48
- package/dist/chat/Tool/bash/BashTool.js.map +1 -1
- package/dist/chat/Tool/bash/BashTool.module.css +1 -1
- package/dist/chat/Tool/bash/BashTool.module.css.js +6 -8
- package/dist/chat/Tool/bash/BashTool.module.css.js.map +1 -1
- package/dist/chat/Tool/create-directory/CreateDirectoryTool.js +1 -1
- package/dist/chat/Tool/create-directory/CreateDirectoryTool.js.map +1 -1
- package/dist/chat/Tool/default/Default.d.ts.map +1 -1
- package/dist/chat/Tool/default/Default.js +1 -1
- package/dist/chat/Tool/default/Default.js.map +1 -1
- package/dist/chat/Tool/dev-server/DevServerRestartTool.js +1 -1
- package/dist/chat/Tool/dev-server/DevServerRestartTool.js.map +1 -1
- package/dist/chat/Tool/dev-server/DevServerStatusTool.js +1 -1
- package/dist/chat/Tool/dev-server/DevServerStatusTool.js.map +1 -1
- package/dist/chat/Tool/edit/EditTool.js +1 -1
- package/dist/chat/Tool/edit/EditTool.js.map +1 -1
- package/dist/chat/Tool/fetch/FetchTool.js +1 -1
- package/dist/chat/Tool/fetch/FetchTool.js.map +1 -1
- package/dist/chat/Tool/fileChangesFromToolParts.js +1 -1
- package/dist/chat/Tool/fileChangesFromToolParts.js.map +1 -1
- package/dist/chat/Tool/get-background-result/GetBackgroundResultTool.js +1 -1
- package/dist/chat/Tool/get-background-result/GetBackgroundResultTool.js.map +1 -1
- package/dist/chat/Tool/get-errors/GetErrorsTool.js +1 -1
- package/dist/chat/Tool/get-errors/GetErrorsTool.js.map +1 -1
- package/dist/chat/Tool/glob/GlobTool.js +1 -1
- package/dist/chat/Tool/glob/GlobTool.js.map +1 -1
- package/dist/chat/Tool/grep/GrepTool.js +1 -1
- package/dist/chat/Tool/grep/GrepTool.js.map +1 -1
- package/dist/chat/Tool/helpers.d.ts +1 -1
- package/dist/chat/Tool/helpers.d.ts.map +1 -1
- package/dist/chat/Tool/helpers.js +1 -1
- package/dist/chat/Tool/helpers.js.map +1 -1
- package/dist/chat/Tool/image-asset/ImageAssetTool.js +1 -1
- package/dist/chat/Tool/image-asset/ImageAssetTool.js.map +1 -1
- package/dist/chat/Tool/install-dependencies/InstallDependenciesTool.js +1 -1
- package/dist/chat/Tool/install-dependencies/InstallDependenciesTool.js.map +1 -1
- package/dist/chat/Tool/install-plugin/InstallPlugin.js +1 -1
- package/dist/chat/Tool/install-plugin/InstallPlugin.js.map +1 -1
- package/dist/chat/Tool/integration-card/IntegrationActionCard.d.ts +3 -1
- package/dist/chat/Tool/integration-card/IntegrationActionCard.d.ts.map +1 -1
- package/dist/chat/Tool/integration-card/IntegrationActionCard.js +88 -82
- package/dist/chat/Tool/integration-card/IntegrationActionCard.js.map +1 -1
- package/dist/chat/Tool/list-directory/normalizeListDirectoryTools.js +1 -1
- package/dist/chat/Tool/list-directory/normalizeListDirectoryTools.js.map +1 -1
- package/dist/chat/Tool/mcp-tools/CallDynamicTool.js +1 -1
- package/dist/chat/Tool/mcp-tools/CallDynamicTool.js.map +1 -1
- package/dist/chat/Tool/mcp-tools/GetDynamicToolsTool.js +1 -1
- package/dist/chat/Tool/mcp-tools/GetDynamicToolsTool.js.map +1 -1
- package/dist/chat/Tool/mcp-tools/GetMcpResourcesTool.js +1 -1
- package/dist/chat/Tool/mcp-tools/GetMcpResourcesTool.js.map +1 -1
- package/dist/chat/Tool/mcp-tools/McpAuth.js +1 -1
- package/dist/chat/Tool/mcp-tools/McpAuth.js.map +1 -1
- package/dist/chat/Tool/memory/MemoryTool.js +1 -1
- package/dist/chat/Tool/memory/MemoryTool.js.map +1 -1
- package/dist/chat/Tool/move-file/MoveFileTool.js +1 -1
- package/dist/chat/Tool/move-file/MoveFileTool.js.map +1 -1
- package/dist/chat/Tool/plan/CreatePlanTool.js +1 -1
- package/dist/chat/Tool/plan/CreatePlanTool.js.map +1 -1
- package/dist/chat/Tool/preamble/PreambleTool.js +1 -1
- package/dist/chat/Tool/preamble/PreambleTool.js.map +1 -1
- package/dist/chat/Tool/project-build/BuildTool.js +1 -1
- package/dist/chat/Tool/project-build/BuildTool.js.map +1 -1
- package/dist/chat/Tool/project-env/ProjectEnvTool.js +1 -1
- package/dist/chat/Tool/project-env/ProjectEnvTool.js.map +1 -1
- package/dist/chat/Tool/read/normalizeReadTools.js +1 -1
- package/dist/chat/Tool/read/normalizeReadTools.js.map +1 -1
- package/dist/chat/Tool/read-lints/ReadLintsTool.js +1 -1
- package/dist/chat/Tool/read-lints/ReadLintsTool.js.map +1 -1
- package/dist/chat/Tool/remove-file/RemoveFileTool.js +1 -1
- package/dist/chat/Tool/remove-file/RemoveFileTool.js.map +1 -1
- package/dist/chat/Tool/scaffold-project/ScaffoldProjectTool.js +1 -1
- package/dist/chat/Tool/scaffold-project/ScaffoldProjectTool.js.map +1 -1
- package/dist/chat/Tool/screenshot/CaptureScreenshotTool.js +3 -3
- package/dist/chat/Tool/screenshot/CaptureScreenshotTool.js.map +1 -1
- package/dist/chat/Tool/skill/SkillTool.js +1 -1
- package/dist/chat/Tool/skill/SkillTool.js.map +1 -1
- package/dist/chat/Tool/waiting/WaitingTool.js +1 -1
- package/dist/chat/Tool/waiting/WaitingTool.js.map +1 -1
- package/dist/chat/Tool/web-search/WebSearchTool.js +1 -1
- package/dist/chat/Tool/web-search/WebSearchTool.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptureScreenshotTool.js","sources":["../../../../src/chat/Tool/screenshot/CaptureScreenshotTool.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"CaptureScreenshotTool.js","sources":["../../../../src/chat/Tool/screenshot/CaptureScreenshotTool.tsx"],"sourcesContent":["import { getToolName } from '@reforma/types';\nimport { isScreenshotTool } from '@reforma/types/sandbox';\n\nimport { Box } from '../../../Box';\nimport { Show } from '../../../Show';\nimport { Text } from '../../../Text';\nimport { getToolFailureRowState, isToolInvocationInProgress } from '../helpers';\nimport {\n ImageAssetCardTitle,\n ImageAssetThumbFan,\n type ImageAssetFanSlot,\n} from '../image-asset';\nimport styles from '../image-asset/ImageAssetTool.module.css';\nimport { ToolShellCard } from '../shell';\nimport { useToolProgress } from '../shell/toolProgress';\nimport shellStyles from '../shell/ToolShellCard.module.css';\nimport {\n screenshotAttachmentLabel,\n screenshotPageAddress,\n} from './parseCaptureScreenshotTool';\n\nimport type { AttachmentData, CaptureScreenshotOutput } from '@reforma/types';\nimport type { ToolRendererProps } from '../types';\n\nconst PROGRESS = 'Capturing screenshot';\nconst IDLE = 'Captured';\nconst FAILED = 'Couldn\\'t capture the screenshot';\n\nfunction screenshotSrc(attachment: AttachmentData): string | undefined {\n const src = attachment.preview?.trim() || attachment.url?.trim();\n\n return src || undefined;\n}\n\nfunction captureScreenshotErrorFromOutput(output: unknown): string | undefined {\n if (typeof output !== 'object' || output === null || !('ok' in output) || output.ok !== false) {\n return undefined;\n }\n\n const error = (output as { error?: unknown }).error;\n\n return typeof error === 'string' ? (error.trim() || undefined) : undefined;\n}\n\n/** PageScreenshot: same thumb card as ImageGen, with the page address as the caption. */\nexport function CaptureScreenshotTool({ part }: ToolRendererProps) {\n const { live, stalled } = useToolProgress(part.state);\n\n if (!isScreenshotTool(getToolName(part))) {\n return null;\n }\n\n const state = part.state;\n const failure = getToolFailureRowState(part);\n const done = state === 'output-available';\n const output = part.output as CaptureScreenshotOutput | undefined;\n const success = (done && output?.ok === true) ? output : undefined;\n const outputError = done ? captureScreenshotErrorFromOutput(part.output) : undefined;\n const error = outputError ?? failure.tooltip;\n const address = screenshotPageAddress(part.input);\n const inProgress = isToolInvocationInProgress(state);\n const shots = success?.attachments ?? [];\n const failedEmpty = !inProgress && shots.length === 0;\n const slots: ImageAssetFanSlot[] = failedEmpty\n ? [{ key: 'failed', alt: FAILED }]\n : shots.length > 0\n ? shots.map((attachment, index) => {\n const src = screenshotSrc(attachment);\n\n return {\n key: src || attachment.id || `shot-${ index }`,\n src,\n alt: screenshotAttachmentLabel(attachment),\n };\n })\n : [{ key: 'pending', alt: PROGRESS }];\n\n return (\n <ToolShellCard\n aria-busy={ live }\n className={ shellStyles.tool }\n collapsible={ false }\n data-slot=\"capture-screenshot-tool\"\n >\n <Box direction=\"row\" fullWidth gap=\"md\" padding=\"md\">\n <ImageAssetThumbFan\n badge={ live ? 'loader' : failedEmpty ? 'error' : undefined }\n slots={ slots }\n />\n <Box gap=\"xxs\" grow>\n <ImageAssetCardTitle\n failed={ !failedEmpty && Boolean(error) }\n idle={ failedEmpty ? FAILED : IDLE }\n live={ live }\n progress={ PROGRESS }\n stalled={ stalled }\n statusDetail={ error }\n />\n <Show when={ address }>\n <Text className={ styles.caption } color=\"secondary\" variant=\"sm\">\n { address }\n </Text>\n </Show>\n </Box>\n </Box>\n </ToolShellCard>\n );\n}\n"],"names":["PROGRESS","IDLE","FAILED","screenshotSrc","attachment","captureScreenshotErrorFromOutput","output","error","CaptureScreenshotTool","part","live","stalled","useToolProgress","isScreenshotTool","getToolName","state","failure","getToolFailureRowState","done","success","address","screenshotPageAddress","inProgress","isToolInvocationInProgress","shots","failedEmpty","slots","index","src","screenshotAttachmentLabel","ToolShellCard","shellStyles","Box","_jsx","ImageAssetThumbFan","_jsxs","ImageAssetCardTitle","Show","Text","styles"],"mappings":";;;;;;;;;;;;;AAaA,MAAMA,IAAW,wBACXC,IAAO,YACPC,IAAS;AACf,SAASC,EAAcC,GAAY;AAEjC,SADYA,EAAW,SAAS,UAAUA,EAAW,KAAK,KAAA,KAC5C;AAChB;AACA,SAASC,EAAiCC,GAAQ;AAChD,MAAI,OAAOA,KAAW,YAAYA,MAAW,QAAQ,EAAE,QAAQA,MAAWA,EAAO,OAAO;AACtF;AAEF,QAAMC,IAAQD,EAAO;AACrB,SAAO,OAAOC,KAAU,YAAWA,EAAM,KAAA,KAAU;AACrD;AAGO,SAASC,EAAsB;AAAA,EACpC,MAAAC;AACF,GAAG;AACD,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBH,EAAK,KAAK;AAC9B,MAAI,CAACI,EAAiBC,EAAYL,CAAI,CAAC;AACrC,WAAO;AAET,QAAMM,IAAQN,EAAK,OACbO,IAAUC,EAAuBR,CAAI,GACrCS,IAAOH,MAAU,oBACjBT,IAASG,EAAK,QACdU,IAAUD,KAAQZ,GAAQ,OAAO,KAAOA,IAAS,QAEjDC,KADcW,IAAOb,EAAiCI,EAAK,MAAM,IAAI,WAC9CO,EAAQ,SAC/BI,IAAUC,EAAsBZ,EAAK,KAAK,GAC1Ca,IAAaC,EAA2BR,CAAK,GAC7CS,IAAQL,GAAS,eAAe,CAAA,GAChCM,IAAc,CAACH,KAAcE,EAAM,WAAW,GAC9CE,IAAQD,IAAc,CAAC;AAAA,IAC3B,KAAK;AAAA,IACL,KAAKvB;AAAA,EAAA,CACN,IAAIsB,EAAM,SAAS,IAAIA,EAAM,IAAI,CAACpB,GAAYuB,MAAU;AACvD,UAAMC,IAAMzB,EAAcC,CAAU;AACpC,WAAO;AAAA,MACL,KAAKwB,KAAOxB,EAAW,MAAM,QAAQuB,CAAK;AAAA,MAC1C,KAAAC;AAAA,MACA,KAAKC,EAA0BzB,CAAU;AAAA,IAAA;AAAA,EAE7C,CAAC,IAAI,CAAC;AAAA,IACJ,KAAK;AAAA,IACL,KAAKJ;AAAA,EAAA,CACN;AACD,2BAAyB8B,GAAe;AAAA,IACtC,aAAapB;AAAA,IACb,WAAWqB,EAAY;AAAA,IACvB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,4BAA6BC,GAAK;AAAA,MAChC,WAAW;AAAA,MACX,WAAW;AAAA,MACX,KAAK;AAAA,MACL,SAAS;AAAA,MACT,UAAU,CAAcC,gBAAAA,EAAKC,GAAoB;AAAA,QAC/C,OAAOxB,IAAO,WAAWe,IAAc,UAAU;AAAA,QACjD,OAAAC;AAAA,MAAA,CACD,GAAgBS,gBAAAA,EAAMH,GAAK;AAAA,QAC1B,KAAK;AAAA,QACL,MAAM;AAAA,QACN,UAAU,CAAcC,gBAAAA,EAAKG,GAAqB;AAAA,UAChD,QAAQ,CAACX,KAAe,EAAQlB;AAAA,UAChC,MAAMkB,IAAcvB,IAASD;AAAA,UAC7B,MAAAS;AAAA,UACA,UAAUV;AAAA,UACV,SAAAW;AAAA,UACA,cAAcJ;AAAA,QAAA,CACf,GAAgB0B,gBAAAA,EAAKI,GAAM;AAAA,UAC1B,MAAMjB;AAAA,UACN,4BAA4BkB,GAAM;AAAA,YAChC,WAAWC,EAAO;AAAA,YAClB,OAAO;AAAA,YACP,SAAS;AAAA,YACT,UAAUnB;AAAA,UAAA,CACX;AAAA,QAAA,CACF,CAAC;AAAA,MAAA,CACH,CAAC;AAAA,IAAA,CACH;AAAA,EAAA,CACF;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Book as a } from "@reforma/icons/14";
|
|
2
|
-
import { isToolUIPart as m, getToolName as s } from "
|
|
2
|
+
import { isToolUIPart as m, getToolName as s } from "@reforma/types";
|
|
3
3
|
import { Show as d } from "../../../Show/Show.js";
|
|
4
4
|
import { Text as u } from "../../../Text/Text.js";
|
|
5
5
|
import { getToolFailureRowState as c } from "../helpers.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillTool.js","sources":["../../../../src/chat/Tool/skill/SkillTool.tsx"],"sourcesContent":["import { Book } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '
|
|
1
|
+
{"version":3,"file":"SkillTool.js","sources":["../../../../src/chat/Tool/skill/SkillTool.tsx"],"sourcesContent":["import { Book } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '@reforma/types';\n\nimport { Show } from '../../../Show';\nimport { Text } from '../../../Text';\n// import { MessageText } from '../../Message/streamdown/MessageText';\nimport { getToolFailureRowState } from '../helpers';\nimport {\n // ToolHoverCard,\n ToolShell,\n ToolShellFooter,\n ToolShellHeader,\n ToolSummaryBadges,\n} from '../shell';\nimport { skillErrorFromOutput, skillNameFromInput } from './parseSkillTool';\n// import { skillContentFromOutput } from './parseSkillTool';\n// import styles from './SkillTool.module.css';\n\nimport type { ToolRendererProps } from '../types';\n\n/** Skill: badge with skill name. */\nexport function SkillTool({ part }: ToolRendererProps) {\n if (!isToolUIPart(part) || getToolName(part) !== 'Skill') {\n return null;\n }\n\n const state = part.state;\n const failure = getToolFailureRowState(part);\n const name = skillNameFromInput(part.input);\n const done = state === 'output-available';\n const logicalError = done ? skillErrorFromOutput(part.output) : undefined;\n\n // Skill playbook preview (hover card) — hidden from users for now.\n // const content = done ? skillContentFromOutput(part.output) : undefined;\n // const showPreview = done && content != null && logicalError == null;\n\n const nameBadges = (\n <ToolSummaryBadges labels={ name ? [name] : [] } aria-label=\"Skill\" />\n );\n\n return (\n <ToolShell data-slot=\"skill-tool\">\n <ToolShellHeader\n state={ state }\n statusDetail={ failure.tooltip }\n title=\"Loaded skill\"\n titleInProgress=\"Loading skill\"\n icon={ <Book aria-hidden /> }\n >\n {/* <Show when={ showPreview }>\n <ToolHoverCard trigger={ nameBadges } scrollableClassName={ styles.scrollable }>\n <div className={ styles.preview }>\n <MessageText mode=\"static\">{content}</MessageText>\n </div>\n </ToolHoverCard>\n </Show>\n\n <Show when={ !showPreview }>\n {nameBadges}\n </Show> */}\n\n {nameBadges}\n </ToolShellHeader>\n\n <Show when={ logicalError ?? failure.problemText }>\n <ToolShellFooter>\n <Text color=\"danger\" variant=\"xs\">{logicalError ?? failure.problemText}</Text>\n </ToolShellFooter>\n </Show>\n </ToolShell>\n );\n}\n"],"names":["SkillTool","part","isToolUIPart","getToolName","state","failure","getToolFailureRowState","name","skillNameFromInput","logicalError","skillErrorFromOutput","nameBadges","ToolSummaryBadges","ToolShell","_jsx","ToolShellHeader","Book","Show","ToolShellFooter","Text"],"mappings":";;;;;;;;;AAcO,SAASA,EAAU;AAAA,EACxB,MAAAC;AACF,GAAG;AACD,MAAI,CAACC,EAAaD,CAAI,KAAKE,EAAYF,CAAI,MAAM;AAC/C,WAAO;AAET,QAAMG,IAAQH,EAAK,OACbI,IAAUC,EAAuBL,CAAI,GACrCM,IAAOC,EAAmBP,EAAK,KAAK,GAEpCQ,IADOL,MAAU,qBACKM,EAAqBT,EAAK,MAAM,IAAI,QAM1DU,sBAA+BC,GAAmB;AAAA,IACtD,QAAQL,IAAO,CAACA,CAAI,IAAI,CAAA;AAAA,IACxB,cAAc;AAAA,EAAA,CACf;AACD,2BAA0BM,GAAW;AAAA,IACnC,aAAa;AAAA,IACb,UAAU,CAAcC,gBAAAA,EAAKC,GAAiB;AAAA,MAC5C,OAAAX;AAAA,MACA,cAAcC,EAAQ;AAAA,MACtB,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,wBAAwBW,GAAM;AAAA,QAC5B,eAAe;AAAA,MAAA,CAChB;AAAA,MACD,UAAUL;AAAA,IAAA,CACX,GAAgBG,gBAAAA,EAAKG,GAAM;AAAA,MAC1B,MAAMR,KAAgBJ,EAAQ;AAAA,MAC9B,4BAA4Ba,GAAiB;AAAA,QAC3C,4BAA4BC,GAAM;AAAA,UAChC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,UAAUV,KAAgBJ,EAAQ;AAAA,QAAA,CACnC;AAAA,MAAA,CACF;AAAA,IAAA,CACF,CAAC;AAAA,EAAA,CACH;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Oclock as h } from "@reforma/icons/14";
|
|
2
|
-
import { isToolUIPart as g, getToolName as p } from "
|
|
2
|
+
import { isToolUIPart as g, getToolName as p } from "@reforma/types";
|
|
3
3
|
import { observer as T } from "mobx-react-lite";
|
|
4
4
|
import { useState as w, useEffect as v } from "react";
|
|
5
5
|
import { Show as a } from "../../../Show/Show.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingTool.js","sources":["../../../../src/chat/Tool/waiting/WaitingTool.tsx"],"sourcesContent":["import { Oclock } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '
|
|
1
|
+
{"version":3,"file":"WaitingTool.js","sources":["../../../../src/chat/Tool/waiting/WaitingTool.tsx"],"sourcesContent":["import { Oclock } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '@reforma/types';\nimport { observer } from 'mobx-react-lite';\nimport { useEffect, useState } from 'react';\n\nimport { Show } from '../../../Show';\nimport { Text } from '../../../Text';\nimport { useMessageTurn } from '../../Message/turn/messageTurnContext';\nimport { getToolFailureRowState, isToolInvocationInProgress } from '../helpers';\nimport { ToolShell, ToolShellFooter, ToolShellHeader } from '../shell';\n\nimport type { WaitingToolOutput } from '@reforma/types/sandbox';\nimport type { ToolRendererProps } from '../types';\n\nfunction waitingEndsAt(value: unknown): number | undefined {\n if (value == null || typeof value !== 'object') {\n return undefined;\n }\n\n const endsAt = (value as WaitingToolOutput).endsAt;\n\n if (typeof endsAt !== 'number' || !Number.isFinite(endsAt)) {\n return undefined;\n }\n\n return endsAt;\n}\n\n/** Waiting: clock icon + remaining seconds from the server `endsAt` unix ms. */\nexport const WaitingTool = observer(({ part }: ToolRendererProps) => {\n const turn = useMessageTurn();\n const [now, setNow] = useState(() => Date.now());\n const isWaiting = isToolUIPart(part) && getToolName(part) === 'Waiting';\n const live = isWaiting && isToolInvocationInProgress(part.state);\n const endsAt = isWaiting\n ? (waitingEndsAt(part.output) ?? waitingEndsAt(turn?.getToolMeta?.(part.toolCallId)?.patch))\n : undefined;\n\n useEffect(() => {\n if (!live) {\n return;\n }\n\n const id = setInterval(() => setNow(Date.now()), 250);\n\n return () => clearInterval(id);\n }, [live]);\n\n if (!isWaiting) {\n return null;\n }\n\n const failure = getToolFailureRowState(part);\n const remaining = (live && endsAt != null)\n ? Math.max(0, Math.ceil((endsAt - now) / 1000))\n : undefined;\n\n return (\n <ToolShell data-slot=\"waiting-tool\">\n <ToolShellHeader\n state={ part.state }\n statusDetail={ failure.tooltip }\n title=\"Waiting\"\n titleInProgress=\"Waiting\"\n icon={ <Oclock aria-hidden /> }\n >\n <Show when={ remaining != null }>\n <Text color=\"secondary\" whitespace=\"nowrap\">\n {`${ remaining }s`}\n </Text>\n </Show>\n </ToolShellHeader>\n\n <Show when={ failure.problemText }>\n <ToolShellFooter>\n <Text color=\"danger\" variant=\"xs\">{failure.problemText}</Text>\n </ToolShellFooter>\n </Show>\n </ToolShell>\n );\n});\n"],"names":["waitingEndsAt","value","endsAt","WaitingTool","observer","part","turn","useMessageTurn","now","setNow","useState","isWaiting","isToolUIPart","getToolName","live","isToolInvocationInProgress","useEffect","id","failure","getToolFailureRowState","remaining","ToolShell","_jsx","ToolShellHeader","Oclock","Show","Text","ToolShellFooter"],"mappings":";;;;;;;;;;AAUA,SAASA,EAAcC,GAAO;AAC5B,MAAIA,KAAS,QAAQ,OAAOA,KAAU;AACpC;AAEF,QAAMC,IAASD,EAAM;AACrB,MAAI,SAAOC,KAAW,YAAY,CAAC,OAAO,SAASA,CAAM;AAGzD,WAAOA;AACT;AAGO,MAAMC,IAAcC,EAAS,CAAC;AAAA,EACnC,MAAAC;AACF,MAAM;AACJ,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAKC,CAAM,IAAIC,EAAS,MAAM,KAAK,KAAK,GACzCC,IAAYC,EAAaP,CAAI,KAAKQ,EAAYR,CAAI,MAAM,WACxDS,IAAOH,KAAaI,EAA2BV,EAAK,KAAK,GACzDH,IAASS,IAAYX,EAAcK,EAAK,MAAM,KAAKL,EAAcM,GAAM,cAAcD,EAAK,UAAU,GAAG,KAAK,IAAI;AAQtH,MAPAW,EAAU,MAAM;AACd,QAAI,CAACF;AACH;AAEF,UAAMG,IAAK,YAAY,MAAMR,EAAO,KAAK,IAAA,CAAK,GAAG,GAAG;AACpD,WAAO,MAAM,cAAcQ,CAAE;AAAA,EAC/B,GAAG,CAACH,CAAI,CAAC,GACL,CAACH;AACH,WAAO;AAET,QAAMO,IAAUC,EAAuBd,CAAI,GACrCe,IAAYN,KAAQZ,KAAU,OAAO,KAAK,IAAI,GAAG,KAAK,MAAMA,IAASM,KAAO,GAAI,CAAC,IAAI;AAC3F,2BAA0Ba,GAAW;AAAA,IACnC,aAAa;AAAA,IACb,UAAU,CAAcC,gBAAAA,EAAKC,GAAiB;AAAA,MAC5C,OAAOlB,EAAK;AAAA,MACZ,cAAca,EAAQ;AAAA,MACtB,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,wBAAwBM,GAAQ;AAAA,QAC9B,eAAe;AAAA,MAAA,CAChB;AAAA,MACD,4BAA4BC,GAAM;AAAA,QAChC,MAAML,KAAa;AAAA,QACnB,4BAA4BM,GAAM;AAAA,UAChC,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,UAAU,GAAGN,CAAS;AAAA,QAAA,CACvB;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAAgBE,gBAAAA,EAAKG,GAAM;AAAA,MAC1B,MAAMP,EAAQ;AAAA,MACd,4BAA4BS,GAAiB;AAAA,QAC3C,4BAA4BD,GAAM;AAAA,UAChC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,UAAUR,EAAQ;AAAA,QAAA,CACnB;AAAA,MAAA,CACF;AAAA,IAAA,CACF,CAAC;AAAA,EAAA,CACH;AACH,CAAC;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Globe as m } from "@reforma/icons/14";
|
|
2
|
-
import { isToolUIPart as n, getToolName as s } from "
|
|
2
|
+
import { isToolUIPart as n, getToolName as s } from "@reforma/types";
|
|
3
3
|
import { Show as i } from "../../../Show/Show.js";
|
|
4
4
|
import { Text as h } from "../../../Text/Text.js";
|
|
5
5
|
import { getToolFailureRowState as c } from "../helpers.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSearchTool.js","sources":["../../../../src/chat/Tool/web-search/WebSearchTool.tsx"],"sourcesContent":["import { Globe } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '
|
|
1
|
+
{"version":3,"file":"WebSearchTool.js","sources":["../../../../src/chat/Tool/web-search/WebSearchTool.tsx"],"sourcesContent":["import { Globe } from '@reforma/icons/14';\nimport { getToolName, isToolUIPart } from '@reforma/types';\n\nimport { Show } from '../../../Show';\nimport { Text } from '../../../Text';\nimport { getToolFailureRowState } from '../helpers';\nimport {\n ToolShell,\n ToolShellFooter,\n ToolShellHeader,\n ToolSummaryBadges,\n} from '../shell';\nimport { isWebSearchToolName, webSearchSummaryFromPart } from './parseWebSearchTool';\n\nimport type { ToolRendererProps } from '../types';\n\n/** Provider web search: action badge only (URLs live in the message Sources footer). */\nexport function WebSearchTool({ part }: ToolRendererProps) {\n if (!isToolUIPart(part) || !isWebSearchToolName(getToolName(part))) {\n return null;\n }\n\n const state = part.state;\n const failure = getToolFailureRowState(part);\n const done = state === 'output-available';\n const summary = webSearchSummaryFromPart(part.input, done ? part.output : undefined);\n\n return (\n <ToolShell data-slot=\"web-search-tool\">\n <ToolShellHeader\n state={ state }\n statusDetail={ failure.tooltip }\n title={ summary.title }\n titleInProgress={ summary.titleInProgress }\n icon={ <Globe aria-hidden /> }\n >\n <Show when={ summary.labels.length > 0 }>\n <ToolSummaryBadges\n labels={ summary.labels }\n aria-label={ summary['aria-label'] }\n />\n </Show>\n </ToolShellHeader>\n\n <Show when={ failure.problemText }>\n <ToolShellFooter>\n <Text color=\"danger\" variant=\"xs\">{failure.problemText}</Text>\n </ToolShellFooter>\n </Show>\n </ToolShell>\n );\n}\n"],"names":["WebSearchTool","part","isToolUIPart","isWebSearchToolName","getToolName","state","failure","getToolFailureRowState","done","summary","webSearchSummaryFromPart","ToolShell","_jsx","ToolShellHeader","Globe","Show","ToolSummaryBadges","ToolShellFooter","Text"],"mappings":";;;;;;;;;AASO,SAASA,EAAc;AAAA,EAC5B,MAAAC;AACF,GAAG;AACD,MAAI,CAACC,EAAaD,CAAI,KAAK,CAACE,EAAoBC,EAAYH,CAAI,CAAC;AAC/D,WAAO;AAET,QAAMI,IAAQJ,EAAK,OACbK,IAAUC,EAAuBN,CAAI,GACrCO,IAAOH,MAAU,oBACjBI,IAAUC,EAAyBT,EAAK,OAAOO,IAAOP,EAAK,SAAS,MAAS;AACnF,2BAA0BU,GAAW;AAAA,IACnC,aAAa;AAAA,IACb,UAAU,CAAcC,gBAAAA,EAAKC,GAAiB;AAAA,MAC5C,OAAAR;AAAA,MACA,cAAcC,EAAQ;AAAA,MACtB,OAAOG,EAAQ;AAAA,MACf,iBAAiBA,EAAQ;AAAA,MACzB,wBAAwBK,GAAO;AAAA,QAC7B,eAAe;AAAA,MAAA,CAChB;AAAA,MACD,4BAA4BC,GAAM;AAAA,QAChC,MAAMN,EAAQ,OAAO,SAAS;AAAA,QAC9B,4BAA4BO,GAAmB;AAAA,UAC7C,QAAQP,EAAQ;AAAA,UAChB,cAAcA,EAAQ,YAAY;AAAA,QAAA,CACnC;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAAgBG,gBAAAA,EAAKG,GAAM;AAAA,MAC1B,MAAMT,EAAQ;AAAA,MACd,4BAA4BW,GAAiB;AAAA,QAC3C,4BAA4BC,GAAM;AAAA,UAChC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,UAAUZ,EAAQ;AAAA,QAAA,CACnB;AAAA,MAAA,CACF;AAAA,IAAA,CACF,CAAC;AAAA,EAAA,CACH;AACH;"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@reforma/components",
|
|
3
3
|
"description": "A components library for Reforma",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.6.0",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"author": "Reforma, Inc. <dev@reforma.ai>",
|
|
8
8
|
"repository": {
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
"@openuidev/react-lang": "^1.0.1",
|
|
70
70
|
"@react-aria/dnd": "^3.11.6",
|
|
71
71
|
"@react-stately/utils": "^3.11.0",
|
|
72
|
-
"@reforma/constants": "1.0
|
|
72
|
+
"@reforma/constants": "1.1.0",
|
|
73
73
|
"@reforma/icons": "0.1.0",
|
|
74
|
-
"@reforma/lib": "0.1.
|
|
75
|
-
"@reforma/types": "1.
|
|
74
|
+
"@reforma/lib": "0.1.7",
|
|
75
|
+
"@reforma/types": "1.6.0",
|
|
76
76
|
"@shikijs/transformers": "^4.0.2",
|
|
77
77
|
"@streamdown/cjk": "1.0.3",
|
|
78
78
|
"@streamdown/code": "1.1.1",
|