@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,144 @@
1
+ /**
2
+ * Retry hook utilities.
3
+ *
4
+ * Provides retry hooks with exponential backoff that replace the retry
5
+ * middleware functionality using the unified hook system.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { HookCallback } from "../types.js";
10
+ /**
11
+ * Options for creating retry hooks.
12
+ *
13
+ * @category Hooks
14
+ */
15
+ export interface RetryHooksOptions {
16
+ /**
17
+ * Maximum number of retry attempts.
18
+ * @defaultValue 3
19
+ */
20
+ maxRetries?: number;
21
+ /**
22
+ * Base delay in milliseconds for the first retry.
23
+ * @defaultValue 1000 (1 second)
24
+ */
25
+ baseDelay?: number;
26
+ /**
27
+ * Maximum delay in milliseconds between retries.
28
+ * @defaultValue 30000 (30 seconds)
29
+ */
30
+ maxDelay?: number;
31
+ /**
32
+ * Backoff multiplier for exponential backoff.
33
+ * @defaultValue 2 (doubles each retry)
34
+ */
35
+ backoffMultiplier?: number;
36
+ /**
37
+ * Whether to add random jitter to retry delays (0-50% of delay).
38
+ * Helps avoid thundering herd problem.
39
+ * @defaultValue true
40
+ */
41
+ jitter?: boolean;
42
+ /**
43
+ * Custom function to determine if an error should trigger a retry.
44
+ * @defaultValue Retries rate limits, server errors, network errors, timeouts
45
+ */
46
+ shouldRetry?: (error: Error, attempt: number) => boolean;
47
+ /**
48
+ * Custom delay calculator.
49
+ * @defaultValue Exponential backoff with jitter
50
+ */
51
+ calculateDelay?: (attempt: number) => number;
52
+ }
53
+ /**
54
+ * Creates a retry hook for PostGenerateFailure events.
55
+ *
56
+ * The hook implements exponential backoff with optional jitter for handling
57
+ * transient failures. When a retryable error occurs, the hook signals the
58
+ * agent to retry with an appropriate delay.
59
+ *
60
+ * This replaces the retry middleware with hook-based retry that works
61
+ * correctly with the unified hook system.
62
+ *
63
+ * @param options - Configuration options
64
+ * @returns A PostGenerateFailure hook that handles retries
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const retryHook = createRetryHooks({
69
+ * maxRetries: 3,
70
+ * baseDelay: 1000,
71
+ * backoffMultiplier: 2,
72
+ * });
73
+ *
74
+ * const agent = createAgent({
75
+ * model,
76
+ * hooks: {
77
+ * PostGenerateFailure: [{ hooks: [retryHook] }],
78
+ * },
79
+ * });
80
+ * ```
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // Custom retry logic for specific errors
85
+ * const retryHook = createRetryHooks({
86
+ * shouldRetry: (error, attempt) => {
87
+ * // Only retry rate limits, and only up to 5 times
88
+ * return error.message.includes('rate limit') && attempt < 5;
89
+ * },
90
+ * baseDelay: 2000,
91
+ * });
92
+ * ```
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Custom delay calculation (linear backoff)
97
+ * const retryHook = createRetryHooks({
98
+ * calculateDelay: (attempt) => attempt * 1000, // 1s, 2s, 3s, ...
99
+ * });
100
+ * ```
101
+ *
102
+ * @category Hooks
103
+ */
104
+ export declare function createRetryHooks(options?: RetryHooksOptions): HookCallback;
105
+ /**
106
+ * Creates a retry hook with custom statistics tracking.
107
+ *
108
+ * Returns the hook along with a function to get retry statistics.
109
+ *
110
+ * @param options - Configuration options
111
+ * @returns Object with hook and statistics getter
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const { hook: retryHook, getStats } = createManagedRetryHooks({
116
+ * maxRetries: 5,
117
+ * baseDelay: 1000,
118
+ * });
119
+ *
120
+ * const agent = createAgent({
121
+ * model,
122
+ * hooks: {
123
+ * PostGenerateFailure: [{ hooks: [retryHook] }],
124
+ * },
125
+ * });
126
+ *
127
+ * // Later, check statistics
128
+ * const stats = getStats();
129
+ * console.log(`Retry rate: ${stats.retries / stats.failures}`);
130
+ * console.log(`Average retries per failure: ${stats.retries / Math.max(1, stats.retriedFailures)}`);
131
+ * ```
132
+ *
133
+ * @category Hooks
134
+ */
135
+ export declare function createManagedRetryHooks(options?: RetryHooksOptions): {
136
+ hook: HookCallback;
137
+ getStats: () => {
138
+ failures: number;
139
+ retries: number;
140
+ retriedFailures: number;
141
+ successAfterRetry: number;
142
+ };
143
+ };
144
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/hooks/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,aAAa,CAAC;AAE/F;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAEzD;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AA+CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,YAAY,CAuD9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,iBAAsB,GAAG;IACxE,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAgEA"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Retry hook utilities.
3
+ *
4
+ * Provides retry hooks with exponential backoff that replace the retry
5
+ * middleware functionality using the unified hook system.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * Default function to determine if an error should trigger a retry.
11
+ *
12
+ * Retries on:
13
+ * - Rate limit errors (429, "rate limit")
14
+ * - Server errors (5xx)
15
+ * - Network errors (ECONNRESET, ECONNREFUSED, ETIMEDOUT)
16
+ * - Timeout errors
17
+ */
18
+ function defaultShouldRetry(error, _attempt) {
19
+ const message = error.message.toLowerCase();
20
+ // Rate limit
21
+ if (message.includes("rate limit") || message.includes("429")) {
22
+ return true;
23
+ }
24
+ // Server errors
25
+ if (message.includes("500") ||
26
+ message.includes("502") ||
27
+ message.includes("503") ||
28
+ message.includes("504")) {
29
+ return true;
30
+ }
31
+ // Network errors
32
+ if (message.includes("network") ||
33
+ message.includes("econnreset") ||
34
+ message.includes("econnrefused") ||
35
+ message.includes("etimedout")) {
36
+ return true;
37
+ }
38
+ // Timeout errors
39
+ if (message.includes("timeout")) {
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+ /**
45
+ * Creates a retry hook for PostGenerateFailure events.
46
+ *
47
+ * The hook implements exponential backoff with optional jitter for handling
48
+ * transient failures. When a retryable error occurs, the hook signals the
49
+ * agent to retry with an appropriate delay.
50
+ *
51
+ * This replaces the retry middleware with hook-based retry that works
52
+ * correctly with the unified hook system.
53
+ *
54
+ * @param options - Configuration options
55
+ * @returns A PostGenerateFailure hook that handles retries
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const retryHook = createRetryHooks({
60
+ * maxRetries: 3,
61
+ * baseDelay: 1000,
62
+ * backoffMultiplier: 2,
63
+ * });
64
+ *
65
+ * const agent = createAgent({
66
+ * model,
67
+ * hooks: {
68
+ * PostGenerateFailure: [{ hooks: [retryHook] }],
69
+ * },
70
+ * });
71
+ * ```
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * // Custom retry logic for specific errors
76
+ * const retryHook = createRetryHooks({
77
+ * shouldRetry: (error, attempt) => {
78
+ * // Only retry rate limits, and only up to 5 times
79
+ * return error.message.includes('rate limit') && attempt < 5;
80
+ * },
81
+ * baseDelay: 2000,
82
+ * });
83
+ * ```
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * // Custom delay calculation (linear backoff)
88
+ * const retryHook = createRetryHooks({
89
+ * calculateDelay: (attempt) => attempt * 1000, // 1s, 2s, 3s, ...
90
+ * });
91
+ * ```
92
+ *
93
+ * @category Hooks
94
+ */
95
+ export function createRetryHooks(options = {}) {
96
+ const { maxRetries = 3, baseDelay = 1000, maxDelay = 30000, backoffMultiplier = 2, jitter = true, shouldRetry = defaultShouldRetry, calculateDelay: customCalculateDelay, } = options;
97
+ /**
98
+ * Calculate delay for next retry with exponential backoff and optional jitter.
99
+ */
100
+ function calculateDelay(attempt) {
101
+ // Exponential backoff: baseDelay * multiplier^(attempt-1)
102
+ let delay = baseDelay * backoffMultiplier ** (attempt - 1);
103
+ // Cap at maxDelay
104
+ delay = Math.min(delay, maxDelay);
105
+ // Add jitter (0-50% of delay)
106
+ if (jitter) {
107
+ delay = delay * (0.5 + Math.random() * 0.5);
108
+ }
109
+ return Math.round(delay);
110
+ }
111
+ const delayCalculator = customCalculateDelay || calculateDelay;
112
+ const retryHook = async (input, _toolUseId, context) => {
113
+ if (input.hook_event_name !== "PostGenerateFailure")
114
+ return {};
115
+ const failureInput = input;
116
+ const attempt = context.retryAttempt ?? 0;
117
+ // Check if we should retry
118
+ if (attempt < maxRetries && shouldRetry(failureInput.error, attempt + 1)) {
119
+ const delay = delayCalculator(attempt + 1);
120
+ return {
121
+ hookSpecificOutput: {
122
+ hookEventName: "PostGenerateFailure",
123
+ retry: true,
124
+ retryDelayMs: delay,
125
+ },
126
+ };
127
+ }
128
+ // Max retries reached or error not retryable - let error propagate
129
+ return {};
130
+ };
131
+ return retryHook;
132
+ }
133
+ /**
134
+ * Creates a retry hook with custom statistics tracking.
135
+ *
136
+ * Returns the hook along with a function to get retry statistics.
137
+ *
138
+ * @param options - Configuration options
139
+ * @returns Object with hook and statistics getter
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const { hook: retryHook, getStats } = createManagedRetryHooks({
144
+ * maxRetries: 5,
145
+ * baseDelay: 1000,
146
+ * });
147
+ *
148
+ * const agent = createAgent({
149
+ * model,
150
+ * hooks: {
151
+ * PostGenerateFailure: [{ hooks: [retryHook] }],
152
+ * },
153
+ * });
154
+ *
155
+ * // Later, check statistics
156
+ * const stats = getStats();
157
+ * console.log(`Retry rate: ${stats.retries / stats.failures}`);
158
+ * console.log(`Average retries per failure: ${stats.retries / Math.max(1, stats.retriedFailures)}`);
159
+ * ```
160
+ *
161
+ * @category Hooks
162
+ */
163
+ export function createManagedRetryHooks(options = {}) {
164
+ const { maxRetries = 3, baseDelay = 1000, maxDelay = 30000, backoffMultiplier = 2, jitter = true, shouldRetry = defaultShouldRetry, calculateDelay: customCalculateDelay, } = options;
165
+ let totalFailures = 0;
166
+ let totalRetries = 0;
167
+ let retriedFailures = 0;
168
+ const successAfterRetry = 0;
169
+ function calculateDelay(attempt) {
170
+ let delay = baseDelay * backoffMultiplier ** (attempt - 1);
171
+ delay = Math.min(delay, maxDelay);
172
+ if (jitter) {
173
+ delay = delay * (0.5 + Math.random() * 0.5);
174
+ }
175
+ return Math.round(delay);
176
+ }
177
+ const delayCalculator = customCalculateDelay || calculateDelay;
178
+ const retryHook = async (input, _toolUseId, context) => {
179
+ if (input.hook_event_name !== "PostGenerateFailure")
180
+ return {};
181
+ const failureInput = input;
182
+ const attempt = context.retryAttempt ?? 0;
183
+ totalFailures++;
184
+ if (attempt < maxRetries && shouldRetry(failureInput.error, attempt + 1)) {
185
+ if (attempt === 0) {
186
+ retriedFailures++;
187
+ }
188
+ totalRetries++;
189
+ const delay = delayCalculator(attempt + 1);
190
+ return {
191
+ hookSpecificOutput: {
192
+ hookEventName: "PostGenerateFailure",
193
+ retry: true,
194
+ retryDelayMs: delay,
195
+ },
196
+ };
197
+ }
198
+ return {};
199
+ };
200
+ return {
201
+ hook: retryHook,
202
+ getStats: () => ({
203
+ failures: totalFailures,
204
+ retries: totalRetries,
205
+ retriedFailures,
206
+ successAfterRetry,
207
+ }),
208
+ };
209
+ }
210
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/hooks/retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Secrets filtering hook utilities.
3
+ *
4
+ * Provides hooks to detect and redact common secret patterns in inputs
5
+ * and outputs using the unified hook system.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { HookCallback } from "../types.js";
10
+ /**
11
+ * Common secret patterns for automatic detection.
12
+ *
13
+ * @category Hooks
14
+ */
15
+ export declare const COMMON_SECRET_PATTERNS: {
16
+ /** AWS access keys (AKIA...) */
17
+ AWS_ACCESS_KEY: RegExp;
18
+ /** AWS secret keys (40 chars base64) */
19
+ AWS_SECRET_KEY: RegExp;
20
+ /** GitHub personal access tokens */
21
+ GITHUB_TOKEN: RegExp;
22
+ /** GitHub OAuth tokens */
23
+ GITHUB_OAUTH: RegExp;
24
+ /** Generic API keys (common formats) */
25
+ API_KEY: RegExp;
26
+ /** Bearer tokens */
27
+ BEARER_TOKEN: RegExp;
28
+ /** JWT tokens */
29
+ JWT: RegExp;
30
+ /** Private keys (PEM format headers) */
31
+ PRIVATE_KEY: RegExp;
32
+ /** Generic passwords in common formats */
33
+ PASSWORD: RegExp;
34
+ /** Slack tokens */
35
+ SLACK_TOKEN: RegExp;
36
+ /** Stripe API keys */
37
+ STRIPE_KEY: RegExp;
38
+ /** Generic secrets in common formats */
39
+ GENERIC_SECRET: RegExp;
40
+ };
41
+ /**
42
+ * Options for creating secrets filter hooks.
43
+ *
44
+ * @category Hooks
45
+ */
46
+ export interface SecretsFilterHooksOptions {
47
+ /**
48
+ * Custom secret patterns to detect (in addition to built-in patterns).
49
+ */
50
+ customPatterns?: RegExp[];
51
+ /**
52
+ * Built-in patterns to use.
53
+ * @defaultValue All patterns from COMMON_SECRET_PATTERNS
54
+ */
55
+ patterns?: RegExp[];
56
+ /**
57
+ * Replacement text for redacted secrets.
58
+ * @defaultValue "[REDACTED]"
59
+ */
60
+ redactionText?: string;
61
+ /**
62
+ * Whether to filter input (user messages).
63
+ * @defaultValue true
64
+ */
65
+ filterInput?: boolean;
66
+ /**
67
+ * Whether to filter output (model responses).
68
+ * @defaultValue true
69
+ */
70
+ filterOutput?: boolean;
71
+ /**
72
+ * Callback when secrets are detected.
73
+ * Useful for logging/alerting.
74
+ */
75
+ onSecretDetected?: (type: "input" | "output", pattern: RegExp, match: string) => void;
76
+ }
77
+ /**
78
+ * Creates secrets filtering hooks for input and output.
79
+ *
80
+ * The PreGenerate hook redacts secrets from input messages before sending
81
+ * to the model. The PostGenerate hook redacts secrets from model responses.
82
+ *
83
+ * This addresses the secrets redaction requirement from CODE_REVIEW.md
84
+ * using the unified hook system.
85
+ *
86
+ * @param options - Configuration options
87
+ * @returns Array of two hooks: [PreGenerate input filter, PostGenerate output filter]
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const [inputFilter, outputFilter] = createSecretsFilterHooks({
92
+ * redactionText: "***REDACTED***",
93
+ * });
94
+ *
95
+ * const agent = createAgent({
96
+ * model,
97
+ * hooks: {
98
+ * PreGenerate: [{ hooks: [inputFilter] }],
99
+ * PostGenerate: [{ hooks: [outputFilter] }],
100
+ * },
101
+ * });
102
+ * ```
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * // Custom patterns with alerting
107
+ * const hooks = createSecretsFilterHooks({
108
+ * customPatterns: [/my-secret-format-[A-Z0-9]{16}/g],
109
+ * onSecretDetected: (type, pattern, match) => {
110
+ * console.warn(`Secret detected in ${type}:`, pattern.source);
111
+ * alertSecurityTeam({ type, pattern: pattern.source });
112
+ * },
113
+ * });
114
+ * ```
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * // Only specific patterns
119
+ * const hooks = createSecretsFilterHooks({
120
+ * patterns: [
121
+ * COMMON_SECRET_PATTERNS.AWS_ACCESS_KEY,
122
+ * COMMON_SECRET_PATTERNS.GITHUB_TOKEN,
123
+ * ],
124
+ * });
125
+ * ```
126
+ *
127
+ * @category Hooks
128
+ */
129
+ export declare function createSecretsFilterHooks(options?: SecretsFilterHooksOptions): [HookCallback, HookCallback];
130
+ /**
131
+ * Creates managed secrets filter hooks with detection statistics.
132
+ *
133
+ * Returns hooks along with functions to get detection statistics.
134
+ *
135
+ * @param options - Configuration options
136
+ * @returns Object with hooks and statistics getter
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const { hooks, getStats, getDetections } = createManagedSecretsFilterHooks();
141
+ *
142
+ * const agent = createAgent({
143
+ * model,
144
+ * hooks: {
145
+ * PreGenerate: [{ hooks: [hooks[0]] }],
146
+ * PostGenerate: [{ hooks: [hooks[1]] }],
147
+ * },
148
+ * });
149
+ *
150
+ * // Check statistics
151
+ * const stats = getStats();
152
+ * console.log(`Secrets detected: ${stats.totalDetections} (${stats.inputDetections} input, ${stats.outputDetections} output)`);
153
+ *
154
+ * // Get detailed detections
155
+ * const detections = getDetections();
156
+ * console.log('Recent detections:', detections.slice(0, 10));
157
+ * ```
158
+ *
159
+ * @category Hooks
160
+ */
161
+ export declare function createManagedSecretsFilterHooks(options?: SecretsFilterHooksOptions): {
162
+ hooks: [HookCallback, HookCallback];
163
+ getStats: () => {
164
+ inputDetections: number;
165
+ outputDetections: number;
166
+ totalDetections: number;
167
+ };
168
+ getDetections: () => Array<{
169
+ type: "input" | "output";
170
+ pattern: string;
171
+ timestamp: number;
172
+ }>;
173
+ };
174
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/hooks/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAuC,MAAM,aAAa,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;IACjC,gCAAgC;;IAGhC,wCAAwC;;IAGxC,oCAAoC;;IAGpC,0BAA0B;;IAG1B,wCAAwC;;IAGxC,oBAAoB;;IAGpB,iBAAiB;;IAGjB,wCAAwC;;IAIxC,0CAA0C;;IAG1C,mBAAmB;;IAGnB,sBAAsB;;IAGtB,wCAAwC;;CAEzC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvF;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,yBAA8B,GACtC,CAAC,YAAY,EAAE,YAAY,CAAC,CA6E9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,yBAA8B,GAAG;IACxF,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,aAAa,EAAE,MAAM,KAAK,CAAC;QACzB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ,CAqGA"}