@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.
Files changed (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2321 -0
  3. package/dist/agent.d.ts +52 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +2122 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/backend.d.ts +378 -0
  8. package/dist/backend.d.ts.map +1 -0
  9. package/dist/backend.js +71 -0
  10. package/dist/backend.js.map +1 -0
  11. package/dist/backends/composite.d.ts +258 -0
  12. package/dist/backends/composite.d.ts.map +1 -0
  13. package/dist/backends/composite.js +437 -0
  14. package/dist/backends/composite.js.map +1 -0
  15. package/dist/backends/filesystem.d.ts +268 -0
  16. package/dist/backends/filesystem.d.ts.map +1 -0
  17. package/dist/backends/filesystem.js +623 -0
  18. package/dist/backends/filesystem.js.map +1 -0
  19. package/dist/backends/index.d.ts +14 -0
  20. package/dist/backends/index.d.ts.map +1 -0
  21. package/dist/backends/index.js +14 -0
  22. package/dist/backends/index.js.map +1 -0
  23. package/dist/backends/persistent.d.ts +312 -0
  24. package/dist/backends/persistent.d.ts.map +1 -0
  25. package/dist/backends/persistent.js +519 -0
  26. package/dist/backends/persistent.js.map +1 -0
  27. package/dist/backends/sandbox.d.ts +315 -0
  28. package/dist/backends/sandbox.d.ts.map +1 -0
  29. package/dist/backends/sandbox.js +490 -0
  30. package/dist/backends/sandbox.js.map +1 -0
  31. package/dist/backends/state.d.ts +225 -0
  32. package/dist/backends/state.d.ts.map +1 -0
  33. package/dist/backends/state.js +396 -0
  34. package/dist/backends/state.js.map +1 -0
  35. package/dist/checkpointer/file-saver.d.ts +182 -0
  36. package/dist/checkpointer/file-saver.d.ts.map +1 -0
  37. package/dist/checkpointer/file-saver.js +298 -0
  38. package/dist/checkpointer/file-saver.js.map +1 -0
  39. package/dist/checkpointer/index.d.ts +40 -0
  40. package/dist/checkpointer/index.d.ts.map +1 -0
  41. package/dist/checkpointer/index.js +40 -0
  42. package/dist/checkpointer/index.js.map +1 -0
  43. package/dist/checkpointer/kv-saver.d.ts +142 -0
  44. package/dist/checkpointer/kv-saver.d.ts.map +1 -0
  45. package/dist/checkpointer/kv-saver.js +176 -0
  46. package/dist/checkpointer/kv-saver.js.map +1 -0
  47. package/dist/checkpointer/memory-saver.d.ts +158 -0
  48. package/dist/checkpointer/memory-saver.d.ts.map +1 -0
  49. package/dist/checkpointer/memory-saver.js +222 -0
  50. package/dist/checkpointer/memory-saver.js.map +1 -0
  51. package/dist/checkpointer/types.d.ts +353 -0
  52. package/dist/checkpointer/types.d.ts.map +1 -0
  53. package/dist/checkpointer/types.js +159 -0
  54. package/dist/checkpointer/types.js.map +1 -0
  55. package/dist/context-manager.d.ts +627 -0
  56. package/dist/context-manager.d.ts.map +1 -0
  57. package/dist/context-manager.js +1039 -0
  58. package/dist/context-manager.js.map +1 -0
  59. package/dist/context.d.ts +57 -0
  60. package/dist/context.d.ts.map +1 -0
  61. package/dist/context.js +76 -0
  62. package/dist/context.js.map +1 -0
  63. package/dist/errors/index.d.ts +611 -0
  64. package/dist/errors/index.d.ts.map +1 -0
  65. package/dist/errors/index.js +1023 -0
  66. package/dist/errors/index.js.map +1 -0
  67. package/dist/generation-helpers.d.ts +126 -0
  68. package/dist/generation-helpers.d.ts.map +1 -0
  69. package/dist/generation-helpers.js +181 -0
  70. package/dist/generation-helpers.js.map +1 -0
  71. package/dist/hooks/audit.d.ts +210 -0
  72. package/dist/hooks/audit.d.ts.map +1 -0
  73. package/dist/hooks/audit.js +305 -0
  74. package/dist/hooks/audit.js.map +1 -0
  75. package/dist/hooks/cache.d.ts +180 -0
  76. package/dist/hooks/cache.d.ts.map +1 -0
  77. package/dist/hooks/cache.js +273 -0
  78. package/dist/hooks/cache.js.map +1 -0
  79. package/dist/hooks/guardrails.d.ts +145 -0
  80. package/dist/hooks/guardrails.d.ts.map +1 -0
  81. package/dist/hooks/guardrails.js +326 -0
  82. package/dist/hooks/guardrails.js.map +1 -0
  83. package/dist/hooks/index.d.ts +18 -0
  84. package/dist/hooks/index.d.ts.map +1 -0
  85. package/dist/hooks/index.js +32 -0
  86. package/dist/hooks/index.js.map +1 -0
  87. package/dist/hooks/logging.d.ts +193 -0
  88. package/dist/hooks/logging.d.ts.map +1 -0
  89. package/dist/hooks/logging.js +345 -0
  90. package/dist/hooks/logging.js.map +1 -0
  91. package/dist/hooks/parallel-guardrails.d.ts +268 -0
  92. package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
  93. package/dist/hooks/parallel-guardrails.js +416 -0
  94. package/dist/hooks/parallel-guardrails.js.map +1 -0
  95. package/dist/hooks/rate-limit.d.ts +305 -0
  96. package/dist/hooks/rate-limit.d.ts.map +1 -0
  97. package/dist/hooks/rate-limit.js +372 -0
  98. package/dist/hooks/rate-limit.js.map +1 -0
  99. package/dist/hooks/retry.d.ts +144 -0
  100. package/dist/hooks/retry.d.ts.map +1 -0
  101. package/dist/hooks/retry.js +210 -0
  102. package/dist/hooks/retry.js.map +1 -0
  103. package/dist/hooks/secrets.d.ts +174 -0
  104. package/dist/hooks/secrets.d.ts.map +1 -0
  105. package/dist/hooks/secrets.js +306 -0
  106. package/dist/hooks/secrets.js.map +1 -0
  107. package/dist/hooks.d.ts +229 -0
  108. package/dist/hooks.d.ts.map +1 -0
  109. package/dist/hooks.js +352 -0
  110. package/dist/hooks.js.map +1 -0
  111. package/dist/index.d.ts +97 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +182 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/mcp/env.d.ts +25 -0
  116. package/dist/mcp/env.d.ts.map +1 -0
  117. package/dist/mcp/env.js +18 -0
  118. package/dist/mcp/env.js.map +1 -0
  119. package/dist/mcp/index.d.ts +16 -0
  120. package/dist/mcp/index.d.ts.map +1 -0
  121. package/dist/mcp/index.js +17 -0
  122. package/dist/mcp/index.js.map +1 -0
  123. package/dist/mcp/manager.d.ts +184 -0
  124. package/dist/mcp/manager.d.ts.map +1 -0
  125. package/dist/mcp/manager.js +446 -0
  126. package/dist/mcp/manager.js.map +1 -0
  127. package/dist/mcp/types.d.ts +58 -0
  128. package/dist/mcp/types.d.ts.map +1 -0
  129. package/dist/mcp/types.js +7 -0
  130. package/dist/mcp/types.js.map +1 -0
  131. package/dist/mcp/validation.d.ts +119 -0
  132. package/dist/mcp/validation.d.ts.map +1 -0
  133. package/dist/mcp/validation.js +407 -0
  134. package/dist/mcp/validation.js.map +1 -0
  135. package/dist/mcp/virtual-server.d.ts +78 -0
  136. package/dist/mcp/virtual-server.d.ts.map +1 -0
  137. package/dist/mcp/virtual-server.js +137 -0
  138. package/dist/mcp/virtual-server.js.map +1 -0
  139. package/dist/memory/filesystem-store.d.ts +217 -0
  140. package/dist/memory/filesystem-store.d.ts.map +1 -0
  141. package/dist/memory/filesystem-store.js +343 -0
  142. package/dist/memory/filesystem-store.js.map +1 -0
  143. package/dist/memory/index.d.ts +46 -0
  144. package/dist/memory/index.d.ts.map +1 -0
  145. package/dist/memory/index.js +46 -0
  146. package/dist/memory/index.js.map +1 -0
  147. package/dist/memory/loader.d.ts +396 -0
  148. package/dist/memory/loader.d.ts.map +1 -0
  149. package/dist/memory/loader.js +419 -0
  150. package/dist/memory/loader.js.map +1 -0
  151. package/dist/memory/permissions.d.ts +282 -0
  152. package/dist/memory/permissions.d.ts.map +1 -0
  153. package/dist/memory/permissions.js +297 -0
  154. package/dist/memory/permissions.js.map +1 -0
  155. package/dist/memory/rules.d.ts +249 -0
  156. package/dist/memory/rules.d.ts.map +1 -0
  157. package/dist/memory/rules.js +362 -0
  158. package/dist/memory/rules.js.map +1 -0
  159. package/dist/memory/store.d.ts +286 -0
  160. package/dist/memory/store.d.ts.map +1 -0
  161. package/dist/memory/store.js +263 -0
  162. package/dist/memory/store.js.map +1 -0
  163. package/dist/middleware/apply.d.ts +73 -0
  164. package/dist/middleware/apply.d.ts.map +1 -0
  165. package/dist/middleware/apply.js +219 -0
  166. package/dist/middleware/apply.js.map +1 -0
  167. package/dist/middleware/context.d.ts +33 -0
  168. package/dist/middleware/context.d.ts.map +1 -0
  169. package/dist/middleware/context.js +176 -0
  170. package/dist/middleware/context.js.map +1 -0
  171. package/dist/middleware/index.d.ts +31 -0
  172. package/dist/middleware/index.d.ts.map +1 -0
  173. package/dist/middleware/index.js +32 -0
  174. package/dist/middleware/index.js.map +1 -0
  175. package/dist/middleware/logging.d.ts +137 -0
  176. package/dist/middleware/logging.d.ts.map +1 -0
  177. package/dist/middleware/logging.js +374 -0
  178. package/dist/middleware/logging.js.map +1 -0
  179. package/dist/middleware/types.d.ts +183 -0
  180. package/dist/middleware/types.d.ts.map +1 -0
  181. package/dist/middleware/types.js +11 -0
  182. package/dist/middleware/types.js.map +1 -0
  183. package/dist/observability/events.d.ts +183 -0
  184. package/dist/observability/events.d.ts.map +1 -0
  185. package/dist/observability/events.js +305 -0
  186. package/dist/observability/events.js.map +1 -0
  187. package/dist/observability/index.d.ts +55 -0
  188. package/dist/observability/index.d.ts.map +1 -0
  189. package/dist/observability/index.js +87 -0
  190. package/dist/observability/index.js.map +1 -0
  191. package/dist/observability/logger.d.ts +318 -0
  192. package/dist/observability/logger.d.ts.map +1 -0
  193. package/dist/observability/logger.js +436 -0
  194. package/dist/observability/logger.js.map +1 -0
  195. package/dist/observability/metrics.d.ts +341 -0
  196. package/dist/observability/metrics.d.ts.map +1 -0
  197. package/dist/observability/metrics.js +490 -0
  198. package/dist/observability/metrics.js.map +1 -0
  199. package/dist/observability/preset.d.ts +161 -0
  200. package/dist/observability/preset.d.ts.map +1 -0
  201. package/dist/observability/preset.js +133 -0
  202. package/dist/observability/preset.js.map +1 -0
  203. package/dist/observability/streaming.d.ts +113 -0
  204. package/dist/observability/streaming.d.ts.map +1 -0
  205. package/dist/observability/streaming.js +114 -0
  206. package/dist/observability/streaming.js.map +1 -0
  207. package/dist/observability/tracing.d.ts +378 -0
  208. package/dist/observability/tracing.d.ts.map +1 -0
  209. package/dist/observability/tracing.js +539 -0
  210. package/dist/observability/tracing.js.map +1 -0
  211. package/dist/plugins.d.ts +55 -0
  212. package/dist/plugins.d.ts.map +1 -0
  213. package/dist/plugins.js +63 -0
  214. package/dist/plugins.js.map +1 -0
  215. package/dist/presets/index.d.ts +7 -0
  216. package/dist/presets/index.d.ts.map +1 -0
  217. package/dist/presets/index.js +7 -0
  218. package/dist/presets/index.js.map +1 -0
  219. package/dist/presets/production.d.ts +262 -0
  220. package/dist/presets/production.d.ts.map +1 -0
  221. package/dist/presets/production.js +295 -0
  222. package/dist/presets/production.js.map +1 -0
  223. package/dist/security/index.d.ts +179 -0
  224. package/dist/security/index.d.ts.map +1 -0
  225. package/dist/security/index.js +323 -0
  226. package/dist/security/index.js.map +1 -0
  227. package/dist/subagents/advanced.d.ts +413 -0
  228. package/dist/subagents/advanced.d.ts.map +1 -0
  229. package/dist/subagents/advanced.js +396 -0
  230. package/dist/subagents/advanced.js.map +1 -0
  231. package/dist/subagents/index.d.ts +14 -0
  232. package/dist/subagents/index.d.ts.map +1 -0
  233. package/dist/subagents/index.js +15 -0
  234. package/dist/subagents/index.js.map +1 -0
  235. package/dist/subagents.d.ts +73 -0
  236. package/dist/subagents.d.ts.map +1 -0
  237. package/dist/subagents.js +213 -0
  238. package/dist/subagents.js.map +1 -0
  239. package/dist/task-store/file-store.d.ts +76 -0
  240. package/dist/task-store/file-store.d.ts.map +1 -0
  241. package/dist/task-store/file-store.js +190 -0
  242. package/dist/task-store/file-store.js.map +1 -0
  243. package/dist/task-store/index.d.ts +11 -0
  244. package/dist/task-store/index.d.ts.map +1 -0
  245. package/dist/task-store/index.js +10 -0
  246. package/dist/task-store/index.js.map +1 -0
  247. package/dist/task-store/kv-store.d.ts +140 -0
  248. package/dist/task-store/kv-store.d.ts.map +1 -0
  249. package/dist/task-store/kv-store.js +169 -0
  250. package/dist/task-store/kv-store.js.map +1 -0
  251. package/dist/task-store/memory-store.d.ts +66 -0
  252. package/dist/task-store/memory-store.d.ts.map +1 -0
  253. package/dist/task-store/memory-store.js +125 -0
  254. package/dist/task-store/memory-store.js.map +1 -0
  255. package/dist/task-store/types.d.ts +235 -0
  256. package/dist/task-store/types.d.ts.map +1 -0
  257. package/dist/task-store/types.js +110 -0
  258. package/dist/task-store/types.js.map +1 -0
  259. package/dist/testing/assertions.d.ts +401 -0
  260. package/dist/testing/assertions.d.ts.map +1 -0
  261. package/dist/testing/assertions.js +630 -0
  262. package/dist/testing/assertions.js.map +1 -0
  263. package/dist/testing/index.d.ts +343 -0
  264. package/dist/testing/index.d.ts.map +1 -0
  265. package/dist/testing/index.js +360 -0
  266. package/dist/testing/index.js.map +1 -0
  267. package/dist/testing/mock-agent.d.ts +214 -0
  268. package/dist/testing/mock-agent.d.ts.map +1 -0
  269. package/dist/testing/mock-agent.js +448 -0
  270. package/dist/testing/mock-agent.js.map +1 -0
  271. package/dist/testing/recorder.d.ts +288 -0
  272. package/dist/testing/recorder.d.ts.map +1 -0
  273. package/dist/testing/recorder.js +499 -0
  274. package/dist/testing/recorder.js.map +1 -0
  275. package/dist/tools/execute.d.ts +104 -0
  276. package/dist/tools/execute.d.ts.map +1 -0
  277. package/dist/tools/execute.js +191 -0
  278. package/dist/tools/execute.js.map +1 -0
  279. package/dist/tools/factory.d.ts +260 -0
  280. package/dist/tools/factory.d.ts.map +1 -0
  281. package/dist/tools/factory.js +241 -0
  282. package/dist/tools/factory.js.map +1 -0
  283. package/dist/tools/filesystem.d.ts +215 -0
  284. package/dist/tools/filesystem.d.ts.map +1 -0
  285. package/dist/tools/filesystem.js +311 -0
  286. package/dist/tools/filesystem.js.map +1 -0
  287. package/dist/tools/index.d.ts +33 -0
  288. package/dist/tools/index.d.ts.map +1 -0
  289. package/dist/tools/index.js +33 -0
  290. package/dist/tools/index.js.map +1 -0
  291. package/dist/tools/search.d.ts +59 -0
  292. package/dist/tools/search.d.ts.map +1 -0
  293. package/dist/tools/search.js +94 -0
  294. package/dist/tools/search.js.map +1 -0
  295. package/dist/tools/skills.d.ts +354 -0
  296. package/dist/tools/skills.d.ts.map +1 -0
  297. package/dist/tools/skills.js +413 -0
  298. package/dist/tools/skills.js.map +1 -0
  299. package/dist/tools/task.d.ts +272 -0
  300. package/dist/tools/task.d.ts.map +1 -0
  301. package/dist/tools/task.js +521 -0
  302. package/dist/tools/task.js.map +1 -0
  303. package/dist/tools/todos.d.ts +131 -0
  304. package/dist/tools/todos.d.ts.map +1 -0
  305. package/dist/tools/todos.js +120 -0
  306. package/dist/tools/todos.js.map +1 -0
  307. package/dist/tools/tool-registry.d.ts +424 -0
  308. package/dist/tools/tool-registry.d.ts.map +1 -0
  309. package/dist/tools/tool-registry.js +607 -0
  310. package/dist/tools/tool-registry.js.map +1 -0
  311. package/dist/tools/user-interaction.d.ts +116 -0
  312. package/dist/tools/user-interaction.d.ts.map +1 -0
  313. package/dist/tools/user-interaction.js +147 -0
  314. package/dist/tools/user-interaction.js.map +1 -0
  315. package/dist/tools/utils.d.ts +124 -0
  316. package/dist/tools/utils.d.ts.map +1 -0
  317. package/dist/tools/utils.js +189 -0
  318. package/dist/tools/utils.js.map +1 -0
  319. package/dist/tools.d.ts +74 -0
  320. package/dist/tools.d.ts.map +1 -0
  321. package/dist/tools.js +73 -0
  322. package/dist/tools.js.map +1 -0
  323. package/dist/types.d.ts +2421 -0
  324. package/dist/types.d.ts.map +1 -0
  325. package/dist/types.js +55 -0
  326. package/dist/types.js.map +1 -0
  327. 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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"}