@mgamadeus/ddd-agents 0.0.0-stage → 0.1.0-alpha.21
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/LICENSE +21 -0
- package/README.md +14 -2
- package/dist/chat.js +5263 -0
- package/dist/chat.js.map +1 -0
- package/dist/chunks/AgentsConversationClientContext-C4T7g_Qk.js +22 -0
- package/dist/chunks/AgentsConversationClientContext-C4T7g_Qk.js.map +1 -0
- package/dist/chunks/ConversationMarkdown-W7NHglmL.js +399 -0
- package/dist/chunks/ConversationMarkdown-W7NHglmL.js.map +1 -0
- package/dist/chunks/WebSearchResultsConversationWidget-BvnLWHyi.js +5059 -0
- package/dist/chunks/WebSearchResultsConversationWidget-BvnLWHyi.js.map +1 -0
- package/dist/chunks/canvas-behaviours-BRFR1ALE.js +45 -0
- package/dist/chunks/canvas-behaviours-BRFR1ALE.js.map +1 -0
- package/dist/chunks/canvas-feature-flags-BmmxC3bz.js +11 -0
- package/dist/chunks/canvas-feature-flags-BmmxC3bz.js.map +1 -0
- package/dist/chunks/canvasBodies-9SuF6NAB.js +289 -0
- package/dist/chunks/canvasBodies-9SuF6NAB.js.map +1 -0
- package/dist/chunks/d3-7.6.1.min.js-DTmPafrl.js +6 -0
- package/dist/chunks/d3-7.6.1.min.js-DTmPafrl.js.map +1 -0
- package/dist/chunks/decide-canvas-open-Ct-wnNEJ.js +20 -0
- package/dist/chunks/decide-canvas-open-Ct-wnNEJ.js.map +1 -0
- package/dist/chunks/widget-image-readiness-signal-DeOuL89j.js +25 -0
- package/dist/chunks/widget-image-readiness-signal-DeOuL89j.js.map +1 -0
- package/dist/chunks/widget-name-resolver-DyIY6Zu4.js +9736 -0
- package/dist/chunks/widget-name-resolver-DyIY6Zu4.js.map +1 -0
- package/dist/chunks/withPollingChangeSubscription-BLDAWF-o.js +251 -0
- package/dist/chunks/withPollingChangeSubscription-BLDAWF-o.js.map +1 -0
- package/dist/client-testing.js +346 -0
- package/dist/client-testing.js.map +1 -0
- package/dist/client.js +16 -0
- package/dist/client.js.map +1 -0
- package/dist/contract.js +31 -0
- package/dist/contract.js.map +1 -0
- package/dist/image-render.js +334 -0
- package/dist/image-render.js.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/kit.js +13 -0
- package/dist/kit.js.map +1 -0
- package/dist/preview.js +733 -0
- package/dist/preview.js.map +1 -0
- package/dist/renderer.js +115 -0
- package/dist/renderer.js.map +1 -0
- package/dist/styles.css +6768 -0
- package/dist/types/chat/AgentChat/AgentChat.d.ts +37 -0
- package/dist/types/chat/AgentChatActivityHistory/AgentChatActivityHistory.d.ts +6 -0
- package/dist/types/chat/AgentChatActivityIndicator/AgentChatActivityIndicator.d.ts +8 -0
- package/dist/types/chat/CanvasPane/CanvasPane.d.ts +15 -0
- package/dist/types/chat/CanvasResizeHandle/CanvasResizeHandle.d.ts +10 -0
- package/dist/types/chat/CanvasResizeHandle/use-canvas-resize.d.ts +43 -0
- package/dist/types/chat/ConversationClosedBar/ConversationClosedBar.d.ts +10 -0
- package/dist/types/chat/ConversationErrorCard/ConversationErrorCard.d.ts +13 -0
- package/dist/types/chat/ConversationIntroCard/ConversationIntroCard.d.ts +10 -0
- package/dist/types/chat/ConversationLoadingStates.d.ts +2 -0
- package/dist/types/chat/ConversationMessage/ConversationCallMarkerChip/ConversationCallMarkerChip.d.ts +14 -0
- package/dist/types/chat/ConversationMessage/ConversationCallMarkerChip/VoiceBarsIcon/VoiceBarsIcon.d.ts +8 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageSystem/ConversationMessageSystem.d.ts +8 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageSystem/ConversationMessageSystemHeader/ConversationMessageSystemHeader.d.ts +9 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageUser/ConversationMessageUser.d.ts +7 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageUser/ConversationMessageUserWidgets.d.ts +14 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/ConversationMessageHeader/ConversationMessageHeader.d.ts +7 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/ConversationMessageThinking/ConversationMessageThinking.d.ts +7 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/ConversationMessageWidgets.d.ts +29 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/copyRichToClipboard.d.ts +1 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/hooks/useFreshMessageBlockReveal.d.ts +14 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/hooks/useStreamingText.d.ts +8 -0
- package/dist/types/chat/ConversationMessage/ConversationMessageWidgets/hooks/useTypewriter.d.ts +12 -0
- package/dist/types/chat/ConversationMessage/ConversationTaskInstructionDisclosure/ConversationTaskInstructionDisclosure.d.ts +12 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInput.d.ts +111 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInputAttachments/ConversationMessageInputAttachmentPreviewCard.d.ts +34 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInputAttachments/ConversationMessageInputAttachmentsErrorBox.d.ts +22 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInputAttachments/ConversationMessageInputAttachmentsPreviewStrip.d.ts +12 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInputAttachments/convert-bytes-to-size-string.d.ts +2 -0
- package/dist/types/chat/ConversationMessageInput/ConversationMessageInputComposerWidgets/ConversationMessageInputComposerWidgets.d.ts +12 -0
- package/dist/types/chat/ConversationMessageList/ConversationMessageList.d.ts +75 -0
- package/dist/types/chat/ConversationScrollToLatestMessageButton/ConversationScrollToLatestMessageButton.d.ts +6 -0
- package/dist/types/chat/ConversationSuggestionCard/ConversationSuggestionCard.d.ts +7 -0
- package/dist/types/chat/ConversationView.d.ts +216 -0
- package/dist/types/chat/ConversationViewBody/ConversationViewBody.d.ts +214 -0
- package/dist/types/chat/ConversationViewBody/hooks/useIsMessagesBottomOutOfView.d.ts +2 -0
- package/dist/types/chat/ConversationViewBody/hooks/usePinQuestionOnSend.d.ts +24 -0
- package/dist/types/chat/assistant-message-has-renderable-markdown.d.ts +13 -0
- package/dist/types/chat/chat-assistant-identity.d.ts +24 -0
- package/dist/types/chat/chat-message.d.ts +11 -0
- package/dist/types/chat/controller/AgentChatController.d.ts +97 -0
- package/dist/types/chat/controller/activity-ticker.d.ts +120 -0
- package/dist/types/chat/controller/changed-messages-request.d.ts +12 -0
- package/dist/types/chat/controller/chat-scroll-target.d.ts +10 -0
- package/dist/types/chat/controller/conversation-change-signal-rules.d.ts +64 -0
- package/dist/types/chat/controller/derive-agent-activity.d.ts +31 -0
- package/dist/types/chat/controller/merge-activity-elements.d.ts +25 -0
- package/dist/types/chat/controller/pending-start-request.d.ts +38 -0
- package/dist/types/chat/controller/use-activity-ticker.d.ts +60 -0
- package/dist/types/chat/controller/use-conversation-activity.d.ts +38 -0
- package/dist/types/chat/controller/use-conversation-live-updates.d.ts +30 -0
- package/dist/types/chat/controller/use-conversation-message-pages.d.ts +24 -0
- package/dist/types/chat/controller/use-conversation-scroll-jump.d.ts +47 -0
- package/dist/types/chat/controller/use-conversation-search.d.ts +31 -0
- package/dist/types/chat/controller/use-conversation-signals.d.ts +44 -0
- package/dist/types/chat/controller/use-debounced-semantic-search.d.ts +15 -0
- package/dist/types/chat/conversation-send-message.d.ts +43 -0
- package/dist/types/chat/last-wire-message-is-unanswered-user-message.d.ts +22 -0
- package/dist/types/chat/normalize-server-message-to-markdown.d.ts +23 -0
- package/dist/types/chat/store/agents-chat-state.d.ts +132 -0
- package/dist/types/chat/store/conversation-error-type.d.ts +32 -0
- package/dist/types/chat/store/create-agents-chat-store.d.ts +23 -0
- package/dist/types/chat/store/index.d.ts +5 -0
- package/dist/types/chat/store/merge-chat-messages.d.ts +20 -0
- package/dist/types/chat/store/reduce-agents-chat-state.d.ts +7 -0
- package/dist/types/chat/store/use-agents-chat-store.d.ts +22 -0
- package/dist/types/chat/strip-pre-call-message-marker.d.ts +12 -0
- package/dist/types/chat/use-canvas-shell-transitions.d.ts +25 -0
- package/dist/types/client/AgentsConversationClient.d.ts +93 -0
- package/dist/types/client/AgentsConversationClientContext.d.ts +17 -0
- package/dist/types/client/polling/createPollingConversationChangeSubscription.d.ts +62 -0
- package/dist/types/client/polling/withPollingChangeSubscription.d.ts +11 -0
- package/dist/types/client/testing/createInMemoryAgentsConversationClient.d.ts +139 -0
- package/dist/types/contract/conversation.d.ts +370 -0
- package/dist/types/entries/chat.d.ts +21 -0
- package/dist/types/entries/client-testing.d.ts +1 -0
- package/dist/types/entries/client.d.ts +4 -0
- package/dist/types/entries/contract.d.ts +1 -0
- package/dist/types/entries/image-render.d.ts +9 -0
- package/dist/types/entries/index.d.ts +9 -0
- package/dist/types/entries/kit.d.ts +4 -0
- package/dist/types/entries/preview.d.ts +8 -0
- package/dist/types/entries/renderer.d.ts +15 -0
- package/dist/types/entries/widgets.d.ts +16 -0
- package/dist/types/image-render/ComposedViewEmailDataTimes/ComposedViewEmailDataTimes.d.ts +15 -0
- package/dist/types/image-render/WidgetImageRender.d.ts +55 -0
- package/dist/types/image-render/WidgetImageRenderContext.d.ts +14 -0
- package/dist/types/image-render/composed-view-data-times.d.ts +20 -0
- package/dist/types/image-render/frozen-widget-requests.d.ts +2 -0
- package/dist/types/image-render/live-widget-requests.d.ts +4 -0
- package/dist/types/image-render/widget-image-google-map.d.ts +7 -0
- package/dist/types/image-render/widget-image-readiness-signal.d.ts +16 -0
- package/dist/types/image-render/widget-image-readiness.d.ts +9 -0
- package/dist/types/image-render/widget-image-render.types.d.ts +47 -0
- package/dist/types/kit/ComposedViewConversationWidget.d.ts +14 -0
- package/dist/types/kit/ComposedViewDataSourceLoader.d.ts +20 -0
- package/dist/types/kit/ComposedViewRenderer.d.ts +30 -0
- package/dist/types/kit/ComposedViewSlotErrorBoundary.d.ts +23 -0
- package/dist/types/kit/ModelText/ModelText.d.ts +12 -0
- package/dist/types/kit/components/embedding/EmbeddedConversationWidget.d.ts +26 -0
- package/dist/types/kit/components/map/map-full-screen-instance.d.ts +26 -0
- package/dist/types/kit/components/map/map-presentation-context.d.ts +8 -0
- package/dist/types/kit/components/text/shared/text-node-values.d.ts +39 -0
- package/dist/types/kit/composed-view-component-types.d.ts +61 -0
- package/dist/types/kit/composed-view-components.d.ts +7 -0
- package/dist/types/kit/composed-view-tones.d.ts +20 -0
- package/dist/types/kit/entity-detail/EntityDetailCanvasBody.d.ts +9 -0
- package/dist/types/kit/entity-detail/entity-detail-bodies.d.ts +32 -0
- package/dist/types/kit/entity-detail/entity-detail-name.d.ts +9 -0
- package/dist/types/kit/hooks/use-debounced-value.d.ts +2 -0
- package/dist/types/kit/map-full-screen/MapFullScreenCanvasBody.d.ts +11 -0
- package/dist/types/preview/WidgetPreviewHost.d.ts +20 -0
- package/dist/types/preview/preview-stub-components.d.ts +3 -0
- package/dist/types/preview/widget-preview-fixtures.d.ts +17 -0
- package/dist/types/preview/widget-preview-hydration.d.ts +10 -0
- package/dist/types/preview/widget-preview-readiness.d.ts +27 -0
- package/dist/types/preview/widget-preview-requests.d.ts +16 -0
- package/dist/types/preview/widget-preview-signal.d.ts +10 -0
- package/dist/types/preview/widget-preview.types.d.ts +134 -0
- package/dist/types/provider/AgentsProvider.d.ts +33 -0
- package/dist/types/provider/class-names.d.ts +7 -0
- package/dist/types/provider/components/default-components.d.ts +3 -0
- package/dist/types/provider/components/icon-names.d.ts +9 -0
- package/dist/types/provider/components/index.d.ts +39 -0
- package/dist/types/provider/components/types.d.ts +463 -0
- package/dist/types/provider/environment.d.ts +262 -0
- package/dist/types/provider/index.d.ts +4 -0
- package/dist/types/renderer/ConversationDeepLinkedWidget.d.ts +18 -0
- package/dist/types/renderer/ConversationMarkdown.d.ts +21 -0
- package/dist/types/renderer/ConversationWidgetActions/ConversationWidgetActions.d.ts +7 -0
- package/dist/types/renderer/ConversationWidgetCallbacksContext.d.ts +234 -0
- package/dist/types/renderer/ConversationWidgetContext.d.ts +32 -0
- package/dist/types/renderer/ConversationWidgetErrorBoundary.d.ts +25 -0
- package/dist/types/renderer/ConversationWidgetHost.d.ts +36 -0
- package/dist/types/renderer/ConversationWidgetRenderContext.d.ts +3 -0
- package/dist/types/renderer/MarkdownLink.d.ts +6 -0
- package/dist/types/renderer/WindowedWidget/WindowedWidget.d.ts +16 -0
- package/dist/types/renderer/_access/ConversationWidgetFeatureGate.d.ts +21 -0
- package/dist/types/renderer/_agent-space/ConversationWidgetAgentSpaceFrame.d.ts +12 -0
- package/dist/types/renderer/_agent-space/ConversationWidgetAgentSpaceHeader.d.ts +15 -0
- package/dist/types/renderer/_agent-space/agent-space-name.hydrator.d.ts +7 -0
- package/dist/types/renderer/_agent-space/declared-agent-space-key-field-name.d.ts +8 -0
- package/dist/types/renderer/_agent-space/use-resolved-conversation-widget-agent-space-key.d.ts +16 -0
- package/dist/types/renderer/_agent-space/widget-agent-space-key-attribute.d.ts +13 -0
- package/dist/types/renderer/balanced-json-object.d.ts +12 -0
- package/dist/types/renderer/canvas/CanvasRestoreOnMount.d.ts +19 -0
- package/dist/types/renderer/canvas/canvas-behaviours.d.ts +84 -0
- package/dist/types/renderer/canvas/canvas-body-props.d.ts +18 -0
- package/dist/types/renderer/canvas/canvas-feature-flags.d.ts +11 -0
- package/dist/types/renderer/canvas/canvas-reducers.d.ts +46 -0
- package/dist/types/renderer/canvas/canvas-state.d.ts +107 -0
- package/dist/types/renderer/canvas/canvasBodies.d.ts +19 -0
- package/dist/types/renderer/canvas/canvasStorage.d.ts +25 -0
- package/dist/types/renderer/canvas/decide-canvas-open.d.ts +32 -0
- package/dist/types/renderer/canvas/entity-detail-instance.d.ts +27 -0
- package/dist/types/renderer/canvas/find-widget-fences-in-markdown.d.ts +32 -0
- package/dist/types/renderer/canvas/use-anchor-widget-payload.d.ts +8 -0
- package/dist/types/renderer/composer-widget-fence.d.ts +30 -0
- package/dist/types/renderer/conversation-composer-widget.d.ts +13 -0
- package/dist/types/renderer/conversation-widget-props.d.ts +54 -0
- package/dist/types/renderer/conversation-widget-state-partition.d.ts +31 -0
- package/dist/types/renderer/conversationWidgetAstPlugin.d.ts +11 -0
- package/dist/types/renderer/conversationWidgetRegistry.d.ts +74 -0
- package/dist/types/renderer/detect-unrendered-widgets.d.ts +42 -0
- package/dist/types/renderer/markdown-contains-widget.d.ts +13 -0
- package/dist/types/renderer/reference-naked-widget-json.d.ts +1 -0
- package/dist/types/renderer/remarkWidgetFencePlugin.d.ts +22 -0
- package/dist/types/renderer/render-report/widget-render-report-collector.d.ts +57 -0
- package/dist/types/renderer/render-report/widget-render-report.d.ts +29 -0
- package/dist/types/renderer/repair-malformed-widget-fences.d.ts +11 -0
- package/dist/types/renderer/resolve-deep-linkable-widget.d.ts +25 -0
- package/dist/types/renderer/restoreTextDirectivesPlugin.d.ts +12 -0
- package/dist/types/renderer/widget-click-signal-sources.d.ts +15 -0
- package/dist/types/renderer/widget-fence-json.d.ts +16 -0
- package/dist/types/renderer/widget-fence-syntax.d.ts +25 -0
- package/dist/types/renderer/widget-hydration/index.d.ts +8 -0
- package/dist/types/renderer/widget-hydration/section-hydration.d.ts +41 -0
- package/dist/types/renderer/widget-hydration/use-widget-hydration.d.ts +27 -0
- package/dist/types/renderer/widget-hydration/widget-hydration-state-store.d.ts +27 -0
- package/dist/types/renderer/widget-hydration/widget-hydration.reducer.d.ts +39 -0
- package/dist/types/renderer/widget-hydration/widget-hydration.registry.d.ts +7 -0
- package/dist/types/renderer/widget-hydration/widget-hydration.slice.d.ts +8 -0
- package/dist/types/renderer/widget-hydration/widget-hydration.types.d.ts +27 -0
- package/dist/types/renderer/widget-name-resolver.d.ts +22 -0
- package/dist/types/renderer/widget-tree/bounded-json.d.ts +23 -0
- package/dist/types/renderer/widget-tree/composed-node-schema.d.ts +143 -0
- package/dist/types/renderer/widget-tree/composed-view-data-sources.d.ts +41 -0
- package/dist/types/renderer/widget-tree/composed-view-tree.d.ts +111 -0
- package/dist/types/renderer/widget-tree/expression/evaluate-expression.d.ts +65 -0
- package/dist/types/renderer/widget-tree/expression/parse-expression.d.ts +71 -0
- package/dist/types/renderer/widget-tree/resolve-composed-view-values.d.ts +49 -0
- package/dist/types/renderer/widget-tree/use-composed-view-state.d.ts +16 -0
- package/dist/types/renderer/widget-windowing.d.ts +25 -0
- package/dist/types/widgets/CanvasWidgetCard/CanvasWidgetCard.d.ts +79 -0
- package/dist/types/widgets/CanvasWidgetCard/CanvasWidgetSwitch.d.ts +61 -0
- package/dist/types/widgets/CanvasWidgetCard/canvas-for-message-widget.d.ts +8 -0
- package/dist/types/widgets/CanvasWidgetCard/use-canvas-viable.d.ts +15 -0
- package/dist/types/widgets/ClockConversationWidget/ClockConversationWidget.d.ts +11 -0
- package/dist/types/widgets/ClockConversationWidget/ClockWidget/AnalogClockFace.d.ts +12 -0
- package/dist/types/widgets/ClockConversationWidget/ClockWidget/ClockRow.d.ts +23 -0
- package/dist/types/widgets/ClockConversationWidget/ClockWidget/ClockWidget.d.ts +21 -0
- package/dist/types/widgets/ClockConversationWidget/ClockWidget/DayNightGlyph.d.ts +8 -0
- package/dist/types/widgets/ClockConversationWidget/shared/clock-time.d.ts +52 -0
- package/dist/types/widgets/ClockConversationWidget/shared/clock-widget-payload.d.ts +23 -0
- package/dist/types/widgets/ClockConversationWidget/shared/use-clock-settings.d.ts +18 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/ConceptExplainerConversationWidget.d.ts +14 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/ConceptExplainerWidget/ConceptExplainerWidget.d.ts +27 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/shared/ConceptExplainerTextView.d.ts +11 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/shared/concept-explainer-type.d.ts +89 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/shared/concept-explainer-types.d.ts +17 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/shared/concept-explainer-widget-payload.d.ts +25 -0
- package/dist/types/widgets/ConceptExplainerConversationWidget/shared/use-concept-explainer-language.d.ts +8 -0
- package/dist/types/widgets/ConversationSearchResultsConversationWidget/ConversationSearchResultsCanvas.d.ts +9 -0
- package/dist/types/widgets/ConversationSearchResultsConversationWidget/ConversationSearchResultsCanvasBody.d.ts +7 -0
- package/dist/types/widgets/ConversationSearchResultsConversationWidget/ConversationSearchResultsConversationWidget.d.ts +15 -0
- package/dist/types/widgets/ConversationSearchResultsConversationWidget/shared/conversation-search-results-widget-payload.d.ts +42 -0
- package/dist/types/widgets/ConversationSearchResultsConversationWidget/shared/search-hit-excerpt.d.ts +1 -0
- package/dist/types/widgets/CurrencyConverterConversationWidget/CurrencyConverterConversationWidget.d.ts +8 -0
- package/dist/types/widgets/CurrencyConverterConversationWidget/CurrencyConverterWidget/CurrencyConverterWidget.d.ts +17 -0
- package/dist/types/widgets/CurrencyConverterConversationWidget/CurrencyConverterWidget/CurrencyLabel/CurrencyLabel.d.ts +9 -0
- package/dist/types/widgets/CurrencyConverterConversationWidget/shared/currency-converter-widget-payload.d.ts +22 -0
- package/dist/types/widgets/CurrencyConverterConversationWidget/shared/currency-display.d.ts +30 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/CustomVisualizationConversationWidget.d.ts +11 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/CustomVisualizationWidget/CustomVisualizationFrame.d.ts +14 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/CustomVisualizationWidget/CustomVisualizationWidget.d.ts +15 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/shared/custom-visualization-frame-protocol.d.ts +77 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/shared/custom-visualization-libraries.d.ts +25 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/shared/custom-visualization-sandbox-config.d.ts +21 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/shared/custom-visualization-widget-payload.d.ts +55 -0
- package/dist/types/widgets/CustomVisualizationConversationWidget/shared/read-custom-visualization-theme.d.ts +5 -0
- package/dist/types/widgets/EntityMentionConversationWidget/EntityMentionAskButton/EntityMentionAskButton.d.ts +13 -0
- package/dist/types/widgets/EntityMentionConversationWidget/EntityMentionCard/EntityMentionCard.d.ts +11 -0
- package/dist/types/widgets/EntityMentionConversationWidget/EntityMentionConversationWidget.d.ts +9 -0
- package/dist/types/widgets/EntityMentionConversationWidget/shared/entity-mention-presentation.d.ts +4 -0
- package/dist/types/widgets/EntityMentionConversationWidget/shared/entity-mention.d.ts +33 -0
- package/dist/types/widgets/EntityMentionConversationWidget/shared/use-entity-mention-composer.d.ts +17 -0
- package/dist/types/widgets/MultiChoiceConversationWidget/MultiChoiceConversationWidget.d.ts +2 -0
- package/dist/types/widgets/MultiChoiceConversationWidget/shared/multi-choice-widget-payload.d.ts +16 -0
- package/dist/types/widgets/QuickRepliesConversationWidget/QuickRepliesConversationWidget.d.ts +38 -0
- package/dist/types/widgets/QuickRepliesConversationWidget/shared/quick-replies-widget-payload.d.ts +20 -0
- package/dist/types/widgets/SuggestedActions/SuggestedActions.d.ts +10 -0
- package/dist/types/widgets/ToolTraceConversationWidget/ToolTraceConversationWidget.d.ts +8 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/SourceFavicon.d.ts +10 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchAnswer.d.ts +6 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchReferences.d.ts +12 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchResultsCanvas.d.ts +10 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchResultsCanvasBody.d.ts +7 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchResultsConversationWidget.d.ts +14 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/WebSearchSourcesList.d.ts +10 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/shared/display-hostname.d.ts +9 -0
- package/dist/types/widgets/WebSearchResultsConversationWidget/shared/web-search-results-widget-payload.d.ts +30 -0
- package/dist/types/widgets/WritingDraftConversationWidget/WritingDraftConversationWidget.d.ts +14 -0
- package/dist/types/widgets/WritingDraftConversationWidget/WritingDraftWidget/WritingDraftBody.d.ts +9 -0
- package/dist/types/widgets/WritingDraftConversationWidget/WritingDraftWidget/WritingDraftWidget.d.ts +44 -0
- package/dist/types/widgets/WritingDraftConversationWidget/shared/draft-mail-link.d.ts +17 -0
- package/dist/types/widgets/WritingDraftConversationWidget/shared/draft-plain-text.d.ts +7 -0
- package/dist/types/widgets/WritingDraftConversationWidget/shared/remark-draft-line-breaks.d.ts +13 -0
- package/dist/types/widgets/WritingDraftConversationWidget/shared/writing-draft-widget-payload.d.ts +23 -0
- package/dist/types/widgets/_shared/ConversationWidgetButton.d.ts +4 -0
- package/dist/types/widgets/_shared/DonePill.d.ts +14 -0
- package/dist/types/widgets/_shared/modern/WidgetKpiValue.d.ts +24 -0
- package/dist/types/widgets/_shared/modern/WidgetListRow.d.ts +14 -0
- package/dist/types/widgets/_shared/modern/WidgetStatusChip.d.ts +8 -0
- package/dist/types/widgets/_shared/modern/WidgetSurface.d.ts +13 -0
- package/dist/types/widgets/_shared/modern/WidgetSurfaceSkeleton.d.ts +11 -0
- package/dist/types/widgets/_shared/modern/index.d.ts +16 -0
- package/dist/types/widgets/_shared/skeleton-primitives.d.ts +20 -0
- package/dist/types/widgets/_shared/use-stack-when-wrapped.d.ts +6 -0
- package/dist/types/widgets/_shared/widget-payload-validation.d.ts +22 -0
- package/dist/widgets.js +84 -0
- package/dist/widgets.js.map +1 -0
- package/package.json +147 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hostname as a reader writes it: an internationalised domain arrives from `URL.hostname` in its ASCII form
|
|
3
|
+
* (`xn--bckerhandwerk-bfb.de`), which reads as noise on a source chip — each `xn--` label is decoded back to Unicode
|
|
4
|
+
* (`bäckerhandwerk.de`) with the Punycode algorithm of RFC 3492. A label that does not decode stays as it was. The
|
|
5
|
+
* favicon lookup keeps the ASCII form; this is for display only.
|
|
6
|
+
*/
|
|
7
|
+
/** Decodes the part of a label after `xn--`; undefined when it is not valid Punycode. */
|
|
8
|
+
export declare const decodePunycodeLabel: (encodedLabel: string) => string | undefined;
|
|
9
|
+
export declare const toDisplayHostname: (hostname: string) => string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** One cited web source — the fields the widget renders (a numbered link with an optional title). */
|
|
2
|
+
export interface WebSearchResultSource {
|
|
3
|
+
url: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Payload carried by `::WebSearchResults{payload='...'}` — the references of a web research answer.
|
|
8
|
+
*
|
|
9
|
+
* DATA-COMPLETE: the widget renders ENTIRELY from this payload — it never re-runs the search or fetches anything.
|
|
10
|
+
* The agent writes its answer as prose and the payload carries only the `sources` it used (url + title,
|
|
11
|
+
* copied from the tool results) plus the `query`. `answer` is the legacy field of messages stored before: when present
|
|
12
|
+
* the widget renders the full answer card.
|
|
13
|
+
*
|
|
14
|
+
* `display` lets the agent force inline vs canvas; omitted → the widget auto-picks (a short answer with few sources
|
|
15
|
+
* renders inline in the chat, a long answer or many sources opens in the canvas side panel).
|
|
16
|
+
*/
|
|
17
|
+
export interface WebSearchResultsPayload {
|
|
18
|
+
/** The query that was searched (shown as the headline / canvas card title fallback). */
|
|
19
|
+
query: string;
|
|
20
|
+
/** The LLM-written headline for the canvas card (user's language, e.g. "Opening-hours rules in 2026"); falls back to the query. */
|
|
21
|
+
title?: string;
|
|
22
|
+
/** The provider that produced the answer (PERPLEXITY | OPENAI | GEMINI) — shown as a small attribution. */
|
|
23
|
+
provider?: string;
|
|
24
|
+
display?: "inline" | "canvas";
|
|
25
|
+
/** Legacy: the answer as markdown; empty in the references form. */
|
|
26
|
+
answer: string;
|
|
27
|
+
/** The cited sources (url + optional title), in citation order. */
|
|
28
|
+
sources: WebSearchResultSource[];
|
|
29
|
+
}
|
|
30
|
+
export declare const parseWebSearchResultsPayload: (payload: string | undefined) => WebSearchResultsPayload;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PayloadConversationWidgetProps } from "../../renderer/conversation-widget-props";
|
|
2
|
+
type WritingDraftConversationWidgetProps = PayloadConversationWidgetProps;
|
|
3
|
+
/**
|
|
4
|
+
* The `WritingDraft` widget (ChatGPT's `WritingBlock`): a text the model drafted for the owner to
|
|
5
|
+
* send or publish themselves — an e-mail, a letter, a post, a reply, a message. DATA-COMPLETE: the block carries the
|
|
6
|
+
* whole draft (kind, title, recipient, subject, the body as Markdown); nothing is fetched. The owner edits it in place,
|
|
7
|
+
* copies the plain text and opens an e-mail draft in their own mail program (`mailto:`).
|
|
8
|
+
*
|
|
9
|
+
* Nothing leaves the screen: an edit, a copy or the mail link sends nothing to the agent (no signal, no message — the
|
|
10
|
+
* widget is not answerable) and nothing to anyone else; the footer says so while the owner edits. In a report e-mail it
|
|
11
|
+
* renders the draft read-only, without actions. A block without a text reports `empty`; an unreadable payload or a `body` that is no text reports `failed`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const WritingDraftConversationWidget: (props: WritingDraftConversationWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
package/dist/types/widgets/WritingDraftConversationWidget/WritingDraftWidget/WritingDraftBody.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface WritingDraftBodyProps {
|
|
2
|
+
/** The draft text as Markdown, the model's words or the owner's edit. */
|
|
3
|
+
markdown: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The draft text, formatted: paragraphs, emphasis, lists and quotes through the shared conversation renderer; a single
|
|
7
|
+
* line break stays a line break (a signature, an address block).
|
|
8
|
+
*/
|
|
9
|
+
export declare const WritingDraftBody: (props: WritingDraftBodyProps) => import("react/jsx-runtime").JSX.Element;
|
package/dist/types/widgets/WritingDraftConversationWidget/WritingDraftWidget/WritingDraftWidget.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { WritingDraftKind } from "../shared/writing-draft-widget-payload";
|
|
2
|
+
/** The draft as the widget shows it — the model's draft, or the owner's edit of it. */
|
|
3
|
+
export interface WritingDraftValues {
|
|
4
|
+
recipient: string;
|
|
5
|
+
subject: string;
|
|
6
|
+
body: string;
|
|
7
|
+
}
|
|
8
|
+
export type WritingDraftField = keyof WritingDraftValues;
|
|
9
|
+
/** The label above the headline per kind — one translation key each, never a concatenated word. */
|
|
10
|
+
export declare const WRITING_DRAFT_KIND_LABELS: Record<WritingDraftKind | "unknown", string>;
|
|
11
|
+
export interface WritingDraftWidgetProps {
|
|
12
|
+
kind?: WritingDraftKind;
|
|
13
|
+
/** The model's headline; shown under the kind label when it says more than the subject already does. */
|
|
14
|
+
title?: string;
|
|
15
|
+
values: WritingDraftValues;
|
|
16
|
+
/** Recipient and subject rows are part of this kind (an e-mail, a letter) even while empty. */
|
|
17
|
+
showsAddressFields: boolean;
|
|
18
|
+
isEditing: boolean;
|
|
19
|
+
/** The owner changed something; Reset brings the model's draft back. */
|
|
20
|
+
isEdited: boolean;
|
|
21
|
+
/** A post shows its length (characters of the plain text); undefined for the other kinds. */
|
|
22
|
+
characterCount?: number;
|
|
23
|
+
/** The copy button confirms for a moment after a copy. */
|
|
24
|
+
isCopied: boolean;
|
|
25
|
+
/** Offered for an e-mail draft only. */
|
|
26
|
+
canOpenInMail: boolean;
|
|
27
|
+
/** The mail link leaves the body out (too long): the owner is told to copy it. */
|
|
28
|
+
mailLinkOmitsBody: boolean;
|
|
29
|
+
onChangeField: (field: WritingDraftField, value: string) => void;
|
|
30
|
+
onStartEditing: () => void;
|
|
31
|
+
onFinishEditing: () => void;
|
|
32
|
+
onReset: () => void;
|
|
33
|
+
onCopy: () => void;
|
|
34
|
+
onOpenInMail: () => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The presentational draft: the kind label with the model's headline above the card; the card reads like the message
|
|
38
|
+
* itself — To and Subject as a mail header divided from the text by a hairline, then the text. The actions (Copy, Edit,
|
|
39
|
+
* Open in mail) sit centred under the card as small pills. Editing happens in the same card: the header rows and the
|
|
40
|
+
* text become fields, Done and Discard changes replace the actions and a note says the edit stays on this screen.
|
|
41
|
+
* Knows nothing about payloads, the registry or the chat. The actions are left out of an e-mail capture
|
|
42
|
+
* (`ConversationWidgetActions`).
|
|
43
|
+
*/
|
|
44
|
+
export declare const WritingDraftWidget: (props: WritingDraftWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `mailto:` link that opens an e-mail draft in the owner's own mail program (RFC 6068). The widget never sends
|
|
3
|
+
* anything: the link hands the recipient, the subject and the plain-text body to the mail program, which the owner
|
|
4
|
+
* then sends — or not. Only real e-mail addresses go into the address part (a name such as "Herr Müller" opens a draft
|
|
5
|
+
* without a recipient); a body that would make the link longer than mail programs reliably accept is left out, and
|
|
6
|
+
* the caller tells the owner to copy the text instead.
|
|
7
|
+
*/
|
|
8
|
+
/** Mail programs and browsers cut or refuse longer `mailto:` links (Outlook ~2,000, some browsers ~2,000). */
|
|
9
|
+
export declare const MAX_MAIL_LINK_LENGTH = 1900;
|
|
10
|
+
export interface DraftMailLink {
|
|
11
|
+
href: string;
|
|
12
|
+
/** False when the body was left out because the link would be too long. */
|
|
13
|
+
includesBody: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** The addresses in a recipient line: `a@b.de, c@d.de`, `Anna Muster <anna@b.de>`; anything else is dropped. */
|
|
16
|
+
export declare const readEmailAddresses: (recipient: string | undefined) => string[];
|
|
17
|
+
export declare const buildDraftMailLink: (recipient: string | undefined, subject: string | undefined, plainTextBody: string) => DraftMailLink;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The draft's Markdown as the plain text the owner pastes into a mail program, a letter or a post: the copy button and
|
|
3
|
+
* the `mailto:` body use it, so no `**`, `#` or `[label](url)` syntax reaches the recipient. Paragraphs and line breaks
|
|
4
|
+
* stay; list items keep a "- " / "1. " marker; a link keeps its label and, when the label is not the address itself,
|
|
5
|
+
* the address in brackets. Pure, total, never throws.
|
|
6
|
+
*/
|
|
7
|
+
export declare const convertDraftMarkdownToPlainText: (markdown: string) => string;
|
package/dist/types/widgets/WritingDraftConversationWidget/shared/remark-draft-line-breaks.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface DraftMdastNode {
|
|
2
|
+
type: string;
|
|
3
|
+
value?: string;
|
|
4
|
+
children?: DraftMdastNode[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* A single line break in a draft is a line break on screen (a signature "Viele Grüße\nAnna Schmidt", an address block)
|
|
8
|
+
* — in plain Markdown it would join the two lines into one. Splits every text node at its newlines into text and
|
|
9
|
+
* `break` nodes, the way `remark-breaks` does (not a dependency of the app); code is left alone. A blank line stays a
|
|
10
|
+
* new paragraph, as in Markdown.
|
|
11
|
+
*/
|
|
12
|
+
export declare const remarkDraftLineBreaks: () => (tree: DraftMdastNode) => void;
|
|
13
|
+
export {};
|
package/dist/types/widgets/WritingDraftConversationWidget/shared/writing-draft-widget-payload.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `WritingDraft` payload (DATA-COMPLETE: the model writes the whole draft). The parser is alias-tolerant (weak
|
|
3
|
+
* models rename fields while they write, and ChatGPT's own `WritingArtifact` shape — `variant`, `content.text` — may be
|
|
4
|
+
* copied), caps every string, and never throws: malformed JSON gives `isValidPayload: false`, which the widget reports
|
|
5
|
+
* as `failed`; a payload without a text reports `empty`.
|
|
6
|
+
*/
|
|
7
|
+
/** The body length shown at most (the backend's `WritingDraftConversationWidget::MAX_BODY_LENGTH`); the rest is cut. */
|
|
8
|
+
export declare const MAX_DRAFT_BODY_LENGTH = 20000;
|
|
9
|
+
/** The kinds the widget labels; the backend's `WritingDraftConversationWidget::KINDS`. */
|
|
10
|
+
export type WritingDraftKind = "email" | "letter" | "post" | "reply" | "message" | "other";
|
|
11
|
+
export interface WritingDraftPayload {
|
|
12
|
+
/** False when the payload is not a JSON object at all. */
|
|
13
|
+
isValidPayload: boolean;
|
|
14
|
+
kind?: WritingDraftKind;
|
|
15
|
+
title?: string;
|
|
16
|
+
recipient?: string;
|
|
17
|
+
subject?: string;
|
|
18
|
+
/** The draft as Markdown; "" when the model wrote none. */
|
|
19
|
+
body: string;
|
|
20
|
+
/** A body field is there but holds no text (an object, a number, a list) — reported `failed`, not `empty`. */
|
|
21
|
+
isBodyUnreadable: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare const parseWritingDraftPayload: (payload: string | undefined) => WritingDraftPayload;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Button } from "../../provider/components";
|
|
2
|
+
import type { ComponentProps } from "react";
|
|
3
|
+
/** An action button inside a widget; screenshots retain the content surrounding the action. */
|
|
4
|
+
export declare const ConversationWidgetButton: (props: ComponentProps<typeof Button>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface DonePillProps {
|
|
2
|
+
children: string;
|
|
3
|
+
/** False for a label the agent wrote at runtime — only the static copy goes through the translator. */
|
|
4
|
+
translate?: boolean;
|
|
5
|
+
/** `neutral` for an answer that declined or cancelled: no check. */
|
|
6
|
+
status?: "success" | "neutral";
|
|
7
|
+
testId?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* What was done, where the answer buttons were: one pill naming the action the owner chose. It takes the focus the
|
|
11
|
+
* button had when that button unmounts with it; mount it inside a live region that was already there.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DonePill: (props: DonePillProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface WidgetKpiValueProps {
|
|
3
|
+
/** The label above the number — business content, so the caller passes it already in the owner's language. */
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
/** The formatted number (`2.4K`, `87 %`). */
|
|
6
|
+
value: ReactNode;
|
|
7
|
+
/** Lower-case, describes the number; never repeats the label. */
|
|
8
|
+
unit?: ReactNode;
|
|
9
|
+
/** The change indicator (`TrendDelta`), on the unit line. */
|
|
10
|
+
delta?: ReactNode;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
valuePresentation?: "hero" | "text";
|
|
13
|
+
/** A small status badge at the end of the label line. */
|
|
14
|
+
accent?: ReactNode;
|
|
15
|
+
/** A score visual (a meter) directly under the value. */
|
|
16
|
+
meter?: ReactNode;
|
|
17
|
+
testId?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The KPI value of the chat widgets and the kit's KPI node: the hero scale (the app's dashboard scale) (48px bold,
|
|
21
|
+
* tabular, scaled down to fit) re-used, never a second type scale. The label is known before the data, so it is never
|
|
22
|
+
* a skeleton. A text value sits in the same hero line box, so the lines under it align across a row of KPIs.
|
|
23
|
+
*/
|
|
24
|
+
export declare const WidgetKpiValue: (props: WidgetKpiValueProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface WidgetListRowProps {
|
|
3
|
+
/** Business content in the owner's language (no translation). */
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
meta?: ReactNode;
|
|
6
|
+
leading?: ReactNode;
|
|
7
|
+
trailing?: ReactNode;
|
|
8
|
+
/** Makes the row a native button (keyboard and screen reader included); never an onClick on a div. */
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
className?: string;
|
|
11
|
+
testId?: string;
|
|
12
|
+
}
|
|
13
|
+
/** One row of a list inside a widget surface: title over muted meta, hairline-divided. */
|
|
14
|
+
export declare const WidgetListRow: (props: WidgetListRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type AgentsStatusChipProps, type AgentsStatusChipTone } from "../../../provider/components";
|
|
2
|
+
export type WidgetStatusTone = AgentsStatusChipTone;
|
|
3
|
+
export type WidgetStatusChipProps = AgentsStatusChipProps;
|
|
4
|
+
/**
|
|
5
|
+
* The status chip of the chat widgets: the `StatusChip` component (in the app: the dashboard's status
|
|
6
|
+
* pill), so the chat and the dashboard read the same.
|
|
7
|
+
*/
|
|
8
|
+
export declare const WidgetStatusChip: (props: WidgetStatusChipProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type WidgetSurfaceLevel = "elevated" | "flat";
|
|
3
|
+
export interface WidgetSurfaceProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/** `elevated` on the chat; `flat` for a tile inside a surface or anything inside a canvas pane. */
|
|
6
|
+
level?: WidgetSurfaceLevel;
|
|
7
|
+
/** The compact radius and padding pair, for small nested tiles. */
|
|
8
|
+
compact?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}
|
|
12
|
+
/** The surface every modern widget and kit component sits on — one radius, one padding, one shadow per level. */
|
|
13
|
+
export declare const WidgetSurface: (props: WidgetSurfaceProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type WidgetSurfaceLevel } from "./WidgetSurface";
|
|
3
|
+
export interface WidgetSurfaceSkeletonProps {
|
|
4
|
+
/** The widget's title — known before the data, so it is real text, never a skeleton. */
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
rowCount?: number;
|
|
7
|
+
level?: WidgetSurfaceLevel;
|
|
8
|
+
testId?: string;
|
|
9
|
+
}
|
|
10
|
+
/** The loading state shaped like the surface it stands for: the same surface, the title, then row-shaped blocks. */
|
|
11
|
+
export declare const WidgetSurfaceSkeleton: (props: WidgetSurfaceSkeletonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The modern widget design primitives — the one place a chat widget or a kit component takes its look
|
|
3
|
+
* from. The KPI hero scale, the widget text and the status chip are replaceable components of the provider (the app
|
|
4
|
+
* supplies its dashboard's primitives), re-exported here so the chat never grows a second type scale.
|
|
5
|
+
*/
|
|
6
|
+
export { WidgetSurface } from "./WidgetSurface";
|
|
7
|
+
export type { WidgetSurfaceLevel, WidgetSurfaceProps } from "./WidgetSurface";
|
|
8
|
+
export { WidgetKpiValue } from "./WidgetKpiValue";
|
|
9
|
+
export type { WidgetKpiValueProps } from "./WidgetKpiValue";
|
|
10
|
+
export { WidgetListRow } from "./WidgetListRow";
|
|
11
|
+
export type { WidgetListRowProps } from "./WidgetListRow";
|
|
12
|
+
export { WidgetStatusChip } from "./WidgetStatusChip";
|
|
13
|
+
export type { WidgetStatusChipProps, WidgetStatusTone } from "./WidgetStatusChip";
|
|
14
|
+
export { WidgetSurfaceSkeleton } from "./WidgetSurfaceSkeleton";
|
|
15
|
+
export type { WidgetSurfaceSkeletonProps } from "./WidgetSurfaceSkeleton";
|
|
16
|
+
export { HeroValue, WidgetText } from "../../../provider/components";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface LineProps {
|
|
2
|
+
width?: number | string;
|
|
3
|
+
height?: number;
|
|
4
|
+
radius?: number;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const SkeletonLine: ({ width, height, radius, className }: LineProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
interface CircleProps {
|
|
9
|
+
size: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const SkeletonCircle: ({ size, className }: CircleProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
interface PillProps {
|
|
14
|
+
width?: number | string;
|
|
15
|
+
height?: number;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const SkeletonPill: ({ width, height, className }: PillProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare const SkeletonWidgetLabel: () => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A row of buttons that turns into a full-width column once it would wrap: `data-stacked` goes on the row (its CSS lays
|
|
3
|
+
* the column out). The row is measured as a row whenever its width or `items` change, so it goes back as soon as the
|
|
4
|
+
* buttons fit. Attach the returned callback ref to the row, which may mount later than the hook's host.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useStackWhenWrapped: <T extends HTMLElement>(items: unknown) => import("react").Dispatch<import("react").SetStateAction<T | null>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whitelist helpers for LLM-emitted widget payload values. Filter values
|
|
3
|
+
* flow into backend filter strings (`status eq '<value>'`, `directories in
|
|
4
|
+
* ['<value>']`) and Redux filter slices, so nothing may pass through without
|
|
5
|
+
* either matching a known literal or a safe-charset alias check — a stray
|
|
6
|
+
* quote in a value would otherwise break or co-opt the filter expression.
|
|
7
|
+
*/
|
|
8
|
+
/** Keep only values present in `allowed`; undefined when nothing survives. */
|
|
9
|
+
export declare const pickAllowed: <T extends string>(values: unknown, allowed: ReadonlyArray<T>) => T[] | undefined;
|
|
10
|
+
/** Single-value variant of `pickAllowed`. */
|
|
11
|
+
export declare const pickAllowedValue: <T extends string>(value: unknown, allowed: ReadonlyArray<T>) => T | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Keep only strings matching the safe alias charset (letters, digits, `_`, `-`).
|
|
14
|
+
* For open-ended vocabularies (e.g. aliases of data sources an app adds at runtime) where a fixed
|
|
15
|
+
* whitelist is impossible but quotes/spaces must never pass.
|
|
16
|
+
*/
|
|
17
|
+
export declare const pickSafeAliases: (values: unknown) => string[] | undefined;
|
|
18
|
+
/** Single-value variant of `pickSafeAliases` (e.g. a source alias or an id token of the app's own form). */
|
|
19
|
+
export declare const pickSafeAlias: (value: unknown) => string | undefined;
|
|
20
|
+
export declare const pickReviewExternalId: (value: unknown) => string | undefined;
|
|
21
|
+
/** Keep a free-text string, capped at `maxLength` — e.g. a model-drafted reply pre-filled into an input. */
|
|
22
|
+
export declare const pickText: (value: unknown, maxLength?: number) => string | undefined;
|
package/dist/widgets.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { z as classNames, q as Text, p as StatusChip, aF as WidgetSurface, aG as SkeletonCircle, aH as SkeletonLine } from "./chunks/WebSearchResultsConversationWidget-BvnLWHyi.js";
|
|
3
|
+
import { aI, aJ, aK, aL, aM, aN, aO, aP, e, aQ, aR, aS, aT, aU, aV, v, aW, aX } from "./chunks/WebSearchResultsConversationWidget-BvnLWHyi.js";
|
|
4
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
5
|
+
const row$1 = "agents_row_3Kb6Jj";
|
|
6
|
+
const withoutLeading = "agents_withoutLeading_7XTCP7";
|
|
7
|
+
const clickable = "agents_clickable_-T4Zgc";
|
|
8
|
+
const text = "agents_text_fJd93m";
|
|
9
|
+
const trailing = "agents_trailing_FOCyQL";
|
|
10
|
+
const styles$1 = {
|
|
11
|
+
row: row$1,
|
|
12
|
+
withoutLeading,
|
|
13
|
+
clickable,
|
|
14
|
+
text,
|
|
15
|
+
trailing
|
|
16
|
+
};
|
|
17
|
+
const WidgetListRow = (props) => {
|
|
18
|
+
const { title, meta, leading, trailing: trailing2, onClick, className, testId } = props;
|
|
19
|
+
const rowClassName = classNames(
|
|
20
|
+
styles$1.row,
|
|
21
|
+
leading === void 0 && styles$1.withoutLeading,
|
|
22
|
+
onClick && styles$1.clickable,
|
|
23
|
+
className
|
|
24
|
+
);
|
|
25
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
leading,
|
|
27
|
+
/* @__PURE__ */ jsxs("span", { className: styles$1.text, children: [
|
|
28
|
+
/* @__PURE__ */ jsx(Text, { role: "body", weight: "bold", translate: false, children: title }),
|
|
29
|
+
meta ? /* @__PURE__ */ jsx(Text, { role: "caption", color: "var(--agents-fg-light)", translate: false, children: meta }) : null
|
|
30
|
+
] }),
|
|
31
|
+
trailing2 ? /* @__PURE__ */ jsx("span", { className: styles$1.trailing, children: trailing2 }) : /* @__PURE__ */ jsx("span", {})
|
|
32
|
+
] });
|
|
33
|
+
if (onClick) {
|
|
34
|
+
return /* @__PURE__ */ jsx("button", { type: "button", className: rowClassName, onClick, "data-testid": testId, children: content });
|
|
35
|
+
}
|
|
36
|
+
return /* @__PURE__ */ jsx("div", { className: rowClassName, "data-testid": testId, children: content });
|
|
37
|
+
};
|
|
38
|
+
const WidgetStatusChip = (props) => /* @__PURE__ */ jsx(StatusChip, { ...props });
|
|
39
|
+
const rows = "agents_rows_ZeurFw";
|
|
40
|
+
const row = "agents_row_2esTMM";
|
|
41
|
+
const rowText = "agents_rowText_TlYKqo";
|
|
42
|
+
const styles = {
|
|
43
|
+
rows,
|
|
44
|
+
row,
|
|
45
|
+
rowText
|
|
46
|
+
};
|
|
47
|
+
const WidgetSurfaceSkeleton = (props) => {
|
|
48
|
+
const { title, rowCount = 3, level = "elevated", testId } = props;
|
|
49
|
+
return /* @__PURE__ */ jsxs(WidgetSurface, { level, testId, children: [
|
|
50
|
+
title ? /* @__PURE__ */ jsx(Text, { role: "intro", weight: "bold", translate: false, children: title }) : null,
|
|
51
|
+
/* @__PURE__ */ jsx("div", { className: styles.rows, "aria-busy": "true", children: Array.from({ length: rowCount }, (unused, rowIndex) => /* @__PURE__ */ jsxs("div", { className: styles.row, children: [
|
|
52
|
+
/* @__PURE__ */ jsx(SkeletonCircle, { size: 32 }),
|
|
53
|
+
/* @__PURE__ */ jsxs("span", { className: styles.rowText, children: [
|
|
54
|
+
/* @__PURE__ */ jsx(SkeletonLine, { width: "60%", height: 12 }),
|
|
55
|
+
/* @__PURE__ */ jsx(SkeletonLine, { width: "35%", height: 10 })
|
|
56
|
+
] })
|
|
57
|
+
] }, rowIndex)) })
|
|
58
|
+
] });
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
aI as CanvasWidgetCard,
|
|
62
|
+
aJ as CanvasWidgetSwitch,
|
|
63
|
+
aK as ClockConversationWidget,
|
|
64
|
+
aL as ConceptExplainerConversationWidget,
|
|
65
|
+
aM as ConversationSearchResultsConversationWidget,
|
|
66
|
+
aN as CurrencyConverterConversationWidget,
|
|
67
|
+
aO as CustomVisualizationConversationWidget,
|
|
68
|
+
aP as EntityMentionConversationWidget,
|
|
69
|
+
e as HeroValue,
|
|
70
|
+
aQ as MultiChoiceConversationWidget,
|
|
71
|
+
aR as QuickRepliesConversationWidget,
|
|
72
|
+
aS as SuggestedActions,
|
|
73
|
+
aT as ToolTraceConversationWidget,
|
|
74
|
+
aU as WebSearchResultsConversationWidget,
|
|
75
|
+
aV as WidgetKpiValue,
|
|
76
|
+
WidgetListRow,
|
|
77
|
+
WidgetStatusChip,
|
|
78
|
+
WidgetSurface,
|
|
79
|
+
WidgetSurfaceSkeleton,
|
|
80
|
+
v as WidgetText,
|
|
81
|
+
aW as WritingDraftConversationWidget,
|
|
82
|
+
aX as canvasForMessageWidget
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=widgets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widgets.js","sources":["../src/widgets/_shared/modern/WidgetListRow.tsx","../src/widgets/_shared/modern/WidgetStatusChip.tsx","../src/widgets/_shared/modern/WidgetSurfaceSkeleton.tsx"],"sourcesContent":["import { Text } from \"../../../provider/components\";\nimport { classNames } from \"../../../provider/class-names\";\nimport type { ReactNode } from \"react\";\nimport styles from \"./WidgetListRow.module.scss\";\n\nexport interface WidgetListRowProps {\n /** Business content in the owner's language (no translation). */\n title: ReactNode;\n meta?: ReactNode;\n leading?: ReactNode;\n trailing?: ReactNode;\n /** Makes the row a native button (keyboard and screen reader included); never an onClick on a div. */\n onClick?: () => void;\n className?: string;\n testId?: string;\n}\n\n/** One row of a list inside a widget surface: title over muted meta, hairline-divided. */\nexport const WidgetListRow = (props: WidgetListRowProps) => {\n const { title, meta, leading, trailing, onClick, className, testId } = props;\n const rowClassName = classNames(\n styles.row,\n leading === undefined && styles.withoutLeading,\n onClick && styles.clickable,\n className,\n );\n const content = (\n <>\n {leading}\n <span className={styles.text}>\n <Text role=\"body\" weight=\"bold\" translate={false}>\n {title}\n </Text>\n {meta ? (\n <Text role=\"caption\" color=\"var(--agents-fg-light)\" translate={false}>\n {meta}\n </Text>\n ) : null}\n </span>\n {trailing ? <span className={styles.trailing}>{trailing}</span> : <span />}\n </>\n );\n if (onClick) {\n return (\n <button type=\"button\" className={rowClassName} onClick={onClick} data-testid={testId}>\n {content}\n </button>\n );\n }\n return (\n <div className={rowClassName} data-testid={testId}>\n {content}\n </div>\n );\n};\n","import { StatusChip, type AgentsStatusChipProps, type AgentsStatusChipTone } from \"../../../provider/components\";\n\nexport type WidgetStatusTone = AgentsStatusChipTone;\n\nexport type WidgetStatusChipProps = AgentsStatusChipProps;\n\n/**\n * The status chip of the chat widgets: the `StatusChip` component (in the app: the dashboard's status\n * pill), so the chat and the dashboard read the same.\n */\nexport const WidgetStatusChip = (props: WidgetStatusChipProps) => <StatusChip {...props} />;\n","import { Text } from \"../../../provider/components\";\nimport type { ReactNode } from \"react\";\nimport { SkeletonCircle, SkeletonLine } from \"../skeleton-primitives\";\nimport { WidgetSurface, type WidgetSurfaceLevel } from \"./WidgetSurface\";\nimport styles from \"./WidgetSurfaceSkeleton.module.scss\";\n\nexport interface WidgetSurfaceSkeletonProps {\n /** The widget's title — known before the data, so it is real text, never a skeleton. */\n title?: ReactNode;\n rowCount?: number;\n level?: WidgetSurfaceLevel;\n testId?: string;\n}\n\n/** The loading state shaped like the surface it stands for: the same surface, the title, then row-shaped blocks. */\nexport const WidgetSurfaceSkeleton = (props: WidgetSurfaceSkeletonProps) => {\n const { title, rowCount = 3, level = \"elevated\", testId } = props;\n return (\n <WidgetSurface level={level} testId={testId}>\n {title ? (\n <Text role=\"intro\" weight=\"bold\" translate={false}>\n {title}\n </Text>\n ) : null}\n <div className={styles.rows} aria-busy=\"true\">\n {Array.from({ length: rowCount }, (unused, rowIndex) => (\n <div key={rowIndex} className={styles.row}>\n <SkeletonCircle size={32} />\n <span className={styles.rowText}>\n <SkeletonLine width=\"60%\" height={12} />\n <SkeletonLine width=\"35%\" height={10} />\n </span>\n </div>\n ))}\n </div>\n </WidgetSurface>\n );\n};\n"],"names":["trailing","styles"],"mappings":";;;;;;;;;;;;;;;;AAkBO,MAAM,gBAAgB,CAAC,UAA8B;AAC1D,QAAM,EAAE,OAAO,MAAM,SAAS,UAAAA,WAAU,SAAS,WAAW,WAAW;AACvE,QAAM,eAAe;AAAA,IACnBC,SAAO;AAAA,IACP,YAAY,UAAaA,SAAO;AAAA,IAChC,WAAWA,SAAO;AAAA,IAClB;AAAA,EAAA;AAEF,QAAM,UACJ,qBAAA,UAAA,EACG,UAAA;AAAA,IAAA;AAAA,IACD,qBAAC,QAAA,EAAK,WAAWA,SAAO,MACtB,UAAA;AAAA,MAAA,oBAAC,QAAK,MAAK,QAAO,QAAO,QAAO,WAAW,OACxC,UAAA,MAAA,CACH;AAAA,MACC,OACC,oBAAC,MAAA,EAAK,MAAK,WAAU,OAAM,0BAAyB,WAAW,OAC5D,UAAA,KAAA,CACH,IACE;AAAA,IAAA,GACN;AAAA,IACCD,gCAAY,QAAA,EAAK,WAAWC,SAAO,UAAW,UAAAD,UAAA,CAAS,IAAU,oBAAC,QAAA,CAAA,CAAK;AAAA,EAAA,GAC1E;AAEF,MAAI,SAAS;AACX,WACE,oBAAC,YAAO,MAAK,UAAS,WAAW,cAAc,SAAkB,eAAa,QAC3E,UAAA,QAAA,CACH;AAAA,EAEJ;AACA,6BACG,OAAA,EAAI,WAAW,cAAc,eAAa,QACxC,UAAA,SACH;AAEJ;AC5CO,MAAM,mBAAmB,CAAC,UAAiC,oBAAC,YAAA,EAAY,GAAG,MAAA,CAAO;;;;;;;;;ACKlF,MAAM,wBAAwB,CAAC,UAAsC;AAC1E,QAAM,EAAE,OAAO,WAAW,GAAG,QAAQ,YAAY,WAAW;AAC5D,SACE,qBAAC,eAAA,EAAc,OAAc,QAC1B,UAAA;AAAA,IAAA,QACC,oBAAC,QAAK,MAAK,SAAQ,QAAO,QAAO,WAAW,OACzC,UAAA,MAAA,CACH,IACE;AAAA,IACJ,oBAAC,SAAI,WAAW,OAAO,MAAM,aAAU,QACpC,gBAAM,KAAK,EAAE,QAAQ,YAAY,CAAC,QAAQ,kCACxC,OAAA,EAAmB,WAAW,OAAO,KACpC,UAAA;AAAA,MAAA,oBAAC,gBAAA,EAAe,MAAM,GAAA,CAAI;AAAA,MAC1B,qBAAC,QAAA,EAAK,WAAW,OAAO,SACtB,UAAA;AAAA,QAAA,oBAAC,cAAA,EAAa,OAAM,OAAM,QAAQ,IAAI;AAAA,QACtC,oBAAC,cAAA,EAAa,OAAM,OAAM,QAAQ,GAAA,CAAI;AAAA,MAAA,EAAA,CACxC;AAAA,IAAA,EAAA,GALQ,QAMV,CACD,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,150 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mgamadeus/ddd-agents",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.0-alpha.21",
|
|
4
|
+
"description": "The web frontend of the ddd-agents module: the agent chat, the widget renderer and the composed-view kit.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ddd",
|
|
7
|
+
"mgamadeus",
|
|
8
|
+
"agents",
|
|
9
|
+
"react"
|
|
10
|
+
],
|
|
11
|
+
"homepage": "https://github.com/ddd-framework/ddd-agents/tree/main/web#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/ddd-framework/ddd-agents/issues"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/ddd-framework/ddd-agents.git",
|
|
18
|
+
"directory": "web"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "Marius-Eugen Gerdan <marius@gerdan.net>",
|
|
22
|
+
"type": "module",
|
|
23
|
+
"sideEffects": [
|
|
24
|
+
"**/*.css",
|
|
25
|
+
"./dist/index.js",
|
|
26
|
+
"./dist/renderer.js",
|
|
27
|
+
"./dist/kit.js",
|
|
28
|
+
"./dist/widgets.js",
|
|
29
|
+
"./dist/chat.js",
|
|
30
|
+
"./dist/preview.js",
|
|
31
|
+
"./dist/image-render.js",
|
|
32
|
+
"./dist/chunks/*.js"
|
|
33
|
+
],
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/types/entries/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./renderer": {
|
|
40
|
+
"types": "./dist/types/entries/renderer.d.ts",
|
|
41
|
+
"import": "./dist/renderer.js"
|
|
42
|
+
},
|
|
43
|
+
"./kit": {
|
|
44
|
+
"types": "./dist/types/entries/kit.d.ts",
|
|
45
|
+
"import": "./dist/kit.js"
|
|
46
|
+
},
|
|
47
|
+
"./widgets": {
|
|
48
|
+
"types": "./dist/types/entries/widgets.d.ts",
|
|
49
|
+
"import": "./dist/widgets.js"
|
|
50
|
+
},
|
|
51
|
+
"./contract": {
|
|
52
|
+
"types": "./dist/types/entries/contract.d.ts",
|
|
53
|
+
"import": "./dist/contract.js"
|
|
54
|
+
},
|
|
55
|
+
"./client": {
|
|
56
|
+
"types": "./dist/types/entries/client.d.ts",
|
|
57
|
+
"import": "./dist/client.js"
|
|
58
|
+
},
|
|
59
|
+
"./client/testing": {
|
|
60
|
+
"types": "./dist/types/entries/client-testing.d.ts",
|
|
61
|
+
"import": "./dist/client-testing.js"
|
|
62
|
+
},
|
|
63
|
+
"./chat": {
|
|
64
|
+
"types": "./dist/types/entries/chat.d.ts",
|
|
65
|
+
"import": "./dist/chat.js"
|
|
66
|
+
},
|
|
67
|
+
"./preview": {
|
|
68
|
+
"types": "./dist/types/entries/preview.d.ts",
|
|
69
|
+
"import": "./dist/preview.js"
|
|
70
|
+
},
|
|
71
|
+
"./image-render": {
|
|
72
|
+
"types": "./dist/types/entries/image-render.d.ts",
|
|
73
|
+
"import": "./dist/image-render.js"
|
|
74
|
+
},
|
|
75
|
+
"./styles.css": "./dist/styles.css",
|
|
76
|
+
"./package.json": "./package.json"
|
|
77
|
+
},
|
|
78
|
+
"files": [
|
|
79
|
+
"dist",
|
|
80
|
+
"README.md",
|
|
81
|
+
"LICENSE"
|
|
82
|
+
],
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=20"
|
|
85
|
+
},
|
|
86
|
+
"peerDependencies": {
|
|
87
|
+
"@types/google.maps": "^3.55.0",
|
|
88
|
+
"apexcharts": "^3.35.0",
|
|
89
|
+
"axios": "^0.28.0",
|
|
90
|
+
"dompurify": "^3.4.0",
|
|
91
|
+
"highlight.js": "^11.12.0",
|
|
92
|
+
"katex": "^0.19.0",
|
|
93
|
+
"mermaid": "^12.2.0",
|
|
94
|
+
"react": "^19.2.0",
|
|
95
|
+
"react-apexcharts": "^1.4.0",
|
|
96
|
+
"react-dom": "^19.2.0",
|
|
97
|
+
"react-markdown": "^10.1.0",
|
|
98
|
+
"remark-directive": "^4.0.0",
|
|
99
|
+
"remark-gfm": "^4.0.1",
|
|
100
|
+
"remark-parse": "^11.0.0",
|
|
101
|
+
"unified": "^11.0.5",
|
|
102
|
+
"unist-util-visit": "^5.0.0"
|
|
103
|
+
},
|
|
104
|
+
"peerDependenciesMeta": {
|
|
105
|
+
"axios": {
|
|
106
|
+
"optional": true
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"devDependencies": {
|
|
110
|
+
"@reduxjs/toolkit": "1.9.7",
|
|
111
|
+
"@testing-library/dom": "10.4.0",
|
|
112
|
+
"@testing-library/jest-dom": "6.9.1",
|
|
113
|
+
"@testing-library/react": "16.3.0",
|
|
114
|
+
"@types/google.maps": "^3.55.0",
|
|
115
|
+
"@types/node": "22.10.0",
|
|
116
|
+
"@types/react": "19.2.0",
|
|
117
|
+
"@types/react-dom": "19.2.0",
|
|
118
|
+
"apexcharts": "^3.35.0",
|
|
119
|
+
"axios": "^0.28.0",
|
|
120
|
+
"dompurify": "^3.4.0",
|
|
121
|
+
"highlight.js": "^11.12.0",
|
|
122
|
+
"jsdom": "29.1.1",
|
|
123
|
+
"katex": "^0.19.0",
|
|
124
|
+
"mdast-util-directive": "3.1.0",
|
|
125
|
+
"mermaid": "^12.2.0",
|
|
126
|
+
"react": "^19.2.0",
|
|
127
|
+
"react-apexcharts": "^1.4.0",
|
|
128
|
+
"react-dom": "^19.2.0",
|
|
129
|
+
"react-markdown": "^10.1.0",
|
|
130
|
+
"react-redux": "9.2.0",
|
|
131
|
+
"remark-directive": "^4.0.0",
|
|
132
|
+
"remark-gfm": "^4.0.1",
|
|
133
|
+
"remark-parse": "^11.0.0",
|
|
134
|
+
"sass": "1.79.6",
|
|
135
|
+
"typescript": "7.0.2",
|
|
136
|
+
"unified": "^11.0.5",
|
|
137
|
+
"unist-util-visit": "^5.0.0",
|
|
138
|
+
"vite": "7.3.1",
|
|
139
|
+
"vitest": "4.1.9"
|
|
140
|
+
},
|
|
141
|
+
"publishConfig": {
|
|
142
|
+
"access": "public"
|
|
143
|
+
},
|
|
144
|
+
"scripts": {
|
|
145
|
+
"build": "node scripts/clean.mjs && vite build && tsc -p tsconfig.build.json && node scripts/check-package.mjs .",
|
|
146
|
+
"check-package": "node scripts/check-package.mjs .",
|
|
147
|
+
"test": "vitest run",
|
|
148
|
+
"typecheck": "tsc -p tsconfig.build.json --noEmit --declaration false --emitDeclarationOnly false"
|
|
149
|
+
}
|
|
6
150
|
}
|