@lleverage-ai/agent-sdk 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +2321 -0
- package/dist/agent.d.ts +52 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +2122 -0
- package/dist/agent.js.map +1 -0
- package/dist/backend.d.ts +378 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +71 -0
- package/dist/backend.js.map +1 -0
- package/dist/backends/composite.d.ts +258 -0
- package/dist/backends/composite.d.ts.map +1 -0
- package/dist/backends/composite.js +437 -0
- package/dist/backends/composite.js.map +1 -0
- package/dist/backends/filesystem.d.ts +268 -0
- package/dist/backends/filesystem.d.ts.map +1 -0
- package/dist/backends/filesystem.js +623 -0
- package/dist/backends/filesystem.js.map +1 -0
- package/dist/backends/index.d.ts +14 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +14 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/persistent.d.ts +312 -0
- package/dist/backends/persistent.d.ts.map +1 -0
- package/dist/backends/persistent.js +519 -0
- package/dist/backends/persistent.js.map +1 -0
- package/dist/backends/sandbox.d.ts +315 -0
- package/dist/backends/sandbox.d.ts.map +1 -0
- package/dist/backends/sandbox.js +490 -0
- package/dist/backends/sandbox.js.map +1 -0
- package/dist/backends/state.d.ts +225 -0
- package/dist/backends/state.d.ts.map +1 -0
- package/dist/backends/state.js +396 -0
- package/dist/backends/state.js.map +1 -0
- package/dist/checkpointer/file-saver.d.ts +182 -0
- package/dist/checkpointer/file-saver.d.ts.map +1 -0
- package/dist/checkpointer/file-saver.js +298 -0
- package/dist/checkpointer/file-saver.js.map +1 -0
- package/dist/checkpointer/index.d.ts +40 -0
- package/dist/checkpointer/index.d.ts.map +1 -0
- package/dist/checkpointer/index.js +40 -0
- package/dist/checkpointer/index.js.map +1 -0
- package/dist/checkpointer/kv-saver.d.ts +142 -0
- package/dist/checkpointer/kv-saver.d.ts.map +1 -0
- package/dist/checkpointer/kv-saver.js +176 -0
- package/dist/checkpointer/kv-saver.js.map +1 -0
- package/dist/checkpointer/memory-saver.d.ts +158 -0
- package/dist/checkpointer/memory-saver.d.ts.map +1 -0
- package/dist/checkpointer/memory-saver.js +222 -0
- package/dist/checkpointer/memory-saver.js.map +1 -0
- package/dist/checkpointer/types.d.ts +353 -0
- package/dist/checkpointer/types.d.ts.map +1 -0
- package/dist/checkpointer/types.js +159 -0
- package/dist/checkpointer/types.js.map +1 -0
- package/dist/context-manager.d.ts +627 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +1039 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context.d.ts +57 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/errors/index.d.ts +611 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1023 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generation-helpers.d.ts +126 -0
- package/dist/generation-helpers.d.ts.map +1 -0
- package/dist/generation-helpers.js +181 -0
- package/dist/generation-helpers.js.map +1 -0
- package/dist/hooks/audit.d.ts +210 -0
- package/dist/hooks/audit.d.ts.map +1 -0
- package/dist/hooks/audit.js +305 -0
- package/dist/hooks/audit.js.map +1 -0
- package/dist/hooks/cache.d.ts +180 -0
- package/dist/hooks/cache.d.ts.map +1 -0
- package/dist/hooks/cache.js +273 -0
- package/dist/hooks/cache.js.map +1 -0
- package/dist/hooks/guardrails.d.ts +145 -0
- package/dist/hooks/guardrails.d.ts.map +1 -0
- package/dist/hooks/guardrails.js +326 -0
- package/dist/hooks/guardrails.js.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/logging.d.ts +193 -0
- package/dist/hooks/logging.d.ts.map +1 -0
- package/dist/hooks/logging.js +345 -0
- package/dist/hooks/logging.js.map +1 -0
- package/dist/hooks/parallel-guardrails.d.ts +268 -0
- package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
- package/dist/hooks/parallel-guardrails.js +416 -0
- package/dist/hooks/parallel-guardrails.js.map +1 -0
- package/dist/hooks/rate-limit.d.ts +305 -0
- package/dist/hooks/rate-limit.d.ts.map +1 -0
- package/dist/hooks/rate-limit.js +372 -0
- package/dist/hooks/rate-limit.js.map +1 -0
- package/dist/hooks/retry.d.ts +144 -0
- package/dist/hooks/retry.d.ts.map +1 -0
- package/dist/hooks/retry.js +210 -0
- package/dist/hooks/retry.js.map +1 -0
- package/dist/hooks/secrets.d.ts +174 -0
- package/dist/hooks/secrets.d.ts.map +1 -0
- package/dist/hooks/secrets.js +306 -0
- package/dist/hooks/secrets.js.map +1 -0
- package/dist/hooks.d.ts +229 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +352 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +182 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/env.d.ts +25 -0
- package/dist/mcp/env.d.ts.map +1 -0
- package/dist/mcp/env.js +18 -0
- package/dist/mcp/env.js.map +1 -0
- package/dist/mcp/index.d.ts +16 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +184 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +446 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/types.d.ts +58 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +7 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/validation.d.ts +119 -0
- package/dist/mcp/validation.d.ts.map +1 -0
- package/dist/mcp/validation.js +407 -0
- package/dist/mcp/validation.js.map +1 -0
- package/dist/mcp/virtual-server.d.ts +78 -0
- package/dist/mcp/virtual-server.d.ts.map +1 -0
- package/dist/mcp/virtual-server.js +137 -0
- package/dist/mcp/virtual-server.js.map +1 -0
- package/dist/memory/filesystem-store.d.ts +217 -0
- package/dist/memory/filesystem-store.d.ts.map +1 -0
- package/dist/memory/filesystem-store.js +343 -0
- package/dist/memory/filesystem-store.js.map +1 -0
- package/dist/memory/index.d.ts +46 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +46 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/loader.d.ts +396 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +419 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/permissions.d.ts +282 -0
- package/dist/memory/permissions.d.ts.map +1 -0
- package/dist/memory/permissions.js +297 -0
- package/dist/memory/permissions.js.map +1 -0
- package/dist/memory/rules.d.ts +249 -0
- package/dist/memory/rules.d.ts.map +1 -0
- package/dist/memory/rules.js +362 -0
- package/dist/memory/rules.js.map +1 -0
- package/dist/memory/store.d.ts +286 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +263 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/middleware/apply.d.ts +73 -0
- package/dist/middleware/apply.d.ts.map +1 -0
- package/dist/middleware/apply.js +219 -0
- package/dist/middleware/apply.js.map +1 -0
- package/dist/middleware/context.d.ts +33 -0
- package/dist/middleware/context.d.ts.map +1 -0
- package/dist/middleware/context.js +176 -0
- package/dist/middleware/context.js.map +1 -0
- package/dist/middleware/index.d.ts +31 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +32 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logging.d.ts +137 -0
- package/dist/middleware/logging.d.ts.map +1 -0
- package/dist/middleware/logging.js +374 -0
- package/dist/middleware/logging.js.map +1 -0
- package/dist/middleware/types.d.ts +183 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +11 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/observability/events.d.ts +183 -0
- package/dist/observability/events.d.ts.map +1 -0
- package/dist/observability/events.js +305 -0
- package/dist/observability/events.js.map +1 -0
- package/dist/observability/index.d.ts +55 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +87 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +318 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +436 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/metrics.d.ts +341 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +490 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/preset.d.ts +161 -0
- package/dist/observability/preset.d.ts.map +1 -0
- package/dist/observability/preset.js +133 -0
- package/dist/observability/preset.js.map +1 -0
- package/dist/observability/streaming.d.ts +113 -0
- package/dist/observability/streaming.d.ts.map +1 -0
- package/dist/observability/streaming.js +114 -0
- package/dist/observability/streaming.js.map +1 -0
- package/dist/observability/tracing.d.ts +378 -0
- package/dist/observability/tracing.d.ts.map +1 -0
- package/dist/observability/tracing.js +539 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/plugins.d.ts +55 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +63 -0
- package/dist/plugins.js.map +1 -0
- package/dist/presets/index.d.ts +7 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +7 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/production.d.ts +262 -0
- package/dist/presets/production.d.ts.map +1 -0
- package/dist/presets/production.js +295 -0
- package/dist/presets/production.js.map +1 -0
- package/dist/security/index.d.ts +179 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +323 -0
- package/dist/security/index.js.map +1 -0
- package/dist/subagents/advanced.d.ts +413 -0
- package/dist/subagents/advanced.d.ts.map +1 -0
- package/dist/subagents/advanced.js +396 -0
- package/dist/subagents/advanced.js.map +1 -0
- package/dist/subagents/index.d.ts +14 -0
- package/dist/subagents/index.d.ts.map +1 -0
- package/dist/subagents/index.js +15 -0
- package/dist/subagents/index.js.map +1 -0
- package/dist/subagents.d.ts +73 -0
- package/dist/subagents.d.ts.map +1 -0
- package/dist/subagents.js +213 -0
- package/dist/subagents.js.map +1 -0
- package/dist/task-store/file-store.d.ts +76 -0
- package/dist/task-store/file-store.d.ts.map +1 -0
- package/dist/task-store/file-store.js +190 -0
- package/dist/task-store/file-store.js.map +1 -0
- package/dist/task-store/index.d.ts +11 -0
- package/dist/task-store/index.d.ts.map +1 -0
- package/dist/task-store/index.js +10 -0
- package/dist/task-store/index.js.map +1 -0
- package/dist/task-store/kv-store.d.ts +140 -0
- package/dist/task-store/kv-store.d.ts.map +1 -0
- package/dist/task-store/kv-store.js +169 -0
- package/dist/task-store/kv-store.js.map +1 -0
- package/dist/task-store/memory-store.d.ts +66 -0
- package/dist/task-store/memory-store.d.ts.map +1 -0
- package/dist/task-store/memory-store.js +125 -0
- package/dist/task-store/memory-store.js.map +1 -0
- package/dist/task-store/types.d.ts +235 -0
- package/dist/task-store/types.d.ts.map +1 -0
- package/dist/task-store/types.js +110 -0
- package/dist/task-store/types.js.map +1 -0
- package/dist/testing/assertions.d.ts +401 -0
- package/dist/testing/assertions.d.ts.map +1 -0
- package/dist/testing/assertions.js +630 -0
- package/dist/testing/assertions.js.map +1 -0
- package/dist/testing/index.d.ts +343 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +360 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-agent.d.ts +214 -0
- package/dist/testing/mock-agent.d.ts.map +1 -0
- package/dist/testing/mock-agent.js +448 -0
- package/dist/testing/mock-agent.js.map +1 -0
- package/dist/testing/recorder.d.ts +288 -0
- package/dist/testing/recorder.d.ts.map +1 -0
- package/dist/testing/recorder.js +499 -0
- package/dist/testing/recorder.js.map +1 -0
- package/dist/tools/execute.d.ts +104 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +191 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/factory.d.ts +260 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +241 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/filesystem.d.ts +215 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +311 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/search.d.ts +59 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +94 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/skills.d.ts +354 -0
- package/dist/tools/skills.d.ts.map +1 -0
- package/dist/tools/skills.js +413 -0
- package/dist/tools/skills.js.map +1 -0
- package/dist/tools/task.d.ts +272 -0
- package/dist/tools/task.d.ts.map +1 -0
- package/dist/tools/task.js +521 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/todos.d.ts +131 -0
- package/dist/tools/todos.d.ts.map +1 -0
- package/dist/tools/todos.js +120 -0
- package/dist/tools/todos.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +424 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +607 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/user-interaction.d.ts +116 -0
- package/dist/tools/user-interaction.d.ts.map +1 -0
- package/dist/tools/user-interaction.js +147 -0
- package/dist/tools/user-interaction.js.map +1 -0
- package/dist/tools/utils.d.ts +124 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +189 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools.d.ts +74 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +73 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +2421 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +55 -0
- package/dist/types.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory loading functions for agent memory system.
|
|
3
|
+
*
|
|
4
|
+
* Implements the two-tier memory architecture:
|
|
5
|
+
* - **User-Level Memory**: `~/.deepagents/{agentId}/agent.md`
|
|
6
|
+
* - **Project-Level Memory**: `[git-root]/.deepagents/agent.md`
|
|
7
|
+
*
|
|
8
|
+
* Also supports loading additional memory files from the user's agent directory.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import {
|
|
13
|
+
* loadAgentMemory,
|
|
14
|
+
* loadAdditionalMemoryFiles,
|
|
15
|
+
* buildMemorySection,
|
|
16
|
+
* } from "@lleverage-ai/agent-sdk";
|
|
17
|
+
*
|
|
18
|
+
* // Load user-level memory
|
|
19
|
+
* const userMemory = await loadAgentMemory("~/.deepagents/my-agent/agent.md");
|
|
20
|
+
*
|
|
21
|
+
* // Load all additional files from user directory
|
|
22
|
+
* const additional = await loadAdditionalMemoryFiles("~/.deepagents/my-agent");
|
|
23
|
+
*
|
|
24
|
+
* // Build a formatted memory section for the prompt
|
|
25
|
+
* const section = buildMemorySection(userMemory, projectMemory, additional);
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @packageDocumentation
|
|
29
|
+
*/
|
|
30
|
+
import type { MemoryPermissionStore } from "./permissions.js";
|
|
31
|
+
import type { MemoryDocument, MemoryMetadata, MemoryStore } from "./store.js";
|
|
32
|
+
/**
|
|
33
|
+
* Options for loading agent memory.
|
|
34
|
+
*
|
|
35
|
+
* @category Memory
|
|
36
|
+
*/
|
|
37
|
+
export interface LoadAgentMemoryOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Custom memory store to use.
|
|
40
|
+
* Defaults to FilesystemMemoryStore.
|
|
41
|
+
*/
|
|
42
|
+
store?: MemoryStore;
|
|
43
|
+
/**
|
|
44
|
+
* Override home directory for ~ expansion.
|
|
45
|
+
*/
|
|
46
|
+
homeDir?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for loading additional memory files.
|
|
50
|
+
*
|
|
51
|
+
* @category Memory
|
|
52
|
+
*/
|
|
53
|
+
export interface LoadAdditionalMemoryOptions {
|
|
54
|
+
/**
|
|
55
|
+
* Custom memory store to use.
|
|
56
|
+
* Defaults to FilesystemMemoryStore.
|
|
57
|
+
*/
|
|
58
|
+
store?: MemoryStore;
|
|
59
|
+
/**
|
|
60
|
+
* File to exclude (usually agent.md).
|
|
61
|
+
* @defaultValue ["agent.md"]
|
|
62
|
+
*/
|
|
63
|
+
exclude?: string[];
|
|
64
|
+
/**
|
|
65
|
+
* Override home directory for ~ expansion.
|
|
66
|
+
*/
|
|
67
|
+
homeDir?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Result from loading additional memory files.
|
|
71
|
+
*
|
|
72
|
+
* @category Memory
|
|
73
|
+
*/
|
|
74
|
+
export interface AdditionalMemoryFile {
|
|
75
|
+
/**
|
|
76
|
+
* Filename without path.
|
|
77
|
+
*/
|
|
78
|
+
filename: string;
|
|
79
|
+
/**
|
|
80
|
+
* Full content of the file.
|
|
81
|
+
*/
|
|
82
|
+
content: string;
|
|
83
|
+
/**
|
|
84
|
+
* Parsed metadata from frontmatter.
|
|
85
|
+
*/
|
|
86
|
+
metadata: MemoryMetadata;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Load a single agent memory file.
|
|
90
|
+
*
|
|
91
|
+
* Reads the file, parses YAML frontmatter, and returns the document.
|
|
92
|
+
*
|
|
93
|
+
* @param filePath - Path to the memory file
|
|
94
|
+
* @param options - Loading options
|
|
95
|
+
* @returns The memory content, or undefined if not found
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const memory = await loadAgentMemory("~/.deepagents/my-agent/agent.md");
|
|
100
|
+
* if (memory) {
|
|
101
|
+
* console.log(memory.content);
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* @category Memory
|
|
106
|
+
*/
|
|
107
|
+
export declare function loadAgentMemory(filePath: string, options?: LoadAgentMemoryOptions): Promise<MemoryDocument | undefined>;
|
|
108
|
+
/**
|
|
109
|
+
* Load all additional memory files from a directory.
|
|
110
|
+
*
|
|
111
|
+
* Scans the directory for .md files (excluding agent.md by default)
|
|
112
|
+
* and returns their content.
|
|
113
|
+
*
|
|
114
|
+
* @param dirPath - Path to the agent memory directory
|
|
115
|
+
* @param options - Loading options
|
|
116
|
+
* @returns Array of additional memory file content
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const files = await loadAdditionalMemoryFiles("~/.deepagents/my-agent");
|
|
121
|
+
* for (const file of files) {
|
|
122
|
+
* console.log(`${file.filename}: ${file.content.slice(0, 100)}...`);
|
|
123
|
+
* }
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @category Memory
|
|
127
|
+
*/
|
|
128
|
+
export declare function loadAdditionalMemoryFiles(dirPath: string, options?: LoadAdditionalMemoryOptions): Promise<AdditionalMemoryFile[]>;
|
|
129
|
+
/**
|
|
130
|
+
* Find the git root directory from a given path.
|
|
131
|
+
*
|
|
132
|
+
* @param fromPath - Starting path to search from
|
|
133
|
+
* @returns The git root path, or undefined if not in a git repo
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const gitRoot = await findGitRoot("/path/to/project/src/file.ts");
|
|
138
|
+
* // Returns "/path/to/project" if that's the git root
|
|
139
|
+
* ```
|
|
140
|
+
*
|
|
141
|
+
* @category Memory
|
|
142
|
+
*/
|
|
143
|
+
export declare function findGitRoot(fromPath: string): Promise<string | undefined>;
|
|
144
|
+
/**
|
|
145
|
+
* Get the project memory path based on git root.
|
|
146
|
+
*
|
|
147
|
+
* @param workingDirectory - Current working directory
|
|
148
|
+
* @returns Path to project memory file, or undefined if not in git repo
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const projectMemoryPath = await getProjectMemoryPath("/path/to/project");
|
|
153
|
+
* // Returns "/path/to/project/.deepagents/agent.md"
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @category Memory
|
|
157
|
+
*/
|
|
158
|
+
export declare function getProjectMemoryPath(workingDirectory: string): Promise<string | undefined>;
|
|
159
|
+
/**
|
|
160
|
+
* Get the user memory path for an agent.
|
|
161
|
+
*
|
|
162
|
+
* @param agentId - The agent identifier
|
|
163
|
+
* @param homeDir - Optional home directory override
|
|
164
|
+
* @returns Path to user memory file
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const userMemoryPath = getUserMemoryPath("my-agent");
|
|
169
|
+
* // Returns "/home/user/.deepagents/my-agent/agent.md"
|
|
170
|
+
* ```
|
|
171
|
+
*
|
|
172
|
+
* @category Memory
|
|
173
|
+
*/
|
|
174
|
+
export declare function getUserMemoryPath(agentId: string, homeDir?: string): string;
|
|
175
|
+
/**
|
|
176
|
+
* Get the user agent directory for an agent.
|
|
177
|
+
*
|
|
178
|
+
* @param agentId - The agent identifier
|
|
179
|
+
* @param homeDir - Optional home directory override
|
|
180
|
+
* @returns Path to user agent directory
|
|
181
|
+
*
|
|
182
|
+
* @category Memory
|
|
183
|
+
*/
|
|
184
|
+
export declare function getUserAgentDir(agentId: string, homeDir?: string): string;
|
|
185
|
+
/**
|
|
186
|
+
* Options for building the memory section.
|
|
187
|
+
*
|
|
188
|
+
* @category Memory
|
|
189
|
+
*/
|
|
190
|
+
export interface BuildMemorySectionOptions {
|
|
191
|
+
/**
|
|
192
|
+
* Header for the user memory section.
|
|
193
|
+
* @defaultValue "# User Memory"
|
|
194
|
+
*/
|
|
195
|
+
userHeader?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Header for the project memory section.
|
|
198
|
+
* @defaultValue "# Project Memory"
|
|
199
|
+
*/
|
|
200
|
+
projectHeader?: string;
|
|
201
|
+
/**
|
|
202
|
+
* Header for additional files section.
|
|
203
|
+
* @defaultValue "# Additional Context"
|
|
204
|
+
*/
|
|
205
|
+
additionalHeader?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Include file names as subheaders for additional files.
|
|
208
|
+
* @defaultValue true
|
|
209
|
+
*/
|
|
210
|
+
includeFilenames?: boolean;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Build a formatted memory section for injection into prompts.
|
|
214
|
+
*
|
|
215
|
+
* Combines user memory, project memory, and additional files into
|
|
216
|
+
* a single formatted string suitable for system prompt injection.
|
|
217
|
+
*
|
|
218
|
+
* @param userMemory - User-level memory document
|
|
219
|
+
* @param projectMemory - Project-level memory document
|
|
220
|
+
* @param additionalFiles - Additional memory files
|
|
221
|
+
* @param options - Formatting options
|
|
222
|
+
* @returns Formatted memory section string
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```typescript
|
|
226
|
+
* const userMemory = await loadAgentMemory("~/.deepagents/agent/agent.md");
|
|
227
|
+
* const projectMemory = await loadAgentMemory("/project/.deepagents/agent.md");
|
|
228
|
+
* const additional = await loadAdditionalMemoryFiles("~/.deepagents/agent");
|
|
229
|
+
*
|
|
230
|
+
* const section = buildMemorySection(userMemory, projectMemory, additional);
|
|
231
|
+
* const systemPrompt = `You are a helpful assistant.\n\n${section}`;
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* @category Memory
|
|
235
|
+
*/
|
|
236
|
+
export declare function buildMemorySection(userMemory: MemoryDocument | undefined, projectMemory: MemoryDocument | undefined, additionalFiles: AdditionalMemoryFile[], options?: BuildMemorySectionOptions): string;
|
|
237
|
+
/**
|
|
238
|
+
* Audit event emitted when memory is loaded.
|
|
239
|
+
*
|
|
240
|
+
* @category Memory
|
|
241
|
+
*/
|
|
242
|
+
export interface MemoryAuditEvent {
|
|
243
|
+
/**
|
|
244
|
+
* Event type.
|
|
245
|
+
*/
|
|
246
|
+
type: "memory_loaded" | "memory_approval_requested" | "memory_approval_denied" | "memory_content_changed";
|
|
247
|
+
/**
|
|
248
|
+
* Path to the memory file.
|
|
249
|
+
*/
|
|
250
|
+
path: string;
|
|
251
|
+
/**
|
|
252
|
+
* Content hash of the memory file.
|
|
253
|
+
*/
|
|
254
|
+
contentHash: string;
|
|
255
|
+
/**
|
|
256
|
+
* Whether the load was approved.
|
|
257
|
+
*/
|
|
258
|
+
approved: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Timestamp (Unix ms).
|
|
261
|
+
*/
|
|
262
|
+
timestamp: number;
|
|
263
|
+
/**
|
|
264
|
+
* Agent ID that loaded the memory.
|
|
265
|
+
*/
|
|
266
|
+
agentId: string;
|
|
267
|
+
/**
|
|
268
|
+
* Previous content hash (for change detection).
|
|
269
|
+
*/
|
|
270
|
+
previousHash?: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Options for loading all agent memory.
|
|
274
|
+
*
|
|
275
|
+
* @category Memory
|
|
276
|
+
*/
|
|
277
|
+
export interface LoadAllMemoryOptions {
|
|
278
|
+
/**
|
|
279
|
+
* Unique identifier for the agent.
|
|
280
|
+
*/
|
|
281
|
+
agentId: string;
|
|
282
|
+
/**
|
|
283
|
+
* Working directory for project memory detection.
|
|
284
|
+
* @defaultValue process.cwd()
|
|
285
|
+
*/
|
|
286
|
+
workingDirectory?: string;
|
|
287
|
+
/**
|
|
288
|
+
* Custom home directory override.
|
|
289
|
+
*/
|
|
290
|
+
homeDir?: string;
|
|
291
|
+
/**
|
|
292
|
+
* Custom memory store.
|
|
293
|
+
*/
|
|
294
|
+
store?: MemoryStore;
|
|
295
|
+
/**
|
|
296
|
+
* Memory permission store for approval persistence.
|
|
297
|
+
*
|
|
298
|
+
* When provided, approval decisions are persisted and checked on each load.
|
|
299
|
+
* If the file content has changed since approval, re-approval is required.
|
|
300
|
+
*/
|
|
301
|
+
permissionStore?: MemoryPermissionStore;
|
|
302
|
+
/**
|
|
303
|
+
* Callback to request project memory approval.
|
|
304
|
+
*
|
|
305
|
+
* Project-level memory may contain sensitive instructions.
|
|
306
|
+
* Use this callback to implement approval workflows.
|
|
307
|
+
*
|
|
308
|
+
* When permissionStore is provided:
|
|
309
|
+
* - This callback is only invoked if the file is not approved or has changed
|
|
310
|
+
* - Approval is automatically persisted when granted
|
|
311
|
+
*/
|
|
312
|
+
requestProjectApproval?: (projectPath: string, contentHash: string, previousHash?: string) => Promise<boolean>;
|
|
313
|
+
/**
|
|
314
|
+
* Callback for audit events.
|
|
315
|
+
*
|
|
316
|
+
* Called when memory is loaded, approval is requested, or content changes are detected.
|
|
317
|
+
* Use this to integrate with audit logging systems or hooks.
|
|
318
|
+
*/
|
|
319
|
+
onAuditEvent?: (event: MemoryAuditEvent) => void | Promise<void>;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Result from loading all agent memory.
|
|
323
|
+
*
|
|
324
|
+
* @category Memory
|
|
325
|
+
*/
|
|
326
|
+
export interface LoadAllMemoryResult {
|
|
327
|
+
/**
|
|
328
|
+
* User-level memory document.
|
|
329
|
+
*/
|
|
330
|
+
userMemory: MemoryDocument | undefined;
|
|
331
|
+
/**
|
|
332
|
+
* Project-level memory document.
|
|
333
|
+
*/
|
|
334
|
+
projectMemory: MemoryDocument | undefined;
|
|
335
|
+
/**
|
|
336
|
+
* Additional memory files.
|
|
337
|
+
*/
|
|
338
|
+
additionalFiles: AdditionalMemoryFile[];
|
|
339
|
+
/**
|
|
340
|
+
* Whether project memory was approved.
|
|
341
|
+
*/
|
|
342
|
+
projectApproved: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* Built memory section for prompt injection.
|
|
345
|
+
*/
|
|
346
|
+
memorySection: string;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Load all agent memory (user, project, and additional files).
|
|
350
|
+
*
|
|
351
|
+
* This is the main entry point for loading agent memory.
|
|
352
|
+
* It handles the two-tier architecture, approval workflow, and change detection.
|
|
353
|
+
*
|
|
354
|
+
* @param options - Loading options
|
|
355
|
+
* @returns Complete memory loading result
|
|
356
|
+
*
|
|
357
|
+
* @example Basic usage
|
|
358
|
+
* ```typescript
|
|
359
|
+
* const memory = await loadAllMemory({
|
|
360
|
+
* agentId: "my-agent",
|
|
361
|
+
* workingDirectory: "/path/to/project",
|
|
362
|
+
* requestProjectApproval: async (path, hash, previousHash) => {
|
|
363
|
+
* if (previousHash) {
|
|
364
|
+
* console.log(`Memory file ${path} has changed!`);
|
|
365
|
+
* }
|
|
366
|
+
* return confirm(`Load project memory from ${path}?`);
|
|
367
|
+
* },
|
|
368
|
+
* });
|
|
369
|
+
*
|
|
370
|
+
* // Use in system prompt
|
|
371
|
+
* const systemPrompt = `You are a helpful assistant.\n\n${memory.memorySection}`;
|
|
372
|
+
* ```
|
|
373
|
+
*
|
|
374
|
+
* @example With permission persistence and audit logging
|
|
375
|
+
* ```typescript
|
|
376
|
+
* import { createMemoryPermissionStore } from "@lleverage-ai/agent-sdk";
|
|
377
|
+
*
|
|
378
|
+
* const permStore = createMemoryPermissionStore();
|
|
379
|
+
*
|
|
380
|
+
* const memory = await loadAllMemory({
|
|
381
|
+
* agentId: "my-agent",
|
|
382
|
+
* permissionStore: permStore,
|
|
383
|
+
* requestProjectApproval: async (path, hash, previousHash) => {
|
|
384
|
+
* // Only called if not approved or content changed
|
|
385
|
+
* return confirm(`Approve ${path}?`);
|
|
386
|
+
* },
|
|
387
|
+
* onAuditEvent: (event) => {
|
|
388
|
+
* console.log("Memory audit:", event);
|
|
389
|
+
* },
|
|
390
|
+
* });
|
|
391
|
+
* ```
|
|
392
|
+
*
|
|
393
|
+
* @category Memory
|
|
394
|
+
*/
|
|
395
|
+
export declare function loadAllMemory(options: LoadAllMemoryOptions): Promise<LoadAllMemoryResult>;
|
|
396
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"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"}
|