agent-orcha 0.0.5 → 0.0.7
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/README.md +194 -1277
- package/dist/lib/agents/agent-executor.d.ts +4 -2
- package/dist/lib/agents/agent-executor.d.ts.map +1 -1
- package/dist/lib/agents/agent-executor.js +68 -52
- package/dist/lib/agents/agent-executor.js.map +1 -1
- package/dist/lib/agents/agent-loader.d.ts +3 -0
- package/dist/lib/agents/agent-loader.d.ts.map +1 -1
- package/dist/lib/agents/agent-loader.js +10 -1
- package/dist/lib/agents/agent-loader.js.map +1 -1
- package/dist/lib/agents/react-loop.d.ts.map +1 -1
- package/dist/lib/agents/react-loop.js +180 -142
- package/dist/lib/agents/react-loop.js.map +1 -1
- package/dist/lib/agents/types.d.ts +181 -18
- package/dist/lib/agents/types.d.ts.map +1 -1
- package/dist/lib/agents/types.js +18 -2
- package/dist/lib/agents/types.js.map +1 -1
- package/dist/lib/functions/function-loader.d.ts +2 -0
- package/dist/lib/functions/function-loader.d.ts.map +1 -1
- package/dist/lib/functions/function-loader.js +10 -0
- package/dist/lib/functions/function-loader.js.map +1 -1
- package/dist/lib/integrations/email.d.ts +38 -0
- package/dist/lib/integrations/email.d.ts.map +1 -0
- package/dist/lib/integrations/email.js +249 -0
- package/dist/lib/integrations/email.js.map +1 -0
- package/dist/lib/integrations/integration-manager.d.ts +5 -0
- package/dist/lib/integrations/integration-manager.d.ts.map +1 -1
- package/dist/lib/integrations/integration-manager.js +53 -3
- package/dist/lib/integrations/integration-manager.js.map +1 -1
- package/dist/lib/integrations/types.d.ts +187 -4
- package/dist/lib/integrations/types.d.ts.map +1 -1
- package/dist/lib/integrations/types.js +24 -1
- package/dist/lib/integrations/types.js.map +1 -1
- package/dist/lib/knowledge/knowledge-store.d.ts +6 -0
- package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -1
- package/dist/lib/knowledge/knowledge-store.js +71 -4
- package/dist/lib/knowledge/knowledge-store.js.map +1 -1
- package/dist/lib/knowledge/loaders/file-loaders.d.ts +8 -2
- package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/file-loaders.js +89 -60
- package/dist/lib/knowledge/loaders/file-loaders.js.map +1 -1
- package/dist/lib/knowledge/loaders/web-loader.d.ts +12 -3
- package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/web-loader.js +56 -22
- package/dist/lib/knowledge/loaders/web-loader.js.map +1 -1
- package/dist/lib/knowledge/types.d.ts +56 -20
- package/dist/lib/knowledge/types.d.ts.map +1 -1
- package/dist/lib/knowledge/types.js +18 -3
- package/dist/lib/knowledge/types.js.map +1 -1
- package/dist/lib/llm/llm-call-logger.d.ts +3 -1
- package/dist/lib/llm/llm-call-logger.d.ts.map +1 -1
- package/dist/lib/llm/llm-call-logger.js +31 -26
- package/dist/lib/llm/llm-call-logger.js.map +1 -1
- package/dist/lib/llm/llm-config.d.ts +8 -0
- package/dist/lib/llm/llm-config.d.ts.map +1 -1
- package/dist/lib/llm/llm-config.js +3 -1
- package/dist/lib/llm/llm-config.js.map +1 -1
- package/dist/lib/llm/llm-factory.d.ts.map +1 -1
- package/dist/lib/llm/llm-factory.js +3 -0
- package/dist/lib/llm/llm-factory.js.map +1 -1
- package/dist/lib/llm/providers/anthropic-chat-model.d.ts +5 -1
- package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -1
- package/dist/lib/llm/providers/anthropic-chat-model.js +118 -42
- package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -1
- package/dist/lib/llm/providers/gemini-chat-model.d.ts +3 -2
- package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -1
- package/dist/lib/llm/providers/gemini-chat-model.js +83 -24
- package/dist/lib/llm/providers/gemini-chat-model.js.map +1 -1
- package/dist/lib/llm/providers/openai-chat-model.d.ts +10 -1
- package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -1
- package/dist/lib/llm/providers/openai-chat-model.js +233 -32
- package/dist/lib/llm/providers/openai-chat-model.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +0 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/mcp/mcp-client.d.ts.map +1 -1
- package/dist/lib/mcp/mcp-client.js +5 -3
- package/dist/lib/mcp/mcp-client.js.map +1 -1
- package/dist/lib/mcp/types.d.ts +0 -9
- package/dist/lib/mcp/types.d.ts.map +1 -1
- package/dist/lib/mcp/types.js +1 -2
- package/dist/lib/mcp/types.js.map +1 -1
- package/dist/lib/memory/memory-manager.d.ts +1 -0
- package/dist/lib/memory/memory-manager.d.ts.map +1 -1
- package/dist/lib/memory/memory-manager.js +9 -0
- package/dist/lib/memory/memory-manager.js.map +1 -1
- package/dist/lib/orchestrator.d.ts +2 -8
- package/dist/lib/orchestrator.d.ts.map +1 -1
- package/dist/lib/orchestrator.js +96 -3
- package/dist/lib/orchestrator.js.map +1 -1
- package/dist/lib/sandbox/cdp-client.d.ts +14 -0
- package/dist/lib/sandbox/cdp-client.d.ts.map +1 -0
- package/dist/lib/sandbox/cdp-client.js +113 -0
- package/dist/lib/sandbox/cdp-client.js.map +1 -0
- package/dist/lib/sandbox/html-to-markdown.d.ts +9 -1
- package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -1
- package/dist/lib/sandbox/html-to-markdown.js +67 -10
- package/dist/lib/sandbox/html-to-markdown.js.map +1 -1
- package/dist/lib/sandbox/index.d.ts +5 -0
- package/dist/lib/sandbox/index.d.ts.map +1 -1
- package/dist/lib/sandbox/index.js +4 -0
- package/dist/lib/sandbox/index.js.map +1 -1
- package/dist/lib/sandbox/page-readiness.d.ts +37 -0
- package/dist/lib/sandbox/page-readiness.d.ts.map +1 -0
- package/dist/lib/sandbox/page-readiness.js +235 -0
- package/dist/lib/sandbox/page-readiness.js.map +1 -0
- package/dist/lib/sandbox/sandbox-browser.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-browser.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-browser.js +303 -0
- package/dist/lib/sandbox/sandbox-browser.js.map +1 -0
- package/dist/lib/sandbox/sandbox-file.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-file.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-file.js +168 -0
- package/dist/lib/sandbox/sandbox-file.js.map +1 -0
- package/dist/lib/sandbox/sandbox-shell.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-shell.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-shell.js +93 -0
- package/dist/lib/sandbox/sandbox-shell.js.map +1 -0
- package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -1
- package/dist/lib/sandbox/sandbox-web.js +37 -22
- package/dist/lib/sandbox/sandbox-web.js.map +1 -1
- package/dist/lib/sandbox/types.d.ts +9 -0
- package/dist/lib/sandbox/types.d.ts.map +1 -1
- package/dist/lib/sandbox/types.js +1 -0
- package/dist/lib/sandbox/types.js.map +1 -1
- package/dist/lib/sandbox/vision-browser.d.ts +4 -0
- package/dist/lib/sandbox/vision-browser.d.ts.map +1 -0
- package/dist/lib/sandbox/vision-browser.js +289 -0
- package/dist/lib/sandbox/vision-browser.js.map +1 -0
- package/dist/lib/skills/skill-loader.d.ts +2 -0
- package/dist/lib/skills/skill-loader.d.ts.map +1 -1
- package/dist/lib/skills/skill-loader.js +12 -1
- package/dist/lib/skills/skill-loader.js.map +1 -1
- package/dist/lib/tasks/task-manager.d.ts +3 -1
- package/dist/lib/tasks/task-manager.d.ts.map +1 -1
- package/dist/lib/tasks/task-manager.js +11 -0
- package/dist/lib/tasks/task-manager.js.map +1 -1
- package/dist/lib/tasks/task-store.d.ts +1 -1
- package/dist/lib/tasks/task-store.d.ts.map +1 -1
- package/dist/lib/tasks/task-store.js.map +1 -1
- package/dist/lib/tasks/types.d.ts +18 -0
- package/dist/lib/tasks/types.d.ts.map +1 -1
- package/dist/lib/tools/built-in/integration-tools.d.ts +4 -0
- package/dist/lib/tools/built-in/integration-tools.d.ts.map +1 -0
- package/dist/lib/tools/built-in/integration-tools.js +47 -0
- package/dist/lib/tools/built-in/integration-tools.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts.map +1 -1
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js +12 -6
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js.map +1 -1
- package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts.map +1 -1
- package/dist/lib/tools/built-in/knowledge-sql.tool.js +4 -3
- package/dist/lib/tools/built-in/knowledge-sql.tool.js.map +1 -1
- package/dist/lib/tools/built-in/query-validators.d.ts.map +1 -1
- package/dist/lib/tools/built-in/query-validators.js +4 -0
- package/dist/lib/tools/built-in/query-validators.js.map +1 -1
- package/dist/lib/tools/workspace/workspace-tools.d.ts +1 -0
- package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -1
- package/dist/lib/tools/workspace/workspace-tools.js +39 -0
- package/dist/lib/tools/workspace/workspace-tools.js.map +1 -1
- package/dist/lib/triggers/cron-trigger.d.ts +1 -1
- package/dist/lib/triggers/cron-trigger.d.ts.map +1 -1
- package/dist/lib/triggers/cron-trigger.js.map +1 -1
- package/dist/lib/triggers/trigger-manager.d.ts +1 -0
- package/dist/lib/triggers/trigger-manager.d.ts.map +1 -1
- package/dist/lib/triggers/trigger-manager.js +26 -0
- package/dist/lib/triggers/trigger-manager.js.map +1 -1
- package/dist/lib/triggers/webhook-trigger.d.ts +1 -1
- package/dist/lib/triggers/webhook-trigger.d.ts.map +1 -1
- package/dist/lib/triggers/webhook-trigger.js.map +1 -1
- package/dist/lib/types/llm-types.d.ts +22 -4
- package/dist/lib/types/llm-types.d.ts.map +1 -1
- package/dist/lib/types/llm-types.js +50 -0
- package/dist/lib/types/llm-types.js.map +1 -1
- package/dist/lib/types/tool-factory.d.ts +2 -2
- package/dist/lib/types/tool-factory.d.ts.map +1 -1
- package/dist/lib/types/tool-factory.js.map +1 -1
- package/dist/lib/utils/env-substitution.d.ts +6 -0
- package/dist/lib/utils/env-substitution.d.ts.map +1 -0
- package/dist/lib/utils/env-substitution.js +15 -0
- package/dist/lib/utils/env-substitution.js.map +1 -0
- package/dist/lib/workflows/react-workflow-executor.js +3 -3
- package/dist/lib/workflows/react-workflow-executor.js.map +1 -1
- package/dist/lib/workflows/types.d.ts +10 -10
- package/dist/lib/workflows/workflow-loader.d.ts +3 -0
- package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
- package/dist/lib/workflows/workflow-loader.js +10 -1
- package/dist/lib/workflows/workflow-loader.js.map +1 -1
- package/dist/public/chat.html +114 -0
- package/dist/public/index.html +157 -0
- package/dist/public/src/components/AgentComposer.js +807 -0
- package/dist/public/src/components/AgentsView.js +740 -317
- package/dist/public/src/components/AppRoot.js +30 -5
- package/dist/public/src/components/GraphView.js +372 -288
- package/dist/public/src/components/IdeView.js +163 -7
- package/dist/public/src/components/MonitorView.js +139 -1
- package/dist/public/src/components/StandaloneChat.js +889 -0
- package/dist/public/src/components/WorkflowsView.js +180 -28
- package/dist/public/src/services/ApiService.js +7 -2
- package/dist/public/src/services/SessionStore.js +83 -0
- package/dist/public/src/store.js +0 -2
- package/dist/public/src/utils/markdown.js +13 -0
- package/dist/src/cli/index.js +7 -4
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/middleware/auth.d.ts.map +1 -1
- package/dist/src/middleware/auth.js +28 -6
- package/dist/src/middleware/auth.js.map +1 -1
- package/dist/src/middleware/rate-limit.d.ts +8 -0
- package/dist/src/middleware/rate-limit.d.ts.map +1 -0
- package/dist/src/middleware/rate-limit.js +21 -0
- package/dist/src/middleware/rate-limit.js.map +1 -0
- package/dist/src/routes/agents.route.d.ts.map +1 -1
- package/dist/src/routes/agents.route.js +136 -10
- package/dist/src/routes/agents.route.js.map +1 -1
- package/dist/src/routes/chat.route.d.ts +3 -0
- package/dist/src/routes/chat.route.d.ts.map +1 -0
- package/dist/src/routes/chat.route.js +155 -0
- package/dist/src/routes/chat.route.js.map +1 -0
- package/dist/src/routes/files.route.d.ts.map +1 -1
- package/dist/src/routes/files.route.js +37 -2
- package/dist/src/routes/files.route.js.map +1 -1
- package/dist/src/routes/llm.route.d.ts.map +1 -1
- package/dist/src/routes/llm.route.js +40 -5
- package/dist/src/routes/llm.route.js.map +1 -1
- package/dist/src/routes/tasks.route.d.ts.map +1 -1
- package/dist/src/routes/tasks.route.js +15 -1
- package/dist/src/routes/tasks.route.js.map +1 -1
- package/dist/src/routes/vnc.route.d.ts +3 -0
- package/dist/src/routes/vnc.route.d.ts.map +1 -0
- package/dist/src/routes/vnc.route.js +49 -0
- package/dist/src/routes/vnc.route.js.map +1 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +5 -1
- package/dist/src/server.js.map +1 -1
- package/dist/templates/Demo.md +152 -0
- package/dist/templates/README.md +12 -3
- package/dist/templates/agents/architect.agent.yaml +20 -12
- package/dist/templates/agents/chatbot.agent.yaml +23 -26
- package/dist/templates/agents/corporate.agent.yaml +65 -0
- package/dist/templates/agents/investment-analyst.agent.yaml +80 -0
- package/dist/templates/agents/music-librarian.agent.yaml +70 -0
- package/dist/templates/agents/network-security.agent.yaml +82 -0
- package/dist/templates/agents/transport-security.agent.yaml +70 -0
- package/dist/templates/agents/web-engineer.agent.yaml +99 -0
- package/dist/templates/agents/web-pilot.agent.yaml +58 -0
- package/dist/templates/knowledge/music-store/LICENSE.md +11 -0
- package/dist/templates/knowledge/music-store/musicstore.sqlite +0 -0
- package/dist/templates/knowledge/music-store/tables.png +0 -0
- package/dist/templates/knowledge/music-store.knowledge.yaml +138 -0
- package/dist/templates/knowledge/org-chart/personnel.csv +21 -21
- package/dist/templates/knowledge/org-chart.knowledge.yaml +4 -0
- package/dist/templates/knowledge/pet-store.knowledge.yaml +3 -0
- package/dist/templates/knowledge/security-incidents/incidents.json +55935 -0
- package/dist/templates/knowledge/security-incidents.knowledge.yaml +46 -0
- package/dist/templates/knowledge/{example.knowledge.yaml → transcripts.knowledge.yaml} +9 -5
- package/dist/templates/knowledge/transport-ot/systems.csv +117 -0
- package/dist/templates/knowledge/transport-ot.knowledge.yaml +55 -0
- package/dist/templates/llm.json +7 -30
- package/dist/templates/mcp.json +7 -4
- package/dist/templates/skills/orcha-builder/SKILL.md +106 -226
- package/dist/templates/skills/pii-guard/SKILL.md +22 -0
- package/dist/templates/skills/sandbox/SKILL.md +25 -48
- package/dist/templates/skills/web-pilot/SKILL.md +51 -0
- package/package.json +8 -3
- package/dist/templates/agents/knowledge-broker.agent.yaml +0 -39
- package/dist/templates/agents/sandbox.agent.yaml +0 -56
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
import * as cheerio from 'cheerio';
|
|
2
|
+
import { parseJsonContent, parseCsvContent } from "./file-loaders.js";
|
|
2
3
|
import { createLogger } from "../../logger.js";
|
|
3
4
|
const logger = createLogger('WebLoader');
|
|
4
5
|
/**
|
|
5
|
-
* Web
|
|
6
|
-
*
|
|
6
|
+
* Web document loader. Fetches content from a URL and parses it
|
|
7
|
+
* based on the configured loader type.
|
|
8
|
+
*
|
|
9
|
+
* Supported loader types:
|
|
10
|
+
* - html (default): Cheerio HTML parsing with optional CSS selector
|
|
11
|
+
* - text / markdown: Raw text content
|
|
12
|
+
* - json: JSON string extraction
|
|
13
|
+
* - csv: CSV row parsing
|
|
7
14
|
*/
|
|
8
15
|
export class WebLoader {
|
|
9
16
|
config;
|
|
10
|
-
|
|
17
|
+
loaderType;
|
|
18
|
+
constructor(config, loaderType = 'html') {
|
|
11
19
|
this.config = config;
|
|
20
|
+
this.loaderType = loaderType;
|
|
12
21
|
}
|
|
13
22
|
async load() {
|
|
14
|
-
const { url,
|
|
15
|
-
logger.info(`Loading
|
|
16
|
-
if (selector) {
|
|
17
|
-
logger.info(`Using CSS selector: ${selector}`);
|
|
18
|
-
}
|
|
23
|
+
const { url, headers } = this.config;
|
|
24
|
+
logger.info(`Loading from ${url} (type: ${this.loaderType})`);
|
|
19
25
|
try {
|
|
20
26
|
const fetchOptions = {};
|
|
21
27
|
if (headers) {
|
|
@@ -25,21 +31,21 @@ export class WebLoader {
|
|
|
25
31
|
if (!response.ok) {
|
|
26
32
|
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
27
33
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const content = await response.text();
|
|
35
|
+
switch (this.loaderType) {
|
|
36
|
+
case 'json':
|
|
37
|
+
return parseJsonContent(this.extractJsonPath(content), url);
|
|
38
|
+
case 'csv':
|
|
39
|
+
return parseCsvContent(content, url);
|
|
40
|
+
case 'text':
|
|
41
|
+
case 'markdown':
|
|
42
|
+
return content.trim()
|
|
43
|
+
? [{ pageContent: content.trim(), metadata: { source: url } }]
|
|
44
|
+
: [];
|
|
45
|
+
case 'html':
|
|
46
|
+
default:
|
|
47
|
+
return this.parseHtml(content, url);
|
|
37
48
|
}
|
|
38
|
-
logger.info(`Loaded 1 document from ${url}`);
|
|
39
|
-
return [{
|
|
40
|
-
pageContent: text,
|
|
41
|
-
metadata: { source: url, selector: target },
|
|
42
|
-
}];
|
|
43
49
|
}
|
|
44
50
|
catch (error) {
|
|
45
51
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -53,5 +59,33 @@ export class WebLoader {
|
|
|
53
59
|
throw new Error(`Failed to load web content from ${url}: ${errorMessage}`);
|
|
54
60
|
}
|
|
55
61
|
}
|
|
62
|
+
extractJsonPath(content) {
|
|
63
|
+
const { jsonPath } = this.config;
|
|
64
|
+
if (!jsonPath)
|
|
65
|
+
return content;
|
|
66
|
+
const data = JSON.parse(content);
|
|
67
|
+
const value = jsonPath.split('.').reduce((obj, key) => obj?.[key], data);
|
|
68
|
+
if (value === undefined) {
|
|
69
|
+
throw new Error(`jsonPath "${jsonPath}" not found in response`);
|
|
70
|
+
}
|
|
71
|
+
logger.info(`Extracted jsonPath "${jsonPath}" (${Array.isArray(value) ? value.length + ' items' : typeof value})`);
|
|
72
|
+
return JSON.stringify(value);
|
|
73
|
+
}
|
|
74
|
+
parseHtml(html, url) {
|
|
75
|
+
const { selector } = this.config;
|
|
76
|
+
const $ = cheerio.load(html);
|
|
77
|
+
$('script, style').remove();
|
|
78
|
+
const target = selector || 'body';
|
|
79
|
+
if (selector) {
|
|
80
|
+
logger.info(`Using CSS selector: ${selector}`);
|
|
81
|
+
}
|
|
82
|
+
const text = $(target).text().replace(/\s+/g, ' ').trim();
|
|
83
|
+
if (!text) {
|
|
84
|
+
logger.warn(`No text content found for selector "${target}" at ${url}`);
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
logger.info(`Loaded 1 document from ${url}`);
|
|
88
|
+
return [{ pageContent: text, metadata: { source: url, selector: target } }];
|
|
89
|
+
}
|
|
56
90
|
}
|
|
57
91
|
//# sourceMappingURL=web-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-loader.js","sourceRoot":"","sources":["../../../../lib/knowledge/loaders/web-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"web-loader.js","sourceRoot":"","sources":["../../../../lib/knowledge/loaders/web-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAkB;IACxB,UAAU,CAAS;IAE3B,YAAY,MAAuB,EAAE,aAAqB,MAAM;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,WAAW,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,YAAY,GAAgB,EAAE,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;YACjC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEtC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,MAAM;oBACT,OAAO,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;gBAE9D,KAAK,KAAK;oBACR,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAEvC,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,OAAO,OAAO,CAAC,IAAI,EAAE;wBACnB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;wBAC9D,CAAC,CAAC,EAAE,CAAC;gBAET,KAAK,MAAM,CAAC;gBACZ;oBACE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;YAE5D,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,KAAK,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,KAAK,YAAY,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,yBAAyB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,GAAW;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,uCAAuC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF"}
|
|
@@ -53,16 +53,19 @@ export declare const WebSourceConfigSchema: z.ZodObject<{
|
|
|
53
53
|
url: z.ZodString;
|
|
54
54
|
selector: z.ZodOptional<z.ZodString>;
|
|
55
55
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
56
|
+
jsonPath: z.ZodOptional<z.ZodString>;
|
|
56
57
|
}, "strip", z.ZodTypeAny, {
|
|
57
58
|
type: "web";
|
|
58
59
|
url: string;
|
|
59
60
|
headers?: Record<string, string> | undefined;
|
|
60
61
|
selector?: string | undefined;
|
|
62
|
+
jsonPath?: string | undefined;
|
|
61
63
|
}, {
|
|
62
64
|
type: "web";
|
|
63
65
|
url: string;
|
|
64
66
|
headers?: Record<string, string> | undefined;
|
|
65
67
|
selector?: string | undefined;
|
|
68
|
+
jsonPath?: string | undefined;
|
|
66
69
|
}>;
|
|
67
70
|
export declare const SourceConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
68
71
|
type: z.ZodLiteral<"directory">;
|
|
@@ -114,26 +117,29 @@ export declare const SourceConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodO
|
|
|
114
117
|
url: z.ZodString;
|
|
115
118
|
selector: z.ZodOptional<z.ZodString>;
|
|
116
119
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
120
|
+
jsonPath: z.ZodOptional<z.ZodString>;
|
|
117
121
|
}, "strip", z.ZodTypeAny, {
|
|
118
122
|
type: "web";
|
|
119
123
|
url: string;
|
|
120
124
|
headers?: Record<string, string> | undefined;
|
|
121
125
|
selector?: string | undefined;
|
|
126
|
+
jsonPath?: string | undefined;
|
|
122
127
|
}, {
|
|
123
128
|
type: "web";
|
|
124
129
|
url: string;
|
|
125
130
|
headers?: Record<string, string> | undefined;
|
|
126
131
|
selector?: string | undefined;
|
|
132
|
+
jsonPath?: string | undefined;
|
|
127
133
|
}>]>;
|
|
128
134
|
export declare const LoaderConfigSchema: z.ZodObject<{
|
|
129
|
-
type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown"]>>;
|
|
135
|
+
type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown", "html"]>>;
|
|
130
136
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
131
137
|
}, "strip", z.ZodTypeAny, {
|
|
132
|
-
type: "text" | "
|
|
138
|
+
type: "text" | "pdf" | "csv" | "json" | "markdown" | "html";
|
|
133
139
|
options?: Record<string, unknown> | undefined;
|
|
134
140
|
}, {
|
|
135
141
|
options?: Record<string, unknown> | undefined;
|
|
136
|
-
type?: "text" | "
|
|
142
|
+
type?: "text" | "pdf" | "csv" | "json" | "markdown" | "html" | undefined;
|
|
137
143
|
}>;
|
|
138
144
|
export declare const SplitterConfigSchema: z.ZodObject<{
|
|
139
145
|
type: z.ZodDefault<z.ZodEnum<["character", "recursive", "token", "markdown"]>>;
|
|
@@ -162,6 +168,13 @@ export declare const SearchConfigSchema: z.ZodObject<{
|
|
|
162
168
|
defaultK?: number | undefined;
|
|
163
169
|
scoreThreshold?: number | undefined;
|
|
164
170
|
}>;
|
|
171
|
+
export declare const ReindexConfigSchema: z.ZodObject<{
|
|
172
|
+
schedule: z.ZodString;
|
|
173
|
+
}, "strip", z.ZodTypeAny, {
|
|
174
|
+
schedule: string;
|
|
175
|
+
}, {
|
|
176
|
+
schedule: string;
|
|
177
|
+
}>;
|
|
165
178
|
export interface ExtractedEntity {
|
|
166
179
|
name: string;
|
|
167
180
|
type: string;
|
|
@@ -259,27 +272,30 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
259
272
|
url: z.ZodString;
|
|
260
273
|
selector: z.ZodOptional<z.ZodString>;
|
|
261
274
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
275
|
+
jsonPath: z.ZodOptional<z.ZodString>;
|
|
262
276
|
}, "strip", z.ZodTypeAny, {
|
|
263
277
|
type: "web";
|
|
264
278
|
url: string;
|
|
265
279
|
headers?: Record<string, string> | undefined;
|
|
266
280
|
selector?: string | undefined;
|
|
281
|
+
jsonPath?: string | undefined;
|
|
267
282
|
}, {
|
|
268
283
|
type: "web";
|
|
269
284
|
url: string;
|
|
270
285
|
headers?: Record<string, string> | undefined;
|
|
271
286
|
selector?: string | undefined;
|
|
287
|
+
jsonPath?: string | undefined;
|
|
272
288
|
}>]>;
|
|
273
|
-
loader: z.ZodObject<{
|
|
274
|
-
type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown"]>>;
|
|
289
|
+
loader: z.ZodOptional<z.ZodObject<{
|
|
290
|
+
type: z.ZodDefault<z.ZodEnum<["text", "pdf", "csv", "json", "markdown", "html"]>>;
|
|
275
291
|
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
276
292
|
}, "strip", z.ZodTypeAny, {
|
|
277
|
-
type: "text" | "
|
|
293
|
+
type: "text" | "pdf" | "csv" | "json" | "markdown" | "html";
|
|
278
294
|
options?: Record<string, unknown> | undefined;
|
|
279
295
|
}, {
|
|
280
296
|
options?: Record<string, unknown> | undefined;
|
|
281
|
-
type?: "text" | "
|
|
282
|
-
}
|
|
297
|
+
type?: "text" | "pdf" | "csv" | "json" | "markdown" | "html" | undefined;
|
|
298
|
+
}>>;
|
|
283
299
|
splitter: z.ZodObject<{
|
|
284
300
|
type: z.ZodDefault<z.ZodEnum<["character", "recursive", "token", "markdown"]>>;
|
|
285
301
|
chunkSize: z.ZodDefault<z.ZodNumber>;
|
|
@@ -314,6 +330,13 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
314
330
|
defaultK?: number | undefined;
|
|
315
331
|
scoreThreshold?: number | undefined;
|
|
316
332
|
}>>;
|
|
333
|
+
reindex: z.ZodOptional<z.ZodObject<{
|
|
334
|
+
schedule: z.ZodString;
|
|
335
|
+
}, "strip", z.ZodTypeAny, {
|
|
336
|
+
schedule: string;
|
|
337
|
+
}, {
|
|
338
|
+
schedule: string;
|
|
339
|
+
}>>;
|
|
317
340
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
318
341
|
}, "strip", z.ZodTypeAny, {
|
|
319
342
|
name: string;
|
|
@@ -337,13 +360,10 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
337
360
|
url: string;
|
|
338
361
|
headers?: Record<string, string> | undefined;
|
|
339
362
|
selector?: string | undefined;
|
|
363
|
+
jsonPath?: string | undefined;
|
|
340
364
|
};
|
|
341
365
|
description: string;
|
|
342
366
|
embedding: string;
|
|
343
|
-
loader: {
|
|
344
|
-
type: "text" | "json" | "pdf" | "csv" | "markdown";
|
|
345
|
-
options?: Record<string, unknown> | undefined;
|
|
346
|
-
};
|
|
347
367
|
splitter: {
|
|
348
368
|
type: "recursive" | "markdown" | "character" | "token";
|
|
349
369
|
chunkSize: number;
|
|
@@ -355,9 +375,16 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
355
375
|
scoreThreshold?: number | undefined;
|
|
356
376
|
} | undefined;
|
|
357
377
|
metadata?: Record<string, unknown> | undefined;
|
|
378
|
+
loader?: {
|
|
379
|
+
type: "text" | "pdf" | "csv" | "json" | "markdown" | "html";
|
|
380
|
+
options?: Record<string, unknown> | undefined;
|
|
381
|
+
} | undefined;
|
|
358
382
|
graph?: {
|
|
359
383
|
directMapping?: any;
|
|
360
384
|
} | undefined;
|
|
385
|
+
reindex?: {
|
|
386
|
+
schedule: string;
|
|
387
|
+
} | undefined;
|
|
361
388
|
}, {
|
|
362
389
|
name: string;
|
|
363
390
|
source: {
|
|
@@ -380,12 +407,9 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
380
407
|
url: string;
|
|
381
408
|
headers?: Record<string, string> | undefined;
|
|
382
409
|
selector?: string | undefined;
|
|
410
|
+
jsonPath?: string | undefined;
|
|
383
411
|
};
|
|
384
412
|
description: string;
|
|
385
|
-
loader: {
|
|
386
|
-
options?: Record<string, unknown> | undefined;
|
|
387
|
-
type?: "text" | "json" | "pdf" | "csv" | "markdown" | undefined;
|
|
388
|
-
};
|
|
389
413
|
splitter: {
|
|
390
414
|
type?: "recursive" | "markdown" | "character" | "token" | undefined;
|
|
391
415
|
chunkSize?: number | undefined;
|
|
@@ -398,9 +422,16 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
398
422
|
} | undefined;
|
|
399
423
|
metadata?: Record<string, unknown> | undefined;
|
|
400
424
|
embedding?: string | undefined;
|
|
425
|
+
loader?: {
|
|
426
|
+
options?: Record<string, unknown> | undefined;
|
|
427
|
+
type?: "text" | "pdf" | "csv" | "json" | "markdown" | "html" | undefined;
|
|
428
|
+
} | undefined;
|
|
401
429
|
graph?: {
|
|
402
430
|
directMapping?: any;
|
|
403
431
|
} | undefined;
|
|
432
|
+
reindex?: {
|
|
433
|
+
schedule: string;
|
|
434
|
+
} | undefined;
|
|
404
435
|
}>, {
|
|
405
436
|
name: string;
|
|
406
437
|
source: {
|
|
@@ -423,13 +454,10 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
423
454
|
url: string;
|
|
424
455
|
headers?: Record<string, string> | undefined;
|
|
425
456
|
selector?: string | undefined;
|
|
457
|
+
jsonPath?: string | undefined;
|
|
426
458
|
};
|
|
427
459
|
description: string;
|
|
428
460
|
embedding: string;
|
|
429
|
-
loader: {
|
|
430
|
-
type: "text" | "json" | "pdf" | "csv" | "markdown";
|
|
431
|
-
options?: Record<string, unknown> | undefined;
|
|
432
|
-
};
|
|
433
461
|
splitter: {
|
|
434
462
|
type: "recursive" | "markdown" | "character" | "token";
|
|
435
463
|
chunkSize: number;
|
|
@@ -441,9 +469,16 @@ export declare const KnowledgeConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
441
469
|
scoreThreshold?: number | undefined;
|
|
442
470
|
} | undefined;
|
|
443
471
|
metadata?: Record<string, unknown> | undefined;
|
|
472
|
+
loader?: {
|
|
473
|
+
type: "text" | "pdf" | "csv" | "json" | "markdown" | "html";
|
|
474
|
+
options?: Record<string, unknown> | undefined;
|
|
475
|
+
} | undefined;
|
|
444
476
|
graph?: {
|
|
445
477
|
directMapping?: any;
|
|
446
478
|
} | undefined;
|
|
479
|
+
reindex?: {
|
|
480
|
+
schedule: string;
|
|
481
|
+
} | undefined;
|
|
447
482
|
}, unknown>;
|
|
448
483
|
export type DirectorySourceConfig = z.infer<typeof DirectorySourceConfigSchema>;
|
|
449
484
|
export type FileSourceConfig = z.infer<typeof FileSourceConfigSchema>;
|
|
@@ -453,6 +488,7 @@ export type SourceConfig = z.infer<typeof SourceConfigSchema>;
|
|
|
453
488
|
export type LoaderConfig = z.infer<typeof LoaderConfigSchema>;
|
|
454
489
|
export type SplitterConfig = z.infer<typeof SplitterConfigSchema>;
|
|
455
490
|
export type SearchConfig = z.infer<typeof SearchConfigSchema>;
|
|
491
|
+
export type ReindexConfig = z.infer<typeof ReindexConfigSchema>;
|
|
456
492
|
export type GraphConfig = z.infer<typeof GraphConfigSchema>;
|
|
457
493
|
export type KnowledgeConfig = z.infer<typeof KnowledgeConfigSchema>;
|
|
458
494
|
export type VectorKnowledgeConfig = KnowledgeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/knowledge/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAItG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;EAKtC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/knowledge/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,9 @@ export const DatabaseSourceConfigSchema = z.object({
|
|
|
21
21
|
export const WebSourceConfigSchema = z.object({
|
|
22
22
|
type: z.literal('web'),
|
|
23
23
|
url: z.string().url().describe('URL to scrape'),
|
|
24
|
-
selector: z.string().optional().describe('CSS selector for targeted content extraction'),
|
|
24
|
+
selector: z.string().optional().describe('CSS selector for targeted content extraction (html only)'),
|
|
25
25
|
headers: z.record(z.string()).optional().describe('Custom headers for the request'),
|
|
26
|
+
jsonPath: z.string().optional().describe('Dot-notation path to extract from JSON response (e.g., "items" or "data.results")'),
|
|
26
27
|
});
|
|
27
28
|
export const SourceConfigSchema = z.discriminatedUnion('type', [
|
|
28
29
|
DirectorySourceConfigSchema,
|
|
@@ -31,7 +32,7 @@ export const SourceConfigSchema = z.discriminatedUnion('type', [
|
|
|
31
32
|
WebSourceConfigSchema,
|
|
32
33
|
]);
|
|
33
34
|
export const LoaderConfigSchema = z.object({
|
|
34
|
-
type: z.enum(['text', 'pdf', 'csv', 'json', 'markdown']).default('text'),
|
|
35
|
+
type: z.enum(['text', 'pdf', 'csv', 'json', 'markdown', 'html']).default('text'),
|
|
35
36
|
options: z.record(z.unknown()).optional(),
|
|
36
37
|
});
|
|
37
38
|
export const SplitterConfigSchema = z.object({
|
|
@@ -45,6 +46,9 @@ export const SearchConfigSchema = z.object({
|
|
|
45
46
|
defaultK: z.number().default(4),
|
|
46
47
|
scoreThreshold: z.number().optional(),
|
|
47
48
|
});
|
|
49
|
+
export const ReindexConfigSchema = z.object({
|
|
50
|
+
schedule: z.string().describe('Cron expression for periodic reindexing (e.g., "0 * * * *" for hourly)'),
|
|
51
|
+
});
|
|
48
52
|
// --- Graph Config Schema (direct mapping only) ---
|
|
49
53
|
export const GraphConfigSchema = z.object({
|
|
50
54
|
directMapping: z.any().optional(), // DirectMappingConfig
|
|
@@ -75,16 +79,27 @@ export const KnowledgeConfigSchema = z.preprocess((data) => {
|
|
|
75
79
|
delete s.localSearch;
|
|
76
80
|
cleaned.search = s;
|
|
77
81
|
}
|
|
82
|
+
// Default loader based on source type when not explicitly set
|
|
83
|
+
if (!cleaned.loader) {
|
|
84
|
+
const source = cleaned.source;
|
|
85
|
+
if (source?.type === 'web') {
|
|
86
|
+
cleaned.loader = { type: 'html' };
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
cleaned.loader = { type: 'text' };
|
|
90
|
+
}
|
|
91
|
+
}
|
|
78
92
|
return cleaned;
|
|
79
93
|
}, z.object({
|
|
80
94
|
name: z.string().describe('Unique knowledge store identifier'),
|
|
81
95
|
description: z.string().describe('Human-readable description'),
|
|
82
96
|
source: SourceConfigSchema,
|
|
83
|
-
loader: LoaderConfigSchema,
|
|
97
|
+
loader: LoaderConfigSchema.optional(),
|
|
84
98
|
splitter: SplitterConfigSchema,
|
|
85
99
|
embedding: EmbeddingRefSchema,
|
|
86
100
|
graph: GraphConfigSchema.optional(),
|
|
87
101
|
search: SearchConfigSchema.optional(),
|
|
102
|
+
reindex: ReindexConfigSchema.optional(),
|
|
88
103
|
metadata: z.record(z.unknown()).optional(),
|
|
89
104
|
}));
|
|
90
105
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/knowledge/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,yBAAyB;AAEzB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC3F,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC1F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/knowledge/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type StructuredTool } from '../types/llm-types.ts';
|
|
2
2
|
export interface LLMCallContext {
|
|
3
3
|
/** Caller identifier, e.g. "Agent: my-agent" or "ReactWorkflow: my-workflow" */
|
|
4
4
|
caller: string;
|
|
@@ -14,10 +14,12 @@ interface ContextStats {
|
|
|
14
14
|
systemPromptChars: number;
|
|
15
15
|
messageCount: number;
|
|
16
16
|
messageChars: number;
|
|
17
|
+
imageCount: number;
|
|
17
18
|
toolCount: number;
|
|
18
19
|
toolDescriptionChars: number;
|
|
19
20
|
totalChars: number;
|
|
20
21
|
estimatedTokens: number;
|
|
22
|
+
toolSizeMap: Map<string, number>;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Log context stats before an LLM call.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-call-logger.d.ts","sourceRoot":"","sources":["../../../lib/llm/llm-call-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"llm-call-logger.d.ts","sourceRoot":"","sources":["../../../lib/llm/llm-call-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK3E,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAA;KAAE,GAAG,GAAG,CAAC,CAAC;IACrF,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,UAAU,YAAY;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAsDD;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAyB/F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EACnB,YAAY,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,IAAI,CAoBN"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { contentToText } from "../types/llm-types.js";
|
|
1
2
|
import { createLogger } from "../logger.js";
|
|
2
3
|
const logger = createLogger('LLMCall');
|
|
3
4
|
/**
|
|
@@ -7,63 +8,66 @@ function computeStats(ctx) {
|
|
|
7
8
|
const systemPromptChars = ctx.systemPrompt?.length ?? 0;
|
|
8
9
|
let messageCount = 0;
|
|
9
10
|
let messageChars = 0;
|
|
11
|
+
let imageCount = 0;
|
|
10
12
|
if (ctx.messages) {
|
|
11
13
|
messageCount = ctx.messages.length;
|
|
12
14
|
for (const msg of ctx.messages) {
|
|
13
15
|
const content = typeof msg === 'string'
|
|
14
16
|
? msg
|
|
15
17
|
: msg.content
|
|
16
|
-
?
|
|
18
|
+
? contentToText(msg.content)
|
|
17
19
|
: JSON.stringify(msg);
|
|
18
20
|
messageChars += content.length;
|
|
21
|
+
// Count base64 image data that contentToText strips
|
|
22
|
+
if (msg.content && Array.isArray(msg.content)) {
|
|
23
|
+
for (const p of msg.content) {
|
|
24
|
+
if (p.type === 'image') {
|
|
25
|
+
messageChars += p.data?.length ?? 0;
|
|
26
|
+
imageCount++;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
19
30
|
}
|
|
20
31
|
}
|
|
21
32
|
let toolCount = 0;
|
|
22
33
|
let toolDescriptionChars = 0;
|
|
34
|
+
const toolSizeMap = new Map();
|
|
23
35
|
if (ctx.tools) {
|
|
24
36
|
toolCount = ctx.tools.length;
|
|
25
37
|
for (const t of ctx.tools) {
|
|
26
|
-
|
|
27
|
-
// Schema JSON also counts toward context
|
|
38
|
+
let size = (t.name?.length ?? 0) + (t.description?.length ?? 0);
|
|
28
39
|
if (t.schema) {
|
|
29
40
|
try {
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// skip if schema can't be serialized
|
|
41
|
+
size += JSON.stringify(t.schema).length;
|
|
34
42
|
}
|
|
43
|
+
catch { /* skip */ }
|
|
35
44
|
}
|
|
45
|
+
toolSizeMap.set(t.name, size);
|
|
46
|
+
toolDescriptionChars += size;
|
|
36
47
|
}
|
|
37
48
|
}
|
|
38
49
|
const totalChars = systemPromptChars + messageChars + toolDescriptionChars;
|
|
39
50
|
// Rough estimate: ~4 chars per token for English text
|
|
40
51
|
const estimatedTokens = Math.round(totalChars / 4);
|
|
41
|
-
return { systemPromptChars, messageCount, messageChars, toolCount, toolDescriptionChars, totalChars, estimatedTokens };
|
|
52
|
+
return { systemPromptChars, messageCount, messageChars, imageCount, toolCount, toolDescriptionChars, totalChars, estimatedTokens, toolSizeMap };
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
44
55
|
* Log context stats before an LLM call.
|
|
45
56
|
*/
|
|
46
57
|
export function logLLMCallStart(ctx) {
|
|
47
58
|
const stats = computeStats(ctx);
|
|
59
|
+
const totalKB = (stats.totalChars / 1024).toFixed(1);
|
|
48
60
|
const parts = [
|
|
49
|
-
`[${ctx.caller}] LLM call
|
|
50
|
-
`|
|
|
51
|
-
`|
|
|
52
|
-
`|
|
|
53
|
-
`| total context: ~${formatChars(stats.totalChars)} (~${stats.estimatedTokens.toLocaleString()} tokens est.)`,
|
|
61
|
+
`[${ctx.caller}] LLM call — context: ${totalKB} KB (~${stats.estimatedTokens.toLocaleString()} tokens)`,
|
|
62
|
+
`| messages: ${stats.messageCount}`,
|
|
63
|
+
`| images: ${stats.imageCount}`,
|
|
64
|
+
`| tools: ${stats.toolCount}`,
|
|
54
65
|
];
|
|
55
66
|
logger.info(parts.join(' '));
|
|
56
67
|
// Log individual tool sizes if there are any, for debugging bloated descriptions
|
|
57
|
-
if (stats.toolCount > 0 &&
|
|
58
|
-
const toolSizes =
|
|
59
|
-
.map((
|
|
60
|
-
let size = (t.name?.length ?? 0) + (t.description?.length ?? 0);
|
|
61
|
-
try {
|
|
62
|
-
size += JSON.stringify(t.schema).length;
|
|
63
|
-
}
|
|
64
|
-
catch { /* skip */ }
|
|
65
|
-
return { name: t.name, chars: size };
|
|
66
|
-
})
|
|
68
|
+
if (stats.toolCount > 0 && stats.toolSizeMap.size > 0) {
|
|
69
|
+
const toolSizes = Array.from(stats.toolSizeMap.entries())
|
|
70
|
+
.map(([name, chars]) => ({ name, chars }))
|
|
67
71
|
.sort((a, b) => b.chars - a.chars);
|
|
68
72
|
const toolSummary = toolSizes.map((t) => `${t.name}(${formatChars(t.chars)})`).join(', ');
|
|
69
73
|
logger.info(`[${ctx.caller}] Tool sizes: ${toolSummary}`);
|
|
@@ -75,13 +79,14 @@ export function logLLMCallStart(ctx) {
|
|
|
75
79
|
*/
|
|
76
80
|
export function logLLMCallEnd(caller, startTime, stats, responseInfo) {
|
|
77
81
|
const duration = Date.now() - startTime;
|
|
82
|
+
const contextKB = (stats.totalChars / 1024).toFixed(1);
|
|
78
83
|
const parts = [
|
|
79
84
|
`[${caller}] LLM call completed in ${formatDuration(duration)}`,
|
|
80
|
-
`|
|
|
85
|
+
`| sent: ${contextKB} KB`,
|
|
81
86
|
];
|
|
82
87
|
if (responseInfo?.contentLength !== undefined) {
|
|
83
|
-
const
|
|
84
|
-
parts.push(`| response: ${
|
|
88
|
+
const responseKB = (responseInfo.contentLength / 1024).toFixed(1);
|
|
89
|
+
parts.push(`| response: ${responseKB} KB`);
|
|
85
90
|
}
|
|
86
91
|
if (responseInfo?.messageCount !== undefined) {
|
|
87
92
|
parts.push(`| response messages: ${responseInfo.messageCount}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-call-logger.js","sourceRoot":"","sources":["../../../lib/llm/llm-call-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm-call-logger.js","sourceRoot":"","sources":["../../../lib/llm/llm-call-logger.ts"],"names":[],"mappings":"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"}
|