@libredb/studio 0.9.7 → 0.9.12

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 (688) hide show
  1. package/dist/chunk-34YQUUCM.mjs +319 -0
  2. package/dist/chunk-34YQUUCM.mjs.map +1 -0
  3. package/dist/chunk-4LVB3K53.mjs +37 -0
  4. package/dist/chunk-4LVB3K53.mjs.map +1 -0
  5. package/dist/chunk-6DRZXXNT.mjs +100 -0
  6. package/dist/chunk-6DRZXXNT.mjs.map +1 -0
  7. package/dist/chunk-CZVV3JJB.mjs +160 -0
  8. package/dist/chunk-CZVV3JJB.mjs.map +1 -0
  9. package/dist/chunk-D4WVWWWF.js +332 -0
  10. package/dist/chunk-D4WVWWWF.js.map +1 -0
  11. package/dist/chunk-DY3KXE44.mjs +3 -0
  12. package/dist/chunk-DY3KXE44.mjs.map +1 -0
  13. package/dist/chunk-DZ2UB3C6.mjs +6679 -0
  14. package/dist/chunk-DZ2UB3C6.mjs.map +1 -0
  15. package/dist/chunk-FYSE52VB.js +242 -0
  16. package/dist/chunk-FYSE52VB.js.map +1 -0
  17. package/dist/chunk-G4WYE6TI.js +4 -0
  18. package/dist/chunk-G4WYE6TI.js.map +1 -0
  19. package/dist/chunk-JOGLIOFO.js +1310 -0
  20. package/dist/chunk-JOGLIOFO.js.map +1 -0
  21. package/dist/chunk-JZO5KRZN.js +165 -0
  22. package/dist/chunk-JZO5KRZN.js.map +1 -0
  23. package/dist/chunk-KV356UXJ.js +253 -0
  24. package/dist/chunk-KV356UXJ.js.map +1 -0
  25. package/dist/chunk-PPODO6HX.mjs +237 -0
  26. package/dist/chunk-PPODO6HX.mjs.map +1 -0
  27. package/dist/chunk-PTIRB2JO.js +258 -0
  28. package/dist/chunk-PTIRB2JO.js.map +1 -0
  29. package/dist/chunk-Q6LRDBK7.js +42 -0
  30. package/dist/chunk-Q6LRDBK7.js.map +1 -0
  31. package/dist/chunk-QJP5FZRY.mjs +255 -0
  32. package/dist/chunk-QJP5FZRY.mjs.map +1 -0
  33. package/dist/chunk-R3POCJK6.mjs +248 -0
  34. package/dist/chunk-R3POCJK6.mjs.map +1 -0
  35. package/dist/chunk-RBVDMLFV.js +6747 -0
  36. package/dist/chunk-RBVDMLFV.js.map +1 -0
  37. package/dist/chunk-RCQB4FCE.js +186 -0
  38. package/dist/chunk-RCQB4FCE.js.map +1 -0
  39. package/dist/chunk-SR5DRGBX.mjs +174 -0
  40. package/dist/chunk-SR5DRGBX.mjs.map +1 -0
  41. package/dist/chunk-VLCRUZX7.js +102 -0
  42. package/dist/chunk-VLCRUZX7.js.map +1 -0
  43. package/dist/chunk-VWVRUCQO.mjs +1289 -0
  44. package/dist/chunk-VWVRUCQO.mjs.map +1 -0
  45. package/dist/components.d.mts +273 -0
  46. package/dist/components.d.ts +273 -0
  47. package/dist/components.js +59 -0
  48. package/dist/components.js.map +1 -0
  49. package/dist/components.mjs +6 -0
  50. package/dist/components.mjs.map +1 -0
  51. package/dist/custom-BNDOYC5P.js +134 -0
  52. package/dist/custom-BNDOYC5P.js.map +1 -0
  53. package/dist/custom-S2EKFMP3.mjs +132 -0
  54. package/dist/custom-S2EKFMP3.mjs.map +1 -0
  55. package/dist/gemini-4ASHNK4H.js +81 -0
  56. package/dist/gemini-4ASHNK4H.js.map +1 -0
  57. package/dist/gemini-C5RBLQEJ.mjs +79 -0
  58. package/dist/gemini-C5RBLQEJ.mjs.map +1 -0
  59. package/dist/index.d.mts +6 -0
  60. package/dist/index.d.ts +6 -0
  61. package/dist/index.js +95 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/index.mjs +10 -0
  64. package/dist/index.mjs.map +1 -0
  65. package/dist/mongodb-XMZEZA4A.mjs +748 -0
  66. package/dist/mongodb-XMZEZA4A.mjs.map +1 -0
  67. package/dist/mongodb-YQJJTLX3.js +750 -0
  68. package/dist/mongodb-YQJJTLX3.js.map +1 -0
  69. package/dist/mssql-PMOU4D36.js +916 -0
  70. package/dist/mssql-PMOU4D36.js.map +1 -0
  71. package/{src/lib/db/providers/sql/mssql.ts → dist/mssql-ZH5VP2C5.mjs} +268 -423
  72. package/dist/mssql-ZH5VP2C5.mjs.map +1 -0
  73. package/{src/lib/db/providers/sql/mysql.ts → dist/mysql-I3WJQXN2.mjs} +277 -428
  74. package/dist/mysql-I3WJQXN2.mjs.map +1 -0
  75. package/dist/mysql-Y3MSA5QY.js +833 -0
  76. package/dist/mysql-Y3MSA5QY.js.map +1 -0
  77. package/dist/ollama-26BYLVEV.mjs +115 -0
  78. package/dist/ollama-26BYLVEV.mjs.map +1 -0
  79. package/dist/ollama-HVWAGKQC.js +117 -0
  80. package/dist/ollama-HVWAGKQC.js.map +1 -0
  81. package/dist/openai-4U56KPG7.mjs +111 -0
  82. package/dist/openai-4U56KPG7.mjs.map +1 -0
  83. package/dist/openai-AK3R37BS.js +113 -0
  84. package/dist/openai-AK3R37BS.js.map +1 -0
  85. package/dist/oracle-L6VEAVXO.js +917 -0
  86. package/dist/oracle-L6VEAVXO.js.map +1 -0
  87. package/{src/lib/db/providers/sql/oracle.ts → dist/oracle-P2G7T4P4.mjs} +321 -454
  88. package/dist/oracle-P2G7T4P4.mjs.map +1 -0
  89. package/{src/lib/db/providers/sql/postgres.ts → dist/postgres-O5KOQUVP.mjs} +261 -471
  90. package/dist/postgres-O5KOQUVP.mjs.map +1 -0
  91. package/dist/postgres-RLCWNFFX.js +971 -0
  92. package/dist/postgres-RLCWNFFX.js.map +1 -0
  93. package/dist/providers.d.mts +149 -0
  94. package/dist/providers.d.ts +149 -0
  95. package/dist/providers.js +44 -0
  96. package/dist/providers.js.map +1 -0
  97. package/dist/providers.mjs +7 -0
  98. package/dist/providers.mjs.map +1 -0
  99. package/dist/redis-4WMQOVLX.mjs +435 -0
  100. package/dist/redis-4WMQOVLX.mjs.map +1 -0
  101. package/dist/redis-QVQ6YU62.js +441 -0
  102. package/dist/redis-QVQ6YU62.js.map +1 -0
  103. package/dist/sqlite-4I2P2OGQ.js +554 -0
  104. package/dist/sqlite-4I2P2OGQ.js.map +1 -0
  105. package/dist/sqlite-OA4YJX5S.mjs +531 -0
  106. package/dist/sqlite-OA4YJX5S.mjs.map +1 -0
  107. package/dist/types-BJvJfxSY.d.mts +141 -0
  108. package/dist/types-BJvJfxSY.d.ts +141 -0
  109. package/dist/types-ClAg_v5k.d.mts +343 -0
  110. package/dist/types-Der_X8E8.d.ts +343 -0
  111. package/dist/types.d.mts +2 -0
  112. package/dist/types.d.ts +2 -0
  113. package/dist/types.js +6 -0
  114. package/dist/types.js.map +1 -0
  115. package/dist/types.mjs +3 -0
  116. package/dist/types.mjs.map +1 -0
  117. package/dist/workspace.d.mts +80 -0
  118. package/dist/workspace.d.ts +80 -0
  119. package/dist/workspace.js +4182 -0
  120. package/dist/workspace.js.map +1 -0
  121. package/dist/workspace.mjs +4155 -0
  122. package/dist/workspace.mjs.map +1 -0
  123. package/package.json +60 -5
  124. package/.claude/settings.local.json +0 -127
  125. package/.cursorrules +0 -426
  126. package/.devin/wiki.json +0 -143
  127. package/.dockerignore +0 -80
  128. package/.env.example +0 -159
  129. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -49
  130. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -29
  131. package/.github/PULL_REQUEST_TEMPLATE.md +0 -57
  132. package/.github/workflows/ci.yml +0 -185
  133. package/.github/workflows/codeql.yml +0 -57
  134. package/.github/workflows/docker-build-push.yml +0 -118
  135. package/.github/workflows/helm-release.yml +0 -113
  136. package/CLAUDE.md +0 -265
  137. package/CODE_OF_CONDUCT.md +0 -124
  138. package/CONTRIBUTING.md +0 -154
  139. package/Dockerfile +0 -73
  140. package/SECURITY.md +0 -107
  141. package/artifacthub-repo.yml +0 -4
  142. package/bun.lock +0 -1714
  143. package/bunfig.toml +0 -3
  144. package/charts/libredb-studio/.helmignore +0 -11
  145. package/charts/libredb-studio/Chart.lock +0 -6
  146. package/charts/libredb-studio/Chart.yaml +0 -50
  147. package/charts/libredb-studio/README.md +0 -206
  148. package/charts/libredb-studio/templates/NOTES.txt +0 -59
  149. package/charts/libredb-studio/templates/_helpers.tpl +0 -135
  150. package/charts/libredb-studio/templates/configmap.yaml +0 -37
  151. package/charts/libredb-studio/templates/deployment.yaml +0 -184
  152. package/charts/libredb-studio/templates/hpa.yaml +0 -32
  153. package/charts/libredb-studio/templates/ingress.yaml +0 -41
  154. package/charts/libredb-studio/templates/networkpolicy.yaml +0 -50
  155. package/charts/libredb-studio/templates/pdb.yaml +0 -18
  156. package/charts/libredb-studio/templates/pvc.yaml +0 -23
  157. package/charts/libredb-studio/templates/secret.yaml +0 -30
  158. package/charts/libredb-studio/templates/seed-configmap.yaml +0 -11
  159. package/charts/libredb-studio/templates/service.yaml +0 -22
  160. package/charts/libredb-studio/templates/serviceaccount.yaml +0 -13
  161. package/charts/libredb-studio/values.schema.json +0 -246
  162. package/charts/libredb-studio/values.yaml +0 -286
  163. package/components.json +0 -22
  164. package/conductor/code_styleguides/typescript.md +0 -43
  165. package/conductor/product-guidelines.md +0 -43
  166. package/conductor/product.md +0 -3
  167. package/conductor/setup_state.json +0 -1
  168. package/conductor/tech-stack.md +0 -39
  169. package/conductor/tracks/enhance_postgres_monitoring_20251227/metadata.json +0 -8
  170. package/conductor/tracks/enhance_postgres_monitoring_20251227/plan.md +0 -44
  171. package/conductor/tracks/enhance_postgres_monitoring_20251227/spec.md +0 -31
  172. package/conductor/tracks.md +0 -8
  173. package/conductor/workflow.md +0 -333
  174. package/database-compose.yml +0 -55
  175. package/docker/postgres-init/01-extensions.sql +0 -10
  176. package/docker/postgres-init/02-sample-data.sql +0 -585
  177. package/docker/postgres.yml +0 -68
  178. package/docker-compose.yml +0 -38
  179. package/docs/AI_PLAN.md +0 -74
  180. package/docs/API_DOCS.md +0 -875
  181. package/docs/ARCHITECTURE.md +0 -218
  182. package/docs/DATABASE_PROVIDERS.md +0 -358
  183. package/docs/FEATURES.md +0 -116
  184. package/docs/HELM_CHART.md +0 -252
  185. package/docs/LOGIN_PAGE.md +0 -178
  186. package/docs/MONACO_EDITOR_PERFORMANCE.md +0 -315
  187. package/docs/OIDC_ARCH.md +0 -681
  188. package/docs/OIDC_SETUP.md +0 -322
  189. package/docs/POSTGRES_METRICS.md +0 -516
  190. package/docs/QUERY_OPTIMIZATION.md +0 -370
  191. package/docs/SEED_CONNECTIONS.md +0 -468
  192. package/docs/SQL_ALIAS_COMPLETION.md +0 -190
  193. package/docs/STORAGE_ARCHITECTURE.md +0 -565
  194. package/docs/STORAGE_QUICK_SETUP.md +0 -419
  195. package/docs/TECHNICAL_PLAN.md +0 -36
  196. package/docs/THEMING.md +0 -345
  197. package/docs/adding-a-new-database-provider.md +0 -642
  198. package/docs/backlogs/000-PLATFORM_DATA_SYNC_DATABASE.md +0 -360
  199. package/docs/backlogs/001-INLINE_DATA_EDITING.md +0 -118
  200. package/docs/backlogs/002-DATA_IMPORT.md +0 -215
  201. package/docs/backlogs/003-QUERY_TIME_MACHINE.md +0 -183
  202. package/docs/backlogs/004-AI_DATA_STORYTELLER.md +0 -292
  203. package/docs/backlogs/005-QUERY_PLAYGROUND.md +0 -352
  204. package/docs/backlogs/006-DATA_MASKING.md +0 -418
  205. package/docs/enterprise-features.md +0 -718
  206. package/docs/kubernetes-helm-chart-artifacthub-plan.md +0 -803
  207. package/docs/medium-koyeb-article-en.md +0 -215
  208. package/docs/plans/test-plans.md +0 -445
  209. package/docs/releases/RELEASE.V0.3.0.md +0 -22
  210. package/docs/releases/RELEASE.V0.4.0.md +0 -154
  211. package/docs/releases/RELEASE.V0.5.0.md +0 -252
  212. package/docs/releases/RELEASE_v0.5.6.md +0 -145
  213. package/docs/releases/RELEASE_v0.6.1.md +0 -303
  214. package/docs/releases/RELEASE_v0.6.7.md +0 -292
  215. package/docs/releases/RELEASE_v0.7.0.md +0 -332
  216. package/docs/releases/RELEASE_v0.8.0.md +0 -521
  217. package/docs/sampledb/titanic.sql +0 -1379
  218. package/docs/superpowers/plans/2026-03-25-seed-connections.md +0 -1362
  219. package/docs/superpowers/specs/2026-03-25-seed-connections-design.md +0 -590
  220. package/e2e/admin-dashboard.spec.ts +0 -64
  221. package/e2e/connection-management.spec.ts +0 -58
  222. package/e2e/export.spec.ts +0 -34
  223. package/e2e/login.spec.ts +0 -85
  224. package/e2e/query-execution.spec.ts +0 -35
  225. package/e2e/tab-management.spec.ts +0 -64
  226. package/eslint.config.mjs +0 -28
  227. package/fly.toml +0 -43
  228. package/next.config.ts +0 -32
  229. package/playwright.config.ts +0 -34
  230. package/postcss.config.mjs +0 -7
  231. package/public/favicon-32x32.png +0 -0
  232. package/public/favicon.ico +0 -0
  233. package/public/file.svg +0 -1
  234. package/public/globe.svg +0 -1
  235. package/public/logo.svg +0 -32
  236. package/public/next.svg +0 -1
  237. package/public/screenshots/code-generator.png +0 -0
  238. package/public/screenshots/connection-modal.png +0 -0
  239. package/public/screenshots/data-profiler.png +0 -0
  240. package/public/screenshots/erd-diagram.png +0 -0
  241. package/public/screenshots/hero-editor.png +0 -0
  242. package/public/screenshots/nl2sql.png +0 -0
  243. package/public/vercel.svg +0 -1
  244. package/public/window.svg +0 -1
  245. package/render.yaml +0 -58
  246. package/scripts/merge-lcov.mjs +0 -239
  247. package/sonar-project.properties +0 -16
  248. package/src/app/admin/error.tsx +0 -46
  249. package/src/app/admin/page.tsx +0 -10
  250. package/src/app/api/admin/audit/route.ts +0 -52
  251. package/src/app/api/admin/fleet-health/route.ts +0 -81
  252. package/src/app/api/ai/autopilot/route.ts +0 -105
  253. package/src/app/api/ai/chat/route.ts +0 -132
  254. package/src/app/api/ai/describe-schema/route.ts +0 -52
  255. package/src/app/api/ai/explain/route.ts +0 -86
  256. package/src/app/api/ai/impact/route.ts +0 -97
  257. package/src/app/api/ai/index-advisor/route.ts +0 -98
  258. package/src/app/api/ai/nl2sql/route.ts +0 -87
  259. package/src/app/api/ai/query-safety/route.ts +0 -87
  260. package/src/app/api/auth/login/route.ts +0 -62
  261. package/src/app/api/auth/logout/route.ts +0 -25
  262. package/src/app/api/auth/me/route.ts +0 -10
  263. package/src/app/api/auth/oidc/callback/route.ts +0 -82
  264. package/src/app/api/auth/oidc/login/route.ts +0 -43
  265. package/src/app/api/connections/managed/route.ts +0 -35
  266. package/src/app/api/db/cancel/route.ts +0 -42
  267. package/src/app/api/db/disconnect/route.ts +0 -28
  268. package/src/app/api/db/health/route.ts +0 -49
  269. package/src/app/api/db/maintenance/route.ts +0 -72
  270. package/src/app/api/db/monitoring/route.ts +0 -62
  271. package/src/app/api/db/multi-query/route.ts +0 -116
  272. package/src/app/api/db/pool-stats/route.ts +0 -37
  273. package/src/app/api/db/profile/route.ts +0 -144
  274. package/src/app/api/db/provider-meta/route.ts +0 -49
  275. package/src/app/api/db/query/route.ts +0 -50
  276. package/src/app/api/db/schema/route.ts +0 -47
  277. package/src/app/api/db/schema-snapshot/route.ts +0 -42
  278. package/src/app/api/db/test-connection/route.ts +0 -55
  279. package/src/app/api/db/transaction/route.ts +0 -111
  280. package/src/app/api/storage/[collection]/route.ts +0 -67
  281. package/src/app/api/storage/config/route.ts +0 -17
  282. package/src/app/api/storage/migrate/route.ts +0 -45
  283. package/src/app/api/storage/route.ts +0 -32
  284. package/src/app/error.tsx +0 -49
  285. package/src/app/global-error.tsx +0 -55
  286. package/src/app/globals.css +0 -146
  287. package/src/app/icon.svg +0 -42
  288. package/src/app/layout.tsx +0 -34
  289. package/src/app/login/login-form.tsx +0 -301
  290. package/src/app/login/page.tsx +0 -11
  291. package/src/app/monitoring/page.tsx +0 -8
  292. package/src/app/not-found.tsx +0 -29
  293. package/src/app/page.tsx +0 -5
  294. package/src/components/AIAutopilotPanel.tsx +0 -238
  295. package/src/components/CodeGenerator.tsx +0 -271
  296. package/src/components/CommandPalette.tsx +0 -227
  297. package/src/components/ConnectionModal.tsx +0 -759
  298. package/src/components/CreateTableModal.tsx +0 -281
  299. package/src/components/DataCharts.tsx +0 -962
  300. package/src/components/DataImportModal.tsx +0 -582
  301. package/src/components/DataProfiler.tsx +0 -335
  302. package/src/components/DatabaseDocs.tsx +0 -251
  303. package/src/components/MaskingSettings.tsx +0 -414
  304. package/src/components/MobileNav.tsx +0 -50
  305. package/src/components/NL2SQLPanel.tsx +0 -281
  306. package/src/components/PivotTable.tsx +0 -257
  307. package/src/components/QueryEditor.tsx +0 -760
  308. package/src/components/QueryHistory.tsx +0 -344
  309. package/src/components/QuerySafetyDialog.tsx +0 -290
  310. package/src/components/ResultsGrid.tsx +0 -644
  311. package/src/components/SaveQueryModal.tsx +0 -104
  312. package/src/components/SavedQueries.tsx +0 -128
  313. package/src/components/SchemaDiagram.tsx +0 -473
  314. package/src/components/SchemaDiff.tsx +0 -473
  315. package/src/components/SnapshotTimeline.tsx +0 -116
  316. package/src/components/Studio.tsx +0 -639
  317. package/src/components/TestDataGenerator.tsx +0 -261
  318. package/src/components/VisualExplain.tsx +0 -820
  319. package/src/components/admin/AdminDashboard.tsx +0 -163
  320. package/src/components/admin/tabs/AuditTab.tsx +0 -531
  321. package/src/components/admin/tabs/MonitoringEmbed.tsx +0 -11
  322. package/src/components/admin/tabs/OperationsTab.tsx +0 -646
  323. package/src/components/admin/tabs/OverviewTab.tsx +0 -1328
  324. package/src/components/admin/tabs/SecurityTab.tsx +0 -284
  325. package/src/components/community-section.tsx +0 -92
  326. package/src/components/icons/db-icons.tsx +0 -84
  327. package/src/components/libredb-logo.tsx +0 -61
  328. package/src/components/monitoring/MonitoringDashboard.tsx +0 -345
  329. package/src/components/monitoring/tabs/MetricChart.tsx +0 -82
  330. package/src/components/monitoring/tabs/OverviewTab.tsx +0 -263
  331. package/src/components/monitoring/tabs/PerformanceTab.tsx +0 -254
  332. package/src/components/monitoring/tabs/PoolTab.tsx +0 -174
  333. package/src/components/monitoring/tabs/QueriesTab.tsx +0 -287
  334. package/src/components/monitoring/tabs/SessionsTab.tsx +0 -316
  335. package/src/components/monitoring/tabs/StorageTab.tsx +0 -335
  336. package/src/components/monitoring/tabs/TablesTab.tsx +0 -300
  337. package/src/components/results-grid/ResultCard.tsx +0 -111
  338. package/src/components/results-grid/RowDetailSheet.tsx +0 -178
  339. package/src/components/results-grid/StatsBar.tsx +0 -201
  340. package/src/components/results-grid/index.ts +0 -1
  341. package/src/components/results-grid/utils.ts +0 -23
  342. package/src/components/schema-explorer/ColumnList.tsx +0 -53
  343. package/src/components/schema-explorer/SchemaExplorer.tsx +0 -182
  344. package/src/components/schema-explorer/TableItem.tsx +0 -210
  345. package/src/components/schema-explorer/index.ts +0 -1
  346. package/src/components/sidebar/ConnectionItem.tsx +0 -105
  347. package/src/components/sidebar/ConnectionsList.tsx +0 -62
  348. package/src/components/sidebar/Sidebar.tsx +0 -130
  349. package/src/components/sidebar/index.ts +0 -2
  350. package/src/components/studio/BottomPanel.tsx +0 -286
  351. package/src/components/studio/QueryToolbar.tsx +0 -180
  352. package/src/components/studio/StudioDesktopHeader.tsx +0 -114
  353. package/src/components/studio/StudioMobileHeader.tsx +0 -340
  354. package/src/components/studio/StudioTabBar.tsx +0 -82
  355. package/src/components/studio/index.ts +0 -5
  356. package/src/components/ui/accordion.tsx +0 -66
  357. package/src/components/ui/alert-dialog.tsx +0 -157
  358. package/src/components/ui/alert.tsx +0 -66
  359. package/src/components/ui/aspect-ratio.tsx +0 -11
  360. package/src/components/ui/avatar.tsx +0 -53
  361. package/src/components/ui/badge.tsx +0 -46
  362. package/src/components/ui/breadcrumb.tsx +0 -109
  363. package/src/components/ui/button-group.tsx +0 -83
  364. package/src/components/ui/button.tsx +0 -60
  365. package/src/components/ui/calendar.tsx +0 -216
  366. package/src/components/ui/card.tsx +0 -92
  367. package/src/components/ui/carousel.tsx +0 -241
  368. package/src/components/ui/chart.tsx +0 -357
  369. package/src/components/ui/checkbox.tsx +0 -32
  370. package/src/components/ui/collapsible.tsx +0 -33
  371. package/src/components/ui/command.tsx +0 -184
  372. package/src/components/ui/context-menu.tsx +0 -252
  373. package/src/components/ui/dialog.tsx +0 -143
  374. package/src/components/ui/drawer.tsx +0 -135
  375. package/src/components/ui/dropdown-menu.tsx +0 -257
  376. package/src/components/ui/empty.tsx +0 -104
  377. package/src/components/ui/field.tsx +0 -248
  378. package/src/components/ui/form.tsx +0 -167
  379. package/src/components/ui/hover-card.tsx +0 -44
  380. package/src/components/ui/input-group.tsx +0 -170
  381. package/src/components/ui/input-otp.tsx +0 -77
  382. package/src/components/ui/input.tsx +0 -21
  383. package/src/components/ui/item.tsx +0 -193
  384. package/src/components/ui/kbd.tsx +0 -28
  385. package/src/components/ui/label.tsx +0 -24
  386. package/src/components/ui/menubar.tsx +0 -276
  387. package/src/components/ui/navigation-menu.tsx +0 -168
  388. package/src/components/ui/pagination.tsx +0 -127
  389. package/src/components/ui/popover.tsx +0 -48
  390. package/src/components/ui/progress.tsx +0 -31
  391. package/src/components/ui/radio-group.tsx +0 -45
  392. package/src/components/ui/resizable.tsx +0 -56
  393. package/src/components/ui/scroll-area.tsx +0 -58
  394. package/src/components/ui/select.tsx +0 -187
  395. package/src/components/ui/separator.tsx +0 -28
  396. package/src/components/ui/sheet.tsx +0 -139
  397. package/src/components/ui/sidebar.tsx +0 -726
  398. package/src/components/ui/skeleton.tsx +0 -13
  399. package/src/components/ui/slider.tsx +0 -63
  400. package/src/components/ui/sonner.tsx +0 -40
  401. package/src/components/ui/spinner.tsx +0 -16
  402. package/src/components/ui/switch.tsx +0 -31
  403. package/src/components/ui/table.tsx +0 -116
  404. package/src/components/ui/tabs.tsx +0 -66
  405. package/src/components/ui/textarea.tsx +0 -18
  406. package/src/components/ui/toggle-group.tsx +0 -83
  407. package/src/components/ui/toggle.tsx +0 -47
  408. package/src/components/ui/tooltip.tsx +0 -61
  409. package/src/exports/components.ts +0 -15
  410. package/src/exports/index.ts +0 -4
  411. package/src/exports/providers.ts +0 -4
  412. package/src/exports/types.ts +0 -26
  413. package/src/hooks/use-ai-chat.ts +0 -182
  414. package/src/hooks/use-all-connections.ts +0 -66
  415. package/src/hooks/use-api-call.ts +0 -71
  416. package/src/hooks/use-auth.ts +0 -51
  417. package/src/hooks/use-connection-form.ts +0 -349
  418. package/src/hooks/use-connection-manager.ts +0 -169
  419. package/src/hooks/use-connection-payload.ts +0 -15
  420. package/src/hooks/use-inline-editing.ts +0 -109
  421. package/src/hooks/use-mobile.ts +0 -20
  422. package/src/hooks/use-monitoring-data.ts +0 -270
  423. package/src/hooks/use-provider-metadata.ts +0 -62
  424. package/src/hooks/use-query-execution.ts +0 -478
  425. package/src/hooks/use-storage-sync.ts +0 -259
  426. package/src/hooks/use-tab-manager.ts +0 -231
  427. package/src/hooks/use-toast.ts +0 -20
  428. package/src/hooks/use-transaction-control.ts +0 -64
  429. package/src/lib/api/error-codes.ts +0 -30
  430. package/src/lib/api/errors.ts +0 -236
  431. package/src/lib/api/with-error-handler.ts +0 -41
  432. package/src/lib/audit.ts +0 -105
  433. package/src/lib/auth.ts +0 -87
  434. package/src/lib/connection-string-parser.ts +0 -172
  435. package/src/lib/data-masking.ts +0 -385
  436. package/src/lib/db/base-provider.ts +0 -325
  437. package/src/lib/db/errors.ts +0 -317
  438. package/src/lib/db/factory.ts +0 -324
  439. package/src/lib/db/index.ts +0 -123
  440. package/src/lib/db/providers/document/index.ts +0 -6
  441. package/src/lib/db/providers/document/mongodb.ts +0 -992
  442. package/src/lib/db/providers/keyvalue/redis.ts +0 -554
  443. package/src/lib/db/providers/sql/index.ts +0 -11
  444. package/src/lib/db/providers/sql/sql-base.ts +0 -174
  445. package/src/lib/db/providers/sql/sqlite.ts +0 -721
  446. package/src/lib/db/types.ts +0 -437
  447. package/src/lib/db/utils/pool-manager.ts +0 -287
  448. package/src/lib/db/utils/query-limiter.ts +0 -239
  449. package/src/lib/db-ui-config.ts +0 -86
  450. package/src/lib/editor/mongodb-completions.ts +0 -172
  451. package/src/lib/editor/sql-completions.ts +0 -280
  452. package/src/lib/llm/base-provider.ts +0 -117
  453. package/src/lib/llm/factory.ts +0 -102
  454. package/src/lib/llm/index.ts +0 -90
  455. package/src/lib/llm/providers/custom.ts +0 -181
  456. package/src/lib/llm/providers/gemini.ts +0 -126
  457. package/src/lib/llm/providers/ollama.ts +0 -154
  458. package/src/lib/llm/providers/openai.ts +0 -146
  459. package/src/lib/llm/types.ts +0 -173
  460. package/src/lib/llm/utils/config.ts +0 -187
  461. package/src/lib/llm/utils/retry.ts +0 -119
  462. package/src/lib/llm/utils/streaming.ts +0 -202
  463. package/src/lib/logger.ts +0 -127
  464. package/src/lib/monitoring-thresholds.ts +0 -44
  465. package/src/lib/oidc.ts +0 -262
  466. package/src/lib/query-generators.ts +0 -61
  467. package/src/lib/schema-diff/diff-engine.ts +0 -273
  468. package/src/lib/schema-diff/migration-generator.ts +0 -208
  469. package/src/lib/schema-diff/types.ts +0 -55
  470. package/src/lib/seed/config-loader.ts +0 -79
  471. package/src/lib/seed/connection-filter.ts +0 -49
  472. package/src/lib/seed/credential-resolver.ts +0 -62
  473. package/src/lib/seed/index.ts +0 -40
  474. package/src/lib/seed/resolve-connection.ts +0 -57
  475. package/src/lib/seed/types.ts +0 -69
  476. package/src/lib/sql/alias-extractor.ts +0 -267
  477. package/src/lib/sql/index.ts +0 -8
  478. package/src/lib/sql/statement-splitter.ts +0 -167
  479. package/src/lib/sql/types.ts +0 -40
  480. package/src/lib/ssh/tunnel.ts +0 -142
  481. package/src/lib/storage/factory.ts +0 -84
  482. package/src/lib/storage/index.ts +0 -14
  483. package/src/lib/storage/local-storage.ts +0 -99
  484. package/src/lib/storage/providers/postgres.ts +0 -225
  485. package/src/lib/storage/providers/sqlite.ts +0 -153
  486. package/src/lib/storage/storage-facade.ts +0 -272
  487. package/src/lib/storage/types.ts +0 -75
  488. package/src/lib/time-series-buffer.ts +0 -58
  489. package/src/lib/types.ts +0 -173
  490. package/src/lib/utils.ts +0 -6
  491. package/src/proxy.ts +0 -104
  492. package/src/types/db-drivers.d.ts +0 -23
  493. package/src/types/html2canvas.d.ts +0 -9
  494. package/tests/api/admin/audit.test.ts +0 -178
  495. package/tests/api/admin/fleet-health.test.ts +0 -183
  496. package/tests/api/ai/autopilot.test.ts +0 -174
  497. package/tests/api/ai/chat.test.ts +0 -250
  498. package/tests/api/ai/describe-schema.test.ts +0 -266
  499. package/tests/api/ai/explain.test.ts +0 -199
  500. package/tests/api/ai/impact.test.ts +0 -168
  501. package/tests/api/ai/index-advisor.test.ts +0 -171
  502. package/tests/api/ai/nl2sql.test.ts +0 -202
  503. package/tests/api/ai/query-safety.test.ts +0 -196
  504. package/tests/api/auth/login.test.ts +0 -170
  505. package/tests/api/auth/logout.test.ts +0 -140
  506. package/tests/api/auth/me.test.ts +0 -73
  507. package/tests/api/auth/oidc-callback.test.ts +0 -215
  508. package/tests/api/auth/oidc-login.test.ts +0 -127
  509. package/tests/api/db/cancel.test.ts +0 -198
  510. package/tests/api/db/disconnect.test.ts +0 -124
  511. package/tests/api/db/health.test.ts +0 -222
  512. package/tests/api/db/maintenance.test.ts +0 -263
  513. package/tests/api/db/monitoring.test.ts +0 -221
  514. package/tests/api/db/multi-query.test.ts +0 -316
  515. package/tests/api/db/pool-stats.test.ts +0 -135
  516. package/tests/api/db/profile.test.ts +0 -330
  517. package/tests/api/db/provider-meta.test.ts +0 -193
  518. package/tests/api/db/query.test.ts +0 -314
  519. package/tests/api/db/schema-snapshot.test.ts +0 -170
  520. package/tests/api/db/schema.test.ts +0 -191
  521. package/tests/api/db/test-connection.test.ts +0 -185
  522. package/tests/api/db/transaction.test.ts +0 -314
  523. package/tests/api/proxy.test.ts +0 -191
  524. package/tests/api/seed/managed-route.test.ts +0 -113
  525. package/tests/api/storage/config.test.ts +0 -42
  526. package/tests/api/storage/storage-routes.test.ts +0 -309
  527. package/tests/components/AIAutopilotPanel.test.tsx +0 -756
  528. package/tests/components/AdminPage.test.tsx +0 -33
  529. package/tests/components/CodeGenerator.test.tsx +0 -182
  530. package/tests/components/CommandPalette.test.tsx +0 -428
  531. package/tests/components/CommunitySection.test.tsx +0 -91
  532. package/tests/components/ConnectionModal.mobile.test.tsx +0 -284
  533. package/tests/components/ConnectionModal.test.tsx +0 -570
  534. package/tests/components/CreateTableModal.test.tsx +0 -383
  535. package/tests/components/DataCharts.test.tsx +0 -739
  536. package/tests/components/DataImportModal.test.tsx +0 -751
  537. package/tests/components/DataProfiler.test.tsx +0 -589
  538. package/tests/components/DatabaseDocs.test.tsx +0 -353
  539. package/tests/components/LoginPage.test.tsx +0 -163
  540. package/tests/components/LoginPageOIDC.test.tsx +0 -92
  541. package/tests/components/MaskingSettings.test.tsx +0 -498
  542. package/tests/components/MobileNav.test.tsx +0 -30
  543. package/tests/components/MonitoringPage.test.tsx +0 -32
  544. package/tests/components/NL2SQLPanel.test.tsx +0 -621
  545. package/tests/components/Page.test.tsx +0 -33
  546. package/tests/components/PivotTable.test.tsx +0 -350
  547. package/tests/components/QueryEditor.test.tsx +0 -1730
  548. package/tests/components/QueryHistory.test.tsx +0 -572
  549. package/tests/components/QuerySafetyDialog.test.tsx +0 -586
  550. package/tests/components/ResultsGrid.test.tsx +0 -804
  551. package/tests/components/RootLayout.test.tsx +0 -83
  552. package/tests/components/SaveQueryModal.test.tsx +0 -25
  553. package/tests/components/SavedQueries.test.tsx +0 -43
  554. package/tests/components/SchemaDiagram.test.tsx +0 -1034
  555. package/tests/components/SchemaDiff.test.tsx +0 -906
  556. package/tests/components/SnapshotTimeline.test.tsx +0 -174
  557. package/tests/components/Studio.test.tsx +0 -1030
  558. package/tests/components/TestDataGenerator.test.tsx +0 -291
  559. package/tests/components/VisualExplain.test.tsx +0 -704
  560. package/tests/components/admin/AdminDashboard.test.tsx +0 -205
  561. package/tests/components/admin/AuditTab.test.tsx +0 -220
  562. package/tests/components/admin/MonitoringEmbed.test.tsx +0 -58
  563. package/tests/components/admin/OperationsTab.test.tsx +0 -975
  564. package/tests/components/admin/OverviewTab.test.tsx +0 -254
  565. package/tests/components/admin/SecurityTab.test.tsx +0 -467
  566. package/tests/components/monitoring/MetricChart.test.tsx +0 -111
  567. package/tests/components/monitoring/MonitoringDashboard.test.tsx +0 -259
  568. package/tests/components/monitoring/OverviewTab.test.tsx +0 -78
  569. package/tests/components/monitoring/PerformanceTab.test.tsx +0 -87
  570. package/tests/components/monitoring/PoolTab.test.tsx +0 -42
  571. package/tests/components/monitoring/QueriesTab.test.tsx +0 -80
  572. package/tests/components/monitoring/SessionsTab.test.tsx +0 -154
  573. package/tests/components/monitoring/StorageTab.test.tsx +0 -127
  574. package/tests/components/monitoring/TablesTab.test.tsx +0 -153
  575. package/tests/components/results-grid/ResultCard.test.tsx +0 -105
  576. package/tests/components/results-grid/RowDetailSheet.test.tsx +0 -308
  577. package/tests/components/results-grid/StatsBar.test.tsx +0 -162
  578. package/tests/components/schema-explorer/ColumnList.test.tsx +0 -151
  579. package/tests/components/schema-explorer/SchemaExplorer.test.tsx +0 -461
  580. package/tests/components/schema-explorer/TableItem.test.tsx +0 -415
  581. package/tests/components/sidebar/ConnectionItem.test.tsx +0 -201
  582. package/tests/components/sidebar/ConnectionsList.test.tsx +0 -176
  583. package/tests/components/sidebar/Sidebar.test.tsx +0 -187
  584. package/tests/components/studio/BottomPanel.test.tsx +0 -383
  585. package/tests/components/studio/QueryToolbar.test.tsx +0 -321
  586. package/tests/components/studio/StudioDesktopHeader.test.tsx +0 -377
  587. package/tests/components/studio/StudioMobileHeader.test.tsx +0 -198
  588. package/tests/components/studio/StudioTabBar.test.tsx +0 -331
  589. package/tests/fixtures/connections.ts +0 -96
  590. package/tests/fixtures/masking-configs.ts +0 -86
  591. package/tests/fixtures/query-results.ts +0 -71
  592. package/tests/fixtures/schemas.ts +0 -64
  593. package/tests/fixtures/seed-connections/invalid-config.yaml +0 -7
  594. package/tests/fixtures/seed-connections/minimal-config.yaml +0 -8
  595. package/tests/fixtures/seed-connections/mixed-credentials.yaml +0 -23
  596. package/tests/fixtures/seed-connections/multi-role-config.yaml +0 -30
  597. package/tests/fixtures/seed-connections/valid-config.json +0 -15
  598. package/tests/fixtures/seed-connections/valid-config.yaml +0 -51
  599. package/tests/helpers/mock-fetch.ts +0 -59
  600. package/tests/helpers/mock-monaco.ts +0 -112
  601. package/tests/helpers/mock-navigation.ts +0 -28
  602. package/tests/helpers/mock-next.ts +0 -80
  603. package/tests/helpers/mock-provider.ts +0 -133
  604. package/tests/helpers/mock-sonner.ts +0 -29
  605. package/tests/helpers/render-with-providers.tsx +0 -19
  606. package/tests/hooks/use-ai-chat.test.ts +0 -600
  607. package/tests/hooks/use-auth.test.ts +0 -371
  608. package/tests/hooks/use-connection-form.test.ts +0 -743
  609. package/tests/hooks/use-connection-manager.test.ts +0 -466
  610. package/tests/hooks/use-inline-editing.test.ts +0 -321
  611. package/tests/hooks/use-mobile.test.ts +0 -177
  612. package/tests/hooks/use-monitoring-data.test.ts +0 -819
  613. package/tests/hooks/use-provider-metadata.test.ts +0 -228
  614. package/tests/hooks/use-query-execution.test.ts +0 -1212
  615. package/tests/hooks/use-tab-manager.test.ts +0 -756
  616. package/tests/hooks/use-toast.test.ts +0 -74
  617. package/tests/hooks/use-transaction-control.test.ts +0 -211
  618. package/tests/integration/db/mongodb-provider.test.ts +0 -698
  619. package/tests/integration/db/mssql-provider.test.ts +0 -840
  620. package/tests/integration/db/mysql-provider.test.ts +0 -872
  621. package/tests/integration/db/oracle-provider.test.ts +0 -843
  622. package/tests/integration/db/postgres-provider.test.ts +0 -1382
  623. package/tests/integration/db/redis-provider.test.ts +0 -526
  624. package/tests/integration/db/sqlite-provider.test.ts +0 -480
  625. package/tests/integration/seed/seed-pipeline.test.ts +0 -102
  626. package/tests/isolated/factory-singleton.test.ts +0 -150
  627. package/tests/isolated/use-storage-sync.test.ts +0 -389
  628. package/tests/run-components.sh +0 -196
  629. package/tests/setup-dom.ts +0 -58
  630. package/tests/setup.ts +0 -40
  631. package/tests/unit/api-errors.test.ts +0 -210
  632. package/tests/unit/code-generator-functions.test.ts +0 -271
  633. package/tests/unit/components/column-list.test.tsx +0 -190
  634. package/tests/unit/components/data-import-modal.test.tsx +0 -441
  635. package/tests/unit/components/studio-mobile-header.test.tsx +0 -327
  636. package/tests/unit/data-charts-functions.test.ts +0 -496
  637. package/tests/unit/data-import-functions.test.ts +0 -320
  638. package/tests/unit/data-import-utils.test.ts +0 -125
  639. package/tests/unit/db/base-provider.test.ts +0 -517
  640. package/tests/unit/db/errors.test.ts +0 -403
  641. package/tests/unit/db/factory.test.ts +0 -436
  642. package/tests/unit/db/pool-manager.test.ts +0 -440
  643. package/tests/unit/db/query-limiter.test.ts +0 -387
  644. package/tests/unit/db/sql-base.test.ts +0 -438
  645. package/tests/unit/lib/api/error-codes.test.ts +0 -39
  646. package/tests/unit/lib/audit.test.ts +0 -326
  647. package/tests/unit/lib/auth.test.ts +0 -146
  648. package/tests/unit/lib/connection-string-parser.test.ts +0 -424
  649. package/tests/unit/lib/data-masking.test.ts +0 -583
  650. package/tests/unit/lib/db-icons.test.tsx +0 -41
  651. package/tests/unit/lib/monitoring-thresholds.test.ts +0 -133
  652. package/tests/unit/lib/oidc.test.ts +0 -509
  653. package/tests/unit/lib/query-generators.test.ts +0 -127
  654. package/tests/unit/lib/storage/factory.test.ts +0 -71
  655. package/tests/unit/lib/storage/local-storage.test.ts +0 -114
  656. package/tests/unit/lib/storage/providers/postgres.test.ts +0 -312
  657. package/tests/unit/lib/storage/providers/sqlite.test.ts +0 -232
  658. package/tests/unit/lib/storage/storage-facade-extended.test.ts +0 -331
  659. package/tests/unit/lib/storage/storage-facade.test.ts +0 -184
  660. package/tests/unit/lib/storage.test.ts +0 -317
  661. package/tests/unit/lib/time-series-buffer.test.ts +0 -212
  662. package/tests/unit/lib/utils.test.ts +0 -24
  663. package/tests/unit/llm/base-provider.test.ts +0 -238
  664. package/tests/unit/llm/config.test.ts +0 -262
  665. package/tests/unit/llm/custom-provider.test.ts +0 -281
  666. package/tests/unit/llm/gemini-provider.test.ts +0 -248
  667. package/tests/unit/llm/llm-factory.test.ts +0 -155
  668. package/tests/unit/llm/ollama-provider.test.ts +0 -288
  669. package/tests/unit/llm/openai-provider.test.ts +0 -324
  670. package/tests/unit/llm/retry.test.ts +0 -180
  671. package/tests/unit/llm/streaming.test.ts +0 -355
  672. package/tests/unit/logger.test.ts +0 -198
  673. package/tests/unit/mongodb-completions.test.ts +0 -516
  674. package/tests/unit/pivot-table-functions.test.ts +0 -76
  675. package/tests/unit/query-cancelled-error.test.ts +0 -81
  676. package/tests/unit/schema-diff/diff-engine.test.ts +0 -367
  677. package/tests/unit/schema-diff/migration-generator.test.ts +0 -513
  678. package/tests/unit/seed/config-loader.test.ts +0 -73
  679. package/tests/unit/seed/connection-filter.test.ts +0 -91
  680. package/tests/unit/seed/credential-resolver.test.ts +0 -85
  681. package/tests/unit/seed/index.test.ts +0 -72
  682. package/tests/unit/seed/resolve-connection.test.ts +0 -74
  683. package/tests/unit/seed/types.test.ts +0 -129
  684. package/tests/unit/sql/alias-extractor.test.ts +0 -444
  685. package/tests/unit/sql/statement-splitter.test.ts +0 -348
  686. package/tests/unit/sql-completions.test.ts +0 -463
  687. package/tests/unit/ssh-tunnel.test.ts +0 -465
  688. package/tsconfig.json +0 -42
@@ -1,718 +0,0 @@
1
- # LibreDB Studio - Enterprise Feature Roadmap (Deep Analysis)
2
-
3
- ## Context
4
-
5
- LibreDB Studio (v0.6.11), open-source, web-based, AI-powered bir database IDE. PostgreSQL, MySQL, SQLite, MongoDB destekliyor. Kurumsal projelerde birden fazla veritabani yonetimi icin kullaniliyor.
6
-
7
- **Mevcut Durum:** Solid bir temel var (Monaco editor, multi-tab, virtualized grid, AI assistant, monitoring, maintenance, provider abstraction). Ancak DBeaver, DataGrip, TablePlus gibi rakiplerle kiyaslandiginda enterprise adoption icin kritik eksikler mevcut.
8
-
9
- **Hedef:** LibreDB'yi enterprise-grade bir database management tool haline getirmek. Web-based ve AI-powered olma avantajlarini kullanarak rakiplerden farklilastiracak ozellikler eklemek.
10
-
11
- ---
12
-
13
- ## FARKLI YAKLASIMLARIN KARSILASTIRILMASI
14
-
15
- Bu planin hazirlanmasinda iki farkli perspektif analiz edildi:
16
-
17
- 1. **Competitor Gap Analysis** - DBeaver, DataGrip, TablePlus, Navicat, pgAdmin, Beekeeper Studio, Adminer, dbForge ile karsilastirma
18
- 2. **Enterprise Feature Design** - Kurumsal ihtiyaclara yonelik yeni ozellik tasarimi
19
-
20
- Her iki analiz de ortak sonuca ulasti: Once **temel eksikleri** kapatmak, sonra **AI farklilastirma** ve **collaboration** ozellikleri ile rakiplerden ayrilmak.
21
-
22
- ---
23
-
24
- ## PHASE 0: Kritik Eksikler (Tum Rakiplerde Var, LibreDB'de Yok) <COMPLETED>
25
-
26
- > Bu ozellikler olmadan ciddi bir enterprise kullanici aday bile olmaz. Oncelikli olarak bunlar tamamlanmali.
27
-
28
- ### 0.1 Gercek Connection Testing
29
- - **Sorun:** `ConnectionModal.tsx` satir 33'te `setTimeout(1500)` ile sahte bekleme var, gercek test yok
30
- - **Cozum:** `POST /api/db/test-connection` route ekle, `provider.connect()` + `provider.disconnect()` cagir
31
- - **Dosyalar:** `ConnectionModal.tsx`, yeni route `api/db/test-connection/route.ts`
32
- - **Karmasiklik:** Dusuk (1-2 gun)
33
-
34
- ### 0.2 Connection Editing
35
- - **Sorun:** Mevcut baglantilari duzenlemek icin silip yeniden olusturmak gerekiyor
36
- - **Cozum:** ConnectionModal'a edit mode ekle, `Sidebar.tsx`'e "Edit" action ekle
37
- - **Dosyalar:** `ConnectionModal.tsx`, `Sidebar.tsx`, `Studio.tsx`
38
- - **Karmasiklik:** Dusuk (<1 gun)
39
-
40
- ### 0.3 Connection List and information Export and Import (Tum DB Tipleri)
41
- - **Sorun:** Sadece MongoDB connection string destekliyor. PostgreSQL/MySQL URL'leri (`postgres://user:pass@host:5432/db`) parse edilemiyor
42
- - **Cozum:** URL parser ekle, ConnectionModal'da "Paste Connection String" butonu
43
- - **Dosyalar:** `ConnectionModal.tsx`, yeni utility `src/lib/connection-string-parser.ts`
44
- - **Karmasiklik:** Dusuk (1 gun)
45
-
46
- ### 0.4 SSL/TLS Configuration UI
47
- - **Sorun:** Provider'larda temel SSL destegi var ama kullaniciya ayar yapma imkani yok. Cloud DB'ler (AWS RDS, Azure, GCP) SSL gerektiriyor
48
- - **Cozum:** `DatabaseConnection` type'a SSL alanlari ekle (sslMode, caCert, clientCert, clientKey). ConnectionModal'a SSL paneli ekle
49
- - **Dosyalar:** `src/lib/types.ts`, `ConnectionModal.tsx`, `db-ui-config.ts`, SQL provider'lar
50
- - **Karmasiklik:** Orta (2-3 gun)
51
-
52
- ### 0.5 SSH Tunnel Destegi
53
- - **Sorun:** Uretim veritabanlari genellikle firewall arkasinda, SSH bastion uzerinden erisilebilir. SSH tunnel olmadan enterprise DB'lere baglanilamaz
54
- - **Cozum:** `ssh2` kutuphanesi ile server-side tunnel. `DatabaseConnection`'a SSH alanlari ekle. Factory'de tunnel olustur, sonra provider'a bagla
55
- - **Dosyalar:** `src/lib/types.ts`, `src/lib/db/factory.ts`, `ConnectionModal.tsx`, yeni `src/lib/ssh/tunnel.ts`
56
- - **Karmasiklik:** Orta (3-5 gun)
57
-
58
- ### 0.6 Query Cancellation / Abort
59
- - **Sorun:** Uzun suren sorguyu durdurmak imkansiz. Tab kitlenir, server kaynaklari tuketilir
60
- - **Cozum:** Client'ta `AbortController`, server'da query PID/thread takibi. PostgreSQL: `pg_cancel_backend()`, MySQL: `KILL QUERY`. "Cancel" butonu ekle
61
- - **Dosyalar:** `Studio.tsx`, `src/app/api/db/query/route.ts`, provider'lara `cancelQuery()` metodu
62
- - **Karmasiklik:** Orta (2-3 gun)
63
-
64
- ### 0.7 Transaction Control (BEGIN/COMMIT/ROLLBACK)
65
- - **Sorun:** Her sorgu auto-commit. DBA'ler coklu ifadeyi tek transaction icinde calistirmak istiyor
66
- - **Cozum:** Session kavramini tani. Dedicated connection (pool disinda) ile transaction state tracking. Toolbar'a BEGIN/COMMIT/ROLLBACK butonlari
67
- - **Dosyalar:** `DatabaseProvider` interface, `src/app/api/db/query/route.ts`, `Studio.tsx`, `QueryEditor.tsx`
68
- - **Karmasiklik:** Orta-Yuksek (3-5 gun)
69
-
70
- ---
71
-
72
- ## PHASE 1: Enterprise Foundation (Guvenlik, Kimlik, Kalicilik)
73
-
74
- > Enterprise deployment icin olmazsa olmaz. Bu phase olmadan collaboration ve governance ozellikleri eklenemez.
75
-
76
- ### 1.1 User Identity ve Team Management
77
- User JWT and Outh2 support like Keycloak, Auth0, Okta, etc.
78
- - **Sorun:** Iki hardcoded sifre (admin/user) herkes tarafindan paylasiliyor. 50 muhendis ayni "admin" sifresini kullaniyor
79
- - **Cozum:** Gercek kullanici sistemi (users tablosu, invite flow, profil sayfasi, session yonetimi). Mevcut JWT altyapisi genisletilir
80
- - **Fayda:** Security teams (compliance), tum kullanicilar (kisisellestirilmis deneyim)
81
- - **Dosyalar:** `src/lib/auth.ts` (UserPayload genisletme), `src/middleware.ts`, yeni `src/lib/users/`, yeni routes `/api/auth/register`, `/api/auth/invite`
82
- - **Karmasiklik:** Yuksek
83
-
84
- ### 1.2 Server-Side State Persistence (Connection Vault)
85
- - **Sorun:** Tum veriler localStorage'da - browser temizlenince kaybolur, cihazlar arasi paylasim yok, sifreleme yok
86
- - **Cozum:** Metadata DB (self-hosted icin SQLite, veya configurable Postgres). Connection credential'lari AES-256-GCM ile sifreleme. `storage.ts` API korunur, sadece backend degisir
87
- - **Fayda:** Cross-device erisim, encrypted credential storage, team paylasimi
88
- - **Dosyalar:** `src/lib/storage.ts` (async backend), yeni `src/lib/storage-server.ts`, yeni routes `/api/connections`, `/api/saved-queries`, `/api/history`
89
- - **Bagimlilikar:** 1.1 (User Identity)
90
- - **Karmasiklik:** Yuksek
91
-
92
- ### 1.3 Connection-Level Access Control (RBAC v2)
93
- - **Sorun:** Giris yapan herkes her baglantiya erisebiliyor. Production vs staging ayrimi yok
94
- - **Cozum:** Connection bazli roller (viewer: sadece SELECT, editor: DML, owner: full). Query policy engine (SQL parse edip ifade tipini tespit et). Environment tagging (production/staging/dev)
95
- - **Dosyalar:** `src/app/api/db/query/route.ts` (enforcement point), yeni `src/lib/permissions/`
96
- - **Bagimlilikar:** 1.1, 1.2
97
- - **Karmasiklik:** Yuksek
98
-
99
- ### 1.4 Audit Log
100
- - **Sorun:** Kim, ne zaman, hangi sorguyu calistirdi - takip edemiyor. SOX/HIPAA/GDPR compliance icin zorunlu
101
- - **Cozum:** Server-side append-only log. User, connection, query, timestamp, execution time, row count, client IP. Immutable storage + viewer UI + export
102
- - **Dosyalar:** Yeni `src/lib/audit/`, yeni route `/api/audit`, yeni sayfa `/admin/audit-log`
103
- - **Bagimlilikar:** 1.1, 1.2
104
- - **Karmasiklik:** Orta
105
-
106
- ---
107
-
108
- ## PHASE 2: Collaboration ve Workflow (Web Avantaji)
109
-
110
- > Desktop araclarin YAPMADIGI seyler. LibreDB'nin web-based olmasi burada buyuk avantaj.
111
-
112
- ### 2.1 Shared Query Workspaces
113
- - **Sorun:** DBA faydali bir sorgu yaziyor, Slack'e yapistiyor. Paylasilabilir, yorumlanabilir sorgu koleksiyonu yok
114
- - **Cozum:** Workspace kavrami (team genelinde gorulebilir sorgu koleksiyonlari). Folder organizasyonu, URL ile paylasim, versiyon gecmisi, fork, yorum
115
- - **Dosyalar:** Mevcut `SavedQueries.tsx` genisletilir, yeni `WorkspaceExplorer.tsx`, `QueryComments.tsx`
116
- - **Bagimlilikar:** 1.1, 1.2
117
- - **Karmasiklik:** Yuksek
118
-
119
- ### 2.2 Query Review ve Approval Workflow
120
- - **Sorun:** Production'da tehlikeli sorgulari engelleyecek mekanizma yok. ALTER TABLE, bulk DELETE gibi islemler peer review gerektirmeli
121
- - **Cozum:** "Request Review" butonu, onay kuyrugu, diff gorunumu, otomatik tehlikeli pattern tespiti, email/webhook bildirimi. Onaylanan sorgular imzali hash ile korunur
122
- - **Dosyalar:** Yeni `ReviewQueue.tsx`, `ReviewDetail.tsx`, routes `/api/reviews`
123
- - **Bagimlilikar:** 1.1, 1.2, 1.3
124
- - **Karmasiklik:** Yuksek
125
-
126
- ### 2.3 Notifications ve Activity Feed
127
- - **Sorun:** Takimin veritabanlari uzerindeki faaliyetlerinden haberdar olmak mumkun degil
128
- - **Cozum:** In-app bildirim (bell icon), activity feed, event tipleri (sorgu, schema degisikligi, maintenance, review, slow query, health alert). Webhook entegrasyonu (Slack, Discord, PagerDuty)
129
- - **Dosyalar:** Yeni `NotificationCenter.tsx`, yeni `src/lib/notifications/`, SSE/WebSocket
130
- - **Bagimlilikar:** 1.1, 1.2
131
- - **Karmasiklik:** Orta
132
-
133
- ---
134
-
135
- ## PHASE 3: AI-Powered Intelligence (Rakiplerden Farklilasma)
136
-
137
- > Hicbir rakibin yapmadigi ozellikler. LibreDB'nin mevcut LLM altyapisini kullanarak genuine database intelligence.
138
-
139
- ### 3.1 Multi-Turn Conversational AI
140
- - **Sorun:** Mevcut AI tek turlu - her seferinde bagimsiz bir istek. "Simdi bunu da ekle..." veya "Bu sorguyu optimize et" diyemiyor
141
- - **Cozum:** Tab basina konusma gecmisi. `LLMMessage[]` biriktirilir. Onceki sorgulara ve sonuclarina referans verebilir. Context window yonetimi (eski mesajlari ozetleme)
142
- - **Mevcut Altyapi:** `LLMMessage[]` ve `role` zaten `/src/lib/llm/types.ts`'de tanimli. API route'u `messages[]` kabul edecek sekilde genisletilir
143
- - **Dosyalar:** `src/app/api/ai/chat/route.ts`, yeni `AIConversation.tsx`, `QueryEditor.tsx`
144
- - **Karmasiklik:** Orta
145
-
146
- ### 3.2 AI Index Advisor
147
- - **Sorun:** Eksik veya verimsiz index'ler yavas sorgularin #1 nedeni. Cogu developer EXPLAIN ciktilarini yorumlayamiyor
148
- - **Cozum:** Slow query'leri + EXPLAIN plan'lari + schema bilgisini analiz et, index onerisi sun. `CREATE INDEX` statement'lari uret. Etki tahmini goster
149
- - **Mevcut Altyapi:** `VisualExplain.tsx` zaten EXPLAIN parse ediyor, `getSlowQueries()` ve `getIndexStats()` mevcut
150
- - **Dosyalar:** Yeni `src/lib/ai/index-advisor.ts`, yeni `IndexAdvisor.tsx`, route `/api/ai/index-advisor`
151
- - **Karmasiklik:** Orta
152
-
153
- ### 3.3 AI Schema Design Assistant
154
- - **Sorun:** Veritabani schema tasarimi uzmanlik gerektiriyor. Junior developer'lar problematik schemalar olusturuyor
155
- - **Cozum:** Dogal dil -> DDL ("SaaS uygulamasi icin users, organizations, billing"). Mevcut `SchemaDiagram.tsx` ile gorsel onizleme. Mevcut schema review/iyilestirme onerisi. Migration SQL uretimi
156
- - **Dosyalar:** `CreateTableModal.tsx` genisletilir, yeni `SchemaDesigner.tsx`, route `/api/ai/schema-design`
157
- - **Karmasiklik:** Orta
158
-
159
- ### 3.4 Natural Language to Query (NL2SQL)
160
- - **Sorun:** Teknik olmayan kullanicilar (product manager, analist) SQL yazamiyor ama veriye ihtiyac duyuyor
161
- - **Cozum:** Ozel NL2SQL modu ("Bu ayin en cok gelir getiren 10 musterisini goster"). Schema-aware, belirsizlikte aciklayici sorular sorar. Sonuc hem sorgu hem data olarak gosterilir
162
- - **Dosyalar:** Yeni `NaturalLanguageQuery.tsx`, mevcut LLM altyapisi, mevcut `ResultsGrid.tsx`
163
- - **Karmasiklik:** Orta
164
-
165
- ### 3.5 AI Query Safety Analysis (Pre-Execution)
166
- - **Sorun:** DELETE/DROP/TRUNCATE calistirmadan once ne olacagini tahmin etmek zor
167
- - **Cozum:** Tehlikeli sorguyu AI'ya analiz ettir: "Bu DELETE orders tablosundaki ~12,000 satiri silecek ve order_items'daki 34,000 satira cascade edecek." Risk degerlendirmesi + onay ekrani
168
- - **Mevcut Altyapi:** AI streaming + schema context zaten mevcut
169
- - **Karmasiklik:** Orta (2-3 gun)
170
-
171
- ---
172
-
173
- ## PHASE 4: Gelismis Database Islemleri (DBA Productivity)
174
-
175
- ### 4.1 Schema Migration Manager
176
- - **Sorun:** Production'da schema degisiklikleri riskli. Migration planlama, review, test, rollback gerektiriyor
177
- - **Cozum:** Versiyonlanmis SQL migration dosyalari (up/down). Schema diff'ten migration uretimi. Dry run modu. Git ile export
178
- - **Dosyalar:** Yeni `src/lib/migrations/`, routes `/api/migrations`, sayfa `/migrations`
179
- - **Bagimlilikar:** 1.2, 1.3
180
- - **Karmasiklik:** Yuksek
181
-
182
- ### 4.2 Multi-Connection Query Execution
183
- - **Sorun:** Ayni sorguyu birden fazla veritabaninda calistirmak gerekiyor (tum prod instance'larda tablo boyutlarini kontrol et)
184
- - **Cozum:** Birden fazla baglanti secip tek sorgu calistir. Paralel calistirma, per-connection sonuclar. "Fleet" kavrami
185
- - **Dosyalar:** Yeni route `/api/db/multi-query`, yeni `MultiQueryResults.tsx`
186
- - **Bagimlilikar:** 1.2
187
- - **Karmasiklik:** Orta
188
-
189
- ### 4.3 Scheduled Queries (Cron Jobs)
190
- - **Sorun:** Tekrarlanan islemler (gunluk rapor, haftalik temizlik) icin harici cron gerektiriyor
191
- - **Cozum:** Cron syntax ile zamanlama. Sonucu email/webhook/store. Calistirma gecmisi ve failure alert
192
- - **Dosyalar:** Yeni `src/lib/scheduler/`, routes `/api/schedules`, sayfa `/schedules`
193
- - **Bagimlilikar:** 1.1, 1.2, 2.3
194
- - **Karmasiklik:** Yuksek
195
-
196
- ### 4.4 Database Comparison ve Sync
197
- - **Sorun:** Dev/staging/production arasinda schema ve data drift. Migration script'leri manuel olusturuluyor
198
- - **Cozum:** Tablo-tablo, kolon-kolon schema karsilastirma. Renk kodlu diff. ALTER script uretimi. Data karsilastirma (row count, checksum)
199
- - **Dosyalar:** Yeni `src/lib/comparison/`, `ComparisonView.tsx`, Monaco diff editor kullanimi
200
- - **Bagimlilikar:** 1.2
201
- - **Karmasiklik:** Yuksek
202
-
203
- ### 4.5 Multi-Statement Execution
204
- - **Sorun:** Server tek sorgu olarak calistirir. Coklu ifade iceren script'ler (migration, seed) duzenli calistirilemiyor
205
- - **Cozum:** Statement splitter (string/comment icindeki semicolonlari handle et). Sirayli calistirma, per-statement sonuclar
206
- - **Dosyalar:** `src/app/api/db/query/route.ts`, yeni `src/lib/sql/statement-splitter.ts`
207
- - **Karmasiklik:** Orta (3-4 gun)
208
-
209
- ---
210
-
211
- ## PHASE 5: Developer Experience
212
-
213
- ### 5.1 Command Palette (Cmd+K)
214
- - **Sorun:** Power user'lar icin keyboard-first navigasyon yok. VS Code/DataGrip kullanicilari command palette bekliyor
215
- - **Cozum:** `cmdk` paketi zaten `package.json`'da. Tablolar, saved query'ler, history, connection'lar, action'lar arasinda fuzzy arama
216
- - **Mevcut Altyapi:** Shadcn/UI command component hazir
217
- - **Dosyalar:** Yeni `CommandPalette.tsx`, `Studio.tsx`'e global keyboard listener
218
- - **Bagimlilikar:** Yok
219
- - **Karmasiklik:** Dusuk (1-2 gun)
220
-
221
- ### 5.2 Query Snippets ve Template Library
222
- - **Sorun:** Yaygin sorgu patternleri (pagination, search, aggregation) surekli tekrar yaziliyor
223
- - **Cozum:** Built-in + custom snippet library. Parametreli template'ler (`{{table}}`, `{{column}}`). Monaco autocomplete entegrasyonu
224
- - **Mevcut Altyapi:** `QueryEditor.tsx`'de 6 hardcoded snippet var (satir 53), dinamik sisteme donusturulur
225
- - **Dosyalar:** `QueryEditor.tsx`, yeni `SnippetLibrary.tsx`, yeni `src/lib/snippets/`
226
- - **Karmasiklik:** Dusuk-Orta
227
-
228
- ### 5.3 Database Documentation Generator
229
- - **Sorun:** Veritabani dokumantasyonu her zaman eski. Canli schema'dan otomatik uretim gerekiyor
230
- - **Cozum:** Schema'dan auto-doc. AI ile tablo/kolon aciklamalari. Searchable data dictionary. Markdown/HTML/PDF export. Kullanici annotation'lari
231
- - **Mevcut Altyapi:** `getSchema()` zaten tum bilgiyi dondurur, `SchemaDiagram.tsx` mevcut
232
- - **Dosyalar:** Yeni `DatabaseDocs.tsx`, route `/api/ai/describe-schema`
233
- - **Karmasiklik:** Orta
234
-
235
- ### 5.4 Data Filtering / WHERE Clause Builder
236
- - **Sorun:** ResultsGrid'de kolon filtreleme yok. Veri filtrelemek icin SQL yazmak gerekiyor
237
- - **Cozum:** Kolon basliklarinda filtre ikonu. Gorsel WHERE builder. Filtre kombinasyonlari (AND/OR)
238
- - **Dosyalar:** `ResultsGrid.tsx`
239
- - **Karmasiklik:** Orta (3-4 gun)
240
-
241
- ### 5.5 SQL Export (INSERT, DDL)
242
- - **Sorun:** Export sadece CSV/JSON destekliyor. SQL export (INSERT statements, CREATE TABLE) yok
243
- - **Cozum:** Export modalina "SQL INSERT" ve "DDL (CREATE TABLE)" secenekleri ekle
244
- - **Dosyalar:** `Studio.tsx` (export fonksiyonu satir 228-253)
245
- - **Karmasiklik:** Dusuk (1-2 gun)
246
-
247
- ### 5.6 Connection Groups / Color Coding
248
- - **Sorun:** Connection'lar duz liste. Production/staging/dev ayrimi gorsel olarak yok. Yanlis DB'de sorgu calistirma riski
249
- - **Cozum:** Folder/group kavrami. Renk kodlama (kirmizi=prod, sari=staging, yesil=dev). Environment etiketi
250
- - **Dosyalar:** `Sidebar.tsx`, `src/lib/types.ts` (DatabaseConnection'a group, color alanlari)
251
- - **Karmasiklik:** Dusuk (1-2 gun)
252
-
253
- ### 5.7 Tab Renaming
254
- - **Sorun:** Tab'lar otomatik isimlendirilir ("Query 1"), kullanici adi veremez
255
- - **Cozum:** Double-click ile tab adi duzenleme
256
- - **Dosyalar:** `Studio.tsx`
257
- - **Karmasiklik:** Dusuk (<1 gun)
258
-
259
- ---
260
-
261
- ## PHASE 6: Observability ve Operations
262
-
263
- ### 6.1 Alerting ve Threshold Rules
264
- - **Sorun:** Monitoring dashboard mevcut durumu gosteriyor ama bir sey ters gittiginde bildirim yok
265
- - **Cozum:** Alert kurallari: metrik + kosul + esik + aksiyon. "Cache hit ratio < 90% icin 5 dakika" -> Email + Slack. Alert gecmisi, sessizlestirme, dashboard widget
266
- - **Dosyalar:** Yeni `src/lib/alerting/`, `AlertManager.tsx`, `AlertBanner.tsx`
267
- - **Bagimlilikar:** 2.3, 1.2
268
- - **Karmasiklik:** Orta
269
-
270
- ### 6.2 Connection Health Monitor (Background)
271
- - **Sorun:** Saglik kontrolleri manuel - kullanici Health dashboard'a gitmeli. Baglantilar sessizce fail olabiliyor
272
- - **Cozum:** Tum aktif baglantilara background ping (30sn). Sidebar'da yesil/sari/kirmizi nokta. Auto-reconnect. Latency gosterimi
273
- - **Mevcut Altyapi:** Provider'da `isConnected()` zaten var
274
- - **Dosyalar:** `Sidebar.tsx`, yeni route `/api/db/ping`, SSE
275
- - **Karmasiklik:** Dusuk-Orta
276
-
277
- ### 6.3 Performance Baseline ve Anomaly Detection
278
- - **Sorun:** Baseline olmadan mevcut performansin normal mi bozuk mu oldugunu bilmek mumkun degil
279
- - **Cozum:** Periyodik metrik toplama, istatistiksel baseline, AI-powered anomaly detection, kapasite tahmini
280
- - **Bagimlilikar:** 4.3, 1.2
281
- - **Karmasiklik:** Yuksek
282
-
283
- ---
284
-
285
- ## PHASE 7: Integration ve Extensibility
286
-
287
- ### 7.1 REST API (Harici Entegrasyon)
288
- - **Sorun:** CI/CD, monitoring sistemleri, custom script'ler LibreDB ile programatik iletisim kuramiyor
289
- - **Cozum:** API key auth, rate limiting, OpenAPI/Swagger dokumantasyonu. Mevcut route'lar zaten var, sadece API key auth ve dokumantasyon gerekiyor
290
- - **Dosyalar:** Yeni middleware, yeni `src/lib/api-keys/`, sayfa `/settings/api-keys`
291
- - **Karmasiklik:** Orta
292
-
293
- ### 7.2 Plugin System
294
- - **Sorun:** Her takimin ozel ihtiyaci var. Yeni DB provider'lar, UI panelleri, export formatlari plugin olarak eklenebilmeli
295
- - **Cozum:** Plugin API (DB provider, LLM provider, export format, UI panel). Plugin registry. Dinamik yukleme
296
- - **Mevcut Altyapi:** Strategy Pattern zaten mevcut, `db-ui-config.ts` registry hazir
297
- - **Karmasiklik:** Yuksek
298
-
299
- ### 7.3 Git Integration
300
- - **Sorun:** Sorgulari kod gibi yonetmek (versiyonlama, branch, PR, CI) mumkun degil
301
- - **Cozum:** Git repo baglama, .sql dosyalari olarak sync, push/pull, branch destegi
302
- - **Bagimlilikar:** 2.1
303
- - **Karmasiklik:** Yuksek
304
-
305
- ---
306
-
307
- ## PHASE 8: Yeni Database Destekleri
308
-
309
- ### 8.1 Redis Provider
310
- - **Sorun:** Redis `DatabaseType` union'da ve `db-ui-config.ts`'de zaten tanimli ama "not yet implemented"
311
- - **Cozum:** `src/lib/db/providers/keyvalue/redis.ts`. JSON-based query format. Key browser, TTL, memory usage. Monitoring: memory, clients, keyspace
312
- - **Mevcut Altyapi:** Factory switch case (satir 92), db-ui-config entry (satir 46), DatabaseType'da 'redis' zaten var
313
- - **Karmasiklik:** Orta
314
-
315
- ### 8.2 ClickHouse Provider
316
- - **Sorun:** En populer open-source OLAP veritabani. Enterprise analytics takimlari tarafindan yaygin kullaniliyor
317
- - **Cozum:** `SQLBaseProvider` extend eder. ClickHouse-specific SQL (FINAL, PREWHERE, SAMPLE). MergeTree awareness
318
- - **Karmasiklik:** Orta
319
-
320
- ### 8.3 DynamoDB Provider
321
- - **Sorun:** AWS'nin en populer managed NoSQL DB'si. AWS uzerinde calisan takimlar icin onemli
322
- - **Cozum:** `BaseDatabaseProvider` extend eder. JSON-based query (MongoDB benzeri). GSI/LSI awareness
323
- - **Karmasiklik:** Orta
324
-
325
- ---
326
-
327
- ## PHASE 9: Rol-Bazli Yaratici Ozellikler (Rakiplerin Onunde)
328
-
329
- > Bu ozellikler LibreDB'yi HICBIR rakibin yapamadigi bir konuma tasir. Her biri belirli bir rolun gunluk yasadigi sorunu cozer.
330
-
331
- ### --- SQL DATA ANALYST ---
332
-
333
- ### 9.1 AI-Powered Data Profiler
334
- - **Rol:** Data Analyst
335
- - **Sorun:** Analistler zamanlarinin %30-60'ini veriyi anlamak icin harcar. Her kolon icin `COUNT(DISTINCT)`, `MIN/MAX`, `NULL %` yazmalari gerekiyor
336
- - **Cozum:** Tek tikla tablo profili: kolon dagilimlari, kardinalite, null orani, outlier'lar, pattern tespiti. AI ile dogal dil ozeti ("created_at kolonunda Mart-Temmuz 2024 arasi bosluk var - servis kesintisi olabilir")
337
- - **Mevcut Altyapi:** `getSchema()` mevcut, Recharts histogram icin hazir, LLM streaming mevcut
338
- - **Dosyalar:** Provider'lara `profileTable()` metodu, yeni route `/api/db/profile`, yeni `DataProfiler.tsx` (bottom panel mode)
339
- - **Fark:** DBeaver/DataGrip temel kolon istatistikleri gosterir ama AI narrative yorumlama yapmaz
340
- - **Karmasiklik:** Orta-Yuksek
341
-
342
- ### 9.2 Interactive Pivot Table Builder
343
- - **Rol:** Data Analyst, Business Analyst
344
- - **Sorun:** `GROUP BY` / `CASE WHEN` pivot yazmak karmasik SQL gerektiriyor. Spreadsheet kullanicilari drag-and-drop beklyor
345
- - **Cozum:** Herhangi bir sorgu sonucunu client-side pivotlama. Drag-and-drop ile rows/columns/values/filters. "SQL Uret" butonu AI ile denk SQL kodunu uretir (analist SQL ogrenir)
346
- - **Dosyalar:** Yeni `PivotTable.tsx`, yeni `src/lib/pivot-engine.ts` (client-side aggregation)
347
- - **Fark:** Hicbir DB IDE pivot table desteklemiyor. BI araclari (Metabase, Superset) ayri kurulum gerektiriyor
348
- - **Karmasiklik:** Orta
349
-
350
- ### 9.3 Smart Query Notebook (Jupyter-benzeri)
351
- - **Rol:** Data Analyst, Developer
352
- - **Sorun:** Iliskili sorgular dizisi ("once tablo incele, sonra join yaz, sonra aggregate et") belgelemiyor, paylasmiyor
353
- - **Cozum:** Markdown + SQL notebook. Markdown hucreleri (dokumantasyon) ve Query hucreleri (calistir + inline sonuc). Hucre degiskenleri (`{{onceki.max_date}}`). Markdown export. AI ile sorgular arasi aciklama uretimi
354
- - **Dosyalar:** Yeni `Notebook.tsx`, `NotebookCell.tsx`, `src/lib/notebook/`, `storage.ts` genisletme
355
- - **Fark:** Jupyter SQL magic'i Python gerektiriyor. Hicbir DB IDE'de native notebook yok
356
- - **Karmasiklik:** Yuksek (en farklilastirici ozellik)
357
-
358
- ### --- DEVELOPER (Backend/Full-Stack) ---
359
-
360
- ### 9.4 Schema-Aware ORM Code Generator
361
- - **Rol:** Backend Developer, Full-Stack Developer
362
- - **Sorun:** DB schema'sini TypeScript interface, Prisma model, Go struct, Python dataclass'a cevirme tekrarli ve hata yapar
363
- - **Cozum:** Canli schema'dan tek tikla kod uretimi. Ciktilar: TypeScript interfaces, Zod schemas, Prisma models, Go structs, Python dataclasses, Java POJOs. AI ile karmasik iliskiler icin gelismis uretim. Monaco'da syntax-highlighted preview
364
- - **Mevcut Altyapi:** `TableSchema[]` zaten tum kolon/tip/FK bilgisini iceriyor
365
- - **Dosyalar:** Yeni `src/lib/codegen/` (template engine + tip eslesme tablolari), `CodeGenerator.tsx`, SchemaExplorer'a context menu
366
- - **Fark:** Prisma sadece Prisma icin, DB IDE'lerin hicbiri bunu yapmiyor
367
- - **Karmasiklik:** Orta
368
-
369
- ### 9.5 Intelligent Test Data Generator (Faker)
370
- - **Rol:** Backend Developer, QA Engineer
371
- - **Sorun:** Test verisi olusturmak icin INSERT yazmak veya harici araclar kullanmak gerekiyor
372
- - **Cozum:** Schema'dan otomatik test verisi. AI kolon adlarindan semantik anlam cikarir (email -> valid email, phone -> telefon no). FK constraintlerine saygi duyar. Onizleme + calistirma. MongoDB icin `insertMany` JSON
373
- - **Dosyalar:** Yeni `TestDataGenerator.tsx`, `src/lib/faker/` (lightweight faker engine + inferrer), SchemaExplorer context menu
374
- - **Fark:** Mockaroo harici servis, schema bilmez. LibreDB canli schema + AI + dogrudan INSERT
375
- - **Karmasiklik:** Orta
376
-
377
- ### 9.6 AI Query Explainer ("Explain Like I'm 5")
378
- - **Rol:** Tum roller (ozellikle junior developer ve analyst)
379
- - **Sorun:** EXPLAIN ciktisi DBA'ler icin anlamli ama cogu developer ve analist icin opak. "Seq Scan" gordugunde ne yapmasi gerektigini bilmiyor
380
- - **Cozum:** EXPLAIN plan + orijinal sorgu + schema kontekstini AI'ya gonder. AI dondurur: (1) duz Turkce/Ingilizce aciklama, (2) somut oneri ("orders.customer_id'ye index ekle"), (3) optimize edilmis sorgu. "Bunu Dene" butonu optimize sorguyu editor'e yukler
381
- - **Mevcut Altyapi:** `VisualExplain.tsx` zaten EXPLAIN parse ediyor
382
- - **Dosyalar:** `VisualExplain.tsx`'e AI tab, yeni route `/api/ai/explain`
383
- - **Fark:** Hicbir arac EXPLAIN'i AI ile dogal dile cevirmiyor
384
- - **Karmasiklik:** Dusuk-Orta
385
-
386
- ### 9.7 Schema Change Impact Analyzer
387
- - **Rol:** Developer, Data Engineer
388
- - **Sorun:** DDL calistirmadan once etkisini bilmek mumkun degil ("NOT NULL eklesem kac satir fail olur?", "Bu indexi silsem hangi sorgular yavaşlar?")
389
- - **Cozum:** DDL ifadesini parse et, canli schema'yi incele, etki raporu uret. AI ile cascade etkileri, kilit suresi tahmini, bagimlı view/index tespiti. Read-only dogrulama sorgulari (`COUNT(*) WHERE col IS NULL`)
390
- - **Dosyalar:** Yeni `ImpactAnalyzer.tsx`, `/api/ai/impact`, `/api/db/impact`, `src/lib/sql/ddl-parser.ts`
391
- - **Fark:** Hicbir DB IDE pre-migration impact analysis yapmiyor
392
- - **Karmasiklik:** Orta-Yuksek
393
-
394
- ### --- DATA ENGINEER ---
395
-
396
- ### 9.8 Cross-Database Query Federation
397
- - **Rol:** Data Engineer, Backend Developer
398
- - **Sorun:** Farkli DB'lerdeki verileri karsilastirmak gerekiyor ("PG warehouse'daki kullanici sayisi MongoDB app DB ile uyusuyor mu?")
399
- - **Cozum:** Iki baglanti sec, her birine sorgu yaz, paralel calistir, client-side join/compare. Inner/left/full outer join ve "diff" (A'da olup B'de olmayan satirlar). AI join key onerisi
400
- - **Dosyalar:** Yeni `CrossDatabaseCompare.tsx`, `src/lib/federation/join-engine.ts`, `src/lib/federation/diff-engine.ts`
401
- - **Fark:** DBeaver bile cross-DB join yapamiyor. Trino/Presto altyapi kurulumu gerektiriyor
402
- - **Karmasiklik:** Yuksek
403
-
404
- ### 9.9 Data Quality Rules Engine
405
- - **Rol:** Data Engineer, Data Analyst
406
- - **Sorun:** Veri kalitesi dogrulamalari ("NULL olan zorunlu alanlar var mi?", "Email'ler gecerli mi?") icin ad-hoc sorgular tekrar tekrar yaziliyor
407
- - **Cozum:** Gorsel kural tanimlama (null check, uniqueness, regex, range, referential integrity, custom SQL). Kurallari kaydet, validation suite olarak calistir. AI kural onerisi (kolon adinda "email" varsa regex dogrulama oner)
408
- - **Dosyalar:** Yeni `DataQualityRules.tsx`, `src/lib/data-quality/` (rule-types, rule-compiler), route `/api/db/validate`
409
- - **Fark:** Great Expectations/dbt tests Python/YAML gerektiriyor. LibreDB'de gorsel, no-code, AI-powered
410
- - **Karmasiklik:** Orta-Yuksek
411
-
412
- ### --- DATABASE ADMIN (DBA) ---
413
-
414
- ### 9.10 AI Query Performance Autopilot
415
- - **Rol:** DBA
416
- - **Sorun:** Yavas sorgu loglarini analiz etmek, EXPLAIN ile korelasyon kurmak, index onerisi uretmek saatler aliyor
417
- - **Cozum:** Slow query'ler + EXPLAIN planlari + tablo istatistikleri + index kullanim oranlarini AI'ya besle. Siralanmis, aksiyona donusturulebilir optimizasyon raporu. "Fix Uygula" butonu ile tek tikla index olusturma/sorgu yeniden yazma
418
- - **Mevcut Altyapi:** `getSlowQueries()`, `getIndexStats()`, `VisualExplain.tsx` mevcut
419
- - **Dosyalar:** Yeni `QueryAutopilot.tsx`, route `/api/ai/query-autopilot`, `src/hooks/use-query-autopilot.ts`
420
- - **Fark:** Hicbir arac slow query + EXPLAIN + schema + AI'yi tek pipeline'da birlestirmiyor
421
- - **Karmasiklik:** Orta-Yuksek
422
-
423
- ### 9.11 Lock Dependency Graph (Canli)
424
- - **Rol:** DBA
425
- - **Sorun:** Kilit sorunlarinda `pg_locks` + `pg_stat_activity` ile bagimliliklari anlamak zor. Flat tablo gorunumu yaniltici
426
- - **Cozum:** ReactFlow ile canli yonlu graf. Session'lar node, kilit beklemeleri edge. Renk kodlu kilit tipleri. 5sn auto-refresh. "Kill Session" butonu node uzerinde. Deadlock replay animasyonu
427
- - **Mevcut Altyapi:** ReactFlow (`@xyflow/react`) zaten SchemaDiagram'da kullaniliyor
428
- - **Dosyalar:** Route `/api/db/locks`, yeni `monitoring/tabs/LocksTab.tsx`, provider'lara `getLockDependencies()` metodu
429
- - **Fark:** Hicbir DB IDE lock'lari graf olarak gostermiyor
430
- - **Karmasiklik:** Orta
431
-
432
- ### 9.12 Smart Vacuum Scheduler + Bloat Forecasting
433
- - **Rol:** DBA (PostgreSQL)
434
- - **Sorun:** Autovacuum ayarlari zor. Tablolarda dead tuple birikimi performansi bozuyor. Yuzlerce tabloyu izlemek manuel olarak imkansiz
435
- - **Cozum:** Bloat trend grafigi (Recharts), dead tuple buyume hizi ile lineer regresyon tahmini ("Bu tablo 3 gun icinde %30 bloat'a ulasacak"). Optimum vacuum zamanlama onerisi. AI ile dogal dil tavsiye
436
- - **Mevcut Altyapi:** `TablesTab.tsx` zaten `lastVacuum`, `deadRowCount`, `bloatRatio` gosteriyor
437
- - **Dosyalar:** Yeni `monitoring/tabs/VacuumSchedulerTab.tsx`, `src/lib/vacuum-forecast.ts`
438
- - **Karmasiklik:** Orta
439
-
440
- ### --- DEVOPS ENGINEER ---
441
-
442
- ### 9.13 Multi-Environment Schema Diff + AI Migration
443
- - **Rol:** DevOps, DBA
444
- - **Sorun:** Dev/staging/production arasinda schema drift tespiti CLI araci gerektiriyor (`pg_dump --schema-only` + diff)
445
- - **Cozum:** Iki baglanti sec, schema fetch et, gorsel diff (Monaco diff editor). AI ile ALTER/CREATE migration SQL'i uret. "Apply Migration" butonuyla hedef DB'ye uygula
446
- - **Mevcut Altyapi:** `getSchema()` tum provider'larda mevcut, Monaco diff editor built-in
447
- - **Dosyalar:** Route `/api/db/schema-diff`, yeni `SchemaDiff.tsx`, `src/lib/schema-diff.ts`
448
- - **Karmasiklik:** Orta
449
-
450
- ### 9.14 Prometheus-Compatible Metrics Export
451
- - **Rol:** DevOps, SRE
452
- - **Sorun:** LibreDB monitoring verileri sadece web UI uzerinden gorunur. Prometheus/Grafana/Datadog ile entegrasyon yok
453
- - **Cozum:** `GET /api/db/metrics` endpoint'i Prometheus exposition formatinda. Tum DB turleri icin unified metrikler. Grafana dashboard template'i. API key veya JWT auth
454
- - **Mevcut Altyapi:** `getMonitoringData()` tum provider'larda mevcut, zengin metrikler donuyor
455
- - **Dosyalar:** Route `/api/db/metrics`, `src/lib/metrics-formatter.ts`, middleware guncelleme
456
- - **Fark:** Hicbir DB IDE Prometheus endpoint sunmuyor
457
- - **Karmasiklik:** Dusuk-Orta
458
-
459
- ### 9.15 IaC Connection Profile Export
460
- - **Rol:** DevOps
461
- - **Sorun:** Connection bilgileri localStorage'da, versiyon kontrol edilemiyor, yeni takim uyesine aktarilamiyor
462
- - **Cozum:** Export formatlari: JSON, .env, Docker Compose, Terraform HCL, Kubernetes Secret YAML. Import: format auto-detect + onizleme. Client-side AES-GCM sifreleme (Web Crypto API). Paylasilabilir sifrelenmis link
463
- - **Dosyalar:** Yeni `ConnectionExportModal.tsx`, `ConnectionImportModal.tsx`, `src/lib/connection-serializers.ts`
464
- - **Karmasiklik:** Dusuk-Orta
465
-
466
- ### --- AI ENGINEER ---
467
-
468
- ### 9.16 Vector Data Explorer + Embedding Visualization
469
- - **Rol:** AI/ML Engineer
470
- - **Sorun:** pgvector/MongoDB Atlas Vector Search'teki embedding verileri opak byte array olarak gorunur. Kumeleme, benzerlik, dagilim gorunmuyor
471
- - **Cozum:** Vector kolon tespiti (pgvector `vector(N)` tipi). PCA ile 2D'ye indirgeme + scatter plot. Renk kodlu metadata (kategoriye gore). "Find Similar" paneli: metin gir -> embedding uret -> similarity search. Mini sparkline cell renderer
472
- - **Mevcut Altyapi:** Recharts scatter plot, provider metadata genisletilebilir
473
- - **Dosyalar:** Yeni `VectorExplorer.tsx`, `VectorCell.tsx`, `VectorSimilaritySearch.tsx`, `src/lib/vector-utils.ts`, provider'lara `supportsVectors` capability
474
- - **Fark:** HICBIR DB IDE vektorleri gorsellestirir. Pinecone/Weaviate consolelari vendor-specific
475
- - **Karmasiklik:** Yuksek
476
-
477
- ### 9.17 RAG Pipeline Builder
478
- - **Rol:** AI Engineer
479
- - **Sorun:** RAG pipeline'i olusturmak icin DB IDE, Python script, vector store UI arasinda gidip gelmek gerekiyor
480
- - **Cozum:** Gorsel pipeline builder: Source Query -> Chunking -> Embedding -> Target Table. Preview (5 satir ornegi). Batch processing + progress. Incremental mod (son islenen ID'den devam). LLM provider'lara `embed()` metodu eklenir
481
- - **Dosyalar:** Yeni `RAGPipelineBuilder.tsx`, route `/api/ai/rag-pipeline`, `src/lib/rag/chunking.ts`, LLM provider'lara embedding desteği
482
- - **Fark:** Hicbir DB IDE RAG pipeline builder sunmuyor
483
- - **Karmasiklik:** Yuksek
484
-
485
- ### 9.18 Conversational Data Explorer (AI Agent)
486
- - **Rol:** AI Engineer, DBA, Analyst
487
- - **Sorun:** Mevcut AI chat tek turlu. Karmasik veri kesfinde ("churn eden kullanicilar -> son 5 siparisleri -> kategoriye gore avg") her adimda context kaybolur
488
- - **Cozum:** Sorgu sonuclarini AI konusmasina enjekte eden conversational agent. AI sorgu uretir -> otomatik calistirir -> sonuclari gosterir -> kullanici devam sorgular. "Pin" ile onemli sonuclari context'te tut. "Fork" ile alternatif yollar kesfet. Notebook/Markdown olarak export
489
- - **Dosyalar:** Yeni `ConversationalExplorer.tsx`, route `/api/ai/explore`, `src/lib/ai/conversation-context.ts`
490
- - **Fark:** ChatGPT DB baglanmaz, DataGrip AI sonuc gormez. Bu ikisini birlestiren ilk arac
491
- - **Karmasiklik:** Orta-Yuksek
492
-
493
- ### 9.19 Training Data Preparation Workbench
494
- - **Rol:** ML Engineer
495
- - **Sorun:** Fine-tuning/evaluation icin veri hazirlama (extraction, cleaning, labeling, format donusumleri) dagınik araclarla yapiliyor
496
- - **Cozum:** Tek arayuzde: Extract (SQL) -> Clean (AI oneri) -> Label (AI siniflandirma + insan review) -> Validate (class balance, data leakage) -> Export (JSONL ChatML, CSV stratified split, HuggingFace format)
497
- - **Dosyalar:** Yeni `TrainingDataWorkbench.tsx`, route `/api/ai/label-data`, `src/lib/training-data/` (formats, validators)
498
- - **Fark:** Hicbir DB IDE ML data preparation yapmiyor
499
- - **Karmasiklik:** Yuksek
500
-
501
- ---
502
-
503
- ## MEVCUT BACKLOG'LARLA ENTEGRASYON
504
-
505
- Zaten planlanan 7 backlog ozelligi bu roadmap ile nasil entegre olur:
506
-
507
- | Backlog | En Uygun Phase | Neden |
508
- |---------|---------------|-------|
509
- | 000-Platform Data Sync (PGlite) | Phase 1.2 alternatifi | Server-side persistence ile birlikte degerlendirilmeli |
510
- | 001-Inline Data Editing | Phase 0.7'den sonra | Transaction control gerektirir |
511
- | 002-Data Import | Phase 4'te | Multi-statement ve permission kontrolleri ile birlikte |
512
- | 003-Query Time Machine | Phase 1.2'den sonra | Server-side storage gerektirir |
513
- | 004-AI Data Storyteller | Phase 3.1'den sonra | Multi-turn AI ile daha guclu olur |
514
- | 005-Query Playground | Phase 0.7 ile birlikte | Transaction control aynı altyapiyi kullanir |
515
- | 006-Data Masking | Phase 1.3 ile birlikte | RBAC ile entegre olmali |
516
-
517
- ---
518
-
519
- ## ONERILEN UYGULAMA SIRASI (Rol-Bazli Ozelliklerle Guncellenmiş)
520
-
521
- ### Sprint 1: Quick Wins + DX (Hafta 1-2)
522
- > Bagimliligi yok, hemen deger uretir
523
-
524
- 1. **0.1** Connection Testing (gercek) - `ConnectionModal.tsx`
525
- 2. **0.2** Connection Editing - `ConnectionModal.tsx`, `Sidebar.tsx`
526
- 3. **0.3** Connection String Import - yeni `connection-string-parser.ts`
527
- 4. **5.1** Command Palette (Cmd+K) - `cmdk` zaten yuklu
528
- 5. **5.6** Connection Groups / Color Coding - `Sidebar.tsx`, `types.ts`
529
- 6. **5.7** Tab Renaming - `Studio.tsx`
530
- 7. **5.5** SQL Export (INSERT, DDL) - `Studio.tsx` export func
531
- 8. **9.6** AI Query Explainer - `VisualExplain.tsx`'e AI tab (dusuk efor, yuksek deger)
532
-
533
- ### Sprint 2: Connectivity & Safety (Hafta 3-4)
534
- > Tum rakiplerin sahip oldugu temel ozellikler
535
-
536
- 9. **0.4** SSL/TLS Configuration UI
537
- 10. **0.5** SSH Tunnel Destegi
538
- 11. **0.6** Query Cancellation / Abort
539
- 12. **0.7** Transaction Control (BEGIN/COMMIT/ROLLBACK)
540
- 13. **4.5** Multi-Statement Execution
541
- 14. **8.1** Redis Provider
542
-
543
- ### Sprint 3: Mevcut Backlog'lar - Oncelikli (Hafta 5-7)
544
- > Kullanicinin istegi: mevcut backloglar oncelikli
545
-
546
- 15. **Backlog 005** Query Playground (Sandbox) - Transaction altyapisi hazir
547
- 16. **Backlog 006** Data Masking - RBAC gecici olarak mevcut admin/user ile
548
- 17. **Backlog 001** Inline Data Editing - Transaction + sandbox ile birlikte
549
- 18. **Backlog 002** Data Import (CSV, JSON, Excel) - schema bilgisi mevcut
550
-
551
- ### Sprint 4: AI Intelligence - Farklilasma (Hafta 8-10)
552
- > Hicbir rakibin yapmadigi, LibreDB'yi one cikaracak
553
-
554
- 19. **3.1** Multi-Turn Conversational AI
555
- 20. **3.5** AI Query Safety Analysis (Pre-Execution)
556
- 21. **3.2** AI Index Advisor
557
- 22. **3.4** NL2SQL (Natural Language to Query)
558
- 23. **9.10** AI Query Performance Autopilot (DBA icin)
559
- 24. **9.7** Schema Change Impact Analyzer
560
-
561
- ### Sprint 5: Analyst & Developer Tools (Hafta 11-13)
562
- > Her gun kullanan gelistirici ve analist icin
563
-
564
- 25. **9.1** AI Data Profiler (analyst)
565
- 26. **9.4** ORM Code Generator (developer)
566
- 27. **9.5** Test Data Generator / Faker (developer)
567
- 28. **9.2** Interactive Pivot Table (analyst)
568
- 29. **5.4** Data Filtering / WHERE Builder
569
- 30. **5.3** Database Documentation Generator
570
-
571
- ### Sprint 6: DBA & Monitoring (Hafta 14-16)
572
- > Veritabani yoneticileri icin production-grade araclar
573
-
574
- 31. **9.11** Lock Dependency Graph (canli)
575
- 32. **9.12** Smart Vacuum Scheduler + Bloat Forecasting
576
- 33. **6.2** Connection Health Monitor (Background)
577
- 34. **6.1** Alerting ve Threshold Rules
578
- 35. **9.14** Prometheus Metrics Export (DevOps)
579
-
580
- ### Sprint 7: Enterprise Foundation (Hafta 17-20)
581
- > Kurumsal kullanim icin zorunlu altyapi
582
-
583
- 36. **1.1** User Identity ve Team Management
584
- 37. **1.2** Server-Side State Persistence
585
- 38. **1.3** Connection-Level Access Control
586
- 39. **1.4** Audit Log
587
- 40. **Backlog 003** Query Time Machine (persistence hazir)
588
- 41. **Backlog 004** AI Data Storyteller (multi-turn AI hazir)
589
-
590
- ### Sprint 8: Collaboration (Hafta 21-24)
591
- > Web avantajini kullanan paylasim ozellikleri
592
-
593
- 42. **2.1** Shared Query Workspaces
594
- 43. **2.2** Query Review & Approval Workflow
595
- 44. **2.3** Notifications ve Activity Feed
596
- 45. **9.3** Smart Query Notebook (Jupyter-benzeri)
597
-
598
- ### Sprint 9: Data Engineering & AI Engineering (Hafta 25-28)
599
- > Uzman roller icin ileri seviye ozellikler
600
-
601
- 46. **9.8** Cross-Database Query Federation
602
- 47. **9.9** Data Quality Rules Engine
603
- 48. **9.16** Vector Data Explorer + Embedding Visualization
604
- 49. **9.18** Conversational Data Explorer (AI Agent)
605
- 50. **9.13** Multi-Environment Schema Diff + AI Migration
606
-
607
- ### Sprint 10: Advanced & Integration (Hafta 29-32)
608
- > Platform olgunlugu ve genisletilebilirlik
609
-
610
- 51. **9.17** RAG Pipeline Builder
611
- 52. **9.19** Training Data Workbench
612
- 53. **9.15** IaC Connection Export
613
- 54. **7.1** REST API (Public)
614
- 55. **7.2** Plugin System
615
- 56. **7.3** Git Integration
616
- 57. **8.2** ClickHouse Provider
617
- 58. **8.3** DynamoDB Provider
618
- 59. **Backlog 000** Platform Data Sync (PGlite + ElectricSQL)
619
-
620
- ---
621
-
622
- ## BAGIMLILIK GRAFI
623
-
624
- ```
625
- BAGIMSIZ (hemen baslanabilir):
626
- ├── Phase 0 (Kritik Eksikler)
627
- ├── 5.1 Command Palette
628
- ├── 5.5 SQL Export
629
- ├── 5.6 Connection Groups
630
- ├── 5.7 Tab Renaming
631
- ├── 9.6 AI Query Explainer
632
- ├── 8.1 Redis Provider
633
- ├── 9.4 ORM Code Generator
634
- ├── 9.14 Prometheus Metrics Export
635
- └── 9.15 IaC Connection Export
636
-
637
- Phase 0.7 (Transaction) gerektiren:
638
- ├── Backlog 005 Query Playground
639
- ├── Backlog 001 Inline Data Editing
640
- └── 9.5 Test Data Generator
641
-
642
- Mevcut LLM altyapisi gerektiren (bagimsiz):
643
- ├── 3.1 Multi-Turn AI
644
- ├── 3.2 AI Index Advisor
645
- ├── 3.4 NL2SQL
646
- ├── 3.5 AI Safety Analysis
647
- ├── 9.1 Data Profiler
648
- ├── 9.7 Impact Analyzer
649
- └── 9.10 Query Autopilot
650
-
651
- Phase 1 (Enterprise) -> Phase 2 (Collaboration):
652
- Phase 1.1 (User) ─┐
653
- ├─ 1.2 (Persistence) ─┐
654
- │ │ ├─ 2.1 Shared Workspaces
655
- │ ├─ 1.3 (RBAC) ├─ 2.2 Query Review
656
- │ ├─ 1.4 (Audit) ├─ 2.3 Notifications
657
- │ ├─ Backlog 003 ├─ 9.3 Notebook
658
- │ └─ Backlog 004 └─ 6.1 Alerting
659
-
660
- └─ Phase 7 (Integration) + Phase 4 (Operations)
661
-
662
- Phase 9 Advanced (sonraki sprintler):
663
- ├── 9.8 Cross-DB Federation (2+ baglanti gerekir)
664
- ├── 9.16 Vector Explorer (schema desteği gerekir)
665
- ├── 9.17 RAG Pipeline (LLM embed() gerekir)
666
- ├── 9.19 Training Workbench (LLM labeling gerekir)
667
- └── 9.13 Schema Diff (2 baglanti + AI migration)
668
- ```
669
-
670
- ---
671
-
672
- ## OZET: TOPLAM OZELLIK SAYILARI (Rol Bazli)
673
-
674
- | Rol | Ozellik Sayisi | Onemli Ozellikler |
675
- |-----|---------------|-------------------|
676
- | **Tum Roller** | 12 | Connection testing/editing/SSH/SSL, Command Palette, Transaction, Query Cancel |
677
- | **SQL Data Analyst** | 4 | Data Profiler, Pivot Table, Notebook, AI Query Explainer |
678
- | **Developer** | 5 | ORM CodeGen, Test Data Faker, Impact Analyzer, Query Diff, SQL Export |
679
- | **Data Engineer** | 3 | Cross-DB Federation, Data Quality Rules, Schema Diff |
680
- | **DBA** | 5 | Query Autopilot, Lock Graph, Vacuum Scheduler, Index Advisor, Alerting |
681
- | **DevOps** | 3 | Prometheus Export, IaC Export, Background Health |
682
- | **AI Engineer** | 4 | Vector Explorer, RAG Pipeline, Conv. Explorer, Training Workbench |
683
- | **Enterprise/Collab** | 7 | User Identity, RBAC, Audit, Workspaces, Review, Notifications, Notebook |
684
- | **New DB Support** | 3 | Redis, ClickHouse, DynamoDB |
685
- | **Mevcut Backlog** | 7 | PGlite Sync, Inline Edit, Data Import, Time Machine, AI Storyteller, Sandbox, Masking |
686
-
687
- **Toplam: ~59 ozellik, 10 sprint, ~32 hafta**
688
-
689
- ---
690
-
691
- ## KRITIK DOSYALAR
692
-
693
- Tum phase'larda en cok degisecek dosyalar:
694
-
695
- | Dosya | Neden Kritik |
696
- |-------|-------------|
697
- | `src/components/Studio.tsx` | Ana shell - tum yeni panel modlari, toolbar butonlari, modal'lar buraya entegre olur |
698
- | `src/lib/db/types.ts` | Tum yeni interface'ler (profile, lock, vector, quality) burada tanimlanir |
699
- | `src/lib/db/base-provider.ts` | Yeni provider metodlari (profileTable, getLockDeps, vectorSearch) abstract olarak eklenir |
700
- | `src/lib/types.ts` | DatabaseConnection genisletme (SSH, SSL, color, group alanlari) |
701
- | `src/app/api/ai/chat/route.ts` | Tum AI ozellikleri icin temel - system prompt builder genisletilir |
702
- | `src/app/api/db/query/route.ts` | Query cancellation, transaction control, audit logging enforcement point |
703
- | `src/lib/storage.ts` | Notebooks, data quality rules, query versioning icin genisletme |
704
- | `src/components/ConnectionModal.tsx` | SSH, SSL, edit mode, connection string, test connection |
705
- | `src/components/QueryEditor.tsx` | AI conversation UI, snippet entegrasyonu |
706
- | `src/components/ResultsGrid.tsx` | Data filtering, inline editing, vector cell, masking |
707
-
708
- ---
709
-
710
- ## DOGRULAMA VE TEST
711
-
712
- Her sprint sonunda:
713
- 1. `bun run build` - Production build basarili olmali
714
- 2. `bun run lint` - Lint hatasiz olmali
715
- 3. Manuel test: Tum mevcut ozellikler kirilmamis olmali (regression)
716
- 4. Yeni ozellik icin end-to-end test: Browser'da gercek senaryo
717
- 6. Mobile responsive kontrol (768px breakpoint)
718
- 7. Provider-agnostic test: Ozelligin en az 2 farkli DB tipinde calismasi dogrulanmali