@openviking/react 0.1.3 → 0.1.5

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 (209) hide show
  1. package/LICENSE.arco-design +21 -0
  2. package/README.md +27 -15
  3. package/dist/0~0.js +19 -0
  4. package/dist/28~0.js +15 -0
  5. package/dist/2~0.js +2270 -29
  6. package/dist/2~0.js.LICENSE.txt +23 -0
  7. package/dist/3c~0.js +2208 -0
  8. package/dist/3~0.js +1207 -1982
  9. package/dist/4~0.js +18 -0
  10. package/dist/9~0.js +43 -0
  11. package/dist/{1~0.js → ae~0.js} +11 -26
  12. package/dist/ark-message-list-view~0.js +530 -119
  13. package/dist/a~0.js +1300 -14
  14. package/dist/c7~0.js +38 -2
  15. package/dist/ck~0.js +23 -0
  16. package/dist/client/provider.d.ts +15 -9
  17. package/dist/client/types.d.ts +5 -5
  18. package/dist/client.js +2 -1
  19. package/dist/components/agent-connect/agent-connect-code-block.d.ts +14 -0
  20. package/dist/components/agent-connect/agent-connect-copy.d.ts +22 -33
  21. package/dist/components/agent-connect/agent-connect-design.d.ts +1936 -168
  22. package/dist/components/agent-connect/agent-connect-installer.d.ts +1 -0
  23. package/dist/components/agent-connect/agent-connect-instructions-view.d.ts +4 -6
  24. package/dist/components/agent-connect/agent-connect-instructions.d.ts +148 -0
  25. package/dist/components/agent-connect/agent-connect-markdown.d.ts +8 -2
  26. package/dist/components/agent-connect/agent-connect-mask.d.ts +10 -0
  27. package/dist/components/agent-connect/agent-connect.d.ts +1 -1
  28. package/dist/components/agent-connect/locales/en-US.d.ts +23 -0
  29. package/dist/components/agent-connect/locales/zh-CN.d.ts +3 -0
  30. package/dist/components/agent-connect/style.css +129 -3
  31. package/dist/components/agent-connect/types.d.ts +7 -4
  32. package/dist/components/agent-connect/use-agent-connect-copy.d.ts +6 -0
  33. package/dist/components/directory-tour/directory-tour.d.ts +3 -0
  34. package/dist/components/directory-tour/index.d.ts +3 -0
  35. package/dist/components/directory-tour/locales/en-US.d.ts +3 -0
  36. package/dist/components/directory-tour/locales/zh-CN.d.ts +3 -0
  37. package/dist/components/directory-tour/steps.d.ts +5 -0
  38. package/dist/components/directory-tour/style.css +237 -0
  39. package/dist/components/directory-tour/style.js +0 -0
  40. package/dist/components/directory-tour/types.d.ts +43 -0
  41. package/dist/components/directory-tour/use-tour-anchor.d.ts +5 -0
  42. package/dist/components/directory-tour/use-tour-position.d.ts +12 -0
  43. package/dist/components/directory-tour.js +40 -0
  44. package/dist/components/file-browser-entries/file-browser-entries.d.ts +5 -5
  45. package/dist/components/file-browser-entries/labels.d.ts +3 -0
  46. package/dist/components/file-browser-entries/locales/en-US.d.ts +6 -0
  47. package/dist/components/file-browser-entries/locales/zh-CN.d.ts +6 -0
  48. package/dist/components/file-browser-entries/style.css +866 -2
  49. package/dist/components/file-browser-entries/types.d.ts +34 -16
  50. package/dist/components/file-preview/file-preview-adapters.d.ts +2 -1
  51. package/dist/components/file-preview/file-preview-body.d.ts +2 -1
  52. package/dist/components/file-preview/file-preview-breadcrumb-menu.d.ts +2 -1
  53. package/dist/components/file-preview/file-preview-breadcrumb.d.ts +2 -1
  54. package/dist/components/file-preview/file-preview-directory.d.ts +2 -1
  55. package/dist/components/file-preview/file-preview-handle-adapters.d.ts +2 -1
  56. package/dist/components/file-preview/file-preview-header.d.ts +6 -2
  57. package/dist/components/file-preview/file-preview-image-frame.d.ts +5 -0
  58. package/dist/components/file-preview/file-preview-labels.d.ts +2 -14
  59. package/dist/components/file-preview/file-preview-level-tabs.d.ts +7 -0
  60. package/dist/components/file-preview/file-preview-markdown-images.d.ts +13 -0
  61. package/dist/components/file-preview/file-preview-panels.d.ts +5 -2
  62. package/dist/components/file-preview/file-preview-viewer.d.ts +2 -1
  63. package/dist/components/file-preview/file-preview.d.ts +0 -1
  64. package/dist/components/file-preview/index.d.ts +2 -1
  65. package/dist/components/file-preview/locales/en-US.d.ts +16 -0
  66. package/dist/components/file-preview/locales/zh-CN.d.ts +16 -0
  67. package/dist/components/file-preview/style.css +160 -2
  68. package/dist/components/file-preview/types.d.ts +34 -10
  69. package/dist/components/file-preview/use-file-preview-levels.d.ts +7 -0
  70. package/dist/components/file-preview/use-file-preview-view-state.d.ts +15 -0
  71. package/dist/components/file-preview.js +1 -1
  72. package/dist/components/file-tree/file-tree-info-labels.d.ts +0 -15
  73. package/dist/components/file-tree/file-tree-labels.d.ts +4 -0
  74. package/dist/components/file-tree/file-tree-row-shared.d.ts +2 -12
  75. package/dist/components/file-tree/file-tree-toolbar.d.ts +11 -0
  76. package/dist/components/file-tree/locales/en-US.d.ts +69 -0
  77. package/dist/components/file-tree/locales/zh-CN.d.ts +69 -0
  78. package/dist/components/file-tree/style.css +143 -15
  79. package/dist/components/file-tree/types.d.ts +38 -10
  80. package/dist/components/file-tree/use-file-tree-actions.d.ts +4 -1
  81. package/dist/components/scope-switcher/labels.d.ts +3 -0
  82. package/dist/components/scope-switcher/locales/en-US.d.ts +8 -0
  83. package/dist/components/scope-switcher/locales/zh-CN.d.ts +8 -0
  84. package/dist/components/scope-switcher/scope-panel.d.ts +1 -1
  85. package/dist/components/scope-switcher/scope-switcher.d.ts +2 -2
  86. package/dist/components/scope-switcher/style.css +14 -2
  87. package/dist/components/scope-switcher/types.d.ts +12 -6
  88. package/dist/components/style.css +10030 -6763
  89. package/dist/components/tui/locales/en-US.d.ts +35 -0
  90. package/dist/components/tui/locales/zh-CN.d.ts +35 -0
  91. package/dist/components/tui/style.css +310 -18
  92. package/dist/components/tui/tui-copy-button.d.ts +1 -1
  93. package/dist/components/tui/tui-empty.d.ts +25 -0
  94. package/dist/components/tui/tui-labels.d.ts +2 -2
  95. package/dist/components/tui/tui.d.ts +1 -1
  96. package/dist/components/tui/types.d.ts +35 -12
  97. package/dist/components/tui.js +1 -1
  98. package/dist/components/viking-bot/ark-adapter.d.ts +2 -0
  99. package/dist/components/viking-bot/ark-message-body.d.ts +1 -7
  100. package/dist/components/viking-bot/ark-message-list-view.d.ts +4 -1
  101. package/dist/components/viking-bot/ark-message-row.d.ts +3 -1
  102. package/dist/components/viking-bot/bot-popover.d.ts +9 -0
  103. package/dist/components/viking-bot/capabilities.d.ts +49 -0
  104. package/dist/components/viking-bot/composer-attachments.d.ts +13 -0
  105. package/dist/components/viking-bot/composer-controls.d.ts +10 -0
  106. package/dist/components/viking-bot/composer-footer.d.ts +17 -0
  107. package/dist/components/viking-bot/composer-references.d.ts +20 -0
  108. package/dist/components/viking-bot/composer-text.d.ts +10 -0
  109. package/dist/components/viking-bot/index.d.ts +3 -1
  110. package/dist/components/viking-bot/interaction/ask-human-fields.d.ts +1 -1
  111. package/dist/components/viking-bot/interaction/labels.d.ts +2 -1
  112. package/dist/components/viking-bot/interaction/locales/en-US.d.ts +17 -0
  113. package/dist/components/viking-bot/interaction/locales/zh-CN.d.ts +17 -0
  114. package/dist/components/viking-bot/interaction/types.d.ts +8 -3
  115. package/dist/components/viking-bot/interaction/viking-bot-interaction.d.ts +1 -1
  116. package/dist/components/viking-bot/labels.d.ts +2 -0
  117. package/dist/components/viking-bot/locales/en-US.d.ts +40 -0
  118. package/dist/components/viking-bot/locales/zh-CN.d.ts +40 -0
  119. package/dist/components/viking-bot/markdown-links.d.ts +27 -0
  120. package/dist/components/viking-bot/message-activity.d.ts +7 -0
  121. package/dist/components/viking-bot/message-code-block.d.ts +8 -0
  122. package/dist/components/viking-bot/message-footer.d.ts +8 -0
  123. package/dist/components/viking-bot/message-markdown.d.ts +9 -0
  124. package/dist/components/viking-bot/model.d.ts +37 -3
  125. package/dist/components/viking-bot/quick-input-tracker.d.ts +16 -0
  126. package/dist/components/viking-bot/quick-inputs.d.ts +6 -0
  127. package/dist/components/viking-bot/reference-picker.d.ts +16 -0
  128. package/dist/components/viking-bot/session-actions.d.ts +11 -0
  129. package/dist/components/viking-bot/style.css +1486 -48
  130. package/dist/components/viking-bot/tool-activity.d.ts +9 -0
  131. package/dist/components/viking-bot/tool-result-links.d.ts +6 -0
  132. package/dist/components/viking-bot/types.d.ts +20 -8
  133. package/dist/components/viking-bot/use-quick-input.d.ts +17 -0
  134. package/dist/components/viking-bot/viking-bot.d.ts +1 -6
  135. package/dist/components/viking-bot/welcome.d.ts +8 -0
  136. package/dist/components/viking-bot.js +1 -1
  137. package/dist/c~0.js +550 -69
  138. package/dist/e~0.js +335 -0
  139. package/dist/file-preview-viewer~0.js +90 -8
  140. package/dist/f~0.js +49 -51
  141. package/dist/h~0.js +5 -1
  142. package/dist/icons/console-icons.d.ts +12 -0
  143. package/dist/icons/index.d.ts +2 -0
  144. package/dist/icons/viking-bot-icons.d.ts +6 -0
  145. package/dist/icons.js +1 -0
  146. package/dist/index.d.ts +2 -0
  147. package/dist/index.js +2 -1
  148. package/dist/k~0.js +1 -0
  149. package/dist/lg~0.js +155 -0
  150. package/dist/lk~0.js +40 -8
  151. package/dist/l~0.js +170 -181
  152. package/dist/modules/console/command-messages.d.ts +19 -0
  153. package/dist/modules/console/command-parser.d.ts +15 -0
  154. package/dist/modules/console/command-specs.d.ts +15 -0
  155. package/dist/modules/console/commands.d.ts +6 -0
  156. package/dist/modules/console/console-history.d.ts +10 -0
  157. package/dist/modules/console/console-toolbar.d.ts +18 -0
  158. package/dist/modules/console/console.d.ts +1 -3
  159. package/dist/modules/console/controller.d.ts +17 -0
  160. package/dist/modules/console/index.d.ts +2 -0
  161. package/dist/modules/console/labels.d.ts +61 -0
  162. package/dist/modules/console/locales/en-US.d.ts +49 -0
  163. package/dist/modules/console/locales/zh-CN.d.ts +3 -0
  164. package/dist/modules/console/localize-records.d.ts +11 -0
  165. package/dist/modules/console/results.d.ts +2 -0
  166. package/dist/modules/console/style.css +10905 -15
  167. package/dist/modules/console/types.d.ts +59 -80
  168. package/dist/modules/console/use-console.d.ts +3 -0
  169. package/dist/modules/console.js +1 -1
  170. package/dist/modules/file-browser/file-browser-detail.d.ts +2 -1
  171. package/dist/modules/file-browser/file-browser-labels.d.ts +11 -12
  172. package/dist/modules/file-browser/file-browser-toolbar.d.ts +3 -4
  173. package/dist/modules/file-browser/file-browser-tree-pane.d.ts +7 -5
  174. package/dist/modules/file-browser/file-browser.d.ts +1 -1
  175. package/dist/modules/file-browser/fs-read-directory.d.ts +2 -6
  176. package/dist/modules/file-browser/locales/en-US.d.ts +25 -0
  177. package/dist/modules/file-browser/locales/zh-CN.d.ts +25 -0
  178. package/dist/modules/file-browser/style.css +1695 -126
  179. package/dist/modules/file-browser/types.d.ts +38 -29
  180. package/dist/modules/file-browser/use-file-browser.d.ts +6 -1
  181. package/dist/modules/file-browser/use-fs-preview.d.ts +15 -1
  182. package/dist/modules/scope-cascade/labels.d.ts +6 -0
  183. package/dist/modules/scope-cascade/locales/en-US.d.ts +6 -0
  184. package/dist/modules/scope-cascade/locales/zh-CN.d.ts +3 -0
  185. package/dist/modules/scope-cascade/scope-cascade.d.ts +2 -2
  186. package/dist/modules/scope-cascade/style.css +14 -2
  187. package/dist/modules/scope-cascade/types.d.ts +3 -0
  188. package/dist/modules/style.css +15938 -3455
  189. package/dist/nx~0.js +15 -0
  190. package/dist/n~0.js +240 -83
  191. package/dist/o~0.js +10 -7
  192. package/dist/p~0.js +27 -0
  193. package/dist/rslib-runtime~0.js +42 -0
  194. package/dist/r~0.js +152 -0
  195. package/dist/shared/components/drawer/drawer.d.ts +13 -0
  196. package/dist/shared/components/drawer/index.d.ts +1 -0
  197. package/dist/shared/components/overlay/use-overlay-position.d.ts +2 -2
  198. package/dist/shared/components/tooltip/use-portal-theme.d.ts +3 -0
  199. package/dist/shared/locale-context.d.ts +8 -0
  200. package/dist/shared/locale.d.ts +6 -0
  201. package/dist/style.css +26339 -10577
  202. package/dist/u~0.js +397 -152
  203. package/dist/viking-bot-composer~0.js +436 -77
  204. package/dist/viking-bot-interaction~0.js +13 -11
  205. package/package.json +15 -4
  206. package/dist/30~0.js +0 -1332
  207. package/dist/components/tui/tui-labels-zh.d.ts +0 -2
  208. package/dist/modules/file-browser/tree-info-copy.d.ts +0 -15
  209. package/dist/modules/file-browser/tree-info-copy.zh-CN.d.ts +0 -15
@@ -0,0 +1,35 @@
1
+ declare const messages: {
2
+ placeholder: string;
3
+ unavailableMessage: string;
4
+ send: string;
5
+ allCommands: string;
6
+ historyCommands: string;
7
+ suggestions: string;
8
+ noSuggestions: string;
9
+ pending: string;
10
+ success: string;
11
+ error: string;
12
+ copy: string;
13
+ copied: string;
14
+ emptyTitle: string;
15
+ emptyDescription: string;
16
+ quickStart: string;
17
+ noResult: string;
18
+ justNow: string;
19
+ formatMinutesAgo: (minutes: number) => string;
20
+ formatHoursAgo: (hours: number) => string;
21
+ availableCommands: string;
22
+ helpHint: string;
23
+ parameters: string;
24
+ examples: string;
25
+ noParameters: string;
26
+ loadMore: string;
27
+ resource: string;
28
+ parameter: string;
29
+ required: string;
30
+ description: string;
31
+ defaultValue: string;
32
+ yes: string;
33
+ no: string;
34
+ };
35
+ export default messages;
@@ -0,0 +1,35 @@
1
+ declare const messages: {
2
+ placeholder: string;
3
+ unavailableMessage: string;
4
+ send: string;
5
+ allCommands: string;
6
+ historyCommands: string;
7
+ suggestions: string;
8
+ noSuggestions: string;
9
+ pending: string;
10
+ success: string;
11
+ error: string;
12
+ copy: string;
13
+ copied: string;
14
+ emptyTitle: string;
15
+ emptyDescription: string;
16
+ quickStart: string;
17
+ noResult: string;
18
+ justNow: string;
19
+ formatMinutesAgo: (minutes: number) => string;
20
+ formatHoursAgo: (hours: number) => string;
21
+ availableCommands: string;
22
+ helpHint: string;
23
+ parameters: string;
24
+ examples: string;
25
+ noParameters: string;
26
+ loadMore: string;
27
+ resource: string;
28
+ parameter: string;
29
+ required: string;
30
+ description: string;
31
+ defaultValue: string;
32
+ yes: string;
33
+ no: string;
34
+ };
35
+ export default messages;
@@ -1,7 +1,11 @@
1
- .ov-agent-connect, .ov-divider, .ov-file-browser, .ov-file-browser-entries, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__interaction {
1
+ .ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
2
+ --ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
3
+ --ov-ui-tour-highlight-default: #5252ff14;
2
4
  --ov-ui-primary-default: #5252ff;
3
5
  --ov-ui-primary-hover-default: #7075ff;
4
6
  --ov-ui-primary-active-default: #3833d2;
7
+ --ov-ui-primary-disabled-default: #acb4ff;
8
+ --ov-ui-text-on-primary-default: #fff;
5
9
  --ov-ui-primary-light-default: #f5f7ff;
6
10
  --ov-ui-connect-glow-warm-default: #ff952b0a;
7
11
  --ov-ui-connect-glow-pink-default: #fb4fbc0f;
@@ -19,18 +23,21 @@
19
23
  --ov-ui-bg-3-default: #f7f8fd;
20
24
  --ov-ui-bg-4-default: #f6f7fa;
21
25
  --ov-ui-bg-5-default: #f1f2f9;
26
+ --ov-ui-code-bg-default: #fbfbfc;
22
27
  --ov-ui-status-success-default: #1f9d55;
23
28
  --ov-ui-shadow-default: #0f172a;
29
+ --ov-ui-shadow-control-default: #0000000d;
24
30
  --ov-ui-focus-default: #5252ff;
25
31
  --ov-ui-fill-hover-default: #f1f2f9;
26
32
  --ov-ui-status-error-default: #c43838;
27
33
  --ov-ui-warning-default: #b26a00;
28
34
  --ov-ui-warning-light-default: #fff0b3;
35
+ --ov-ui-overlay-default: #0006;
29
36
  --ov-ui-tooltip-bg-default: #1f2329;
30
37
  --ov-ui-tooltip-text-default: #fff;
31
38
  }
32
39
 
33
- .dark .ov-agent-connect, .dark .ov-divider, .dark .ov-file-browser, .dark .ov-file-browser-entries, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__interaction {
40
+ .dark .ov-directory-tour, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
34
41
  --ov-ui-primary-default: #5f5fff;
35
42
  --ov-ui-primary-hover-default: #7075ff;
36
43
  --ov-ui-primary-active-default: #4242ba;
@@ -56,9 +63,14 @@
56
63
  --ov-ui-warning-default: #e0a04a;
57
64
  --ov-ui-warning-light-default: #3a2f14;
58
65
  --ov-ui-tooltip-bg-default: #2a2d33;
66
+ --ov-ui-overlay-default: #000000a3;
59
67
  --ov-ui-tooltip-text-default: #f0f1f3;
60
68
  }
61
69
 
70
+ .dark .ov-viking-bot {
71
+ --ov-ui-code-bg-default: var(--ov-ui-bg-3-default);
72
+ }
73
+
62
74
  .ov-agent-connect {
63
75
  --ov-ui-connect-card-default: #fbfbfc;
64
76
  --ov-ui-connect-tabs-default: #f7f7f9;
@@ -79,6 +91,150 @@
79
91
  --ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
80
92
  }
81
93
 
94
+ .ov-directory-tour, .ov-agent-connect, .ov-console, .ov-divider, .ov-file-browser-entries, .ov-drawer, .ov-file-browser, .ov-file-preview, .ov-file-tree, .ov-module-placeholder, .ov-popover, .ov-scope-switcher, .ov-tooltip, .ov-tui, .ov-viking-bot, .ov-viking-bot__popover, .ov-viking-bot__reference-picker--mention, .ov-viking-bot__interaction {
95
+ --ov-ui-tour-shadow-default: 0 15px 35px #0000000d, 0 5px 15px #0000000d;
96
+ --ov-ui-tour-highlight-default: #5252ff14;
97
+ --ov-ui-primary-default: #5252ff;
98
+ --ov-ui-primary-hover-default: #7075ff;
99
+ --ov-ui-primary-active-default: #3833d2;
100
+ --ov-ui-primary-disabled-default: #acb4ff;
101
+ --ov-ui-text-on-primary-default: #fff;
102
+ --ov-ui-primary-light-default: #f5f7ff;
103
+ --ov-ui-connect-glow-warm-default: #ff952b0a;
104
+ --ov-ui-connect-glow-pink-default: #fb4fbc0f;
105
+ --ov-ui-connect-glow-pink-soft-default: #fb4fbc0a;
106
+ --ov-ui-on-primary-default: #fff;
107
+ --ov-ui-text-1-default: #0b0b0f;
108
+ --ov-ui-text-2-default: #3f3f51;
109
+ --ov-ui-text-3-default: #6e718c;
110
+ --ov-ui-text-description-default: #0006;
111
+ --ov-ui-text-disabled-default: #a5a7bb;
112
+ --ov-ui-border-1-default: #f0f2fa;
113
+ --ov-ui-border-2-default: #e1e4f2;
114
+ --ov-ui-border-3-default: #d7daea;
115
+ --ov-ui-bg-1-default: #fff;
116
+ --ov-ui-bg-3-default: #f7f8fd;
117
+ --ov-ui-bg-4-default: #f6f7fa;
118
+ --ov-ui-bg-5-default: #f1f2f9;
119
+ --ov-ui-code-bg-default: #fbfbfc;
120
+ --ov-ui-status-success-default: #1f9d55;
121
+ --ov-ui-shadow-default: #0f172a;
122
+ --ov-ui-shadow-control-default: #0000000d;
123
+ --ov-ui-focus-default: #5252ff;
124
+ --ov-ui-fill-hover-default: #f1f2f9;
125
+ --ov-ui-status-error-default: #c43838;
126
+ --ov-ui-warning-default: #b26a00;
127
+ --ov-ui-warning-light-default: #fff0b3;
128
+ --ov-ui-overlay-default: #0006;
129
+ --ov-ui-tooltip-bg-default: #1f2329;
130
+ --ov-ui-tooltip-text-default: #fff;
131
+ }
132
+
133
+ .dark .ov-directory-tour, .dark .ov-agent-connect, .dark .ov-console, .dark .ov-divider, .dark .ov-file-browser-entries, .dark .ov-drawer, .dark .ov-file-browser, .dark .ov-file-preview, .dark .ov-file-tree, .dark .ov-module-placeholder, .dark .ov-popover, .dark .ov-scope-switcher, .dark .ov-tooltip, .dark .ov-tui, .dark .ov-viking-bot, .dark .ov-viking-bot__popover, .dark .ov-viking-bot__reference-picker--mention, .dark .ov-viking-bot__interaction {
134
+ --ov-ui-primary-default: #5f5fff;
135
+ --ov-ui-primary-hover-default: #7075ff;
136
+ --ov-ui-primary-active-default: #4242ba;
137
+ --ov-ui-primary-light-default: #1a1632;
138
+ --ov-ui-connect-glow-warm-default: #ff952b05;
139
+ --ov-ui-connect-glow-pink-default: #fb4fbc08;
140
+ --ov-ui-connect-glow-pink-soft-default: #fb4fbc05;
141
+ --ov-ui-text-1-default: #c7ccd6;
142
+ --ov-ui-text-2-default: #9da3af;
143
+ --ov-ui-text-3-default: #737a87;
144
+ --ov-ui-text-description-default: #fff6;
145
+ --ov-ui-text-disabled-default: #42464e;
146
+ --ov-ui-border-1-default: #23252a;
147
+ --ov-ui-border-2-default: #2e3138;
148
+ --ov-ui-border-3-default: #3a3d45;
149
+ --ov-ui-bg-1-default: #131416;
150
+ --ov-ui-bg-3-default: #1b1d21;
151
+ --ov-ui-bg-4-default: #202227;
152
+ --ov-ui-bg-5-default: #23252a;
153
+ --ov-ui-focus-default: #5f5fff;
154
+ --ov-ui-fill-hover-default: #23252a;
155
+ --ov-ui-status-error-default: #ff9595;
156
+ --ov-ui-warning-default: #e0a04a;
157
+ --ov-ui-warning-light-default: #3a2f14;
158
+ --ov-ui-tooltip-bg-default: #2a2d33;
159
+ --ov-ui-overlay-default: #000000a3;
160
+ --ov-ui-tooltip-text-default: #f0f1f3;
161
+ }
162
+
163
+ .dark .ov-viking-bot {
164
+ --ov-ui-code-bg-default: var(--ov-ui-bg-3-default);
165
+ }
166
+
167
+ .ov-agent-connect {
168
+ --ov-ui-connect-card-default: #fbfbfc;
169
+ --ov-ui-connect-tabs-default: #f7f7f9;
170
+ --ov-ui-connect-selected-default: #f3f4f7;
171
+ --ov-ui-connect-border-default: #edeef2;
172
+ --ov-ui-connect-outline-default: #e1e3ea;
173
+ --ov-ui-connect-muted-default: #787c91;
174
+ --ov-ui-connect-notice-default: #2e2984;
175
+ }
176
+
177
+ .dark .ov-agent-connect {
178
+ --ov-ui-connect-card-default: var(--ov-ui-bg-3-default);
179
+ --ov-ui-connect-tabs-default: var(--ov-ui-bg-3-default);
180
+ --ov-ui-connect-selected-default: var(--ov-ui-bg-4-default);
181
+ --ov-ui-connect-border-default: var(--ov-ui-border-1-default);
182
+ --ov-ui-connect-outline-default: var(--ov-ui-border-2-default);
183
+ --ov-ui-connect-muted-default: var(--ov-ui-text-3-default);
184
+ --ov-ui-connect-notice-default: var(--ov-ui-text-2-default);
185
+ }
186
+
187
+ .ov-tooltip {
188
+ --ov-ui-tooltip-bg: var(--ov-ui-color-tooltip-bg, var(--ov-ui-tooltip-bg-default, #1f2329));
189
+ --ov-ui-tooltip-text: var(--ov-ui-color-tooltip-text, var(--ov-ui-tooltip-text-default, #fff));
190
+ --ov-ui-tooltip-border: transparent;
191
+ --ov-ui-tooltip-radius: var(--ov-ui-radius, 6px);
192
+ --ov-ui-tooltip-offset: 6px;
193
+ z-index: 1000;
194
+ box-sizing: border-box;
195
+ border: 1px solid var(--ov-ui-tooltip-border);
196
+ border-radius: var(--ov-ui-tooltip-radius);
197
+ background: var(--ov-ui-tooltip-bg);
198
+ max-width: 320px;
199
+ color: var(--ov-ui-tooltip-text);
200
+ overflow-wrap: break-word;
201
+ padding: 6px 8px;
202
+ font-family: inherit;
203
+ font-size: 12px;
204
+ line-height: 18px;
205
+ animation: .12s ease-out ov-tooltip-enter;
206
+ position: fixed;
207
+ box-shadow: 0 4px 12px #0000001f;
208
+ }
209
+
210
+ .ov-tooltip[role="dialog"] {
211
+ --ov-ui-tooltip-bg: var(--ov-ui-color-bg-1, var(--ov-ui-bg-1-default, #fff));
212
+ --ov-ui-tooltip-text: var(--ov-ui-color-text-1, var(--ov-ui-text-1-default, #0b0b0f));
213
+ --ov-ui-tooltip-border: var(--ov-ui-color-border-2, var(--ov-ui-border-2-default, #e1e4f2));
214
+ min-width: 120px;
215
+ max-width: 360px;
216
+ padding: 4px;
217
+ box-shadow: 0 6px 16px #0000001f;
218
+ }
219
+
220
+ @keyframes ov-tooltip-enter {
221
+ from {
222
+ opacity: 0;
223
+ }
224
+
225
+ to {
226
+ opacity: 1;
227
+ }
228
+ }
229
+
230
+ @media (prefers-reduced-motion: reduce) {
231
+ .ov-tooltip {
232
+ animation: none;
233
+ }
234
+ }
235
+
236
+
237
+
82
238
  .ov-tui {
83
239
  --ov-ui-tui-gap: 16px;
84
240
  --ov-ui-tui-text: var(--ov-ui-color-text-1, var(--ov-ui-text, var(--ov-ui-text-1-default)));
@@ -287,19 +443,23 @@
287
443
  }
288
444
 
289
445
  .ov-tui__copy {
290
- border: 1px solid var(--ov-ui-tui-card-border);
291
- color: var(--ov-ui-tui-muted);
292
- font: inherit;
446
+ box-sizing: border-box;
447
+ background: var(--ov-ui-tui-card-bg);
448
+ width: 32px;
449
+ height: 32px;
450
+ color: var(--ov-ui-color-text-2);
293
451
  cursor: pointer;
294
- background: none;
452
+ border: 0;
295
453
  border-radius: 6px;
296
454
  flex: none;
297
- padding: 2px 8px;
298
- font-size: 12px;
455
+ justify-content: center;
456
+ align-items: center;
457
+ padding: 0;
458
+ display: inline-flex;
299
459
  }
300
460
 
301
461
  .ov-tui__copy:hover {
302
- color: inherit;
462
+ color: var(--ov-ui-tui-text);
303
463
  background: var(--ov-ui-tui-hover);
304
464
  }
305
465
 
@@ -343,17 +503,11 @@
343
503
  }
344
504
 
345
505
  .ov-tui__copy--inline {
346
- opacity: 0;
347
- transition: opacity .12s;
348
506
  position: absolute;
349
507
  top: -2px;
350
508
  right: 0;
351
509
  }
352
510
 
353
- .ov-tui__code-block:hover .ov-tui__copy--inline, .ov-tui__copy--inline:focus-visible {
354
- opacity: 1;
355
- }
356
-
357
511
  .ov-tui__markdown {
358
512
  overflow-wrap: anywhere;
359
513
  min-width: 0;
@@ -443,6 +597,7 @@
443
597
  max-inline-size: 100%;
444
598
  font-family: var(--ov-ui-font-mono, "Roboto Mono", monospace);
445
599
  margin: 0;
600
+ padding-inline-end: 36px;
446
601
  font-size: 13px;
447
602
  line-height: 20px;
448
603
  overflow: auto;
@@ -883,7 +1038,7 @@
883
1038
 
884
1039
  .ov-tui__help {
885
1040
  flex-direction: column;
886
- gap: 12px;
1041
+ gap: 16px;
887
1042
  display: flex;
888
1043
  }
889
1044
 
@@ -901,7 +1056,7 @@
901
1056
 
902
1057
  .ov-tui__help-section {
903
1058
  flex-direction: column;
904
- gap: 6px;
1059
+ gap: 12px;
905
1060
  display: flex;
906
1061
  }
907
1062
 
@@ -913,7 +1068,7 @@
913
1068
 
914
1069
  .ov-tui__help-items {
915
1070
  flex-direction: column;
916
- gap: 2px;
1071
+ gap: 8px;
917
1072
  display: flex;
918
1073
  }
919
1074
 
@@ -1550,5 +1705,142 @@
1550
1705
  }
1551
1706
  }
1552
1707
 
1708
+ .ov-tui__empty--hero {
1709
+ inline-size: 100%;
1710
+ min-inline-size: 0;
1711
+ min-height: 0;
1712
+ color: var(--ov-ui-color-text-2, var(--ov-ui-text-2-default));
1713
+ text-align: start;
1714
+ align-self: stretch;
1715
+ padding: 32px 4px;
1716
+ display: block;
1717
+ }
1718
+
1719
+ .ov-tui__empty--hero .ov-tui__empty-title {
1720
+ font-family: var(--ov-ui-font-display, "Trebuchet MS", sans-serif);
1721
+ letter-spacing: .035em;
1722
+ align-items: center;
1723
+ margin: 0;
1724
+ font-size: clamp(1.5rem, 1.25rem + 2.5cqi, 2.25rem);
1725
+ font-weight: 400;
1726
+ line-height: 1.2;
1727
+ display: flex;
1728
+ }
1729
+
1730
+ .ov-tui__empty-title:after {
1731
+ content: "";
1732
+ opacity: .16;
1733
+ background: currentColor;
1734
+ block-size: .9em;
1735
+ inline-size: .32em;
1736
+ margin-inline-start: .15em;
1737
+ }
1738
+
1739
+ .ov-tui__empty--hero .ov-tui__empty-subtitle {
1740
+ color: var(--ov-ui-tui-muted);
1741
+ margin: 16px 0 40px;
1742
+ font-size: 15px;
1743
+ }
1744
+
1745
+ .ov-tui__empty--hero .ov-tui__empty-quick-label {
1746
+ color: var(--ov-ui-tui-muted);
1747
+ margin: 0 0 12px;
1748
+ }
1749
+
1750
+ .ov-tui__empty-list {
1751
+ flex-direction: column;
1752
+ gap: 8px;
1753
+ margin: 0;
1754
+ padding: 0;
1755
+ list-style: none;
1756
+ display: flex;
1757
+ }
1758
+
1759
+ .ov-tui__empty-list > .ov-tui__empty-item {
1760
+ margin: 0;
1761
+ }
1762
+
1763
+ .ov-tui__empty-action {
1764
+ background: var(--ov-ui-tui-card-bg);
1765
+ min-block-size: 52px;
1766
+ inline-size: 100%;
1767
+ color: inherit;
1768
+ font: inherit;
1769
+ text-align: start;
1770
+ cursor: pointer;
1771
+ border: 0;
1772
+ border-radius: 16px;
1773
+ grid-template-columns: 14px minmax(132px, .8fr) minmax(0, 1.2fr);
1774
+ align-items: center;
1775
+ gap: 12px;
1776
+ padding: 12px 16px;
1777
+ display: grid;
1778
+ }
1779
+
1780
+ .ov-tui__empty-action:hover:not(:disabled) {
1781
+ background: var(--ov-ui-tui-bubble-bg);
1782
+ }
1783
+
1784
+ .ov-tui__empty-action:disabled {
1785
+ color: var(--ov-ui-tui-muted);
1786
+ cursor: not-allowed;
1787
+ }
1788
+
1789
+ .ov-tui__empty-action > svg {
1790
+ translate: 0;
1791
+ }
1792
+
1793
+ @keyframes ov-tui-empty-arrow-nudge {
1794
+ 0%, 100% {
1795
+ translate: 0;
1796
+ }
1797
+
1798
+ 30% {
1799
+ translate: -2px;
1800
+ }
1801
+
1802
+ 65% {
1803
+ translate: 3px;
1804
+ }
1805
+ }
1806
+
1807
+ @media (hover: hover) and (prefers-reduced-motion: no-preference) {
1808
+ .ov-tui__empty-action:hover:not(:disabled) > svg {
1809
+ animation: .36s ease-in-out ov-tui-empty-arrow-nudge;
1810
+ }
1811
+ }
1812
+
1813
+ .ov-tui__empty-action:focus-visible {
1814
+ outline: 2px solid var(--ov-ui-tui-link);
1815
+ outline-offset: 3px;
1816
+ }
1817
+
1818
+ .ov-tui__empty-name {
1819
+ color: var(--ov-ui-color-text-1, var(--ov-ui-text-1-default));
1820
+ font-family: var(--ov-ui-font-mono, ui-monospace, monospace);
1821
+ overflow-wrap: anywhere;
1822
+ font-size: 15px;
1823
+ }
1824
+
1825
+ .ov-tui__empty-desc {
1826
+ color: var(--ov-ui-color-text-description, var(--ov-ui-text-description-default));
1827
+ overflow-wrap: anywhere;
1828
+ }
1829
+
1830
+ @container (width <= 420px) {
1831
+ .ov-tui__empty--hero {
1832
+ padding-block: 16px;
1833
+ }
1834
+
1835
+ .ov-tui__empty-action {
1836
+ grid-template-columns: 14px minmax(0, 1fr);
1837
+ gap: 4px 12px;
1838
+ }
1839
+
1840
+ .ov-tui__empty-desc {
1841
+ grid-column: 2;
1842
+ }
1843
+ }
1844
+
1553
1845
 
1554
1846
 
@@ -5,5 +5,5 @@ export interface TuiCopyButtonProps {
5
5
  onCopy?: (text: string) => void;
6
6
  className?: string;
7
7
  }
8
- /** 复制按钮:成功后短暂显示已复制,并通知宿主。 */
8
+ /** 纯图标复制按钮:Tooltip 展示动作与复制成功反馈。 */
9
9
  export declare function TuiCopyButton({ text, label, copiedLabel, onCopy, className, }: TuiCopyButtonProps): import("react").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { TuiCommandDefinition } from './command-catalog.js';
3
+ import type { ResolvedTuiLabels } from './tui-labels.js';
4
+ /**
5
+ * 按名称从宿主目录中取快捷命令,保持传入顺序,未命中的名称直接跳过。
6
+ * 重复名称只保留首次出现,避免同一命令渲染成多个相同 key 的兄弟节点。
7
+ * Resolves quick commands from the host catalogue in the given order, skipping
8
+ * names the catalogue does not contain. Repeated names keep their first
9
+ * occurrence so one command never renders as sibling nodes with the same key.
10
+ */
11
+ export declare function pickTuiCommands(names: readonly string[] | undefined, commands: readonly TuiCommandDefinition[]): readonly TuiCommandDefinition[];
12
+ /**
13
+ * 无记录时的空态区域。宿主节点优先;否则展示内置空态,没有可用快捷命令时
14
+ * 不渲染任何内容。
15
+ *
16
+ * Empty region shown without records. A host node wins; otherwise the built-in
17
+ * empty state renders, and nothing is shown when no quick command resolves.
18
+ */
19
+ export declare function TuiEmptyRegion({ emptyState, commands, labels, disabled, onPick, }: {
20
+ emptyState?: ReactNode;
21
+ commands: readonly TuiCommandDefinition[];
22
+ labels: ResolvedTuiLabels;
23
+ disabled?: boolean;
24
+ onPick: (command: TuiCommandDefinition) => void;
25
+ }): import("react").JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import type { TuiLabels } from './types.js';
2
- /** 补齐当前语言的默认界面文案。 */
2
+ import { type Locale } from '../../shared/locale.js';
3
3
  export type ResolvedTuiLabels = Required<TuiLabels>;
4
4
  export declare const DEFAULT_TUI_LABELS: ResolvedTuiLabels;
5
- export declare function resolveTuiLabels(labels?: TuiLabels, locale?: 'en' | 'zh'): ResolvedTuiLabels;
5
+ export declare function resolveTuiLabels(labels?: TuiLabels, locale?: Locale): ResolvedTuiLabels;
@@ -8,4 +8,4 @@ export type { TuiCommandHelpContent, TuiCommandHelpItem, TuiCommandHelpSection,
8
8
  * Command records, results and input. The host owns execution and sessions; the
9
9
  * component renders supplied records and reports submission intent and successful copies.
10
10
  */
11
- export declare function Tui({ records, value, disabled, emptyState, locale, commands, commandGroups, onValueChange, onSubmit, onOpenUri, onCopy, labels, className, ...rest }: TuiProps): import("react").JSX.Element;
11
+ export declare function Tui({ records, value, disabled, emptyState, quickCommands, locale: localeProp, commands, commandGroups, onValueChange, onSubmit, onOpenUri, onCopy, labels, className, ...rest }: TuiProps): import("react").JSX.Element;
@@ -1,3 +1,4 @@
1
+ import type { Locale } from '../../shared/locale.js';
1
2
  import type { HTMLAttributes, ReactNode } from 'react';
2
3
  import type { TuiCommandDefinition, TuiCommandGroup } from './command-catalog.js';
3
4
  /**
@@ -363,8 +364,8 @@ export interface TuiRecord {
363
364
  createdAtMs?: number;
364
365
  }
365
366
  /**
366
- * 可替换的界面文案,默认英文。
367
- * Replaceable interface copy, defaulting to English.
367
+ * 可替换的界面文案,默认跟随 locale。
368
+ * Replaceable interface copy, following locale.
368
369
  */
369
370
  export interface TuiLabels {
370
371
  /**
@@ -423,10 +424,20 @@ export interface TuiLabels {
423
424
  */
424
425
  copied?: string;
425
426
  /**
426
- * 无记录时的提示。
427
- * Message shown when there are no records.
427
+ * 内置空态的标题。
428
+ * Heading of the built-in empty state.
428
429
  */
429
- empty?: string;
430
+ emptyTitle?: string;
431
+ /**
432
+ * 内置空态的说明。
433
+ * Description of the built-in empty state.
434
+ */
435
+ emptyDescription?: string;
436
+ /**
437
+ * 快捷命令列表上方的引导文案。
438
+ * Label above the quick command list.
439
+ */
440
+ quickStart?: string;
430
441
  /** 无返回结果时的提示。Message for an empty command result. */
431
442
  noResult?: string;
432
443
  /** 刚刚发送的时间文案。Time label for a just-sent record. */
@@ -473,6 +484,8 @@ export interface TuiProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCopy'
473
484
  * Controlled input value.
474
485
  */
475
486
  value: string;
487
+ /** 可选文案语言;继承上层,最终默认英文。Optional locale; inherits or defaults to en-US. */
488
+ locale?: Locale;
476
489
  /**
477
490
  * 是否禁用命令输入与提交,缺省为 `false`。
478
491
  * 禁用时的提示文案由 `labels.unavailableMessage` 提供。
@@ -481,15 +494,25 @@ export interface TuiProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCopy'
481
494
  */
482
495
  disabled?: boolean;
483
496
  /**
484
- * 无记录时展示的完整空态节点,可包含标题、说明与快捷入口。
485
- * 省略时展示 `labels.empty`,传 `null` 时隐藏空态内容。
486
- * Complete empty-state node when there are no records; may include a
487
- * heading, description and shortcuts. Omission shows `labels.empty`;
488
- * passing `null` hides empty-state content.
497
+ * 无记录时展示的空态节点,完全替换内置空态。
498
+ * 省略时按 `quickCommands` 展示内置空态,没有可用快捷命令时不显示任何空态内容;
499
+ * 传 `null` 时同样不显示。
500
+ * Empty-state node shown when there are no records, replacing the built-in
501
+ * empty state. When omitted, the built-in empty state renders the resolved
502
+ * `quickCommands`; without any resolved command nothing is shown. Passing
503
+ * `null` also shows nothing.
489
504
  */
490
505
  emptyState?: ReactNode;
491
- /** 内置界面文案的语言,默认英文;命令文案由宿主提供。 */
492
- locale?: 'en' | 'zh';
506
+ /**
507
+ * 内置空态展示的快捷命令名称,按数组顺序取自 `commands`,未命中的名称跳过,
508
+ * 重复名称只保留首次出现。
509
+ * 点击后填入输入框并聚焦,不提交命令。
510
+ * Quick command names rendered by the built-in empty state, resolved from
511
+ * `commands` in array order; unknown names are skipped and repeats keep their
512
+ * first occurrence. Selecting one fills
513
+ * and focuses the input without submitting.
514
+ */
515
+ quickCommands?: readonly string[];
493
516
  /** 宿主提供的命令目录;省略时无候选和参数帮助,仍可提交文本。 */
494
517
  commands?: readonly TuiCommandDefinition[];
495
518
  /** 宿主提供的分组名称与顺序;未声明的组按目录顺序追加。 */
@@ -1 +1 @@
1
- export { Tui } from "../3~0.js";
1
+ export { Tui } from "../3c~0.js";
@@ -24,6 +24,8 @@ export interface VikingBotActivityGroup {
24
24
  /** 条目。Items. */
25
25
  items: ActivityTimelineItem[];
26
26
  }
27
+ /** Pair separately delivered results by id, keeping the original call position. */
28
+ export declare function mergeToolResults(parts: readonly VikingBotMessagePart[]): VikingBotMessagePart[];
27
29
  /**
28
30
  * 把片段聚合成执行块:带 `groupId` 的相邻推理与工具片段归为一组,
29
31
  * 其余片段原样保留,由调用方按类型分别渲染。
@@ -1,13 +1,7 @@
1
1
  import type { VikingBotMessage } from './model.js';
2
2
  import type { VikingBotMessageListProps } from './types.js';
3
3
  type Labels = NonNullable<VikingBotMessageListProps['labels']>;
4
- /** Markdown 或纯文本正文。A Markdown or plain-text body. */
5
- export declare function MessageText({ text, streaming, format, }: {
6
- text: string;
7
- streaming?: boolean;
8
- format?: 'plain' | 'markdown';
9
- }): import("react").JSX.Element;
10
- /** 消息正文:执行块在前,其余片段按顺序渲染。 */
4
+ /** Keep activity blocks and answer segments in their original arrival order. */
11
5
  export declare function MessageBody({ message, labels, onOpenUri, }: {
12
6
  message: VikingBotMessage;
13
7
  labels: Labels;
@@ -1,7 +1,10 @@
1
+ import type { Locale } from '../../shared/locale.js';
1
2
  import type { VikingBotMessageListProps } from './types.js';
2
3
  /**
3
4
  * Ark 渲染的消息列表。只在懒加载边界之后加载,因此可以静态引用 Ark。
4
5
  * The Ark-rendered message list. Loaded behind the lazy boundary, so it may
5
6
  * import Ark statically.
6
7
  */
7
- export declare function VikingBotMessageListView({ messages, className, streaming, footer, listKey, onOpenUri, onCopy, onMessageAction, renderMessage, labels: overrides, }: VikingBotMessageListProps): import("react").JSX.Element;
8
+ export declare function VikingBotMessageListView({ messages, className, streaming, footer, listKey, onOpenUri, onCopy, onMessageAction, renderMessage, locale, labels: overrides, }: VikingBotMessageListProps & {
9
+ locale: Locale;
10
+ }): import("react").JSX.Element;