mcpscraper-memory-db 1.0.0 → 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.
- package/dist/db/chat-link.js +3 -3
- package/dist/db/chat-link.js.map +1 -1
- package/dist/db/facts.js +1 -1
- package/dist/db/facts.js.map +1 -1
- package/dist/db/interlink-state.js +1 -1
- package/dist/db/interlink-state.js.map +1 -1
- package/dist/db/keys.js +2 -2
- package/dist/db/keys.js.map +1 -1
- package/dist/db/messages.js +2 -2
- package/dist/db/messages.js.map +1 -1
- package/dist/db/notes.js +4 -4
- package/dist/db/notes.js.map +1 -1
- package/dist/db/presence.js +1 -1
- package/dist/db/presence.js.map +1 -1
- package/dist/db/props-snapshots.js +1 -1
- package/dist/db/props-snapshots.js.map +1 -1
- package/dist/db/provenance.js +1 -1
- package/dist/db/provenance.js.map +1 -1
- package/dist/db/schedule-entitlements.js +2 -2
- package/dist/db/schedule-entitlements.js.map +1 -1
- package/dist/db/schedule-link.js +3 -3
- package/dist/db/schedule-link.js.map +1 -1
- package/dist/db/scheduled-actions.js +1 -1
- package/dist/db/scheduled-actions.js.map +1 -1
- package/dist/db/secure-notes.js +2 -2
- package/dist/db/secure-notes.js.map +1 -1
- package/dist/db/shares.js +1 -1
- package/dist/db/shares.js.map +1 -1
- package/dist/db/tables.js +1 -1
- package/dist/db/tables.js.map +1 -1
- package/dist/db/trust.js +2 -2
- package/dist/db/trust.js.map +1 -1
- package/dist/db/usage.js +3 -3
- package/dist/db/usage.js.map +1 -1
- package/dist/db/vaults.js +3 -3
- package/dist/db/vaults.js.map +1 -1
- package/dist/db/video-runs.js +2 -2
- package/dist/db/video-runs.js.map +1 -1
- package/dist/db/webhooks.js +2 -2
- package/dist/db/webhooks.js.map +1 -1
- package/dist/lib/auth.js +3 -3
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/video-reaper.js.map +1 -1
- package/dist/rag/index-pipeline.js +4 -4
- package/dist/rag/index-pipeline.js.map +1 -1
- package/dist/rag/query-tool.d.ts +5 -1
- package/dist/rag/query-tool.js +2 -2
- package/dist/rag/query-tool.js.map +1 -1
- package/dist/rag/vector-store.js +1 -1
- package/dist/rag/vector-store.js.map +1 -1
- package/package.json +1 -1
package/dist/rag/query-tool.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Tool } from '@mastra/core/tools';
|
|
2
|
+
|
|
3
|
+
type RagTool<TInput, TOutput> = Tool<TInput, TOutput, unknown, unknown> & {
|
|
4
|
+
execute: NonNullable<Tool<TInput, TOutput, unknown, unknown>['execute']>;
|
|
5
|
+
};
|
|
2
6
|
|
|
3
7
|
declare const vectorQueryTool: RagTool<{
|
|
4
8
|
queryText: string;
|
package/dist/rag/query-tool.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createVectorQueryTool, createGraphRAGTool } from "@mastra/rag";
|
|
2
2
|
import { embed } from "ai";
|
|
3
|
-
import { jinaEmbedder } from "./embedder";
|
|
4
|
-
import { memoryVectors, INDEX_NAME } from "./vector-store";
|
|
3
|
+
import { jinaEmbedder } from "./embedder.js";
|
|
4
|
+
import { memoryVectors, INDEX_NAME } from "./vector-store.js";
|
|
5
5
|
const vectorQueryTool = createVectorQueryTool({
|
|
6
6
|
vectorStoreName: "memoryVectors",
|
|
7
7
|
indexName: INDEX_NAME,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rag/query-tool.ts"],"sourcesContent":["import { createVectorQueryTool, createGraphRAGTool } from '@mastra/rag'\nimport { embed } from 'ai'\nimport { jinaEmbedder } from './embedder'\nimport { memoryVectors, INDEX_NAME } from './vector-store'\n\nexport const vectorQueryTool = createVectorQueryTool({\n vectorStoreName: 'memoryVectors',\n indexName: INDEX_NAME,\n model: jinaEmbedder,\n})\n\nexport const graphQueryTool = createGraphRAGTool({\n vectorStoreName: 'memoryVectors',\n indexName: INDEX_NAME,\n model: jinaEmbedder,\n graphOptions: { dimension: 1024 },\n})\n\nexport async function embedQuery(query: string): Promise<number[]> {\n const { embedding } = await embed({ model: jinaEmbedder, value: query })\n return embedding\n}\n\nexport async function queryWithEmbedding(args: {\n embedding: number[]\n vault: string | string[]\n topK?: number\n docId?: string\n}): Promise<{ results: { text: string; source: string; score: number; vault?: string }[] }> {\n const vaultFilter = Array.isArray(args.vault) ? { $in: args.vault } : args.vault\n const hits = await memoryVectors.query({\n indexName: INDEX_NAME,\n queryVector: args.embedding,\n topK: args.topK ?? 8,\n filter: args.docId ? { vault: vaultFilter, docId: args.docId } : { vault: vaultFilter },\n })\n const results = hits.map((h) => ({\n text: String(h.metadata?.text ?? ''),\n source: String(h.metadata?.source ?? ''),\n score: Number(h.score ?? 0),\n vault: h.metadata?.vault ? String(h.metadata.vault) : undefined,\n }))\n return { results }\n}\n\nexport async function semanticSearch(args: {\n vault: string | string[]\n query: string\n topK?: number\n docId?: string\n}): Promise<{ results: { text: string; source: string; score: number; vault?: string }[] }> {\n const embedding = await embedQuery(args.query)\n return queryWithEmbedding({ embedding, vault: args.vault, topK: args.topK, docId: args.docId })\n}\n"],"mappings":"AAAA,SAAS,uBAAuB,0BAA0B;AAC1D,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAC7B,SAAS,eAAe,kBAAkB;AAEnC,MAAM,kBAAkB,sBAAsB;AAAA,EACnD,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,OAAO;AACT,CAAC;AAEM,MAAM,iBAAiB,mBAAmB;AAAA,EAC/C,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc,EAAE,WAAW,KAAK;AAClC,CAAC;AAED,eAAsB,WAAW,OAAkC;AACjE,QAAM,EAAE,UAAU,IAAI,MAAM,MAAM,EAAE,OAAO,cAAc,OAAO,MAAM,CAAC;AACvE,SAAO;AACT;AAEA,eAAsB,mBAAmB,MAKmD;AAC1F,QAAM,cAAc,MAAM,QAAQ,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,IAAI,KAAK;AAC3E,QAAM,OAAO,MAAM,cAAc,MAAM;AAAA,IACrC,WAAW;AAAA,IACX,aAAa,KAAK;AAAA,IAClB,MAAM,KAAK,QAAQ;AAAA,IACnB,QAAQ,KAAK,QAAQ,EAAE,OAAO,aAAa,OAAO,KAAK,MAAM,IAAI,EAAE,OAAO,YAAY;AAAA,EACxF,CAAC;AACD,QAAM,UAAU,KAAK,IAAI,CAAC,OAAO;AAAA,IAC/B,MAAM,OAAO,EAAE,UAAU,QAAQ,EAAE;AAAA,IACnC,QAAQ,OAAO,EAAE,UAAU,UAAU,EAAE;AAAA,IACvC,OAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC1B,OAAO,EAAE,UAAU,QAAQ,OAAO,EAAE,SAAS,KAAK,IAAI;AAAA,EACxD,EAAE;AACF,SAAO,EAAE,QAAQ;AACnB;AAEA,eAAsB,eAAe,MAKuD;AAC1F,QAAM,YAAY,MAAM,WAAW,KAAK,KAAK;AAC7C,SAAO,mBAAmB,EAAE,WAAW,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC;AAChG;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/rag/query-tool.ts"],"sourcesContent":["import { createVectorQueryTool, createGraphRAGTool } from '@mastra/rag'\nimport { embed } from 'ai'\nimport { jinaEmbedder } from './embedder.js'\nimport { memoryVectors, INDEX_NAME } from './vector-store.js'\n\nexport const vectorQueryTool = createVectorQueryTool({\n vectorStoreName: 'memoryVectors',\n indexName: INDEX_NAME,\n model: jinaEmbedder,\n})\n\nexport const graphQueryTool = createGraphRAGTool({\n vectorStoreName: 'memoryVectors',\n indexName: INDEX_NAME,\n model: jinaEmbedder,\n graphOptions: { dimension: 1024 },\n})\n\nexport async function embedQuery(query: string): Promise<number[]> {\n const { embedding } = await embed({ model: jinaEmbedder, value: query })\n return embedding\n}\n\nexport async function queryWithEmbedding(args: {\n embedding: number[]\n vault: string | string[]\n topK?: number\n docId?: string\n}): Promise<{ results: { text: string; source: string; score: number; vault?: string }[] }> {\n const vaultFilter = Array.isArray(args.vault) ? { $in: args.vault } : args.vault\n const hits = await memoryVectors.query({\n indexName: INDEX_NAME,\n queryVector: args.embedding,\n topK: args.topK ?? 8,\n filter: args.docId ? { vault: vaultFilter, docId: args.docId } : { vault: vaultFilter },\n })\n const results = hits.map((h) => ({\n text: String(h.metadata?.text ?? ''),\n source: String(h.metadata?.source ?? ''),\n score: Number(h.score ?? 0),\n vault: h.metadata?.vault ? String(h.metadata.vault) : undefined,\n }))\n return { results }\n}\n\nexport async function semanticSearch(args: {\n vault: string | string[]\n query: string\n topK?: number\n docId?: string\n}): Promise<{ results: { text: string; source: string; score: number; vault?: string }[] }> {\n const embedding = await embedQuery(args.query)\n return queryWithEmbedding({ embedding, vault: args.vault, topK: args.topK, docId: args.docId })\n}\n"],"mappings":"AAAA,SAAS,uBAAuB,0BAA0B;AAC1D,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAC7B,SAAS,eAAe,kBAAkB;AAEnC,MAAM,kBAAkB,sBAAsB;AAAA,EACnD,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,OAAO;AACT,CAAC;AAEM,MAAM,iBAAiB,mBAAmB;AAAA,EAC/C,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,cAAc,EAAE,WAAW,KAAK;AAClC,CAAC;AAED,eAAsB,WAAW,OAAkC;AACjE,QAAM,EAAE,UAAU,IAAI,MAAM,MAAM,EAAE,OAAO,cAAc,OAAO,MAAM,CAAC;AACvE,SAAO;AACT;AAEA,eAAsB,mBAAmB,MAKmD;AAC1F,QAAM,cAAc,MAAM,QAAQ,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,MAAM,IAAI,KAAK;AAC3E,QAAM,OAAO,MAAM,cAAc,MAAM;AAAA,IACrC,WAAW;AAAA,IACX,aAAa,KAAK;AAAA,IAClB,MAAM,KAAK,QAAQ;AAAA,IACnB,QAAQ,KAAK,QAAQ,EAAE,OAAO,aAAa,OAAO,KAAK,MAAM,IAAI,EAAE,OAAO,YAAY;AAAA,EACxF,CAAC;AACD,QAAM,UAAU,KAAK,IAAI,CAAC,OAAO;AAAA,IAC/B,MAAM,OAAO,EAAE,UAAU,QAAQ,EAAE;AAAA,IACnC,QAAQ,OAAO,EAAE,UAAU,UAAU,EAAE;AAAA,IACvC,OAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC1B,OAAO,EAAE,UAAU,QAAQ,OAAO,EAAE,SAAS,KAAK,IAAI;AAAA,EACxD,EAAE;AACF,SAAO,EAAE,QAAQ;AACnB;AAEA,eAAsB,eAAe,MAKuD;AAC1F,QAAM,YAAY,MAAM,WAAW,KAAK,KAAK;AAC7C,SAAO,mBAAmB,EAAE,WAAW,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,OAAO,KAAK,MAAM,CAAC;AAChG;","names":[]}
|
package/dist/rag/vector-store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rag/vector-store.ts"],"sourcesContent":["import { PgVector } from '@mastra/pg';\nimport { EMBED_DIM } from './embedder';\n\nexport const INDEX_NAME = 'memory';\n\nexport const memoryVectors = new PgVector({\n id: 'memoryVectors',\n connectionString: process.env.DATABASE_URL ?? '',\n});\n\nexport async function ensureIndex(): Promise<void> {\n try {\n await memoryVectors.createIndex({ indexName: INDEX_NAME, dimension: EMBED_DIM });\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n const normalized = message.toLowerCase();\n const alreadyExists =\n normalized.includes('already exists') || normalized.includes('duplicate');\n if (!alreadyExists) {\n throw error;\n }\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAEnB,MAAM,aAAa;AAEnB,MAAM,gBAAgB,IAAI,SAAS;AAAA,EACxC,IAAI;AAAA,EACJ,kBAAkB,QAAQ,IAAI,gBAAgB;AAChD,CAAC;AAED,eAAsB,cAA6B;AACjD,MAAI;AACF,UAAM,cAAc,YAAY,EAAE,WAAW,YAAY,WAAW,UAAU,CAAC;AAAA,EACjF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,UAAM,aAAa,QAAQ,YAAY;AACvC,UAAM,gBACJ,WAAW,SAAS,gBAAgB,KAAK,WAAW,SAAS,WAAW;AAC1E,QAAI,CAAC,eAAe;AAClB,YAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/rag/vector-store.ts"],"sourcesContent":["import { PgVector } from '@mastra/pg';\nimport { EMBED_DIM } from './embedder.js';\n\nexport const INDEX_NAME = 'memory';\n\nexport const memoryVectors = new PgVector({\n id: 'memoryVectors',\n connectionString: process.env.DATABASE_URL ?? '',\n});\n\nexport async function ensureIndex(): Promise<void> {\n try {\n await memoryVectors.createIndex({ indexName: INDEX_NAME, dimension: EMBED_DIM });\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n const normalized = message.toLowerCase();\n const alreadyExists =\n normalized.includes('already exists') || normalized.includes('duplicate');\n if (!alreadyExists) {\n throw error;\n }\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAEnB,MAAM,aAAa;AAEnB,MAAM,gBAAgB,IAAI,SAAS;AAAA,EACxC,IAAI;AAAA,EACJ,kBAAkB,QAAQ,IAAI,gBAAgB;AAChD,CAAC;AAED,eAAsB,cAA6B;AACjD,MAAI;AACF,UAAM,cAAc,YAAY,EAAE,WAAW,YAAY,WAAW,UAAU,CAAC;AAAA,EACjF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,UAAM,aAAa,QAAQ,YAAY;AACvC,UAAM,gBACJ,WAAW,SAAS,gBAAgB,KAAK,WAAW,SAAS,WAAW;AAC1E,QAAI,CAAC,eAAe;AAClB,YAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpscraper-memory-db",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Shared data-access layer for the mcpscraper memory product — Postgres db/*.ts, the auth/crypto/vault lib/*.ts modules it depends on, and the Jina/pgvector rag/*.ts indexing layer. Consumed by mcp-memory and mcp-scraper-scheduler so both stay on one implementation instead of hand-copied duplicates.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|