@runtypelabs/persona 4.10.1 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/animations/glyph-cycle.d.cts +1 -1
  2. package/dist/animations/glyph-cycle.d.ts +1 -1
  3. package/dist/animations/{types-Bx_rvjff.d.cts → types-DveIaNx6.d.cts} +2 -0
  4. package/dist/animations/{types-Bx_rvjff.d.ts → types-DveIaNx6.d.ts} +2 -0
  5. package/dist/animations/wipe.d.cts +1 -1
  6. package/dist/animations/wipe.d.ts +1 -1
  7. package/dist/chunk-MMUPR2JW.js +1 -0
  8. package/dist/codegen.cjs +1 -1
  9. package/dist/codegen.js +1 -1
  10. package/dist/{context-mentions-7S5KVUTG.js → context-mentions-ONG7A7M6.js} +1 -1
  11. package/dist/context-mentions.d.cts +26 -0
  12. package/dist/context-mentions.d.ts +26 -0
  13. package/dist/index.cjs +67 -67
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.cts +27 -1
  16. package/dist/index.d.ts +27 -1
  17. package/dist/index.global.js +55 -55
  18. package/dist/index.global.js.map +1 -1
  19. package/dist/index.js +78 -78
  20. package/dist/index.js.map +1 -1
  21. package/dist/smart-dom-reader.d.cts +26 -0
  22. package/dist/smart-dom-reader.d.ts +26 -0
  23. package/dist/theme-editor-preview.cjs +66 -66
  24. package/dist/theme-editor-preview.d.cts +26 -0
  25. package/dist/theme-editor-preview.d.ts +26 -0
  26. package/dist/theme-editor-preview.js +55 -55
  27. package/dist/theme-editor.cjs +5 -5
  28. package/dist/theme-editor.d.cts +26 -0
  29. package/dist/theme-editor.d.ts +26 -0
  30. package/dist/theme-editor.js +9 -9
  31. package/dist/widget.css +1 -1
  32. package/package.json +1 -1
  33. package/src/components/approval-bubble.ts +0 -1
  34. package/src/components/composer-parts.ts +19 -19
  35. package/src/components/context-mention-button.test.ts +5 -1
  36. package/src/components/context-mention-button.ts +6 -4
  37. package/src/components/header-builder.test.ts +3 -3
  38. package/src/components/header-parts.ts +14 -108
  39. package/src/components/message-bubble.test.ts +49 -0
  40. package/src/components/message-bubble.ts +8 -7
  41. package/src/components/reasoning-bubble.ts +0 -2
  42. package/src/components/tool-bubble.ts +0 -2
  43. package/src/generated/runtype-openapi-contract.ts +2 -0
  44. package/src/index-core.ts +1 -0
  45. package/src/styles/widget.css +118 -58
  46. package/src/theme-editor/sections.test.ts +33 -0
  47. package/src/theme-editor/sections.ts +10 -1
  48. package/src/types.ts +25 -0
  49. package/src/ui.attachments-drop.test.ts +2 -1
  50. package/src/ui.message-width.test.ts +407 -0
  51. package/src/ui.ts +145 -238
  52. package/src/utils/table-scroll-fade.test.ts +123 -0
  53. package/src/utils/table-scroll-fade.ts +75 -0
  54. package/src/utils/tooltip.test.ts +226 -0
  55. package/src/utils/tooltip.ts +245 -0
  56. package/dist/chunk-IPVK3KOM.js +0 -1
@@ -864,6 +864,7 @@ type RuntypeExecutionStreamEvent = ({
864
864
  input: number;
865
865
  output: number;
866
866
  };
867
+ totalTokensUsed?: number;
867
868
  type: "execution_complete";
868
869
  }) | ({
869
870
  blockReason?: string;
@@ -1123,6 +1124,7 @@ type RuntypeExecutionStreamEvent = ({
1123
1124
  stepId?: string;
1124
1125
  success: boolean;
1125
1126
  toolCallId: string;
1127
+ toolCost?: number;
1126
1128
  toolName?: string;
1127
1129
  type: "tool_complete";
1128
1130
  } | {
@@ -4924,6 +4926,26 @@ type AgentWidgetTimestampConfig = {
4924
4926
  /** Custom formatter for timestamp display */
4925
4927
  format?: (date: Date) => string;
4926
4928
  };
4929
+ /**
4930
+ * Width configuration for one message role.
4931
+ *
4932
+ * `content` shrink-wraps the rendered message up to `maxWidth`; `full` fills
4933
+ * the available transcript track up to `maxWidth`. The track already accounts
4934
+ * for transcript padding and, when present, the avatar and its gap.
4935
+ */
4936
+ type AgentWidgetMessageRoleLayout = {
4937
+ /**
4938
+ * Message width behavior.
4939
+ * - content: size to the rendered content (the backward-compatible default)
4940
+ * - full: fill the available transcript track
4941
+ */
4942
+ width?: "content" | "full";
4943
+ /**
4944
+ * Optional CSS max-width (for example "80%", "42rem", or "72ch").
4945
+ * Defaults to "85%" for content width and "100%" for full width.
4946
+ */
4947
+ maxWidth?: string;
4948
+ };
4927
4949
  /**
4928
4950
  * Message layout configuration
4929
4951
  * Allows customization of how chat messages are displayed
@@ -4942,6 +4964,10 @@ type AgentWidgetMessageLayoutConfig = {
4942
4964
  timestamp?: AgentWidgetTimestampConfig;
4943
4965
  /** Group consecutive messages from the same role */
4944
4966
  groupConsecutive?: boolean;
4967
+ /** Width behavior for user-authored message rows */
4968
+ user?: AgentWidgetMessageRoleLayout;
4969
+ /** Width behavior for assistant-authored message rows and assistant UI variants */
4970
+ assistant?: AgentWidgetMessageRoleLayout;
4945
4971
  /**
4946
4972
  * Custom renderer for user messages
4947
4973
  * When provided, replaces the default user message rendering
@@ -864,6 +864,7 @@ type RuntypeExecutionStreamEvent = ({
864
864
  input: number;
865
865
  output: number;
866
866
  };
867
+ totalTokensUsed?: number;
867
868
  type: "execution_complete";
868
869
  }) | ({
869
870
  blockReason?: string;
@@ -1123,6 +1124,7 @@ type RuntypeExecutionStreamEvent = ({
1123
1124
  stepId?: string;
1124
1125
  success: boolean;
1125
1126
  toolCallId: string;
1127
+ toolCost?: number;
1126
1128
  toolName?: string;
1127
1129
  type: "tool_complete";
1128
1130
  } | {
@@ -4924,6 +4926,26 @@ type AgentWidgetTimestampConfig = {
4924
4926
  /** Custom formatter for timestamp display */
4925
4927
  format?: (date: Date) => string;
4926
4928
  };
4929
+ /**
4930
+ * Width configuration for one message role.
4931
+ *
4932
+ * `content` shrink-wraps the rendered message up to `maxWidth`; `full` fills
4933
+ * the available transcript track up to `maxWidth`. The track already accounts
4934
+ * for transcript padding and, when present, the avatar and its gap.
4935
+ */
4936
+ type AgentWidgetMessageRoleLayout = {
4937
+ /**
4938
+ * Message width behavior.
4939
+ * - content: size to the rendered content (the backward-compatible default)
4940
+ * - full: fill the available transcript track
4941
+ */
4942
+ width?: "content" | "full";
4943
+ /**
4944
+ * Optional CSS max-width (for example "80%", "42rem", or "72ch").
4945
+ * Defaults to "85%" for content width and "100%" for full width.
4946
+ */
4947
+ maxWidth?: string;
4948
+ };
4927
4949
  /**
4928
4950
  * Message layout configuration
4929
4951
  * Allows customization of how chat messages are displayed
@@ -4942,6 +4964,10 @@ type AgentWidgetMessageLayoutConfig = {
4942
4964
  timestamp?: AgentWidgetTimestampConfig;
4943
4965
  /** Group consecutive messages from the same role */
4944
4966
  groupConsecutive?: boolean;
4967
+ /** Width behavior for user-authored message rows */
4968
+ user?: AgentWidgetMessageRoleLayout;
4969
+ /** Width behavior for assistant-authored message rows and assistant UI variants */
4970
+ assistant?: AgentWidgetMessageRoleLayout;
4945
4971
  /**
4946
4972
  * Custom renderer for user messages
4947
4973
  * When provided, replaces the default user message rendering