@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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for generation methods (generate, stream, streamResponse, etc.)
|
|
3
|
+
*
|
|
4
|
+
* These helpers extract common retry/hook handling patterns to ensure consistent
|
|
5
|
+
* behavior across all generation methods and reduce code duplication.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import type { LanguageModel } from "ai";
|
|
11
|
+
import { AgentError } from "./errors/index.js";
|
|
12
|
+
import type { Agent, GenerateOptions, GenerateResult, HookCallback } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Default maximum number of retry attempts for generation methods.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_MAX_RETRIES = 10;
|
|
18
|
+
/**
|
|
19
|
+
* State for the retry loop used by generation methods.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export interface RetryLoopState {
|
|
23
|
+
/** Current retry attempt (0 = first attempt) */
|
|
24
|
+
retryAttempt: number;
|
|
25
|
+
/** Maximum number of retries allowed */
|
|
26
|
+
maxRetries: number;
|
|
27
|
+
/** Current model being used (may change to fallback) */
|
|
28
|
+
currentModel: LanguageModel;
|
|
29
|
+
/** Whether fallback model has been used */
|
|
30
|
+
usedFallback: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Result of invoking PreGenerate hooks.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export interface PreGenerateHookResult<T = GenerateResult> {
|
|
37
|
+
/** Effective options after hook transformations */
|
|
38
|
+
effectiveOptions: GenerateOptions;
|
|
39
|
+
/** Cached result from respondWith (if provided by a hook) */
|
|
40
|
+
cachedResult?: T;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Decision from error handling (PostGenerateFailure hooks + fallback logic).
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export interface ErrorHandlingDecision {
|
|
47
|
+
/** Whether to retry the operation */
|
|
48
|
+
shouldRetry: boolean;
|
|
49
|
+
/** Delay in ms before retrying (0 if no delay) */
|
|
50
|
+
retryDelayMs: number;
|
|
51
|
+
/** Updated model to use (if switched to fallback) */
|
|
52
|
+
updatedModel?: LanguageModel;
|
|
53
|
+
/** Whether fallback was just activated */
|
|
54
|
+
activatedFallback?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates initial state for the retry loop.
|
|
58
|
+
*
|
|
59
|
+
* @param model - The primary model to use
|
|
60
|
+
* @param maxRetries - Maximum retry attempts (default: 10)
|
|
61
|
+
* @returns Initial retry loop state
|
|
62
|
+
*
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
export declare function createRetryLoopState(model: LanguageModel, maxRetries?: number): RetryLoopState;
|
|
66
|
+
/**
|
|
67
|
+
* Invokes PreGenerate hooks and returns the effective options.
|
|
68
|
+
*
|
|
69
|
+
* This handles:
|
|
70
|
+
* - Cache short-circuit via respondWith
|
|
71
|
+
* - Input transformation via updatedInput
|
|
72
|
+
*
|
|
73
|
+
* @param hooks - PreGenerate hook callbacks
|
|
74
|
+
* @param genOptions - Original generation options
|
|
75
|
+
* @param agent - The agent instance
|
|
76
|
+
* @returns Result containing effective options and optional cached result
|
|
77
|
+
*
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
export declare function invokePreGenerateHooks<T = GenerateResult>(hooks: HookCallback[], genOptions: GenerateOptions, agent: Agent): Promise<PreGenerateHookResult<T>>;
|
|
81
|
+
/**
|
|
82
|
+
* Normalizes an error to an AgentError.
|
|
83
|
+
*
|
|
84
|
+
* @param error - The error to normalize
|
|
85
|
+
* @param defaultMessage - Default message if error doesn't have one
|
|
86
|
+
* @param threadId - Optional thread ID for metadata
|
|
87
|
+
* @returns Normalized AgentError
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
export declare function normalizeError(error: unknown, defaultMessage: string, threadId?: string): AgentError;
|
|
92
|
+
/**
|
|
93
|
+
* Handles errors during generation by invoking PostGenerateFailure hooks
|
|
94
|
+
* and checking for fallback model usage.
|
|
95
|
+
*
|
|
96
|
+
* @param error - The normalized error
|
|
97
|
+
* @param hooks - PostGenerateFailure hook callbacks
|
|
98
|
+
* @param genOptions - The generation options
|
|
99
|
+
* @param agent - The agent instance
|
|
100
|
+
* @param state - Current retry loop state
|
|
101
|
+
* @param fallbackModel - Optional fallback model
|
|
102
|
+
* @param shouldUseFallback - Function to check if fallback should be used
|
|
103
|
+
* @returns Decision on whether to retry and how
|
|
104
|
+
*
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
export declare function handleGenerationError(error: AgentError, hooks: HookCallback[], genOptions: GenerateOptions, agent: Agent, state: RetryLoopState, fallbackModel?: LanguageModel, shouldUseFallback?: (error: AgentError) => boolean): Promise<ErrorHandlingDecision>;
|
|
108
|
+
/**
|
|
109
|
+
* Updates retry loop state based on error handling decision.
|
|
110
|
+
*
|
|
111
|
+
* @param state - Current retry loop state
|
|
112
|
+
* @param decision - Error handling decision
|
|
113
|
+
* @returns Updated retry loop state
|
|
114
|
+
*
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
export declare function updateRetryLoopState(state: RetryLoopState, decision: ErrorHandlingDecision): RetryLoopState;
|
|
118
|
+
/**
|
|
119
|
+
* Waits for the specified retry delay.
|
|
120
|
+
*
|
|
121
|
+
* @param delayMs - Delay in milliseconds
|
|
122
|
+
*
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
125
|
+
export declare function waitForRetryDelay(delayMs: number): Promise<void>;
|
|
126
|
+
//# sourceMappingURL=generation-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-helpers.d.ts","sourceRoot":"","sources":["../src/generation-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,UAAU,EAA4C,MAAM,mBAAmB,CAAC;AAQzF,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,cAAc,EACd,YAAY,EAGb,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,EAAE,aAAa,CAAC;IAC5B,2CAA2C;IAC3C,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,cAAc;IACvD,mDAAmD;IACnD,gBAAgB,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,UAAU,GAAE,MAA4B,GACvC,cAAc,CAOhB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,GAAG,cAAc,EAC7D,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CA0CnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAQZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,aAAa,EAC7B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,GACjD,OAAO,CAAC,qBAAqB,CAAC,CAkDhC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,qBAAqB,GAC9B,cAAc,CAOhB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for generation methods (generate, stream, streamResponse, etc.)
|
|
3
|
+
*
|
|
4
|
+
* These helpers extract common retry/hook handling patterns to ensure consistent
|
|
5
|
+
* behavior across all generation methods and reduce code duplication.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import { AgentError, GeneratePermissionDeniedError, wrapError } from "./errors/index.js";
|
|
11
|
+
import { aggregatePermissionDecisions, extractRespondWith, extractRetryDecision, extractUpdatedInput, invokeHooksWithTimeout, } from "./hooks.js";
|
|
12
|
+
/**
|
|
13
|
+
* Default maximum number of retry attempts for generation methods.
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_MAX_RETRIES = 10;
|
|
17
|
+
/**
|
|
18
|
+
* Creates initial state for the retry loop.
|
|
19
|
+
*
|
|
20
|
+
* @param model - The primary model to use
|
|
21
|
+
* @param maxRetries - Maximum retry attempts (default: 10)
|
|
22
|
+
* @returns Initial retry loop state
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export function createRetryLoopState(model, maxRetries = DEFAULT_MAX_RETRIES) {
|
|
27
|
+
return {
|
|
28
|
+
retryAttempt: 0,
|
|
29
|
+
maxRetries,
|
|
30
|
+
currentModel: model,
|
|
31
|
+
usedFallback: false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Invokes PreGenerate hooks and returns the effective options.
|
|
36
|
+
*
|
|
37
|
+
* This handles:
|
|
38
|
+
* - Cache short-circuit via respondWith
|
|
39
|
+
* - Input transformation via updatedInput
|
|
40
|
+
*
|
|
41
|
+
* @param hooks - PreGenerate hook callbacks
|
|
42
|
+
* @param genOptions - Original generation options
|
|
43
|
+
* @param agent - The agent instance
|
|
44
|
+
* @returns Result containing effective options and optional cached result
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export async function invokePreGenerateHooks(hooks, genOptions, agent) {
|
|
49
|
+
if (hooks.length === 0) {
|
|
50
|
+
return { effectiveOptions: genOptions };
|
|
51
|
+
}
|
|
52
|
+
const preGenerateInput = {
|
|
53
|
+
hook_event_name: "PreGenerate",
|
|
54
|
+
session_id: genOptions.threadId ?? "default",
|
|
55
|
+
cwd: process.cwd(),
|
|
56
|
+
options: genOptions,
|
|
57
|
+
};
|
|
58
|
+
const hookOutputs = await invokeHooksWithTimeout(hooks, preGenerateInput, null, agent);
|
|
59
|
+
// Check for permission denial (e.g., guardrails blocking input)
|
|
60
|
+
const permissionDecision = aggregatePermissionDecisions(hookOutputs);
|
|
61
|
+
if (permissionDecision === "deny") {
|
|
62
|
+
// Find the reason and blocked message IDs from hook outputs
|
|
63
|
+
const denyingOutput = hookOutputs.find((o) => o.hookSpecificOutput?.permissionDecision === "deny")?.hookSpecificOutput;
|
|
64
|
+
const reason = denyingOutput?.permissionDecisionReason;
|
|
65
|
+
const blockedMessageIds = denyingOutput?.blockedMessageIds;
|
|
66
|
+
throw new GeneratePermissionDeniedError("Generation denied by hook", {
|
|
67
|
+
reason,
|
|
68
|
+
blockedMessageIds,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Check for cache short-circuit via respondWith
|
|
72
|
+
const cachedResult = extractRespondWith(hookOutputs);
|
|
73
|
+
if (cachedResult !== undefined) {
|
|
74
|
+
return { effectiveOptions: genOptions, cachedResult };
|
|
75
|
+
}
|
|
76
|
+
// Apply input transformation via updatedInput
|
|
77
|
+
const updatedOptions = extractUpdatedInput(hookOutputs);
|
|
78
|
+
const effectiveOptions = updatedOptions !== undefined ? updatedOptions : genOptions;
|
|
79
|
+
return { effectiveOptions };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Normalizes an error to an AgentError.
|
|
83
|
+
*
|
|
84
|
+
* @param error - The error to normalize
|
|
85
|
+
* @param defaultMessage - Default message if error doesn't have one
|
|
86
|
+
* @param threadId - Optional thread ID for metadata
|
|
87
|
+
* @returns Normalized AgentError
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
export function normalizeError(error, defaultMessage, threadId) {
|
|
92
|
+
if (AgentError.is(error)) {
|
|
93
|
+
return error;
|
|
94
|
+
}
|
|
95
|
+
return wrapError(error, error instanceof Error ? error.message : defaultMessage, {
|
|
96
|
+
metadata: threadId ? { threadId } : undefined,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Handles errors during generation by invoking PostGenerateFailure hooks
|
|
101
|
+
* and checking for fallback model usage.
|
|
102
|
+
*
|
|
103
|
+
* @param error - The normalized error
|
|
104
|
+
* @param hooks - PostGenerateFailure hook callbacks
|
|
105
|
+
* @param genOptions - The generation options
|
|
106
|
+
* @param agent - The agent instance
|
|
107
|
+
* @param state - Current retry loop state
|
|
108
|
+
* @param fallbackModel - Optional fallback model
|
|
109
|
+
* @param shouldUseFallback - Function to check if fallback should be used
|
|
110
|
+
* @returns Decision on whether to retry and how
|
|
111
|
+
*
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
114
|
+
export async function handleGenerationError(error, hooks, genOptions, agent, state, fallbackModel, shouldUseFallback) {
|
|
115
|
+
// Invoke PostGenerateFailure hooks to check for retry
|
|
116
|
+
if (hooks.length > 0) {
|
|
117
|
+
const failureInput = {
|
|
118
|
+
hook_event_name: "PostGenerateFailure",
|
|
119
|
+
session_id: genOptions.threadId ?? "default",
|
|
120
|
+
cwd: process.cwd(),
|
|
121
|
+
options: genOptions,
|
|
122
|
+
error,
|
|
123
|
+
};
|
|
124
|
+
const hookOutputs = await invokeHooksWithTimeout(hooks, failureInput, null, agent, 60000, state.retryAttempt);
|
|
125
|
+
// Check if hooks request a retry
|
|
126
|
+
const retryDecision = extractRetryDecision(hookOutputs);
|
|
127
|
+
if (retryDecision && state.retryAttempt < state.maxRetries) {
|
|
128
|
+
return {
|
|
129
|
+
shouldRetry: true,
|
|
130
|
+
retryDelayMs: retryDecision.retryDelayMs,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// Check if we should fallback to alternative model
|
|
135
|
+
if (fallbackModel &&
|
|
136
|
+
!state.usedFallback &&
|
|
137
|
+
shouldUseFallback?.(error) &&
|
|
138
|
+
state.retryAttempt < state.maxRetries) {
|
|
139
|
+
return {
|
|
140
|
+
shouldRetry: true,
|
|
141
|
+
retryDelayMs: 0,
|
|
142
|
+
updatedModel: fallbackModel,
|
|
143
|
+
activatedFallback: true,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
// No retry requested or max retries exceeded
|
|
147
|
+
return {
|
|
148
|
+
shouldRetry: false,
|
|
149
|
+
retryDelayMs: 0,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Updates retry loop state based on error handling decision.
|
|
154
|
+
*
|
|
155
|
+
* @param state - Current retry loop state
|
|
156
|
+
* @param decision - Error handling decision
|
|
157
|
+
* @returns Updated retry loop state
|
|
158
|
+
*
|
|
159
|
+
* @internal
|
|
160
|
+
*/
|
|
161
|
+
export function updateRetryLoopState(state, decision) {
|
|
162
|
+
return {
|
|
163
|
+
...state,
|
|
164
|
+
retryAttempt: state.retryAttempt + 1,
|
|
165
|
+
currentModel: decision.updatedModel ?? state.currentModel,
|
|
166
|
+
usedFallback: state.usedFallback || decision.activatedFallback === true,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Waits for the specified retry delay.
|
|
171
|
+
*
|
|
172
|
+
* @param delayMs - Delay in milliseconds
|
|
173
|
+
*
|
|
174
|
+
* @internal
|
|
175
|
+
*/
|
|
176
|
+
export async function waitForRetryDelay(delayMs) {
|
|
177
|
+
if (delayMs > 0) {
|
|
178
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=generation-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-helpers.js","sourceRoot":"","sources":["../src/generation-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit hook utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides structured audit event emission for compliance and monitoring
|
|
5
|
+
* using the unified hook system.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import type { HookCallback } from "../types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Audit event categories.
|
|
12
|
+
*
|
|
13
|
+
* @category Hooks
|
|
14
|
+
*/
|
|
15
|
+
export type AuditEventCategory = "tool_execution" | "policy_denial" | "approval_prompt" | "file_access" | "command_execution" | "generation" | "error";
|
|
16
|
+
/**
|
|
17
|
+
* Structured audit event.
|
|
18
|
+
*
|
|
19
|
+
* @category Hooks
|
|
20
|
+
*/
|
|
21
|
+
export interface AuditEvent {
|
|
22
|
+
/** Event category */
|
|
23
|
+
category: AuditEventCategory;
|
|
24
|
+
/** Event type (hook event name) */
|
|
25
|
+
event: string;
|
|
26
|
+
/** Timestamp (milliseconds since epoch) */
|
|
27
|
+
timestamp: number;
|
|
28
|
+
/** Session ID */
|
|
29
|
+
sessionId: string;
|
|
30
|
+
/** Tool use ID (for tool events) */
|
|
31
|
+
toolUseId?: string | null;
|
|
32
|
+
/** Tool name (for tool events) */
|
|
33
|
+
toolName?: string;
|
|
34
|
+
/** Tool input (for tool events) */
|
|
35
|
+
toolInput?: Record<string, unknown>;
|
|
36
|
+
/** Tool output (for PostToolUse) */
|
|
37
|
+
toolOutput?: unknown;
|
|
38
|
+
/** Error message (for failure events) */
|
|
39
|
+
error?: string;
|
|
40
|
+
/** Permission decision (for PreToolUse/PreGenerate with permission checks) */
|
|
41
|
+
permissionDecision?: "allow" | "deny" | "ask";
|
|
42
|
+
/** Permission decision reason */
|
|
43
|
+
permissionDecisionReason?: string;
|
|
44
|
+
/** Model used (for generation events) */
|
|
45
|
+
model?: string;
|
|
46
|
+
/** Token usage (for generation events) */
|
|
47
|
+
usage?: {
|
|
48
|
+
inputTokens?: number;
|
|
49
|
+
outputTokens?: number;
|
|
50
|
+
totalTokens?: number;
|
|
51
|
+
};
|
|
52
|
+
/** Additional metadata */
|
|
53
|
+
metadata?: Record<string, unknown>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Audit event handler function.
|
|
57
|
+
*
|
|
58
|
+
* @category Hooks
|
|
59
|
+
*/
|
|
60
|
+
export type AuditEventHandler = (event: AuditEvent) => void | Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Options for creating audit hooks.
|
|
63
|
+
*
|
|
64
|
+
* @category Hooks
|
|
65
|
+
*/
|
|
66
|
+
export interface AuditHooksOptions {
|
|
67
|
+
/**
|
|
68
|
+
* Event handler function.
|
|
69
|
+
* Called for each audit event.
|
|
70
|
+
*/
|
|
71
|
+
onEvent: AuditEventHandler;
|
|
72
|
+
/**
|
|
73
|
+
* Categories to audit.
|
|
74
|
+
* @defaultValue All categories
|
|
75
|
+
*/
|
|
76
|
+
categories?: AuditEventCategory[];
|
|
77
|
+
/**
|
|
78
|
+
* Whether to audit tool execution.
|
|
79
|
+
* @defaultValue true
|
|
80
|
+
*/
|
|
81
|
+
auditTools?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Whether to audit generation.
|
|
84
|
+
* @defaultValue true
|
|
85
|
+
*/
|
|
86
|
+
auditGeneration?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether to audit errors.
|
|
89
|
+
* @defaultValue true
|
|
90
|
+
*/
|
|
91
|
+
auditErrors?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Additional metadata to include in all events.
|
|
94
|
+
*/
|
|
95
|
+
metadata?: Record<string, unknown>;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Creates audit hooks for all lifecycle events.
|
|
99
|
+
*
|
|
100
|
+
* Emits structured audit events for tool execution, generation,
|
|
101
|
+
* and errors. Useful for compliance, security monitoring, and
|
|
102
|
+
* debugging.
|
|
103
|
+
*
|
|
104
|
+
* This addresses the audit events requirement from CODE_REVIEW.md
|
|
105
|
+
* using the unified hook system.
|
|
106
|
+
*
|
|
107
|
+
* @param options - Configuration options
|
|
108
|
+
* @returns Array of hooks for all audited events
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const auditHooks = createAuditHooks({
|
|
113
|
+
* onEvent: (event) => {
|
|
114
|
+
* // Send to your logging service
|
|
115
|
+
* logger.info('Audit event', event);
|
|
116
|
+
*
|
|
117
|
+
* // Send to SIEM
|
|
118
|
+
* siem.send(event);
|
|
119
|
+
*
|
|
120
|
+
* // Store in database
|
|
121
|
+
* db.auditEvents.insert(event);
|
|
122
|
+
* },
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* const agent = createAgent({
|
|
126
|
+
* model,
|
|
127
|
+
* hooks: {
|
|
128
|
+
* PreToolUse: [{ hooks: [auditHooks[0]] }],
|
|
129
|
+
* PostToolUse: [{ hooks: [auditHooks[1]] }],
|
|
130
|
+
* PostToolUseFailure: [{ hooks: [auditHooks[2]] }],
|
|
131
|
+
* PreGenerate: [{ hooks: [auditHooks[3]] }],
|
|
132
|
+
* PostGenerate: [{ hooks: [auditHooks[4]] }],
|
|
133
|
+
* PostGenerateFailure: [{ hooks: [auditHooks[5]] }],
|
|
134
|
+
* },
|
|
135
|
+
* });
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* // Selective auditing
|
|
141
|
+
* const auditHooks = createAuditHooks({
|
|
142
|
+
* categories: ['command_execution', 'file_access', 'policy_denial'],
|
|
143
|
+
* onEvent: (event) => {
|
|
144
|
+
* if (event.category === 'command_execution') {
|
|
145
|
+
* securityLog.command(event);
|
|
146
|
+
* }
|
|
147
|
+
* },
|
|
148
|
+
* });
|
|
149
|
+
* ```
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* // JSON lines export for log aggregation
|
|
154
|
+
* const auditHooks = createAuditHooks({
|
|
155
|
+
* onEvent: (event) => {
|
|
156
|
+
* console.log(JSON.stringify(event));
|
|
157
|
+
* },
|
|
158
|
+
* });
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @category Hooks
|
|
162
|
+
*/
|
|
163
|
+
export declare function createAuditHooks(options: AuditHooksOptions): HookCallback[];
|
|
164
|
+
/**
|
|
165
|
+
* Export audit events to JSON Lines format.
|
|
166
|
+
*
|
|
167
|
+
* Returns a function that writes audit events to console.log
|
|
168
|
+
* in JSON Lines format (one JSON object per line), suitable for
|
|
169
|
+
* log aggregation tools.
|
|
170
|
+
*
|
|
171
|
+
* @returns Audit event handler for JSON Lines export
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const auditHooks = createAuditHooks({
|
|
176
|
+
* onEvent: exportAuditEventsJSONLines(),
|
|
177
|
+
* });
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
180
|
+
* @category Hooks
|
|
181
|
+
*/
|
|
182
|
+
export declare function exportAuditEventsJSONLines(): AuditEventHandler;
|
|
183
|
+
/**
|
|
184
|
+
* Creates an in-memory audit event store.
|
|
185
|
+
*
|
|
186
|
+
* Useful for testing and development. Events are kept in memory
|
|
187
|
+
* with a configurable size limit.
|
|
188
|
+
*
|
|
189
|
+
* @param maxEvents - Maximum events to keep
|
|
190
|
+
* @returns Object with event handler and getter
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const { onEvent, getEvents, clear } = createInMemoryAuditStore(1000);
|
|
195
|
+
*
|
|
196
|
+
* const auditHooks = createAuditHooks({ onEvent });
|
|
197
|
+
*
|
|
198
|
+
* // Later, retrieve events
|
|
199
|
+
* const events = getEvents();
|
|
200
|
+
* console.log(`Captured ${events.length} audit events`);
|
|
201
|
+
* ```
|
|
202
|
+
*
|
|
203
|
+
* @category Hooks
|
|
204
|
+
*/
|
|
205
|
+
export declare function createInMemoryAuditStore(maxEvents?: number): {
|
|
206
|
+
onEvent: AuditEventHandler;
|
|
207
|
+
getEvents: () => AuditEvent[];
|
|
208
|
+
clear: () => void;
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/hooks/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAOb,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAElB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpC,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAE9C,iCAAiC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,iBAAiB,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAElC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAkL3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,IAAI,iBAAiB,CAI9D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,SAAO,GAAG;IAC1D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,MAAM,UAAU,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAiBA"}
|