fawn-memory 0.0.9 → 0.0.10

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 CHANGED
@@ -1,4 +1,4 @@
1
- # fawn
1
+ # fawn-memory
2
2
 
3
3
  TypeScript toolkit for extracting structured knowledge from text and querying it with natural language. Built on TypeChat, with an in-memory semantic index and a simple REPL for exploration.
4
4
 
@@ -13,7 +13,7 @@ TypeScript toolkit for extracting structured knowledge from text and querying it
13
13
  ## Install
14
14
 
15
15
  ```sh
16
- pnpm install
16
+ npm install fawn-memory
17
17
  ```
18
18
 
19
19
  ## Quickstart (library)
@@ -23,7 +23,7 @@ import {
23
23
  createConversation,
24
24
  createMessage,
25
25
  createInMemoryStorageProvider
26
- } from "fawn";
26
+ } from "fawn-memory";
27
27
 
28
28
  const storage = createInMemoryStorageProvider();
29
29
  const messages = storage.createMessageCollection();
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Agent module - reusable agent loop with tool support
3
+ *
4
+ * This module provides a generic agent loop that:
5
+ * - Iteratively calls an LLM with tool documentation
6
+ * - Parses tool calls from LLM responses
7
+ * - Executes tools and feeds results back to the LLM
8
+ * - Continues until a final response is reached
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * import { createToolRegistry, createAgent } from 'fawn/agent';
13
+ *
14
+ * const registry = createToolRegistry();
15
+ * registry.register({
16
+ * name: 'my_tool',
17
+ * description: 'Does something',
18
+ * parameters: { input: { type: 'string', description: 'The input' } },
19
+ * execute: async (args) => ({ success: true, output: `Got: ${args.input}` })
20
+ * });
21
+ *
22
+ * const agent = createAgent(registry, languageModel, (toolDocs) => `
23
+ * You are a helpful assistant.
24
+ * ${toolDocs}
25
+ * `);
26
+ *
27
+ * const response = await agent.processMessage('Hello!');
28
+ * ```
29
+ */
30
+ export type { Tool, ToolResult, ParameterSpec, ParsedToolCall, ParseResult, ChatMessage, AgentLogger, AgentLoopOptions, SystemPromptBuilder } from './types.js';
31
+ export { createToolRegistry } from './registry.js';
32
+ export type { ToolRegistry } from './registry.js';
33
+ export { parseToolCalls, formatToolResults } from './parser.js';
34
+ export { runAgentLoop, createAgent } from './loop.js';
35
+ export type { Agent } from './loop.js';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Agent module - reusable agent loop with tool support
3
+ *
4
+ * This module provides a generic agent loop that:
5
+ * - Iteratively calls an LLM with tool documentation
6
+ * - Parses tool calls from LLM responses
7
+ * - Executes tools and feeds results back to the LLM
8
+ * - Continues until a final response is reached
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * import { createToolRegistry, createAgent } from 'fawn/agent';
13
+ *
14
+ * const registry = createToolRegistry();
15
+ * registry.register({
16
+ * name: 'my_tool',
17
+ * description: 'Does something',
18
+ * parameters: { input: { type: 'string', description: 'The input' } },
19
+ * execute: async (args) => ({ success: true, output: `Got: ${args.input}` })
20
+ * });
21
+ *
22
+ * const agent = createAgent(registry, languageModel, (toolDocs) => `
23
+ * You are a helpful assistant.
24
+ * ${toolDocs}
25
+ * `);
26
+ *
27
+ * const response = await agent.processMessage('Hello!');
28
+ * ```
29
+ */
30
+ // Tool registry
31
+ export { createToolRegistry } from './registry.js';
32
+ // Parser utilities
33
+ export { parseToolCalls, formatToolResults } from './parser.js';
34
+ // Agent loop
35
+ export { runAgentLoop, createAgent } from './loop.js';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAeH,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhE,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Agent reasoning loop.
3
+ * Iteratively calls LLM, parses tool calls, executes tools, until final response.
4
+ */
5
+ import type { TypeChatLanguageModel } from 'typechat';
6
+ import type { ToolRegistry } from './registry.js';
7
+ import type { AgentLoopOptions, SystemPromptBuilder } from './types.js';
8
+ /**
9
+ * Run the agent loop for a single user message.
10
+ *
11
+ * @param userMessage - The user's message
12
+ * @param toolRegistry - Available tools
13
+ * @param languageModel - LLM to use for completions
14
+ * @param systemPromptBuilder - Function to build system prompt from tool docs
15
+ * @param options - Optional configuration
16
+ * @returns The final response text
17
+ */
18
+ export declare function runAgentLoop(userMessage: string, toolRegistry: ToolRegistry, languageModel: TypeChatLanguageModel, systemPromptBuilder?: SystemPromptBuilder, options?: AgentLoopOptions): Promise<string>;
19
+ /**
20
+ * Agent that can process messages
21
+ */
22
+ export interface Agent {
23
+ /** Process a user message and return a response */
24
+ processMessage(userMessage: string): Promise<string>;
25
+ }
26
+ /**
27
+ * Create an agent bound to a tool registry and language model
28
+ *
29
+ * @param toolRegistry - The tools available to the agent
30
+ * @param languageModel - The LLM to use for completions
31
+ * @param systemPromptBuilder - Function to build system prompt from tool docs
32
+ * @param options - Optional configuration
33
+ */
34
+ export declare function createAgent(toolRegistry: ToolRegistry, languageModel: TypeChatLanguageModel, systemPromptBuilder?: SystemPromptBuilder, options?: AgentLoopOptions): Agent;
35
+ //# sourceMappingURL=loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAe,gBAAgB,EAAE,mBAAmB,EAAc,MAAM,YAAY,CAAC;AAyEjG;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,qBAAqB,EACpC,mBAAmB,GAAE,mBAAgD,EACrE,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAqEjB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,mDAAmD;IACnD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,qBAAqB,EACpC,mBAAmB,GAAE,mBAAgD,EACrE,OAAO,GAAE,gBAAqB,GAC7B,KAAK,CAMP"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Agent reasoning loop.
3
+ * Iteratively calls LLM, parses tool calls, executes tools, until final response.
4
+ */
5
+ import { parseToolCalls, formatToolResults } from './parser.js';
6
+ /** Maximum iterations to prevent runaway loops */
7
+ const DEFAULT_MAX_ITERATIONS = 10;
8
+ /**
9
+ * Format a concise status message for a tool call
10
+ */
11
+ function formatToolStatus(toolName, args) {
12
+ // Common tool patterns - customize based on tool name
13
+ switch (toolName) {
14
+ case 'read_file':
15
+ case 'readFile':
16
+ return `Reading ${shortenPath(String(args.path || args.file || ''))}`;
17
+ case 'write_file':
18
+ case 'writeFile':
19
+ return `Writing ${shortenPath(String(args.path || args.file || ''))}`;
20
+ case 'edit_file':
21
+ case 'editFile':
22
+ return `Editing ${shortenPath(String(args.path || args.file || ''))}`;
23
+ case 'list_dir':
24
+ case 'listDir':
25
+ case 'ls':
26
+ return `Listing ${shortenPath(String(args.path || args.dir || '.'))}`;
27
+ case 'search':
28
+ case 'grep':
29
+ return `Searching for "${String(args.pattern || args.query || '').slice(0, 30)}"`;
30
+ case 'shell':
31
+ case 'run':
32
+ case 'exec':
33
+ return `Running: ${String(args.command || args.cmd || '').slice(0, 40)}`;
34
+ case 'fetch_issue':
35
+ case 'fetchIssue':
36
+ return `Fetching issue #${args.issue_number || args.issueNumber || ''}`;
37
+ case 'create_branch':
38
+ case 'createBranch':
39
+ return `Creating branch: ${args.name || args.branch || ''}`;
40
+ case 'commit':
41
+ return `Committing: ${String(args.message || '').slice(0, 40)}`;
42
+ case 'push':
43
+ return `Pushing to remote`;
44
+ case 'create_pr':
45
+ case 'createPR':
46
+ return `Creating pull request`;
47
+ default:
48
+ // Generic format for unknown tools
49
+ const argSummary = Object.entries(args)
50
+ .slice(0, 2)
51
+ .map(([k, v]) => `${k}=${String(v).slice(0, 20)}`)
52
+ .join(', ');
53
+ return `${toolName}${argSummary ? `: ${argSummary}` : ''}`;
54
+ }
55
+ }
56
+ /**
57
+ * Shorten a file path for display
58
+ */
59
+ function shortenPath(path) {
60
+ if (!path)
61
+ return '';
62
+ // Get just filename or last 2 parts
63
+ const parts = path.replace(/\\/g, '/').split('/').filter(Boolean);
64
+ if (parts.length <= 2)
65
+ return parts.join('/');
66
+ return '.../' + parts.slice(-2).join('/');
67
+ }
68
+ /** Default system prompt builder - just includes tool docs */
69
+ const defaultSystemPromptBuilder = (toolDocs) => {
70
+ return `You are a helpful AI assistant with access to tools.
71
+
72
+ ${toolDocs}`;
73
+ };
74
+ /**
75
+ * Run the agent loop for a single user message.
76
+ *
77
+ * @param userMessage - The user's message
78
+ * @param toolRegistry - Available tools
79
+ * @param languageModel - LLM to use for completions
80
+ * @param systemPromptBuilder - Function to build system prompt from tool docs
81
+ * @param options - Optional configuration
82
+ * @returns The final response text
83
+ */
84
+ export async function runAgentLoop(userMessage, toolRegistry, languageModel, systemPromptBuilder = defaultSystemPromptBuilder, options = {}) {
85
+ const maxIterations = options.maxIterations ?? DEFAULT_MAX_ITERATIONS;
86
+ const logger = options.logger;
87
+ const conversationHistory = options.conversationHistory ?? [];
88
+ // Build conversation history
89
+ const toolDocs = toolRegistry.generateToolDocs();
90
+ const systemPrompt = systemPromptBuilder(toolDocs);
91
+ const messages = [
92
+ { role: 'system', content: systemPrompt },
93
+ ...conversationHistory,
94
+ { role: 'user', content: userMessage }
95
+ ];
96
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
97
+ logger?.debug(`Agent loop iteration ${iteration + 1}`);
98
+ // Call LLM
99
+ const result = await languageModel.complete(messages.map(m => ({ role: m.role, content: m.content })));
100
+ if (!result.success) {
101
+ logger?.error('LLM completion failed', { error: result.message });
102
+ throw new Error(`LLM error: ${result.message}`);
103
+ }
104
+ const response = result.data;
105
+ logger?.debug('LLM response received', { length: response.length });
106
+ logger?.debug('LLM raw response', { response: response.slice(0, 500) });
107
+ // Parse tool calls
108
+ const { text, toolCalls } = parseToolCalls(response);
109
+ // No tool calls? Return final response
110
+ if (toolCalls.length === 0) {
111
+ logger?.info('Agent completed');
112
+ return text || response;
113
+ }
114
+ // Only execute the first tool call to enforce step-by-step execution
115
+ const call = toolCalls[0];
116
+ const status = formatToolStatus(call.name, call.arguments);
117
+ logger?.info(status);
118
+ if (toolCalls.length > 1) {
119
+ logger?.debug(`Ignoring ${toolCalls.length - 1} additional tool calls to enforce step-by-step execution`);
120
+ }
121
+ // Execute single tool
122
+ logger?.debug(`Executing tool: ${call.name}`, { arguments: call.arguments });
123
+ const toolResult = await toolRegistry.execute(call);
124
+ if (toolResult.result.success) {
125
+ logger?.debug(`Tool ${call.name} succeeded`, { output: toolResult.result.output.slice(0, 100) });
126
+ }
127
+ else {
128
+ logger?.info(`Tool ${call.name} failed: ${toolResult.result.error}`);
129
+ }
130
+ const results = [toolResult];
131
+ // Add assistant response and tool results to history
132
+ messages.push({ role: 'assistant', content: response });
133
+ messages.push({ role: 'user', content: formatToolResults(results) });
134
+ }
135
+ // Max iterations exceeded
136
+ logger?.warn('Agent loop exceeded max iterations');
137
+ throw new Error(`Agent exceeded maximum iterations (${maxIterations})`);
138
+ }
139
+ /**
140
+ * Create an agent bound to a tool registry and language model
141
+ *
142
+ * @param toolRegistry - The tools available to the agent
143
+ * @param languageModel - The LLM to use for completions
144
+ * @param systemPromptBuilder - Function to build system prompt from tool docs
145
+ * @param options - Optional configuration
146
+ */
147
+ export function createAgent(toolRegistry, languageModel, systemPromptBuilder = defaultSystemPromptBuilder, options = {}) {
148
+ return {
149
+ async processMessage(userMessage) {
150
+ return runAgentLoop(userMessage, toolRegistry, languageModel, systemPromptBuilder, options);
151
+ }
152
+ };
153
+ }
154
+ //# sourceMappingURL=loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * XML tool call parser.
3
+ * Parses <tool_call> tags from LLM responses.
4
+ */
5
+ import type { ParseResult, ToolResult } from './types.js';
6
+ /**
7
+ * Parse tool calls from LLM response text.
8
+ *
9
+ * Supports multiple tag formats:
10
+ * - <tool_call>...</tool_call>
11
+ * - <toolcall>...</toolcall>
12
+ * - <tool-call>...</tool-call>
13
+ * - <invoke>...</invoke>
14
+ */
15
+ export declare function parseToolCalls(response: string): ParseResult;
16
+ /**
17
+ * Format tool results as XML for the next LLM turn
18
+ */
19
+ export declare function formatToolResults(results: Array<{
20
+ name: string;
21
+ result: ToolResult;
22
+ }>): string;
23
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/agent/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AAwH1E;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAgD5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,GACnD,MAAM,CAUR"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * XML tool call parser.
3
+ * Parses <tool_call> tags from LLM responses.
4
+ */
5
+ /** Supported opening tags for tool calls */
6
+ const TOOL_CALL_OPEN_TAGS = ['<tool_call>', '<toolcall>', '<tool-call>', '<invoke>'];
7
+ /** Map opening tags to their closing counterparts */
8
+ const CLOSE_TAG_MAP = {
9
+ '<tool_call>': '</tool_call>',
10
+ '<toolcall>': '</toolcall>',
11
+ '<tool-call>': '</tool-call>',
12
+ '<invoke>': '</invoke>'
13
+ };
14
+ /**
15
+ * Find the first matching open tag in the text
16
+ */
17
+ function findFirstOpenTag(text) {
18
+ let earliest = null;
19
+ for (const tag of TOOL_CALL_OPEN_TAGS) {
20
+ const index = text.indexOf(tag);
21
+ if (index !== -1 && (earliest === null || index < earliest.index)) {
22
+ earliest = { index, tag };
23
+ }
24
+ }
25
+ return earliest;
26
+ }
27
+ /**
28
+ * Extract JSON from inside a tool call tag
29
+ */
30
+ function extractJson(content) {
31
+ // Try to find JSON object in the content
32
+ const trimmed = content.trim();
33
+ // Remove markdown code blocks if present
34
+ let jsonStr = trimmed;
35
+ if (jsonStr.startsWith('```')) {
36
+ const endFence = jsonStr.indexOf('```', 3);
37
+ if (endFence !== -1) {
38
+ // Skip the first line (```json or similar)
39
+ const firstNewline = jsonStr.indexOf('\n');
40
+ jsonStr = jsonStr.slice(firstNewline + 1, endFence).trim();
41
+ }
42
+ }
43
+ // Find the JSON object
44
+ const jsonStart = jsonStr.indexOf('{');
45
+ if (jsonStart === -1) {
46
+ return null;
47
+ }
48
+ // Find matching closing brace
49
+ let depth = 0;
50
+ let inString = false;
51
+ let escapeNext = false;
52
+ let jsonEnd = -1;
53
+ for (let i = jsonStart; i < jsonStr.length; i++) {
54
+ const char = jsonStr[i];
55
+ if (escapeNext) {
56
+ escapeNext = false;
57
+ continue;
58
+ }
59
+ if (char === '\\' && inString) {
60
+ escapeNext = true;
61
+ continue;
62
+ }
63
+ if (char === '"') {
64
+ inString = !inString;
65
+ continue;
66
+ }
67
+ if (!inString) {
68
+ if (char === '{') {
69
+ depth++;
70
+ }
71
+ else if (char === '}') {
72
+ depth--;
73
+ if (depth === 0) {
74
+ jsonEnd = i + 1;
75
+ break;
76
+ }
77
+ }
78
+ }
79
+ }
80
+ if (jsonEnd === -1) {
81
+ return null;
82
+ }
83
+ try {
84
+ const json = JSON.parse(jsonStr.slice(jsonStart, jsonEnd));
85
+ // Handle OpenAI function format: { function: { name, arguments } }
86
+ if (json.function && typeof json.function === 'object') {
87
+ const fn = json.function;
88
+ const args = typeof fn.arguments === 'string'
89
+ ? JSON.parse(fn.arguments)
90
+ : fn.arguments || {};
91
+ return { name: fn.name, arguments: args };
92
+ }
93
+ // Standard format: { name, arguments }
94
+ if (typeof json.name === 'string') {
95
+ const args = typeof json.arguments === 'string'
96
+ ? JSON.parse(json.arguments)
97
+ : json.arguments || {};
98
+ return { name: json.name, arguments: args };
99
+ }
100
+ return null;
101
+ }
102
+ catch {
103
+ return null;
104
+ }
105
+ }
106
+ /**
107
+ * Parse tool calls from LLM response text.
108
+ *
109
+ * Supports multiple tag formats:
110
+ * - <tool_call>...</tool_call>
111
+ * - <toolcall>...</toolcall>
112
+ * - <tool-call>...</tool-call>
113
+ * - <invoke>...</invoke>
114
+ */
115
+ export function parseToolCalls(response) {
116
+ const textParts = [];
117
+ const toolCalls = [];
118
+ let remaining = response;
119
+ while (true) {
120
+ const openTag = findFirstOpenTag(remaining);
121
+ if (!openTag) {
122
+ // No more tool calls, rest is text
123
+ if (remaining.trim()) {
124
+ textParts.push(remaining.trim());
125
+ }
126
+ break;
127
+ }
128
+ // Text before the tag
129
+ const before = remaining.slice(0, openTag.index).trim();
130
+ if (before) {
131
+ textParts.push(before);
132
+ }
133
+ // Find closing tag
134
+ const closeTag = CLOSE_TAG_MAP[openTag.tag];
135
+ const afterOpen = remaining.slice(openTag.index + openTag.tag.length);
136
+ const closeIndex = afterOpen.indexOf(closeTag);
137
+ if (closeIndex === -1) {
138
+ // No closing tag found, treat rest as text
139
+ textParts.push(remaining.slice(openTag.index).trim());
140
+ break;
141
+ }
142
+ // Extract content between tags
143
+ const content = afterOpen.slice(0, closeIndex);
144
+ const parsed = extractJson(content);
145
+ if (parsed) {
146
+ toolCalls.push(parsed);
147
+ }
148
+ // Continue after the closing tag
149
+ remaining = afterOpen.slice(closeIndex + closeTag.length);
150
+ }
151
+ return {
152
+ text: textParts.join('\n'),
153
+ toolCalls
154
+ };
155
+ }
156
+ /**
157
+ * Format tool results as XML for the next LLM turn
158
+ */
159
+ export function formatToolResults(results) {
160
+ const parts = ['[Tool Results]'];
161
+ for (const { name, result } of results) {
162
+ const status = result.success ? 'success' : 'error';
163
+ const content = result.success ? result.output : (result.error || result.output);
164
+ parts.push(`<tool_result name="${name}" status="${status}">\n${content}\n</tool_result>`);
165
+ }
166
+ return parts.join('\n\n');
167
+ }
168
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/agent/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Tool registry.
3
+ * Manages available tools and generates system prompt documentation.
4
+ */
5
+ import type { Tool, ToolResult, ParsedToolCall } from './types.js';
6
+ /**
7
+ * Tool registry interface
8
+ */
9
+ export interface ToolRegistry {
10
+ /** Register a tool */
11
+ register(tool: Tool): void;
12
+ /** Get a tool by name */
13
+ get(name: string): Tool | undefined;
14
+ /** Get all registered tools */
15
+ getAll(): Tool[];
16
+ /** Generate tool documentation for system prompt */
17
+ generateToolDocs(): string;
18
+ /** Execute a parsed tool call */
19
+ execute(call: ParsedToolCall): Promise<{
20
+ name: string;
21
+ result: ToolResult;
22
+ }>;
23
+ }
24
+ /**
25
+ * Create a tool registry
26
+ */
27
+ export declare function createToolRegistry(): ToolRegistry;
28
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agent/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAE3B,yBAAyB;IACzB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,IAAI,IAAI,EAAE,CAAC;IAEjB,oDAAoD;IACpD,gBAAgB,IAAI,MAAM,CAAC;IAE3B,iCAAiC;IACjC,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAkGjD"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Tool registry.
3
+ * Manages available tools and generates system prompt documentation.
4
+ */
5
+ /**
6
+ * Create a tool registry
7
+ */
8
+ export function createToolRegistry() {
9
+ const tools = new Map();
10
+ function register(tool) {
11
+ if (tools.has(tool.name)) {
12
+ throw new Error(`Tool "${tool.name}" is already registered`);
13
+ }
14
+ tools.set(tool.name, tool);
15
+ }
16
+ function get(name) {
17
+ return tools.get(name);
18
+ }
19
+ function getAll() {
20
+ return Array.from(tools.values());
21
+ }
22
+ function generateToolDocs() {
23
+ const lines = [
24
+ '## Tool Use Protocol',
25
+ '',
26
+ 'To use a tool, wrap a JSON object in <tool_call></tool_call> tags:',
27
+ '',
28
+ '```',
29
+ '<tool_call>',
30
+ '{"name": "tool_name", "arguments": {"param": "value"}}',
31
+ '</tool_call>',
32
+ '```',
33
+ '',
34
+ 'You may use multiple tool calls in a single response.',
35
+ 'After tool execution, results appear in <tool_result> tags.',
36
+ 'Continue reasoning with the results until you can give a final answer.',
37
+ '',
38
+ '## Available Tools',
39
+ ''
40
+ ];
41
+ for (const tool of tools.values()) {
42
+ lines.push(`### ${tool.name}`);
43
+ lines.push('');
44
+ lines.push(tool.description);
45
+ lines.push('');
46
+ lines.push('**Parameters:**');
47
+ const paramEntries = Object.entries(tool.parameters);
48
+ if (paramEntries.length === 0) {
49
+ lines.push('- None');
50
+ }
51
+ else {
52
+ for (const [name, spec] of paramEntries) {
53
+ const required = spec.required !== false ? '(required)' : '(optional)';
54
+ lines.push(`- \`${name}\` (${spec.type}) ${required}: ${spec.description}`);
55
+ }
56
+ }
57
+ lines.push('');
58
+ }
59
+ return lines.join('\n');
60
+ }
61
+ async function execute(call) {
62
+ const tool = tools.get(call.name);
63
+ if (!tool) {
64
+ return {
65
+ name: call.name,
66
+ result: {
67
+ success: false,
68
+ output: '',
69
+ error: `Unknown tool: ${call.name}`
70
+ }
71
+ };
72
+ }
73
+ try {
74
+ const result = await tool.execute(call.arguments);
75
+ return { name: call.name, result };
76
+ }
77
+ catch (error) {
78
+ return {
79
+ name: call.name,
80
+ result: {
81
+ success: false,
82
+ output: '',
83
+ error: error instanceof Error ? error.message : String(error)
84
+ }
85
+ };
86
+ }
87
+ }
88
+ return {
89
+ register,
90
+ get,
91
+ getAll,
92
+ generateToolDocs,
93
+ execute
94
+ };
95
+ }
96
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agent/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEtC,SAAS,QAAQ,CAAC,IAAU;QAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,GAAG,CAAC,IAAY;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,MAAM;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,gBAAgB;QACvB,MAAM,KAAK,GAAa;YACtB,sBAAsB;YACtB,EAAE;YACF,oEAAoE;YACpE,EAAE;YACF,KAAK;YACL,aAAa;YACb,wDAAwD;YACxD,cAAc;YACd,KAAK;YACL,EAAE;YACF,uDAAuD;YACvD,6DAA6D;YAC7D,wEAAwE;YACxE,EAAE;YACF,oBAAoB;YACpB,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,IAAoB;QAEpB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE;iBACpC;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,GAAG;QACH,MAAM;QACN,gBAAgB;QAChB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Agent tool system types.
3
+ * Extensible tool interface for the agent loop.
4
+ */
5
+ /**
6
+ * Parameter specification for a tool argument
7
+ */
8
+ export interface ParameterSpec {
9
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
10
+ description: string;
11
+ required?: boolean;
12
+ }
13
+ /**
14
+ * Result from executing a tool
15
+ */
16
+ export interface ToolResult {
17
+ success: boolean;
18
+ output: string;
19
+ error?: string;
20
+ }
21
+ /**
22
+ * Tool interface - implement this to create new tools
23
+ */
24
+ export interface Tool {
25
+ /** Unique tool name */
26
+ readonly name: string;
27
+ /** Human-readable description of what the tool does */
28
+ readonly description: string;
29
+ /** Parameter specifications */
30
+ readonly parameters: Record<string, ParameterSpec>;
31
+ /** Execute the tool with the given arguments */
32
+ execute(args: Record<string, unknown>): Promise<ToolResult>;
33
+ }
34
+ /**
35
+ * Parsed tool call from LLM response
36
+ */
37
+ export interface ParsedToolCall {
38
+ name: string;
39
+ arguments: Record<string, unknown>;
40
+ }
41
+ /**
42
+ * Result of parsing LLM response for tool calls
43
+ */
44
+ export interface ParseResult {
45
+ /** Text content outside of tool calls */
46
+ text: string;
47
+ /** Parsed tool calls */
48
+ toolCalls: ParsedToolCall[];
49
+ }
50
+ /**
51
+ * Chat message for conversation history
52
+ */
53
+ export interface ChatMessage {
54
+ role: 'system' | 'user' | 'assistant';
55
+ content: string;
56
+ }
57
+ /**
58
+ * Logger interface for agent loop
59
+ */
60
+ export interface AgentLogger {
61
+ debug(message: string, data?: Record<string, unknown>): void;
62
+ info(message: string, data?: Record<string, unknown>): void;
63
+ warn(message: string, data?: Record<string, unknown>): void;
64
+ error(message: string, data?: Record<string, unknown>): void;
65
+ }
66
+ /**
67
+ * Agent loop options
68
+ */
69
+ export interface AgentLoopOptions {
70
+ /** Maximum iterations before stopping (default: 10) */
71
+ maxIterations?: number;
72
+ /** Optional logger for debugging */
73
+ logger?: AgentLogger;
74
+ /** Optional conversation history to prepend */
75
+ conversationHistory?: ChatMessage[];
76
+ }
77
+ /**
78
+ * System prompt builder function type
79
+ */
80
+ export type SystemPromptBuilder = (toolDocs: string) => string;
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEnD,gDAAgD;IAChD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Agent tool system types.
3
+ * Extensible tool interface for the agent loop.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/index.d.ts CHANGED
@@ -12,5 +12,6 @@ export type { TimestampIndexExtended } from './knowpro/timestampIndex.js';
12
12
  export { createTimestampIndex, createTimestampIndexExtended, parseTemporalExpression, hasTemporalReference } from './knowpro/timestampIndex.js';
13
13
  export * from './knowpro/llmProvider.js';
14
14
  export { setDebug, isDebugEnabled } from './knowpro/debug.js';
15
+ export * from './agent/index.js';
15
16
  export type { IStorageProvider, IMessageCollection, ISemanticRefCollection, ICollection, IReadonlyCollection, JsonSerializer, } from './knowpro/interfaces.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,eAAe,CAAC;AAOvB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1I,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACvL,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC9F,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAChJ,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG9D,YAAY,EACR,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,cAAc,GACjB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,eAAe,CAAC;AAOvB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC1I,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3G,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACvL,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC9F,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAChJ,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG9D,cAAc,kBAAkB,CAAC;AAGjC,YAAY,EACR,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,cAAc,GACjB,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,8 @@ export { createKnowledgeExtractor } from './knowpro/knowledge.js';
12
12
  export { createTimestampIndex, createTimestampIndexExtended, parseTemporalExpression, hasTemporalReference } from './knowpro/timestampIndex.js';
13
13
  export * from './knowpro/llmProvider.js';
14
14
  export { setDebug, isDebugEnabled } from './knowpro/debug.js';
15
+ // Agent module
16
+ export * from './agent/index.js';
15
17
  const invokedDirectly = process.argv[1] === fileURLToPath(import.meta.url);
16
18
  if (invokedDirectly) {
17
19
  const inMemoryStorageProvider = createInMemoryStorageProvider();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAmC,MAAM,2BAA2B,CAAC;AAC5H,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAI7E,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE1I,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAmBlE,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAChJ,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAY9D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE3E,IAAI,eAAe,EAAE,CAAC;IACpB,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;IAChE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,uBAAuB,EAAW,CAAC;IAC5E,IAAI,YAAY,GAAiB,kBAAkB,CACjD,QAAQ,EACR,mBAAmB,EACnB,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAC7C,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IACD,yDAAyD;IAEzD,MAAM,QAAQ,GAAG,eAAe,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAM,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;oBAC1E,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;wBAC1C,WAAW,CAAC,GAAG,CAAC,SAA2B,CAAC,CAAC;oBAC/C,CAAC;gBAEH,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;oBAC1E,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;wBAC1C,WAAW,CAAC,GAAG,CAAC,SAAmB,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;oBAC1E,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;wBACzC,UAAU,CAAC,GAAG,CAAC,SAAkB,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,UAAU,CAAC,GAAG,CAAC,SAAkB,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAC9E,SAAS;YACX,CAAC;YACD,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,YAAY,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,wBAAwB,CAAC;YAEpF,mBAAmB;YACnB,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC/D,IAAI,SAAS,GAAgC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAE3D,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACvD,SAAS,GAAG;oBACV,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACxB,IAAI;wBACJ,mBAAmB,EAAE,YAAY,CAAC,gBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;qBAC3E,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC,CAAC;YAEJ,MAAM,UAAU,GAAG;gBACjB,SAAS;gBACT,YAAY;gBACZ,QAAQ;gBACR,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;oBACjC,QAAQ,EAAE,YAAY,CAAC,MAAM;oBAC7B,YAAY,EAAE,QAAQ,CAAC,MAAM;iBAC9B;aACF,CAAC;YAEF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3D,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACnH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC;gBACnD,iBAAiB,EAAE,MAAM;gBACzB,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3D,OAAO,CAAC,GAAG,CAAC,iDAAiD,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACvH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC;gBAClD,iBAAiB,EAAE,MAAM;gBACzB,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/knowpro/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,EAAsB,MAAM,iBAAiB,CAAC;AAG9J,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAyC1D,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,CAAC,aAAa,EAC1C,gBAAgB,EAAE,gBAAgB,0FAsBrC;AAqHD,wBAAgB,cAAc,CAC1B,KAAK,EAAE,WAAW,EAClB,gBAAgB,EAAE,uBAAuB,EACzC,YAAY,EAAE,sBAAsB,EACpC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACrC,gBAAgB,CAAC,EAAE,6BAA6B,EAChD,aAAa,CAAC,EAAE,MAAM,GACvB,aAAa,CAAC,aAAa,CAwU7B"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/knowpro/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,EAAsB,MAAM,iBAAiB,CAAC;AAG9J,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAyC1D,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,CAAC,aAAa,EAC1C,gBAAgB,EAAE,gBAAgB,0FAwBrC;AAqHD,wBAAgB,cAAc,CAC1B,KAAK,EAAE,WAAW,EAClB,gBAAgB,EAAE,uBAAuB,EACzC,YAAY,EAAE,sBAAsB,EACpC,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACrC,gBAAgB,CAAC,EAAE,6BAA6B,EAChD,aAAa,CAAC,EAAE,MAAM,GACvB,aAAa,CAAC,aAAa,CAwU7B"}
@@ -1,5 +1,5 @@
1
1
  import { writeFileSync } from "node:fs";
2
- import { debug } from "./debug.js";
2
+ import { debug, isDebugEnabled } from "./debug.js";
3
3
  import { printRef } from "./entities.js";
4
4
  import { loadSchema } from "./schema.js";
5
5
  import { hasTemporalReference, parseTemporalExpression } from "./timestampIndex.js";
@@ -44,7 +44,9 @@ export function generateAnswer(rawQuery, compiledQuery, answerTranslator) {
44
44
  const promptText = prompt.join("\n\n");
45
45
  debug("ANSWER PROMPT");
46
46
  debug(promptText, promptText.length);
47
- writeFileSync("answerPrompt.txt", promptText);
47
+ if (isDebugEnabled()) {
48
+ writeFileSync("answerPrompt.txt", promptText);
49
+ }
48
50
  return answerTranslator.translate(promptText);
49
51
  }
50
52
  function scoreFacet(masterTerms, facet) {
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/knowpro/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/knowpro/search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fawn-memory",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "module",