@allbluecn/web-app 0.18.2 → 0.19.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 (761) hide show
  1. package/package.json +66 -51
  2. package/src/__tests__/components/auth/auth-layout.test.tsx +13 -1
  3. package/src/__tests__/{knowledge-public → knowledge/public}/canonical-id.test.ts +1 -1
  4. package/src/__tests__/{knowledge-public → knowledge/public}/favicon.test.ts +1 -1
  5. package/src/__tests__/{knowledge-public → knowledge/public}/github-sync.test.ts +1 -1
  6. package/src/__tests__/{knowledge-public → knowledge/public}/share-merge.test.ts +7 -7
  7. package/src/__tests__/security/xss-sanitize.test.ts +9 -8
  8. package/src/components/ai/__tests__/chat-thread-id-stability.test.tsx +125 -0
  9. package/src/components/ai/ai-chat-prompt.tsx +8 -2
  10. package/src/components/ai/ai-prompt-input/index.tsx +2 -1
  11. package/src/components/ai/global-harness-sidebar/__tests__/global-ai-prompts.test.ts +1 -2
  12. package/src/components/ai/global-harness-sidebar/index.tsx +22 -10
  13. package/src/components/bug/__tests__/board-subgroups.test.tsx +512 -0
  14. package/src/components/bug/__tests__/board-view.test.tsx +350 -0
  15. package/src/components/bug/__tests__/bug-list-loading-defer.test.tsx +85 -0
  16. package/src/components/bug/__tests__/bug-toolbar.test.tsx +7 -1
  17. package/src/components/bug/__tests__/comment-reactions.test.tsx +182 -0
  18. package/src/components/bug/__tests__/date-and-lightbox.test.tsx +96 -0
  19. package/src/components/bug/__tests__/export-entry.test.tsx +217 -0
  20. package/src/components/bug/__tests__/filters-compat.test.tsx +157 -0
  21. package/src/components/bug/__tests__/fix-request-race.test.tsx +396 -0
  22. package/src/components/bug/__tests__/peek-modes.test.tsx +365 -0
  23. package/src/components/bug/__tests__/saved-views.test.tsx +309 -0
  24. package/src/components/bug/__tests__/story-bugs-panel.test.tsx +146 -0
  25. package/src/components/bug/__tests__/subgroup-header.test.tsx +150 -0
  26. package/src/components/bug/__tests__/toolbar-shell.test.tsx +369 -0
  27. package/src/components/bug/__tests__/use-paged-bug-groups.test.tsx +58 -0
  28. package/src/components/bug/__tests__/view-type.test.tsx +247 -0
  29. package/src/components/bug/bug-list-view.tsx +310 -13
  30. package/src/components/bug/bug-panel-header.tsx +84 -8
  31. package/src/components/bug/bug-toolbar.tsx +268 -116
  32. package/src/components/bug/create-bug-dialog.tsx +1 -1
  33. package/src/components/bug/detail/__tests__/activity-timeline.test.tsx +1 -0
  34. package/src/components/bug/detail/__tests__/bug-detail-collab.test.tsx +236 -0
  35. package/src/components/bug/detail/__tests__/repro-report-card.test.tsx +2 -1
  36. package/src/components/bug/detail/activity-timeline.tsx +1 -1
  37. package/src/components/bug/detail/bug-detail-body.tsx +316 -18
  38. package/src/components/bug/detail/comment-item.tsx +7 -2
  39. package/src/components/bug/detail/comment-reactions.tsx +138 -0
  40. package/src/components/bug/detail/error-context.tsx +29 -9
  41. package/src/components/bug/detail/props-section.tsx +31 -3
  42. package/src/components/bug/detail/repro-report-card.tsx +1 -1
  43. package/src/components/bug/display/constants.ts +4 -2
  44. package/src/components/bug/display/display-dropdown.tsx +76 -280
  45. package/src/components/bug/display/types.ts +24 -8
  46. package/src/components/bug/display/use-paged-bug-groups.ts +183 -32
  47. package/src/components/bug/filters/{filter-value-input.tsx → field-configs.tsx} +218 -106
  48. package/src/components/bug/filters/index.tsx +14 -5
  49. package/src/components/bug/inline-editors/assignee-editor.tsx +2 -2
  50. package/src/components/bug/inline-editors/labels-editor.tsx +1 -1
  51. package/src/components/bug/inline-editors/severity-editor.tsx +37 -18
  52. package/src/components/bug/inline-editors/state-editor.tsx +1 -1
  53. package/src/components/bug/peek-panel.tsx +153 -35
  54. package/src/components/bug/select-bug-dialog.tsx +500 -0
  55. package/src/components/bug/story-bugs-panel.tsx +1090 -0
  56. package/src/components/bug/types.ts +9 -2
  57. package/src/components/bug/views/board-view.tsx +661 -0
  58. package/src/components/bug/views/bug-list/batch-toolbar.tsx +25 -34
  59. package/src/components/bug/views/bug-list/group.tsx +28 -13
  60. package/src/components/bug/views/bug-list/index.tsx +223 -59
  61. package/src/components/bug/views/bug-list/row.tsx +7 -1
  62. package/src/components/bug/views/create-view-dialog.tsx +160 -0
  63. package/src/components/bug/views/view-list-section.tsx +140 -0
  64. package/src/components/bug/views/view-selector-button.tsx +145 -0
  65. package/src/components/bug/views/view-switcher.tsx +8 -6
  66. package/src/components/bug/views/view-types.ts +162 -0
  67. package/src/components/collab/__tests__/activity-attribution.test.tsx +211 -0
  68. package/src/components/collab/__tests__/canvas-collab-panel.test.tsx +118 -0
  69. package/src/components/collab/__tests__/collab-presence-header.test.tsx +335 -0
  70. package/src/components/collab/__tests__/entity-presence-badge.test.tsx +226 -0
  71. package/src/components/collab/activity-attribution.tsx +221 -0
  72. package/src/components/collab/canvas-collab-panel.tsx +104 -0
  73. package/src/components/collab/collab-presence-header.tsx +220 -0
  74. package/src/components/collab/entity-presence-badge.tsx +130 -0
  75. package/src/components/collab/field-editing-pill.tsx +137 -0
  76. package/src/components/command/command-palette.tsx +6 -6
  77. package/src/components/design/canvas/document/__tests__/canvas-tree-fixture-snapshot.ts +589 -0
  78. package/src/components/design/canvas/document/__tests__/canvas-tree-reconcile.test.ts +159 -0
  79. package/src/components/design/canvas/panels/toolbar.tsx +3 -2
  80. package/src/components/design/canvas/plugins/presence/__tests__/canvas-collab-wiring.test.tsx +660 -0
  81. package/src/components/design/canvas/plugins/presence/__tests__/layout.test.ts +292 -0
  82. package/src/components/design/canvas/plugins/presence/__tests__/presence-overlay.test.tsx +139 -0
  83. package/src/components/design/canvas/plugins/presence/layout.ts +222 -0
  84. package/src/components/design/canvas/plugins/presence/presence-layer.tsx +353 -0
  85. package/src/components/design/canvas/plugins/presence/presence-overlay.tsx +155 -0
  86. package/src/components/design/canvas/plugins/presence/viewer-badge.tsx +80 -0
  87. package/src/components/design/canvas/react/__tests__/hooks.test.tsx +4 -4
  88. package/src/components/design/editor/collaboration/__tests__/design-agent-panel-regenerate.test.tsx +3 -1
  89. package/src/components/design/editor/collaboration/__tests__/design-agent-panel-stream.test.tsx +3 -1
  90. package/src/components/design/editor/collaboration/design-agent-panel.tsx +3 -0
  91. package/src/components/design/editor/collaboration/design-comment-review-panel.tsx +5 -5
  92. package/src/components/design/editor/dashboard/create-design-dialog.tsx +1 -1
  93. package/src/components/design/editor/dashboard/design-dashboard.tsx +1 -10
  94. package/src/components/design/editor/layout/__tests__/collab-param-wiring.test.tsx +153 -0
  95. package/src/components/design/editor/layout/__tests__/no-page-save-toast.test.tsx +8 -0
  96. package/src/components/design/editor/layout/design-editor-layout.tsx +28 -1
  97. package/src/components/design/editor/layout/design-navigation.tsx +0 -4
  98. package/src/components/design/editor/layout/hooks/__tests__/use-design-auto-save-collab.test.tsx +130 -0
  99. package/src/components/design/editor/layout/hooks/use-design-auto-save.ts +18 -1
  100. package/src/components/design/editor/share/share-comment-panel.tsx +37 -20
  101. package/src/components/design/editor/share/share-layout.tsx +3 -0
  102. package/src/components/design/editor/share/share-nav-bar.tsx +7 -1
  103. package/src/components/design/editor/share/share-theme-toggle.tsx +10 -15
  104. package/src/components/design/editor/tiptap/node/paragraph-node/paragraph-node.scss +1 -1
  105. package/src/components/harness/__tests__/composer-draft.test.ts +126 -0
  106. package/src/components/harness/composer/composer-editor.tsx +64 -6
  107. package/src/components/harness/composer/harness-composer.tsx +1 -1
  108. package/src/components/harness/harness-layout.tsx +1 -1
  109. package/src/components/harness/harness-workbench-page.tsx +6 -1
  110. package/src/components/harness/turn-group.tsx +1 -1
  111. package/src/components/hotkeys/shortcut-badge.tsx +4 -4
  112. package/src/components/knowledge/dialog/knowledge-form-dialog.tsx +1 -1
  113. package/src/components/knowledge/editor/__tests__/knowledge-doc-editor-collab.test.tsx +542 -0
  114. package/src/components/knowledge/editor/doc-header.tsx +7 -49
  115. package/src/components/knowledge/editor/knowledge-doc-editor.tsx +264 -51
  116. package/src/components/knowledge/editor/mindmap-doc-editor.tsx +3 -19
  117. package/src/components/knowledge/knowledge-homepage.tsx +3 -3
  118. package/src/components/knowledge/knowledge-toolbar.tsx +8 -8
  119. package/src/components/{knowledge-public → knowledge/public}/bookmark-form-dialog.tsx +4 -4
  120. package/src/components/{knowledge-public → knowledge/public}/knowledge-card.tsx +1 -15
  121. package/src/components/{knowledge-public → knowledge/public}/knowledge-form-dialog.tsx +9 -9
  122. package/src/components/{knowledge-public → knowledge/public}/legal-compliance-editor.tsx +35 -28
  123. package/src/components/{knowledge-public → knowledge/public}/sharers-avatar-group.tsx +3 -2
  124. package/src/components/layout/layout-responsive-provider.tsx +79 -0
  125. package/src/components/layout/sidebar-03/__tests__/presence-avatar-stack.test.tsx +148 -0
  126. package/src/components/layout/sidebar-03/app-sidebar.tsx +9 -3
  127. package/src/components/layout/sidebar-03/index.tsx +19 -4
  128. package/src/components/layout/sidebar-03/nav-main.tsx +28 -10
  129. package/src/components/layout/sidebar-03/presence-avatar-stack.tsx +112 -0
  130. package/src/components/layout/sidebar-03/user-menu.tsx +3 -3
  131. package/src/components/project/create-project-dialog.tsx +1 -1
  132. package/src/components/project/invite-member-dialog.tsx +1 -1
  133. package/src/components/project/project-activity-list.tsx +2 -2
  134. package/src/components/project/project-member-manager.tsx +2 -2
  135. package/src/components/reui/__tests__/kanban-drop-indicator.test.ts +88 -0
  136. package/src/components/reui/__tests__/kanban-keyboard.test.ts +262 -0
  137. package/src/components/reui/event-calendar/event-calendar-agenda-view.tsx +236 -0
  138. package/src/components/reui/event-calendar/event-calendar-content.tsx +80 -0
  139. package/src/components/reui/event-calendar/event-calendar-dnd.tsx +1062 -0
  140. package/src/components/reui/event-calendar/event-calendar-event.tsx +555 -0
  141. package/src/components/reui/event-calendar/event-calendar-i18n.tsx +291 -0
  142. package/src/components/reui/event-calendar/event-calendar-lib.tsx +677 -0
  143. package/src/components/reui/event-calendar/event-calendar-month-view.tsx +1287 -0
  144. package/src/components/reui/event-calendar/event-calendar-nav.tsx +615 -0
  145. package/src/components/reui/event-calendar/event-calendar-recurrence.tsx +592 -0
  146. package/src/components/reui/event-calendar/event-calendar-resource-view.tsx +810 -0
  147. package/src/components/reui/event-calendar/event-calendar-time-grid.tsx +1366 -0
  148. package/src/components/reui/event-calendar/event-calendar-types.tsx +240 -0
  149. package/src/components/reui/event-calendar/event-calendar.tsx +1916 -0
  150. package/src/components/reui/gantt/__tests__/gantt-row-window.test.ts +243 -0
  151. package/src/components/reui/gantt/__tests__/gantt-view-virtualize.test.tsx +243 -0
  152. package/src/components/reui/gantt/gantt-bar.tsx +439 -0
  153. package/src/components/reui/gantt/gantt-dnd.tsx +1000 -0
  154. package/src/components/reui/gantt/gantt-i18n.tsx +287 -0
  155. package/src/components/reui/gantt/gantt-lib.tsx +695 -0
  156. package/src/components/reui/gantt/gantt-nav.tsx +446 -0
  157. package/src/components/reui/gantt/gantt-recurrence.tsx +402 -0
  158. package/src/components/reui/gantt/gantt-row-window.ts +119 -0
  159. package/src/components/reui/gantt/gantt-types.tsx +283 -0
  160. package/src/components/reui/gantt/gantt-view.tsx +4466 -0
  161. package/src/components/reui/gantt/gantt.tsx +1822 -0
  162. package/src/components/reui/gantt/use-gantt-row-window.ts +159 -0
  163. package/src/components/reui/icon-stack.tsx +90 -0
  164. package/src/components/reui/kanban-keyboard.ts +268 -0
  165. package/src/components/reui/kanban.tsx +1227 -0
  166. package/src/components/settings/personal-team/account/account-client.tsx +3 -2
  167. package/src/components/settings/personal-team/team/invitation-cards/invitation-history-list.tsx +5 -5
  168. package/src/components/settings/personal-team/team/team-client.tsx +2 -1
  169. package/src/components/settings/personal-team/team/team-member-list.tsx +4 -4
  170. package/src/components/share/share-presence-bar.tsx +182 -0
  171. package/src/components/shared-kit/auth/auth-client.ts +5 -0
  172. package/src/components/shared-kit/avatars/__tests__/avatar-shape.test.ts +44 -0
  173. package/src/components/shared-kit/avatars/__tests__/user-avatar.test.tsx +46 -0
  174. package/src/components/{tags/tags-collection.ts → shared-kit/avatars/avatar-shape.ts} +14 -20
  175. package/src/components/shared-kit/avatars/notion-avatar.tsx +62 -11
  176. package/src/components/shared-kit/avatars/user-avatar.tsx +7 -4
  177. package/src/components/shared-kit/list-kit/__tests__/batch-toolbar-shell.test.tsx +133 -0
  178. package/src/components/shared-kit/list-kit/__tests__/frozen-header.test.ts +89 -0
  179. package/src/components/shared-kit/list-kit/__tests__/level-badge.test.tsx +85 -0
  180. package/src/components/shared-kit/list-kit/__tests__/toolbar-shell.test.tsx +178 -0
  181. package/src/components/shared-kit/list-kit/batch-toolbar-shell.tsx +111 -0
  182. package/src/components/shared-kit/list-kit/csv-download.ts +46 -0
  183. package/src/components/shared-kit/list-kit/display/__tests__/dropdown.test.tsx +215 -0
  184. package/src/components/shared-kit/list-kit/display/dropdown.tsx +582 -0
  185. package/src/components/shared-kit/list-kit/display/types.ts +64 -0
  186. package/src/components/shared-kit/list-kit/display/values.ts +60 -0
  187. package/src/components/shared-kit/list-kit/filters/__tests__/create-filters-module.test.tsx +181 -0
  188. package/src/components/shared-kit/list-kit/filters/__tests__/types.test.ts +133 -0
  189. package/src/components/shared-kit/list-kit/filters/index.tsx +757 -0
  190. package/src/components/shared-kit/list-kit/filters/types.ts +68 -0
  191. package/src/components/shared-kit/list-kit/frozen-header.ts +45 -0
  192. package/src/components/shared-kit/list-kit/icon-semantics.ts +50 -0
  193. package/src/components/shared-kit/list-kit/kanban/__tests__/drop-layout.test.ts +139 -0
  194. package/src/components/shared-kit/list-kit/kanban/__tests__/frozen-header.test.ts +111 -0
  195. package/src/components/shared-kit/list-kit/kanban/__tests__/instance-key.test.ts +130 -0
  196. package/src/components/shared-kit/list-kit/kanban/__tests__/kanban-board-view.test.tsx +901 -0
  197. package/src/components/shared-kit/list-kit/kanban/__tests__/manual-order.test.ts +35 -0
  198. package/src/components/shared-kit/list-kit/kanban/drop-commit.ts +212 -0
  199. package/src/components/shared-kit/list-kit/kanban/drop-layout.ts +98 -0
  200. package/src/components/shared-kit/list-kit/kanban/frozen-header.ts +88 -0
  201. package/src/components/shared-kit/list-kit/kanban/instance-key.ts +83 -0
  202. package/src/components/shared-kit/list-kit/kanban/kanban-board-view.tsx +1414 -0
  203. package/src/components/shared-kit/list-kit/kanban/manual-order.ts +39 -0
  204. package/src/components/shared-kit/list-kit/level-badge.tsx +71 -0
  205. package/src/components/shared-kit/list-kit/toolbar-shell.tsx +103 -0
  206. package/src/components/shared-kit/loading/__tests__/use-deferred-flag.test.tsx +115 -0
  207. package/src/components/shared-kit/loading/use-deferred-flag.ts +35 -0
  208. package/src/components/shared-kit/peek/dock-slot.ts +62 -0
  209. package/src/components/shared-kit/peek/peek-mode.ts +34 -0
  210. package/src/components/shared-kit/theme/animated-theme-toggler.tsx +13 -7
  211. package/src/components/shared-kit/theme/theme-toggle.tsx +7 -18
  212. package/src/components/shared-kit/views/view-icon.tsx +49 -0
  213. package/src/components/story/__tests__/peek-panel-patch-sync.test.tsx +215 -0
  214. package/src/components/story/__tests__/story-list-loading-defer.test.tsx +88 -0
  215. package/src/components/story/__tests__/story-list-view-peek-sync.test.tsx +242 -0
  216. package/src/components/story/__tests__/story-list-view-restore.test.tsx +45 -3
  217. package/src/components/story/__tests__/story-list-view-ssr.test.tsx +0 -1
  218. package/src/components/story/ai/__tests__/action-registry.test.ts +11 -11
  219. package/src/components/story/ai/action-registry.ts +5 -7
  220. package/src/components/story/ai/handlers/stream-text.ts +1 -3
  221. package/src/components/story/ai/story-ai-toolbar.tsx +58 -16
  222. package/src/components/story/ai/use-toolbar-overflow.ts +4 -7
  223. package/src/components/story/columns.tsx +2 -2
  224. package/src/components/story/constants.ts +17 -1
  225. package/src/components/story/create-story-dialog.tsx +8 -7
  226. package/src/components/story/detail/__tests__/associated-attachments-panel.test.tsx +38 -4
  227. package/src/components/story/detail/__tests__/categories.test.tsx +52 -26
  228. package/src/components/story/detail/__tests__/story-collab.test.tsx +897 -0
  229. package/src/components/story/detail/activity-tabs.tsx +5 -4
  230. package/src/components/story/detail/activity-timeline.tsx +15 -3
  231. package/src/components/story/detail/comment-input.tsx +2 -2
  232. package/src/components/story/detail/comment-item.tsx +6 -3
  233. package/src/components/story/detail/comment-thread.tsx +1 -0
  234. package/src/components/story/detail/reaction-bar.tsx +1 -1
  235. package/src/components/story/detail/story-detail-body.tsx +501 -76
  236. package/src/components/story/detail/story-detail-toolbar/__tests__/related-test-cases.test.tsx +173 -10
  237. package/src/components/story/detail/story-detail-toolbar/associated-attachments-panel.tsx +144 -8
  238. package/src/components/story/detail/story-detail-toolbar/categories.tsx +82 -38
  239. package/src/components/story/detail/story-detail-toolbar/children.tsx +254 -174
  240. package/src/components/story/detail/story-detail-toolbar/dependency-panel.tsx +140 -58
  241. package/src/components/story/detail/story-detail-toolbar/index.tsx +613 -0
  242. package/src/components/story/detail/story-detail-toolbar/related-test-cases.tsx +1010 -87
  243. package/src/components/story/detail/story-detail-toolbar/scroll-hint.tsx +57 -0
  244. package/src/components/story/detail/story-detail-toolbar/use-panel-frozen-groups.ts +97 -0
  245. package/src/components/story/detail/story-properties.tsx +9 -5
  246. package/src/components/story/display/__tests__/display-dropdown-helpers.test.ts +17 -1
  247. package/src/components/story/display/__tests__/display-dropdown.test.tsx +9 -0
  248. package/src/components/story/display/__tests__/flatten-story-groups.test.ts +42 -0
  249. package/src/components/story/display/__tests__/group-fields.test.ts +81 -1
  250. package/src/components/story/display/__tests__/group-resolver.test.ts +153 -1
  251. package/src/components/story/display/__tests__/use-collapsed-subgroups.test.ts +158 -0
  252. package/src/components/story/display/__tests__/use-display-options.test.ts +32 -3
  253. package/src/components/story/display/__tests__/use-fit-count.test.ts +198 -0
  254. package/src/components/story/display/__tests__/use-paged-story-groups.test.ts +77 -3
  255. package/src/components/story/display/constants.ts +23 -2
  256. package/src/components/story/display/display-dropdown.tsx +95 -397
  257. package/src/components/story/display/flatten-story-groups.ts +39 -0
  258. package/src/components/story/display/group-fields.ts +32 -1
  259. package/src/components/story/display/group-resolver.tsx +128 -5
  260. package/src/components/story/display/types.ts +23 -42
  261. package/src/components/story/display/use-collapsed-subgroups.ts +109 -0
  262. package/src/components/story/display/use-display-options.ts +21 -5
  263. package/src/components/story/display/use-fit-count.ts +124 -0
  264. package/src/components/story/display/use-paged-story-groups.ts +174 -31
  265. package/src/components/story/filters/field-configs.tsx +263 -0
  266. package/src/components/story/filters/index.tsx +14 -5
  267. package/src/components/story/inline-editors/__tests__/labels-editor.test.tsx +2 -0
  268. package/src/components/story/inline-editors/__tests__/priority-editor.test.tsx +15 -0
  269. package/src/components/story/inline-editors/assignee-editor.tsx +7 -5
  270. package/src/components/story/inline-editors/date-editor.tsx +7 -2
  271. package/src/components/story/inline-editors/inline-trigger.tsx +17 -4
  272. package/src/components/story/inline-editors/labels-editor.tsx +243 -35
  273. package/src/components/story/inline-editors/parent-story-editor.tsx +1 -1
  274. package/src/components/story/inline-editors/priority-editor.tsx +6 -4
  275. package/src/components/story/inline-editors/state-editor.tsx +6 -4
  276. package/src/components/story/inline-editors/story-select-dialog.tsx +56 -19
  277. package/src/components/story/peek-panel.tsx +234 -51
  278. package/src/components/story/relations/__tests__/design-select-dialog.test.tsx +131 -0
  279. package/src/components/story/relations/attachment-manage-dialog.tsx +1 -1
  280. package/src/components/story/relations/design-select-dialog.tsx +285 -0
  281. package/src/components/story/relations/knowledge-select-dialog.tsx +3 -3
  282. package/src/components/story/relations/link-manage-dialog.tsx +2 -2
  283. package/src/components/story/story-list-view.tsx +175 -17
  284. package/src/components/story/story-panel-header.tsx +18 -11
  285. package/src/components/story/story-toolbar.tsx +177 -126
  286. package/src/components/story/transfer-story-popover.tsx +1 -1
  287. package/src/components/story/types.ts +11 -2
  288. package/src/components/story/views/__tests__/calendar-view.test.tsx +262 -0
  289. package/src/components/story/views/__tests__/kanban-drop-subgroup.test.ts +68 -0
  290. package/src/components/story/views/__tests__/kanban-peek-sync.test.tsx +184 -0
  291. package/src/components/story/views/__tests__/kanban-view-membership-sync.test.tsx +179 -0
  292. package/src/components/story/views/__tests__/timeline-view.test.tsx +453 -0
  293. package/src/components/story/views/__tests__/view-icon.test.tsx +45 -0
  294. package/src/components/story/views/__tests__/view-types.test.ts +0 -8
  295. package/src/components/story/views/calendar/__tests__/mappers.test.ts +201 -0
  296. package/src/components/story/views/calendar/__tests__/slot-draft.test.ts +78 -0
  297. package/src/components/story/views/calendar/drag-blocked.ts +41 -0
  298. package/src/components/story/views/calendar/i18n.ts +91 -0
  299. package/src/components/story/views/calendar/mappers.ts +119 -0
  300. package/src/components/story/views/calendar/slot-draft.ts +48 -0
  301. package/src/components/story/views/calendar-view.tsx +490 -223
  302. package/src/components/story/views/create-view-dialog.tsx +6 -6
  303. package/src/components/story/views/kanban-view.tsx +618 -0
  304. package/src/components/story/views/{__tests__ → story-list/__tests__}/use-flat-rows.test.ts +1 -1
  305. package/src/components/story/views/story-list/batch-preview-dialog.tsx +3 -3
  306. package/src/components/story/views/story-list/batch-toolbar.tsx +17 -34
  307. package/src/components/story/views/story-list/group.tsx +4 -2
  308. package/src/components/story/views/story-list/index.tsx +142 -34
  309. package/src/components/story/views/story-list/row.tsx +4 -0
  310. package/src/components/story/views/{use-flat-rows.ts → story-list/use-flat-rows.ts} +2 -2
  311. package/src/components/story/views/timeline/__tests__/mappers.test.ts +742 -0
  312. package/src/components/story/views/timeline/__tests__/sentinel-geometry.test.ts +76 -0
  313. package/src/components/story/views/timeline/__tests__/use-date-commit.test.tsx +372 -0
  314. package/src/components/story/views/timeline/i18n.ts +96 -0
  315. package/src/components/story/views/timeline/mappers.ts +506 -0
  316. package/src/components/story/views/timeline/sentinel-geometry.ts +43 -0
  317. package/src/components/story/views/timeline/use-date-commit.ts +169 -0
  318. package/src/components/story/views/timeline-view.tsx +593 -222
  319. package/src/components/story/views/view-list-section.tsx +4 -4
  320. package/src/components/story/views/view-selector-button.tsx +9 -10
  321. package/src/components/story/views/view-switcher.tsx +7 -1
  322. package/src/components/story/views/view-types.ts +1 -5
  323. package/src/components/testcase/__tests__/batch-toolbar.test.tsx +245 -0
  324. package/src/components/testcase/__tests__/board-view.test.tsx +241 -0
  325. package/src/components/testcase/__tests__/case-row.test.tsx +24 -10
  326. package/src/components/testcase/__tests__/constants.test.ts +151 -0
  327. package/src/components/testcase/__tests__/create-dialog-scope.test.tsx +173 -0
  328. package/src/components/testcase/__tests__/detail-properties.test.tsx +19 -0
  329. package/src/components/testcase/__tests__/display-options.test.tsx +154 -0
  330. package/src/components/testcase/__tests__/export-entry.test.tsx +279 -0
  331. package/src/components/testcase/__tests__/filters.test.tsx +280 -0
  332. package/src/components/testcase/__tests__/list-view-scope.test.tsx +290 -0
  333. package/src/components/testcase/__tests__/list-view.test.tsx +552 -7
  334. package/src/components/testcase/__tests__/manual-move.test.ts +69 -0
  335. package/src/components/testcase/__tests__/peek-panel.test.tsx +89 -8
  336. package/src/components/testcase/__tests__/toolbar.test.tsx +302 -0
  337. package/src/components/testcase/__tests__/view-fallback.test.tsx +272 -0
  338. package/src/components/testcase/__tests__/view-management.test.tsx +179 -0
  339. package/src/components/testcase/ai/generate-dialog.tsx +1 -1
  340. package/src/components/testcase/constants.ts +83 -0
  341. package/src/components/testcase/create-testcase-dialog.tsx +76 -8
  342. package/src/components/testcase/detail/__tests__/select-cases-dialog.test.tsx +163 -0
  343. package/src/components/testcase/detail/case-detail-body.tsx +311 -30
  344. package/src/components/testcase/detail/select-cases-dialog.tsx +465 -0
  345. package/src/components/testcase/detail/story-link-editor.tsx +1 -1
  346. package/src/components/testcase/display/display-dropdown.tsx +147 -0
  347. package/src/components/testcase/display/field-configs.ts +80 -0
  348. package/src/components/testcase/display/use-testcase-display-options.ts +59 -0
  349. package/src/components/testcase/filters/field-configs.tsx +748 -0
  350. package/src/components/testcase/filters/index.tsx +35 -127
  351. package/src/components/testcase/inline-editors/assignee-editor.tsx +6 -6
  352. package/src/components/testcase/inline-editors/folder-editor.tsx +9 -9
  353. package/src/components/testcase/inline-editors/priority-editor.tsx +47 -31
  354. package/src/components/testcase/inline-editors/state-editor.tsx +14 -12
  355. package/src/components/testcase/inline-editors/type-editor.tsx +31 -20
  356. package/src/components/testcase/list/case-row.tsx +60 -2
  357. package/src/components/testcase/list/grouped-list.tsx +3 -2
  358. package/src/components/testcase/list-view.tsx +633 -137
  359. package/src/components/testcase/peek-panel.tsx +69 -11
  360. package/src/components/testcase/plans/plan-list.tsx +6 -1
  361. package/src/components/testcase/step-editor.tsx +34 -3
  362. package/src/components/testcase/testcase-toolbar.tsx +349 -94
  363. package/src/components/testcase/views/batch-toolbar.tsx +203 -0
  364. package/src/components/testcase/views/board-view.tsx +546 -0
  365. package/src/components/testcase/views/create-view-dialog.tsx +26 -14
  366. package/src/components/testcase/views/move.ts +56 -0
  367. package/src/components/testcase/views/view-selector-button.tsx +82 -30
  368. package/src/components/testcase/views/view-switcher.tsx +12 -5
  369. package/src/components/testcase/views/view-types.ts +50 -27
  370. package/src/components/tiptap/mindmap/lib/__tests__/shortcuts.test.ts +5 -4
  371. package/src/components/tiptap/mindmap/lib/shortcuts.ts +4 -3
  372. package/src/components/tiptap/node/doc-card-node-view.tsx +2 -1
  373. package/src/components/tiptap/notion-like/editor-extensions.ts +231 -0
  374. package/src/components/tiptap/notion-like/notion-like-editor.tsx +29 -156
  375. package/src/components/tiptap/ui/ai-menu/ai-menu.tsx +6 -1
  376. package/src/components/tiptap/ui/doc-reference-interaction/doc-reference-interaction.tsx +2 -1
  377. package/src/components/ui/checkbox.tsx +4 -4
  378. package/src/components/ui/popover.tsx +1 -1
  379. package/src/components/workspace/dialogs/edit-workspace-dialog.tsx +1 -1
  380. package/src/components/workspace/kb/workspace-kb-manage-dialog.tsx +1 -1
  381. package/src/components/workspace/kb/workspace-quick-doc-dialog.tsx +1 -1
  382. package/src/components/workspace/members/workspace-member-item.tsx +2 -2
  383. package/src/components/workspace/members/workspace-members-manager.tsx +2 -2
  384. package/src/config/sidebar-routes.tsx +11 -13
  385. package/src/design-engine/document/serialize-leafer-json.ts +2 -1
  386. package/src/design-engine/engine/__tests__/engine-split.test.ts +1 -1
  387. package/src/design-engine/engine/__tests__/engine.test.ts +20 -0
  388. package/src/design-engine/engine/app.ts +5 -0
  389. package/src/design-engine/engine/engine-base.ts +17 -0
  390. package/src/design-engine/engine/engine-doc.ts +32 -0
  391. package/src/hooks/__tests__/use-commands.test.tsx +17 -5
  392. package/src/hooks/use-commands.ts +4 -4
  393. package/src/hooks/use-toolbar-search.ts +7 -2
  394. package/src/lib/__tests__/datetime-local.test.ts +46 -0
  395. package/src/lib/__tests__/datetime.test.ts +7 -0
  396. package/src/lib/__tests__/layout-responsive.test.ts +123 -0
  397. package/src/lib/__tests__/sidebar-utils.test.ts +4 -4
  398. package/src/lib/ai/story-ai-stream.ts +1 -1
  399. package/src/lib/ai/use-selected-model.ts +15 -5
  400. package/src/lib/changelog/sdk-versions.ts +22 -22
  401. package/src/lib/collab/__tests__/bindings-fields.test.ts +496 -0
  402. package/src/lib/collab/__tests__/bindings-steps.test.ts +332 -0
  403. package/src/lib/collab/__tests__/presence-store.test.ts +414 -0
  404. package/src/lib/collab/__tests__/provider-handle-contract.test.ts +89 -0
  405. package/src/lib/collab/__tests__/provider.test.ts +504 -0
  406. package/src/lib/collab/__tests__/use-presence-list-refresh.test.tsx +309 -0
  407. package/src/lib/collab/__tests__/use-presence-report.test.ts +356 -0
  408. package/src/lib/collab/__tests__/use-share-presence.test.ts +555 -0
  409. package/src/lib/collab/__tests__/user-color.test.ts +53 -0
  410. package/src/lib/collab/bindings/__tests__/canvas-local.test.ts +583 -0
  411. package/src/lib/collab/bindings/__tests__/canvas-presence.test.ts +378 -0
  412. package/src/lib/collab/bindings/__tests__/canvas-remote.test.ts +454 -0
  413. package/src/lib/collab/bindings/__tests__/canvas-tree-perf.test.ts +134 -0
  414. package/src/lib/collab/bindings/canvas-local.ts +415 -0
  415. package/src/lib/collab/bindings/canvas-presence.ts +420 -0
  416. package/src/lib/collab/bindings/canvas-remote.ts +226 -0
  417. package/src/lib/collab/bindings/fields.ts +463 -0
  418. package/src/lib/collab/bindings/steps.ts +332 -0
  419. package/src/lib/collab/env.ts +33 -0
  420. package/src/lib/collab/module-map.ts +131 -0
  421. package/src/lib/collab/presence-store.ts +350 -0
  422. package/src/lib/collab/provider.ts +378 -0
  423. package/src/lib/collab/use-collab-doc.ts +100 -0
  424. package/src/lib/collab/use-presence-list-refresh.ts +142 -0
  425. package/src/lib/collab/use-presence-report.ts +176 -0
  426. package/src/lib/collab/use-self-profile-broadcast.ts +113 -0
  427. package/src/lib/collab/use-share-presence.ts +561 -0
  428. package/src/lib/collab/user-color.ts +40 -0
  429. package/src/lib/collections/index.ts +0 -1
  430. package/src/lib/collections/reference/bookmark-categories-collection.ts +1 -1
  431. package/src/lib/commands/__tests__/registry.test.ts +2 -5
  432. package/src/lib/commands/registry.ts +0 -3
  433. package/src/lib/commands/types.ts +1 -1
  434. package/src/lib/datetime.ts +20 -3
  435. package/src/lib/hooks/__tests__/use-synced-state.test.tsx +54 -0
  436. package/src/lib/hooks/use-story-panel-open.ts +134 -0
  437. package/src/lib/hooks/use-synced-state.ts +17 -0
  438. package/src/lib/hotkeys/__tests__/registry.test.ts +1 -1
  439. package/src/lib/hotkeys/registry.ts +0 -3
  440. package/src/lib/layout-responsive.ts +140 -0
  441. package/src/lib/pacer.ts +10 -1
  442. package/src/lib/peek-dock.ts +32 -0
  443. package/src/lib/plugin-runtime/__tests__/plugin-tool-schema-parity.test.ts +140 -0
  444. package/src/lib/plugin-runtime/plugin-client-tools.ts +28 -46
  445. package/src/lib/plugin-runtime/plugin-tool-defs.ts +152 -0
  446. package/src/lib/project-module-meta.ts +1 -8
  447. package/src/lib/rate-limit.ts +15 -6
  448. package/src/lib/sanitize.ts +122 -10
  449. package/src/lib/share-events.ts +20 -11
  450. package/src/lib/sidebar-utils.ts +1 -1
  451. package/src/lib/theme/__tests__/theme-mode.test.ts +96 -0
  452. package/src/lib/theme/theme-mode.ts +77 -0
  453. package/src/paraglide/messages/_index.js +5312 -1591
  454. package/src/paraglide/messages/en.js +1880 -685
  455. package/src/paraglide/messages/zh.js +1877 -682
  456. package/src/providers/index.tsx +4 -1
  457. package/src/providers/theme-mode-provider.tsx +135 -0
  458. package/src/routeTree.gen.ts +78 -101
  459. package/src/routes/$lang/docs/$/route.lazy.tsx +7 -2
  460. package/src/routes/-tests/chat-body-validation.test.ts +61 -3
  461. package/src/routes/__tests__/-edition-routing.test.tsx +12 -8
  462. package/src/routes/_nav/-components/nav-not-found.tsx +2 -2
  463. package/src/routes/_nav/bugs/$bugId/route.lazy.tsx +16 -2
  464. package/src/routes/_nav/bugs/$bugId/route.tsx +11 -2
  465. package/src/routes/_nav/dashboard/-components/avatar-group.tsx +2 -2
  466. package/src/routes/_nav/knowledge/$kbId/doc/$docId/route.lazy.tsx +31 -17
  467. package/src/routes/_nav/knowledge/$kbId/doc/$docId/route.tsx +12 -1
  468. package/src/routes/_nav/knowledge/$kbId/index.lazy.tsx +4 -2
  469. package/src/routes/_nav/knowledge/$kbId/route.lazy.tsx +7 -3
  470. package/src/routes/_nav/knowledge/bookmarks/$id.lazy.tsx +6 -6
  471. package/src/routes/_nav/knowledge/bookmarks/index.lazy.tsx +10 -10
  472. package/src/routes/_nav/knowledge/compliance/$id.lazy.tsx +9 -9
  473. package/src/routes/_nav/knowledge/compliance/edit/$id.lazy.tsx +1 -1
  474. package/src/routes/_nav/knowledge/compliance/index.lazy.tsx +8 -8
  475. package/src/routes/_nav/knowledge/dictionaries/$id.lazy.tsx +4 -4
  476. package/src/routes/_nav/knowledge/dictionaries/index.lazy.tsx +6 -6
  477. package/src/routes/_nav/knowledge/index.lazy.tsx +1 -1
  478. package/src/routes/_nav/knowledge/laws/$id.lazy.tsx +9 -9
  479. package/src/routes/_nav/knowledge/laws/edit/$id.lazy.tsx +1 -1
  480. package/src/routes/_nav/knowledge/laws/index.lazy.tsx +11 -11
  481. package/src/routes/_nav/knowledge/summary/index.lazy.tsx +1 -1
  482. package/src/routes/_nav/projects/$projectId/index.lazy.tsx +14 -6
  483. package/src/routes/_nav/route.lazy.tsx +11 -6
  484. package/src/routes/_nav/settings/account/route.tsx +3 -2
  485. package/src/routes/_nav/stories/$storyId/route.lazy.tsx +52 -8
  486. package/src/routes/_nav/stories/$storyId/route.tsx +11 -0
  487. package/src/routes/_nav/stories/-components/story-detail-skeleton.tsx +1 -1
  488. package/src/{components/tags/pages/tag-detail-page.tsx → routes/_nav/tasks/$taskId/route.lazy.tsx} +20 -10
  489. package/src/routes/_nav/tasks/$taskId/route.tsx +43 -0
  490. package/src/routes/_nav/tasks/-components/ai-task-detail.tsx +307 -0
  491. package/src/routes/_nav/tasks/-components/ai-task-list.tsx +217 -0
  492. package/src/routes/_nav/tasks/-components/ai-task-status-badge.tsx +46 -0
  493. package/src/routes/_nav/tasks/-components/assigned-list.tsx +157 -0
  494. package/src/routes/_nav/tasks/-components/create-ai-task-dialog.tsx +228 -0
  495. package/src/routes/_nav/tasks/-components/source-ai-exec-dialog.tsx +175 -0
  496. package/src/routes/_nav/tasks/-components/task-constants.ts +115 -0
  497. package/src/routes/_nav/tasks/-components/use-task-filter.ts +64 -0
  498. package/src/routes/_nav/tasks/-tests/create-ai-task-dialog.test.tsx +175 -0
  499. package/src/routes/_nav/tasks/-tests/task-filter.test.ts +134 -0
  500. package/src/routes/_nav/tasks/-tests/task-styles.test.tsx +119 -0
  501. package/src/routes/_nav/tasks/index.lazy.tsx +114 -0
  502. package/src/routes/_nav/tasks/index.tsx +47 -0
  503. package/src/routes/_nav/{tags → tasks}/route.tsx +3 -3
  504. package/src/routes/_nav/test-cases/$caseId/route.lazy.tsx +3 -1
  505. package/src/routes/_nav/test-cases/$caseId/route.tsx +11 -2
  506. package/src/routes/api/chat.ts +23 -19
  507. package/src/routes/api/design/prototype/route.ts +2 -4
  508. package/src/routes/{_nav/acceptance-criteria/route.tsx → api/internal/collab-reindex.ts} +11 -8
  509. package/src/routes/api/knowledge/sync-github.ts +1 -1
  510. package/src/routes/design-files/$projectId/$artboardId/$filename.ts +9 -0
  511. package/src/routes/invite/$token/route.lazy.tsx +2 -2
  512. package/src/routes/share/$versionId/route.lazy.tsx +8 -0
  513. package/src/routes/share/compliance/$id/route.lazy.tsx +2 -2
  514. package/src/routes/share/compliance/$id/route.tsx +1 -1
  515. package/src/routes/share/law/$id/route.lazy.tsx +2 -2
  516. package/src/routes/share/law/$id/route.tsx +1 -1
  517. package/src/server/__tests__/bug-groups-two-level.test.ts +263 -0
  518. package/src/server/__tests__/builtin-project.test.ts +45 -1
  519. package/src/server/__tests__/csv-export.test.ts +319 -0
  520. package/src/server/__tests__/share-version.test.ts +7 -2
  521. package/src/server/__tests__/task-assigned-query.test.ts +232 -0
  522. package/src/server/__tests__/task-context-builder.test.ts +175 -0
  523. package/src/server/__tests__/task-executor.test.ts +349 -0
  524. package/src/server/__tests__/task-priority-map.test.ts +41 -0
  525. package/src/server/__tests__/task-serverfn-crud.test.ts +639 -0
  526. package/src/server/__tests__/task-serverfn-queries.test.ts +403 -0
  527. package/src/server/__tests__/testcase-board.test.ts +301 -0
  528. package/src/server/__tests__/testcase-bulk.test.ts +155 -0
  529. package/src/server/__tests__/testcase-list-scope.test.ts +215 -0
  530. package/src/server/ai-gateway/__tests__/chat-handler-prompt-key.test.ts +106 -0
  531. package/src/server/ai-gateway/__tests__/chat-stream-builder-sandbox.test.ts +9 -3
  532. package/src/server/ai-gateway/__tests__/conformance.test.ts +4 -3
  533. package/src/server/ai-gateway/adapter.ts +4 -2
  534. package/src/server/ai-gateway/chat-handler.ts +13 -5
  535. package/src/server/ai-gateway/chat-stream-builder.ts +12 -7
  536. package/src/server/ai-gateway/sandbox/__tests__/harness-sandbox.test.ts +88 -0
  537. package/src/server/ai-gateway/sandbox/harness-sandbox.ts +1 -1
  538. package/src/server/ai-gateway/story-handler.ts +7 -2
  539. package/src/server/ai-gateway/tools/plugin-lifecycle-defs.ts +8 -99
  540. package/src/server/ai-gateway/tools/plugin-tools.ts +6 -10
  541. package/src/server/ai-task/assigned-query.ts +167 -0
  542. package/src/server/ai-task/context-builder.ts +182 -0
  543. package/src/server/ai-task/executor.ts +296 -0
  544. package/src/server/ai-task/priority-map.ts +37 -0
  545. package/src/server/ai-task/types.ts +15 -0
  546. package/src/server/bug-report/__tests__/report-handler.test.ts +55 -4
  547. package/src/server/bug-report/report-handler.ts +54 -8
  548. package/src/server/builtin-project.ts +24 -0
  549. package/src/server/cloudflare/prisma-wasm-base64-stub.ts +5 -0
  550. package/src/server/collab/__tests__/collab-permissions.test.ts +412 -0
  551. package/src/server/collab/__tests__/knowledge-additions.test.ts +121 -0
  552. package/src/server/collab/__tests__/reindex-endpoint.test.ts +168 -0
  553. package/src/server/collab/__tests__/resolve.test.ts +249 -0
  554. package/src/server/collab/__tests__/touch-snapshot.test.ts +58 -0
  555. package/src/server/collab/__tests__/write-guard-sdk.test.ts +501 -0
  556. package/src/server/collab/__tests__/write-guard.test.ts +373 -0
  557. package/src/server/collab/knowledge-additions.ts +37 -0
  558. package/src/server/collab/reindex-endpoint.ts +75 -0
  559. package/src/server/collab/resolve.ts +122 -0
  560. package/src/server/collab/seed.ts +408 -0
  561. package/src/server/collab/ticket-utils.ts +107 -0
  562. package/src/server/collab/touch-snapshot.ts +55 -0
  563. package/src/server/collab/write-guard.ts +258 -0
  564. package/src/server/collab-permissions.ts +248 -0
  565. package/src/server/csv.ts +61 -0
  566. package/src/server/{knowledge-public → knowledge/public}/github-sync.ts +12 -2
  567. package/src/server/{knowledge-public → knowledge/public}/share-merge.ts +31 -8
  568. package/src/server/lib/__tests__/sequence-number-retry.test.ts +160 -0
  569. package/src/server/lib/rate-limit.ts +13 -2
  570. package/src/server/lib/sequence-number-retry.ts +85 -0
  571. package/src/server/mcp/__tests__/tools.test.ts +10 -0
  572. package/src/server/mcp/tools.ts +26 -2
  573. package/src/server/middlewares/auth-rate-limit.ts +18 -9
  574. package/src/server/notifications/event-bus.ts +3 -0
  575. package/src/server/serverFns/__tests__/collab-snapshot.test.ts +665 -0
  576. package/src/server/serverFns/__tests__/collab.test.ts +459 -0
  577. package/src/server/serverFns/__tests__/knowledge-delete.test.ts +167 -0
  578. package/src/server/serverFns/__tests__/ownership-merge.test.ts +34 -2
  579. package/src/server/serverFns/__tests__/read-write-merge.test.ts +2 -2
  580. package/src/server/serverFns/__tests__/story-crud-archive-detail.test.ts +12 -2
  581. package/src/server/serverFns/__tests__/story-crud.test.ts +51 -11
  582. package/src/server/serverFns/__tests__/story-tree.test.ts +66 -34
  583. package/src/server/serverFns/__tests__/story-types.test.ts +14 -9
  584. package/src/server/serverFns/__tests__/update-bug-guard.test.ts +325 -0
  585. package/src/server/serverFns/__tests__/update-document-guard.test.ts +285 -0
  586. package/src/server/serverFns/__tests__/update-page-guard.test.ts +276 -0
  587. package/src/server/serverFns/__tests__/update-story-guard.test.ts +436 -0
  588. package/src/server/serverFns/__tests__/update-testcase-guard.test.ts +293 -0
  589. package/src/server/serverFns/bug/__tests__/bug-comments.test.ts +25 -0
  590. package/src/server/serverFns/bug/__tests__/bug-crud.test.ts +315 -15
  591. package/src/server/serverFns/bug/__tests__/bug-groups.test.ts +36 -18
  592. package/src/server/serverFns/bug/__tests__/bug-list-query.test.ts +21 -0
  593. package/src/server/serverFns/bug/__tests__/bug-reactions.test.ts +335 -0
  594. package/src/server/serverFns/bug/__tests__/bug-reorder.test.ts +165 -0
  595. package/src/server/serverFns/bug/__tests__/bug-story.test.ts +4 -1
  596. package/src/server/serverFns/bug/bug-comments.ts +5 -0
  597. package/src/server/serverFns/bug/bug-crud.ts +321 -72
  598. package/src/server/serverFns/bug/bug-display-options.ts +11 -0
  599. package/src/server/serverFns/bug/bug-export.ts +137 -0
  600. package/src/server/serverFns/bug/bug-group-query.ts +16 -5
  601. package/src/server/serverFns/bug/bug-groups.ts +39 -15
  602. package/src/server/serverFns/bug/bug-list-query.ts +8 -1
  603. package/src/server/serverFns/bug/bug-reactions.ts +123 -0
  604. package/src/server/serverFns/bug/bug-reorder.ts +64 -0
  605. package/src/server/serverFns/bug/bug-story-bulk.ts +280 -0
  606. package/src/server/serverFns/bug/bug-story.ts +47 -39
  607. package/src/server/serverFns/bug/index.ts +6 -0
  608. package/src/server/serverFns/collab-presence.ts +119 -0
  609. package/src/server/serverFns/collab-snapshot.ts +201 -0
  610. package/src/server/serverFns/collab.ts +153 -0
  611. package/src/server/serverFns/design/__tests__/designs.test.ts +0 -2
  612. package/src/server/serverFns/design/designs.ts +0 -64
  613. package/src/server/serverFns/design/detail.ts +36 -2
  614. package/src/server/serverFns/design/pages.ts +73 -10
  615. package/src/server/serverFns/iteration/iteration-crud.ts +25 -1
  616. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/create.ts +3 -3
  617. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/detail.ts +2 -2
  618. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/list.ts +3 -2
  619. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/refresh-favicon.ts +1 -1
  620. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/share.ts +1 -1
  621. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/sync-github.ts +1 -1
  622. package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/update.ts +5 -4
  623. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/create.ts +1 -1
  624. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/detail.ts +2 -2
  625. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/list.ts +3 -2
  626. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/share.ts +1 -1
  627. package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/update.ts +3 -2
  628. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/create.ts +1 -1
  629. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/detail.ts +2 -2
  630. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/list.ts +3 -2
  631. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/share.ts +1 -1
  632. package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/update.ts +3 -2
  633. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/create.ts +1 -1
  634. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/detail.ts +2 -2
  635. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/list.ts +3 -2
  636. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/share.ts +1 -1
  637. package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/update.ts +3 -2
  638. package/src/server/serverFns/knowledge.ts +135 -19
  639. package/src/server/serverFns/project/module-overview.ts +1 -2
  640. package/src/server/serverFns/share/version.ts +7 -1
  641. package/src/server/serverFns/story/__tests__/bulk.test.ts +6 -0
  642. package/src/server/serverFns/story/__tests__/create-story-internal.test.ts +112 -3
  643. package/src/server/serverFns/story/__tests__/story-assoc.test.ts +77 -6
  644. package/src/server/serverFns/story/__tests__/story-crud-date-key.test.ts +187 -0
  645. package/src/server/serverFns/story/__tests__/story-gantt-deps.test.ts +163 -0
  646. package/src/server/serverFns/story/__tests__/story-groups.test.ts +4 -0
  647. package/src/server/serverFns/story/__tests__/story-list-query.test.ts +20 -0
  648. package/src/server/serverFns/story/__tests__/story-search.test.ts +5 -0
  649. package/src/server/serverFns/story/__tests__/story-transfer.test.ts +64 -1
  650. package/src/server/serverFns/story/index.ts +2 -2
  651. package/src/server/serverFns/story/story-assoc.ts +44 -14
  652. package/src/server/serverFns/story/story-crud/archive.ts +52 -28
  653. package/src/server/serverFns/story/story-crud/bulk.ts +14 -4
  654. package/src/server/serverFns/story/story-crud/create-story-internal.ts +39 -21
  655. package/src/server/serverFns/story/story-crud.ts +283 -116
  656. package/src/server/serverFns/story/story-dependencies.ts +31 -0
  657. package/src/server/serverFns/story/story-groups.ts +15 -11
  658. package/src/server/serverFns/story/story-list-query.ts +16 -4
  659. package/src/server/serverFns/story/story-search.ts +9 -6
  660. package/src/server/serverFns/story/story-transfer.ts +99 -42
  661. package/src/server/serverFns/story/story-tree.ts +70 -48
  662. package/src/server/serverFns/story-display-options.ts +21 -10
  663. package/src/server/serverFns/story-view.ts +2 -2
  664. package/src/server/serverFns/tasks/task-crud.ts +264 -0
  665. package/src/server/serverFns/tasks/task-queries.ts +172 -0
  666. package/src/server/serverFns/testcase/__tests__/generation.test.ts +3 -0
  667. package/src/server/serverFns/testcase/__tests__/stats.test.ts +18 -4
  668. package/src/server/serverFns/testcase/__tests__/testcase-board.test.ts +113 -0
  669. package/src/server/serverFns/testcase/__tests__/testcase-crud.test.ts +62 -14
  670. package/src/server/serverFns/testcase/__tests__/testcase-groups.test.ts +32 -10
  671. package/src/server/serverFns/testcase/bulk.ts +195 -0
  672. package/src/server/serverFns/testcase/generation.ts +10 -0
  673. package/src/server/serverFns/testcase/stats.ts +22 -8
  674. package/src/server/serverFns/testcase/testcase-board.ts +198 -0
  675. package/src/server/serverFns/testcase/testcase-crud.ts +165 -33
  676. package/src/server/serverFns/testcase/testcase-display-options.ts +166 -0
  677. package/src/server/serverFns/testcase/testcase-export.ts +125 -0
  678. package/src/server/serverFns/testcase/testcase-filter-views.ts +36 -9
  679. package/src/server/serverFns/testcase/testcase-groups.ts +27 -23
  680. package/src/server/serverFns/testcase/testcase-reorder.ts +66 -0
  681. package/src/server/story/__tests__/date-key.test.ts +57 -0
  682. package/src/server/story/date-key.ts +36 -0
  683. package/src/server/story/types.ts +3 -7
  684. package/src/server/testcase/__tests__/list-query.test.ts +269 -0
  685. package/src/server/testcase/list-query.ts +145 -0
  686. package/src/server-entry.ts +32 -0
  687. package/src/shared/bug/__tests__/constants.test.ts +44 -0
  688. package/src/shared/bug/constants.ts +37 -1
  689. package/src/start.ts +7 -2
  690. package/src/styles/globals.css +24 -3
  691. package/src/types/project.ts +2 -3
  692. package/vite.shared.ts +110 -3
  693. package/src/__tests__/tag-badge.test.tsx +0 -41
  694. package/src/components/bug/__tests__/bug-list-table.test.tsx +0 -289
  695. package/src/components/bug/bug-list-table.tsx +0 -187
  696. package/src/components/bug/columns.tsx +0 -193
  697. package/src/components/bug/filters/add-filter-dropdown.tsx +0 -70
  698. package/src/components/bug/filters/applied-filters.tsx +0 -214
  699. package/src/components/bug/filters/filter-condition.tsx +0 -151
  700. package/src/components/bug/filters/filter-row.tsx +0 -104
  701. package/src/components/bug/filters/filter-toggle.tsx +0 -61
  702. package/src/components/bug/filters/filter-types.ts +0 -146
  703. package/src/components/story/detail/story-detail-toolbar.tsx +0 -382
  704. package/src/components/story/filters/add-filter-dropdown.tsx +0 -70
  705. package/src/components/story/filters/applied-filters.tsx +0 -225
  706. package/src/components/story/filters/filter-condition.tsx +0 -152
  707. package/src/components/story/filters/filter-row.tsx +0 -116
  708. package/src/components/story/filters/filter-toggle.tsx +0 -60
  709. package/src/components/story/filters/filter-types.ts +0 -120
  710. package/src/components/story/filters/filter-value-input.tsx +0 -182
  711. package/src/components/story/views/kanban-board.tsx +0 -464
  712. package/src/components/story/views/kanban-card.tsx +0 -100
  713. package/src/components/tags/__tests__/tags.test.ts +0 -388
  714. package/src/components/tags/nav-tag.tsx +0 -121
  715. package/src/components/tags/pages/tag-settings-page.tsx +0 -32
  716. package/src/components/tags/pages/tags-index-page.tsx +0 -32
  717. package/src/components/tags/tag-badge.tsx +0 -56
  718. package/src/components/tags/tag-color-classes.ts +0 -61
  719. package/src/components/tags/tag-color-picker.tsx +0 -54
  720. package/src/components/tags/tag-components-index.ts +0 -23
  721. package/src/components/tags/tag-manager.tsx +0 -208
  722. package/src/components/tags/tag-selector.tsx +0 -164
  723. package/src/components/testcase/__tests__/table-view.test.tsx +0 -328
  724. package/src/components/testcase/plans/add-to-plan-bar.tsx +0 -64
  725. package/src/components/testcase/table/columns.tsx +0 -170
  726. package/src/components/testcase/table/table-view.tsx +0 -152
  727. package/src/lib/tag-colors.ts +0 -35
  728. package/src/routes/_nav/tags/$id/route.lazy.tsx +0 -23
  729. package/src/routes/_nav/tags/$id/route.tsx +0 -20
  730. package/src/routes/_nav/tags/index.lazy.tsx +0 -23
  731. package/src/routes/_nav/tags/index.tsx +0 -20
  732. package/src/routes/_nav/tags/settings/route.lazy.tsx +0 -23
  733. package/src/routes/_nav/tags/settings/route.tsx +0 -23
  734. package/src/server/serverFns/tags.ts +0 -138
  735. /package/src/components/{knowledge-public → knowledge/public}/bookmark-card.tsx +0 -0
  736. /package/src/components/{knowledge-public → knowledge/public}/category-icon.tsx +0 -0
  737. /package/src/components/{knowledge-public → knowledge/public}/chip-utils.ts +0 -0
  738. /package/src/components/{knowledge-public → knowledge/public}/knowledge-card-grid.tsx +0 -0
  739. /package/src/components/{knowledge-public → knowledge/public}/knowledge-filters.tsx +0 -0
  740. /package/src/components/{knowledge-public → knowledge/public}/knowledge-search-bar.tsx +0 -0
  741. /package/src/components/{knowledge-public → knowledge/public}/markdown-editor.tsx +0 -0
  742. /package/src/components/{knowledge-public → knowledge/public}/markdown-view.tsx +0 -0
  743. /package/src/components/{knowledge-public → knowledge/public}/tag-filter.tsx +0 -0
  744. /package/src/components/{story/detail → shared-kit/comments}/emoji-picker.tsx +0 -0
  745. /package/src/components/story/{schemas/story-create.ts → story-create-schema.ts} +0 -0
  746. /package/src/server/{knowledge-public → knowledge/public}/canonical-id.ts +0 -0
  747. /package/src/server/{knowledge-public → knowledge/public}/favicon.ts +0 -0
  748. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/categories.ts +0 -0
  749. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/delete.ts +0 -0
  750. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/favorite.ts +0 -0
  751. /package/src/server/serverFns/{knowledge-public → knowledge/public}/bookmarks/unshare.ts +0 -0
  752. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/delete.ts +0 -0
  753. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/public.ts +0 -0
  754. /package/src/server/serverFns/{knowledge-public → knowledge/public}/compliance/unshare.ts +0 -0
  755. /package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/delete.ts +0 -0
  756. /package/src/server/serverFns/{knowledge-public → knowledge/public}/dictionary/unshare.ts +0 -0
  757. /package/src/server/serverFns/{knowledge-public → knowledge/public}/entity-tags.ts +0 -0
  758. /package/src/server/serverFns/{knowledge-public → knowledge/public}/favorite.ts +0 -0
  759. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/delete.ts +0 -0
  760. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/public.ts +0 -0
  761. /package/src/server/serverFns/{knowledge-public → knowledge/public}/legal/unshare.ts +0 -0
@@ -20,6 +20,7 @@ import { useEffect, type ReactNode } from "react";
20
20
  import { LazyMotion, domAnimation } from "motion/react";
21
21
  import { TooltipProvider } from "@/components/ui/tooltip";
22
22
  import { TimezoneProvider } from "@/providers/timezone-provider";
23
+ import { ThemeModeProvider } from "@/providers/theme-mode-provider";
23
24
  import type { Session } from "@/lib/auth/auth-client";
24
25
  import { exchangeRemoteTokenFn } from "@/server/serverFns/auth/session";
25
26
  import { toast } from "@/components/ui/toast";
@@ -67,7 +68,8 @@ export function Providers({
67
68
  session: Session | null;
68
69
  }) {
69
70
  return (
70
- <ThemeProvider attribute="class" defaultTheme="light" enableSystem>
71
+ <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
72
+ <ThemeModeProvider>
71
73
  <LazyMotion features={domAnimation} strict>
72
74
  <TooltipProvider>
73
75
  <TimezoneProvider userTimezone={session?.user?.timezone ?? null}>
@@ -76,6 +78,7 @@ export function Providers({
76
78
  </TimezoneProvider>
77
79
  </TooltipProvider>
78
80
  </LazyMotion>
81
+ </ThemeModeProvider>
79
82
  </ThemeProvider>
80
83
  );
81
84
  }
@@ -0,0 +1,135 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import {
19
+ createContext,
20
+ useCallback,
21
+ useContext,
22
+ useEffect,
23
+ useMemo,
24
+ useState,
25
+ type ReactNode,
26
+ } from "react";
27
+ import { useTheme } from "next-themes";
28
+ import {
29
+ DEFAULT_MODE,
30
+ MODE_STORAGE_KEY,
31
+ parseStoredMode,
32
+ resolveTheme,
33
+ type ManualTheme,
34
+ type ThemeMode,
35
+ } from "@/lib/theme/theme-mode";
36
+
37
+ interface ThemeModeContextValue {
38
+ /** 用户手动选定的明暗;auto 表示未手动选过(按系统 + 时间自动) */
39
+ mode: ThemeMode;
40
+ setMode: (mode: ThemeMode) => void;
41
+ /** 在明暗之间切换,并把结果记为手动选择(此后不再自动切换) */
42
+ toggle: () => void;
43
+ /** 当前实际生效的明暗 */
44
+ resolved: ManualTheme;
45
+ /** 是否已在客户端完成挂载(首帧 SSR 用,避免 hydration mismatch) */
46
+ mounted: boolean;
47
+ }
48
+
49
+ const ThemeModeContext = createContext<ThemeModeContextValue | null>(null);
50
+
51
+ function readStoredMode(): ThemeMode {
52
+ if (typeof window === "undefined") return DEFAULT_MODE;
53
+ try {
54
+ return parseStoredMode(window.localStorage.getItem(MODE_STORAGE_KEY));
55
+ } catch {
56
+ return DEFAULT_MODE;
57
+ }
58
+ }
59
+
60
+ /**
61
+ * 主题控制器:自动规则(系统外观 + 深色时段)内置在业务逻辑里,界面只暴露明暗切换。
62
+ *
63
+ * 手动优先:一旦手动选过 light/dark 即固定,系统外观变化与时间流逝都不再覆盖;
64
+ * 未手动选过(auto)时按 resolveTheme 的规则随时重算。
65
+ */
66
+ export function ThemeModeProvider({ children }: { children: ReactNode }) {
67
+ const { setTheme, systemTheme, resolvedTheme } = useTheme();
68
+ const [mode, setModeState] = useState<ThemeMode>(DEFAULT_MODE);
69
+ const [mounted, setMounted] = useState(false);
70
+
71
+ // 挂载后从 localStorage 恢复模式(不能放进 useState 初始化器:SSR 无 window)
72
+ useEffect(() => {
73
+ setModeState(readStoredMode());
74
+ setMounted(true);
75
+ }, []);
76
+
77
+ const systemPrefersDark = systemTheme === "dark";
78
+
79
+ // 应用:auto 由「系统外观 + 深色时段」共同决定(手动模式直接落值)
80
+ useEffect(() => {
81
+ if (!mounted) return;
82
+ setTheme(resolveTheme(mode, systemPrefersDark, new Date()));
83
+ }, [mode, mounted, systemPrefersDark, setTheme]);
84
+
85
+ // auto 模式:每分钟 + 窗口回到前台时重算(跨过时段边界自动翻转)
86
+ useEffect(() => {
87
+ if (!mounted || mode !== "auto") return;
88
+ const tick = () =>
89
+ setTheme(resolveTheme("auto", systemPrefersDark, new Date()));
90
+ tick();
91
+ const id = window.setInterval(tick, 60_000);
92
+ const onVisible = () => {
93
+ if (document.visibilityState === "visible") tick();
94
+ };
95
+ document.addEventListener("visibilitychange", onVisible);
96
+ return () => {
97
+ window.clearInterval(id);
98
+ document.removeEventListener("visibilitychange", onVisible);
99
+ };
100
+ }, [mode, mounted, systemPrefersDark, setTheme]);
101
+
102
+ const setMode = useCallback((next: ThemeMode) => {
103
+ setModeState(next);
104
+ try {
105
+ window.localStorage.setItem(MODE_STORAGE_KEY, next);
106
+ } catch {
107
+ // localStorage 不可用(隐私模式等)时仅内存生效
108
+ }
109
+ }, []);
110
+
111
+ const resolved: ManualTheme = resolvedTheme === "dark" ? "dark" : "light";
112
+
113
+ const toggle = useCallback(() => {
114
+ setMode(resolvedTheme === "dark" ? "light" : "dark");
115
+ }, [resolvedTheme, setMode]);
116
+
117
+ const value = useMemo<ThemeModeContextValue>(
118
+ () => ({ mode, setMode, toggle, resolved, mounted }),
119
+ [mode, setMode, toggle, resolved, mounted],
120
+ );
121
+
122
+ return (
123
+ <ThemeModeContext.Provider value={value}>
124
+ {children}
125
+ </ThemeModeContext.Provider>
126
+ );
127
+ }
128
+
129
+ export function useThemeMode(): ThemeModeContextValue {
130
+ const ctx = useContext(ThemeModeContext);
131
+ if (!ctx) {
132
+ throw new Error("useThemeMode must be used within ThemeModeProvider");
133
+ }
134
+ return ctx;
135
+ }
@@ -24,7 +24,6 @@ import { Route as LoginLoginRouteRouteImport } from './routes/_login/login/route
24
24
  import { Route as LoginRegisterRouteRouteImport } from './routes/_login/register/route'
25
25
  import { Route as LoginResetPasswordRouteRouteImport } from './routes/_login/reset-password/route'
26
26
  import { Route as LoginVerifyEmailRouteRouteImport } from './routes/_login/verify-email/route'
27
- import { Route as NavAcceptanceCriteriaRouteRouteImport } from './routes/_nav/acceptance-criteria/route'
28
27
  import { Route as NavAppsRouteRouteImport } from './routes/_nav/apps/route'
29
28
  import { Route as NavBugsRouteRouteImport } from './routes/_nav/bugs/route'
30
29
  import { Route as NavChangelogRouteRouteImport } from './routes/_nav/changelog/route'
@@ -40,7 +39,7 @@ import { Route as NavPricing02RouteRouteImport } from './routes/_nav/pricing-02/
40
39
  import { Route as NavProjectsRouteRouteImport } from './routes/_nav/projects/route'
41
40
  import { Route as NavSettingsRouteRouteImport } from './routes/_nav/settings/route'
42
41
  import { Route as NavStoriesRouteRouteImport } from './routes/_nav/stories/route'
43
- import { Route as NavTagsRouteRouteImport } from './routes/_nav/tags/route'
42
+ import { Route as NavTasksRouteRouteImport } from './routes/_nav/tasks/route'
44
43
  import { Route as NavTestCasesRouteRouteImport } from './routes/_nav/test-cases/route'
45
44
  import { Route as NavWorkspacesRouteRouteImport } from './routes/_nav/workspaces/route'
46
45
  import { Route as PublicIndexRouteRouteImport } from './routes/_public/index/route'
@@ -83,9 +82,8 @@ import { Route as NavSettingsPrivacyRouteRouteImport } from './routes/_nav/setti
83
82
  import { Route as NavSettingsTeamRouteRouteImport } from './routes/_nav/settings/team/route'
84
83
  import { Route as NavStoriesIndexRouteImport } from './routes/_nav/stories/index'
85
84
  import { Route as NavStoriesStoryIdRouteRouteImport } from './routes/_nav/stories/$storyId/route'
86
- import { Route as NavTagsIndexRouteImport } from './routes/_nav/tags/index'
87
- import { Route as NavTagsIdRouteRouteImport } from './routes/_nav/tags/$id/route'
88
- import { Route as NavTagsSettingsRouteRouteImport } from './routes/_nav/tags/settings/route'
85
+ import { Route as NavTasksIndexRouteImport } from './routes/_nav/tasks/index'
86
+ import { Route as NavTasksTaskIdRouteRouteImport } from './routes/_nav/tasks/$taskId/route'
89
87
  import { Route as NavTestCasesIndexRouteImport } from './routes/_nav/test-cases/index'
90
88
  import { Route as NavTestCasesCaseIdRouteRouteImport } from './routes/_nav/test-cases/$caseId/route'
91
89
  import { Route as NavWorkspacesIndexRouteImport } from './routes/_nav/workspaces/index'
@@ -101,6 +99,7 @@ import { Route as ApiCronAiRunReaperRouteImport } from './routes/api/cron/ai-run
101
99
  import { Route as ApiCronChangelogReleaseRouteImport } from './routes/api/cron/changelog-release'
102
100
  import { Route as ApiCronSubscriptionRemindersRouteImport } from './routes/api/cron/subscription-reminders'
103
101
  import { Route as ApiDesignPrototypeRouteRouteImport } from './routes/api/design/prototype/route'
102
+ import { Route as ApiInternalCollabReindexRouteImport } from './routes/api/internal/collab-reindex'
104
103
  import { Route as ApiKnowledgeSyncGithubRouteImport } from './routes/api/knowledge/sync-github'
105
104
  import { Route as ApiLicenseActivateRouteRouteImport } from './routes/api/license/activate/route'
106
105
  import { Route as ApiLicenseHeartbeatRouteRouteImport } from './routes/api/license/heartbeat/route'
@@ -256,12 +255,6 @@ const LoginVerifyEmailRouteRoute = LoginVerifyEmailRouteRouteImport.update({
256
255
  } as any).lazy(() =>
257
256
  import('./routes/_login/verify-email/route.lazy').then((d) => d.Route),
258
257
  )
259
- const NavAcceptanceCriteriaRouteRoute =
260
- NavAcceptanceCriteriaRouteRouteImport.update({
261
- id: '/acceptance-criteria',
262
- path: '/acceptance-criteria',
263
- getParentRoute: () => NavRouteRoute,
264
- } as any)
265
258
  const NavAppsRouteRoute = NavAppsRouteRouteImport.update({
266
259
  id: '/apps',
267
260
  path: '/apps',
@@ -349,9 +342,9 @@ const NavStoriesRouteRoute = NavStoriesRouteRouteImport.update({
349
342
  path: '/stories',
350
343
  getParentRoute: () => NavRouteRoute,
351
344
  } as any)
352
- const NavTagsRouteRoute = NavTagsRouteRouteImport.update({
353
- id: '/tags',
354
- path: '/tags',
345
+ const NavTasksRouteRoute = NavTasksRouteRouteImport.update({
346
+ id: '/tasks',
347
+ path: '/tasks',
355
348
  getParentRoute: () => NavRouteRoute,
356
349
  } as any)
357
350
  const NavTestCasesRouteRoute = NavTestCasesRouteRouteImport.update({
@@ -626,26 +619,19 @@ const NavStoriesStoryIdRouteRoute = NavStoriesStoryIdRouteRouteImport.update({
626
619
  } as any).lazy(() =>
627
620
  import('./routes/_nav/stories/$storyId/route.lazy').then((d) => d.Route),
628
621
  )
629
- const NavTagsIndexRoute = NavTagsIndexRouteImport.update({
622
+ const NavTasksIndexRoute = NavTasksIndexRouteImport.update({
630
623
  id: '/',
631
624
  path: '/',
632
- getParentRoute: () => NavTagsRouteRoute,
633
- } as any).lazy(() =>
634
- import('./routes/_nav/tags/index.lazy').then((d) => d.Route),
635
- )
636
- const NavTagsIdRouteRoute = NavTagsIdRouteRouteImport.update({
637
- id: '/$id',
638
- path: '/$id',
639
- getParentRoute: () => NavTagsRouteRoute,
625
+ getParentRoute: () => NavTasksRouteRoute,
640
626
  } as any).lazy(() =>
641
- import('./routes/_nav/tags/$id/route.lazy').then((d) => d.Route),
627
+ import('./routes/_nav/tasks/index.lazy').then((d) => d.Route),
642
628
  )
643
- const NavTagsSettingsRouteRoute = NavTagsSettingsRouteRouteImport.update({
644
- id: '/settings',
645
- path: '/settings',
646
- getParentRoute: () => NavTagsRouteRoute,
629
+ const NavTasksTaskIdRouteRoute = NavTasksTaskIdRouteRouteImport.update({
630
+ id: '/$taskId',
631
+ path: '/$taskId',
632
+ getParentRoute: () => NavTasksRouteRoute,
647
633
  } as any).lazy(() =>
648
- import('./routes/_nav/tags/settings/route.lazy').then((d) => d.Route),
634
+ import('./routes/_nav/tasks/$taskId/route.lazy').then((d) => d.Route),
649
635
  )
650
636
  const NavTestCasesIndexRoute = NavTestCasesIndexRouteImport.update({
651
637
  id: '/',
@@ -734,6 +720,12 @@ const ApiDesignPrototypeRouteRoute = ApiDesignPrototypeRouteRouteImport.update({
734
720
  path: '/api/design/prototype',
735
721
  getParentRoute: () => rootRouteImport,
736
722
  } as any)
723
+ const ApiInternalCollabReindexRoute =
724
+ ApiInternalCollabReindexRouteImport.update({
725
+ id: '/api/internal/collab-reindex',
726
+ path: '/api/internal/collab-reindex',
727
+ getParentRoute: () => rootRouteImport,
728
+ } as any)
737
729
  const ApiKnowledgeSyncGithubRoute = ApiKnowledgeSyncGithubRouteImport.update({
738
730
  id: '/api/knowledge/sync-github',
739
731
  path: '/api/knowledge/sync-github',
@@ -1107,7 +1099,6 @@ export interface FileRoutesByFullPath {
1107
1099
  '/register': typeof LoginRegisterRouteRoute
1108
1100
  '/reset-password': typeof LoginResetPasswordRouteRoute
1109
1101
  '/verify-email': typeof LoginVerifyEmailRouteRoute
1110
- '/acceptance-criteria': typeof NavAcceptanceCriteriaRouteRoute
1111
1102
  '/apps': typeof NavAppsRouteRouteWithChildren
1112
1103
  '/bugs': typeof NavBugsRouteRouteWithChildren
1113
1104
  '/changelog': typeof NavChangelogRouteRoute
@@ -1122,7 +1113,7 @@ export interface FileRoutesByFullPath {
1122
1113
  '/projects': typeof NavProjectsRouteRouteWithChildren
1123
1114
  '/settings': typeof NavSettingsRouteRouteWithChildren
1124
1115
  '/stories': typeof NavStoriesRouteRouteWithChildren
1125
- '/tags': typeof NavTagsRouteRouteWithChildren
1116
+ '/tasks': typeof NavTasksRouteRouteWithChildren
1126
1117
  '/test-cases': typeof NavTestCasesRouteRouteWithChildren
1127
1118
  '/workspaces': typeof NavWorkspacesRouteRouteWithChildren
1128
1119
  '/pricing': typeof PublicPricingRouteRoute
@@ -1159,8 +1150,7 @@ export interface FileRoutesByFullPath {
1159
1150
  '/settings/privacy': typeof NavSettingsPrivacyRouteRoute
1160
1151
  '/settings/team': typeof NavSettingsTeamRouteRoute
1161
1152
  '/stories/$storyId': typeof NavStoriesStoryIdRouteRoute
1162
- '/tags/$id': typeof NavTagsIdRouteRoute
1163
- '/tags/settings': typeof NavTagsSettingsRouteRoute
1153
+ '/tasks/$taskId': typeof NavTasksTaskIdRouteRoute
1164
1154
  '/test-cases/$caseId': typeof NavTestCasesCaseIdRouteRoute
1165
1155
  '/workspaces/$workspaceId': typeof NavWorkspacesWorkspaceIdRouteRouteWithChildren
1166
1156
  '/api/design/prototype': typeof ApiDesignPrototypeRouteRoute
@@ -1181,6 +1171,7 @@ export interface FileRoutesByFullPath {
1181
1171
  '/api/cron/ai-run-reaper': typeof ApiCronAiRunReaperRoute
1182
1172
  '/api/cron/changelog-release': typeof ApiCronChangelogReleaseRoute
1183
1173
  '/api/cron/subscription-reminders': typeof ApiCronSubscriptionRemindersRoute
1174
+ '/api/internal/collab-reindex': typeof ApiInternalCollabReindexRoute
1184
1175
  '/api/knowledge/sync-github': typeof ApiKnowledgeSyncGithubRoute
1185
1176
  '/api/mcp/bugs': typeof ApiMcpBugsRoute
1186
1177
  '/api/notifications/stream': typeof ApiNotificationsStreamRoute
@@ -1190,7 +1181,7 @@ export interface FileRoutesByFullPath {
1190
1181
  '/design/': typeof NavDesignIndexRoute
1191
1182
  '/knowledge/': typeof NavKnowledgeIndexRoute
1192
1183
  '/stories/': typeof NavStoriesIndexRoute
1193
- '/tags/': typeof NavTagsIndexRoute
1184
+ '/tasks/': typeof NavTasksIndexRoute
1194
1185
  '/test-cases/': typeof NavTestCasesIndexRoute
1195
1186
  '/workspaces/': typeof NavWorkspacesIndexRoute
1196
1187
  '/apps/anyhub/$id': typeof NavAppsAnyhubIdRouteRoute
@@ -1242,7 +1233,6 @@ export interface FileRoutesByTo {
1242
1233
  '/register': typeof LoginRegisterRouteRoute
1243
1234
  '/reset-password': typeof LoginResetPasswordRouteRoute
1244
1235
  '/verify-email': typeof LoginVerifyEmailRouteRoute
1245
- '/acceptance-criteria': typeof NavAcceptanceCriteriaRouteRoute
1246
1236
  '/apps': typeof NavAppsRouteRouteWithChildren
1247
1237
  '/changelog': typeof NavChangelogRouteRoute
1248
1238
  '/dashboard': typeof NavDashboardRouteRoute
@@ -1279,8 +1269,7 @@ export interface FileRoutesByTo {
1279
1269
  '/settings/privacy': typeof NavSettingsPrivacyRouteRoute
1280
1270
  '/settings/team': typeof NavSettingsTeamRouteRoute
1281
1271
  '/stories/$storyId': typeof NavStoriesStoryIdRouteRoute
1282
- '/tags/$id': typeof NavTagsIdRouteRoute
1283
- '/tags/settings': typeof NavTagsSettingsRouteRoute
1272
+ '/tasks/$taskId': typeof NavTasksTaskIdRouteRoute
1284
1273
  '/test-cases/$caseId': typeof NavTestCasesCaseIdRouteRoute
1285
1274
  '/workspaces/$workspaceId': typeof NavWorkspacesWorkspaceIdRouteRouteWithChildren
1286
1275
  '/api/design/prototype': typeof ApiDesignPrototypeRouteRoute
@@ -1301,6 +1290,7 @@ export interface FileRoutesByTo {
1301
1290
  '/api/cron/ai-run-reaper': typeof ApiCronAiRunReaperRoute
1302
1291
  '/api/cron/changelog-release': typeof ApiCronChangelogReleaseRoute
1303
1292
  '/api/cron/subscription-reminders': typeof ApiCronSubscriptionRemindersRoute
1293
+ '/api/internal/collab-reindex': typeof ApiInternalCollabReindexRoute
1304
1294
  '/api/knowledge/sync-github': typeof ApiKnowledgeSyncGithubRoute
1305
1295
  '/api/mcp/bugs': typeof ApiMcpBugsRoute
1306
1296
  '/api/notifications/stream': typeof ApiNotificationsStreamRoute
@@ -1310,7 +1300,7 @@ export interface FileRoutesByTo {
1310
1300
  '/design': typeof NavDesignIndexRoute
1311
1301
  '/knowledge': typeof NavKnowledgeIndexRoute
1312
1302
  '/stories': typeof NavStoriesIndexRoute
1313
- '/tags': typeof NavTagsIndexRoute
1303
+ '/tasks': typeof NavTasksIndexRoute
1314
1304
  '/test-cases': typeof NavTestCasesIndexRoute
1315
1305
  '/workspaces': typeof NavWorkspacesIndexRoute
1316
1306
  '/apps/anyhub/$id': typeof NavAppsAnyhubIdRouteRoute
@@ -1366,7 +1356,6 @@ export interface FileRoutesById {
1366
1356
  '/_login/register': typeof LoginRegisterRouteRoute
1367
1357
  '/_login/reset-password': typeof LoginResetPasswordRouteRoute
1368
1358
  '/_login/verify-email': typeof LoginVerifyEmailRouteRoute
1369
- '/_nav/acceptance-criteria': typeof NavAcceptanceCriteriaRouteRoute
1370
1359
  '/_nav/apps': typeof NavAppsRouteRouteWithChildren
1371
1360
  '/_nav/bugs': typeof NavBugsRouteRouteWithChildren
1372
1361
  '/_nav/changelog': typeof NavChangelogRouteRoute
@@ -1381,7 +1370,7 @@ export interface FileRoutesById {
1381
1370
  '/_nav/projects': typeof NavProjectsRouteRouteWithChildren
1382
1371
  '/_nav/settings': typeof NavSettingsRouteRouteWithChildren
1383
1372
  '/_nav/stories': typeof NavStoriesRouteRouteWithChildren
1384
- '/_nav/tags': typeof NavTagsRouteRouteWithChildren
1373
+ '/_nav/tasks': typeof NavTasksRouteRouteWithChildren
1385
1374
  '/_nav/test-cases': typeof NavTestCasesRouteRouteWithChildren
1386
1375
  '/_nav/workspaces': typeof NavWorkspacesRouteRouteWithChildren
1387
1376
  '/_public/pricing': typeof PublicPricingRouteRoute
@@ -1418,8 +1407,7 @@ export interface FileRoutesById {
1418
1407
  '/_nav/settings/privacy': typeof NavSettingsPrivacyRouteRoute
1419
1408
  '/_nav/settings/team': typeof NavSettingsTeamRouteRoute
1420
1409
  '/_nav/stories/$storyId': typeof NavStoriesStoryIdRouteRoute
1421
- '/_nav/tags/$id': typeof NavTagsIdRouteRoute
1422
- '/_nav/tags/settings': typeof NavTagsSettingsRouteRoute
1410
+ '/_nav/tasks/$taskId': typeof NavTasksTaskIdRouteRoute
1423
1411
  '/_nav/test-cases/$caseId': typeof NavTestCasesCaseIdRouteRoute
1424
1412
  '/_nav/workspaces/$workspaceId': typeof NavWorkspacesWorkspaceIdRouteRouteWithChildren
1425
1413
  '/api/design/prototype': typeof ApiDesignPrototypeRouteRoute
@@ -1440,6 +1428,7 @@ export interface FileRoutesById {
1440
1428
  '/api/cron/ai-run-reaper': typeof ApiCronAiRunReaperRoute
1441
1429
  '/api/cron/changelog-release': typeof ApiCronChangelogReleaseRoute
1442
1430
  '/api/cron/subscription-reminders': typeof ApiCronSubscriptionRemindersRoute
1431
+ '/api/internal/collab-reindex': typeof ApiInternalCollabReindexRoute
1443
1432
  '/api/knowledge/sync-github': typeof ApiKnowledgeSyncGithubRoute
1444
1433
  '/api/mcp/bugs': typeof ApiMcpBugsRoute
1445
1434
  '/api/notifications/stream': typeof ApiNotificationsStreamRoute
@@ -1449,7 +1438,7 @@ export interface FileRoutesById {
1449
1438
  '/_nav/design/': typeof NavDesignIndexRoute
1450
1439
  '/_nav/knowledge/': typeof NavKnowledgeIndexRoute
1451
1440
  '/_nav/stories/': typeof NavStoriesIndexRoute
1452
- '/_nav/tags/': typeof NavTagsIndexRoute
1441
+ '/_nav/tasks/': typeof NavTasksIndexRoute
1453
1442
  '/_nav/test-cases/': typeof NavTestCasesIndexRoute
1454
1443
  '/_nav/workspaces/': typeof NavWorkspacesIndexRoute
1455
1444
  '/_nav/apps/anyhub/$id': typeof NavAppsAnyhubIdRouteRoute
@@ -1503,7 +1492,6 @@ export interface FileRouteTypes {
1503
1492
  | '/register'
1504
1493
  | '/reset-password'
1505
1494
  | '/verify-email'
1506
- | '/acceptance-criteria'
1507
1495
  | '/apps'
1508
1496
  | '/bugs'
1509
1497
  | '/changelog'
@@ -1518,7 +1506,7 @@ export interface FileRouteTypes {
1518
1506
  | '/projects'
1519
1507
  | '/settings'
1520
1508
  | '/stories'
1521
- | '/tags'
1509
+ | '/tasks'
1522
1510
  | '/test-cases'
1523
1511
  | '/workspaces'
1524
1512
  | '/pricing'
@@ -1555,8 +1543,7 @@ export interface FileRouteTypes {
1555
1543
  | '/settings/privacy'
1556
1544
  | '/settings/team'
1557
1545
  | '/stories/$storyId'
1558
- | '/tags/$id'
1559
- | '/tags/settings'
1546
+ | '/tasks/$taskId'
1560
1547
  | '/test-cases/$caseId'
1561
1548
  | '/workspaces/$workspaceId'
1562
1549
  | '/api/design/prototype'
@@ -1577,6 +1564,7 @@ export interface FileRouteTypes {
1577
1564
  | '/api/cron/ai-run-reaper'
1578
1565
  | '/api/cron/changelog-release'
1579
1566
  | '/api/cron/subscription-reminders'
1567
+ | '/api/internal/collab-reindex'
1580
1568
  | '/api/knowledge/sync-github'
1581
1569
  | '/api/mcp/bugs'
1582
1570
  | '/api/notifications/stream'
@@ -1586,7 +1574,7 @@ export interface FileRouteTypes {
1586
1574
  | '/design/'
1587
1575
  | '/knowledge/'
1588
1576
  | '/stories/'
1589
- | '/tags/'
1577
+ | '/tasks/'
1590
1578
  | '/test-cases/'
1591
1579
  | '/workspaces/'
1592
1580
  | '/apps/anyhub/$id'
@@ -1638,7 +1626,6 @@ export interface FileRouteTypes {
1638
1626
  | '/register'
1639
1627
  | '/reset-password'
1640
1628
  | '/verify-email'
1641
- | '/acceptance-criteria'
1642
1629
  | '/apps'
1643
1630
  | '/changelog'
1644
1631
  | '/dashboard'
@@ -1675,8 +1662,7 @@ export interface FileRouteTypes {
1675
1662
  | '/settings/privacy'
1676
1663
  | '/settings/team'
1677
1664
  | '/stories/$storyId'
1678
- | '/tags/$id'
1679
- | '/tags/settings'
1665
+ | '/tasks/$taskId'
1680
1666
  | '/test-cases/$caseId'
1681
1667
  | '/workspaces/$workspaceId'
1682
1668
  | '/api/design/prototype'
@@ -1697,6 +1683,7 @@ export interface FileRouteTypes {
1697
1683
  | '/api/cron/ai-run-reaper'
1698
1684
  | '/api/cron/changelog-release'
1699
1685
  | '/api/cron/subscription-reminders'
1686
+ | '/api/internal/collab-reindex'
1700
1687
  | '/api/knowledge/sync-github'
1701
1688
  | '/api/mcp/bugs'
1702
1689
  | '/api/notifications/stream'
@@ -1706,7 +1693,7 @@ export interface FileRouteTypes {
1706
1693
  | '/design'
1707
1694
  | '/knowledge'
1708
1695
  | '/stories'
1709
- | '/tags'
1696
+ | '/tasks'
1710
1697
  | '/test-cases'
1711
1698
  | '/workspaces'
1712
1699
  | '/apps/anyhub/$id'
@@ -1761,7 +1748,6 @@ export interface FileRouteTypes {
1761
1748
  | '/_login/register'
1762
1749
  | '/_login/reset-password'
1763
1750
  | '/_login/verify-email'
1764
- | '/_nav/acceptance-criteria'
1765
1751
  | '/_nav/apps'
1766
1752
  | '/_nav/bugs'
1767
1753
  | '/_nav/changelog'
@@ -1776,7 +1762,7 @@ export interface FileRouteTypes {
1776
1762
  | '/_nav/projects'
1777
1763
  | '/_nav/settings'
1778
1764
  | '/_nav/stories'
1779
- | '/_nav/tags'
1765
+ | '/_nav/tasks'
1780
1766
  | '/_nav/test-cases'
1781
1767
  | '/_nav/workspaces'
1782
1768
  | '/_public/pricing'
@@ -1813,8 +1799,7 @@ export interface FileRouteTypes {
1813
1799
  | '/_nav/settings/privacy'
1814
1800
  | '/_nav/settings/team'
1815
1801
  | '/_nav/stories/$storyId'
1816
- | '/_nav/tags/$id'
1817
- | '/_nav/tags/settings'
1802
+ | '/_nav/tasks/$taskId'
1818
1803
  | '/_nav/test-cases/$caseId'
1819
1804
  | '/_nav/workspaces/$workspaceId'
1820
1805
  | '/api/design/prototype'
@@ -1835,6 +1820,7 @@ export interface FileRouteTypes {
1835
1820
  | '/api/cron/ai-run-reaper'
1836
1821
  | '/api/cron/changelog-release'
1837
1822
  | '/api/cron/subscription-reminders'
1823
+ | '/api/internal/collab-reindex'
1838
1824
  | '/api/knowledge/sync-github'
1839
1825
  | '/api/mcp/bugs'
1840
1826
  | '/api/notifications/stream'
@@ -1844,7 +1830,7 @@ export interface FileRouteTypes {
1844
1830
  | '/_nav/design/'
1845
1831
  | '/_nav/knowledge/'
1846
1832
  | '/_nav/stories/'
1847
- | '/_nav/tags/'
1833
+ | '/_nav/tasks/'
1848
1834
  | '/_nav/test-cases/'
1849
1835
  | '/_nav/workspaces/'
1850
1836
  | '/_nav/apps/anyhub/$id'
@@ -1916,6 +1902,7 @@ export interface RootRouteChildren {
1916
1902
  ApiCronAiRunReaperRoute: typeof ApiCronAiRunReaperRoute
1917
1903
  ApiCronChangelogReleaseRoute: typeof ApiCronChangelogReleaseRoute
1918
1904
  ApiCronSubscriptionRemindersRoute: typeof ApiCronSubscriptionRemindersRoute
1905
+ ApiInternalCollabReindexRoute: typeof ApiInternalCollabReindexRoute
1919
1906
  ApiKnowledgeSyncGithubRoute: typeof ApiKnowledgeSyncGithubRoute
1920
1907
  ApiMcpBugsRoute: typeof ApiMcpBugsRoute
1921
1908
  ApiNotificationsStreamRoute: typeof ApiNotificationsStreamRoute
@@ -2019,13 +2006,6 @@ declare module '@tanstack/react-router' {
2019
2006
  preLoaderRoute: typeof LoginVerifyEmailRouteRouteImport
2020
2007
  parentRoute: typeof LoginRouteRoute
2021
2008
  }
2022
- '/_nav/acceptance-criteria': {
2023
- id: '/_nav/acceptance-criteria'
2024
- path: '/acceptance-criteria'
2025
- fullPath: '/acceptance-criteria'
2026
- preLoaderRoute: typeof NavAcceptanceCriteriaRouteRouteImport
2027
- parentRoute: typeof NavRouteRoute
2028
- }
2029
2009
  '/_nav/apps': {
2030
2010
  id: '/_nav/apps'
2031
2011
  path: '/apps'
@@ -2131,11 +2111,11 @@ declare module '@tanstack/react-router' {
2131
2111
  preLoaderRoute: typeof NavStoriesRouteRouteImport
2132
2112
  parentRoute: typeof NavRouteRoute
2133
2113
  }
2134
- '/_nav/tags': {
2135
- id: '/_nav/tags'
2136
- path: '/tags'
2137
- fullPath: '/tags'
2138
- preLoaderRoute: typeof NavTagsRouteRouteImport
2114
+ '/_nav/tasks': {
2115
+ id: '/_nav/tasks'
2116
+ path: '/tasks'
2117
+ fullPath: '/tasks'
2118
+ preLoaderRoute: typeof NavTasksRouteRouteImport
2139
2119
  parentRoute: typeof NavRouteRoute
2140
2120
  }
2141
2121
  '/_nav/test-cases': {
@@ -2432,26 +2412,19 @@ declare module '@tanstack/react-router' {
2432
2412
  preLoaderRoute: typeof NavStoriesStoryIdRouteRouteImport
2433
2413
  parentRoute: typeof NavStoriesRouteRoute
2434
2414
  }
2435
- '/_nav/tags/': {
2436
- id: '/_nav/tags/'
2415
+ '/_nav/tasks/': {
2416
+ id: '/_nav/tasks/'
2437
2417
  path: '/'
2438
- fullPath: '/tags/'
2439
- preLoaderRoute: typeof NavTagsIndexRouteImport
2440
- parentRoute: typeof NavTagsRouteRoute
2441
- }
2442
- '/_nav/tags/$id': {
2443
- id: '/_nav/tags/$id'
2444
- path: '/$id'
2445
- fullPath: '/tags/$id'
2446
- preLoaderRoute: typeof NavTagsIdRouteRouteImport
2447
- parentRoute: typeof NavTagsRouteRoute
2418
+ fullPath: '/tasks/'
2419
+ preLoaderRoute: typeof NavTasksIndexRouteImport
2420
+ parentRoute: typeof NavTasksRouteRoute
2448
2421
  }
2449
- '/_nav/tags/settings': {
2450
- id: '/_nav/tags/settings'
2451
- path: '/settings'
2452
- fullPath: '/tags/settings'
2453
- preLoaderRoute: typeof NavTagsSettingsRouteRouteImport
2454
- parentRoute: typeof NavTagsRouteRoute
2422
+ '/_nav/tasks/$taskId': {
2423
+ id: '/_nav/tasks/$taskId'
2424
+ path: '/$taskId'
2425
+ fullPath: '/tasks/$taskId'
2426
+ preLoaderRoute: typeof NavTasksTaskIdRouteRouteImport
2427
+ parentRoute: typeof NavTasksRouteRoute
2455
2428
  }
2456
2429
  '/_nav/test-cases/': {
2457
2430
  id: '/_nav/test-cases/'
@@ -2558,6 +2531,13 @@ declare module '@tanstack/react-router' {
2558
2531
  preLoaderRoute: typeof ApiDesignPrototypeRouteRouteImport
2559
2532
  parentRoute: typeof rootRouteImport
2560
2533
  }
2534
+ '/api/internal/collab-reindex': {
2535
+ id: '/api/internal/collab-reindex'
2536
+ path: '/api/internal/collab-reindex'
2537
+ fullPath: '/api/internal/collab-reindex'
2538
+ preLoaderRoute: typeof ApiInternalCollabReindexRouteImport
2539
+ parentRoute: typeof rootRouteImport
2540
+ }
2561
2541
  '/api/knowledge/sync-github': {
2562
2542
  id: '/api/knowledge/sync-github'
2563
2543
  path: '/api/knowledge/sync-github'
@@ -3194,20 +3174,18 @@ const NavStoriesRouteRouteWithChildren = NavStoriesRouteRoute._addFileChildren(
3194
3174
  NavStoriesRouteRouteChildren,
3195
3175
  )
3196
3176
 
3197
- interface NavTagsRouteRouteChildren {
3198
- NavTagsIdRouteRoute: typeof NavTagsIdRouteRoute
3199
- NavTagsSettingsRouteRoute: typeof NavTagsSettingsRouteRoute
3200
- NavTagsIndexRoute: typeof NavTagsIndexRoute
3177
+ interface NavTasksRouteRouteChildren {
3178
+ NavTasksTaskIdRouteRoute: typeof NavTasksTaskIdRouteRoute
3179
+ NavTasksIndexRoute: typeof NavTasksIndexRoute
3201
3180
  }
3202
3181
 
3203
- const NavTagsRouteRouteChildren: NavTagsRouteRouteChildren = {
3204
- NavTagsIdRouteRoute: NavTagsIdRouteRoute,
3205
- NavTagsSettingsRouteRoute: NavTagsSettingsRouteRoute,
3206
- NavTagsIndexRoute: NavTagsIndexRoute,
3182
+ const NavTasksRouteRouteChildren: NavTasksRouteRouteChildren = {
3183
+ NavTasksTaskIdRouteRoute: NavTasksTaskIdRouteRoute,
3184
+ NavTasksIndexRoute: NavTasksIndexRoute,
3207
3185
  }
3208
3186
 
3209
- const NavTagsRouteRouteWithChildren = NavTagsRouteRoute._addFileChildren(
3210
- NavTagsRouteRouteChildren,
3187
+ const NavTasksRouteRouteWithChildren = NavTasksRouteRoute._addFileChildren(
3188
+ NavTasksRouteRouteChildren,
3211
3189
  )
3212
3190
 
3213
3191
  interface NavTestCasesRouteRouteChildren {
@@ -3278,7 +3256,6 @@ const NavChatRouteWithChildren =
3278
3256
  NavChatRoute._addFileChildren(NavChatRouteChildren)
3279
3257
 
3280
3258
  interface NavRouteRouteChildren {
3281
- NavAcceptanceCriteriaRouteRoute: typeof NavAcceptanceCriteriaRouteRoute
3282
3259
  NavAppsRouteRoute: typeof NavAppsRouteRouteWithChildren
3283
3260
  NavBugsRouteRoute: typeof NavBugsRouteRouteWithChildren
3284
3261
  NavChangelogRouteRoute: typeof NavChangelogRouteRoute
@@ -3293,14 +3270,13 @@ interface NavRouteRouteChildren {
3293
3270
  NavProjectsRouteRoute: typeof NavProjectsRouteRouteWithChildren
3294
3271
  NavSettingsRouteRoute: typeof NavSettingsRouteRouteWithChildren
3295
3272
  NavStoriesRouteRoute: typeof NavStoriesRouteRouteWithChildren
3296
- NavTagsRouteRoute: typeof NavTagsRouteRouteWithChildren
3273
+ NavTasksRouteRoute: typeof NavTasksRouteRouteWithChildren
3297
3274
  NavTestCasesRouteRoute: typeof NavTestCasesRouteRouteWithChildren
3298
3275
  NavWorkspacesRouteRoute: typeof NavWorkspacesRouteRouteWithChildren
3299
3276
  NavChatRoute: typeof NavChatRouteWithChildren
3300
3277
  }
3301
3278
 
3302
3279
  const NavRouteRouteChildren: NavRouteRouteChildren = {
3303
- NavAcceptanceCriteriaRouteRoute: NavAcceptanceCriteriaRouteRoute,
3304
3280
  NavAppsRouteRoute: NavAppsRouteRouteWithChildren,
3305
3281
  NavBugsRouteRoute: NavBugsRouteRouteWithChildren,
3306
3282
  NavChangelogRouteRoute: NavChangelogRouteRoute,
@@ -3315,7 +3291,7 @@ const NavRouteRouteChildren: NavRouteRouteChildren = {
3315
3291
  NavProjectsRouteRoute: NavProjectsRouteRouteWithChildren,
3316
3292
  NavSettingsRouteRoute: NavSettingsRouteRouteWithChildren,
3317
3293
  NavStoriesRouteRoute: NavStoriesRouteRouteWithChildren,
3318
- NavTagsRouteRoute: NavTagsRouteRouteWithChildren,
3294
+ NavTasksRouteRoute: NavTasksRouteRouteWithChildren,
3319
3295
  NavTestCasesRouteRoute: NavTestCasesRouteRouteWithChildren,
3320
3296
  NavWorkspacesRouteRoute: NavWorkspacesRouteRouteWithChildren,
3321
3297
  NavChatRoute: NavChatRouteWithChildren,
@@ -3390,6 +3366,7 @@ const rootRouteChildren: RootRouteChildren = {
3390
3366
  ApiCronAiRunReaperRoute: ApiCronAiRunReaperRoute,
3391
3367
  ApiCronChangelogReleaseRoute: ApiCronChangelogReleaseRoute,
3392
3368
  ApiCronSubscriptionRemindersRoute: ApiCronSubscriptionRemindersRoute,
3369
+ ApiInternalCollabReindexRoute: ApiInternalCollabReindexRoute,
3393
3370
  ApiKnowledgeSyncGithubRoute: ApiKnowledgeSyncGithubRoute,
3394
3371
  ApiMcpBugsRoute: ApiMcpBugsRoute,
3395
3372
  ApiNotificationsStreamRoute: ApiNotificationsStreamRoute,