@shepai/cli 1.167.0 → 1.168.0-pr505.7d2bb14

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 (470) hide show
  1. package/apis/json-schema/FeatureFlags.yaml +5 -0
  2. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +38 -2
  3. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -1
  4. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +16 -1
  5. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +2 -0
  7. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/interactive/index.js +1 -0
  9. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts +17 -0
  10. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts.map +1 -0
  11. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.js +34 -0
  12. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.js +6 -2
  14. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  15. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
  16. package/dist/packages/core/src/domain/generated/output.d.ts +4 -0
  17. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/legacy-migrations.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/legacy-migrations.js +11 -0
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -0
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.d.ts +11 -0
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.d.ts.map +1 -0
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/050-add-feature-flag-inventory.js +17 -0
  28. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts +3 -3
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +3 -3
  30. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  31. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +12 -3
  32. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +3 -0
  33. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +59 -6
  35. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +7 -0
  36. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +101 -1
  38. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts +19 -0
  39. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts.map +1 -0
  40. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.js +33 -0
  41. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  42. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +7 -0
  43. package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts +7 -0
  44. package/dist/src/presentation/web/app/features/feature-tree-page-client.d.ts.map +1 -0
  45. package/dist/src/presentation/web/app/features/feature-tree-page-client.js +13 -0
  46. package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts +10 -0
  47. package/dist/src/presentation/web/app/features/get-feature-tree-data.d.ts.map +1 -0
  48. package/dist/src/presentation/web/app/features/get-feature-tree-data.js +47 -0
  49. package/dist/src/presentation/web/app/features/page.d.ts +4 -0
  50. package/dist/src/presentation/web/app/features/page.d.ts.map +1 -0
  51. package/dist/src/presentation/web/app/features/page.js +9 -0
  52. package/dist/src/presentation/web/app/layout.d.ts +0 -1
  53. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  54. package/dist/src/presentation/web/app/layout.js +0 -1
  55. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +3 -2
  56. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  57. package/dist/src/presentation/web/components/assistant-ui/thread.js +26 -3
  58. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.d.ts.map +1 -1
  59. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.js +68 -56
  60. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  61. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +1 -0
  62. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts +1 -0
  63. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.js +7 -1
  65. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts +1 -0
  66. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.js +3 -0
  68. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +3 -1
  70. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  71. package/dist/src/presentation/web/components/features/chat/ChatTab.js +3 -2
  72. package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts +33 -0
  73. package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts.map +1 -0
  74. package/dist/src/presentation/web/components/features/chat/InteractionBubble.js +155 -0
  75. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts +22 -0
  76. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts.map +1 -0
  77. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.js +107 -0
  78. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +16 -0
  79. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
  80. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +62 -1
  81. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  82. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +18 -3
  83. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -0
  84. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  85. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -1
  86. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts +36 -0
  87. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.d.ts.map +1 -0
  88. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.js +196 -0
  89. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts +12 -0
  90. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.d.ts.map +1 -0
  91. package/dist/src/presentation/web/components/features/feature-tree-table/feature-tree-table.stories.js +166 -0
  92. package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts +3 -0
  93. package/dist/src/presentation/web/components/features/feature-tree-table/index.d.ts.map +1 -0
  94. package/dist/src/presentation/web/components/features/feature-tree-table/index.js +1 -0
  95. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  96. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -0
  97. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
  99. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -0
  101. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  102. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
  103. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  104. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  105. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  106. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
  107. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  108. package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
  109. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  110. package/dist/src/presentation/web/hooks/use-graph-state.js +16 -0
  111. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +1 -1
  112. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
  113. package/dist/src/presentation/web/hooks/use-turn-statuses.js +1 -1
  114. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
  115. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  116. package/dist/src/presentation/web/lib/feature-flags.js +5 -0
  117. package/dist/translations/ar/web.json +3 -0
  118. package/dist/translations/de/web.json +3 -0
  119. package/dist/translations/en/web.json +3 -0
  120. package/dist/translations/es/web.json +3 -0
  121. package/dist/translations/fr/web.json +3 -0
  122. package/dist/translations/he/web.json +3 -0
  123. package/dist/translations/pt/web.json +3 -0
  124. package/dist/translations/ru/web.json +3 -0
  125. package/dist/tsconfig.build.tsbuildinfo +1 -1
  126. package/package.json +1 -1
  127. package/web/.next/BUILD_ID +1 -1
  128. package/web/.next/app-path-routes-manifest.json +2 -0
  129. package/web/.next/build-manifest.json +6 -6
  130. package/web/.next/fallback-build-manifest.json +2 -2
  131. package/web/.next/prerender-manifest.json +3 -3
  132. package/web/.next/required-server-files.js +3 -3
  133. package/web/.next/required-server-files.json +3 -3
  134. package/web/.next/routes-manifest.json +14 -0
  135. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +4 -4
  136. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -8
  137. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  138. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  139. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +4 -4
  142. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +1 -8
  143. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  144. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  146. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  147. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +4 -4
  148. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +1 -8
  149. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  150. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  151. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  152. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  153. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  154. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
  155. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  156. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  157. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  158. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  159. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +4 -4
  160. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +1 -8
  161. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
  162. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  163. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  164. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  165. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +4 -4
  166. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
  167. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  168. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  169. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  170. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  171. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +4 -4
  172. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
  173. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  174. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  175. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +4 -4
  178. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +1 -8
  179. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  180. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  181. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +4 -4
  184. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +1 -8
  185. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  186. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  187. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  188. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  189. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +4 -4
  190. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
  191. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  192. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  193. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  194. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  195. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +4 -4
  196. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +1 -8
  197. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
  198. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  199. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  200. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  201. package/web/.next/server/app/(dashboard)/page/build-manifest.json +4 -4
  202. package/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -8
  203. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  204. package/web/.next/server/app/(dashboard)/page.js +1 -1
  205. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  206. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  207. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +4 -4
  208. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
  209. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  210. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  211. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  212. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  213. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +4 -4
  214. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
  215. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  216. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  217. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  218. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  219. package/web/.next/server/app/_global-error/page/build-manifest.json +4 -4
  220. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  221. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  222. package/web/.next/server/app/_global-error.html +2 -2
  223. package/web/.next/server/app/_global-error.rsc +7 -7
  224. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  225. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  226. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  227. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  228. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  229. package/web/.next/server/app/_not-found/page/build-manifest.json +4 -4
  230. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -8
  231. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  232. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  233. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  234. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  235. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  236. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  237. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  238. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/app-paths-manifest.json +3 -0
  239. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/build-manifest.json +11 -0
  240. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/server-reference-manifest.json +4 -0
  241. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js +7 -0
  242. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.map +5 -0
  243. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.nft.json +1 -0
  244. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route_client-reference-manifest.js +2 -0
  245. package/web/.next/server/app/features/page/app-paths-manifest.json +3 -0
  246. package/web/.next/server/app/features/page/build-manifest.json +18 -0
  247. package/web/.next/server/app/features/page/next-font-manifest.json +6 -0
  248. package/web/.next/server/app/features/page/react-loadable-manifest.json +1 -0
  249. package/web/.next/server/app/features/page/server-reference-manifest.json +95 -0
  250. package/web/.next/server/app/features/page.js +18 -0
  251. package/web/.next/server/app/features/page.js.map +5 -0
  252. package/web/.next/server/app/features/page.js.nft.json +1 -0
  253. package/web/.next/server/app/features/page_client-reference-manifest.js +2 -0
  254. package/web/.next/server/app/settings/page/build-manifest.json +4 -4
  255. package/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -8
  256. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  257. package/web/.next/server/app/settings/page.js +1 -1
  258. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  259. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  260. package/web/.next/server/app/skills/page/build-manifest.json +4 -4
  261. package/web/.next/server/app/skills/page/react-loadable-manifest.json +1 -8
  262. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  263. package/web/.next/server/app/skills/page.js +1 -1
  264. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  265. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  266. package/web/.next/server/app/tools/page/build-manifest.json +4 -4
  267. package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -8
  268. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  269. package/web/.next/server/app/tools/page.js +1 -1
  270. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  271. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  272. package/web/.next/server/app/version/page/build-manifest.json +4 -4
  273. package/web/.next/server/app/version/page/react-loadable-manifest.json +1 -8
  274. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  275. package/web/.next/server/app/version/page.js.nft.json +1 -1
  276. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  277. package/web/.next/server/app-paths-manifest.json +2 -0
  278. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js +3 -0
  279. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js.map +1 -0
  280. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js +3 -0
  281. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js.map +1 -0
  282. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +9 -3
  283. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
  284. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  285. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  286. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  287. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  288. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  289. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  290. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  291. package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js +3 -0
  292. package/web/.next/server/chunks/ssr/[root-of-the-server]__08c912ab._.js.map +1 -0
  293. package/web/.next/server/chunks/ssr/{[root-of-the-server]__b062b383._.js → [root-of-the-server]__0c5452c3._.js} +2 -2
  294. package/web/.next/server/chunks/ssr/[root-of-the-server]__0c5452c3._.js.map +1 -0
  295. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  296. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  297. package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js +3 -0
  298. package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  300. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +1 -1
  301. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js → [root-of-the-server]__69dd3217._.js} +2 -2
  303. package/web/.next/server/chunks/ssr/{[root-of-the-server]__dffa13c5._.js.map → [root-of-the-server]__69dd3217._.js.map} +1 -1
  304. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +4 -0
  305. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -0
  306. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +1 -1
  307. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1abe77bb._.js → [root-of-the-server]__7ffd3598._.js} +3 -3
  309. package/web/.next/server/chunks/ssr/[root-of-the-server]__7ffd3598._.js.map +1 -0
  310. package/web/.next/server/chunks/ssr/{[root-of-the-server]__248ee887._.js → [root-of-the-server]__851f6adb._.js} +2 -2
  311. package/web/.next/server/chunks/ssr/[root-of-the-server]__851f6adb._.js.map +1 -0
  312. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +2 -2
  313. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7562afc6._.js → [root-of-the-server]__b020c17d._.js} +3 -3
  315. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -0
  316. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  317. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  318. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +1 -1
  319. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -1
  320. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +1 -1
  321. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -1
  322. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b0aac03._.js → [root-of-the-server]__e88da4ee._.js} +3 -3
  323. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b0aac03._.js.map → [root-of-the-server]__e88da4ee._.js.map} +1 -1
  324. package/web/.next/server/chunks/ssr/_0020fddd._.js +1 -1
  325. package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -1
  326. package/web/.next/server/chunks/ssr/{_a5913a26._.js → _004b47fc._.js} +2 -2
  327. package/web/.next/server/chunks/ssr/{_a5913a26._.js.map → _004b47fc._.js.map} +1 -1
  328. package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
  329. package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  331. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  332. package/web/.next/server/chunks/ssr/_0727935d._.js +1 -1
  333. package/web/.next/server/chunks/ssr/_0727935d._.js.map +1 -1
  334. package/web/.next/server/chunks/ssr/_0dc06d07._.js +1 -1
  335. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
  336. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  337. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  338. package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
  339. package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
  340. package/web/.next/server/chunks/ssr/_1e08a336._.js.map +1 -1
  341. package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
  342. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
  343. package/web/.next/server/chunks/ssr/_4a4709c5._.js +4 -0
  344. package/web/.next/server/chunks/ssr/_4a4709c5._.js.map +1 -0
  345. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +3 -0
  346. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -0
  347. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  348. package/web/.next/server/chunks/ssr/_560f2971._.js +3 -0
  349. package/web/.next/server/chunks/ssr/_560f2971._.js.map +1 -0
  350. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  351. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  352. package/web/.next/server/chunks/ssr/{_b4c3ffcc._.js → _58902d92._.js} +2 -2
  353. package/web/.next/server/chunks/ssr/{_b4c3ffcc._.js.map → _58902d92._.js.map} +1 -1
  354. package/web/.next/server/chunks/ssr/{_506a3bc3._.js → _682fc996._.js} +2 -2
  355. package/web/.next/server/chunks/ssr/_682fc996._.js.map +1 -0
  356. package/web/.next/server/chunks/ssr/_6892e3b9._.js +3 -0
  357. package/web/.next/server/chunks/ssr/_6892e3b9._.js.map +1 -0
  358. package/web/.next/server/chunks/ssr/_a1068852._.js +3 -0
  359. package/web/.next/server/chunks/ssr/_a1068852._.js.map +1 -0
  360. package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
  361. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
  362. package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
  363. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
  364. package/web/.next/server/chunks/ssr/_b4a9122d._.js +3 -0
  365. package/web/.next/server/chunks/ssr/_b4a9122d._.js.map +1 -0
  366. package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
  367. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
  368. package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
  369. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
  370. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
  371. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
  372. package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
  373. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
  374. package/web/.next/server/chunks/ssr/_f535d854._.js +3 -0
  375. package/web/.next/server/chunks/ssr/_f535d854._.js.map +1 -0
  376. package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
  377. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
  378. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  379. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  380. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  381. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  382. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js +3 -0
  383. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js.map +1 -0
  384. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  385. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +10 -0
  386. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js.map +1 -0
  387. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  388. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  389. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js +3 -0
  390. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_page-header_index_ts_bdf4db0b._.js.map +1 -0
  391. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  392. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  393. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js +1 -1
  394. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map +1 -1
  395. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  396. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  397. package/web/.next/server/middleware-build-manifest.js +4 -4
  398. package/web/.next/server/pages/500.html +2 -2
  399. package/web/.next/server/server-reference-manifest.js +1 -1
  400. package/web/.next/server/server-reference-manifest.json +90 -48
  401. package/web/.next/static/chunks/{fe70e73feb07bcfd.js → 08ec4c9ab61717aa.js} +1 -1
  402. package/web/.next/static/chunks/{dedf6ca63c5468fa.js → 09edd35d194bec06.js} +3 -3
  403. package/web/.next/static/chunks/{d4d8f0a137bd2eb4.js → 12803afee7d0afc8.js} +2 -2
  404. package/web/.next/static/chunks/20f7cc98a013b11c.js +1 -0
  405. package/web/.next/static/chunks/2f711373a93c5bc3.css +1 -0
  406. package/web/.next/static/chunks/{8866edda931a81c2.js → 352c5cb6ed572dc3.js} +1 -1
  407. package/web/.next/static/chunks/3e393d6a78b2ade4.js +1 -0
  408. package/web/.next/static/chunks/41b4082b079b3ede.js +1 -0
  409. package/web/.next/static/chunks/4cec255f2754e5ec.js +1 -0
  410. package/web/.next/static/chunks/5a36922f56850850.js +1 -0
  411. package/web/.next/static/chunks/5b7275374d2696b3.css +1 -0
  412. package/web/.next/static/chunks/5ed47e998707b519.js +8 -0
  413. package/web/.next/static/chunks/647140fe96a7c88a.js +1 -0
  414. package/web/.next/static/chunks/6d6f70ff5151b8cb.js +7 -0
  415. package/web/.next/static/chunks/7bbbe3273230d2a1.js +3 -0
  416. package/web/.next/static/chunks/{7a7d7e71cf9b5a4e.js → 890a772551fc3962.js} +1 -1
  417. package/web/.next/static/chunks/982aef195c118996.js +1 -0
  418. package/web/.next/static/chunks/{d6a1facd04a52af5.js → a830880e642a6e01.js} +3 -3
  419. package/web/.next/static/chunks/c3ef3b892f7794ec.js +1 -0
  420. package/web/.next/static/chunks/c625deec577681f7.js +1 -0
  421. package/web/.next/static/chunks/dadf5909b2f15985.js +1 -0
  422. package/web/.next/static/chunks/dc134f3f58cdf850.js +5 -0
  423. package/web/.next/static/chunks/e137a48b35703673.js +1 -0
  424. package/web/.next/static/chunks/{3f404f608aebc7bb.js → e26afac86ed33fa7.js} +1 -1
  425. package/web/.next/static/chunks/f48af05c1bdb8aec.js +1 -0
  426. package/web/.next/static/chunks/f998b42b5cddafd6.js +1 -0
  427. package/web/.next/static/chunks/{d7eebb5c0aa9e101.js → fac6bac55da705ea.js} +1 -1
  428. package/web/.next/static/chunks/fb9d76d30fa8f790.js +1 -0
  429. package/web/.next/static/chunks/{turbopack-432ef324fc27240c.js → turbopack-57bb0674e2cd1d31.js} +1 -1
  430. package/web/package.json +2 -0
  431. package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js.map +0 -1
  432. package/web/.next/server/chunks/ssr/[root-of-the-server]__248ee887._.js.map +0 -1
  433. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js +0 -3
  434. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js.map +0 -1
  435. package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js.map +0 -1
  436. package/web/.next/server/chunks/ssr/[root-of-the-server]__b062b383._.js.map +0 -1
  437. package/web/.next/server/chunks/ssr/_3bcda5d7._.js +0 -3
  438. package/web/.next/server/chunks/ssr/_3bcda5d7._.js.map +0 -1
  439. package/web/.next/server/chunks/ssr/_4d49a312._.js +0 -3
  440. package/web/.next/server/chunks/ssr/_4d49a312._.js.map +0 -1
  441. package/web/.next/server/chunks/ssr/_506a3bc3._.js.map +0 -1
  442. package/web/.next/server/chunks/ssr/_5ab8e97d._.js +0 -3
  443. package/web/.next/server/chunks/ssr/_5ab8e97d._.js.map +0 -1
  444. package/web/.next/server/chunks/ssr/_9215e9ec._.js +0 -3
  445. package/web/.next/server/chunks/ssr/_9215e9ec._.js.map +0 -1
  446. package/web/.next/server/chunks/ssr/_b5fc318a._.js +0 -3
  447. package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
  448. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +0 -3
  449. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +0 -1
  450. package/web/.next/static/chunks/0be57768a211221a.js +0 -1
  451. package/web/.next/static/chunks/16eea21868510afd.js +0 -5
  452. package/web/.next/static/chunks/3208dc997aaee4d3.css +0 -1
  453. package/web/.next/static/chunks/3deefc76ea55047c.js +0 -1
  454. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +0 -1
  455. package/web/.next/static/chunks/420eb8b33d83c4cb.js +0 -1
  456. package/web/.next/static/chunks/63b0ad1dbc27a5d0.js +0 -1
  457. package/web/.next/static/chunks/65440524d7ee7d13.js +0 -1
  458. package/web/.next/static/chunks/672e3da3ad26005b.js +0 -1
  459. package/web/.next/static/chunks/6c634b447a6a0db8.js +0 -7
  460. package/web/.next/static/chunks/6d7b999c99d6d175.js +0 -9
  461. package/web/.next/static/chunks/6eb32cd5d2795a7c.js +0 -1
  462. package/web/.next/static/chunks/7f4d1ec4e9f921a3.js +0 -1
  463. package/web/.next/static/chunks/8180973e9cd6a99e.css +0 -1
  464. package/web/.next/static/chunks/c0e13e7d1601bc5d.js +0 -1
  465. package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
  466. package/web/.next/static/chunks/da6d0839a24602eb.js +0 -3
  467. package/web/.next/static/chunks/db3bf9eb0b519bae.js +0 -1
  468. /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_buildManifest.js +0 -0
  469. /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_clientMiddlewareManifest.json +0 -0
  470. /package/web/.next/static/{JjjyVzk5ESdcMWkH6999z → 9dnSGRS5_ITgOmM09PgwP}/_ssgManifest.js +0 -0
@@ -0,0 +1,166 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { FeatureTreeTable } from './feature-tree-table.js';
3
+ const meta = {
4
+ title: 'Features/FeatureTreeTable',
5
+ component: FeatureTreeTable,
6
+ parameters: {
7
+ layout: 'padded',
8
+ },
9
+ tags: ['autodocs'],
10
+ decorators: [
11
+ (Story) => (_jsx("div", { style: { height: '500px', width: '100%' }, children: _jsx(Story, {}) })),
12
+ ],
13
+ };
14
+ export default meta;
15
+ const singleRepoFeatures = [
16
+ {
17
+ id: 'feat-1',
18
+ name: 'Authentication System',
19
+ status: 'done',
20
+ lifecycle: 'Maintain',
21
+ branch: 'feat/auth-system',
22
+ repositoryName: 'my-app',
23
+ remoteUrl: 'https://github.com/acme/my-app',
24
+ },
25
+ {
26
+ id: 'feat-2',
27
+ name: 'OAuth2 Provider',
28
+ status: 'in-progress',
29
+ lifecycle: 'Implementation',
30
+ branch: 'feat/oauth2-provider',
31
+ repositoryName: 'my-app',
32
+ remoteUrl: 'https://github.com/acme/my-app',
33
+ parentId: 'feat-1',
34
+ },
35
+ {
36
+ id: 'feat-3',
37
+ name: 'JWT Token Refresh',
38
+ status: 'pending',
39
+ lifecycle: 'Planning',
40
+ branch: 'feat/jwt-refresh',
41
+ repositoryName: 'my-app',
42
+ remoteUrl: 'https://github.com/acme/my-app',
43
+ parentId: 'feat-1',
44
+ },
45
+ {
46
+ id: 'feat-4',
47
+ name: 'Payment Integration',
48
+ status: 'action-needed',
49
+ lifecycle: 'Review',
50
+ branch: 'feat/payments',
51
+ repositoryName: 'my-app',
52
+ remoteUrl: 'https://github.com/acme/my-app',
53
+ },
54
+ ];
55
+ const multiRepoFeatures = [
56
+ ...singleRepoFeatures,
57
+ {
58
+ id: 'feat-5',
59
+ name: 'Dashboard Widgets',
60
+ status: 'blocked',
61
+ lifecycle: 'Blocked',
62
+ branch: 'feat/dashboard-widgets',
63
+ repositoryName: 'admin-portal',
64
+ remoteUrl: 'https://github.com/acme/admin-portal',
65
+ },
66
+ {
67
+ id: 'feat-6',
68
+ name: 'Stripe Checkout',
69
+ status: 'error',
70
+ lifecycle: 'Implementation',
71
+ branch: 'feat/stripe-checkout',
72
+ repositoryName: 'admin-portal',
73
+ remoteUrl: 'https://github.com/acme/admin-portal',
74
+ },
75
+ {
76
+ id: 'feat-7',
77
+ name: 'API Gateway',
78
+ status: 'in-progress',
79
+ lifecycle: 'Implementation',
80
+ branch: 'feat/api-gateway',
81
+ repositoryName: 'infrastructure',
82
+ remoteUrl: 'https://gitlab.com/acme/infrastructure',
83
+ },
84
+ ];
85
+ export const Default = {
86
+ args: {
87
+ data: multiRepoFeatures,
88
+ },
89
+ };
90
+ export const SingleRepository = {
91
+ args: {
92
+ data: singleRepoFeatures,
93
+ },
94
+ };
95
+ export const Empty = {
96
+ args: {
97
+ data: [],
98
+ },
99
+ };
100
+ export const WithClickHandler = {
101
+ args: {
102
+ data: multiRepoFeatures,
103
+ onFeatureClick: (id) => alert(`Clicked feature: ${id}`),
104
+ },
105
+ };
106
+ const deeplyNestedFeatures = [
107
+ {
108
+ id: 'root-1',
109
+ name: 'Platform Overhaul',
110
+ status: 'in-progress',
111
+ lifecycle: 'Implementation',
112
+ branch: 'feat/platform-overhaul',
113
+ repositoryName: 'platform',
114
+ remoteUrl: 'https://github.com/acme/platform',
115
+ },
116
+ {
117
+ id: 'child-1',
118
+ name: 'API Redesign',
119
+ status: 'in-progress',
120
+ lifecycle: 'Implementation',
121
+ branch: 'feat/api-redesign',
122
+ repositoryName: 'platform',
123
+ remoteUrl: 'https://github.com/acme/platform',
124
+ parentId: 'root-1',
125
+ },
126
+ {
127
+ id: 'grandchild-1',
128
+ name: 'REST to GraphQL Migration',
129
+ status: 'pending',
130
+ lifecycle: 'Planning',
131
+ branch: 'feat/graphql-migration',
132
+ repositoryName: 'platform',
133
+ remoteUrl: 'https://github.com/acme/platform',
134
+ parentId: 'child-1',
135
+ },
136
+ {
137
+ id: 'child-2',
138
+ name: 'Database Migration',
139
+ status: 'done',
140
+ lifecycle: 'Maintain',
141
+ branch: 'feat/db-migration',
142
+ repositoryName: 'platform',
143
+ remoteUrl: 'https://github.com/acme/platform',
144
+ parentId: 'root-1',
145
+ },
146
+ ];
147
+ export const DeeplyNested = {
148
+ args: {
149
+ data: deeplyNestedFeatures,
150
+ },
151
+ };
152
+ const noRemoteFeatures = [
153
+ {
154
+ id: 'feat-local-1',
155
+ name: 'Local Feature',
156
+ status: 'in-progress',
157
+ lifecycle: 'Implementation',
158
+ branch: 'feat/local-work',
159
+ repositoryName: 'local-project',
160
+ },
161
+ ];
162
+ export const NoRemoteUrl = {
163
+ args: {
164
+ data: noRemoteFeatures,
165
+ },
166
+ };
@@ -0,0 +1,3 @@
1
+ export { FeatureTreeTable, buildTreeData } from './feature-tree-table.js';
2
+ export type { FeatureTreeTableProps, FeatureTreeRow, InventoryRepo } from './feature-tree-table.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/feature-tree-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ export { FeatureTreeTable, buildTreeData } from './feature-tree-table.js';
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags-settings-section.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/feature-flags-settings-section.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAiCzE,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,2BAA2B,CAAC,EAAE,YAAY,EAAE,EAAE,gCAAgC,2CAgE7F"}
1
+ {"version":3,"file":"feature-flags-settings-section.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/feature-flags-settings-section.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAoCzE,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,wBAAgB,2BAA2B,CAAC,EAAE,YAAY,EAAE,EAAE,gCAAgC,2CAgE7F"}
@@ -15,6 +15,7 @@ const FLAG_DESCRIPTIONS = {
15
15
  adoptBranch: 'Enable the ability to adopt existing branches as tracked features',
16
16
  gitRebaseSync: 'Enable git rebase-on-main and sync-main operations in the web UI',
17
17
  reactFileManager: 'Use the built-in React file manager instead of the native OS folder picker. Also serves as automatic fallback when the native picker is unavailable.',
18
+ inventory: 'Enable the Inventory page showing all repositories and features in a tree view',
18
19
  };
19
20
  const FLAG_LABELS = {
20
21
  skills: 'Skills',
@@ -24,6 +25,7 @@ const FLAG_LABELS = {
24
25
  adoptBranch: 'Adopt Branch',
25
26
  gitRebaseSync: 'Git Rebase & Sync',
26
27
  reactFileManager: 'React File Manager',
28
+ inventory: 'Inventory',
27
29
  };
28
30
  const FLAG_KEYS = [
29
31
  'skills',
@@ -33,6 +35,7 @@ const FLAG_KEYS = [
33
35
  'adoptBranch',
34
36
  'gitRebaseSync',
35
37
  'reactFileManager',
38
+ 'inventory',
36
39
  ];
37
40
  export function FeatureFlagsSettingsSection({ featureFlags }) {
38
41
  const [flags, setFlags] = useState({ ...featureFlags });
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/feature-flags-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,QAAA,MAAM,IAAI;;;;;;;CAO0C,CAAC;AAErD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAYxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAC"}
1
+ {"version":3,"file":"feature-flags-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/feature-flags-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,QAAA,MAAM,IAAI;;;;;;;CAO0C,CAAC;AAErD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAaxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC"}
@@ -18,6 +18,7 @@ export const Default = {
18
18
  adoptBranch: false,
19
19
  gitRebaseSync: false,
20
20
  reactFileManager: false,
21
+ inventory: false,
21
22
  },
22
23
  },
23
24
  };
@@ -31,6 +32,7 @@ export const AllEnabled = {
31
32
  adoptBranch: true,
32
33
  gitRebaseSync: true,
33
34
  reactFileManager: true,
35
+ inventory: true,
34
36
  },
35
37
  },
36
38
  };
@@ -44,6 +46,7 @@ export const AllDisabled = {
44
46
  adoptBranch: false,
45
47
  gitRebaseSync: false,
46
48
  reactFileManager: false,
49
+ inventory: false,
47
50
  },
48
51
  },
49
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"settings-page-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.tsx"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EACV,QAAQ,EAKT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA8B/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AA+QD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,GACnB,EAAE,uBAAuB,2CA24CzB"}
1
+ {"version":3,"file":"settings-page-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.tsx"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EACV,QAAQ,EAKT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA8B/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AA+QD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,GACnB,EAAE,uBAAuB,2CAw5CzB"}
@@ -131,6 +131,7 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
131
131
  adoptBranch: false,
132
132
  gitRebaseSync: false,
133
133
  reactFileManager: false,
134
+ inventory: false,
134
135
  };
135
136
  // Agent state
136
137
  const [agentType, setAgentType] = useState(settings.agent.type);
@@ -567,6 +568,10 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
567
568
  const newFlags = { ...flags, reactFileManager: v };
568
569
  setFlags(newFlags);
569
570
  save({ featureFlags: newFlags });
571
+ } }), _jsx(SwitchRow, { label: t('settings.featureFlags.inventory'), description: t('settings.featureFlags.inventoryDescription'), id: "flag-inventory", testId: "switch-flag-inventory", checked: flags.inventory, onChange: (v) => {
572
+ const newFlags = { ...flags, inventory: v };
573
+ setFlags(newFlags);
574
+ save({ featureFlags: newFlags });
570
575
  } })] }), _jsx(SectionHint, { children: t('settings.featureFlags.hint') })] }), _jsxs("div", { id: "section-interactive-agent", className: "grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]", children: [_jsxs(SettingsSection, { icon: MessageSquare, title: t('settings.interactiveAgent.title'), description: t('settings.interactiveAgent.description'), testId: "interactive-agent-settings-section", children: [_jsx(SwitchRow, { label: t('settings.interactiveAgent.enableChatTab'), description: t('settings.interactiveAgent.enableChatTabDescription'), id: "interactive-agent-enabled", testId: "switch-interactive-agent-enabled", checked: interactiveEnabled, onChange: (v) => {
571
576
  setInteractiveEnabled(v);
572
577
  save({
@@ -1 +1 @@
1
- {"version":3,"file":"settings-page-client.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,QAAA,MAAM,IAAI;;;;;;;CAOiC,CAAC;AAE5C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAqBzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAuB5B,CAAC"}
1
+ {"version":3,"file":"settings-page-client.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,QAAA,MAAM,IAAI;;;;;;;CAOiC,CAAC;AAE5C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAsBzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAuB5B,CAAC"}
@@ -34,6 +34,7 @@ export const AllSections = {
34
34
  adoptBranch: false,
35
35
  gitRebaseSync: false,
36
36
  reactFileManager: false,
37
+ inventory: false,
37
38
  },
38
39
  },
39
40
  shepHome: '/opt/shep',
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAEhC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mFAAmF;IACnF,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EAEZ,cAAc,EACd,YAAY,GACb,EAAE,eAAe,2CA0QjB"}
1
+ {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAEhC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mFAAmF;IACnF,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,YAAY,EAEZ,cAAc,EACd,YAAY,GACb,EAAE,eAAe,2CAkRjB"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from 'react';
4
4
  import { usePathname } from 'next/navigation';
5
- import { Home, Moon, Sun, Volume2, VolumeOff, Zap, ZapOff, Wrench, Puzzle, Settings, } from 'lucide-react';
5
+ import { Home, Moon, Sun, Volume2, VolumeOff, Zap, ZapOff, Wrench, Puzzle, Settings, TableProperties, } from 'lucide-react';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { Sidebar, SidebarHeader, SidebarContent, SidebarFooter, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarRail, useSidebar, } from '../../ui/sidebar.js';
8
8
  import { ScrollArea } from '../../ui/scroll-area.js';
@@ -64,7 +64,7 @@ export function AppSidebar({ features, featureFlags, onFeatureClick, onAddFeatur
64
64
  'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',
65
65
  'transition-opacity duration-200 ease-out',
66
66
  expandedVisible ? 'opacity-100' : 'opacity-0',
67
- ].join(' '), "aria-hidden": !expandedVisible, children: [_jsx(ShepLogo, { className: "shrink-0", size: 20, variant: versionData.isDev ? 'dev' : 'default' }), _jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: "Shep" }), _jsx(VersionBadge, { version: versionData.version, branch: versionData.branch || undefined, commitHash: versionData.commitHash || undefined, isDev: versionData.isDev, packageName: versionData.packageName, description: versionData.description, instancePath: versionData.instancePath || undefined })] })) : null, _jsx(SidebarCollapseToggle, { className: "shrink-0 transition-all duration-200" })] }) }), _jsx(SidebarNavItem, { icon: Home, label: t('navigation.controlCenter'), href: "/", active: pathname === '/' }), _jsx(SidebarNavItem, { icon: Wrench, label: t('navigation.tools'), href: "/tools", active: pathname === '/tools' }), featureFlags.skills ? (_jsx(SidebarNavItem, { icon: Puzzle, label: t('navigation.skills'), href: "/skills", active: pathname === '/skills' })) : null, _jsx(SidebarNavItem, { icon: Settings, label: t('navigation.settings'), href: "/settings", active: pathname === '/settings' })] }) }), _jsx(SidebarContent, { children: showExpanded ? (_jsxs("div", { className: [
67
+ ].join(' '), "aria-hidden": !expandedVisible, children: [_jsx(ShepLogo, { className: "shrink-0", size: 20, variant: versionData.isDev ? 'dev' : 'default' }), _jsx("span", { className: "truncate text-sm font-semibold tracking-tight", children: "Shep" }), _jsx(VersionBadge, { version: versionData.version, branch: versionData.branch || undefined, commitHash: versionData.commitHash || undefined, isDev: versionData.isDev, packageName: versionData.packageName, description: versionData.description, instancePath: versionData.instancePath || undefined })] })) : null, _jsx(SidebarCollapseToggle, { className: "shrink-0 transition-all duration-200" })] }) }), _jsx(SidebarNavItem, { icon: Home, label: t('navigation.controlCenter'), href: "/", active: pathname === '/' }), featureFlags.inventory ? (_jsx(SidebarNavItem, { icon: TableProperties, label: t('navigation.inventory'), href: "/features", active: pathname === '/features' })) : null, _jsx(SidebarNavItem, { icon: Wrench, label: t('navigation.tools'), href: "/tools", active: pathname === '/tools' }), featureFlags.skills ? (_jsx(SidebarNavItem, { icon: Puzzle, label: t('navigation.skills'), href: "/skills", active: pathname === '/skills' })) : null, _jsx(SidebarNavItem, { icon: Settings, label: t('navigation.settings'), href: "/settings", active: pathname === '/settings' })] }) }), _jsx(SidebarContent, { children: showExpanded ? (_jsxs("div", { className: [
68
68
  'flex min-h-0 flex-1 flex-col overflow-hidden transition-opacity duration-200 ease-out',
69
69
  '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',
70
70
  expandedVisible ? 'opacity-100' : 'opacity-0',
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAgB3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAyBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA+DnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAKlC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KA6BrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAmElC,CAAC"}
1
+ {"version":3,"file":"app-sidebar.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiB3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAyBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA+DnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAKlC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KA6BrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAmElC,CAAC"}
@@ -10,6 +10,7 @@ const defaultFeatureFlags = {
10
10
  adoptBranch: false,
11
11
  gitRebaseSync: false,
12
12
  reactFileManager: false,
13
+ inventory: false,
13
14
  };
14
15
  const meta = {
15
16
  title: 'Layout/AppSidebar',
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags-context.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/feature-flags-context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAc7D,UAAU,yBAAyB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yBAAyB,2CAElF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD"}
1
+ {"version":3,"file":"feature-flags-context.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/feature-flags-context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAe7D,UAAU,yBAAyB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yBAAyB,2CAElF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAEnD"}
@@ -9,6 +9,7 @@ const defaultFlags = {
9
9
  adoptBranch: false,
10
10
  gitRebaseSync: false,
11
11
  reactFileManager: false,
12
+ inventory: false,
12
13
  };
13
14
  const FeatureFlagsContext = createContext(defaultFlags);
14
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use-graph-state.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-graph-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mDAAmD;IACnD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClE,uEAAuE;IACvE,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,yDAAyD;IACzD,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uDAAuD;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,2DAA2D;IAC3D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtF,gEAAgE;IAChE,wBAAwB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IACtE,+EAA+E;IAC/E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,0EAA0E;IAC1E,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B;AAuCD,KAAK,kBAAkB,GAAG,OAAO,CAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC,CACtE,CAAC;AA8BF,wBAAgB,aAAa,CAC3B,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,EACpB,YAAY,UAAQ,GACnB,mBAAmB,CAgbrB"}
1
+ {"version":3,"file":"use-graph-state.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-graph-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mDAAmD;IACnD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAClE,uEAAuE;IACvE,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC5E,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,yDAAyD;IACzD,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uDAAuD;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,2DAA2D;IAC3D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClE,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtF,gEAAgE;IAChE,wBAAwB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,yDAAyD;IACzD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IACtE,+EAA+E;IAC/E,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,0EAA0E;IAC1E,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B;AAuCD,KAAK,kBAAkB,GAAG,OAAO,CAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAC,CACtE,CAAC;AA8BF,wBAAgB,aAAa,CAC3B,YAAY,EAAE,cAAc,EAAE,EAC9B,YAAY,EAAE,IAAI,EAAE,EACpB,YAAY,UAAQ,GACnB,mBAAmB,CAicrB"}
@@ -82,6 +82,9 @@ export function useGraphState(initialNodes, initialEdges, showArchived = false)
82
82
  // Retained for one extra reconcile cycle so the user sees the deleting state
83
83
  // before the node disappears from the canvas.
84
84
  const deletingRetainedRef = useRef(new Set());
85
+ // Track deleted repo IDs so reconcile doesn't resurrect them from stale server data.
86
+ // Cleared once reconcile sees the repo is gone from server data.
87
+ const deletedRepoIdsRef = useRef(new Set());
85
88
  // Callbacks stored in a ref so changing them doesn't trigger re-render.
86
89
  // The stable wrapper object reads from the ref so node closures always use latest callbacks.
87
90
  const callbacksRef = useRef({});
@@ -254,6 +257,17 @@ export function useGraphState(initialNodes, initialEdges, showArchived = false)
254
257
  setRepoMap((currentRepoMap) => {
255
258
  // Start with everything the server returned
256
259
  const merged = new Map(newRepoMap);
260
+ // Remove repos that were deleted client-side but the server still returns
261
+ // (stale data). Once the server stops returning the repo, clear the tombstone.
262
+ for (const deletedId of deletedRepoIdsRef.current) {
263
+ if (merged.has(deletedId)) {
264
+ merged.delete(deletedId);
265
+ }
266
+ else {
267
+ // Server confirmed deletion — no longer need the tombstone
268
+ deletedRepoIdsRef.current.delete(deletedId);
269
+ }
270
+ }
257
271
  // Build a set of repositoryPaths present in server data for dedup
258
272
  const serverPaths = new Set([...newRepoMap.values()].map((e) => e.data.repositoryPath));
259
273
  for (const [id, entry] of currentRepoMap) {
@@ -343,6 +357,7 @@ export function useGraphState(initialNodes, initialEdges, showArchived = false)
343
357
  }, []);
344
358
  const addRepository = useCallback((nodeId, data) => {
345
359
  protectedRepoIdsRef.current.add(nodeId);
360
+ deletedRepoIdsRef.current.delete(nodeId);
346
361
  setRepoMap((prev) => {
347
362
  const next = new Map(prev);
348
363
  next.set(nodeId, { nodeId, data });
@@ -351,6 +366,7 @@ export function useGraphState(initialNodes, initialEdges, showArchived = false)
351
366
  }, []);
352
367
  const removeRepository = useCallback((nodeId) => {
353
368
  protectedRepoIdsRef.current.delete(nodeId);
369
+ deletedRepoIdsRef.current.add(nodeId);
354
370
  setRepoMap((prev) => {
355
371
  if (!prev.has(nodeId))
356
372
  return prev;
@@ -1,4 +1,4 @@
1
- export type TurnStatus = 'idle' | 'processing' | 'unread';
1
+ export type TurnStatus = 'idle' | 'processing' | 'unread' | 'awaiting_input';
2
2
  /**
3
3
  * Polls ALL active turn statuses from the backend.
4
4
  * No IDs needed — the backend returns every non-idle session status.
@@ -1 +1 @@
1
- {"version":3,"file":"use-turn-statuses.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-turn-statuses.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY/D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"use-turn-statuses.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/hooks/use-turn-statuses.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAE7E;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY/D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE"}
@@ -14,7 +14,7 @@ export function useAllTurnStatuses() {
14
14
  return {};
15
15
  return res.json();
16
16
  },
17
- refetchInterval: 5_000,
17
+ refetchInterval: 2_000,
18
18
  });
19
19
  return data ?? {};
20
20
  }
@@ -13,6 +13,7 @@ export interface FeatureFlagsState {
13
13
  adoptBranch: boolean;
14
14
  gitRebaseSync: boolean;
15
15
  reactFileManager: boolean;
16
+ inventory: boolean;
16
17
  }
17
18
  export declare function getFeatureFlags(): FeatureFlagsState;
18
19
  /**
@@ -27,5 +28,6 @@ export declare const featureFlags: {
27
28
  readonly adoptBranch: boolean;
28
29
  readonly gitRebaseSync: boolean;
29
30
  readonly reactFileManager: boolean;
31
+ readonly inventory: boolean;
30
32
  };
31
33
  //# sourceMappingURL=feature-flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/lib/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAgCnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAsBf,CAAC"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/web/lib/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAkCnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CAyBf,CAAC"}
@@ -22,6 +22,7 @@ export function getFeatureFlags() {
22
22
  adoptBranch: flags.adoptBranch,
23
23
  gitRebaseSync: flags.gitRebaseSync,
24
24
  reactFileManager: flags.reactFileManager,
25
+ inventory: flags.inventory,
25
26
  };
26
27
  }
27
28
  }
@@ -39,6 +40,7 @@ export function getFeatureFlags() {
39
40
  adoptBranch: false,
40
41
  gitRebaseSync: false,
41
42
  reactFileManager: isEnabled(process.env.NEXT_PUBLIC_FLAG_REACT_FILE_MANAGER),
43
+ inventory: false,
42
44
  };
43
45
  }
44
46
  /**
@@ -67,4 +69,7 @@ export const featureFlags = {
67
69
  get reactFileManager() {
68
70
  return getFeatureFlags().reactFileManager;
69
71
  },
72
+ get inventory() {
73
+ return getFeatureFlags().inventory;
74
+ },
70
75
  };
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "تمكين عمليات إعادة التأسيس على main ومزامنة main",
203
203
  "reactFileManager": "مدير ملفات React",
204
204
  "reactFileManagerDescription": "استخدام مدير ملفات React المدمج بدلاً من منتقي مجلدات نظام التشغيل الأصلي",
205
+ "inventory": "المخزون",
206
+ "inventoryDescription": "تمكين صفحة المخزون التي تعرض جميع المستودعات والميزات في عرض شجري",
205
207
  "hint": "ميزات تجريبية لا تزال قيد التطوير. قم بتمكينها على مسؤوليتك — قد تتغير أو تُزال في الإصدارات المستقبلية. وضع التصحيح يضيف تسجيلًا مفصلاً مفيدًا لاستكشاف الأخطاء."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "مركز التحكم",
241
243
  "dashboard": "لوحة المعلومات",
242
244
  "features": "الميزات",
245
+ "inventory": "المخزون",
243
246
  "repositories": "المستودعات",
244
247
  "settings": "الإعدادات",
245
248
  "sessions": "الجلسات",
@@ -188,6 +188,8 @@
188
188
  "gitRebaseSyncDescription": "Git Rebase-on-Main- und Sync-Main-Operationen aktivieren",
189
189
  "reactFileManager": "React-Dateimanager",
190
190
  "reactFileManagerDescription": "Den integrierten React-Dateimanager anstelle der nativen Betriebssystem-Ordnerauswahl verwenden",
191
+ "inventory": "Inventar",
192
+ "inventoryDescription": "Inventarseite mit allen Repositories und Features in einer Baumansicht aktivieren",
191
193
  "hint": "Experimentelle Features, die noch in Entwicklung sind. Aktivierung auf eigene Gefahr — sie können sich in zukünftigen Versionen ändern oder entfernt werden. Der Debug-Modus fügt ausführliche Protokollierung hinzu, die bei der Fehlerbehebung nützlich ist."
192
194
  },
193
195
  "interactiveAgent": {
@@ -226,6 +228,7 @@
226
228
  "controlCenter": "Kontrollzentrum",
227
229
  "dashboard": "Dashboard",
228
230
  "features": "Features",
231
+ "inventory": "Inventar",
229
232
  "repositories": "Repositories",
230
233
  "settings": "Einstellungen",
231
234
  "sessions": "Sitzungen",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "Enable git rebase-on-main and sync-main operations",
203
203
  "reactFileManager": "React File Manager",
204
204
  "reactFileManagerDescription": "Use the built-in React file manager instead of the native OS folder picker",
205
+ "inventory": "Inventory",
206
+ "inventoryDescription": "Enable the Inventory page showing all repositories and features in a tree view",
205
207
  "hint": "Experimental features that are still under development. Enable at your own risk — they may change or be removed in future versions. Debug mode adds verbose logging useful for troubleshooting."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "Control Center",
241
243
  "dashboard": "Dashboard",
242
244
  "features": "Features",
245
+ "inventory": "Inventory",
243
246
  "repositories": "Repositories",
244
247
  "settings": "Settings",
245
248
  "sessions": "Sessions",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "Habilitar operaciones de rebase-on-main y sync-main de git",
203
203
  "reactFileManager": "Administrador de archivos React",
204
204
  "reactFileManagerDescription": "Usar el administrador de archivos React integrado en lugar del selector de carpetas nativo del SO",
205
+ "inventory": "Inventario",
206
+ "inventoryDescription": "Habilitar la página de Inventario que muestra todos los repositorios y funciones en vista de árbol",
205
207
  "hint": "Funcionalidades experimentales que aún están en desarrollo. Habilítalas bajo tu propio riesgo — pueden cambiar o ser eliminadas en versiones futuras. El modo de depuración agrega registro detallado útil para la resolución de problemas."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "Centro de control",
241
243
  "dashboard": "Panel",
242
244
  "features": "Funcionalidades",
245
+ "inventory": "Inventario",
243
246
  "repositories": "Repositorios",
244
247
  "settings": "Configuración",
245
248
  "sessions": "Sesiones",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "Activer les opérations de rebase-on-main et sync-main de git",
203
203
  "reactFileManager": "Gestionnaire de fichiers React",
204
204
  "reactFileManagerDescription": "Utiliser le gestionnaire de fichiers React intégré au lieu du sélecteur de dossier natif du système",
205
+ "inventory": "Inventaire",
206
+ "inventoryDescription": "Activer la page Inventaire affichant tous les dépôts et fonctionnalités en vue arborescente",
205
207
  "hint": "Fonctionnalités expérimentales encore en cours de développement. Activez à vos risques et périls — elles peuvent changer ou être supprimées dans les versions futures. Le mode débogage ajoute une journalisation détaillée utile pour le dépannage."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "Centre de contrôle",
241
243
  "dashboard": "Tableau de bord",
242
244
  "features": "Fonctionnalités",
245
+ "inventory": "Inventaire",
243
246
  "repositories": "Dépôts",
244
247
  "settings": "Paramètres",
245
248
  "sessions": "Sessions",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "הפעל פעולות rebase-on-main וסנכרון main ב-Git",
203
203
  "reactFileManager": "מנהל קבצים React",
204
204
  "reactFileManagerDescription": "השתמש במנהל הקבצים המובנה של React במקום בוחר התיקיות של מערכת ההפעלה",
205
+ "inventory": "מלאי",
206
+ "inventoryDescription": "הפעל את דף המלאי המציג את כל המאגרים והתכונות בתצוגת עץ",
205
207
  "hint": "תכונות ניסיוניות שעדיין בפיתוח. הפעל על אחריותך — הן עשויות להשתנות או להיות מוסרות בגרסאות עתידיות. מצב ניפוי שגיאות מוסיף רישום מפורט שימושי לפתרון בעיות."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "מרכז בקרה",
241
243
  "dashboard": "לוח בקרה",
242
244
  "features": "פיצ'רים",
245
+ "inventory": "מלאי",
243
246
  "repositories": "מאגרים",
244
247
  "settings": "הגדרות",
245
248
  "sessions": "סשנים",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "Ativar operações de git rebase-on-main e sync-main",
203
203
  "reactFileManager": "Gerenciador de Arquivos React",
204
204
  "reactFileManagerDescription": "Usar o gerenciador de arquivos React integrado em vez do seletor de pastas nativo do SO",
205
+ "inventory": "Inventário",
206
+ "inventoryDescription": "Ativar a página de Inventário mostrando todos os repositórios e funcionalidades em visualização de árvore",
205
207
  "hint": "Recursos experimentais que ainda estão em desenvolvimento. Ative por sua conta e risco — podem mudar ou ser removidos em versões futuras. O modo debug adiciona logs detalhados úteis para solução de problemas."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "Centro de Controle",
241
243
  "dashboard": "Painel",
242
244
  "features": "Recursos",
245
+ "inventory": "Inventário",
243
246
  "repositories": "Repositórios",
244
247
  "settings": "Configurações",
245
248
  "sessions": "Sessões",
@@ -202,6 +202,8 @@
202
202
  "gitRebaseSyncDescription": "Включить операции git rebase-on-main и sync-main",
203
203
  "reactFileManager": "Файловый менеджер React",
204
204
  "reactFileManagerDescription": "Использовать встроенный файловый менеджер React вместо системного выбора папок",
205
+ "inventory": "Инвентарь",
206
+ "inventoryDescription": "Включить страницу Инвентаря, отображающую все репозитории и функции в виде дерева",
205
207
  "hint": "Экспериментальные функции, которые ещё находятся в разработке. Включайте на свой страх и риск — они могут измениться или быть удалены в будущих версиях. Режим отладки добавляет подробное логирование, полезное для устранения неполадок."
206
208
  },
207
209
  "interactiveAgent": {
@@ -240,6 +242,7 @@
240
242
  "controlCenter": "Центр управления",
241
243
  "dashboard": "Панель управления",
242
244
  "features": "Функции",
245
+ "inventory": "Инвентарь",
243
246
  "repositories": "Репозитории",
244
247
  "settings": "Настройки",
245
248
  "sessions": "Сессии",