@samanhappy/mcphub 0.12.17 → 1.0.1

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 (160) hide show
  1. package/README.fr.md +7 -5
  2. package/README.md +24 -4
  3. package/README.zh.md +25 -4
  4. package/bin/cli.js +64 -50
  5. package/dist/cli/call-arguments.js +81 -0
  6. package/dist/cli/call-arguments.js.map +1 -0
  7. package/dist/cli/commands/call.js +75 -0
  8. package/dist/cli/commands/call.js.map +1 -0
  9. package/dist/cli/commands/config.js +132 -0
  10. package/dist/cli/commands/config.js.map +1 -0
  11. package/dist/cli/commands/discover.js +127 -0
  12. package/dist/cli/commands/discover.js.map +1 -0
  13. package/dist/cli/commands/export.js +20 -0
  14. package/dist/cli/commands/export.js.map +1 -0
  15. package/dist/cli/commands/groups.js +107 -0
  16. package/dist/cli/commands/groups.js.map +1 -0
  17. package/dist/cli/commands/install.js +173 -0
  18. package/dist/cli/commands/install.js.map +1 -0
  19. package/dist/cli/commands/keys.js +91 -0
  20. package/dist/cli/commands/keys.js.map +1 -0
  21. package/dist/cli/commands/login.js +70 -0
  22. package/dist/cli/commands/login.js.map +1 -0
  23. package/dist/cli/commands/servers.js +142 -0
  24. package/dist/cli/commands/servers.js.map +1 -0
  25. package/dist/cli/commands/tools.js +162 -0
  26. package/dist/cli/commands/tools.js.map +1 -0
  27. package/dist/cli/context.js +44 -0
  28. package/dist/cli/context.js.map +1 -0
  29. package/dist/cli/errors.js +19 -0
  30. package/dist/cli/errors.js.map +1 -0
  31. package/dist/cli/help.js +157 -0
  32. package/dist/cli/help.js.map +1 -0
  33. package/dist/cli/http.js +93 -0
  34. package/dist/cli/http.js.map +1 -0
  35. package/dist/cli/main.js +81 -0
  36. package/dist/cli/main.js.map +1 -0
  37. package/dist/cli/output.js +47 -0
  38. package/dist/cli/output.js.map +1 -0
  39. package/dist/cli/parse-args.js +103 -0
  40. package/dist/cli/parse-args.js.map +1 -0
  41. package/dist/cli/profile.js +109 -0
  42. package/dist/cli/profile.js.map +1 -0
  43. package/dist/cli/prompts.js +56 -0
  44. package/dist/cli/prompts.js.map +1 -0
  45. package/dist/controllers/oauthServerController.js +37 -1
  46. package/dist/controllers/oauthServerController.js.map +1 -1
  47. package/dist/dao/ServerDaoDbImpl.js +3 -0
  48. package/dist/dao/ServerDaoDbImpl.js.map +1 -1
  49. package/dist/db/connection.js +48 -4
  50. package/dist/db/connection.js.map +1 -1
  51. package/dist/db/entities/Server.js +4 -0
  52. package/dist/db/entities/Server.js.map +1 -1
  53. package/dist/db/entities/VectorEmbedding.js +2 -5
  54. package/dist/db/entities/VectorEmbedding.js.map +1 -1
  55. package/dist/db/repositories/VectorEmbeddingRepository.js +100 -34
  56. package/dist/db/repositories/VectorEmbeddingRepository.js.map +1 -1
  57. package/dist/services/dataService.js +10 -1
  58. package/dist/services/dataService.js.map +1 -1
  59. package/dist/services/mcpService.js +47 -10
  60. package/dist/services/mcpService.js.map +1 -1
  61. package/dist/services/sseService.js +5 -3
  62. package/dist/services/sseService.js.map +1 -1
  63. package/dist/services/vectorSearchService.js +16 -3
  64. package/dist/services/vectorSearchService.js.map +1 -1
  65. package/dist/utils/migration.js +1 -0
  66. package/dist/utils/migration.js.map +1 -1
  67. package/dist/utils/serverConfigPersistence.js +5 -0
  68. package/dist/utils/serverConfigPersistence.js.map +1 -1
  69. package/frontend/dist/assets/ActivityPage-DwzGiMh_.js +2 -0
  70. package/frontend/dist/assets/ActivityPage-DwzGiMh_.js.map +1 -0
  71. package/frontend/dist/assets/ConfirmDialog-CxlizGia.js +2 -0
  72. package/frontend/dist/assets/ConfirmDialog-CxlizGia.js.map +1 -0
  73. package/frontend/dist/assets/Dashboard-BUCJcvk-.js +2 -0
  74. package/frontend/dist/assets/Dashboard-BUCJcvk-.js.map +1 -0
  75. package/frontend/dist/assets/DeleteDialog-DRbWonMu.js +2 -0
  76. package/frontend/dist/assets/DeleteDialog-DRbWonMu.js.map +1 -0
  77. package/frontend/dist/assets/EndpointCopy-D5NjDdYi.js +2 -0
  78. package/frontend/dist/assets/EndpointCopy-D5NjDdYi.js.map +1 -0
  79. package/frontend/dist/assets/GroupsPage-DfLlww4U.js +33 -0
  80. package/frontend/dist/assets/GroupsPage-DfLlww4U.js.map +1 -0
  81. package/frontend/dist/assets/LoginPage-DCjqYw_8.js +2 -0
  82. package/frontend/dist/assets/LoginPage-DCjqYw_8.js.map +1 -0
  83. package/frontend/dist/assets/LogsPage-CTa8kuDf.js +2 -0
  84. package/frontend/dist/assets/LogsPage-CTa8kuDf.js.map +1 -0
  85. package/frontend/dist/assets/MarketPage-C2Rh4WJB.js +3 -0
  86. package/frontend/dist/assets/MarketPage-C2Rh4WJB.js.map +1 -0
  87. package/frontend/dist/assets/{Pagination-y-gVO8ms.js → Pagination-BFi-X7qY.js} +2 -2
  88. package/frontend/dist/assets/{Pagination-y-gVO8ms.js.map → Pagination-BFi-X7qY.js.map} +1 -1
  89. package/frontend/dist/assets/PromptsPage-Dh3qjX3x.js +2 -0
  90. package/frontend/dist/assets/PromptsPage-Dh3qjX3x.js.map +1 -0
  91. package/frontend/dist/assets/ResourcesPage-Bc5ZpCIh.js +2 -0
  92. package/frontend/dist/assets/ResourcesPage-Bc5ZpCIh.js.map +1 -0
  93. package/frontend/dist/assets/ServersPage-hgCbCglG.js +37 -0
  94. package/frontend/dist/assets/ServersPage-hgCbCglG.js.map +1 -0
  95. package/frontend/dist/assets/SettingsPage-BzNX8mXv.js +12 -0
  96. package/frontend/dist/assets/SettingsPage-BzNX8mXv.js.map +1 -0
  97. package/frontend/dist/assets/StatusDot-CQzailBQ.js +2 -0
  98. package/frontend/dist/assets/StatusDot-CQzailBQ.js.map +1 -0
  99. package/frontend/dist/assets/{ToggleGroup-HfxdlkGi.js → ToggleGroup-CNBBvo3C.js} +2 -2
  100. package/frontend/dist/assets/{ToggleGroup-HfxdlkGi.js.map → ToggleGroup-CNBBvo3C.js.map} +1 -1
  101. package/frontend/dist/assets/UsersPage-C33b7LCM.js +2 -0
  102. package/frontend/dist/assets/UsersPage-C33b7LCM.js.map +1 -0
  103. package/frontend/dist/assets/{framework-vendor-_OBebcuv.js → framework-vendor-BUhDPOUZ.js} +2 -2
  104. package/frontend/dist/assets/{framework-vendor-_OBebcuv.js.map → framework-vendor-BUhDPOUZ.js.map} +1 -1
  105. package/frontend/dist/assets/{i18n-vendor-MQ921plD.js → i18n-vendor-Kbr87Ofu.js} +2 -2
  106. package/frontend/dist/assets/{i18n-vendor-MQ921plD.js.map → i18n-vendor-Kbr87Ofu.js.map} +1 -1
  107. package/frontend/dist/assets/icons-vendor-CKgJB3SC.js +292 -0
  108. package/frontend/dist/assets/icons-vendor-CKgJB3SC.js.map +1 -0
  109. package/frontend/dist/assets/index-BGiKkKzj.js +3 -0
  110. package/frontend/dist/assets/index-BGiKkKzj.js.map +1 -0
  111. package/frontend/dist/assets/index-D0OIBhmN.css +1 -0
  112. package/frontend/dist/assets/{resourceService-BfCTSBsr.js → resourceService-C6umWRgq.js} +2 -2
  113. package/frontend/dist/assets/{resourceService-BfCTSBsr.js.map → resourceService-C6umWRgq.js.map} +1 -1
  114. package/frontend/dist/assets/useServerData-P5In98R4.js +2 -0
  115. package/frontend/dist/assets/{useServerData-QZqQTYcv.js.map → useServerData-P5In98R4.js.map} +1 -1
  116. package/frontend/dist/assets/useSettingsData-Cz7vKGLE.js +2 -0
  117. package/frontend/dist/assets/{useSettingsData-D3VROqS7.js.map → useSettingsData-Cz7vKGLE.js.map} +1 -1
  118. package/frontend/dist/assets/variableDetection-DsYuiOB_.js +16 -0
  119. package/frontend/dist/assets/variableDetection-DsYuiOB_.js.map +1 -0
  120. package/frontend/dist/index.html +5 -5
  121. package/package.json +2 -1
  122. package/frontend/dist/assets/ActivityPage-ClgKeihP.js +0 -2
  123. package/frontend/dist/assets/ActivityPage-ClgKeihP.js.map +0 -1
  124. package/frontend/dist/assets/Badge-Ck2fhRdl.js +0 -2
  125. package/frontend/dist/assets/Badge-Ck2fhRdl.js.map +0 -1
  126. package/frontend/dist/assets/ConfirmDialog-uYjffH4V.js +0 -2
  127. package/frontend/dist/assets/ConfirmDialog-uYjffH4V.js.map +0 -1
  128. package/frontend/dist/assets/Dashboard-BIXrLobn.js +0 -2
  129. package/frontend/dist/assets/Dashboard-BIXrLobn.js.map +0 -1
  130. package/frontend/dist/assets/DeleteDialog-BAfrV8EB.js +0 -2
  131. package/frontend/dist/assets/DeleteDialog-BAfrV8EB.js.map +0 -1
  132. package/frontend/dist/assets/GroupsPage-BjrvyHwu.js +0 -33
  133. package/frontend/dist/assets/GroupsPage-BjrvyHwu.js.map +0 -1
  134. package/frontend/dist/assets/LoginPage-BBHt_TfF.js +0 -2
  135. package/frontend/dist/assets/LoginPage-BBHt_TfF.js.map +0 -1
  136. package/frontend/dist/assets/LogsPage-D8Znq5NB.js +0 -2
  137. package/frontend/dist/assets/LogsPage-D8Znq5NB.js.map +0 -1
  138. package/frontend/dist/assets/MarketPage-haRuzjCw.js +0 -3
  139. package/frontend/dist/assets/MarketPage-haRuzjCw.js.map +0 -1
  140. package/frontend/dist/assets/PromptsPage-ByHWPyGe.js +0 -2
  141. package/frontend/dist/assets/PromptsPage-ByHWPyGe.js.map +0 -1
  142. package/frontend/dist/assets/ResourcesPage-Bodw5OY9.js +0 -2
  143. package/frontend/dist/assets/ResourcesPage-Bodw5OY9.js.map +0 -1
  144. package/frontend/dist/assets/ServersPage-CtS1I4yS.js +0 -37
  145. package/frontend/dist/assets/ServersPage-CtS1I4yS.js.map +0 -1
  146. package/frontend/dist/assets/SettingsPage-DxVigf7p.js +0 -12
  147. package/frontend/dist/assets/SettingsPage-DxVigf7p.js.map +0 -1
  148. package/frontend/dist/assets/UsersPage-Bipw33cS.js +0 -2
  149. package/frontend/dist/assets/UsersPage-Bipw33cS.js.map +0 -1
  150. package/frontend/dist/assets/icons-vendor-B67NtVuR.js +0 -172
  151. package/frontend/dist/assets/icons-vendor-B67NtVuR.js.map +0 -1
  152. package/frontend/dist/assets/index-CmnA4an8.js +0 -5
  153. package/frontend/dist/assets/index-CmnA4an8.js.map +0 -1
  154. package/frontend/dist/assets/index-DfFHVARX.css +0 -1
  155. package/frontend/dist/assets/useGroupData-DLhbP6zd.js +0 -2
  156. package/frontend/dist/assets/useGroupData-DLhbP6zd.js.map +0 -1
  157. package/frontend/dist/assets/useServerData-QZqQTYcv.js +0 -2
  158. package/frontend/dist/assets/useSettingsData-D3VROqS7.js +0 -2
  159. package/frontend/dist/assets/variableDetection-C3Xi21av.js +0 -16
  160. package/frontend/dist/assets/variableDetection-C3Xi21av.js.map +0 -1
@@ -195,7 +195,54 @@ const performDatabaseInitialization = async () => {
195
195
  AND table_name = 'vector_embeddings'
196
196
  );
197
197
  `);
198
- if (tableExists[0].exists) {
198
+ // ⚠️ synchronize: false is set on this entity. TypeORM will NOT auto-apply
199
+ // future schema changes. Any new columns / type changes MUST be added:
200
+ // 1. In the CREATE TABLE statement below (for new installs)
201
+ // 2. As ALTER TABLE ADD COLUMN IF NOT EXISTS checks (for existing installs)
202
+ // Consider adding TypeORM migrations for this table.
203
+ let justCreated = false;
204
+ if (!tableExists[0].exists) {
205
+ // vector_embeddings has synchronize:false on the entity (prevents the
206
+ // TypeORM DROP+ADD cycle that nulls stored embeddings on every startup).
207
+ // Create the table manually so new installations work correctly.
208
+ console.log('Creating vector_embeddings table...');
209
+ await appDataSource.query(`
210
+ CREATE TABLE IF NOT EXISTS vector_embeddings (
211
+ id uuid NOT NULL DEFAULT uuid_generate_v4() PRIMARY KEY,
212
+ content_type character varying NOT NULL,
213
+ content_id character varying NOT NULL,
214
+ text_content text NOT NULL,
215
+ metadata text NOT NULL,
216
+ dimensions integer NOT NULL,
217
+ model character varying NOT NULL,
218
+ created_at timestamp without time zone NOT NULL DEFAULT now(),
219
+ updated_at timestamp without time zone NOT NULL DEFAULT now(),
220
+ embedding vector
221
+ );
222
+ `);
223
+ justCreated = true;
224
+ }
225
+ // Ensure the unique index exists (needed for atomic ON CONFLICT upserts).
226
+ // Deduplicate first — duplicate rows cause CREATE UNIQUE INDEX to fail,
227
+ // which would silently leave saveEmbedding() broken on affected installs.
228
+ try {
229
+ await appDataSource.query(`
230
+ DELETE FROM vector_embeddings
231
+ WHERE id NOT IN (
232
+ SELECT DISTINCT ON (content_type, content_id) id
233
+ FROM vector_embeddings
234
+ ORDER BY content_type, content_id, updated_at DESC NULLS LAST
235
+ );
236
+ `);
237
+ await appDataSource.query(`
238
+ CREATE UNIQUE INDEX IF NOT EXISTS uq_vector_embeddings_content
239
+ ON vector_embeddings (content_type, content_id);
240
+ `);
241
+ }
242
+ catch (idxError) {
243
+ console.warn('Could not create unique index on vector_embeddings:', idxError.message);
244
+ }
245
+ if (tableExists[0].exists || justCreated) {
199
246
  // Add pgvector support via raw SQL commands
200
247
  console.log('Configuring vector support for embeddings table...');
201
248
  // Step 1: Drop any existing index on the column
@@ -248,9 +295,6 @@ const performDatabaseInitialization = async () => {
248
295
  console.warn('Vector search will work but may be slower without an optimized index.');
249
296
  }
250
297
  }
251
- else {
252
- console.log('Vector embeddings table does not exist yet - will configure after schema sync.');
253
- }
254
298
  }
255
299
  catch (error) {
256
300
  console.warn('Could not set up vector column/index:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC,CAAC,+CAA+C;AAC1E,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AACxD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,0CAA0C;AAC1C,MAAM,iBAAiB,GAAG;IACxB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE,EAAE,CAAC;IACxD,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IACzF,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IAE5F,wCAAwC;IACxC,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,GAAG,EAAE,EAAE,CAAC;IAChF,sBAAsB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,MAAM,EAAE,EAAE,CAAC;IAErF,wBAAwB;IACxB,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,aAAa;IACnG,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,OAAO;CAClE,CAAC;AAEF,qBAAqB;AACrB,IAAI,mBAAmB,GAA0B,IAAI,CAAC;AACtD,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,oBAAoB,GAAiB,IAAI,CAAC;AAC9C,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,2DAA2D;AAC3D,MAAM,wBAAwB,GAAG,KAAK,EAAE,UAAsB,EAAiB,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;IACjD,OAAO,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,KAAK,EAAE,UAAsB,EAAiB,EAAE;IACpF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC;;;;;GAKzC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,KAAK,CAAC;;;KAGtB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;IACjG,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,CAAC,KAAK,CAAC;;;GAGtB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,gBAAgB,GAAG,KAAK,IAAgC,EAAE;IAC9D,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,MAAM,cAAc,EAAE;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,CAAC,yBAAyB,CAAC;QACxC,sDAAsD;QACtD,KAAK,EAAE;YACL,wCAAwC;YACxC,GAAG,EAAE,iBAAiB,CAAC,QAAQ;YAC/B,sDAAsD;YACtD,iBAAiB,EAAE,iBAAiB,CAAC,eAAe;YACpD,qBAAqB;YACrB,uBAAuB,EAAE,iBAAiB,CAAC,iBAAiB;YAC5D,wDAAwD;YACxD,SAAS,EAAE,IAAI;YACf,2BAA2B,EAAE,KAAK;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,4FAA4F;AAC5F,IAAI,aAAa,GAAsB,IAAI,CAAC;AAE5C,gDAAgD;AAChD,IAAI,qBAAqB,GAA+B,IAAI,CAAC;AAE7D,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAyB,EAAE;IACpE,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE3C,uEAAuE;IACvE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,UAAU,GAAI,aAAa,CAAC,OAAe,CAAC,GAAG,CAAC;QACtD,MAAM,MAAM,GAAI,SAAiB,CAAC,GAAG,CAAC;QACtC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,aAAa,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1C,0DAA0D;YAC1D,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,aAAa,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAe,EAAE;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAyB,EAAE;IAC/D,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QAED,6DAA6D;QAC7D,qBAAqB,GAAG,IAAI,CAAC;QAE7B,qCAAqC;QACrC,aAAa,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAC/C,OAAO,MAAM,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAyB,EAAE;IAChE,oEAAoE;IACpE,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACtF,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,uDAAuD;IACvD,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,sCAAsC;IACtC,qBAAqB,GAAG,6BAA6B,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAE9D,qDAAqD;QACrD,SAAS,GAAG,IAAI,CAAC;QACjB,gBAAgB,EAAE,CAAC;QAEnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8DAA8D;QAC9D,qBAAqB,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,kEAAkE;AAClE,MAAM,6BAA6B,GAAG,KAAK,IAAyB,EAAE;IACpE,IAAI,CAAC;QACH,2CAA2C;QAC3C,aAAa,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE/C,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,wCAAwC;YACxC,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;YACjC,0BAA0B,CAAC,aAAa,CAAC,CAAC;YAE1C,wCAAwC;YACxC,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;YAE9C,6DAA6D;YAC7D,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC;;;;;;SAM7C,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC1B,4CAA4C;oBAC5C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;oBAElE,gDAAgD;oBAChD,IAAI,CAAC;wBACH,MAAM,aAAa,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;oBACrF,CAAC;oBAAC,OAAO,SAAc,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC1E,CAAC;oBAED,8DAA8D;oBAC9D,IAAI,CAAC;wBACH,MAAM,6BAA6B,CAAC,aAAa,CAAC,CAAC;oBACrD,CAAC;oBAAC,OAAO,UAAe,EAAE,CAAC;wBACzB,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC3E,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;oBACxD,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,CAAC;wBACH,0EAA0E;wBAC1E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC;;aAEzC,CAAC,CAAC;wBAEH,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,0CAA0C;wBACjE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;4BAC3D,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;4BACnC,OAAO,CAAC,GAAG,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAC;wBAC1E,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,2BAA2B,CAAC,CAAC;wBACxF,CAAC;wBAED,8DAA8D;wBAC9D,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAClC,MAAM,aAAa,CAAC,KAAK,CAAC;;qDAEa,UAAU;eAChD,CAAC,CAAC;4BAEH,4DAA4D;4BAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;4BAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACpB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;4BAC9D,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CACT,6FAA6F,CAC9F,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,UAAe,EAAE,CAAC;wBACzB,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;wBAClE,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAE7D,iEAAiE;YACjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;oBAE3D,gDAAgD;oBAChD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC;;;;;;aAM3C,CAAC,CAAC;oBAEL,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;wBAExE,IAAI,CAAC;4BACH,MAAM,6BAA6B,CAAC,aAAa,CAAC,CAAC;wBACrD,CAAC;wBAAC,OAAO,UAAe,EAAE,CAAC;4BACzB,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC7F,CAAC;wBAED,+BAA+B;wBAC/B,IAAI,CAAC;4BACH,gDAAgD;4BAChD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC;;iBAEvC,CAAC,CAAC;4BAEL,gFAAgF;4BAChF,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;gCAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gCACzC,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;gCAEnE,wDAAwD;gCACxD,MAAM,aAAa,CAAC,KAAK,CAAC;;yDAEe,UAAU;mBAChD,CAAC,CAAC;gCACL,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gCAEpE,4DAA4D;gCAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gCAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oCACpB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gCAC9D,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,GAAG,CACT,wFAAwF,CACzF,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAAC,OAAO,UAAe,EAAE,CAAC;4BACzB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAY,EAAE;IAC/C,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAK/B,EAAE;IACF,OAAO;QACL,SAAS,EAAE,mBAAmB,EAAE;QAChC,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,oBAAoB,EAAE,OAAO,IAAI,IAAI;QAChD,YAAY,EAAE,sBAAsB;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAsB,EAAE;IAC9D,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACnD,SAAS,GAAG,KAAK,CAAC;QAClB,oBAAoB,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,SAAS,GAAG,IAAI,CAAC;QACjB,oBAAoB,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,GAAG,KAAK,CAAC;QAClB,oBAAoB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE/E,kDAAkD;QAClD,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACjF,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE;IACzC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,gDAAgD,iBAAiB,CAAC,qBAAqB,KAAK,CAC7F,CAAC;IAEF,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAE5C,wDAAwD;IACxD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAS,EAAE;IACxC,IAAI,mBAAmB,EAAE,CAAC;QACxB,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACnC,mBAAmB,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;IACpD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,sBAAsB,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,UAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,cAAc;QACd,qBAAqB,GAAG,IAAI,CAAC;QAE7B,4CAA4C;QAC5C,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,EAAE,EAAE,CAAC;YACnF,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CACT,qCAAqC,OAAO,IAAI,iBAAiB,CAAC,oBAAoB,KAAK,CAC5F,CAAC;gBAEF,aAAa,GAAG,MAAM,sBAAsB,EAAE,CAAC;gBAC/C,MAAM,6BAA6B,EAAE,CAAC;gBAEtC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,SAAS,GAAG,IAAI,CAAC;gBACjB,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,YAAY,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBAE/E,IAAI,OAAO,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;oBAClF,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,2BAA2B,CAAC,CAAC;oBACxE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,KAAK,CACX,4CAA4C,iBAAiB,CAAC,oBAAoB,WAAW,CAC9F,CAAC;QACF,oBAAoB,GAAG,SAAS,CAAC;IACnC,CAAC;YAAS,CAAC;QACT,sBAAsB,GAAG,KAAK,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAmB,EAAE;IACrD,2BAA2B;IAC3B,eAAe,EAAE,CAAC;IAElB,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAE3C,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,10 @@ __decorate([
57
57
  Column({ type: 'varchar', length: 255, nullable: true }),
58
58
  __metadata("design:type", String)
59
59
  ], Server.prototype, "owner", void 0);
60
+ __decorate([
61
+ Column({ type: 'varchar', length: 16, default: 'private' }),
62
+ __metadata("design:type", String)
63
+ ], Server.prototype, "visibility", void 0);
60
64
  __decorate([
61
65
  Column({ type: 'boolean', default: false }),
62
66
  __metadata("design:type", Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../src/db/entities/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../src/db/entities/Server.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,7 @@ __decorate([
31
31
  __metadata("design:type", Object)
32
32
  ], VectorEmbedding.prototype, "metadata", void 0);
33
33
  __decorate([
34
- Column({
35
- type: 'vector',
36
- nullable: true,
37
- }),
34
+ Column({ type: 'vector', nullable: true }),
38
35
  __metadata("design:type", Array)
39
36
  ], VectorEmbedding.prototype, "embedding", void 0);
40
37
  __decorate([
@@ -54,7 +51,7 @@ __decorate([
54
51
  __metadata("design:type", Date)
55
52
  ], VectorEmbedding.prototype, "updatedAt", void 0);
56
53
  VectorEmbedding = __decorate([
57
- Entity({ name: 'vector_embeddings' })
54
+ Entity({ name: 'vector_embeddings', synchronize: false })
58
55
  ], VectorEmbedding);
59
56
  export { VectorEmbedding };
60
57
  export default VectorEmbedding;
@@ -1 +1 @@
1
- {"version":3,"file":"VectorEmbedding.js","sourceRoot":"","sources":["../../../src/db/entities/VectorEmbedding.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGV,IAAM,eAAe,GAArB,MAAM,eAAe;CAiC3B,CAAA;AA/BC;IADC,sBAAsB,CAAC,MAAM,CAAC;;2CACpB;AAGX;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;qDACP;AAGrB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACT;AAGnB;IADC,MAAM,CAAC,MAAM,CAAC;;qDACM;AAGrB;IADC,MAAM,CAAC,aAAa,CAAC;;iDACQ;AAM9B;IAJC,MAAM,CAAC;QACN,IAAI,EAAE,QAAe;QACrB,QAAQ,EAAE,IAAI;KACf,CAAC;;kDACkB;AAGpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;mDACL;AAGnB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACd;AAGd;IADC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACjD,IAAI;kDAAC;AAGhB;IADC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACjD,IAAI;kDAAC;AAhCL,eAAe;IAD3B,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;GACzB,eAAe,CAiC3B;;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"VectorEmbedding.js","sourceRoot":"","sources":["../../../src/db/entities/VectorEmbedding.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGV,IAAM,eAAe,GAArB,MAAM,eAAe;CA8B3B,CAAA;AA5BC;IADC,sBAAsB,CAAC,MAAM,CAAC;;2CACpB;AAGX;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;qDACP;AAGrB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;mDACT;AAGnB;IADC,MAAM,CAAC,MAAM,CAAC;;qDACM;AAGrB;IADC,MAAM,CAAC,aAAa,CAAC;;iDACQ;AAG9B;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC9B;AAGpB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;mDACL;AAGnB;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACd;AAGd;IADC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACjD,IAAI;kDAAC;AAGhB;IADC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACjD,IAAI;kDAAC;AA7BL,eAAe;IAD3B,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;GAC7C,eAAe,CA8B3B;;AAED,eAAe,eAAe,CAAC"}
@@ -20,6 +20,24 @@ export class VectorEmbeddingRepository extends BaseRepository {
20
20
  content_id: contentId,
21
21
  });
22
22
  }
23
+ /**
24
+ * Check whether a row exists with a non-null embedding, using raw SQL to
25
+ * avoid TypeORM silently deserializing the pgvector column as null.
26
+ * Returns { hasEmbedding, model, text_content } or null if no row found.
27
+ */
28
+ async findEmbeddingStatus(contentType, contentId) {
29
+ const rows = await getAppDataSource().query(`SELECT model, text_content, (embedding IS NOT NULL) AS has_embedding
30
+ FROM vector_embeddings
31
+ WHERE content_type = $1 AND content_id = $2
32
+ LIMIT 1`, [contentType, contentId]);
33
+ if (!rows || rows.length === 0)
34
+ return null;
35
+ return {
36
+ model: rows[0].model,
37
+ text_content: rows[0].text_content,
38
+ hasEmbedding: rows[0].has_embedding === true || rows[0].has_embedding === 't',
39
+ };
40
+ }
23
41
  /**
24
42
  * Create or update an embedding for content
25
43
  * @param contentType Content type
@@ -30,26 +48,33 @@ export class VectorEmbeddingRepository extends BaseRepository {
30
48
  * @param model Model used to create the embedding
31
49
  */
32
50
  async saveEmbedding(contentType, contentId, textContent, embedding, metadata = {}, model = 'default') {
33
- // Check if embedding exists
34
- let vectorEmbedding = await this.findByContentIdentity(contentType, contentId);
35
- if (!vectorEmbedding) {
36
- vectorEmbedding = new VectorEmbedding();
37
- vectorEmbedding.content_type = contentType;
38
- vectorEmbedding.content_id = contentId;
39
- }
40
- // Update properties
41
- vectorEmbedding.text_content = textContent;
42
- vectorEmbedding.embedding = embedding;
43
- vectorEmbedding.dimensions = embedding.length;
44
- vectorEmbedding.metadata = metadata;
45
- vectorEmbedding.model = model;
46
- // For raw SQL operations where our subscriber might not be called
47
- // Ensure the embedding is properly formatted for postgres
51
+ // TypeORM cannot serialize the pgvector `vector` column type — it silently
52
+ // stores NULL when the entity is saved through the ORM. Bypass TypeORM
53
+ // entirely and use a single atomic INSERT ... ON CONFLICT DO UPDATE so that
54
+ // the embedding column is always written correctly without a race-prone
55
+ // SELECT-then-INSERT/UPDATE pattern.
48
56
  const rawEmbedding = this.formatEmbeddingForPgVector(embedding);
49
- if (rawEmbedding) {
50
- vectorEmbedding.embedding = rawEmbedding;
51
- }
52
- return this.save(vectorEmbedding);
57
+ const metadataJson = JSON.stringify(metadata);
58
+ const [row] = await getAppDataSource().query(`INSERT INTO vector_embeddings
59
+ (content_type, content_id, text_content, embedding, dimensions, metadata, model, created_at, updated_at)
60
+ VALUES ($1, $2, $3, $4::vector, $5, $6, $7, NOW(), NOW())
61
+ ON CONFLICT (content_type, content_id) DO UPDATE
62
+ SET text_content = EXCLUDED.text_content,
63
+ embedding = EXCLUDED.embedding,
64
+ dimensions = EXCLUDED.dimensions,
65
+ metadata = EXCLUDED.metadata,
66
+ model = EXCLUDED.model,
67
+ updated_at = NOW()
68
+ RETURNING id, created_at`, [contentType, contentId, textContent, rawEmbedding, embedding.length, metadataJson, model]);
69
+ const result = new VectorEmbedding();
70
+ result.id = row.id;
71
+ result.content_type = contentType;
72
+ result.content_id = contentId;
73
+ result.text_content = textContent;
74
+ result.dimensions = embedding.length;
75
+ result.metadata = metadata;
76
+ result.model = model;
77
+ return result;
53
78
  }
54
79
  /**
55
80
  * Search for similar embeddings using cosine similarity
@@ -154,21 +179,62 @@ export class VectorEmbeddingRepository extends BaseRepository {
154
179
  * Used by skip-check logic to verify exact tool IDs and tool-set hash.
155
180
  */
156
181
  async getToolIdentityByServerNameAndModel(serverName, model) {
182
+ // Use raw SQL to bypass TypeORM's entity mapping for pgvector columns.
183
+ // TypeORM's QueryBuilder with getMany() and .andWhere('ve.embedding IS NOT NULL')
184
+ // on a vector-type column may silently return 0 rows due to type-mapping issues.
157
185
  const prefix = `${escapeLikePattern(serverName)}:%`;
158
- const rows = await this.repository
159
- .createQueryBuilder('ve')
160
- .select(['ve.content_id', 've.metadata'])
161
- .where('ve.content_type = :ct', { ct: 'tool' })
162
- .andWhere("ve.content_id LIKE :prefix ESCAPE '\\'", { prefix })
163
- .andWhere('ve.model = :model', { model })
164
- .andWhere('ve.embedding IS NOT NULL')
165
- .getMany();
166
- return rows.map((row) => ({
167
- contentId: row.content_id,
168
- toolSetHash: row.metadata && typeof row.metadata === 'object'
169
- ? row.metadata.toolSetHash?.toString()
170
- : undefined,
171
- }));
186
+ const rows = await getAppDataSource().query(`SELECT content_id, metadata
187
+ FROM vector_embeddings
188
+ WHERE content_type = $1
189
+ AND content_id LIKE $2 ESCAPE '\\'
190
+ AND model = $3
191
+ AND embedding IS NOT NULL`, ['tool', prefix, model]);
192
+ return rows.map((row) => {
193
+ const rawMeta = row.metadata;
194
+ const meta = rawMeta == null
195
+ ? null
196
+ : typeof rawMeta === 'object'
197
+ ? rawMeta
198
+ : (() => {
199
+ try {
200
+ return JSON.parse(String(rawMeta));
201
+ }
202
+ catch {
203
+ return null;
204
+ }
205
+ })();
206
+ return {
207
+ contentId: row.content_id,
208
+ toolSetHash: meta?.toolSetHash?.toString(),
209
+ };
210
+ });
211
+ }
212
+ /**
213
+ * Delete tool embeddings for a server that are no longer in the current tool set.
214
+ * Called after Phase 2 saves to remove rows left over from previously-removed tools.
215
+ * @param serverName Server name
216
+ * @param currentContentIds Full list of content_ids for the current tool set (e.g. "server:tool-name")
217
+ * @param model Embedding model identifier
218
+ * @returns Number of deleted rows
219
+ */
220
+ async deleteStaleToolEmbeddings(serverName, currentContentIds, model) {
221
+ if (currentContentIds.length === 0)
222
+ return 0;
223
+ try {
224
+ const prefix = `${escapeLikePattern(serverName)}:%`;
225
+ // Pass the keep-list as a single text[] array and use unnest() to avoid
226
+ // dynamic SQL and PostgreSQL's 65,535 parameter limit.
227
+ const result = await getAppDataSource().query(`DELETE FROM vector_embeddings
228
+ WHERE content_type = $1
229
+ AND content_id LIKE $2 ESCAPE '\\'
230
+ AND model = $3
231
+ AND content_id NOT IN (SELECT unnest($4::text[]))`, ['tool', prefix, model, currentContentIds]);
232
+ return result.rowCount ?? 0;
233
+ }
234
+ catch (error) {
235
+ console.error('Error deleting stale tool embeddings for server', serverName, error);
236
+ return 0;
237
+ }
172
238
  }
173
239
  /**
174
240
  * Delete tool and server embeddings for a specific server
@@ -193,7 +259,7 @@ export class VectorEmbeddingRepository extends BaseRepository {
193
259
  return result.affected || 0;
194
260
  }
195
261
  catch (error) {
196
- console.error(`Error deleting embeddings for server ${serverName}:`, error);
262
+ console.error('Error deleting embeddings for server', serverName, error);
197
263
  return 0;
198
264
  }
199
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VectorEmbeddingRepository.js","sourceRoot":"","sources":["../../../src/db/repositories/VectorEmbeddingRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,mDAAmD;AACnD,mEAAmE;AACnE,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAExF,MAAM,OAAO,yBAA0B,SAAQ,cAA+B;IAC5E;QACE,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,WAAmB,EACnB,SAAiB;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,SAAiB,EACjB,WAAmB,EACnB,SAAmB,EACnB,WAAgC,EAAE,EAClC,KAAK,GAAG,SAAS;QAEjB,4BAA4B;QAC5B,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,eAAe,CAAC,YAAY,GAAG,WAAW,CAAC;YAC3C,eAAe,CAAC,UAAU,GAAG,SAAS,CAAC;QACzC,CAAC;QAED,oBAAoB;QACpB,eAAe,CAAC,YAAY,GAAG,WAAW,CAAC;QAC3C,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,eAAe,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9C,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;QAE9B,kEAAkE;QAClE,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YAChB,eAAuB,CAAC,SAAS,GAAG,YAAY,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,SAAmB,EACnB,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,GAAG,EACf,YAAuB;QAEvB,IAAI,CAAC;YACH,6CAA6C;YAC7C,IAAI,CAAC;gBACH,oCAAoC;gBACpC,IAAI,KAAK,GAAG,gBAAgB,EAAE;qBAC3B,kBAAkB,EAAE;qBACpB,MAAM,CAAC,oBAAoB,CAAC;qBAC5B,SAAS,CAAC,+DAA+D,CAAC;qBAC1E,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC;qBACzC,KAAK,CAAC,8DAA8D,CAAC;qBACrE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;qBAC7B,KAAK,CAAC,KAAK,CAAC;qBACZ,YAAY,CACX,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAClE;qBACA,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAExC,sCAAsC;gBACtC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,KAAK,GAAG,KAAK;yBACV,QAAQ,CAAC,qDAAqD,CAAC;yBAC/D,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAChD,CAAC;gBAED,gBAAgB;gBAChB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;gBAEzC,+BAA+B;gBAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC3B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;oBACnC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;iBACvC,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CACV,mEAAmE,EACnE,WAAW,CACZ,CAAC;gBAEF,uDAAuD;gBACvD,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;gBAEnE,sCAAsC;gBACtC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,KAAK,GAAG,KAAK;yBACV,KAAK,CAAC,qDAAqD,CAAC;yBAC5D,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAChD,CAAC;gBAED,gBAAgB;gBAChB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE1B,gBAAgB;gBAChB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAEtC,+CAA+C;gBAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9B,SAAS,EAAE,MAAM;oBACjB,UAAU,EAAE,GAAG,EAAE,yBAAyB;iBAC3C,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,gBAAqD,EACrD,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,GAAG,EACf,YAAuB;QAEvB,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE/C,sBAAsB;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAAC,UAAkB,EAAE,KAAa;QAC/D,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;QAEpD,OAAO,IAAI,CAAC,UAAU;aACnB,kBAAkB,CAAC,IAAI,CAAC;aACxB,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAC9C,QAAQ,CAAC,wCAAwC,EAAE,EAAE,MAAM,EAAE,CAAC;aAC9D,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC;aACxC,QAAQ,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mCAAmC,CACvC,UAAkB,EAClB,KAAa;QAEb,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;aAC/B,kBAAkB,CAAC,IAAI,CAAC;aACxB,MAAM,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;aACxC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAC9C,QAAQ,CAAC,wCAAwC,EAAE,EAAE,MAAM,EAAE,CAAC;aAC9D,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC;aACxC,QAAQ,CAAC,0BAA0B,CAAC;aACpC,OAAO,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,WAAW,EACT,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAC9C,CAAC,CAAE,GAAG,CAAC,QAAoC,CAAC,WAAW,EAAE,QAAQ,EAAE;gBACnE,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU;iBACjC,kBAAkB,EAAE;iBACpB,MAAM,EAAE;iBACR,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CACJ;8EACoE,EACpE;gBACE,eAAe,EAAE,MAAM;gBACvB,iBAAiB,EAAE,QAAQ;gBAC3B,MAAM;gBACN,UAAU;aACX,CACF;iBACA,OAAO,EAAE,CAAC;YAEb,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,GAAQ;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACvC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QACnC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QACnC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACzB,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,SAA4B;QAC7D,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,sEAAsE;QACtE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,SAAS,GAAG,CAAC;QAC1B,CAAC;QAED,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"VectorEmbeddingRepository.js","sourceRoot":"","sources":["../../../src/db/repositories/VectorEmbeddingRepository.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,16 @@ export class DataService {
7
7
  return data;
8
8
  }
9
9
  else {
10
- return data.filter((item) => item.owner === currentUser?.username);
10
+ return data.filter((item) => {
11
+ if (item.owner === currentUser?.username)
12
+ return true;
13
+ // visibility introduced in #817: 'public' is visible to every authenticated
14
+ // user, 'group' is reserved for a future user→group join (treat as 'private'
15
+ // for now so the enum value is safe to set ahead of group plumbing).
16
+ if (item.visibility === 'public')
17
+ return true;
18
+ return false;
19
+ });
11
20
  }
12
21
  }
13
22
  filterSettings(settings, user) {
@@ -1 +1 @@
1
- {"version":3,"file":"dataService.js","sourceRoot":"","sources":["../../src/services/dataService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataService.js","sourceRoot":"","sources":["../../src/services/dataService.ts"],"names":[],"mappings":"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"}
@@ -148,14 +148,38 @@ export const initUpstreamServers = async () => {
148
148
  // Initialize smart routing service with references to mcpService functions
149
149
  initSmartRoutingService(() => serverInfos, filterToolsByConfig, filterToolsByGroup);
150
150
  };
151
- export const getMcpServer = (sessionId, group) => {
151
+ const getMcpServerDescriptor = async (group) => {
152
+ if (!group || isSmartRoutingGroup(group)) {
153
+ return {
154
+ name: config.mcpHubName,
155
+ version: config.mcpHubVersion,
156
+ group,
157
+ };
158
+ }
159
+ const { filteredServerInfos } = await getFilteredServerInfosForGroup(group);
160
+ if (filteredServerInfos.length === 1) {
161
+ const [serverInfo] = filteredServerInfos;
162
+ return {
163
+ name: serverInfo.name,
164
+ version: serverInfo.version || config.mcpHubVersion,
165
+ instructions: serverInfo.instructions,
166
+ appendGroupSuffix: false,
167
+ };
168
+ }
169
+ return {
170
+ name: config.mcpHubName,
171
+ version: config.mcpHubVersion,
172
+ group,
173
+ appendGroupSuffix: true,
174
+ };
175
+ };
176
+ export const getMcpServer = async (sessionId, group) => {
177
+ const descriptor = await getMcpServerDescriptor(group || (sessionId ? getGroup(sessionId) : group));
152
178
  if (!sessionId) {
153
- return createMcpServer(config.mcpHubName, config.mcpHubVersion, group);
179
+ return createMcpServer(descriptor.name, descriptor.version, descriptor);
154
180
  }
155
181
  if (!servers[sessionId]) {
156
- const serverGroup = group || getGroup(sessionId);
157
- const server = createMcpServer(config.mcpHubName, config.mcpHubVersion, serverGroup);
158
- servers[sessionId] = server;
182
+ servers[sessionId] = createMcpServer(descriptor.name, descriptor.version, descriptor);
159
183
  }
160
184
  else {
161
185
  console.log(`MCP server already exists for sessionId: ${sessionId}`);
@@ -695,6 +719,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
695
719
  nextServerInfos.push({
696
720
  name,
697
721
  owner: expandedConf.owner,
722
+ visibility: expandedConf.visibility,
698
723
  status: 'disconnected',
699
724
  error: null,
700
725
  tools: [],
@@ -724,6 +749,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
724
749
  nextServerInfos.push({
725
750
  name,
726
751
  owner: expandedConf.owner,
752
+ visibility: expandedConf.visibility,
727
753
  status: 'disconnected',
728
754
  error: 'Missing OpenAPI specification URL or schema',
729
755
  tools: [],
@@ -737,6 +763,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
737
763
  const serverInfo = {
738
764
  name,
739
765
  owner: expandedConf.owner,
766
+ visibility: expandedConf.visibility,
740
767
  status: 'connecting',
741
768
  error: null,
742
769
  tools: [],
@@ -814,6 +841,7 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
814
841
  const serverInfo = {
815
842
  name,
816
843
  owner: expandedConf.owner,
844
+ visibility: expandedConf.visibility,
817
845
  status: 'connecting',
818
846
  error: null,
819
847
  tools: [],
@@ -840,6 +868,9 @@ export const initializeClientsFromSettings = async (isInit, serverName, options)
840
868
  .connect(transport, initRequestOptions || requestOptions)
841
869
  .then(() => {
842
870
  console.log(`Successfully connected client for server: ${name}`);
871
+ const serverVersion = client.getServerVersion?.();
872
+ serverInfo.version = serverVersion?.version;
873
+ serverInfo.instructions = client.getInstructions?.();
843
874
  const capabilities = client.getServerCapabilities();
844
875
  console.log('Server capabilities', JSON.stringify(capabilities));
845
876
  let dataError = null;
@@ -993,6 +1024,7 @@ export const getServersInfo = async (page, limit, user) => {
993
1024
  filteredServerInfos.push({
994
1025
  name: server.name,
995
1026
  owner: server.owner,
1027
+ visibility: server.visibility,
996
1028
  // Newly created servers that are enabled should appear as "connecting"
997
1029
  // until the MCP client initialization completes. Disabled servers remain
998
1030
  // in the "disconnected" state.
@@ -1801,17 +1833,22 @@ export const handleReadResourceRequest = async (request, _extra) => {
1801
1833
  };
1802
1834
  }
1803
1835
  };
1804
- // Create McpServer instance
1805
- export const createMcpServer = (name, version, group) => {
1836
+ export const createMcpServer = (name, version, options) => {
1837
+ const normalizedOptions = typeof options === 'string' ? { group: options } : (options ?? {});
1806
1838
  // Determine server name based on routing type
1807
1839
  let serverName = name;
1808
- if (group) {
1840
+ if (normalizedOptions.group && normalizedOptions.appendGroupSuffix !== false) {
1809
1841
  // For createMcpServer we use sync approach since it's called synchronously
1810
1842
  // The actual group validation happens at request time
1811
- serverName = `${name}_${group}_group`;
1843
+ serverName = `${name}_${normalizedOptions.group}_group`;
1812
1844
  }
1813
1845
  // If no group, use default name (global routing)
1814
- const server = new Server({ name: serverName, version }, { capabilities: { tools: {}, prompts: {}, resources: {} } });
1846
+ const server = new Server({ name: serverName, version }, {
1847
+ capabilities: { tools: {}, prompts: {}, resources: {} },
1848
+ ...(normalizedOptions.instructions !== undefined
1849
+ ? { instructions: normalizedOptions.instructions }
1850
+ : {}),
1851
+ });
1815
1852
  server.setRequestHandler(ListToolsRequestSchema, handleListToolsRequest);
1816
1853
  server.setRequestHandler(CallToolRequestSchema, handleCallToolRequest);
1817
1854
  server.setRequestHandler(GetPromptRequestSchema, handleGetPromptRequest);