@elizaos/plugin-knowledge 1.6.1 → 2.0.0-alpha.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 (46) hide show
  1. package/dist/actions.d.ts +5 -0
  2. package/dist/actions.d.ts.map +1 -0
  3. package/dist/browser/index.browser.js +191 -0
  4. package/dist/browser/index.browser.js.map +12 -0
  5. package/dist/cjs/index.node.cjs +103074 -0
  6. package/dist/cjs/index.node.cjs.map +720 -0
  7. package/dist/config.d.ts +5 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/ctx-embeddings.d.ts +53 -0
  10. package/dist/ctx-embeddings.d.ts.map +1 -0
  11. package/dist/docs-loader.d.ts +9 -0
  12. package/dist/docs-loader.d.ts.map +1 -0
  13. package/dist/document-processor.d.ts +26 -0
  14. package/dist/document-processor.d.ts.map +1 -0
  15. package/dist/documents-provider.d.ts +3 -0
  16. package/dist/documents-provider.d.ts.map +1 -0
  17. package/dist/index.browser.d.ts +5 -0
  18. package/dist/index.browser.d.ts.map +1 -0
  19. package/dist/index.d.ts +12 -424
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.node.d.ts +2 -0
  22. package/dist/index.node.d.ts.map +1 -0
  23. package/dist/llm.d.ts +27 -0
  24. package/dist/llm.d.ts.map +1 -0
  25. package/dist/node/index.node.js +103084 -0
  26. package/dist/node/index.node.js.map +719 -0
  27. package/dist/provider.d.ts +3 -0
  28. package/dist/provider.d.ts.map +1 -0
  29. package/dist/routes.d.ts +3 -0
  30. package/dist/routes.d.ts.map +1 -0
  31. package/dist/service.d.ts +76 -0
  32. package/dist/service.d.ts.map +1 -0
  33. package/dist/types.d.ts +138 -0
  34. package/dist/types.d.ts.map +1 -0
  35. package/dist/utils.d.ts +17 -0
  36. package/dist/utils.d.ts.map +1 -0
  37. package/dist/vite.config.d.ts +3 -0
  38. package/dist/vite.config.d.ts.map +1 -0
  39. package/package.json +51 -32
  40. package/README.md +0 -360
  41. package/dist/.vite/manifest.json +0 -11
  42. package/dist/assets/index-CFqKS0Ch.css +0 -1
  43. package/dist/assets/index-DcxhjPNa.js +0 -54
  44. package/dist/index.html +0 -14
  45. package/dist/index.js +0 -5396
  46. package/dist/index.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ import type { Action } from "@elizaos/core";
2
+ export declare const processKnowledgeAction: Action;
3
+ export declare const searchKnowledgeAction: Action;
4
+ export declare const knowledgeActions: Action[];
5
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../actions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAKvB,eAAO,MAAM,sBAAsB,EAAE,MAqLpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAyHnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAkD,CAAC"}
@@ -0,0 +1,191 @@
1
+ // documents-provider.ts
2
+ import { addHeader, logger, MemoryType } from "@elizaos/core";
3
+ var documentsProvider = {
4
+ name: "AVAILABLE_DOCUMENTS",
5
+ description: "List of documents available in the knowledge base. Shows which documents the agent can reference and retrieve information from.",
6
+ dynamic: false,
7
+ get: async (runtime) => {
8
+ try {
9
+ const knowledgeService = runtime.getService("knowledge");
10
+ if (!knowledgeService) {
11
+ logger.warn("Knowledge service not available for documents provider");
12
+ return {
13
+ data: { documents: [] },
14
+ values: {
15
+ documentsCount: 0,
16
+ documents: "",
17
+ availableDocuments: ""
18
+ },
19
+ text: ""
20
+ };
21
+ }
22
+ const allMemories = await knowledgeService.getMemories({
23
+ tableName: "documents",
24
+ roomId: runtime.agentId,
25
+ count: 100
26
+ });
27
+ const documents = allMemories.filter((memory) => memory.metadata?.type === MemoryType.DOCUMENT);
28
+ if (!documents || documents.length === 0) {
29
+ return {
30
+ data: { documents: [] },
31
+ values: {
32
+ documentsCount: 0,
33
+ documents: "",
34
+ availableDocuments: ""
35
+ },
36
+ text: ""
37
+ };
38
+ }
39
+ const documentsList = documents.map((doc, index) => {
40
+ const metadata = doc.metadata;
41
+ const filename = metadata?.filename || metadata?.title || `Document ${index + 1}`;
42
+ const fileType = metadata?.fileExt || metadata?.fileType || "";
43
+ const source = metadata?.source || "upload";
44
+ const fileSize = metadata?.fileSize;
45
+ const parts = [filename];
46
+ if (fileType) {
47
+ parts.push(fileType);
48
+ }
49
+ if (fileSize) {
50
+ const sizeKB = Math.round(fileSize / 1024);
51
+ if (sizeKB > 1024) {
52
+ parts.push(`${Math.round(sizeKB / 1024)}MB`);
53
+ } else {
54
+ parts.push(`${sizeKB}KB`);
55
+ }
56
+ }
57
+ if (source && source !== "upload") {
58
+ parts.push(`from ${source}`);
59
+ }
60
+ return parts.join(" - ");
61
+ }).join(`
62
+ `);
63
+ const documentsText = addHeader("# Available Documents", `${documents.length} document(s) in knowledge base:
64
+ ${documentsList}`);
65
+ return {
66
+ data: {
67
+ documents: documents.map((doc) => ({
68
+ id: doc.id,
69
+ filename: doc.metadata?.filename || doc.metadata?.title,
70
+ fileType: doc.metadata?.fileType || doc.metadata?.fileExt,
71
+ source: doc.metadata?.source
72
+ })),
73
+ count: documents.length
74
+ },
75
+ values: {
76
+ documentsCount: documents.length,
77
+ documents: documentsList,
78
+ availableDocuments: documentsText
79
+ },
80
+ text: documentsText
81
+ };
82
+ } catch (error) {
83
+ logger.error("Error in documents provider:", error instanceof Error ? error.message : String(error));
84
+ return {
85
+ data: { documents: [], error: error instanceof Error ? error.message : String(error) },
86
+ values: {
87
+ documentsCount: 0,
88
+ documents: "",
89
+ availableDocuments: ""
90
+ },
91
+ text: ""
92
+ };
93
+ }
94
+ }
95
+ };
96
+ // provider.ts
97
+ import { addHeader as addHeader2 } from "@elizaos/core";
98
+ var knowledgeProvider = {
99
+ name: "KNOWLEDGE",
100
+ description: "Knowledge from the knowledge base that the agent knows, retrieved whenever the agent needs to answer a question about their expertise.",
101
+ dynamic: true,
102
+ get: async (runtime, message) => {
103
+ const knowledgeService = runtime.getService("knowledge");
104
+ const knowledgeData = await knowledgeService?.getKnowledge(message);
105
+ const firstFiveKnowledgeItems = knowledgeData?.slice(0, 5);
106
+ let knowledge = `${firstFiveKnowledgeItems && firstFiveKnowledgeItems.length > 0 ? addHeader2("# Knowledge", firstFiveKnowledgeItems.map((knowledge2) => `- ${knowledge2.content.text}`).join(`
107
+ `)) : ""}
108
+ `;
109
+ const tokenLength = 3.5;
110
+ if (knowledge.length > 4000 * tokenLength) {
111
+ knowledge = knowledge.slice(0, 4000 * tokenLength);
112
+ }
113
+ let ragMetadata = null;
114
+ if (knowledgeData && knowledgeData.length > 0) {
115
+ ragMetadata = {
116
+ retrievedFragments: knowledgeData.map((fragment) => {
117
+ const fragmentMetadata = fragment.metadata;
118
+ return {
119
+ fragmentId: fragment.id,
120
+ documentTitle: fragmentMetadata?.filename || fragmentMetadata?.title || "",
121
+ similarityScore: fragment.similarity,
122
+ contentPreview: `${(fragment.content?.text || "").substring(0, 100)}...`
123
+ };
124
+ }),
125
+ queryText: message.content?.text || "",
126
+ totalFragments: knowledgeData.length,
127
+ retrievalTimestamp: Date.now()
128
+ };
129
+ }
130
+ if (knowledgeData && knowledgeData.length > 0 && knowledgeService && ragMetadata) {
131
+ knowledgeService.setPendingRAGMetadata(ragMetadata);
132
+ setTimeout(async () => {
133
+ try {
134
+ await knowledgeService.enrichRecentMemoriesWithPendingRAG();
135
+ } catch {}
136
+ }, 2000);
137
+ }
138
+ return {
139
+ data: {
140
+ knowledge,
141
+ ragMetadata,
142
+ knowledgeUsed: knowledgeData && knowledgeData.length > 0
143
+ },
144
+ values: {
145
+ knowledge,
146
+ knowledgeUsed: knowledgeData && knowledgeData.length > 0
147
+ },
148
+ text: knowledge,
149
+ ragMetadata,
150
+ knowledgeUsed: knowledgeData && knowledgeData.length > 0
151
+ };
152
+ }
153
+ };
154
+ // types.ts
155
+ import z from "zod";
156
+ var ModelConfigSchema = z.object({
157
+ EMBEDDING_PROVIDER: z.enum(["openai", "google"]).optional(),
158
+ TEXT_PROVIDER: z.enum(["openai", "anthropic", "openrouter", "google"]).optional(),
159
+ OPENAI_API_KEY: z.string().optional(),
160
+ ANTHROPIC_API_KEY: z.string().optional(),
161
+ OPENROUTER_API_KEY: z.string().optional(),
162
+ GOOGLE_API_KEY: z.string().optional(),
163
+ OPENAI_BASE_URL: z.string().optional(),
164
+ ANTHROPIC_BASE_URL: z.string().optional(),
165
+ OPENROUTER_BASE_URL: z.string().optional(),
166
+ GOOGLE_BASE_URL: z.string().optional(),
167
+ TEXT_EMBEDDING_MODEL: z.string(),
168
+ TEXT_MODEL: z.string().optional(),
169
+ MAX_INPUT_TOKENS: z.string().or(z.number()).transform((val) => typeof val === "string" ? parseInt(val, 10) : val),
170
+ MAX_OUTPUT_TOKENS: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 4096),
171
+ EMBEDDING_DIMENSION: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 1536),
172
+ LOAD_DOCS_ON_STARTUP: z.boolean().default(false),
173
+ CTX_KNOWLEDGE_ENABLED: z.boolean().default(false),
174
+ RATE_LIMIT_ENABLED: z.boolean().default(true),
175
+ MAX_CONCURRENT_REQUESTS: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 150),
176
+ REQUESTS_PER_MINUTE: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 300),
177
+ TOKENS_PER_MINUTE: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 750000),
178
+ BATCH_DELAY_MS: z.string().or(z.number()).optional().transform((val) => val ? typeof val === "string" ? parseInt(val, 10) : val : 100)
179
+ });
180
+ var KnowledgeServiceType = {
181
+ KNOWLEDGE: "knowledge"
182
+ };
183
+ export {
184
+ knowledgeProvider,
185
+ documentsProvider,
186
+ ModelConfigSchema,
187
+ KnowledgeServiceType
188
+ };
189
+
190
+ //# debugId=F6ADDB0FD047C5DD64756E2164756E21
191
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../documents-provider.ts", "../../provider.ts", "../../types.ts"],
4
+ "sourcesContent": [
5
+ "import type { IAgentRuntime, Provider } from \"@elizaos/core\";\nimport { addHeader, logger, MemoryType } from \"@elizaos/core\";\nimport type { KnowledgeService } from \"./service.ts\";\nimport type { KnowledgeDocumentMetadata } from \"./types.ts\";\n\nexport const documentsProvider: Provider = {\n name: \"AVAILABLE_DOCUMENTS\",\n description:\n \"List of documents available in the knowledge base. Shows which documents the agent can reference and retrieve information from.\",\n dynamic: false,\n get: async (runtime: IAgentRuntime) => {\n try {\n const knowledgeService = runtime.getService(\"knowledge\") as KnowledgeService;\n\n if (!knowledgeService) {\n logger.warn(\"Knowledge service not available for documents provider\");\n return {\n data: { documents: [] },\n values: {\n documentsCount: 0,\n documents: \"\",\n availableDocuments: \"\",\n },\n text: \"\",\n };\n }\n\n const allMemories = await knowledgeService.getMemories({\n tableName: \"documents\",\n roomId: runtime.agentId,\n count: 100,\n });\n\n const documents = allMemories.filter(\n (memory) => memory.metadata?.type === MemoryType.DOCUMENT\n );\n\n if (!documents || documents.length === 0) {\n return {\n data: { documents: [] },\n values: {\n documentsCount: 0,\n documents: \"\",\n availableDocuments: \"\",\n },\n text: \"\",\n };\n }\n\n const documentsList = documents\n .map((doc, index) => {\n const metadata = doc.metadata as KnowledgeDocumentMetadata | undefined;\n const filename = metadata?.filename || metadata?.title || `Document ${index + 1}`;\n const fileType = metadata?.fileExt || metadata?.fileType || \"\";\n const source = metadata?.source || \"upload\";\n const fileSize = metadata?.fileSize;\n\n const parts = [filename];\n\n if (fileType) {\n parts.push(fileType);\n }\n\n if (fileSize) {\n const sizeKB = Math.round(fileSize / 1024);\n if (sizeKB > 1024) {\n parts.push(`${Math.round(sizeKB / 1024)}MB`);\n } else {\n parts.push(`${sizeKB}KB`);\n }\n }\n\n if (source && source !== \"upload\") {\n parts.push(`from ${source}`);\n }\n\n return parts.join(\" - \");\n })\n .join(\"\\n\");\n\n const documentsText = addHeader(\n \"# Available Documents\",\n `${documents.length} document(s) in knowledge base:\\n${documentsList}`\n );\n\n return {\n data: {\n documents: documents.map((doc) => ({\n id: doc.id,\n filename:\n (doc.metadata as KnowledgeDocumentMetadata | undefined)?.filename ||\n (doc.metadata as KnowledgeDocumentMetadata | undefined)?.title,\n fileType:\n (doc.metadata as KnowledgeDocumentMetadata | undefined)?.fileType ||\n (doc.metadata as KnowledgeDocumentMetadata | undefined)?.fileExt,\n source: (doc.metadata as KnowledgeDocumentMetadata | undefined)?.source,\n })),\n count: documents.length,\n },\n values: {\n documentsCount: documents.length,\n documents: documentsList,\n availableDocuments: documentsText,\n },\n text: documentsText,\n };\n } catch (error) {\n logger.error(\n \"Error in documents provider:\",\n error instanceof Error ? error.message : String(error)\n );\n return {\n data: { documents: [], error: error instanceof Error ? error.message : String(error) },\n values: {\n documentsCount: 0,\n documents: \"\",\n availableDocuments: \"\",\n },\n text: \"\",\n };\n }\n },\n};\n",
6
+ "import type { IAgentRuntime, Memory, Provider } from \"@elizaos/core\";\nimport { addHeader } from \"@elizaos/core\";\nimport type { KnowledgeService } from \"./service.ts\";\n\nexport const knowledgeProvider: Provider = {\n name: \"KNOWLEDGE\",\n description:\n \"Knowledge from the knowledge base that the agent knows, retrieved whenever the agent needs to answer a question about their expertise.\",\n dynamic: true,\n get: async (runtime: IAgentRuntime, message: Memory) => {\n const knowledgeService = runtime.getService(\"knowledge\") as KnowledgeService;\n const knowledgeData = await knowledgeService?.getKnowledge(message);\n\n const firstFiveKnowledgeItems = knowledgeData?.slice(0, 5);\n\n let knowledge = `${\n firstFiveKnowledgeItems && firstFiveKnowledgeItems.length > 0\n ? addHeader(\n \"# Knowledge\",\n firstFiveKnowledgeItems.map((knowledge) => `- ${knowledge.content.text}`).join(\"\\n\")\n )\n : \"\"\n }\\n`;\n\n const tokenLength = 3.5;\n\n if (knowledge.length > 4000 * tokenLength) {\n knowledge = knowledge.slice(0, 4000 * tokenLength);\n }\n\n let ragMetadata = null;\n if (knowledgeData && knowledgeData.length > 0) {\n ragMetadata = {\n retrievedFragments: knowledgeData.map((fragment) => {\n const fragmentMetadata = fragment.metadata as Record<string, unknown> | undefined;\n return {\n fragmentId: fragment.id,\n documentTitle:\n (fragmentMetadata?.filename as string) || (fragmentMetadata?.title as string) || \"\",\n similarityScore: (fragment as { similarity?: number }).similarity,\n contentPreview: `${(fragment.content?.text || \"\").substring(0, 100)}...`,\n };\n }),\n queryText: message.content?.text || \"\",\n totalFragments: knowledgeData.length,\n retrievalTimestamp: Date.now(),\n };\n }\n\n if (knowledgeData && knowledgeData.length > 0 && knowledgeService && ragMetadata) {\n knowledgeService.setPendingRAGMetadata(ragMetadata);\n setTimeout(async () => {\n try {\n await knowledgeService.enrichRecentMemoriesWithPendingRAG();\n } catch {}\n }, 2000);\n }\n\n return {\n data: {\n knowledge,\n ragMetadata,\n knowledgeUsed: knowledgeData && knowledgeData.length > 0,\n },\n values: {\n knowledge,\n knowledgeUsed: knowledgeData && knowledgeData.length > 0,\n },\n text: knowledge,\n ragMetadata,\n knowledgeUsed: knowledgeData && knowledgeData.length > 0,\n };\n },\n};\n",
7
+ "import type { Content, UUID } from \"@elizaos/core\";\nimport z from \"zod\";\n\n/**\n * Local metadata type for stored knowledge items.\n * Uses a permissive record type to avoid conflicts between TypeScript and protobuf MemoryMetadata types.\n */\nexport type StoredKnowledgeMetadata = Record<string, unknown>;\n\n/**\n * Stored knowledge item with content, metadata, and optional similarity score.\n * Used for knowledge retrieval results and internal knowledge processing.\n * This is a local definition to avoid conflicts with the proto KnowledgeItem type.\n */\nexport interface StoredKnowledgeItem {\n id: UUID;\n content: Content;\n metadata?: StoredKnowledgeMetadata;\n worldId?: UUID;\n similarity?: number;\n}\n\nexport const ModelConfigSchema = z.object({\n EMBEDDING_PROVIDER: z.enum([\"openai\", \"google\"]).optional(),\n TEXT_PROVIDER: z.enum([\"openai\", \"anthropic\", \"openrouter\", \"google\"]).optional(),\n\n OPENAI_API_KEY: z.string().optional(),\n ANTHROPIC_API_KEY: z.string().optional(),\n OPENROUTER_API_KEY: z.string().optional(),\n GOOGLE_API_KEY: z.string().optional(),\n\n OPENAI_BASE_URL: z.string().optional(),\n ANTHROPIC_BASE_URL: z.string().optional(),\n OPENROUTER_BASE_URL: z.string().optional(),\n GOOGLE_BASE_URL: z.string().optional(),\n\n TEXT_EMBEDDING_MODEL: z.string(),\n TEXT_MODEL: z.string().optional(),\n\n MAX_INPUT_TOKENS: z\n .string()\n .or(z.number())\n .transform((val) => (typeof val === \"string\" ? parseInt(val, 10) : val)),\n MAX_OUTPUT_TOKENS: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 4096)),\n\n EMBEDDING_DIMENSION: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 1536)),\n\n LOAD_DOCS_ON_STARTUP: z.boolean().default(false),\n\n CTX_KNOWLEDGE_ENABLED: z.boolean().default(false),\n\n RATE_LIMIT_ENABLED: z.boolean().default(true),\n\n MAX_CONCURRENT_REQUESTS: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 150)),\n\n REQUESTS_PER_MINUTE: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 300)),\n\n TOKENS_PER_MINUTE: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 750000)),\n\n BATCH_DELAY_MS: z\n .string()\n .or(z.number())\n .optional()\n .transform((val) => (val ? (typeof val === \"string\" ? parseInt(val, 10) : val) : 100)),\n});\n\nexport type ModelConfig = z.infer<typeof ModelConfigSchema>;\n\nexport interface ProviderRateLimits {\n maxConcurrentRequests: number;\n requestsPerMinute: number;\n tokensPerMinute?: number;\n provider: string;\n rateLimitEnabled: boolean;\n batchDelayMs: number;\n}\n\nexport interface TextGenerationOptions {\n provider?: \"anthropic\" | \"openai\" | \"openrouter\" | \"google\";\n modelName?: string;\n maxTokens?: number;\n cacheDocument?: string;\n cacheOptions?: {\n type: \"ephemeral\";\n };\n autoCacheContextualRetrieval?: boolean;\n}\n\nexport interface AddKnowledgeOptions {\n agentId?: UUID;\n worldId: UUID;\n roomId: UUID;\n entityId: UUID;\n clientDocumentId: UUID;\n contentType: string;\n originalFilename: string;\n content: string;\n metadata?: Record<string, unknown>;\n}\n\ndeclare module \"@elizaos/core\" {\n interface ServiceTypeRegistry {\n KNOWLEDGE: \"knowledge\";\n }\n}\n\nexport const KnowledgeServiceType = {\n KNOWLEDGE: \"knowledge\" as const,\n} satisfies Partial<import(\"@elizaos/core\").ServiceTypeRegistry>;\n\nexport interface KnowledgeDocumentMetadata extends Record<string, unknown> {\n type: string; // e.g., 'document', 'website_content'\n source: string; // e.g., 'upload', 'web_scrape', path to file\n title?: string;\n filename?: string;\n fileExt?: string;\n fileType?: string; // MIME type\n fileSize?: number;\n}\n\nexport interface KnowledgeConfig {\n CTX_KNOWLEDGE_ENABLED: boolean;\n LOAD_DOCS_ON_STARTUP: boolean;\n MAX_INPUT_TOKENS?: string | number;\n MAX_OUTPUT_TOKENS?: string | number;\n EMBEDDING_PROVIDER?: string;\n TEXT_PROVIDER?: string;\n TEXT_EMBEDDING_MODEL?: string;\n // Rate limiting configuration\n RATE_LIMIT_ENABLED?: boolean;\n MAX_CONCURRENT_REQUESTS?: number;\n REQUESTS_PER_MINUTE?: number;\n TOKENS_PER_MINUTE?: number;\n BATCH_DELAY_MS?: number;\n}\n\nexport interface LoadResult {\n successful: number;\n failed: number;\n errors?: Array<{ filename: string; error: string }>;\n}\n\nexport interface ExtendedMemoryMetadata extends Record<string, unknown> {\n type?: string;\n title?: string;\n filename?: string;\n path?: string;\n description?: string;\n fileExt?: string;\n timestamp?: number;\n contentType?: string;\n documentId?: string;\n source?: string;\n fileType?: string;\n fileSize?: number;\n position?: number; // For fragments\n originalFilename?: string;\n url?: string; // For web content\n}\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "F6ADDB0FD047C5DD64756E2164756E21",
11
+ "names": []
12
+ }