@allbluecn/web-app 0.9.5 → 0.10.2

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": "Link PRD",
6
- "placeholder": "Link PRD documents"
7
- },
8
- "ui": {
9
- "label": "UI",
10
- "tooltip": "Link UI design",
11
- "placeholder": "Link UI design files"
12
- },
13
- "bug": {
14
- "label": "BUG",
15
- "tooltip": "Link bug",
16
- "placeholder": "Link bug"
17
- },
18
- "testCase": {
19
- "label": "Test Case",
20
- "tooltip": "Link test cases",
21
- "placeholder": "Link test cases"
22
- },
23
- "acceptance": {
24
- "label": "Acceptance",
25
- "tooltip": "Link acceptance criteria",
26
- "placeholder": "Link acceptance criteria"
27
- },
28
- "retro": {
29
- "label": "Retrospective",
30
- "tooltip": "Link retrospective",
31
- "placeholder": "Link retrospective"
32
- }
33
- },
34
- "relations": {
35
- "dependencyTitle": "Blocking, starts before, finishes before",
36
- "dependency": "Dependencies",
37
- "addDependency": "Add dependency",
38
- "itemCount": "{{count}} items",
39
- "uploadAttachment": "Upload attachment",
40
- "attachment": "Attachments",
41
- "linksTitle": "External links",
42
- "links": "Links",
43
- "knowledgeTitle": "Link PRD and knowledge docs",
44
- "knowledge": "Knowledge"
45
- },
46
- "attachments": {
47
- "title": "Attachments",
48
- "add": "Add attachment",
49
- "uploadTitle": "Upload attachment",
50
- "clickToSelect": "Click to select a file",
51
- "cancel": "Cancel",
52
- "uploading": "Uploading...",
53
- "upload": "Upload",
54
- "selectFile": "Please select a file",
55
- "uploaded": "Attachment uploaded",
56
- "uploadFailed": "Failed to upload attachment",
57
- "removed": "Attachment removed",
58
- "removeFailed": "Failed to remove attachment",
59
- "empty": "No attachments"
60
- },
61
- "hierarchy": {
62
- "childAdded": "Sub-story added",
63
- "addChildFailed": "Failed to add sub-story",
64
- "childRemoved": "Sub-story removed",
65
- "removeChildFailed": "Failed to remove sub-story",
66
- "parent": "Parent story",
67
- "noParent": "No parent story",
68
- "setParent": "Set parent story",
69
- "children": "Sub-stories",
70
- "addChild": "Add sub-story",
71
- "searchStory": "Search stories...",
72
- "selectChild": "Select sub-story",
73
- "noChildren": "No sub-stories"
74
- },
75
- "links": {
76
- "title": "Links",
77
- "add": "Add",
78
- "addTitle": "Add link",
79
- "editTitle": "Edit link",
80
- "titleOptional": "Title (optional)",
81
- "titlePlaceholder": "Link title",
82
- "descOptional": "Description (optional)",
83
- "descPlaceholder": "Link description",
84
- "cancel": "Cancel",
85
- "update": "Update",
86
- "updated": "Link updated",
87
- "added": "Link added",
88
- "saveFailed": "Failed to save link",
89
- "removed": "Link removed",
90
- "removeFailed": "Failed to remove link",
91
- "empty": "No links"
92
- },
93
- "knowledge": {
94
- "searchPrdFailed": "Failed to search PRDs",
95
- "searchDocFailed": "Failed to search docs",
96
- "docLinked": "Document linked",
97
- "linkDocFailed": "Failed to link document",
98
- "docUnlinked": "Document unlinked",
99
- "unlinkDocFailed": "Failed to unlink document",
100
- "noResults": "No search results",
101
- "docTitle": "Link knowledge documents",
102
- "linkDoc": "Link document",
103
- "searchDocTitle": "Search and link knowledge documents",
104
- "searchDocPlaceholder": "Search document titles...",
105
- "noDocs": "No linked documents"
106
- },
107
- "properties": {
108
- "title": "Properties",
109
- "basic": "General",
110
- "parent": "Parent story",
111
- "labels": "Labels",
112
- "iteration": "Iteration"
113
- },
114
- "children": {
115
- "addChild": "Add sub-story",
116
- "createChild": "Create sub-story",
117
- "selectChild": "Select sub-story",
118
- "childStories": "Sub-stories",
119
- "updateFailed": "Update failed",
120
- "archiveOnlyDone": "Only stories in 'Done' or 'Cancelled' can be archived",
121
- "archived": "Archived",
122
- "archiveFailed": "Failed to archive",
123
- "unarchived": "Restored from archive",
124
- "unarchiveFailed": "Failed to restore from archive",
125
- "deleted": "Deleted",
126
- "deleteFailed": "Failed to delete",
127
- "selectStory": "Select {{name}}",
128
- "crossProject": "Cross-project story",
129
- "startDate": "Start date",
130
- "dueDate": "Due date",
131
- "removeChild": "Remove from children",
132
- "archive": "Archive",
133
- "delete": "Delete",
134
- "unarchive": "Restore",
135
- "deleteTitle": "Delete Story",
136
- "deleteDescription": "This cannot be undone. All comments, activity records and related data will be permanently deleted.",
137
- "removedChild": "Removed from children",
138
- "removeChildFailed": "Failed to remove from children",
139
- "bulkArchivedSkipped": "Archived {{archived}} stories, skipped {{skipped}} not in Done/Cancelled",
140
- "bulkArchived": "Archived {{count}} stories",
141
- "bulkDeleted": "Deleted {{count}} stories",
142
- "bulkUpdated": "Updated selected sub-stories",
143
- "bulkUpdateFailed": "Failed to bulk update"
144
- },
145
- "state": {
146
- "backlog": "Backlog",
147
- "todo": "To Do",
148
- "in_progress": "In Progress",
149
- "done": "Done",
150
- "cancelled": "Cancelled"
151
- },
152
- "priority": {
153
- "urgent": "Urgent",
154
- "high": "High",
155
- "medium": "Medium",
156
- "low": "Low",
157
- "none": "None"
158
- },
159
- "activity": {
160
- "created": "Created story",
161
- "updated": "Updated story",
162
- "commented": "Commented",
163
- "state_changed": "Status",
164
- "priority_changed": "Priority",
165
- "assignee_changed": "Assignee",
166
- "name_changed": "Title",
167
- "description_changed": "Description",
168
- "startDate_changed": "Start date",
169
- "targetDate_changed": "Due date",
170
- "label_changed": "Labels",
171
- "identifier_changed": "Reset story ID",
172
- "project_transferred": "Transferred story",
173
- "parent_changed": "Parent story",
174
- "parent_removed": "Parent story",
175
- "child_added": "Added sub-story {{value}}",
176
- "dependency_added": "Added dependency {{value}}",
177
- "dependency_removed": "Removed dependency {{value}}",
178
- "link_added": "Added link {{value}}",
179
- "link_updated": "Updated link {{value}}",
180
- "link_removed": "Removed link {{value}}",
181
- "attachment_added": "Uploaded attachment {{value}}",
182
- "attachment_updated": "Updated attachment {{value}}",
183
- "attachment_removed": "Deleted attachment {{value}}",
184
- "kb_linked": "Linked {{value}} knowledge base documents",
185
- "kb_unlinked": "Unlinked knowledge base document {{value}}",
186
- "prd_unlinked": "Unlinked PRD {{value}}",
187
- "iteration_changed": "moved iteration",
188
- "verb": {
189
- "added": "Added",
190
- "changed": "Changed"
191
- },
192
- "changedState": "{{verb}} {{field}} to {{state}}",
193
- "changedField": "{{verb}} {{field}}",
194
- "empty": "No activity records",
195
- "mergedTitle": "Merged {{count}} consecutive operations (within 3 minutes)",
196
- "merged": "Merged {{count}} times",
197
- "ai": "AI action",
198
- "expand": "Expand",
199
- "collapse": "Collapse",
200
- "dependency_updated": "Updated dependency {{value}}"
201
- },
202
- "dependency": {
203
- "optionGroups": {
204
- "dependsOn": "This story depends on the selected one",
205
- "dependents": "The selected one depends on this story"
206
- },
207
- "options": {
208
- "blocked_by": "Start after the selected item finishes",
209
- "starts_after": "Start after the selected item starts",
210
- "finishes_after": "Finish after the selected item finishes",
211
- "blocking": "The selected item starts only after this one finishes",
212
- "starts_before": "The selected item starts only after this one starts",
213
- "finishes_before": "The selected item finishes only after this one finishes"
214
- },
215
- "labels": {
216
- "blocked_by": "I start after the other finishes",
217
- "starts_after": "I start after the other starts",
218
- "finishes_after": "I finish after the other finishes",
219
- "blocking": "The other starts after I finish",
220
- "starts_before": "The other starts after I start",
221
- "finishes_before": "The other finishes after I finish"
222
- },
223
- "tooltips": {
224
- "blocked_by": "{{me}} (current) starts after {{identifier}} finishes",
225
- "starts_after": "{{me}} (current) starts after {{identifier}} starts",
226
- "finishes_after": "{{me}} (current) finishes after {{identifier}} finishes",
227
- "blocking": "{{identifier}} starts only after {{me}} (current) finishes",
228
- "starts_before": "{{identifier}} starts only after {{me}} (current) starts",
229
- "finishes_before": "{{identifier}} finishes only after {{me}} (current) finishes"
230
- },
231
- "dependsOnTitle": "Depends on",
232
- "dependentsTitle": "Dependents",
233
- "add": "Add dependency",
234
- "remove": "Remove dependency",
235
- "added": "Added {{count}} dependencies",
236
- "addPartialFailed": "{{failed}} failed: {{reasons}}",
237
- "alreadyExists": "Dependency already exists",
238
- "removed": "Dependency removed",
239
- "removeFailed": "Failed to remove dependency",
240
- "addFailed": "Failed to add dependency",
241
- "networkFailed": "Network request failed. Please make sure the server is running.",
242
- "bulkUpdated": "Updated selected dependent stories",
243
- "errors": {
244
- "SELF": "Cannot depend on itself",
245
- "DUPLICATED": "Dependency already exists",
246
- "CYCLE": "Would create a circular dependency"
247
- },
248
- "typePlaceholder": "Select dependency",
249
- "updated": "Dependency updated",
250
- "updateFailed": "Failed to update dependency"
251
- },
252
- "group": {
253
- "all": "All",
254
- "unassigned": "Unassigned",
255
- "unknown_user": "Unknown user",
256
- "no_labels": "No labels",
257
- "no_project": "Standalone stories",
258
- "assignee": "Assignee",
259
- "createdBy": "Created by",
260
- "selectAll": "Select all {{label}}",
261
- "addTo": "Add story to {{label}}",
262
- "loading": "Loading...",
263
- "loadMore": "Show more",
264
- "add": "Add story",
265
- "loadingData": "Loading data"
266
- },
267
- "filters": {
268
- "clearAll": "Clear all filters",
269
- "archiveAll": "Archive all",
270
- "unassignedAssignee": "Unassigned"
271
- },
272
- "filter": {
273
- "field": {
274
- "title": "Title",
275
- "state": "Status",
276
- "priority": "Priority",
277
- "assignee": "Assignee",
278
- "label": "Label",
279
- "createdDate": "Created date",
280
- "targetDate": "Due date"
281
- },
282
- "operator": {
283
- "is": "is",
284
- "is_not": "is not",
285
- "is_any_of": "is any of",
286
- "is_not_any_of": "is none of",
287
- "is_empty": "is empty",
288
- "is_not_empty": "is not empty",
289
- "before": "before",
290
- "after": "after",
291
- "on_or_before": "on or before",
292
- "on_or_after": "on or after",
293
- "between": "between",
294
- "contains": "contains",
295
- "not_contains": "does not contain"
296
- },
297
- "single": "Single",
298
- "multi": "Multi",
299
- "addCondition": "Add condition",
300
- "allAdded": "All filter conditions added",
301
- "label": "Filter",
302
- "clear": "Clear filters",
303
- "cancel": "Cancel filter",
304
- "saveAsView": "Save as view",
305
- "toggleOpen": "Filter by conditions",
306
- "selectRange": "Select range...",
307
- "selectDate": "Select date...",
308
- "unassignedAssignee": "Unassigned"
309
- },
310
- "table": {
311
- "empty": "No stories yet. Click 'Add Story' in the top right to create one"
312
- },
313
- "display": {
314
- "displayOptions": "Display options",
315
- "viewGrouping": "View grouping",
316
- "group": {
317
- "state": "Status",
318
- "priority": "Priority",
319
- "assignee": "Assignee",
320
- "labels": "Labels",
321
- "createdBy": "Created by",
322
- "project": "Project",
323
- "none": "No grouping"
324
- },
325
- "subGroup": "Sub-group",
326
- "order": {
327
- "manual": "Manual",
328
- "created": "Created time",
329
- "updated": "Updated time",
330
- "startDate": "Start date",
331
- "dueDate": "Due date",
332
- "priority": "Priority"
333
- },
334
- "asc": "Ascending",
335
- "desc": "Descending",
336
- "showProperties": "Show properties",
337
- "extraOptions": "Additional options",
338
- "showEmptyGroups": "Show empty groups",
339
- "showSubItems": "Expand sub-stories",
340
- "pageSize": "Items per page",
341
- "property": {
342
- "id": "ID",
343
- "project": "Project",
344
- "assignee": "Assignee",
345
- "startDate": "Start date",
346
- "dueDate": "Due date",
347
- "labels": "Labels",
348
- "priority": "Priority",
349
- "state": "Status",
350
- "subCount": "Sub-stories",
351
- "attachmentCount": "Attachments"
352
- }
353
- },
354
- "view": {
355
- "default": "Default view",
356
- "noViews": "No views",
357
- "common": "Common views",
358
- "projectViews": "Views of {{name}}",
359
- "create": "Create view",
360
- "title": "Views",
361
- "edit": "Edit",
362
- "delete": "Delete",
363
- "deleteTitle": "Delete View",
364
- "deleteConfirmMsg": "Delete view \"{{name}}\"? This action cannot be undone.",
365
- "cancel": "Cancel",
366
- "deleteConfirm": "Delete",
367
- "createView": "Create New View",
368
- "editView": "Edit View",
369
- "saveFailed": "Failed to save",
370
- "allProjects": "All projects",
371
- "namePlaceholder": "View name",
372
- "createNew": "Create new view",
373
- "update": "Update view",
374
- "descPlaceholder": "View description",
375
- "filterConditions": "Filter conditions",
376
- "saving": "Saving...",
377
- "save": "Save",
378
- "icon": {
379
- "list": "List",
380
- "flag": "Flag",
381
- "user": "User",
382
- "tag": "Tag",
383
- "calendar": "Calendar",
384
- "grid": "Grid",
385
- "kanban": "Kanban",
386
- "range": "Schedule",
387
- "branch": "Branch",
388
- "inbox": "Inbox",
389
- "star": "Star",
390
- "bookmark": "Bookmark"
391
- },
392
- "layout": {
393
- "list": "List",
394
- "board": "Board",
395
- "calendar": "Calendar",
396
- "table": "Table",
397
- "timeline": "Timeline"
398
- }
399
- },
400
- "column": {
401
- "identifier": "Story ID",
402
- "title": "Title",
403
- "state": "Status",
404
- "priority": "Priority",
405
- "assignee": "Assignee",
406
- "startDate": "Start",
407
- "dueDate": "Due",
408
- "links": "Links",
409
- "attachments": "Attachments",
410
- "pages": "Knowledge",
411
- "labels": "Labels",
412
- "createdBy": "Created by"
413
- },
414
- "ai": {
415
- "selectAll": "Select all",
416
- "itemCount": "{{count}} items"
417
- },
418
- "create": {
419
- "requireTitle": "Please enter a story title",
420
- "failed": "Failed to create story",
421
- "title": "Create Story",
422
- "addDescription": "Click to add description",
423
- "shortcuts": "⌘+Z Undo · ⌘+Y Redo",
424
- "startDate": "Start date",
425
- "dueDate": "Due date",
426
- "continuous": "Create continuously",
427
- "cancel": "Cancel",
428
- "creating": "Creating...",
429
- "create": "Create"
430
- },
431
- "inline": {
432
- "notSelected": "Not set",
433
- "assignee": "Assignee",
434
- "searchMembers": "Search members",
435
- "searchProjectMembers": "Search project members",
436
- "searchTeamMembers": "Search team members",
437
- "noMatchMembers": "No matching members",
438
- "scopeProject": "Project",
439
- "scopeTeam": "Team",
440
- "switchToProject": "Switch to project members",
441
- "switchToTeam": "Switch to team members",
442
- "labels": "Labels",
443
- "labelCount": "{{count}} labels",
444
- "noLabels": "No labels",
445
- "aiGenerate": "AI Generate",
446
- "aiNeedName": "Enter a story name first",
447
- "aiLoading": "Generating…",
448
- "aiEmpty": "No suitable labels generated",
449
- "aiFailed": "Failed to generate labels",
450
- "aiNew": "New",
451
- "aiApply": "Apply",
452
- "aiRegenerate": "Regenerate",
453
- "aiApplied": "Applied {{count}} labels",
454
- "addParent": "Add parent story",
455
- "selectParent": "Select parent story",
456
- "titlePlaceholder": "Enter title...",
457
- "clear": "Clear",
458
- "dateShort": "{{month}}/{{day}}"
459
- },
460
- "loadedAll": "All loaded",
461
- "select": {
462
- "defaultTitle": "Select story",
463
- "loadListFailed": "Failed to load stories",
464
- "loadMoreFailed": "Failed to load more",
465
- "selected": "{{count}} stories selected",
466
- "setSuccess": "Story updated",
467
- "setFailed": "Update failed",
468
- "state": "Status",
469
- "priority": "Priority",
470
- "allProjects": "All projects",
471
- "noAvailable": "No available stories",
472
- "noMatchCurrent": "No stories match the current conditions",
473
- "loading": "Loading...",
474
- "selectedCount": "{{count}} selected",
475
- "pleaseSelect": "Select a story",
476
- "cancel": "Cancel",
477
- "confirmWithCount": "Confirm selection ({{count}})",
478
- "confirm": "Confirm selection"
479
- },
480
- "search": {
481
- "searchStory": "Search stories...",
482
- "searchFailed": "Search failed",
483
- "searching": "Searching...",
484
- "noResults": "No results"
485
- },
486
- "peek": {
487
- "loadFailed": "Failed to load",
488
- "parentStory": "Parent",
489
- "currentStory": "Current",
490
- "childStory": "Child",
491
- "dependentStory": "Dependent"
492
- },
493
- "comment": {
494
- "failed": "Failed to comment",
495
- "retry": "Please try again later",
496
- "placeholder": "Write a comment...",
497
- "markdownHint": "Markdown supported, ⌘+Enter to send",
498
- "cancel": "Cancel",
499
- "sending": "Sending...",
500
- "send": "Send",
501
- "editFailed": "Failed to edit",
502
- "confirmDelete": "Delete this comment?",
503
- "deleteFailed": "Failed to delete",
504
- "operationFailed": "Operation failed",
505
- "edit": "Edit",
506
- "delete": "Delete",
507
- "save": "Save",
508
- "reply": "Reply",
509
- "collapseReplies": "Collapse replies",
510
- "viewReplies": "View {{count}} replies"
511
- },
512
- "activityTab": {
513
- "all": "All",
514
- "activities": "Activities",
515
- "comments": "Comments ({{count}})",
516
- "records": "Activity records"
517
- },
518
- "reaction": {
519
- "add": "Add"
520
- },
521
- "detail": {
522
- "operationFailed": "Reaction failed",
523
- "saveFailed": "Failed to save",
524
- "startDate": "Start date",
525
- "dueDate": "Due date",
526
- "belongsTo": "Belongs to",
527
- "copied": "Copied {{identifier}}",
528
- "copyFailed": "Copy failed",
529
- "clickToCopy": "Click to copy story ID",
530
- "showLess": "Show less",
531
- "showMore": "Show more",
532
- "addReaction": "Add reaction",
533
- "createdBy": "Created by",
534
- "createdAt": "Created at",
535
- "updatedAt": "Updated at"
536
- },
537
- "panel": {
538
- "mode": {
539
- "sidePeek": "Side panel",
540
- "modal": "Modal",
541
- "fullScreen": "Full screen"
542
- },
543
- "back": "Back",
544
- "collapse": "Collapse panel",
545
- "close": "Close",
546
- "linkCopied": "Link copied",
547
- "copyFailed": "Copy failed",
548
- "archived": "Archived",
549
- "archiveFailed": "Failed to archive",
550
- "deleted": "Deleted",
551
- "fullscreen": "Fullscreen",
552
- "switchLayout": "Switch layout",
553
- "previousStory": "Previous story",
554
- "nextStory": "Next story",
555
- "copyLink": "Copy link",
556
- "more": "More actions",
557
- "archive": "Archive",
558
- "delete": "Delete",
559
- "deleteTitle": "Delete Story",
560
- "deleteDescription": "This cannot be undone. All comments, activity records and related data will be permanently deleted."
561
- },
562
- "transfer": {
563
- "filteredTip": "Filtered {{count}} stories from \"{{project}}\"",
564
- "doneWithFailures": "Transfer complete: {{success}} succeeded, {{failed}} failed",
565
- "transferredToProject": "Moved {{count}} stories to the selected project",
566
- "transferred": "Moved to the selected project",
567
- "failed": "Transfer failed",
568
- "asChildDone": "Moved {{count}} stories as sub-stories",
569
- "transfer": "Transfer story",
570
- "transferCount": "Transfer {{count}} stories",
571
- "toProjectCount": "Move {{count}} stories to a project",
572
- "toProject": "Move story to a project",
573
- "noProjects": "No available projects",
574
- "asChild": "Move as sub-story",
575
- "transferring": "Transferring...",
576
- "confirm": "Confirm transfer",
577
- "asChildOfProject": "Move as sub-story of another project"
578
- },
579
- "relation": {
580
- "none": "None"
581
- },
582
- "batchPreview": {
583
- "select": "Select {{name}}",
584
- "confirmDelete": "Delete {{count}} stories",
585
- "copied": "Copied to clipboard",
586
- "invalidConfirm": "Please enter the confirmation text correctly",
587
- "archiveTitle": "Archive in batch",
588
- "deleteTitle": "Delete in batch",
589
- "archiveDesc": "Only stories with status 'Done / Cancelled' will be archived",
590
- "deleteDesc": "This cannot be undone. Please proceed with caution",
591
- "confirmArchive": "Confirm archive",
592
- "confirmDeleteBtn": "Confirm delete",
593
- "searchPlaceholder": "Search stories by title or ID",
594
- "noMatch": "No matching stories",
595
- "noneArchivable": "None of the selected stories can be archived (not Done/Cancelled)",
596
- "noStories": "No stories",
597
- "selectAll": "Select all",
598
- "selectedCount": "{{count}} selected",
599
- "confirmHint": "Confirmation:",
600
- "copyHint": "Click to copy the confirmation text",
601
- "copyAria": "Copy confirmation text",
602
- "confirmPlaceholder": "Paste the confirmation text here to confirm deletion",
603
- "cancel": "Cancel",
604
- "processing": "Processing..."
605
- },
606
- "time": {
607
- "justNow": "Just now",
608
- "minutesAgo": "{{count}} min ago",
609
- "hoursAgo": "{{count}} hr ago",
610
- "daysAgo": "{{count}} days ago"
611
- },
612
- "toolbar": {
613
- "archived": "Archived stories",
614
- "project": "Project",
615
- "allProjects": "All projects",
616
- "createProject": "Create project",
617
- "total": "{{count}} stories",
618
- "searchPlaceholder": "Search stories by ID or title",
619
- "addStory": "Add story",
620
- "collect": "Collect stories",
621
- "import": "Import stories",
622
- "export": "Export stories"
623
- },
624
- "listView": {
625
- "noArchiveable": "No archiveable stories",
626
- "archiveFailed": "Failed to archive",
627
- "archiveDoneWithFailures": "Archive complete: {{success}} succeeded, {{failed}} failed",
628
- "archiveDone": "Archived {{count}} stories",
629
- "archiveAllTitle": "Archive all?",
630
- "archiveAllDescription": "Archive the {{count}} stories matching the current filters? They will no longer appear in the current list.",
631
- "archiving": "Archiving...",
632
- "confirmArchive": "Confirm archive"
633
- },
634
- "list": {
635
- "createFailed": "Failed to create",
636
- "movedUp": "Moved up",
637
- "movedDown": "Moved down",
638
- "moveFailed": "Move failed",
639
- "bulkArchivedSkipped": "Archived {{archived}} stories, skipped {{skipped}} not in Done/Cancelled",
640
- "bulkArchived": "Archived {{count}} stories",
641
- "archiveFailed": "Failed to archive",
642
- "bulkDeleted": "Deleted {{count}} stories",
643
- "deleteFailed": "Failed to delete",
644
- "bulkUpdated": "Updated selected stories",
645
- "bulkUpdateFailed": "Failed to bulk update"
646
- },
647
- "batchToolbar": {
648
- "selected": "{{count}} selected",
649
- "clear": "Clear selection",
650
- "moveUp": "Move up in group",
651
- "moveDown": "Move down in group",
652
- "transfer": "Bulk transfer",
653
- "archive": "Bulk archive",
654
- "delete": "Bulk delete",
655
- "startDate": "Start date",
656
- "dueDate": "Due date"
657
- },
658
- "row": {
659
- "updateFailed": "Update failed",
660
- "startDate": "Start date",
661
- "dueDate": "Due date"
662
- },
663
- "inlineCreator": {
664
- "placeholder": "Enter title... Enter to add, Esc to cancel",
665
- "startDate": "Start date",
666
- "dueDate": "Due date",
667
- "create": "Create",
668
- "cancel": "Cancel"
669
- },
670
- "kanban": {
671
- "empty": "Empty",
672
- "noStories": "No stories",
673
- "orderFailed": "Failed to reorder",
674
- "groupUpdated": "Group updated",
675
- "moveFailed": "Move failed"
676
- },
677
- "calendar": {
678
- "weekdays": [
679
- "Sun",
680
- "Mon",
681
- "Tue",
682
- "Wed",
683
- "Thu",
684
- "Fri",
685
- "Sat"
686
- ],
687
- "today": "Today",
688
- "monthTitle": "{{month}}/{{year}}",
689
- "month": "Month",
690
- "week": "Week",
691
- "unscheduled": "Unscheduled ({{count}})",
692
- "createNew": "Create {{date}}",
693
- "more": "more",
694
- "dayStories": "Stories on {{date}} ({{count}})",
695
- "dateUpdated": "Start date updated",
696
- "dateUpdateFailed": "Failed to update date"
697
- },
698
- "timeline": {
699
- "noScheduled": "No scheduled stories",
700
- "dateUpdated": "Schedule updated",
701
- "dateUpdateFailed": "Failed to update schedule"
702
- },
703
- "storyAi": {
704
- "actionRegistry": {
705
- "generate": {
706
- "label": "Generate",
707
- "hint": "Generate story from title"
708
- },
709
- "expand": {
710
- "label": "Expand",
711
- "hint": "Add implementation details and context"
712
- },
713
- "polish": {
714
- "label": "Polish",
715
- "hint": "Make expression clearer and more professional"
716
- },
717
- "split": {
718
- "label": "Split",
719
- "hint": "AI split into sub-stories"
720
- },
721
- "testCase": {
722
- "label": "Test Cases",
723
- "hint": "Generate test cases"
724
- },
725
- "acceptance": {
726
- "label": "Acceptance",
727
- "hint": "Add acceptance criteria"
728
- },
729
- "prototype": {
730
- "label": "Prototype",
731
- "hint": "Draw prototype on PRD board"
732
- },
733
- "ui": {
734
- "label": "UI Design",
735
- "hint": "Draw UI on design board"
736
- },
737
- "code": {
738
- "label": "Code",
739
- "hint": "Generate code"
740
- }
741
- },
742
- "panel": {
743
- "needContent": "Please enter content first",
744
- "needParentStory": "Please select a parent story first",
745
- "noValidResult": "AI did not generate valid stories, please adjust and retry",
746
- "generationFailed": "AI generation failed",
747
- "emptyNames": "Some story names are empty, please fill them in before creating",
748
- "createdSuccess": "{{count}} stories created",
749
- "createFailed": "{{count}} stories failed to create",
750
- "aiNotConfigured": "Please configure AI service in settings first",
751
- "goToSettings": "Go to settings",
752
- "createTab": "AI Create",
753
- "splitTab": "Split",
754
- "importTab": "Batch Import",
755
- "inputPlaceholder": "Describe your story, e.g.: implement user login with email/password, forgot password, third-party WeChat login, redirect to dashboard after login...",
756
- "projectLabel": "Project (optional)",
757
- "generating": "Generating...",
758
- "aiGenerate": "AI Generate",
759
- "parentLabel": "Parent Story",
760
- "selectedLabel": "Selected: ",
761
- "searchParent": "Search parent story...",
762
- "selectParent": "Select the parent story to split",
763
- "childLabel": "Sub-stories (attached to parent)",
764
- "independentLabel": "Independent",
765
- "splitPlaceholder": "Add split requirements (optional), leave empty to auto-split based on parent story",
766
- "splitting": "Splitting...",
767
- "aiSplit": "AI Split",
768
- "pastePlaceholder": "Paste story list, e.g.:\n1. User Login\n2. Forgot Password\n3. Profile Editing",
769
- "recognizing": "Recognizing...",
770
- "aiRecognize": "AI Recognize",
771
- "streaming": "Streaming...",
772
- "stop": "Stop",
773
- "create": "Create",
774
- "itemCount": " stories"
775
- },
776
- "split": {
777
- "noValidResult": "AI did not generate valid stories, please adjust and retry",
778
- "generationFailed": "AI generation failed",
779
- "selectAtLeastOne": "Please select at least one valid story",
780
- "createdSuccess": "Created: {{done}}/{{total}}",
781
- "failuresDesc": "{{count}} failed, please check and retry",
782
- "createFailed": "Failed to create, please retry",
783
- "title": "AI Split Stories",
784
- "asChildTitle": "Split as sub-stories",
785
- "asChildBadge": "Attach to parent",
786
- "parentLabel": "Parent: ",
787
- "asIndependentTitle": "Split as independent stories",
788
- "asIndependentDesc": "Not attached to parent, created as standalone stories",
789
- "extraPromptPlaceholder": "Add split requirements to split more finely and specifically (optional)",
790
- "totalPrefix": "Total ",
791
- "totalSuffix": " items",
792
- "deselectAll": "Deselect All",
793
- "selectAll": "Select All",
794
- "splittingMessage": "AI is splitting stories...",
795
- "clickToSplit": "Click the button below, AI will automatically split stories",
796
- "stop": "Stop",
797
- "redo": "Re-split",
798
- "split": "Split",
799
- "confirmCreate": "Confirm Create",
800
- "extraPromptPrefix": "Additional split requirements: "
801
- },
802
- "prototype": {
803
- "inputPlaceholder": "Please enter page description",
804
- "generationFailed": "Prototype generation failed",
805
- "copied": "Copied to clipboard",
806
- "title": "Draw Prototype",
807
- "description": "Describe the page you want, AI will auto-generate prototype component layout",
808
- "example": "e.g.: a user list page with search bar, filter dropdown, data table (name/email/status/actions) and pagination",
809
- "generating": "Generating...",
810
- "generate": "Generate Prototype",
811
- "componentLib": "(component library)"
812
- },
813
- "toolbar": {
814
- "underDevelopment": "This feature is under development, stay tuned",
815
- "model": "Model",
816
- "noModels": "No models available, please configure AI service in settings first",
817
- "stop": "Stop",
818
- "replace": "Replace",
819
- "discard": "Discard",
820
- "currentStory": "Current Story"
821
- },
822
- "more": {
823
- "selectModel": "Select Model",
824
- "title": "More",
825
- "noModels": "No models available, please configure AI service in settings first"
826
- },
827
- "streamText": {
828
- "generationFailed": "AI generation failed",
829
- "descriptionTooLong": "Description exceeds 20000 character limit, please shorten and retry"
830
- }
831
- },
832
- "linkDialog": {
833
- "title": "Add Link",
834
- "button": "Link",
835
- "addTitle": "Add Link",
836
- "editTitle": "Edit Link",
837
- "url": "URL",
838
- "urlPlaceholder": "https://example.com",
839
- "titleOptional": "Title (optional)",
840
- "titlePlaceholder": "Link title",
841
- "descOptional": "Description (optional)",
842
- "descPlaceholder": "Additional notes…",
843
- "add": "Add",
844
- "save": "Save",
845
- "cancel": "Cancel",
846
- "listTitle": "Existing links",
847
- "empty": "No links yet",
848
- "added": "Link added",
849
- "updated": "Link updated",
850
- "removed": "Link removed",
851
- "saveFailed": "Failed to save link",
852
- "removeFailed": "Failed to remove link"
853
- },
854
- "attachmentDialog": {
855
- "title": "Upload Attachments",
856
- "editTitle": "Edit Attachment",
857
- "button": "Attachment",
858
- "upload": "Click or drag to upload",
859
- "uploadHint": "Up to 10MB per file",
860
- "sizeLimit": "File too large: {{name}} exceeds 10MB",
861
- "downloadDisabled": "Storage service not available yet, download disabled",
862
- "empty": "No attachments",
863
- "removed": "Attachment removed",
864
- "removeFailed": "Failed to remove attachment",
865
- "removeConfirmTitle": "Remove attachment",
866
- "removeConfirmDesc": "Remove \"{{name}}\"? This cannot be undone.",
867
- "uploading": "Uploading…",
868
- "descOptional": "Description (optional)",
869
- "descPlaceholder": "Additional notes…",
870
- "cancel": "Cancel",
871
- "confirmUpload": "Confirm upload",
872
- "continueUpload": "Continue uploading",
873
- "removeFile": "Remove",
874
- "batchDescDisabled": "Description is not supported for batch uploads",
875
- "toggleTitle": "Show title",
876
- "hideTitle": "Hide title",
877
- "uploaded": "{{count}} attachment(s) uploaded",
878
- "duplicateBadge": "Duplicate",
879
- "duplicateHint": "Duplicates will be filtered on upload"
880
- },
881
- "knowledgeDialog": {
882
- "title": "Select Knowledge Base",
883
- "button": "Knowledge",
884
- "searchPlaceholder": "Search page titles…",
885
- "allKbs": "All knowledge bases",
886
- "selectedCount": "{{count}} selected",
887
- "confirm": "Confirm",
888
- "cancel": "Cancel",
889
- "linked": "Linked",
890
- "empty": "No matching pages",
891
- "linkFailed": "Failed to link",
892
- "partialFailed": "{{count}} item(s) out of scope, not linked",
893
- "userKbs": "My Knowledge Bases",
894
- "generalKbs": "General Knowledge",
895
- "groupLegal": "Laws & Regulations",
896
- "groupCompliance": "Industry Compliance",
897
- "groupDictionary": "Dictionary",
898
- "groupBookmark": "Bookmarks",
899
- "groupSummary": "Reports",
900
- "selectAll": "Select All"
901
- },
902
- "associatedAttachments": {
903
- "title": "Associated Attachments",
904
- "list": "List",
905
- "preview": "Preview",
906
- "open": "Open link",
907
- "edit": "Edit",
908
- "remove": "Remove",
909
- "goToDoc": "Open knowledge page",
910
- "removeLink": "Unlink",
911
- "confirmRemoveAttachment": "Remove attachment \"{{name}}\"?",
912
- "add": "Add",
913
- "groupLink": "Links",
914
- "groupAttachment": "Attachments",
915
- "groupKb": "Knowledge",
916
- "download": "Download",
917
- "fullscreen": "Fullscreen preview",
918
- "exitFullscreen": "Exit fullscreen",
919
- "filter": "Filter",
920
- "filterByType": "Filter by type",
921
- "filterAll": "All types"
922
- }
923
- }