@allbluecn/web-app 0.9.5 → 0.10.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 (684) hide show
  1. package/package.json +9 -8
  2. package/public/favicon.ico +0 -0
  3. package/src/__tests__/paraglide.test.ts +43 -0
  4. package/src/__tests__/setup.ts +27 -9
  5. package/src/assets/illustrations/empty-states/workspace-empty.svg +5 -0
  6. package/src/assets/illustrations/knowledge/law-card-illustration.svg +5 -0
  7. package/src/assets/logo/logo.tsx +53 -36
  8. package/src/components/agents/agent-card.tsx +7 -7
  9. package/src/components/agents/agent-form-dialog.tsx +41 -42
  10. package/src/components/agents/agent-selector.tsx +6 -8
  11. package/src/components/agents/agents-page.tsx +26 -28
  12. package/src/components/agents/skill-card.tsx +1 -4
  13. package/src/components/agents/skill-form-dialog.tsx +19 -21
  14. package/src/components/agents/slash-skill-menu.tsx +5 -7
  15. package/src/components/agents/use-agent-handlers.ts +5 -8
  16. package/src/components/ai/ai-chat-prompt.tsx +26 -33
  17. package/src/components/ai/global-chat-panel.tsx +10 -11
  18. package/src/components/ai/use-knowledge-bases.ts +2 -2
  19. package/src/components/anyhub/anyhub-app-card.tsx +13 -15
  20. package/src/components/anyhub/anyhub-app-runner.tsx +5 -7
  21. package/src/components/anyhub/anyhub-install-dialog.tsx +16 -18
  22. package/src/components/anyhub/anyhub-management-view.tsx +9 -11
  23. package/src/components/anyhub/anyhub-marketplace-view.tsx +14 -17
  24. package/src/components/anyhub/anyhub-permission-panel.tsx +8 -11
  25. package/src/components/anyhub/anyhub-provider.tsx +0 -1
  26. package/src/components/anyhub/anyhub-top-nav.tsx +5 -8
  27. package/src/components/auth/auth-header.tsx +2 -2
  28. package/src/components/auth/icon-input.tsx +0 -1
  29. package/src/components/auth/oauth-section.tsx +3 -5
  30. package/src/components/auth/password-input.tsx +2 -4
  31. package/src/components/auth/session-guard.tsx +0 -1
  32. package/src/components/auth/sso-section.tsx +3 -4
  33. package/src/components/billing/__tests__/seats-manager.test.tsx +5 -9
  34. package/src/components/billing/billing-panel.tsx +5 -6
  35. package/src/components/billing/checkout-redirect.ts +6 -10
  36. package/src/components/billing/feature-gate.tsx +2 -3
  37. package/src/components/billing/invoice-history.tsx +9 -11
  38. package/src/components/billing/login-prompt-dialog.tsx +10 -11
  39. package/src/components/billing/pricing-card.tsx +6 -7
  40. package/src/components/billing/pricing-page.tsx +4 -5
  41. package/src/components/billing/seats-manager.tsx +19 -20
  42. package/src/components/billing/subscription-card.tsx +13 -14
  43. package/src/components/billing/upgrade-prompt.tsx +11 -13
  44. package/src/components/changelog/changelog-page.tsx +36 -26
  45. package/src/components/chat/ai-chat-history/components/conversation-header.tsx +4 -5
  46. package/src/components/chat/ai-chat-history/components/conversation-item.tsx +15 -17
  47. package/src/components/chat/ai-chat-history/components/conversation-search.tsx +3 -4
  48. package/src/components/chat/ai-chat-history/components/empty-state.tsx +5 -6
  49. package/src/components/chat/ai-chat-history/index.tsx +11 -15
  50. package/src/components/chat/ai-chat-history/utils/group-conversations.ts +9 -2
  51. package/src/components/chat/ai-citations/components/citation-item.tsx +3 -5
  52. package/src/components/chat/ai-citations/components/citations-list.tsx +4 -6
  53. package/src/components/chat/ai-citations/components/inline-citation.tsx +2 -4
  54. package/src/components/chat/ai-citations/components/source-components.tsx +6 -10
  55. package/src/components/chat/ai-citations/index.tsx +3 -4
  56. package/src/components/chat/ai-citations/utils.ts +15 -3
  57. package/src/components/chat/ai-conversation.tsx +10 -12
  58. package/src/components/chat/ai-message/components/message-actions.tsx +7 -9
  59. package/src/components/chat/ai-message/components/streaming-indicator.tsx +3 -4
  60. package/src/components/chat/ai-message/index.tsx +5 -5
  61. package/src/components/chat/ai-message/utils/dom-utils.ts +1 -1
  62. package/src/components/chat/ai-prompt-input/components/action-buttons.tsx +14 -16
  63. package/src/components/chat/ai-prompt-input/components/agent-mode-select.tsx +10 -5
  64. package/src/components/chat/ai-prompt-input/components/context-badge.tsx +2 -3
  65. package/src/components/chat/ai-prompt-input/components/kb-context-selector.tsx +6 -8
  66. package/src/components/chat/ai-prompt-input/components/model-select.tsx +14 -7
  67. package/src/components/chat/ai-prompt-input/components/page-user-context-selector.tsx +6 -8
  68. package/src/components/chat/ai-prompt-input/index.tsx +18 -11
  69. package/src/components/chat/ai-prompt-input/types.ts +6 -5
  70. package/src/components/chat/ai-thinking.tsx +6 -9
  71. package/src/components/chat/chat-thread-page.tsx +4 -5
  72. package/src/components/chat/interrupt-approval.tsx +6 -8
  73. package/src/components/command/command-palette.tsx +7 -10
  74. package/src/components/design/project-card.tsx +2 -3
  75. package/src/components/design/sketch/code-preview.tsx +3 -4
  76. package/src/components/design/sketch/export-panel.tsx +3 -4
  77. package/src/components/design/sketch/property-panel.tsx +16 -17
  78. package/src/components/error/global-error-boundary.tsx +65 -0
  79. package/src/components/forms/app-array-field.tsx +3 -4
  80. package/src/components/forms/app-combobox.tsx +2 -3
  81. package/src/components/forms/app-date-picker.tsx +2 -3
  82. package/src/components/forms/app-form-dialog.tsx +3 -4
  83. package/src/components/forms/app-select.tsx +2 -3
  84. package/src/components/forms/hooks/use-form-submit.ts +2 -2
  85. package/src/components/forms/schemas/common.ts +4 -6
  86. package/src/components/hotkeys/shortcuts-panel.tsx +2 -3
  87. package/src/components/iteration/auto-schedule-dialog.tsx +12 -13
  88. package/src/components/iteration/burndown-chart.tsx +6 -8
  89. package/src/components/iteration/constants.ts +5 -4
  90. package/src/components/iteration/create-iteration-dialog.tsx +14 -15
  91. package/src/components/iteration/iteration-card.tsx +3 -4
  92. package/src/components/iteration/iteration-editor.tsx +7 -8
  93. package/src/components/iteration/iteration-progress-bar.tsx +3 -5
  94. package/src/components/iteration/iteration-status-badge.tsx +1 -3
  95. package/src/components/kibo-ui/contribution-graph/index.tsx +37 -9
  96. package/src/components/knowledge/dialog/knowledge-form-dialog.tsx +8 -9
  97. package/src/components/knowledge/doc-properties.tsx +12 -13
  98. package/src/components/knowledge/editor/doc-header.tsx +7 -8
  99. package/src/components/knowledge/editor/knowledge-doc-editor.tsx +9 -9
  100. package/src/components/knowledge/knowledge-homepage.tsx +6 -7
  101. package/src/components/knowledge/knowledge-tag-input.tsx +3 -4
  102. package/src/components/knowledge/knowledge-toolbar.tsx +38 -40
  103. package/src/components/knowledge/knowledge-tree-item.tsx +21 -22
  104. package/src/components/knowledge/knowledge-tree.tsx +15 -16
  105. package/src/components/knowledge-public/bookmark-card.tsx +13 -14
  106. package/src/components/knowledge-public/bookmark-form-dialog.tsx +25 -26
  107. package/src/components/knowledge-public/knowledge-card-grid.tsx +3 -3
  108. package/src/components/knowledge-public/knowledge-filters.tsx +9 -10
  109. package/src/components/knowledge-public/knowledge-form-dialog.tsx +62 -63
  110. package/src/components/knowledge-public/knowledge-search-bar.tsx +3 -4
  111. package/src/components/knowledge-public/legal-compliance-editor.tsx +30 -31
  112. package/src/components/knowledge-public/markdown-editor.tsx +3 -4
  113. package/src/components/knowledge-public/markdown-view.tsx +2 -3
  114. package/src/components/knowledge-public/sharers-avatar-group.tsx +3 -4
  115. package/src/components/knowledge-public/tag-filter.tsx +3 -4
  116. package/src/components/layout/sidebar-03/__tests__/nav-workspace.test.tsx +42 -79
  117. package/src/components/layout/sidebar-03/__tests__/user-menu-anonymous.test.tsx +51 -0
  118. package/src/components/layout/sidebar-03/app-sidebar.tsx +3 -4
  119. package/src/components/layout/sidebar-03/index.tsx +0 -1
  120. package/src/components/layout/sidebar-03/nav-anyhub.tsx +4 -5
  121. package/src/components/layout/sidebar-03/nav-knowledge.tsx +80 -37
  122. package/src/components/layout/sidebar-03/nav-main.tsx +10 -12
  123. package/src/components/layout/sidebar-03/nav-notifications.tsx +19 -28
  124. package/src/components/layout/sidebar-03/nav-search-trigger.tsx +3 -5
  125. package/src/components/layout/sidebar-03/nav-workspace.tsx +32 -12
  126. package/src/components/layout/sidebar-03/team-switcher.tsx +0 -1
  127. package/src/components/layout/sidebar-03/user-menu.tsx +33 -13
  128. package/src/components/magicui/components/animate/avatar-group.tsx +0 -1
  129. package/src/components/magicui/primitives/animate/avatar-group.tsx +0 -1
  130. package/src/components/magicui/primitives/animate/slot.tsx +0 -1
  131. package/src/components/magicui/primitives/animate/tooltip.tsx +0 -1
  132. package/src/components/magicui/sparkles-text.tsx +0 -1
  133. package/src/components/mindmap/mindmap-doc-editor.tsx +15 -15
  134. package/src/components/notifications/settings-notifications.tsx +22 -23
  135. package/src/components/notifications/team-notifications.tsx +27 -29
  136. package/src/components/plugin-slots/__tests__/plugin-settings-tabs.test.tsx +4 -4
  137. package/src/components/plugin-slots/plugin-settings-tabs.tsx +15 -11
  138. package/src/components/project/create-project-dialog.tsx +60 -34
  139. package/src/components/project/invite-member-dialog.tsx +20 -21
  140. package/src/components/project/project-activity-list.tsx +19 -24
  141. package/src/components/project/project-member-manager.tsx +27 -28
  142. package/src/components/project/project-module-card.tsx +5 -6
  143. package/src/components/project/schemas/create-project.ts +3 -5
  144. package/src/components/prototype/component/GenericPrototype.tsx +0 -1
  145. package/src/components/prototype/component-preview.tsx +0 -1
  146. package/src/components/settings/ai/api-key-field.tsx +8 -10
  147. package/src/components/settings/ai/create-custom-model-dialog.tsx +28 -21
  148. package/src/components/settings/ai/create-custom-provider-dialog.tsx +15 -16
  149. package/src/components/settings/ai/model-card.tsx +25 -10
  150. package/src/components/settings/ai/model-manager.tsx +24 -16
  151. package/src/components/settings/ai/provider-card.tsx +9 -11
  152. package/src/components/settings/ai/provider-detail-form.tsx +24 -26
  153. package/src/components/settings/ai/provider-grid.tsx +23 -13
  154. package/src/components/settings/language-selector.tsx +13 -15
  155. package/src/components/settings/personal-team/account/account-client.tsx +14 -16
  156. package/src/components/settings/personal-team/account/avatar/notion-avatar-editor.tsx +36 -28
  157. package/src/components/settings/personal-team/account/settings-profile.tsx +39 -40
  158. package/src/components/settings/personal-team/team/team-client.tsx +45 -50
  159. package/src/components/settings/personal-team/team/team-invitations.tsx +89 -95
  160. package/src/components/settings/personal-team/team/team-member-list.tsx +50 -47
  161. package/src/components/shadcn-space/blocks/pricing-01/pricing.tsx +170 -172
  162. package/src/components/shared-kit/data-viz/contribution-graph-tooltip.tsx +128 -15
  163. package/src/components/shared-kit/dialogs/name-confirm-dialog.tsx +16 -16
  164. package/src/components/shared-kit/i18n/language-switcher.tsx +6 -9
  165. package/src/components/shared-kit/i18n/translator-text.tsx +2 -4
  166. package/src/components/shared-kit/icons/lucide-icon-picker/panel.tsx +7 -8
  167. package/src/components/shared-kit/logos/logo-icon.tsx +64 -0
  168. package/src/components/shared-kit/navigation/nav-float-button.tsx +3 -5
  169. package/src/components/shared-kit/pages/placeholder-page.tsx +2 -4
  170. package/src/components/shared-kit/theme/animated-theme-toggler.tsx +0 -1
  171. package/src/components/shared-kit/theme/theme-toggle.tsx +0 -1
  172. package/src/components/shared-kit/timezone/timezone-select.tsx +6 -7
  173. package/src/components/story/__tests__/constants.test.ts +7 -7
  174. package/src/components/story/__tests__/dependency-type-badge.test.ts +5 -5
  175. package/src/components/story/ai/action-registry.ts +12 -11
  176. package/src/components/story/ai/handlers/more-popover.tsx +5 -6
  177. package/src/components/story/ai/prototype-dialog.tsx +9 -10
  178. package/src/components/story/ai/split-dialog.tsx +22 -23
  179. package/src/components/story/ai/story-ai-panel.tsx +29 -30
  180. package/src/components/story/ai/story-ai-preview-list.tsx +16 -9
  181. package/src/components/story/ai/story-ai-toolbar.tsx +12 -13
  182. package/src/components/story/columns.tsx +33 -17
  183. package/src/components/story/constants.ts +73 -69
  184. package/src/components/story/create-story-dialog.tsx +13 -14
  185. package/src/components/story/detail/__tests__/categories.test.tsx +8 -10
  186. package/src/components/story/detail/__tests__/dependencies-button.test.tsx +3 -5
  187. package/src/components/story/detail/activity-tabs.tsx +6 -7
  188. package/src/components/story/detail/activity-timeline.tsx +33 -35
  189. package/src/components/story/detail/comment-input.tsx +7 -8
  190. package/src/components/story/detail/comment-item.tsx +15 -16
  191. package/src/components/story/detail/comment-thread.tsx +6 -7
  192. package/src/components/story/detail/reaction-bar.tsx +2 -3
  193. package/src/components/story/detail/story-detail-body.tsx +26 -28
  194. package/src/components/story/detail/story-detail-toolbar/associated-attachments-panel.tsx +42 -45
  195. package/src/components/story/detail/story-detail-toolbar/categories.tsx +13 -14
  196. package/src/components/story/detail/story-detail-toolbar/children.tsx +19 -22
  197. package/src/components/story/detail/story-detail-toolbar/dependencies.tsx +3 -5
  198. package/src/components/story/detail/story-detail-toolbar/dependency-panel.tsx +30 -20
  199. package/src/components/story/detail/story-detail-toolbar.tsx +16 -11
  200. package/src/components/story/detail/story-properties.tsx +7 -8
  201. package/src/components/story/display/__tests__/display-dropdown.test.tsx +3 -5
  202. package/src/components/story/display/__tests__/use-paged-story-groups.test.ts +2 -0
  203. package/src/components/story/display/constants.ts +27 -26
  204. package/src/components/story/display/display-dropdown.tsx +20 -26
  205. package/src/components/story/display/group-resolver.tsx +12 -14
  206. package/src/components/story/display/use-grouped-stories.ts +3 -5
  207. package/src/components/story/display/use-paged-story-groups.ts +12 -13
  208. package/src/components/story/filters/add-filter-dropdown.tsx +4 -5
  209. package/src/components/story/filters/applied-filters.tsx +7 -9
  210. package/src/components/story/filters/filter-condition.tsx +9 -12
  211. package/src/components/story/filters/filter-row.tsx +5 -6
  212. package/src/components/story/filters/filter-toggle.tsx +2 -3
  213. package/src/components/story/filters/filter-types.ts +24 -23
  214. package/src/components/story/filters/filter-value-input.tsx +3 -4
  215. package/src/components/story/infinite-scroll-sentinel.tsx +2 -3
  216. package/src/components/story/inline-editors/__tests__/dependency-type-select.test.tsx +18 -23
  217. package/src/components/story/inline-editors/__tests__/labels-editor.test.tsx +9 -11
  218. package/src/components/story/inline-editors/__tests__/priority-editor.test.tsx +21 -25
  219. package/src/components/story/inline-editors/__tests__/state-editor.test.tsx +21 -25
  220. package/src/components/story/inline-editors/assignee-editor.tsx +8 -9
  221. package/src/components/story/inline-editors/date-editor.tsx +4 -5
  222. package/src/components/story/inline-editors/dependency-type-select.tsx +15 -12
  223. package/src/components/story/inline-editors/inline-trigger.tsx +2 -3
  224. package/src/components/story/inline-editors/labels-editor.tsx +16 -17
  225. package/src/components/story/inline-editors/parent-story-editor.tsx +3 -4
  226. package/src/components/story/inline-editors/priority-editor.tsx +6 -8
  227. package/src/components/story/inline-editors/state-editor.tsx +6 -7
  228. package/src/components/story/inline-editors/story-select-dialog.tsx +25 -26
  229. package/src/components/story/inline-editors/title-editor.tsx +2 -3
  230. package/src/components/story/peek-panel.tsx +6 -7
  231. package/src/components/story/relations/__tests__/knowledge-select-dialog.test.tsx +2 -0
  232. package/src/components/story/relations/__tests__/link-manage-dialog.test.tsx +2 -0
  233. package/src/components/story/relations/attachment-manage-dialog.tsx +23 -24
  234. package/src/components/story/relations/general-groups.ts +12 -29
  235. package/src/components/story/relations/knowledge-select-dialog.tsx +21 -22
  236. package/src/components/story/relations/link-manage-dialog.tsx +12 -13
  237. package/src/components/story/relations/story-ref-row.tsx +20 -21
  238. package/src/components/story/schemas/story-create.ts +3 -5
  239. package/src/components/story/search-popover.tsx +5 -6
  240. package/src/components/story/story-list-table.tsx +3 -4
  241. package/src/components/story/story-list-view.tsx +9 -10
  242. package/src/components/story/story-panel-header.tsx +27 -28
  243. package/src/components/story/story-toolbar.tsx +11 -12
  244. package/src/components/story/transfer-story-popover.tsx +15 -16
  245. package/src/components/story/views/calendar-view.tsx +12 -14
  246. package/src/components/story/views/create-view-dialog.tsx +19 -52
  247. package/src/components/story/views/kanban-board.tsx +9 -12
  248. package/src/components/story/views/kanban-card.tsx +1 -3
  249. package/src/components/story/views/story-list/__tests__/batch-toolbar.test.tsx +9 -2
  250. package/src/components/story/views/story-list/__tests__/group-header.test.tsx +15 -17
  251. package/src/components/story/views/story-list/batch-preview-dialog.tsx +26 -28
  252. package/src/components/story/views/story-list/batch-toolbar.tsx +12 -13
  253. package/src/components/story/views/story-list/group.tsx +9 -11
  254. package/src/components/story/views/story-list/index.tsx +13 -14
  255. package/src/components/story/views/story-list/inline-story-creator.tsx +6 -7
  256. package/src/components/story/views/story-list/row.tsx +6 -7
  257. package/src/components/story/views/timeline-view.tsx +7 -8
  258. package/src/components/story/views/view-list-section.tsx +14 -16
  259. package/src/components/story/views/view-selector-button.tsx +6 -7
  260. package/src/components/story/views/view-switcher.tsx +9 -10
  261. package/src/components/story/views/view-types.ts +15 -15
  262. package/src/components/tiptap/extension/code-block-ellipsis-input-extension.ts +0 -1
  263. package/src/components/tiptap/hooks/use-composed-ref.ts +0 -1
  264. package/src/components/tiptap/hooks/use-cursor-visibility.ts +0 -1
  265. package/src/components/tiptap/hooks/use-floating-element.ts +0 -1
  266. package/src/components/tiptap/hooks/use-is-breakpoint.ts +0 -1
  267. package/src/components/tiptap/hooks/use-isomorphic-layout-effect.ts +0 -1
  268. package/src/components/tiptap/hooks/use-menu-navigation.ts +0 -1
  269. package/src/components/tiptap/hooks/use-on-click-outside.ts +0 -1
  270. package/src/components/tiptap/hooks/use-tiptap-editor.ts +0 -1
  271. package/src/components/tiptap/hooks/use-ui-editor-state.ts +0 -1
  272. package/src/components/tiptap/mindmap/lib/__tests__/default-mindmap-data.test.ts +3 -2
  273. package/src/components/tiptap/mindmap/lib/default-mindmap-data.ts +2 -2
  274. package/src/components/tiptap/mindmap/mind-map.tsx +36 -39
  275. package/src/components/tiptap/mindmap/mindmap-fullscreen-dialog.tsx +2 -3
  276. package/src/components/tiptap/node/annotation-node/annotation-node-view.tsx +11 -12
  277. package/src/components/tiptap/node/doc-card-extension.tsx +8 -10
  278. package/src/components/tiptap/node/image-node/image-node-floating.tsx +2 -3
  279. package/src/components/tiptap/node/image-upload-node/image-upload-node.tsx +0 -1
  280. package/src/components/tiptap/node/mention-extension.ts +5 -5
  281. package/src/components/tiptap/node/table-node/hooks/use-table-handle-state.ts +0 -1
  282. package/src/components/tiptap/node/table-node/ui/table-add-row-column-button/table-add-row-column-button.tsx +0 -1
  283. package/src/components/tiptap/node/table-node/ui/table-add-row-column-button/use-table-add-row-column.ts +5 -6
  284. package/src/components/tiptap/node/table-node/ui/table-align-cell-button/table-align-cell-button.tsx +0 -1
  285. package/src/components/tiptap/node/table-node/ui/table-align-cell-button/use-table-align-cell.ts +8 -9
  286. package/src/components/tiptap/node/table-node/ui/table-alignment-menu/table-alignment-menu.tsx +2 -4
  287. package/src/components/tiptap/node/table-node/ui/table-cell-handle-menu/table-cell-handle-menu.tsx +2 -5
  288. package/src/components/tiptap/node/table-node/ui/table-clear-row-column-content-button/table-clear-row-column-content-button.tsx +0 -1
  289. package/src/components/tiptap/node/table-node/ui/table-clear-row-column-content-button/use-table-clear-row-column-content.ts +4 -5
  290. package/src/components/tiptap/node/table-node/ui/table-delete-row-column-button/table-delete-row-column-button.tsx +0 -1
  291. package/src/components/tiptap/node/table-node/ui/table-delete-row-column-button/use-table-delete-row-column.ts +3 -4
  292. package/src/components/tiptap/node/table-node/ui/table-duplicate-row-column-button/table-duplicate-row-column-button.tsx +0 -1
  293. package/src/components/tiptap/node/table-node/ui/table-duplicate-row-column-button/use-table-duplicate-row-column.ts +3 -4
  294. package/src/components/tiptap/node/table-node/ui/table-extend-row-column-button/table-extend-row-column-button.tsx +2 -4
  295. package/src/components/tiptap/node/table-node/ui/table-fit-to-width-button/table-fit-to-width-button.tsx +0 -1
  296. package/src/components/tiptap/node/table-node/ui/table-fit-to-width-button/use-table-fit-to-width.ts +3 -4
  297. package/src/components/tiptap/node/table-node/ui/table-handle/table-handle.tsx +0 -1
  298. package/src/components/tiptap/node/table-node/ui/table-handle-menu/table-handle-menu.tsx +3 -5
  299. package/src/components/tiptap/node/table-node/ui/table-header-row-column-button/table-header-row-column-button.tsx +0 -1
  300. package/src/components/tiptap/node/table-node/ui/table-header-row-column-button/use-table-header-row-column.ts +3 -4
  301. package/src/components/tiptap/node/table-node/ui/table-merge-split-cell-button/table-merge-split-cell-button.tsx +0 -1
  302. package/src/components/tiptap/node/table-node/ui/table-merge-split-cell-button/use-table-merge-split-cell.ts +3 -4
  303. package/src/components/tiptap/node/table-node/ui/table-move-row-column-button/table-move-row-column-button.tsx +0 -1
  304. package/src/components/tiptap/node/table-node/ui/table-move-row-column-button/use-table-move-row-column.ts +9 -10
  305. package/src/components/tiptap/node/table-node/ui/table-selection-overlay/table-selection-overlay.tsx +0 -1
  306. package/src/components/tiptap/node/table-node/ui/table-selection-overlay/use-resize-overlay.ts +0 -1
  307. package/src/components/tiptap/node/table-node/ui/table-sort-row-column-button/table-sort-row-column-button.tsx +0 -1
  308. package/src/components/tiptap/node/table-node/ui/table-sort-row-column-button/use-table-sort-row-column.ts +5 -6
  309. package/src/components/tiptap/node/table-node/ui/table-trigger-button/table-grid-selector.tsx +2 -3
  310. package/src/components/tiptap/node/table-node/ui/table-trigger-button/table-trigger-button.tsx +0 -1
  311. package/src/components/tiptap/node/table-node/ui/table-trigger-button/use-table-trigger.ts +3 -4
  312. package/src/components/tiptap/node/toc-node/toc-node.tsx +2 -4
  313. package/src/components/tiptap/node/toc-node/ui/toc-show-title-button/toc-show-title-button.tsx +0 -1
  314. package/src/components/tiptap/node/toc-node/ui/toc-show-title-button/toc-show-title.ts +2 -3
  315. package/src/components/tiptap/node/toc-node/ui/toc-sidebar/toc-sidebar.tsx +2 -5
  316. package/src/components/tiptap/notion-like/notion-like-editor-header.tsx +2 -4
  317. package/src/components/tiptap/notion-like/notion-like-editor-mobile-toolbar.tsx +17 -23
  318. package/src/components/tiptap/notion-like/notion-like-editor-theme-toggle.tsx +2 -5
  319. package/src/components/tiptap/notion-like/notion-like-editor-toolbar-floating.tsx +16 -12
  320. package/src/components/tiptap/notion-like/notion-like-editor.tsx +2 -7
  321. package/src/components/tiptap/notion-like/setup-error-message/setup-error-message.tsx +0 -1
  322. package/src/components/tiptap/ui/ai-ask-button/ai-ask-button.tsx +0 -1
  323. package/src/components/tiptap/ui/ai-ask-button/use-ai-ask.ts +2 -3
  324. package/src/components/tiptap/ui/ai-menu/ai-menu-actions/ai-menu-actions.tsx +4 -6
  325. package/src/components/tiptap/ui/ai-menu/ai-menu-input/ai-menu-input.tsx +6 -10
  326. package/src/components/tiptap/ui/ai-menu/ai-menu-items/ai-menu-items-constants.ts +36 -36
  327. package/src/components/tiptap/ui/ai-menu/ai-menu-items/ai-menu-items.tsx +13 -16
  328. package/src/components/tiptap/ui/ai-menu/ai-menu-items/language-selection-submenu.tsx +3 -4
  329. package/src/components/tiptap/ui/ai-menu/ai-menu-items/tone-selection-submenu.tsx +2 -3
  330. package/src/components/tiptap/ui/ai-menu/ai-menu-utils.ts +3 -3
  331. package/src/components/tiptap/ui/ai-menu/ai-menu.tsx +3 -5
  332. package/src/components/tiptap/ui/blockquote-button/blockquote-button.tsx +2 -6
  333. package/src/components/tiptap/ui/blockquote-button/use-blockquote.ts +2 -3
  334. package/src/components/tiptap/ui/code-block-button/code-block-button.tsx +2 -6
  335. package/src/components/tiptap/ui/code-block-button/use-code-block.ts +2 -3
  336. package/src/components/tiptap/ui/color-highlight-button/color-highlight-button.tsx +0 -1
  337. package/src/components/tiptap/ui/color-highlight-button/use-color-highlight.ts +14 -14
  338. package/src/components/tiptap/ui/color-highlight-popover/color-highlight-popover.tsx +9 -11
  339. package/src/components/tiptap/ui/color-menu/color-menu.tsx +5 -11
  340. package/src/components/tiptap/ui/color-text-button/color-text-button.tsx +2 -3
  341. package/src/components/tiptap/ui/color-text-button/use-color-text.ts +12 -13
  342. package/src/components/tiptap/ui/color-text-popover/color-text-popover.tsx +6 -10
  343. package/src/components/tiptap/ui/color-text-popover/use-color-text-popover.ts +2 -3
  344. package/src/components/tiptap/ui/copy-anchor-link-button/copy-anchor-link-button.tsx +2 -6
  345. package/src/components/tiptap/ui/copy-anchor-link-button/use-copy-anchor-link.ts +2 -3
  346. package/src/components/tiptap/ui/copy-anchor-link-button/use-scroll-to-hash.ts +0 -1
  347. package/src/components/tiptap/ui/copy-to-clipboard-button/copy-to-clipboard-button.tsx +2 -6
  348. package/src/components/tiptap/ui/copy-to-clipboard-button/use-copy-to-clipboard.ts +2 -3
  349. package/src/components/tiptap/ui/delete-node-button/delete-node-button.tsx +2 -6
  350. package/src/components/tiptap/ui/delete-node-button/use-delete-node.ts +2 -3
  351. package/src/components/tiptap/ui/doc-reference-floating/doc-reference-floating.tsx +10 -11
  352. package/src/components/tiptap/ui/doc-reference-interaction/doc-reference-interaction.tsx +10 -11
  353. package/src/components/tiptap/ui/drag-context-menu/drag-context-menu.tsx +7 -9
  354. package/src/components/tiptap/ui/duplicate-button/duplicate-button.tsx +2 -6
  355. package/src/components/tiptap/ui/duplicate-button/use-duplicate.ts +2 -3
  356. package/src/components/tiptap/ui/emoji-dropdown-menu/emoji-dropdown-menu.tsx +0 -1
  357. package/src/components/tiptap/ui/emoji-menu/emoji-menu.tsx +2 -5
  358. package/src/components/tiptap/ui/emoji-trigger-button/emoji-trigger-button.tsx +2 -6
  359. package/src/components/tiptap/ui/emoji-trigger-button/use-emoji-trigger.ts +2 -3
  360. package/src/components/tiptap/ui/heading-button/heading-button.tsx +0 -1
  361. package/src/components/tiptap/ui/heading-button/use-heading.ts +7 -8
  362. package/src/components/tiptap/ui/image-align-button/image-align-button.tsx +0 -1
  363. package/src/components/tiptap/ui/image-align-button/use-image-align.ts +4 -5
  364. package/src/components/tiptap/ui/image-caption-button/image-caption-button.tsx +0 -1
  365. package/src/components/tiptap/ui/image-caption-button/use-image-caption.ts +2 -3
  366. package/src/components/tiptap/ui/image-download-button/image-download-button.tsx +0 -1
  367. package/src/components/tiptap/ui/image-download-button/use-image-download.ts +2 -3
  368. package/src/components/tiptap/ui/image-upload-button/image-upload-button.tsx +0 -1
  369. package/src/components/tiptap/ui/image-upload-button/use-image-upload.ts +2 -3
  370. package/src/components/tiptap/ui/improve-dropdown/improve-dropdown.tsx +14 -17
  371. package/src/components/tiptap/ui/improve-dropdown/use-improve-dropdown.ts +2 -3
  372. package/src/components/tiptap/ui/indent-button/indent-button.tsx +0 -1
  373. package/src/components/tiptap/ui/indent-button/use-indent.ts +3 -4
  374. package/src/components/tiptap/ui/link-popover/link-popover.tsx +7 -12
  375. package/src/components/tiptap/ui/link-popover/use-link-popover.ts +2 -3
  376. package/src/components/tiptap/ui/list-button/list-button.tsx +0 -1
  377. package/src/components/tiptap/ui/list-button/use-list.ts +4 -5
  378. package/src/components/tiptap/ui/mark-button/mark-button.tsx +0 -1
  379. package/src/components/tiptap/ui/mark-button/use-mark.ts +8 -9
  380. package/src/components/tiptap/ui/mention-dropdown-menu/mention-dropdown-menu.tsx +0 -2
  381. package/src/components/tiptap/ui/mention-trigger-button/mention-trigger-button.tsx +0 -1
  382. package/src/components/tiptap/ui/mention-trigger-button/use-mention-trigger.ts +2 -3
  383. package/src/components/tiptap/ui/move-node-button/move-node-button.tsx +2 -6
  384. package/src/components/tiptap/ui/move-node-button/use-move-node.ts +2 -3
  385. package/src/components/tiptap/ui/reference-dropdown-menu/reference-dropdown-menu.tsx +6 -10
  386. package/src/components/tiptap/ui/reset-all-formatting-button/reset-all-formatting-button.tsx +2 -6
  387. package/src/components/tiptap/ui/reset-all-formatting-button/use-reset-all-formatting.ts +2 -3
  388. package/src/components/tiptap/ui/slash-command-trigger-button/slash-command-trigger-button.tsx +0 -1
  389. package/src/components/tiptap/ui/slash-command-trigger-button/use-slash-command-trigger.ts +2 -3
  390. package/src/components/tiptap/ui/slash-dropdown-menu/slash-dropdown-menu.tsx +2 -5
  391. package/src/components/tiptap/ui/slash-dropdown-menu/use-slash-dropdown-menu.ts +78 -79
  392. package/src/components/tiptap/ui/text-align-button/text-align-button.tsx +0 -1
  393. package/src/components/tiptap/ui/text-align-button/use-text-align.ts +5 -6
  394. package/src/components/tiptap/ui/text-button/text-button.tsx +2 -6
  395. package/src/components/tiptap/ui/text-button/use-text.ts +2 -3
  396. package/src/components/tiptap/ui/turn-into-dropdown/turn-into-dropdown.tsx +4 -7
  397. package/src/components/tiptap/ui/turn-into-dropdown/use-turn-into-dropdown.ts +11 -12
  398. package/src/components/tiptap/ui/undo-redo-button/undo-redo-button.tsx +0 -1
  399. package/src/components/tiptap/ui/undo-redo-button/use-undo-redo.ts +3 -4
  400. package/src/components/tiptap/ui-primitive/avatar/avatar.tsx +0 -1
  401. package/src/components/tiptap/ui-primitive/badge/badge.tsx +0 -1
  402. package/src/components/tiptap/ui-primitive/button/button.tsx +0 -1
  403. package/src/components/tiptap/ui-primitive/card/card.tsx +0 -1
  404. package/src/components/tiptap/ui-primitive/combobox/combobox.tsx +0 -1
  405. package/src/components/tiptap/ui-primitive/dropdown-menu/dropdown-menu.tsx +0 -1
  406. package/src/components/tiptap/ui-primitive/input/input.tsx +0 -1
  407. package/src/components/tiptap/ui-primitive/input-group/input-group.tsx +0 -1
  408. package/src/components/tiptap/ui-primitive/label/label.tsx +0 -1
  409. package/src/components/tiptap/ui-primitive/menu/menu-context.ts +0 -1
  410. package/src/components/tiptap/ui-primitive/menu/menu-hooks.ts +0 -1
  411. package/src/components/tiptap/ui-primitive/menu/menu-types.ts +0 -1
  412. package/src/components/tiptap/ui-primitive/menu/menu-utils.ts +0 -1
  413. package/src/components/tiptap/ui-primitive/menu/menu.tsx +0 -1
  414. package/src/components/tiptap/ui-primitive/popover/popover.tsx +0 -1
  415. package/src/components/tiptap/ui-primitive/separator/separator.tsx +0 -1
  416. package/src/components/tiptap/ui-primitive/sidebar/sidebar.tsx +0 -1
  417. package/src/components/tiptap/ui-primitive/spacer/spacer.tsx +0 -1
  418. package/src/components/tiptap/ui-primitive/textarea/textarea.tsx +0 -1
  419. package/src/components/tiptap/ui-primitive/textarea-autosize/textarea-autosize.tsx +0 -1
  420. package/src/components/tiptap/ui-primitive/toolbar/toolbar.tsx +0 -1
  421. package/src/components/tiptap/ui-primitive/tooltip/tooltip.tsx +0 -1
  422. package/src/components/tiptap/ui-utils/floating-element/floating-element.tsx +0 -1
  423. package/src/components/tiptap/ui-utils/suggestion-menu/suggestion-menu.tsx +0 -1
  424. package/src/components/ui/field.tsx +1 -1
  425. package/src/components/ui/radio-group.tsx +2 -3
  426. package/src/components/ui/spinner.tsx +2 -2
  427. package/src/components/workspace/create-workspace-dialog.tsx +12 -13
  428. package/src/components/workspace/delete-workspace-options.tsx +177 -0
  429. package/src/components/workspace/edit-workspace-dialog.tsx +153 -0
  430. package/src/components/workspace/schemas/create-workspace.ts +2 -2
  431. package/src/components/workspace/workspace-activity-card.tsx +60 -0
  432. package/src/components/workspace/workspace-contribution-card.tsx +37 -0
  433. package/src/components/workspace/workspace-header.tsx +100 -0
  434. package/src/components/workspace/workspace-kb-card.tsx +31 -0
  435. package/src/components/workspace/workspace-member-item.tsx +80 -0
  436. package/src/components/workspace/workspace-members-manager.tsx +291 -0
  437. package/src/components/workspace/workspace-project-list.tsx +129 -0
  438. package/src/config/sidebar-routes.tsx +25 -24
  439. package/src/config/sidebar-teams.ts +4 -4
  440. package/src/hooks/__tests__/use-commands.test.tsx +0 -10
  441. package/src/hooks/use-commands.ts +3 -7
  442. package/src/hooks/use-entity-subscription.ts +0 -1
  443. package/src/hooks/use-notifications.ts +5 -6
  444. package/src/hooks/useTranslator.ts +0 -1
  445. package/src/lib/__tests__/edition.test.ts +9 -0
  446. package/src/lib/analytics.ts +0 -1
  447. package/src/lib/anyhub/anyhub-message-bridge.ts +1 -1
  448. package/src/lib/auth/__tests__/anonymous-safe.test.ts +89 -0
  449. package/src/lib/auth/__tests__/page-gate.test.ts +29 -0
  450. package/src/lib/auth/anonymous-safe.ts +39 -0
  451. package/src/lib/auth/page-gate.ts +18 -0
  452. package/src/lib/changelog/sdk-versions.ts +19 -19
  453. package/src/lib/collections/knowledge/knowledge-bases-collection.ts +1 -1
  454. package/src/lib/collections/reference/bookmark-categories-collection.ts +1 -1
  455. package/src/lib/collections/reference/labels-collection.ts +1 -1
  456. package/src/lib/collections/reference/projects-collection.ts +1 -1
  457. package/src/lib/collections/reference/users-brief-collection.ts +1 -1
  458. package/src/lib/collections/reference/workspaces-collection.ts +3 -3
  459. package/src/lib/commands/__tests__/registry.test.ts +3 -3
  460. package/src/lib/commands/registry.ts +22 -21
  461. package/src/lib/commands/types.ts +1 -1
  462. package/src/lib/edition.ts +7 -0
  463. package/src/lib/router-context.ts +1 -2
  464. package/src/plugins/.gen-manifest.json +13 -0
  465. package/src/plugins/core/inspiration/pages/inspiration-page.tsx +2 -3
  466. package/src/plugins/core/inspiration/ui.tsx +2 -3
  467. package/src/plugins/core/prd/components/agent-input.tsx +7 -8
  468. package/src/plugins/core/prd/components/component-editor/content-section.tsx +3 -3
  469. package/src/plugins/core/prd/components/component-editor/position-section.tsx +3 -4
  470. package/src/plugins/core/prd/components/component-editor/style-fields.tsx +13 -16
  471. package/src/plugins/core/prd/components/dialog/create-prd-dialog.tsx +11 -12
  472. package/src/plugins/core/prd/components/dialog/prd-detail-client.tsx +7 -9
  473. package/src/plugins/core/prd/components/page-version-panel/components/create-version-dialog.tsx +7 -8
  474. package/src/plugins/core/prd/components/page-version-panel/components/delete-version-dialog.tsx +5 -6
  475. package/src/plugins/core/prd/components/page-version-panel/components/edit-version-dialog.tsx +7 -8
  476. package/src/plugins/core/prd/components/page-version-panel/constants.tsx +3 -2
  477. package/src/plugins/core/prd/components/page-version-panel.tsx +43 -45
  478. package/src/plugins/core/prd/components/page-version-tree.tsx +6 -8
  479. package/src/plugins/core/prd/components/prd-agent-panel.tsx +29 -23
  480. package/src/plugins/core/prd/components/prd-comment-review-panel.tsx +21 -23
  481. package/src/plugins/core/prd/components/prd-component-editor-content.tsx +6 -7
  482. package/src/plugins/core/prd/components/prd-dashboard.tsx +28 -23
  483. package/src/plugins/core/prd/components/prd-doc-panel.tsx +6 -9
  484. package/src/plugins/core/prd/components/prd-editor-layout.tsx +11 -13
  485. package/src/plugins/core/prd/components/prd-filter-bar.tsx +2 -3
  486. package/src/plugins/core/prd/components/prd-left-sidebar.tsx +19 -20
  487. package/src/plugins/core/prd/components/prd-navigation.tsx +12 -14
  488. package/src/plugins/core/prd/components/prd-outline-tab.tsx +3 -4
  489. package/src/plugins/core/prd/components/prd-prototype-panel.tsx +8 -10
  490. package/src/plugins/core/prd/components/prd-right-sidebar.tsx +10 -12
  491. package/src/plugins/core/prd/components/prd-share-panel/components/single-version-share-card.tsx +13 -14
  492. package/src/plugins/core/prd/components/prd-share-panel/constants.ts +5 -3
  493. package/src/plugins/core/prd/components/prd-share-panel.tsx +58 -60
  494. package/src/plugins/core/prd/components/prd-tree-page-tab.tsx +20 -22
  495. package/src/plugins/core/prd/components/prototype/PrototypeCanvas.tsx +2 -4
  496. package/src/plugins/core/prd/components/prototype/PrototypeElement.tsx +3 -5
  497. package/src/plugins/core/prd/components/prototype/ResizeHandles.tsx +0 -1
  498. package/src/plugins/core/prd/components/prototype/icon-components.ts +19 -21
  499. package/src/plugins/core/prd/components/prototype/index.ts +3 -0
  500. package/src/plugins/core/prd/components/restore-version-dialog.tsx +5 -7
  501. package/src/plugins/core/prd/components/share/prd-share-client.tsx +7 -9
  502. package/src/plugins/core/prd/components/share/share-annotation-overlay.tsx +0 -1
  503. package/src/plugins/core/prd/components/share/share-comment-panel.tsx +15 -16
  504. package/src/plugins/core/prd/components/share/share-comment-review-panel.tsx +7 -9
  505. package/src/plugins/core/prd/components/share/share-directory-tree.tsx +3 -5
  506. package/src/plugins/core/prd/components/share/share-doc-view.tsx +3 -5
  507. package/src/plugins/core/prd/components/share/share-layout.tsx +3 -5
  508. package/src/plugins/core/prd/components/share/share-nav-bar.tsx +3 -5
  509. package/src/plugins/core/prd/components/share/share-password-gate.tsx +8 -9
  510. package/src/plugins/core/prd/components/share/share-prototype-view.tsx +3 -5
  511. package/src/plugins/core/prd/components/share/share-review-panel.tsx +9 -11
  512. package/src/plugins/core/prd/components/share/share-sse-listener.tsx +0 -1
  513. package/src/plugins/core/prd/components/share/version-share-client.tsx +3 -5
  514. package/src/plugins/core/prd/pages/prd-detail-page.tsx +9 -21
  515. package/src/plugins/core/prd/pages/share-prd-page.tsx +6 -16
  516. package/src/plugins/core/prd/prd-nav.tsx +2 -3
  517. package/src/plugins/core/tags/nav-tag.tsx +14 -15
  518. package/src/plugins/core/tags/pages/tag-detail-page.tsx +3 -5
  519. package/src/plugins/core/tags/pages/tag-settings-page.tsx +3 -5
  520. package/src/plugins/core/tags/pages/tags-index-page.tsx +3 -5
  521. package/src/plugins/core/tags/tag-badge.tsx +2 -3
  522. package/src/plugins/core/tags/tag-color-picker.tsx +2 -4
  523. package/src/plugins/core/tags/tag-manager.tsx +23 -25
  524. package/src/plugins/core/tags/tag-selector.tsx +4 -5
  525. package/src/plugins/modules.gen.ts +21 -0
  526. package/src/plugins/plugins.gen.ts +20 -0
  527. package/src/plugins/ui.gen.ts +8 -0
  528. package/src/providers/index.tsx +3 -14
  529. package/src/routeTree.gen.ts +27 -0
  530. package/src/router.tsx +16 -6
  531. package/src/routes/__desktop/onboarding/route.lazy.tsx +22 -23
  532. package/src/routes/__root.tsx +13 -36
  533. package/src/routes/__tests__/-edition-routing.test.tsx +151 -0
  534. package/src/routes/_login/forgot-password/route.lazy.tsx +14 -15
  535. package/src/routes/_login/login/route.lazy.tsx +26 -25
  536. package/src/routes/_login/register/route.lazy.tsx +23 -24
  537. package/src/routes/_login/reset-password/route.lazy.tsx +16 -17
  538. package/src/routes/_login/schemas/-auth.ts +11 -13
  539. package/src/routes/_nav/acceptance-criteria/route.tsx +2 -3
  540. package/src/routes/_nav/apps/anyhub/$id/route.tsx +2 -3
  541. package/src/routes/_nav/chat/route.lazy.tsx +9 -10
  542. package/src/routes/_nav/dashboard/-components/activity-feed.tsx +3 -4
  543. package/src/routes/_nav/dashboard/-components/quick-actions.tsx +3 -4
  544. package/src/routes/_nav/dashboard/-components/stats-grid.tsx +5 -6
  545. package/src/routes/_nav/dashboard/route.lazy.tsx +7 -8
  546. package/src/routes/_nav/design/$projectId/$artboardId/route.lazy.tsx +7 -9
  547. package/src/routes/_nav/design/$projectId/route.lazy.tsx +3 -5
  548. package/src/routes/_nav/design/index.lazy.tsx +26 -27
  549. package/src/routes/_nav/inspiration/route.tsx +8 -0
  550. package/src/routes/_nav/knowledge/$kbId/doc/$docId/route.lazy.tsx +4 -5
  551. package/src/routes/_nav/knowledge/$kbId/route.lazy.tsx +3 -4
  552. package/src/routes/_nav/knowledge/bookmarks/$id.lazy.tsx +29 -30
  553. package/src/routes/_nav/knowledge/bookmarks/index.lazy.tsx +12 -13
  554. package/src/routes/_nav/knowledge/compliance/$id.lazy.tsx +22 -23
  555. package/src/routes/_nav/knowledge/compliance/index.lazy.tsx +18 -19
  556. package/src/routes/_nav/knowledge/dictionaries/$id.lazy.tsx +5 -6
  557. package/src/routes/_nav/knowledge/dictionaries/index.lazy.tsx +17 -18
  558. package/src/routes/_nav/knowledge/index.lazy.tsx +248 -40
  559. package/src/routes/_nav/knowledge/laws/$id.lazy.tsx +22 -23
  560. package/src/routes/_nav/knowledge/laws/index.lazy.tsx +14 -15
  561. package/src/routes/_nav/knowledge/summary/index.lazy.tsx +31 -32
  562. package/src/routes/_nav/notifications/route.lazy.tsx +3 -4
  563. package/src/routes/_nav/notifications/route.tsx +2 -0
  564. package/src/routes/_nav/notion-like/route.tsx +2 -3
  565. package/src/routes/_nav/prd/$id/route.tsx +9 -0
  566. package/src/routes/_nav/prd/index.tsx +9 -0
  567. package/src/routes/_nav/prd/route.tsx +8 -0
  568. package/src/routes/_nav/pricing-02/route.tsx +2 -3
  569. package/src/routes/_nav/projects/$projectId/$storyId/route.lazy.tsx +23 -24
  570. package/src/routes/_nav/projects/$projectId/index.lazy.tsx +54 -74
  571. package/src/routes/_nav/projects/$projectId/iterations/$iterationId/route.lazy.tsx +27 -30
  572. package/src/routes/_nav/projects/$projectId/iterations/index.lazy.tsx +9 -10
  573. package/src/routes/_nav/projects/$projectId/route.tsx +4 -2
  574. package/src/routes/_nav/projects/$projectId/settings/route.lazy.tsx +40 -41
  575. package/src/routes/_nav/route.tsx +13 -16
  576. package/src/routes/_nav/settings/-settings-tabs.tsx +24 -51
  577. package/src/routes/_nav/settings/account/route.lazy.tsx +1 -9
  578. package/src/routes/_nav/settings/ai/index/route.lazy.tsx +5 -6
  579. package/src/routes/_nav/settings/billing/route.lazy.tsx +4 -5
  580. package/src/routes/_nav/settings/connection/route.lazy.tsx +14 -10
  581. package/src/routes/_nav/settings/design/route.lazy.tsx +21 -22
  582. package/src/routes/_nav/settings/general/route.lazy.tsx +10 -11
  583. package/src/routes/_nav/settings/notifications/route.lazy.tsx +3 -5
  584. package/src/routes/_nav/settings/privacy/route.lazy.tsx +15 -16
  585. package/src/routes/_nav/settings/route.lazy.tsx +2 -3
  586. package/src/routes/_nav/settings/route.tsx +10 -15
  587. package/src/routes/_nav/settings/team/route.lazy.tsx +1 -9
  588. package/src/routes/_nav/tags/$id/route.tsx +8 -0
  589. package/src/routes/_nav/tags/index.tsx +8 -0
  590. package/src/routes/_nav/tags/route.tsx +8 -0
  591. package/src/routes/_nav/tags/settings/route.tsx +9 -0
  592. package/src/routes/_nav/test-cases/route.tsx +2 -3
  593. package/src/routes/_nav/workspaces/$workspaceId/activities/route.lazy.tsx +69 -0
  594. package/src/routes/_nav/workspaces/$workspaceId/activities/route.tsx +28 -0
  595. package/src/routes/_nav/workspaces/$workspaceId/route.lazy.tsx +194 -99
  596. package/src/routes/_nav/workspaces/$workspaceId/route.tsx +12 -3
  597. package/src/routes/_nav/workspaces/$workspaceId/settings/route.lazy.tsx +75 -61
  598. package/src/routes/_nav/workspaces/index.lazy.tsx +196 -22
  599. package/src/routes/_nav/workspaces/route.tsx +2 -0
  600. package/src/routes/_public/index/route.tsx +5 -1
  601. package/src/routes/invite/$token/route.lazy.tsx +36 -37
  602. package/src/routes/share/$versionId/route.lazy.tsx +4 -11
  603. package/src/routes/share/compliance/$id/route.lazy.tsx +6 -8
  604. package/src/routes/share/law/$id/route.lazy.tsx +6 -8
  605. package/src/routes/share/prd/$prdId/route.tsx +10 -0
  606. package/src/server/__tests__/agent-client-graph.test.ts +4 -8
  607. package/src/server/ai-ports.ts +7 -6
  608. package/src/server/builtin-project.ts +43 -0
  609. package/src/server/design/sketch/file-storage.ts +1 -1
  610. package/src/server/pro-services.ts +1 -1
  611. package/src/server/serverFns/__tests__/workspace.test.ts +101 -0
  612. package/src/server/serverFns/activity.ts +15 -9
  613. package/src/server/serverFns/knowledge-public/bookmarks/list.ts +1 -1
  614. package/src/server/serverFns/knowledge-public/bookmarks/share.ts +3 -3
  615. package/src/server/serverFns/knowledge-public/compliance/share.ts +3 -3
  616. package/src/server/serverFns/knowledge-public/dictionary/share.ts +3 -3
  617. package/src/server/serverFns/knowledge-public/legal/share.ts +3 -3
  618. package/src/server/serverFns/knowledge.ts +27 -2
  619. package/src/server/serverFns/notifications.ts +3 -0
  620. package/src/server/serverFns/project.ts +48 -35
  621. package/src/server/serverFns/story/story-crud/bulk.ts +2 -2
  622. package/src/server/serverFns/story/story-crud.ts +9 -7
  623. package/src/server/serverFns/story/story-groups.ts +6 -6
  624. package/src/server/serverFns/workspace.ts +334 -13
  625. package/src/server-entry.ts +29 -0
  626. package/vite.shared.ts +4 -1
  627. package/src/components/layout/sidebar-03/logo.tsx +0 -41
  628. package/src/i18n/__tests__/detect.test.ts +0 -48
  629. package/src/i18n/__tests__/integration.test.tsx +0 -32
  630. package/src/i18n/__tests__/server.test.ts +0 -33
  631. package/src/i18n/client.ts +0 -32
  632. package/src/i18n/config.ts +0 -116
  633. package/src/i18n/detect.ts +0 -43
  634. package/src/i18n/locales/en/agents.json +0 -134
  635. package/src/i18n/locales/en/apps.json +0 -6
  636. package/src/i18n/locales/en/auth.json +0 -90
  637. package/src/i18n/locales/en/billing.json +0 -78
  638. package/src/i18n/locales/en/chat.json +0 -194
  639. package/src/i18n/locales/en/common.json +0 -242
  640. package/src/i18n/locales/en/dashboard.json +0 -38
  641. package/src/i18n/locales/en/design.json +0 -70
  642. package/src/i18n/locales/en/desktop.json +0 -35
  643. package/src/i18n/locales/en/display.json +0 -37
  644. package/src/i18n/locales/en/editor.json +0 -304
  645. package/src/i18n/locales/en/enterprise.json +0 -1
  646. package/src/i18n/locales/en/invite.json +0 -56
  647. package/src/i18n/locales/en/iterations.json +0 -92
  648. package/src/i18n/locales/en/knowledge.json +0 -462
  649. package/src/i18n/locales/en/mindmap.json +0 -28
  650. package/src/i18n/locales/en/notifications.json +0 -79
  651. package/src/i18n/locales/en/prd.json +0 -51
  652. package/src/i18n/locales/en/projects.json +0 -140
  653. package/src/i18n/locales/en/settings.json +0 -428
  654. package/src/i18n/locales/en/share.json +0 -20
  655. package/src/i18n/locales/en/story.json +0 -923
  656. package/src/i18n/locales/en/tags.json +0 -42
  657. package/src/i18n/locales/en/workspace.json +0 -90
  658. package/src/i18n/locales/zh/agents.json +0 -134
  659. package/src/i18n/locales/zh/apps.json +0 -6
  660. package/src/i18n/locales/zh/auth.json +0 -90
  661. package/src/i18n/locales/zh/billing.json +0 -78
  662. package/src/i18n/locales/zh/chat.json +0 -194
  663. package/src/i18n/locales/zh/common.json +0 -242
  664. package/src/i18n/locales/zh/dashboard.json +0 -38
  665. package/src/i18n/locales/zh/design.json +0 -70
  666. package/src/i18n/locales/zh/desktop.json +0 -35
  667. package/src/i18n/locales/zh/display.json +0 -37
  668. package/src/i18n/locales/zh/editor.json +0 -304
  669. package/src/i18n/locales/zh/enterprise.json +0 -1
  670. package/src/i18n/locales/zh/invite.json +0 -56
  671. package/src/i18n/locales/zh/iterations.json +0 -92
  672. package/src/i18n/locales/zh/knowledge.json +0 -462
  673. package/src/i18n/locales/zh/mindmap.json +0 -28
  674. package/src/i18n/locales/zh/notifications.json +0 -79
  675. package/src/i18n/locales/zh/prd.json +0 -51
  676. package/src/i18n/locales/zh/projects.json +0 -140
  677. package/src/i18n/locales/zh/settings.json +0 -428
  678. package/src/i18n/locales/zh/share.json +0 -20
  679. package/src/i18n/locales/zh/story.json +0 -923
  680. package/src/i18n/locales/zh/tags.json +0 -42
  681. package/src/i18n/locales/zh/workspace.json +0 -90
  682. package/src/i18n/server.ts +0 -18
  683. package/src/i18n/types.ts +0 -5
  684. package/src/server/serverFns/locale.ts +0 -20
@@ -1,923 +0,0 @@
1
- {
2
- "categories": {
3
- "prd": {
4
- "label": "PRD",
5
- "tooltip": "关联 PRD",
6
- "placeholder": "关联 PRD 文档"
7
- },
8
- "ui": {
9
- "label": "UI",
10
- "tooltip": "关联 UI 设计",
11
- "placeholder": "关联 UI 设计稿"
12
- },
13
- "bug": {
14
- "label": "BUG",
15
- "tooltip": "关联 BUG",
16
- "placeholder": "关联 BUG"
17
- },
18
- "testCase": {
19
- "label": "测试用例",
20
- "tooltip": "关联测试用例",
21
- "placeholder": "关联测试用例"
22
- },
23
- "acceptance": {
24
- "label": "验收",
25
- "tooltip": "关联验收标准",
26
- "placeholder": "关联验收标准"
27
- },
28
- "retro": {
29
- "label": "复盘",
30
- "tooltip": "关联复盘",
31
- "placeholder": "关联复盘"
32
- }
33
- },
34
- "relations": {
35
- "dependencyTitle": "阻塞、先开始、先完成",
36
- "dependency": "依赖关系",
37
- "addDependency": "添加依赖关系",
38
- "itemCount": "{{count}} 项",
39
- "uploadAttachment": "上传附件",
40
- "attachment": "附件",
41
- "linksTitle": "外部链接",
42
- "links": "链接",
43
- "knowledgeTitle": "关联 PRD 与知识文档",
44
- "knowledge": "知识库"
45
- },
46
- "attachments": {
47
- "title": "附件",
48
- "add": "添加附件",
49
- "uploadTitle": "上传附件",
50
- "clickToSelect": "点击选择文件",
51
- "cancel": "取消",
52
- "uploading": "上传中...",
53
- "upload": "上传",
54
- "selectFile": "请选择文件",
55
- "uploaded": "附件已上传",
56
- "uploadFailed": "上传附件失败",
57
- "removed": "已移除附件",
58
- "removeFailed": "移除附件失败",
59
- "empty": "暂无附件"
60
- },
61
- "hierarchy": {
62
- "childAdded": "已添加子需求",
63
- "addChildFailed": "添加子需求失败",
64
- "childRemoved": "已移除子需求",
65
- "removeChildFailed": "移除子需求失败",
66
- "parent": "父需求",
67
- "noParent": "无父需求",
68
- "setParent": "设置父需求",
69
- "children": "子需求",
70
- "addChild": "添加子需求",
71
- "searchStory": "搜索需求...",
72
- "selectChild": "选择子需求",
73
- "noChildren": "暂无子需求"
74
- },
75
- "links": {
76
- "title": "连接 Links",
77
- "add": "添加",
78
- "addTitle": "添加连接",
79
- "editTitle": "编辑连接",
80
- "titleOptional": "标题(可选)",
81
- "titlePlaceholder": "连接标题",
82
- "descOptional": "描述(可选)",
83
- "descPlaceholder": "连接描述",
84
- "cancel": "取消",
85
- "update": "更新",
86
- "updated": "已更新连接",
87
- "added": "已添加连接",
88
- "saveFailed": "保存连接失败",
89
- "removed": "已移除连接",
90
- "removeFailed": "移除连接失败",
91
- "empty": "暂无连接"
92
- },
93
- "knowledge": {
94
- "searchPrdFailed": "搜索 PRD 失败",
95
- "searchDocFailed": "搜索文档失败",
96
- "docLinked": "已关联文档",
97
- "linkDocFailed": "关联文档失败",
98
- "docUnlinked": "已取消关联文档",
99
- "unlinkDocFailed": "取消关联文档失败",
100
- "noResults": "无搜索结果",
101
- "docTitle": "关联知识文档",
102
- "linkDoc": "关联文档",
103
- "searchDocTitle": "搜索并关联知识文档",
104
- "searchDocPlaceholder": "搜索文档标题...",
105
- "noDocs": "暂无关联文档"
106
- },
107
- "properties": {
108
- "title": "属性",
109
- "basic": "基础",
110
- "parent": "父需求",
111
- "labels": "标签",
112
- "iteration": "迭代"
113
- },
114
- "children": {
115
- "addChild": "添加子需求",
116
- "createChild": "创建子需求",
117
- "selectChild": "选择子需求",
118
- "childStories": "子需求",
119
- "updateFailed": "更新失败",
120
- "archiveOnlyDone": "仅已完成/已取消的需求可归档",
121
- "archived": "已归档",
122
- "archiveFailed": "归档失败",
123
- "unarchived": "已取消归档",
124
- "unarchiveFailed": "取消归档失败",
125
- "deleted": "已删除",
126
- "deleteFailed": "删除失败",
127
- "selectStory": "选择 {{name}}",
128
- "crossProject": "跨项目需求",
129
- "startDate": "开始日期",
130
- "dueDate": "截止日期",
131
- "removeChild": "移出子需求",
132
- "archive": "归档",
133
- "delete": "删除",
134
- "unarchive": "取消归档",
135
- "deleteTitle": "删除需求",
136
- "deleteDescription": "删除后无法恢复,所有评论、活动记录和相关数据将被永久清除。",
137
- "removedChild": "已移出子需求",
138
- "removeChildFailed": "移出子需求失败",
139
- "bulkArchivedSkipped": "已归档 {{archived}} 条,跳过 {{skipped}} 条非已完成/已取消",
140
- "bulkArchived": "已归档 {{count}} 条",
141
- "bulkDeleted": "已删除 {{count}} 条需求",
142
- "bulkUpdated": "已更新选中子需求",
143
- "bulkUpdateFailed": "批量更新失败"
144
- },
145
- "state": {
146
- "backlog": "待规划",
147
- "todo": "待办",
148
- "in_progress": "进行中",
149
- "done": "已完成",
150
- "cancelled": "已取消"
151
- },
152
- "priority": {
153
- "urgent": "紧急",
154
- "high": "高",
155
- "medium": "中",
156
- "low": "低",
157
- "none": "无"
158
- },
159
- "activity": {
160
- "created": "创建了需求",
161
- "updated": "更新了需求",
162
- "commented": "评论了需求",
163
- "state_changed": "状态",
164
- "priority_changed": "优先级",
165
- "assignee_changed": "负责人",
166
- "name_changed": "标题",
167
- "description_changed": "描述",
168
- "startDate_changed": "开始日期",
169
- "targetDate_changed": "截止日期",
170
- "label_changed": "标签",
171
- "identifier_changed": "需求编号",
172
- "project_transferred": "转移项目",
173
- "parent_changed": "变更父需求",
174
- "parent_removed": "移除父需求",
175
- "child_added": "添加了子需求 {{value}}",
176
- "dependency_added": "添加了依赖关系 {{value}}",
177
- "dependency_removed": "移除了依赖关系 {{value}}",
178
- "link_added": "添加了链接 {{value}}",
179
- "link_updated": "更新了链接 {{value}}",
180
- "link_removed": "移除了链接 {{value}}",
181
- "attachment_added": "上传了附件 {{value}}",
182
- "attachment_updated": "更新了附件 {{value}}",
183
- "attachment_removed": "删除了附件 {{value}}",
184
- "kb_linked": "关联了 {{value}} 个知识库文档",
185
- "kb_unlinked": "取消了知识库文档关联 {{value}}",
186
- "prd_unlinked": "取消了 PRD 关联 {{value}}",
187
- "iteration_changed": "移动了迭代",
188
- "verb": {
189
- "added": "添加了",
190
- "changed": "修改了"
191
- },
192
- "changedState": "{{verb}}{{field}}为{{state}}",
193
- "changedField": "{{verb}}{{field}}",
194
- "empty": "暂无活动记录",
195
- "mergedTitle": "合并了 {{count}} 次连续操作(3 分钟内)",
196
- "merged": "合并 {{count}} 次",
197
- "ai": "AI操作",
198
- "expand": "展开显示",
199
- "collapse": "折叠显示",
200
- "dependency_updated": "更新了依赖关系 {{value}}"
201
- },
202
- "dependency": {
203
- "optionGroups": {
204
- "dependsOn": "此需求依赖所选需求",
205
- "dependents": "所选需求依赖此需求"
206
- },
207
- "options": {
208
- "blocked_by": "在所选需求结束之后开始",
209
- "starts_after": "在所选需求开始之后开始",
210
- "finishes_after": "在所选需求结束之后结束",
211
- "blocking": "所选需求在我结束之后才能开始",
212
- "starts_before": "所选需求在我开始之后才能开始",
213
- "finishes_before": "所选需求在我结束之后才能结束"
214
- },
215
- "labels": {
216
- "blocked_by": "我在对方结束之后开始",
217
- "starts_after": "我在对方开始之后开始",
218
- "finishes_after": "我在对方结束之后结束",
219
- "blocking": "对方在我结束之后开始",
220
- "starts_before": "对方在我开始之后开始",
221
- "finishes_before": "对方在我结束之后结束"
222
- },
223
- "tooltips": {
224
- "blocked_by": "{{me}}(当前) 在 {{identifier}} 结束之后开始",
225
- "starts_after": "{{me}}(当前) 在 {{identifier}} 开始之后开始",
226
- "finishes_after": "{{me}}(当前) 在 {{identifier}} 结束之后结束",
227
- "blocking": "{{identifier}} 在 {{me}}(当前) 结束之后才能开始",
228
- "starts_before": "{{identifier}} 在 {{me}}(当前) 开始之后才能开始",
229
- "finishes_before": "{{identifier}} 在 {{me}}(当前) 结束之后才能结束"
230
- },
231
- "dependsOnTitle": "此需求依赖",
232
- "dependentsTitle": "依赖此需求",
233
- "add": "添加依赖",
234
- "remove": "移除依赖",
235
- "added": "已添加 {{count}} 条依赖",
236
- "addPartialFailed": "{{failed}} 条添加失败:{{reasons}}",
237
- "alreadyExists": "依赖关系已存在",
238
- "removed": "已移除依赖",
239
- "removeFailed": "移除依赖失败",
240
- "addFailed": "添加依赖失败",
241
- "networkFailed": "网络请求失败,请确认服务已启动",
242
- "bulkUpdated": "已更新选中依赖需求",
243
- "errors": {
244
- "SELF": "不能依赖自身",
245
- "DUPLICATED": "依赖关系已存在",
246
- "CYCLE": "会形成循环依赖"
247
- },
248
- "typePlaceholder": "选择依赖方式",
249
- "updated": "已更新依赖关系",
250
- "updateFailed": "更新依赖关系失败"
251
- },
252
- "group": {
253
- "all": "全部",
254
- "unassigned": "未指派",
255
- "unknown_user": "未知用户",
256
- "no_labels": "无标签",
257
- "no_project": "独立需求",
258
- "assignee": "负责人",
259
- "createdBy": "创建人",
260
- "selectAll": "全选 {{label}}",
261
- "addTo": "添加需求到{{label}}",
262
- "loading": "加载中...",
263
- "loadMore": "显示更多",
264
- "add": "添加需求",
265
- "loadingData": "数据加载中"
266
- },
267
- "filters": {
268
- "clearAll": "清除所有结果",
269
- "archiveAll": "全部归档",
270
- "unassignedAssignee": "未指派负责人"
271
- },
272
- "filter": {
273
- "field": {
274
- "title": "标题",
275
- "state": "状态",
276
- "priority": "优先级",
277
- "assignee": "负责人",
278
- "label": "标签",
279
- "createdDate": "创建日期",
280
- "targetDate": "截止日期"
281
- },
282
- "operator": {
283
- "is": "是",
284
- "is_not": "不是",
285
- "is_any_of": "是任一",
286
- "is_not_any_of": "不是任一",
287
- "is_empty": "为空",
288
- "is_not_empty": "不为空",
289
- "before": "早于",
290
- "after": "晚于",
291
- "on_or_before": "不晚于",
292
- "on_or_after": "不早于",
293
- "between": "介于",
294
- "contains": "包含",
295
- "not_contains": "不包含"
296
- },
297
- "single": "单选",
298
- "multi": "多选",
299
- "addCondition": "添加条件",
300
- "allAdded": "已添加所有筛选条件",
301
- "label": "筛选",
302
- "clear": "清空筛选",
303
- "cancel": "取消筛选",
304
- "saveAsView": "保存为视图",
305
- "toggleOpen": "条件筛选",
306
- "selectRange": "选择范围...",
307
- "selectDate": "选择日期...",
308
- "unassignedAssignee": "未指派负责人"
309
- },
310
- "table": {
311
- "empty": "暂无需求,点击右上角「添加需求」创建"
312
- },
313
- "display": {
314
- "displayOptions": "显示选项",
315
- "viewGrouping": "视图分组",
316
- "group": {
317
- "state": "状态",
318
- "priority": "优先级",
319
- "assignee": "负责人",
320
- "labels": "标签",
321
- "createdBy": "创建者",
322
- "project": "项目",
323
- "none": "不分组"
324
- },
325
- "subGroup": "子分组",
326
- "order": {
327
- "manual": "手动排序",
328
- "created": "创建时间",
329
- "updated": "更新时间",
330
- "startDate": "开始日期",
331
- "dueDate": "截止日期",
332
- "priority": "优先级"
333
- },
334
- "asc": "正序",
335
- "desc": "倒序",
336
- "showProperties": "显示属性",
337
- "extraOptions": "附加选项",
338
- "showEmptyGroups": "显示空分组",
339
- "showSubItems": "展开子需求",
340
- "pageSize": "每页加载条数",
341
- "property": {
342
- "id": "ID",
343
- "project": "项目",
344
- "assignee": "负责人",
345
- "startDate": "开始日期",
346
- "dueDate": "截止日期",
347
- "labels": "标签",
348
- "priority": "优先级",
349
- "state": "状态",
350
- "subCount": "子需求数",
351
- "attachmentCount": "附件数"
352
- }
353
- },
354
- "view": {
355
- "default": "默认视图",
356
- "noViews": "暂无视图",
357
- "common": "通用视图",
358
- "projectViews": "{{name}} 的视图",
359
- "create": "创建视图",
360
- "title": "视图",
361
- "edit": "编辑",
362
- "delete": "删除",
363
- "deleteTitle": "删除视图",
364
- "deleteConfirmMsg": "确认删除视图「{{name}}」?此操作不可撤销。",
365
- "cancel": "取消",
366
- "deleteConfirm": "确认删除",
367
- "createView": "创建新视图",
368
- "editView": "编辑视图",
369
- "saveFailed": "保存失败",
370
- "allProjects": "所有项目通用",
371
- "namePlaceholder": "视图名称",
372
- "createNew": "创建新视图",
373
- "update": "更新视图",
374
- "descPlaceholder": "视图描述",
375
- "filterConditions": "筛选条件",
376
- "saving": "保存中…",
377
- "save": "保存",
378
- "icon": {
379
- "list": "列表",
380
- "flag": "旗标",
381
- "user": "用户",
382
- "tag": "标签",
383
- "calendar": "日历",
384
- "grid": "网格",
385
- "kanban": "看板",
386
- "range": "日程",
387
- "branch": "分支",
388
- "inbox": "收件",
389
- "star": "星标",
390
- "bookmark": "书签"
391
- },
392
- "layout": {
393
- "list": "列表",
394
- "board": "看板",
395
- "calendar": "日历",
396
- "table": "表格",
397
- "timeline": "时间轴"
398
- }
399
- },
400
- "column": {
401
- "identifier": "需求 ID",
402
- "title": "标题",
403
- "state": "状态",
404
- "priority": "优先级",
405
- "assignee": "负责人",
406
- "startDate": "开始",
407
- "dueDate": "截止",
408
- "links": "连接",
409
- "attachments": "附件",
410
- "pages": "知识库",
411
- "labels": "标签",
412
- "createdBy": "创建者"
413
- },
414
- "ai": {
415
- "selectAll": "全选",
416
- "itemCount": "共 {{count}} 条"
417
- },
418
- "create": {
419
- "requireTitle": "请输入需求标题",
420
- "failed": "创建失败",
421
- "title": "创建新需求",
422
- "addDescription": "点击添加需求描述",
423
- "shortcuts": "⌘+Z 撤销 · ⌘+Y 还原",
424
- "startDate": "开始日期",
425
- "dueDate": "截止日期",
426
- "continuous": "连续创建",
427
- "cancel": "取消",
428
- "creating": "创建中...",
429
- "create": "创建"
430
- },
431
- "inline": {
432
- "notSelected": "未选择",
433
- "assignee": "负责人",
434
- "searchMembers": "搜索成员",
435
- "searchProjectMembers": "搜索项目成员",
436
- "searchTeamMembers": "搜索团队成员",
437
- "noMatchMembers": "无匹配成员",
438
- "scopeProject": "项目",
439
- "scopeTeam": "团队",
440
- "switchToProject": "切换到项目成员",
441
- "switchToTeam": "切换到团队成员",
442
- "labels": "标签",
443
- "labelCount": "{{count}} 个标签",
444
- "noLabels": "暂无标签",
445
- "aiGenerate": "AI 生成",
446
- "aiNeedName": "请先填写需求名称",
447
- "aiLoading": "AI 生成中…",
448
- "aiEmpty": "AI 未生成到合适的标签",
449
- "aiFailed": "AI 生成标签失败",
450
- "aiNew": "新",
451
- "aiApply": "应用",
452
- "aiRegenerate": "重新生成",
453
- "aiApplied": "已应用 {{count}} 个标签",
454
- "addParent": "添加父需求",
455
- "selectParent": "选择父需求",
456
- "titlePlaceholder": "输入标题...",
457
- "clear": "清除",
458
- "dateShort": "{{month}}月{{day}}日"
459
- },
460
- "loadedAll": "已加载全部",
461
- "select": {
462
- "defaultTitle": "选择需求",
463
- "loadListFailed": "加载需求列表失败",
464
- "loadMoreFailed": "加载更多失败",
465
- "selected": "已选择 {{count}} 条需求",
466
- "setSuccess": "需求设置成功",
467
- "setFailed": "设置失败",
468
- "state": "状态",
469
- "priority": "优先级",
470
- "allProjects": "全部项目",
471
- "noAvailable": "暂无可用需求",
472
- "noMatchCurrent": "没有符合条件的需求",
473
- "loading": "加载中...",
474
- "selectedCount": "已选择 {{count}} 条",
475
- "pleaseSelect": "请选择需求",
476
- "cancel": "取消",
477
- "confirmWithCount": "确认选择 ({{count}})",
478
- "confirm": "确认选择"
479
- },
480
- "search": {
481
- "searchStory": "搜索需求...",
482
- "searchFailed": "搜索失败",
483
- "searching": "搜索中...",
484
- "noResults": "无结果"
485
- },
486
- "peek": {
487
- "loadFailed": "加载失败",
488
- "parentStory": "父需求",
489
- "currentStory": "当前需求",
490
- "childStory": "子需求",
491
- "dependentStory": "依赖需求"
492
- },
493
- "comment": {
494
- "failed": "评论失败",
495
- "retry": "请稍后重试",
496
- "placeholder": "写下你的评论...",
497
- "markdownHint": "支持 Markdown,⌘+Enter 发送",
498
- "cancel": "取消",
499
- "sending": "发送中...",
500
- "send": "发送",
501
- "editFailed": "修改失败",
502
- "confirmDelete": "确定删除这条评论吗?",
503
- "deleteFailed": "删除失败",
504
- "operationFailed": "操作失败",
505
- "edit": "编辑",
506
- "delete": "删除",
507
- "save": "保存",
508
- "reply": "回复",
509
- "collapseReplies": "收起回复",
510
- "viewReplies": "查看 {{count}} 条回复"
511
- },
512
- "activityTab": {
513
- "all": "全部",
514
- "activities": "活动",
515
- "comments": "评论 ({{count}})",
516
- "records": "活动记录"
517
- },
518
- "reaction": {
519
- "add": "添加"
520
- },
521
- "detail": {
522
- "operationFailed": "操作反馈失败",
523
- "saveFailed": "保存失败",
524
- "startDate": "开始日期",
525
- "dueDate": "截止日期",
526
- "belongsTo": "所属项目",
527
- "copied": "已复制 {{identifier}}",
528
- "copyFailed": "复制失败",
529
- "clickToCopy": "点击复制需求 ID",
530
- "showLess": "显示更少",
531
- "showMore": "显示更多",
532
- "addReaction": "添加反馈",
533
- "createdBy": "创建者",
534
- "createdAt": "创建时间",
535
- "updatedAt": "更新时间"
536
- },
537
- "panel": {
538
- "mode": {
539
- "sidePeek": "侧边面板",
540
- "modal": "居中浮窗",
541
- "fullScreen": "全屏浮窗"
542
- },
543
- "back": "返回",
544
- "collapse": "收起面板",
545
- "close": "关闭",
546
- "linkCopied": "链接已复制",
547
- "copyFailed": "复制失败",
548
- "archived": "已归档",
549
- "archiveFailed": "归档失败",
550
- "deleted": "已删除",
551
- "fullscreen": "全屏显示",
552
- "switchLayout": "切换布局",
553
- "previousStory": "上一条需求",
554
- "nextStory": "下一条需求",
555
- "copyLink": "复制链接",
556
- "more": "更多操作",
557
- "archive": "归档",
558
- "delete": "删除",
559
- "deleteTitle": "删除需求",
560
- "deleteDescription": "删除后无法恢复,所有评论、活动记录和相关数据将被永久清除。"
561
- },
562
- "transfer": {
563
- "filteredTip": "已过滤{{count}}条{{project}}项目的需求",
564
- "doneWithFailures": "转移完成:成功 {{success}} 条,失败 {{failed}} 条",
565
- "transferredToProject": "已将 {{count}} 条需求转移到所选项目",
566
- "transferred": "已转移到所选项目",
567
- "failed": "转移失败",
568
- "asChildDone": "已将 {{count}} 条需求转移为子需求",
569
- "transfer": "转移需求",
570
- "transferCount": "转移 {{count}} 条需求",
571
- "toProjectCount": "将 {{count}} 条需求转移到项目",
572
- "toProject": "将需求转移到项目",
573
- "noProjects": "没有可转移的项目",
574
- "asChild": "转为子需求",
575
- "transferring": "转移中...",
576
- "confirm": "确认转移",
577
- "asChildOfProject": "转为其他项目的子需求"
578
- },
579
- "relation": {
580
- "none": "无"
581
- },
582
- "batchPreview": {
583
- "select": "选择 {{name}}",
584
- "confirmDelete": "确认删除{{count}}条需求",
585
- "copied": "已复制到剪贴板",
586
- "invalidConfirm": "请正确输入确认文字",
587
- "archiveTitle": "批量归档",
588
- "deleteTitle": "批量删除",
589
- "archiveDesc": "仅归档状态为「已完成 / 已取消」的需求",
590
- "deleteDesc": "删除后不可恢复,请谨慎操作",
591
- "confirmArchive": "确认归档",
592
- "confirmDeleteBtn": "确认删除",
593
- "searchPlaceholder": "搜索需求标题或ID",
594
- "noMatch": "没有匹配的需求",
595
- "noneArchivable": "已选需求中没有可归档的(非已完成/已取消)",
596
- "noStories": "暂无需求",
597
- "selectAll": "全选",
598
- "selectedCount": "已选 {{count}} 条",
599
- "confirmHint": "二次确认:",
600
- "copyHint": "点击复制确认文字",
601
- "copyAria": "复制确认文字",
602
- "confirmPlaceholder": "复制左侧确认文案,粘贴到这里后,确认删除",
603
- "cancel": "取消",
604
- "processing": "处理中..."
605
- },
606
- "time": {
607
- "justNow": "刚刚",
608
- "minutesAgo": "{{count}} 分钟前",
609
- "hoursAgo": "{{count}} 小时前",
610
- "daysAgo": "{{count}} 天前"
611
- },
612
- "toolbar": {
613
- "archived": "归档需求",
614
- "project": "项目",
615
- "allProjects": "全部项目",
616
- "createProject": "创建项目",
617
- "total": "共 {{count}} 条",
618
- "searchPlaceholder": "搜索需求 ID 或标题",
619
- "addStory": "添加需求",
620
- "collect": "收集需求",
621
- "import": "导入需求",
622
- "export": "导出需求"
623
- },
624
- "listView": {
625
- "noArchiveable": "当前没有可归档的需求",
626
- "archiveFailed": "归档失败",
627
- "archiveDoneWithFailures": "归档完成:成功 {{success}} 条,失败 {{failed}} 条",
628
- "archiveDone": "已归档 {{count}} 条需求",
629
- "archiveAllTitle": "确认全部归档",
630
- "archiveAllDescription": "确定要归档当前筛选的 {{count}} 条需求吗?归档后将不再显示在当前列表中。",
631
- "archiving": "归档中...",
632
- "confirmArchive": "确认归档"
633
- },
634
- "list": {
635
- "createFailed": "创建失败",
636
- "movedUp": "已上移",
637
- "movedDown": "已下移",
638
- "moveFailed": "移动失败",
639
- "bulkArchivedSkipped": "已归档 {{archived}} 条,跳过 {{skipped}} 条非已完成/已取消",
640
- "bulkArchived": "已归档 {{count}} 条",
641
- "archiveFailed": "归档失败",
642
- "bulkDeleted": "已删除 {{count}} 条需求",
643
- "deleteFailed": "删除失败",
644
- "bulkUpdated": "已更新选中需求",
645
- "bulkUpdateFailed": "批量更新失败"
646
- },
647
- "batchToolbar": {
648
- "selected": "已选 {{count}} 条",
649
- "clear": "清空所选",
650
- "moveUp": "组内上移",
651
- "moveDown": "组内下移",
652
- "transfer": "批量转移",
653
- "archive": "批量归档",
654
- "delete": "批量删除",
655
- "startDate": "开始日期",
656
- "dueDate": "截止日期"
657
- },
658
- "row": {
659
- "updateFailed": "更新失败",
660
- "startDate": "开始日期",
661
- "dueDate": "截止日期"
662
- },
663
- "inlineCreator": {
664
- "placeholder": "输入标题...Enter添加,Esc取消",
665
- "startDate": "开始日期",
666
- "dueDate": "截止日期",
667
- "create": "创建",
668
- "cancel": "取消"
669
- },
670
- "kanban": {
671
- "empty": "空",
672
- "noStories": "暂无需求",
673
- "orderFailed": "排序失败",
674
- "groupUpdated": "已更新分组",
675
- "moveFailed": "移动失败"
676
- },
677
- "calendar": {
678
- "weekdays": [
679
- "日",
680
- "一",
681
- "二",
682
- "三",
683
- "四",
684
- "五",
685
- "六"
686
- ],
687
- "today": "今天",
688
- "monthTitle": "{{year}}年{{month}}月",
689
- "month": "月",
690
- "week": "周",
691
- "unscheduled": "未排期 ({{count}})",
692
- "createNew": "新建 {{date}}",
693
- "more": "更多",
694
- "dayStories": "{{date}} 当天的需求({{count}})",
695
- "dateUpdated": "已更新开始日期",
696
- "dateUpdateFailed": "更新日期失败"
697
- },
698
- "timeline": {
699
- "noScheduled": "暂无已排期需求",
700
- "dateUpdated": "已更新排期",
701
- "dateUpdateFailed": "更新排期失败"
702
- },
703
- "storyAi": {
704
- "actionRegistry": {
705
- "generate": {
706
- "label": "生成",
707
- "hint": "根据标题生成需求"
708
- },
709
- "expand": {
710
- "label": "扩写",
711
- "hint": "补充实现细节与背景"
712
- },
713
- "polish": {
714
- "label": "润色",
715
- "hint": "使表述更清晰专业"
716
- },
717
- "split": {
718
- "label": "拆需求",
719
- "hint": "AI 拆解为子需求"
720
- },
721
- "testCase": {
722
- "label": "写测例",
723
- "hint": "生成测试用例"
724
- },
725
- "acceptance": {
726
- "label": "写验收",
727
- "hint": "补充验收标准"
728
- },
729
- "prototype": {
730
- "label": "画原型",
731
- "hint": "在 PRD 画板绘制原型"
732
- },
733
- "ui": {
734
- "label": "画UI",
735
- "hint": "在设计画板绘制 UI"
736
- },
737
- "code": {
738
- "label": "写代码",
739
- "hint": "生成代码"
740
- }
741
- },
742
- "panel": {
743
- "needContent": "请先输入内容",
744
- "needParentStory": "请先选择父需求",
745
- "noValidResult": "AI 未生成有效需求,请调整描述后重试",
746
- "generationFailed": "AI 生成失败",
747
- "emptyNames": "部分需求名称为空,请补充后再创建",
748
- "createdSuccess": "已创建 {{count}} 条需求",
749
- "createFailed": "{{count}} 条创建失败",
750
- "aiNotConfigured": "请先在设置中配置 AI 服务",
751
- "goToSettings": "前往设置",
752
- "createTab": "AI 创建",
753
- "splitTab": "拆需求",
754
- "importTab": "批量导入",
755
- "inputPlaceholder": "描述你的需求,例如:实现用户登录功能,支持邮箱密码登录、忘记密码、第三方微信登录,登录后跳转工作台...",
756
- "projectLabel": "归属项目(可选)",
757
- "generating": "生成中...",
758
- "aiGenerate": "AI 生成",
759
- "parentLabel": "父需求",
760
- "selectedLabel": "已选:",
761
- "searchParent": "搜索父需求...",
762
- "selectParent": "选择要拆解的父需求",
763
- "childLabel": "子需求(挂到父需求下)",
764
- "independentLabel": "独立需求",
765
- "splitPlaceholder": "可补充拆解要求(可选),留空则按父需求内容自动拆解",
766
- "splitting": "拆解中...",
767
- "aiSplit": "AI 拆解",
768
- "pastePlaceholder": "粘贴需求清单,例如:\n1. 用户登录\n2. 找回密码\n3. 个人资料编辑",
769
- "recognizing": "识别中...",
770
- "aiRecognize": "AI 识别",
771
- "streaming": "流式生成中...",
772
- "stop": "停止",
773
- "create": "创建",
774
- "itemCount": "条需求"
775
- },
776
- "split": {
777
- "noValidResult": "AI 未生成有效需求,请调整描述后重试",
778
- "generationFailed": "AI 生成失败",
779
- "selectAtLeastOne": "请至少勾选一条有效需求",
780
- "createdSuccess": "创建完成:{{done}}/{{total}}",
781
- "failuresDesc": "{{count}} 个失败,请检查后重试",
782
- "createFailed": "创建失败,请重试",
783
- "title": "AI拆需求",
784
- "asChildTitle": "拆为子需求",
785
- "asChildBadge": "挂到父需求下",
786
- "parentLabel": "父需求:",
787
- "asIndependentTitle": "拆为独立需求",
788
- "asIndependentDesc": "不挂到父需求下,创建为单独的需求",
789
- "extraPromptPlaceholder": "补充拆解要求,可以拆得更细、更具体(可选)",
790
- "totalPrefix": "共",
791
- "totalSuffix": "条",
792
- "deselectAll": "全不选",
793
- "selectAll": "全选",
794
- "splittingMessage": "AI 正在拆解需求…",
795
- "clickToSplit": "点击下方按钮,AI 将自动拆解需求",
796
- "stop": "停止",
797
- "redo": "重新拆解",
798
- "split": "拆解",
799
- "confirmCreate": "确认创建",
800
- "extraPromptPrefix": "补充拆解要求:"
801
- },
802
- "prototype": {
803
- "inputPlaceholder": "请输入页面描述",
804
- "generationFailed": "原型生成失败",
805
- "copied": "已复制到剪贴板",
806
- "title": "画原型",
807
- "description": "描述你想要的页面,AI 自动生成原型组件布局",
808
- "example": "例如:一个用户列表页,包含搜索栏、筛选下拉框、数据表格(姓名/邮箱/状态/操作)和分页",
809
- "generating": "生成中...",
810
- "generate": "生成原型",
811
- "componentLib": "(组件库)"
812
- },
813
- "toolbar": {
814
- "underDevelopment": "该功能正在开发中,敬请期待",
815
- "model": "模型",
816
- "noModels": "暂无可用模型,请先在设置中配置 AI 服务",
817
- "stop": "停止",
818
- "replace": "替换",
819
- "discard": "丢弃",
820
- "currentStory": "当前需求"
821
- },
822
- "more": {
823
- "selectModel": "选择模型",
824
- "title": "更多",
825
- "noModels": "暂无可用模型,请先在设置中配置 AI 服务"
826
- },
827
- "streamText": {
828
- "generationFailed": "AI 生成失败",
829
- "descriptionTooLong": "描述超出 20000 字上限,请精简后重试"
830
- }
831
- },
832
- "linkDialog": {
833
- "title": "添加链接",
834
- "button": "链接",
835
- "addTitle": "添加链接",
836
- "editTitle": "编辑链接",
837
- "url": "URL",
838
- "urlPlaceholder": "https://example.com",
839
- "titleOptional": "标题(选填)",
840
- "titlePlaceholder": "链接标题",
841
- "descOptional": "描述(选填)",
842
- "descPlaceholder": "补充说明…",
843
- "add": "添加",
844
- "save": "保存",
845
- "cancel": "取消",
846
- "listTitle": "已有链接",
847
- "empty": "暂无链接",
848
- "added": "链接已添加",
849
- "updated": "链接已更新",
850
- "removed": "链接已删除",
851
- "saveFailed": "链接保存失败",
852
- "removeFailed": "链接删除失败"
853
- },
854
- "attachmentDialog": {
855
- "title": "上传附件",
856
- "editTitle": "编辑附件",
857
- "button": "附件",
858
- "upload": "点击或拖拽上传",
859
- "uploadHint": "单文件不超过 10MB",
860
- "sizeLimit": "文件过大:{{name}} 超过 10MB 限制",
861
- "downloadDisabled": "存储服务暂未接入,暂不支持下载",
862
- "empty": "暂无附件",
863
- "removed": "附件已删除",
864
- "removeFailed": "附件删除失败",
865
- "removeConfirmTitle": "删除附件",
866
- "removeConfirmDesc": "确定删除「{{name}}」?此操作不可撤销。",
867
- "uploading": "上传中…",
868
- "descOptional": "描述(选填)",
869
- "descPlaceholder": "补充说明…",
870
- "cancel": "取消",
871
- "confirmUpload": "确认上传",
872
- "continueUpload": "继续上传",
873
- "removeFile": "移除",
874
- "batchDescDisabled": "批量上传时不支持添加描述",
875
- "toggleTitle": "显示标题",
876
- "hideTitle": "隐藏标题",
877
- "uploaded": "已上传 {{count}} 个附件",
878
- "duplicateBadge": "重复",
879
- "duplicateHint": "上传时会自动过滤重复文件"
880
- },
881
- "knowledgeDialog": {
882
- "title": "选择知识库",
883
- "button": "知识库",
884
- "searchPlaceholder": "搜索页面标题…",
885
- "allKbs": "全部知识库",
886
- "selectedCount": "已选 {{count}} 项",
887
- "confirm": "确认",
888
- "cancel": "取消",
889
- "linked": "已关联",
890
- "empty": "暂无匹配页面",
891
- "linkFailed": "关联失败",
892
- "partialFailed": "{{count}} 项超出可用范围,未关联",
893
- "userKbs": "我的知识库",
894
- "generalKbs": "通用知识库",
895
- "groupLegal": "法律法规",
896
- "groupCompliance": "行业合规",
897
- "groupDictionary": "词典词条",
898
- "groupBookmark": "网站收藏",
899
- "groupSummary": "周报月报",
900
- "selectAll": "全选"
901
- },
902
- "associatedAttachments": {
903
- "title": "关联附件",
904
- "list": "列表",
905
- "preview": "预览",
906
- "open": "打开链接",
907
- "edit": "编辑",
908
- "remove": "删除",
909
- "goToDoc": "前往知识库页面",
910
- "removeLink": "取消关联",
911
- "confirmRemoveAttachment": "确定删除附件「{{name}}」?",
912
- "add": "添加",
913
- "groupLink": "链接",
914
- "groupAttachment": "附件",
915
- "groupKb": "知识库",
916
- "download": "下载",
917
- "fullscreen": "全屏预览",
918
- "exitFullscreen": "退出全屏",
919
- "filter": "筛选",
920
- "filterByType": "按类型筛选",
921
- "filterAll": "全部类型"
922
- }
923
- }